Merge pull request #643 from cosmos/signingcosmwasmclient-default-typeregistry

Add more types to cosmwasm-stargate
This commit is contained in:
mergify[bot] 2021-01-27 18:32:00 +00:00 committed by GitHub
commit f43e8780e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 26 additions and 58 deletions

View File

@ -39,6 +39,7 @@ import {
BroadcastTxFailure,
BroadcastTxResponse,
codec,
defaultRegistryTypes,
isBroadcastTxFailure,
parseRawLog,
} from "@cosmjs/stargate";
@ -52,14 +53,6 @@ import { CosmWasmClient } from "./cosmwasmclient";
const { SignMode } = codec.cosmos.tx.signing.v1beta1;
const { TxRaw } = codec.cosmos.tx.v1beta1;
const { MsgMultiSend } = codec.cosmos.bank.v1beta1;
const {
MsgBeginRedelegate,
MsgCreateValidator,
MsgDelegate,
MsgEditValidator,
MsgUndelegate,
} = codec.cosmos.staking.v1beta1;
const {
MsgClearAdmin,
MsgExecuteContract,
@ -94,12 +87,7 @@ function createBroadcastTxErrorMessage(result: BroadcastTxFailure): string {
function createDefaultRegistry(): Registry {
return new Registry([
["/cosmos.bank.v1beta1.MsgMultiSend", MsgMultiSend],
["/cosmos.staking.v1beta1.MsgBeginRedelegate", MsgBeginRedelegate],
["/cosmos.staking.v1beta1.MsgCreateValidator", MsgCreateValidator],
["/cosmos.staking.v1beta1.MsgDelegate", MsgDelegate],
["/cosmos.staking.v1beta1.MsgEditValidator", MsgEditValidator],
["/cosmos.staking.v1beta1.MsgUndelegate", MsgUndelegate],
...defaultRegistryTypes,
["/cosmwasm.wasm.v1beta1.MsgClearAdmin", MsgClearAdmin],
["/cosmwasm.wasm.v1beta1.MsgExecuteContract", MsgExecuteContract],
["/cosmwasm.wasm.v1beta1.MsgMigrateContract", MsgMigrateContract],

View File

@ -1,6 +1,6 @@
export { Coin } from "./msgs";
export { cosmosField, registered } from "./decorator";
export { EncodeObject, Registry } from "./registry";
export { EncodeObject, GeneratedType, Registry } from "./registry";
export { DirectSecp256k1HdWallet } from "./directsecp256k1hdwallet";
export { DirectSecp256k1Wallet } from "./directsecp256k1wallet";
export { decodePubkey, encodePubkey } from "./pubkey";

View File

@ -1,6 +1,6 @@
export { Coin } from "./msgs";
export { cosmosField, registered } from "./decorator";
export { EncodeObject, Registry } from "./registry";
export { EncodeObject, GeneratedType, Registry } from "./registry";
export { DirectSecp256k1HdWallet } from "./directsecp256k1hdwallet";
export { DirectSecp256k1Wallet } from "./directsecp256k1wallet";
export { decodePubkey, encodePubkey } from "./pubkey";

View File

@ -28,4 +28,4 @@ export {
SequenceResponse,
StargateClient,
} from "./stargateclient";
export { SigningStargateClient } from "./signingstargateclient";
export { defaultRegistryTypes, SigningStargateClient } from "./signingstargateclient";

View File

@ -15,6 +15,7 @@ import { Int53 } from "@cosmjs/math";
import {
EncodeObject,
encodePubkey,
GeneratedType,
isOfflineDirectSigner,
makeAuthInfoBytes,
makeSignDoc,
@ -46,19 +47,21 @@ const { TxRaw } = cosmos.tx.v1beta1;
const defaultGasPrice = GasPrice.fromString("0.025ucosm");
const defaultGasLimits: GasLimits<CosmosFeeTable> = { send: 80000 };
export const defaultRegistryTypes: ReadonlyArray<[string, GeneratedType]> = [
["/cosmos.bank.v1beta1.MsgMultiSend", MsgMultiSend],
["/cosmos.distribution.v1beta1.MsgFundCommunityPool", MsgFundCommunityPool],
["/cosmos.distribution.v1beta1.MsgSetWithdrawAddress", MsgSetWithdrawAddress],
["/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward", MsgWithdrawDelegatorReward],
["/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission", MsgWithdrawValidatorCommission],
["/cosmos.staking.v1beta1.MsgBeginRedelegate", MsgBeginRedelegate],
["/cosmos.staking.v1beta1.MsgCreateValidator", MsgCreateValidator],
["/cosmos.staking.v1beta1.MsgDelegate", MsgDelegate],
["/cosmos.staking.v1beta1.MsgEditValidator", MsgEditValidator],
["/cosmos.staking.v1beta1.MsgUndelegate", MsgUndelegate],
];
function createDefaultRegistry(): Registry {
return new Registry([
["/cosmos.bank.v1beta1.MsgMultiSend", MsgMultiSend],
["/cosmos.staking.v1beta1.MsgBeginRedelegate", MsgBeginRedelegate],
["/cosmos.staking.v1beta1.MsgCreateValidator", MsgCreateValidator],
["/cosmos.staking.v1beta1.MsgDelegate", MsgDelegate],
["/cosmos.staking.v1beta1.MsgEditValidator", MsgEditValidator],
["/cosmos.staking.v1beta1.MsgUndelegate", MsgUndelegate],
["/cosmos.distribution.v1beta1.MsgFundCommunityPool", MsgFundCommunityPool],
["/cosmos.distribution.v1beta1.MsgSetWithdrawAddress", MsgSetWithdrawAddress],
["/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward", MsgWithdrawDelegatorReward],
["/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission", MsgWithdrawValidatorCommission],
]);
return new Registry(defaultRegistryTypes);
}
/** Use for testing only */

View File

@ -22,19 +22,7 @@ import { assert, assertDefinedAndNotNull } from "@cosmjs/utils";
import Long from "long";
import { cosmos } from "./codec";
import {
AuthExtension,
BankExtension,
DistributionExtension,
IbcExtension,
QueryClient,
setupAuthExtension,
setupBankExtension,
setupDistributionExtension,
setupIbcExtension,
setupStakingExtension,
StakingExtension,
} from "./queries";
import { AuthExtension, BankExtension, QueryClient, setupAuthExtension, setupBankExtension } from "./queries";
type IBaseAccount = cosmos.auth.v1beta1.IBaseAccount;
type IMsgData = cosmos.base.abci.v1beta1.IMsgData;
@ -137,12 +125,7 @@ export interface PrivateStargateClient {
export class StargateClient {
private readonly tmClient: TendermintClient;
private readonly queryClient: QueryClient &
AuthExtension &
BankExtension &
DistributionExtension &
IbcExtension &
StakingExtension;
private readonly queryClient: QueryClient & AuthExtension & BankExtension;
private chainId: string | undefined;
public static async connect(endpoint: string): Promise<StargateClient> {
@ -152,14 +135,7 @@ export class StargateClient {
protected constructor(tmClient: TendermintClient) {
this.tmClient = tmClient;
this.queryClient = QueryClient.withExtensions(
tmClient,
setupAuthExtension,
setupBankExtension,
setupDistributionExtension,
setupIbcExtension,
setupStakingExtension,
);
this.queryClient = QueryClient.withExtensions(tmClient, setupAuthExtension, setupBankExtension);
}
public async getChainId(): Promise<string> {

View File

@ -28,4 +28,4 @@ export {
SequenceResponse,
StargateClient,
} from "./stargateclient";
export { SigningStargateClient } from "./signingstargateclient";
export { defaultRegistryTypes, SigningStargateClient } from "./signingstargateclient";

View File

@ -1,7 +1,8 @@
import { Coin, CosmosFeeTable, GasLimits, GasPrice, StdFee } from "@cosmjs/launchpad";
import { EncodeObject, OfflineSigner, Registry } from "@cosmjs/proto-signing";
import { EncodeObject, GeneratedType, OfflineSigner, Registry } from "@cosmjs/proto-signing";
import { AminoTypes } from "./aminotypes";
import { BroadcastTxResponse, StargateClient } from "./stargateclient";
export declare const defaultRegistryTypes: ReadonlyArray<[string, GeneratedType]>;
/** Use for testing only */
export interface PrivateSigningStargateClient {
readonly fees: CosmosFeeTable;