From d73f1a1ae55181c758401698b16145ab4dcfe559 Mon Sep 17 00:00:00 2001 From: shiruku Date: Fri, 29 Mar 2024 11:38:34 -0700 Subject: [PATCH 1/2] Add MsgInstantiateContract --- src/client/index.ts | 1 + src/client/models/MsgInstantiateContract.ts | 34 +++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 src/client/models/MsgInstantiateContract.ts diff --git a/src/client/index.ts b/src/client/index.ts index c2d3b403..ac105d5b 100644 --- a/src/client/index.ts +++ b/src/client/index.ts @@ -31,6 +31,7 @@ export { simulateTx, type SimulateTxParams } from "./apis/simulateTx"; export { RpcClient } from "./clients/RpcClient"; export { type Adapter } from "./models/Adapter"; export { MsgExecuteContract } from "./models/MsgExecuteContract"; +export { MsgInstantiateContract } from "./models/MsgInstantiateContract"; export { MsgExecuteContractInjective } from "./models/MsgExecuteContractInjective"; export { MsgIbcTransfer } from "./models/MsgIbcTransfer"; export { MsgOsmosisSinglePoolSwap } from "./models/MsgOsmosisSinglePoolSwap"; diff --git a/src/client/models/MsgInstantiateContract.ts b/src/client/models/MsgInstantiateContract.ts new file mode 100644 index 00000000..b4111e61 --- /dev/null +++ b/src/client/models/MsgInstantiateContract.ts @@ -0,0 +1,34 @@ +import { PlainMessage } from "@bufbuild/protobuf"; +import { utf8 } from "cosmes/codec"; +import { CosmwasmWasmV1MsgInstantiateContract as ProtoMsgInstantiateContract } from "cosmes/protobufs"; + +import { DeepPrettify, Prettify } from "../../typeutils/prettify"; +import { Adapter } from "./Adapter"; + +type Data = Prettify< + DeepPrettify, "msg">> & { + msg: T; + } +>; + +export class MsgInstantiateContract implements Adapter { + private readonly data: Data; + + constructor(data: Data) { + this.data = data; + } + + public toProto() { + return new ProtoMsgInstantiateContract({ + ...this.data, + msg: utf8.decode(JSON.stringify(this.data.msg)), + }); + } + + public toAmino() { + return { + type: "wasm/MsgInstantiateContract", + value: this.data, + }; + } +} From fb0a323404b1654a7ac3f08e6e5a6fb72b527727 Mon Sep 17 00:00:00 2001 From: shiruku Date: Sun, 31 Mar 2024 11:06:35 -0700 Subject: [PATCH 2/2] Add example for MsgInstantiateContract --- .idea/workspace.xml | 152 +++++++++ examples/instantiate-contract/package.json | 16 + examples/instantiate-contract/pnpm-lock.yaml | 312 +++++++++++++++++++ examples/instantiate-contract/src/index.ts | 52 ++++ examples/instantiate-contract/tsconfig.json | 14 + 5 files changed, 546 insertions(+) create mode 100644 .idea/workspace.xml create mode 100644 examples/instantiate-contract/package.json create mode 100644 examples/instantiate-contract/pnpm-lock.yaml create mode 100644 examples/instantiate-contract/src/index.ts create mode 100644 examples/instantiate-contract/tsconfig.json diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 00000000..057aff2b --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + { + "customColor": "", + "associatedIndex": 3 +} + + + + + + + + + + + + + + + + + + + + + + +