Pull out balances query

This commit is contained in:
Simon Warta 2020-08-12 14:24:58 +02:00
parent dfe61c4522
commit d7efe229e5
3 changed files with 13 additions and 7 deletions

View File

@ -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;
},
},
};
}

View File

@ -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[]> {

View File

@ -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;