From eb540c50214e0dfb3eaf13b263f17ce99f7569dc Mon Sep 17 00:00:00 2001 From: willclarktech Date: Wed, 27 Jan 2021 18:22:07 +0000 Subject: [PATCH 1/6] proto-signing: Export GeneratedType from proto-signing --- packages/proto-signing/src/index.ts | 2 +- packages/proto-signing/types/index.d.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/proto-signing/src/index.ts b/packages/proto-signing/src/index.ts index f710c8c9..f8712461 100644 --- a/packages/proto-signing/src/index.ts +++ b/packages/proto-signing/src/index.ts @@ -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"; diff --git a/packages/proto-signing/types/index.d.ts b/packages/proto-signing/types/index.d.ts index f710c8c9..f8712461 100644 --- a/packages/proto-signing/types/index.d.ts +++ b/packages/proto-signing/types/index.d.ts @@ -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"; From 2a1df79713f94986ad7b10bef767915c7eb321a3 Mon Sep 17 00:00:00 2001 From: willclarktech Date: Wed, 27 Jan 2021 17:35:26 +0000 Subject: [PATCH 2/6] stargate: Reorder type registry For A E S T H E T I C S --- packages/stargate/src/signingstargateclient.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/stargate/src/signingstargateclient.ts b/packages/stargate/src/signingstargateclient.ts index 256a0b0d..3003d43e 100644 --- a/packages/stargate/src/signingstargateclient.ts +++ b/packages/stargate/src/signingstargateclient.ts @@ -49,15 +49,15 @@ const defaultGasLimits: GasLimits = { send: 80000 }; function createDefaultRegistry(): Registry { return new Registry([ ["/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], - ["/cosmos.distribution.v1beta1.MsgFundCommunityPool", MsgFundCommunityPool], - ["/cosmos.distribution.v1beta1.MsgSetWithdrawAddress", MsgSetWithdrawAddress], - ["/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward", MsgWithdrawDelegatorReward], - ["/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission", MsgWithdrawValidatorCommission], ]); } From a517b68fd2d84de49e1f0b74a3ae51beb88844cb Mon Sep 17 00:00:00 2001 From: willclarktech Date: Wed, 27 Jan 2021 17:37:03 +0000 Subject: [PATCH 3/6] cosmwasm-stargate: Add distribution msgs to default type registry --- .../cosmwasm-stargate/src/signingcosmwasmclient.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts index 1d23f12c..c7920572 100644 --- a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts +++ b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts @@ -53,6 +53,12 @@ import { CosmWasmClient } from "./cosmwasmclient"; const { SignMode } = codec.cosmos.tx.signing.v1beta1; const { TxRaw } = codec.cosmos.tx.v1beta1; const { MsgMultiSend } = codec.cosmos.bank.v1beta1; +const { + MsgFundCommunityPool, + MsgSetWithdrawAddress, + MsgWithdrawDelegatorReward, + MsgWithdrawValidatorCommission, +} = codec.cosmos.distribution.v1beta1; const { MsgBeginRedelegate, MsgCreateValidator, @@ -95,6 +101,10 @@ function createBroadcastTxErrorMessage(result: BroadcastTxFailure): string { function createDefaultRegistry(): Registry { return new Registry([ ["/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], From af5ea8cbe7d1747c961ea1cd07da44094a8b75f3 Mon Sep 17 00:00:00 2001 From: willclarktech Date: Wed, 27 Jan 2021 17:59:43 +0000 Subject: [PATCH 4/6] stargate: Remove unused query extensions from StargateClient --- packages/stargate/src/stargateclient.ts | 30 +++---------------------- 1 file changed, 3 insertions(+), 27 deletions(-) diff --git a/packages/stargate/src/stargateclient.ts b/packages/stargate/src/stargateclient.ts index c336a198..488ff285 100644 --- a/packages/stargate/src/stargateclient.ts +++ b/packages/stargate/src/stargateclient.ts @@ -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 { @@ -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 { From 047c8f717ab3ef2000e009da05e6f9da112a3d25 Mon Sep 17 00:00:00 2001 From: willclarktech Date: Wed, 27 Jan 2021 18:05:52 +0000 Subject: [PATCH 5/6] stargate: Export defaultRegistryTypes --- packages/stargate/src/index.ts | 2 +- .../stargate/src/signingstargateclient.ts | 27 ++++++++++--------- packages/stargate/types/index.d.ts | 2 +- .../stargate/types/signingstargateclient.d.ts | 3 ++- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/packages/stargate/src/index.ts b/packages/stargate/src/index.ts index 1d72d8f4..9f67b26e 100644 --- a/packages/stargate/src/index.ts +++ b/packages/stargate/src/index.ts @@ -28,4 +28,4 @@ export { SequenceResponse, StargateClient, } from "./stargateclient"; -export { SigningStargateClient } from "./signingstargateclient"; +export { defaultRegistryTypes, SigningStargateClient } from "./signingstargateclient"; diff --git a/packages/stargate/src/signingstargateclient.ts b/packages/stargate/src/signingstargateclient.ts index 3003d43e..83c098b5 100644 --- a/packages/stargate/src/signingstargateclient.ts +++ b/packages/stargate/src/signingstargateclient.ts @@ -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 = { 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.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], - ]); + return new Registry(defaultRegistryTypes); } /** Use for testing only */ diff --git a/packages/stargate/types/index.d.ts b/packages/stargate/types/index.d.ts index 1d72d8f4..9f67b26e 100644 --- a/packages/stargate/types/index.d.ts +++ b/packages/stargate/types/index.d.ts @@ -28,4 +28,4 @@ export { SequenceResponse, StargateClient, } from "./stargateclient"; -export { SigningStargateClient } from "./signingstargateclient"; +export { defaultRegistryTypes, SigningStargateClient } from "./signingstargateclient"; diff --git a/packages/stargate/types/signingstargateclient.d.ts b/packages/stargate/types/signingstargateclient.d.ts index 58ae7ffa..7c5dd76b 100644 --- a/packages/stargate/types/signingstargateclient.d.ts +++ b/packages/stargate/types/signingstargateclient.d.ts @@ -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; From 5f374f4c67a7e7c453ff284c333196dc36376f40 Mon Sep 17 00:00:00 2001 From: willclarktech Date: Wed, 27 Jan 2021 18:08:26 +0000 Subject: [PATCH 6/6] cosmwasm-stargate: Use defaultRegistryTypes from stargate package --- .../src/signingcosmwasmclient.ts | 26 ++----------------- 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts index c7920572..7a3d65ec 100644 --- a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts +++ b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts @@ -39,6 +39,7 @@ import { BroadcastTxFailure, BroadcastTxResponse, codec, + defaultRegistryTypes, isBroadcastTxFailure, parseRawLog, } from "@cosmjs/stargate"; @@ -52,20 +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 { - MsgFundCommunityPool, - MsgSetWithdrawAddress, - MsgWithdrawDelegatorReward, - MsgWithdrawValidatorCommission, -} = codec.cosmos.distribution.v1beta1; -const { - MsgBeginRedelegate, - MsgCreateValidator, - MsgDelegate, - MsgEditValidator, - MsgUndelegate, -} = codec.cosmos.staking.v1beta1; const { MsgClearAdmin, MsgExecuteContract, @@ -100,16 +87,7 @@ function createBroadcastTxErrorMessage(result: BroadcastTxFailure): string { function createDefaultRegistry(): Registry { return new Registry([ - ["/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], + ...defaultRegistryTypes, ["/cosmwasm.wasm.v1beta1.MsgClearAdmin", MsgClearAdmin], ["/cosmwasm.wasm.v1beta1.MsgExecuteContract", MsgExecuteContract], ["/cosmwasm.wasm.v1beta1.MsgMigrateContract", MsgMigrateContract],