From 6e98cbb6cf0c535784e21677d893deffcaa0bb9c Mon Sep 17 00:00:00 2001 From: Noah Saso Date: Tue, 7 Mar 2023 09:45:10 -0800 Subject: [PATCH 1/4] Adds default stargaze amino types to cosmwasm client. --- .../cosmwasm-stargate/src/signingcosmwasmclient.ts | 11 +++++++++-- packages/stargate/src/signingstargateclient.ts | 11 +++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts index 6cdad852..b1a06d44 100644 --- a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts +++ b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts @@ -17,7 +17,7 @@ import { AminoTypes, calculateFee, Coin, - createBankAminoConverters, + createDefaultAminoConverters, defaultRegistryTypes as defaultStargateTypes, DeliverTxResponse, Event, @@ -166,6 +166,13 @@ function createDefaultRegistry(): Registry { return new Registry([...defaultStargateTypes, ...wasmTypes]); } +function createDefaultAminoTypes(): AminoTypes { + return new AminoTypes({ + ...createDefaultAminoConverters(), + ...createWasmAminoConverters(), + }) +} + export interface SigningCosmWasmClientOptions { readonly registry?: Registry; readonly aminoTypes?: AminoTypes; @@ -234,7 +241,7 @@ export class SigningCosmWasmClient extends CosmWasmClient { super(tmClient); const { registry = createDefaultRegistry(), - aminoTypes = new AminoTypes({ ...createWasmAminoConverters(), ...createBankAminoConverters() }), + aminoTypes = createDefaultAminoTypes(), } = options; this.registry = registry; this.aminoTypes = aminoTypes; diff --git a/packages/stargate/src/signingstargateclient.ts b/packages/stargate/src/signingstargateclient.ts index a1efb39b..86148cb7 100644 --- a/packages/stargate/src/signingstargateclient.ts +++ b/packages/stargate/src/signingstargateclient.ts @@ -92,7 +92,7 @@ export interface SigningStargateClientOptions extends StargateClientOptions { readonly gasPrice?: GasPrice; } -function createDefaultTypes(): AminoConverters { +export function createDefaultAminoConverters(): AminoConverters { return { ...createAuthzAminoConverters(), ...createBankAminoConverters(), @@ -105,6 +105,10 @@ function createDefaultTypes(): AminoConverters { }; } +function createDefaultAminoTypes(): AminoTypes { + return new AminoTypes(createDefaultAminoConverters()) +} + export class SigningStargateClient extends StargateClient { public readonly registry: Registry; public readonly broadcastTimeoutMs: number | undefined; @@ -163,7 +167,10 @@ export class SigningStargateClient extends StargateClient { options: SigningStargateClientOptions, ) { super(tmClient, options); - const { registry = createDefaultRegistry(), aminoTypes = new AminoTypes(createDefaultTypes()) } = options; + const { + registry = createDefaultRegistry(), + aminoTypes = createDefaultAminoTypes() + } = options; this.registry = registry; this.aminoTypes = aminoTypes; this.signer = signer; From 0a27b16d3c5ae89e9123a8c0259954ae6fc02c83 Mon Sep 17 00:00:00 2001 From: Noah Saso Date: Wed, 8 Mar 2023 13:39:35 -0800 Subject: [PATCH 2/4] PR fixes. --- .../src/signingcosmwasmclient.ts | 21 +++++++------------ packages/stargate/src/index.ts | 1 + .../stargate/src/signingstargateclient.ts | 12 ++--------- 3 files changed, 11 insertions(+), 23 deletions(-) diff --git a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts index b1a06d44..fce9e2e3 100644 --- a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts +++ b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts @@ -162,17 +162,6 @@ function createDeliverTxResponseErrorMessage(result: DeliverTxResponse): string return `Error when broadcasting tx ${result.transactionHash} at height ${result.height}. Code: ${result.code}; Raw log: ${result.rawLog}`; } -function createDefaultRegistry(): Registry { - return new Registry([...defaultStargateTypes, ...wasmTypes]); -} - -function createDefaultAminoTypes(): AminoTypes { - return new AminoTypes({ - ...createDefaultAminoConverters(), - ...createWasmAminoConverters(), - }) -} - export interface SigningCosmWasmClientOptions { readonly registry?: Registry; readonly aminoTypes?: AminoTypes; @@ -240,8 +229,14 @@ export class SigningCosmWasmClient extends CosmWasmClient { ) { super(tmClient); const { - registry = createDefaultRegistry(), - aminoTypes = createDefaultAminoTypes(), + registry = new Registry([ + ...defaultStargateTypes, + ...wasmTypes + ]), + aminoTypes = new AminoTypes({ + ...createDefaultAminoConverters(), + ...createWasmAminoConverters(), + }), } = options; this.registry = registry; this.aminoTypes = aminoTypes; diff --git a/packages/stargate/src/index.ts b/packages/stargate/src/index.ts index 62560972..23720d37 100644 --- a/packages/stargate/src/index.ts +++ b/packages/stargate/src/index.ts @@ -123,6 +123,7 @@ export { SearchTxQuery, } from "./search"; export { + createDefaultAminoConverters, defaultRegistryTypes, SignerData, SigningStargateClient, diff --git a/packages/stargate/src/signingstargateclient.ts b/packages/stargate/src/signingstargateclient.ts index 86148cb7..10b1125a 100644 --- a/packages/stargate/src/signingstargateclient.ts +++ b/packages/stargate/src/signingstargateclient.ts @@ -64,10 +64,6 @@ export const defaultRegistryTypes: ReadonlyArray<[string, GeneratedType]> = [ ...vestingTypes, ]; -function createDefaultRegistry(): Registry { - return new Registry(defaultRegistryTypes); -} - /** * Signing information for a single signer that is not included in the transaction. * @@ -105,10 +101,6 @@ export function createDefaultAminoConverters(): AminoConverters { }; } -function createDefaultAminoTypes(): AminoTypes { - return new AminoTypes(createDefaultAminoConverters()) -} - export class SigningStargateClient extends StargateClient { public readonly registry: Registry; public readonly broadcastTimeoutMs: number | undefined; @@ -168,8 +160,8 @@ export class SigningStargateClient extends StargateClient { ) { super(tmClient, options); const { - registry = createDefaultRegistry(), - aminoTypes = createDefaultAminoTypes() + registry = new Registry(defaultRegistryTypes), + aminoTypes = new AminoTypes(createDefaultAminoConverters()) } = options; this.registry = registry; this.aminoTypes = aminoTypes; From 2ffe5b1d5a22338c89d73fba529f751c42e8e9f9 Mon Sep 17 00:00:00 2001 From: Noah Saso Date: Wed, 8 Mar 2023 15:22:32 -0800 Subject: [PATCH 3/4] Fixed formatting and added entries to CHANGELOG.md. --- CHANGELOG.md | 8 ++++++++ packages/cosmwasm-stargate/src/signingcosmwasmclient.ts | 2 +- packages/stargate/src/signingstargateclient.ts | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dece7b1a..4644d4aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,12 +28,16 @@ and this project adheres to `createWasmAminoConverters()` instead. - @cosmjs/encoding: Remove previously deprecated `Bech32` class. Please replace `Bech32.encode`/`.decode` with free the functions `toBech32`/`fromBech32`. +- @cosmjs/cosmwasm-stargate: Changed the `SigningCosmWasmClient` constructor to + include all Amino type converters that the `SigningStargateClient` uses by + default, to match the default registry types ([#1384]). [#1002]: https://github.com/cosmos/cosmjs/issues/1002 [#1240]: https://github.com/cosmos/cosmjs/pull/1240 [#1289]: https://github.com/cosmos/cosmjs/issues/1289 [#1291]: https://github.com/cosmos/cosmjs/issues/1291 [#1329]: https://github.com/cosmos/cosmjs/pull/1329 +[#1384]: https://github.com/cosmos/cosmjs/pull/1384 ### Added @@ -54,11 +58,15 @@ and this project adheres to addresses for Instantiate2 ([#1253]). - @cosmjs/stargate: Add `txIndex` to `DeliverTxResponse` and `IndexedTx` ([#1361]). +- @cosmjs/stargate: Add `createDefaultAminoConverters` to access the + `SigningStargateClient`'s list of default Amino type converters to match the + default registry types in `defaultStargateTypes` ([#1384]). [#1253]: https://github.com/cosmos/cosmjs/pull/1253 [#1308]: https://github.com/cosmos/cosmjs/pull/1308 [#1361]: https://github.com/cosmos/cosmjs/issues/1361 [#1376]: https://github.com/cosmos/cosmjs/pull/1376 +[#1384]: https://github.com/cosmos/cosmjs/pull/1384 ## [0.29.5] - 2022-12-07 diff --git a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts index fce9e2e3..e8885fe6 100644 --- a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts +++ b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts @@ -231,7 +231,7 @@ export class SigningCosmWasmClient extends CosmWasmClient { const { registry = new Registry([ ...defaultStargateTypes, - ...wasmTypes + ...wasmTypes, ]), aminoTypes = new AminoTypes({ ...createDefaultAminoConverters(), diff --git a/packages/stargate/src/signingstargateclient.ts b/packages/stargate/src/signingstargateclient.ts index 10b1125a..d782e08c 100644 --- a/packages/stargate/src/signingstargateclient.ts +++ b/packages/stargate/src/signingstargateclient.ts @@ -161,7 +161,7 @@ export class SigningStargateClient extends StargateClient { super(tmClient, options); const { registry = new Registry(defaultRegistryTypes), - aminoTypes = new AminoTypes(createDefaultAminoConverters()) + aminoTypes = new AminoTypes(createDefaultAminoConverters()), } = options; this.registry = registry; this.aminoTypes = aminoTypes; From 41fe29a8cb9d432ac70932962915ecd5695cd235 Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Thu, 9 Mar 2023 10:15:24 +0100 Subject: [PATCH 4/4] Format code --- packages/cosmwasm-stargate/src/signingcosmwasmclient.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts index e8885fe6..03f6fe2f 100644 --- a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts +++ b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts @@ -229,10 +229,7 @@ export class SigningCosmWasmClient extends CosmWasmClient { ) { super(tmClient); const { - registry = new Registry([ - ...defaultStargateTypes, - ...wasmTypes, - ]), + registry = new Registry([...defaultStargateTypes, ...wasmTypes]), aminoTypes = new AminoTypes({ ...createDefaultAminoConverters(), ...createWasmAminoConverters(),