From 6fd57fe3b559617813675b9cd129ab827181c392 Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Mon, 22 Apr 2024 10:33:44 +0200 Subject: [PATCH] Test two different instantiatePermission --- .../src/signingcosmwasmclient.spec.ts | 34 ++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/packages/cosmwasm-stargate/src/signingcosmwasmclient.spec.ts b/packages/cosmwasm-stargate/src/signingcosmwasmclient.spec.ts index c136c5d6..6e4f1002 100644 --- a/packages/cosmwasm-stargate/src/signingcosmwasmclient.spec.ts +++ b/packages/cosmwasm-stargate/src/signingcosmwasmclient.spec.ts @@ -147,7 +147,7 @@ describe("SigningCosmWasmClient", () => { client.disconnect(); }); - it("works with Amino JSON signer (instantiatePermission set)", async () => { + it("works with Amino JSON signer (instantiatePermission set to one address)", async () => { pendingWithoutWasmd(); const wallet = await Secp256k1HdWallet.fromMnemonic(alice.mnemonic, { prefix: wasmd.prefix }); const client = await SigningCosmWasmClient.connectWithSigner( @@ -156,11 +156,37 @@ describe("SigningCosmWasmClient", () => { defaultSigningClientOptions, ); const wasm = getHackatom().data; - const instantiatePermission: AccessConfig = { + const instantiatePermission = AccessConfig.fromPartial({ + permission: AccessType.ACCESS_TYPE_ANY_OF_ADDRESSES, + addresses: [makeRandomAddress()], + }); + const { codeId, checksum, originalSize, compressedSize } = await client.upload( + alice.address0, + wasm, + defaultUploadFee, + "test memo", + instantiatePermission, + ); + expect(checksum).toEqual(toHex(sha256(wasm))); + expect(originalSize).toEqual(wasm.length); + expect(compressedSize).toBeLessThan(wasm.length * 0.5); + expect(codeId).toBeGreaterThanOrEqual(1); + client.disconnect(); + }); + + it("works with Amino JSON signer (instantiatePermission set to everybody)", async () => { + pendingWithoutWasmd(); + const wallet = await Secp256k1HdWallet.fromMnemonic(alice.mnemonic, { prefix: wasmd.prefix }); + const client = await SigningCosmWasmClient.connectWithSigner( + wasmd.endpoint, + wallet, + defaultSigningClientOptions, + ); + const wasm = getHackatom().data; + const instantiatePermission = AccessConfig.fromPartial({ permission: AccessType.ACCESS_TYPE_EVERYBODY, - address: "", addresses: [], - }; + }); const { codeId, checksum, originalSize, compressedSize } = await client.upload( alice.address0, wasm,