Pull out balances query
This commit is contained in:
parent
dfe61c4522
commit
d7efe229e5
@ -6,6 +6,7 @@ import { QueryClient } from "../queryclient";
|
||||
export interface BankExtension {
|
||||
readonly bank: {
|
||||
readonly balance: (address: string, denom: string) => Promise<cosmos.ICoin>;
|
||||
readonly balances: (address: string) => Promise<cosmos.ICoin[]>;
|
||||
};
|
||||
}
|
||||
|
||||
@ -24,6 +25,15 @@ export function setupBankExtension(base: QueryClient): BankExtension {
|
||||
const responseData = await base.queryVerified("bank", bankKey);
|
||||
return cosmos.Coin.decode(responseData);
|
||||
},
|
||||
balances: async (address: string) => {
|
||||
const path = "/cosmos.bank.Query/AllBalances";
|
||||
const request = cosmos.bank.QueryAllBalancesRequest.encode({
|
||||
address: Bech32.decode(address).data,
|
||||
}).finish();
|
||||
const responseData = await base.queryUnverified(path, request);
|
||||
const response = cosmos.bank.QueryAllBalancesResponse.decode(responseData);
|
||||
return response.balances;
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@ -208,13 +208,8 @@ export class StargateClient {
|
||||
* proofs from such a method.
|
||||
*/
|
||||
public async getAllBalancesUnverified(address: string): Promise<readonly Coin[]> {
|
||||
const path = "/cosmos.bank.Query/AllBalances";
|
||||
const request = cosmos.bank.QueryAllBalancesRequest.encode({
|
||||
address: Bech32.decode(address).data,
|
||||
}).finish();
|
||||
const responseData = await this.queryClient.queryUnverified(path, request);
|
||||
const response = cosmos.bank.QueryAllBalancesResponse.decode(responseData);
|
||||
return response.balances.map(coinFromProto);
|
||||
const balances = await this.queryClient.bank.balances(address);
|
||||
return balances.map(coinFromProto);
|
||||
}
|
||||
|
||||
public async searchTx(query: SearchTxQuery, filter: SearchTxFilter = {}): Promise<readonly IndexedTx[]> {
|
||||
|
||||
1
packages/stargate/types/queries/bank.d.ts
vendored
1
packages/stargate/types/queries/bank.d.ts
vendored
@ -3,6 +3,7 @@ import { QueryClient } from "../queryclient";
|
||||
export interface BankExtension {
|
||||
readonly bank: {
|
||||
readonly balance: (address: string, denom: string) => Promise<cosmos.ICoin>;
|
||||
readonly balances: (address: string) => Promise<cosmos.ICoin[]>;
|
||||
};
|
||||
}
|
||||
export declare function setupBankExtension(base: QueryClient): BankExtension;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user