Skip to content

Commit 61ab413

Browse files
committed
Add dfract extension
1 parent 955dfae commit 61ab413

File tree

5 files changed

+298
-0
lines changed

5 files changed

+298
-0
lines changed

docs/lib/modules/lummessages.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
- [MsgCreateValidatorUrl](LumMessages.md#msgcreatevalidatorurl)
2525
- [MsgCreateVestingAccountUrl](LumMessages.md#msgcreatevestingaccounturl)
2626
- [MsgDelegateUrl](LumMessages.md#msgdelegateurl)
27+
- [MsgDepositDfractUrl](LumMessages.md#msgdepositdfracturl)
2728
- [MsgDepositUrl](LumMessages.md#msgdepositurl)
2829
- [MsgEditValidatorUrl](LumMessages.md#msgeditvalidatorurl)
2930
- [MsgExecUrl](LumMessages.md#msgexecurl)
@@ -70,6 +71,7 @@
7071
- [BuildMsgCreateVestingAccount](LumMessages.md#buildmsgcreatevestingaccount)
7172
- [BuildMsgDelegate](LumMessages.md#buildmsgdelegate)
7273
- [BuildMsgDeposit](LumMessages.md#buildmsgdeposit)
74+
- [BuildMsgDepositDfract](LumMessages.md#buildmsgdepositdfract)
7375
- [BuildMsgEditValidator](LumMessages.md#buildmsgeditvalidator)
7476
- [BuildMsgExec](LumMessages.md#buildmsgexec)
7577
- [BuildMsgFundCommunityPool](LumMessages.md#buildmsgfundcommunitypool)
@@ -194,6 +196,12 @@ ___
194196

195197
___
196198

199+
### MsgDepositDfractUrl
200+
201+
**MsgDepositDfractUrl**: ``"/lum.network.dfract.MsgDepositDfract"``
202+
203+
___
204+
197205
### MsgDepositUrl
198206

199207
**MsgDepositUrl**: ``"/cosmos.gov.v1beta1.MsgDeposit"``
@@ -695,6 +703,24 @@ ___
695703

696704
___
697705

706+
### BuildMsgDepositDfract
707+
708+
`Const` **BuildMsgDepositDfract**(`depositorAddress`, `amount`, `createdAt`): [`Message`](../interfaces/LumMessages.Message.md)
709+
710+
#### Parameters
711+
712+
| Name | Type |
713+
| :------ | :------ |
714+
| `depositorAddress` | `string` |
715+
| `amount` | [`Coin`](../interfaces/LumTypes.Coin.md) |
716+
| `createdAt` | `Date` |
717+
718+
#### Returns
719+
720+
[`Message`](../interfaces/LumMessages.Message.md)
721+
722+
___
723+
698724
### BuildMsgEditValidator
699725

700726
`Const` **BuildMsgEditValidator**(`validatorAddress`, `commissionRate`, `minSelfDelegation`, `description?`): [`Message`](../interfaces/LumMessages.Message.md)

src/codec/dfract/query.ts

Lines changed: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
/* eslint-disable */
22
import Long from 'long';
33
import _m0 from 'protobufjs/minimal';
4+
import { Params } from '../dfract/params';
45
import { PageRequest, PageResponse } from '../cosmos/base/query/v1beta1/pagination';
56
import { Deposit } from '../dfract/deposit';
7+
import { Coin } from '../cosmos/base/v1beta1/coin';
68

79
export const protobufPackage = 'lum.network.dfract';
810

@@ -44,6 +46,18 @@ export function depositsQueryTypeToJSON(object: DepositsQueryType): string {
4446
}
4547
}
4648

49+
export interface QueryModuleAccountBalanceRequest {}
50+
51+
export interface QueryModuleAccountBalanceResponse {
52+
moduleAccountBalance: Coin[];
53+
}
54+
55+
export interface QueryParamsRequest {}
56+
57+
export interface QueryParamsResponse {
58+
params?: Params;
59+
}
60+
4761
export interface QueryGetDepositsForAddressRequest {
4862
address: string;
4963
}
@@ -64,6 +78,199 @@ export interface QueryFetchDepositsResponse {
6478
pagination?: PageResponse;
6579
}
6680

81+
const baseQueryModuleAccountBalanceRequest: object = {};
82+
83+
export const QueryModuleAccountBalanceRequest = {
84+
encode(_: QueryModuleAccountBalanceRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
85+
return writer;
86+
},
87+
88+
decode(input: _m0.Reader | Uint8Array, length?: number): QueryModuleAccountBalanceRequest {
89+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
90+
let end = length === undefined ? reader.len : reader.pos + length;
91+
const message = { ...baseQueryModuleAccountBalanceRequest } as QueryModuleAccountBalanceRequest;
92+
while (reader.pos < end) {
93+
const tag = reader.uint32();
94+
switch (tag >>> 3) {
95+
default:
96+
reader.skipType(tag & 7);
97+
break;
98+
}
99+
}
100+
return message;
101+
},
102+
103+
fromJSON(_: any): QueryModuleAccountBalanceRequest {
104+
const message = { ...baseQueryModuleAccountBalanceRequest } as QueryModuleAccountBalanceRequest;
105+
return message;
106+
},
107+
108+
toJSON(_: QueryModuleAccountBalanceRequest): unknown {
109+
const obj: any = {};
110+
return obj;
111+
},
112+
113+
fromPartial(_: DeepPartial<QueryModuleAccountBalanceRequest>): QueryModuleAccountBalanceRequest {
114+
const message = { ...baseQueryModuleAccountBalanceRequest } as QueryModuleAccountBalanceRequest;
115+
return message;
116+
},
117+
};
118+
119+
const baseQueryModuleAccountBalanceResponse: object = {};
120+
121+
export const QueryModuleAccountBalanceResponse = {
122+
encode(message: QueryModuleAccountBalanceResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
123+
for (const v of message.moduleAccountBalance) {
124+
Coin.encode(v!, writer.uint32(10).fork()).ldelim();
125+
}
126+
return writer;
127+
},
128+
129+
decode(input: _m0.Reader | Uint8Array, length?: number): QueryModuleAccountBalanceResponse {
130+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
131+
let end = length === undefined ? reader.len : reader.pos + length;
132+
const message = { ...baseQueryModuleAccountBalanceResponse } as QueryModuleAccountBalanceResponse;
133+
message.moduleAccountBalance = [];
134+
while (reader.pos < end) {
135+
const tag = reader.uint32();
136+
switch (tag >>> 3) {
137+
case 1:
138+
message.moduleAccountBalance.push(Coin.decode(reader, reader.uint32()));
139+
break;
140+
default:
141+
reader.skipType(tag & 7);
142+
break;
143+
}
144+
}
145+
return message;
146+
},
147+
148+
fromJSON(object: any): QueryModuleAccountBalanceResponse {
149+
const message = { ...baseQueryModuleAccountBalanceResponse } as QueryModuleAccountBalanceResponse;
150+
message.moduleAccountBalance = [];
151+
if (object.moduleAccountBalance !== undefined && object.moduleAccountBalance !== null) {
152+
for (const e of object.moduleAccountBalance) {
153+
message.moduleAccountBalance.push(Coin.fromJSON(e));
154+
}
155+
}
156+
return message;
157+
},
158+
159+
toJSON(message: QueryModuleAccountBalanceResponse): unknown {
160+
const obj: any = {};
161+
if (message.moduleAccountBalance) {
162+
obj.moduleAccountBalance = message.moduleAccountBalance.map((e) => (e ? Coin.toJSON(e) : undefined));
163+
} else {
164+
obj.moduleAccountBalance = [];
165+
}
166+
return obj;
167+
},
168+
169+
fromPartial(object: DeepPartial<QueryModuleAccountBalanceResponse>): QueryModuleAccountBalanceResponse {
170+
const message = { ...baseQueryModuleAccountBalanceResponse } as QueryModuleAccountBalanceResponse;
171+
message.moduleAccountBalance = [];
172+
if (object.moduleAccountBalance !== undefined && object.moduleAccountBalance !== null) {
173+
for (const e of object.moduleAccountBalance) {
174+
message.moduleAccountBalance.push(Coin.fromPartial(e));
175+
}
176+
}
177+
return message;
178+
},
179+
};
180+
181+
const baseQueryParamsRequest: object = {};
182+
183+
export const QueryParamsRequest = {
184+
encode(_: QueryParamsRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
185+
return writer;
186+
},
187+
188+
decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest {
189+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
190+
let end = length === undefined ? reader.len : reader.pos + length;
191+
const message = { ...baseQueryParamsRequest } as QueryParamsRequest;
192+
while (reader.pos < end) {
193+
const tag = reader.uint32();
194+
switch (tag >>> 3) {
195+
default:
196+
reader.skipType(tag & 7);
197+
break;
198+
}
199+
}
200+
return message;
201+
},
202+
203+
fromJSON(_: any): QueryParamsRequest {
204+
const message = { ...baseQueryParamsRequest } as QueryParamsRequest;
205+
return message;
206+
},
207+
208+
toJSON(_: QueryParamsRequest): unknown {
209+
const obj: any = {};
210+
return obj;
211+
},
212+
213+
fromPartial(_: DeepPartial<QueryParamsRequest>): QueryParamsRequest {
214+
const message = { ...baseQueryParamsRequest } as QueryParamsRequest;
215+
return message;
216+
},
217+
};
218+
219+
const baseQueryParamsResponse: object = {};
220+
221+
export const QueryParamsResponse = {
222+
encode(message: QueryParamsResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
223+
if (message.params !== undefined) {
224+
Params.encode(message.params, writer.uint32(10).fork()).ldelim();
225+
}
226+
return writer;
227+
},
228+
229+
decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse {
230+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
231+
let end = length === undefined ? reader.len : reader.pos + length;
232+
const message = { ...baseQueryParamsResponse } as QueryParamsResponse;
233+
while (reader.pos < end) {
234+
const tag = reader.uint32();
235+
switch (tag >>> 3) {
236+
case 1:
237+
message.params = Params.decode(reader, reader.uint32());
238+
break;
239+
default:
240+
reader.skipType(tag & 7);
241+
break;
242+
}
243+
}
244+
return message;
245+
},
246+
247+
fromJSON(object: any): QueryParamsResponse {
248+
const message = { ...baseQueryParamsResponse } as QueryParamsResponse;
249+
if (object.params !== undefined && object.params !== null) {
250+
message.params = Params.fromJSON(object.params);
251+
} else {
252+
message.params = undefined;
253+
}
254+
return message;
255+
},
256+
257+
toJSON(message: QueryParamsResponse): unknown {
258+
const obj: any = {};
259+
message.params !== undefined && (obj.params = message.params ? Params.toJSON(message.params) : undefined);
260+
return obj;
261+
},
262+
263+
fromPartial(object: DeepPartial<QueryParamsResponse>): QueryParamsResponse {
264+
const message = { ...baseQueryParamsResponse } as QueryParamsResponse;
265+
if (object.params !== undefined && object.params !== null) {
266+
message.params = Params.fromPartial(object.params);
267+
} else {
268+
message.params = undefined;
269+
}
270+
return message;
271+
},
272+
};
273+
67274
const baseQueryGetDepositsForAddressRequest: object = { address: '' };
68275

69276
export const QueryGetDepositsForAddressRequest = {
@@ -352,6 +559,8 @@ export const QueryFetchDepositsResponse = {
352559
};
353560

354561
export interface Query {
562+
ModuleAccountBalance(request: QueryModuleAccountBalanceRequest): Promise<QueryModuleAccountBalanceResponse>;
563+
Params(request: QueryParamsRequest): Promise<QueryParamsResponse>;
355564
GetDepositsForAddress(request: QueryGetDepositsForAddressRequest): Promise<QueryGetDepositsForAddressResponse>;
356565
FetchDeposits(request: QueryFetchDepositsRequest): Promise<QueryFetchDepositsResponse>;
357566
}
@@ -360,9 +569,23 @@ export class QueryClientImpl implements Query {
360569
private readonly rpc: Rpc;
361570
constructor(rpc: Rpc) {
362571
this.rpc = rpc;
572+
this.ModuleAccountBalance = this.ModuleAccountBalance.bind(this);
573+
this.Params = this.Params.bind(this);
363574
this.GetDepositsForAddress = this.GetDepositsForAddress.bind(this);
364575
this.FetchDeposits = this.FetchDeposits.bind(this);
365576
}
577+
ModuleAccountBalance(request: QueryModuleAccountBalanceRequest): Promise<QueryModuleAccountBalanceResponse> {
578+
const data = QueryModuleAccountBalanceRequest.encode(request).finish();
579+
const promise = this.rpc.request('lum.network.dfract.Query', 'ModuleAccountBalance', data);
580+
return promise.then((data) => QueryModuleAccountBalanceResponse.decode(new _m0.Reader(data)));
581+
}
582+
583+
Params(request: QueryParamsRequest): Promise<QueryParamsResponse> {
584+
const data = QueryParamsRequest.encode(request).finish();
585+
const promise = this.rpc.request('lum.network.dfract.Query', 'Params', data);
586+
return promise.then((data) => QueryParamsResponse.decode(new _m0.Reader(data)));
587+
}
588+
366589
GetDepositsForAddress(request: QueryGetDepositsForAddressRequest): Promise<QueryGetDepositsForAddressResponse> {
367590
const data = QueryGetDepositsForAddressRequest.encode(request).finish();
368591
const promise = this.rpc.request('lum.network.dfract.Query', 'GetDepositsForAddress', data);

src/extensions/dfract.ts

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import { QueryClient } from '@cosmjs/stargate';
2+
import { assert } from '@cosmjs/utils';
3+
import { createProtobufRpcClient } from './utils';
4+
import { DepositsQueryType, QueryClientImpl, QueryGetDepositsForAddressResponse } from '../codec/dfract/query';
5+
import { Deposit } from '../codec/dfract/deposit';
6+
import { Coin } from '../codec/cosmos/base/v1beta1/coin';
7+
8+
export interface DfractExtension {
9+
readonly dfract: {
10+
readonly fetchDeposits: (type: DepositsQueryType) => Promise<Deposit[]>;
11+
readonly getDepositsForAddress: (address: string) => Promise<QueryGetDepositsForAddressResponse>;
12+
readonly getAccountBalance: () => Promise<Coin[]>;
13+
};
14+
}
15+
16+
export const setupDfractExtension = (base: QueryClient): DfractExtension => {
17+
const rpc = createProtobufRpcClient(base);
18+
const queryService = new QueryClientImpl(rpc);
19+
20+
return {
21+
dfract: {
22+
fetchDeposits: async (type: DepositsQueryType) => {
23+
const { deposits } = await queryService.FetchDeposits({ type });
24+
25+
assert(deposits);
26+
27+
return deposits;
28+
},
29+
30+
getDepositsForAddress: async (address: string) => {
31+
const deposits = await queryService.GetDepositsForAddress({ address });
32+
33+
assert(deposits);
34+
35+
return deposits;
36+
},
37+
38+
getAccountBalance: async () => {
39+
const { moduleAccountBalance } = await queryService.ModuleAccountBalance({});
40+
41+
assert(moduleAccountBalance);
42+
43+
return moduleAccountBalance;
44+
},
45+
},
46+
};
47+
};

src/extensions/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ export * from './ibc';
88
export * from './mint';
99
export * from './staking';
1010
export * from './tx';
11+
export * from './dfract';

src/messages/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ export * from './feegrant';
99
export * from './slashing';
1010
export * from './vesting';
1111
export * from './ibc';
12+
export * from './dfract';

0 commit comments

Comments
 (0)