diff --git a/packages/cosmwasm-stargate/src/encodeobjects.ts b/packages/cosmwasm-stargate/src/encodeobjects.ts deleted file mode 100644 index 4f613568..00000000 --- a/packages/cosmwasm-stargate/src/encodeobjects.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { EncodeObject } from "@cosmjs/proto-signing"; -import { - MsgClearAdmin, - MsgExecuteContract, - MsgInstantiateContract, - MsgMigrateContract, - MsgStoreCode, - MsgUpdateAdmin, -} from "cosmjs-types/cosmwasm/wasm/v1/tx"; - -export interface MsgStoreCodeEncodeObject extends EncodeObject { - readonly typeUrl: "/cosmwasm.wasm.v1.MsgStoreCode"; - readonly value: Partial; -} - -export function isMsgStoreCodeEncodeObject( - encodeObject: EncodeObject, -): encodeObject is MsgStoreCodeEncodeObject { - return (encodeObject as MsgStoreCodeEncodeObject).typeUrl === "/cosmwasm.wasm.v1.MsgStoreCode"; -} - -export interface MsgInstantiateContractEncodeObject extends EncodeObject { - readonly typeUrl: "/cosmwasm.wasm.v1.MsgInstantiateContract"; - readonly value: Partial; -} - -export function isMsgInstantiateContractEncodeObject( - encodeObject: EncodeObject, -): encodeObject is MsgInstantiateContractEncodeObject { - return ( - (encodeObject as MsgInstantiateContractEncodeObject).typeUrl === - "/cosmwasm.wasm.v1.MsgInstantiateContract" - ); -} - -export interface MsgUpdateAdminEncodeObject extends EncodeObject { - readonly typeUrl: "/cosmwasm.wasm.v1.MsgUpdateAdmin"; - readonly value: Partial; -} - -export function isMsgUpdateAdminEncodeObject( - encodeObject: EncodeObject, -): encodeObject is MsgUpdateAdminEncodeObject { - return (encodeObject as MsgUpdateAdminEncodeObject).typeUrl === "/cosmwasm.wasm.v1.MsgUpdateAdmin"; -} - -export interface MsgClearAdminEncodeObject extends EncodeObject { - readonly typeUrl: "/cosmwasm.wasm.v1.MsgClearAdmin"; - readonly value: Partial; -} - -export function isMsgClearAdminEncodeObject( - encodeObject: EncodeObject, -): encodeObject is MsgClearAdminEncodeObject { - return (encodeObject as MsgClearAdminEncodeObject).typeUrl === "/cosmwasm.wasm.v1.MsgClearAdmin"; -} - -export interface MsgMigrateContractEncodeObject extends EncodeObject { - readonly typeUrl: "/cosmwasm.wasm.v1.MsgMigrateContract"; - readonly value: Partial; -} - -export function isMsgMigrateEncodeObject( - encodeObject: EncodeObject, -): encodeObject is MsgMigrateContractEncodeObject { - return (encodeObject as MsgMigrateContractEncodeObject).typeUrl === "/cosmwasm.wasm.v1.MsgMigrateContract"; -} - -export interface MsgExecuteContractEncodeObject extends EncodeObject { - readonly typeUrl: "/cosmwasm.wasm.v1.MsgExecuteContract"; - readonly value: Partial; -} - -export function isMsgExecuteEncodeObject( - encodeObject: EncodeObject, -): encodeObject is MsgExecuteContractEncodeObject { - return (encodeObject as MsgExecuteContractEncodeObject).typeUrl === "/cosmwasm.wasm.v1.MsgExecuteContract"; -} diff --git a/packages/cosmwasm-stargate/src/index.ts b/packages/cosmwasm-stargate/src/index.ts index 5f401986..a560f6c3 100644 --- a/packages/cosmwasm-stargate/src/index.ts +++ b/packages/cosmwasm-stargate/src/index.ts @@ -1,5 +1,6 @@ export { cosmWasmTypes } from "./aminotypes"; export { Code, CodeDetails, Contract, ContractCodeHistoryEntry, CosmWasmClient } from "./cosmwasmclient"; +export { fromBinary, toBinary } from "./encoding"; export { isMsgClearAdminEncodeObject, isMsgExecuteEncodeObject, @@ -7,15 +8,16 @@ export { isMsgMigrateEncodeObject, isMsgStoreCodeEncodeObject, isMsgUpdateAdminEncodeObject, + JsonObject, MsgClearAdminEncodeObject, MsgExecuteContractEncodeObject, MsgInstantiateContractEncodeObject, MsgMigrateContractEncodeObject, MsgStoreCodeEncodeObject, MsgUpdateAdminEncodeObject, -} from "./encodeobjects"; -export { fromBinary, toBinary } from "./encoding"; -export { JsonObject, setupWasmExtension, WasmExtension } from "./modules"; + setupWasmExtension, + WasmExtension, +} from "./modules"; export { ChangeAdminResult, ExecuteResult, diff --git a/packages/cosmwasm-stargate/src/modules/index.ts b/packages/cosmwasm-stargate/src/modules/index.ts index 226838dc..c15432af 100644 --- a/packages/cosmwasm-stargate/src/modules/index.ts +++ b/packages/cosmwasm-stargate/src/modules/index.ts @@ -1 +1,16 @@ +export { + isMsgClearAdminEncodeObject, + isMsgExecuteEncodeObject, + isMsgInstantiateContractEncodeObject, + isMsgMigrateEncodeObject, + isMsgStoreCodeEncodeObject, + isMsgUpdateAdminEncodeObject, + MsgClearAdminEncodeObject, + MsgExecuteContractEncodeObject, + MsgInstantiateContractEncodeObject, + MsgMigrateContractEncodeObject, + MsgStoreCodeEncodeObject, + MsgUpdateAdminEncodeObject, + wasmTypes, +} from "./wasm/messages"; export { JsonObject, setupWasmExtension, WasmExtension } from "./wasm/queries"; diff --git a/packages/cosmwasm-stargate/src/modules/wasm/messages.ts b/packages/cosmwasm-stargate/src/modules/wasm/messages.ts new file mode 100644 index 00000000..e9a1ea02 --- /dev/null +++ b/packages/cosmwasm-stargate/src/modules/wasm/messages.ts @@ -0,0 +1,76 @@ +import { EncodeObject, GeneratedType } from "@cosmjs/proto-signing"; +import { + MsgClearAdmin, + MsgExecuteContract, + MsgInstantiateContract, + MsgMigrateContract, + MsgStoreCode, + MsgUpdateAdmin, +} from "cosmjs-types/cosmwasm/wasm/v1/tx"; + +export const wasmTypes: ReadonlyArray<[string, GeneratedType]> = [ + ["/cosmwasm.wasm.v1.MsgClearAdmin", MsgClearAdmin], + ["/cosmwasm.wasm.v1.MsgExecuteContract", MsgExecuteContract], + ["/cosmwasm.wasm.v1.MsgMigrateContract", MsgMigrateContract], + ["/cosmwasm.wasm.v1.MsgStoreCode", MsgStoreCode], + ["/cosmwasm.wasm.v1.MsgInstantiateContract", MsgInstantiateContract], + ["/cosmwasm.wasm.v1.MsgUpdateAdmin", MsgUpdateAdmin], +]; + +export interface MsgStoreCodeEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmwasm.wasm.v1.MsgStoreCode"; + readonly value: Partial; +} + +export function isMsgStoreCodeEncodeObject(object: EncodeObject): object is MsgStoreCodeEncodeObject { + return (object as MsgStoreCodeEncodeObject).typeUrl === "/cosmwasm.wasm.v1.MsgStoreCode"; +} + +export interface MsgInstantiateContractEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmwasm.wasm.v1.MsgInstantiateContract"; + readonly value: Partial; +} + +export function isMsgInstantiateContractEncodeObject( + object: EncodeObject, +): object is MsgInstantiateContractEncodeObject { + return ( + (object as MsgInstantiateContractEncodeObject).typeUrl === "/cosmwasm.wasm.v1.MsgInstantiateContract" + ); +} + +export interface MsgUpdateAdminEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmwasm.wasm.v1.MsgUpdateAdmin"; + readonly value: Partial; +} + +export function isMsgUpdateAdminEncodeObject(object: EncodeObject): object is MsgUpdateAdminEncodeObject { + return (object as MsgUpdateAdminEncodeObject).typeUrl === "/cosmwasm.wasm.v1.MsgUpdateAdmin"; +} + +export interface MsgClearAdminEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmwasm.wasm.v1.MsgClearAdmin"; + readonly value: Partial; +} + +export function isMsgClearAdminEncodeObject(object: EncodeObject): object is MsgClearAdminEncodeObject { + return (object as MsgClearAdminEncodeObject).typeUrl === "/cosmwasm.wasm.v1.MsgClearAdmin"; +} + +export interface MsgMigrateContractEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmwasm.wasm.v1.MsgMigrateContract"; + readonly value: Partial; +} + +export function isMsgMigrateEncodeObject(object: EncodeObject): object is MsgMigrateContractEncodeObject { + return (object as MsgMigrateContractEncodeObject).typeUrl === "/cosmwasm.wasm.v1.MsgMigrateContract"; +} + +export interface MsgExecuteContractEncodeObject extends EncodeObject { + readonly typeUrl: "/cosmwasm.wasm.v1.MsgExecuteContract"; + readonly value: Partial; +} + +export function isMsgExecuteEncodeObject(object: EncodeObject): object is MsgExecuteContractEncodeObject { + return (object as MsgExecuteContractEncodeObject).typeUrl === "/cosmwasm.wasm.v1.MsgExecuteContract"; +} diff --git a/packages/cosmwasm-stargate/src/modules/wasm/queries.spec.ts b/packages/cosmwasm-stargate/src/modules/wasm/queries.spec.ts index d374c951..7accd995 100644 --- a/packages/cosmwasm-stargate/src/modules/wasm/queries.spec.ts +++ b/packages/cosmwasm-stargate/src/modules/wasm/queries.spec.ts @@ -16,11 +16,6 @@ import { MsgExecuteContract, MsgInstantiateContract, MsgStoreCode } from "cosmjs import { ContractCodeHistoryOperationType } from "cosmjs-types/cosmwasm/wasm/v1/types"; import Long from "long"; -import { - MsgExecuteContractEncodeObject, - MsgInstantiateContractEncodeObject, - MsgStoreCodeEncodeObject, -} from "../../encodeobjects"; import { SigningCosmWasmClient } from "../../signingcosmwasmclient"; import { alice, @@ -34,12 +29,14 @@ import { wasmd, wasmdEnabled, } from "../../testutils.spec"; +import { + MsgExecuteContractEncodeObject, + MsgInstantiateContractEncodeObject, + MsgStoreCodeEncodeObject, + wasmTypes, +} from "./messages"; -const registry = new Registry([ - ["/cosmwasm.wasm.v1.MsgExecuteContract", MsgExecuteContract], - ["/cosmwasm.wasm.v1.MsgStoreCode", MsgStoreCode], - ["/cosmwasm.wasm.v1.MsgInstantiateContract", MsgInstantiateContract], -]); +const registry = new Registry(wasmTypes); async function uploadContract( signer: OfflineDirectSigner, diff --git a/packages/cosmwasm-stargate/src/signingcosmwasmclient.spec.ts b/packages/cosmwasm-stargate/src/signingcosmwasmclient.spec.ts index 9d9ad47f..3b61b55a 100644 --- a/packages/cosmwasm-stargate/src/signingcosmwasmclient.spec.ts +++ b/packages/cosmwasm-stargate/src/signingcosmwasmclient.spec.ts @@ -22,7 +22,7 @@ import Long from "long"; import pako from "pako"; import protobuf from "protobufjs/minimal"; -import { MsgExecuteContractEncodeObject, MsgStoreCodeEncodeObject } from "./encodeobjects"; +import { MsgExecuteContractEncodeObject, MsgStoreCodeEncodeObject } from "./modules"; import { SigningCosmWasmClient } from "./signingcosmwasmclient"; import { alice, diff --git a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts index 4ea3c3f8..c43d04c7 100644 --- a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts +++ b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts @@ -55,7 +55,8 @@ import { MsgMigrateContractEncodeObject, MsgStoreCodeEncodeObject, MsgUpdateAdminEncodeObject, -} from "./encodeobjects"; + wasmTypes, +} from "./modules"; export interface UploadResult { /** Size of the original wasm code in bytes */ @@ -148,14 +149,7 @@ function createDeliverTxResponseErrorMessage(result: DeliverTxResponse): string } function createDefaultRegistry(): Registry { - const registry = new Registry(defaultStargateTypes); - registry.register("/cosmwasm.wasm.v1.MsgClearAdmin", MsgClearAdmin); - registry.register("/cosmwasm.wasm.v1.MsgExecuteContract", MsgExecuteContract); - registry.register("/cosmwasm.wasm.v1.MsgMigrateContract", MsgMigrateContract); - registry.register("/cosmwasm.wasm.v1.MsgStoreCode", MsgStoreCode); - registry.register("/cosmwasm.wasm.v1.MsgInstantiateContract", MsgInstantiateContract); - registry.register("/cosmwasm.wasm.v1.MsgUpdateAdmin", MsgUpdateAdmin); - return registry; + return new Registry([...defaultStargateTypes, ...wasmTypes]); } export interface SigningCosmWasmClientOptions {