Improve Amino JSON test coverage

This commit is contained in:
Simon Warta 2024-04-17 12:19:32 +02:00
parent e20a95c442
commit 5db290f94c
5 changed files with 76 additions and 44 deletions

View File

@ -126,7 +126,7 @@ describe("SigningCosmWasmClient", () => {
client.disconnect();
});
it("works with legacy Amino signer", async () => {
it("works with Amino JSON signer", async () => {
pendingWithoutWasmd();
const wallet = await Secp256k1HdWallet.fromMnemonic(alice.mnemonic, { prefix: wasmd.prefix });
const client = await SigningCosmWasmClient.connectWithSigner(
@ -147,7 +147,7 @@ describe("SigningCosmWasmClient", () => {
client.disconnect();
});
it("works with legacy Amino signer (instantiatePermission set)", async () => {
it("works with Amino JSON signer (instantiatePermission set)", async () => {
pendingWithoutWasmd();
const wallet = await Secp256k1HdWallet.fromMnemonic(alice.mnemonic, { prefix: wasmd.prefix });
const client = await SigningCosmWasmClient.connectWithSigner(
@ -285,7 +285,7 @@ describe("SigningCosmWasmClient", () => {
client.disconnect();
});
it("works with legacy Amino signer", async () => {
it("works with Amino JSON signer", async () => {
pendingWithoutWasmd();
const wallet = await Secp256k1HdWallet.fromMnemonic(alice.mnemonic, { prefix: wasmd.prefix });
const client = await SigningCosmWasmClient.connectWithSigner(
@ -293,6 +293,23 @@ describe("SigningCosmWasmClient", () => {
wallet,
defaultSigningClientOptions,
);
const funds = [coin(1234, "ucosm"), coin(321, "ustake")];
// Without admin
await client.instantiate(
alice.address0,
deployedHackatom.codeId,
{
verifier: alice.address0,
beneficiary: makeRandomAddress(),
},
"contract 1",
defaultInstantiateFee,
{
funds: funds,
memo: "instantiate it",
},
);
// With admin
await client.instantiate(
@ -304,19 +321,10 @@ describe("SigningCosmWasmClient", () => {
},
"contract 1",
defaultInstantiateFee,
{ admin: makeRandomAddress() },
);
// Without admin
await client.instantiate(
alice.address0,
deployedHackatom.codeId,
{
verifier: alice.address0,
beneficiary: makeRandomAddress(),
funds: funds,
admin: makeRandomAddress(),
},
"contract 1",
defaultInstantiateFee,
);
client.disconnect();
@ -368,41 +376,65 @@ describe("SigningCosmWasmClient", () => {
client.disconnect();
});
it("works with Amino JSON signing", async () => {
it("works with Amino JSON signer", async () => {
pendingWithoutWasmd();
const aminoJsonWallet = await Secp256k1HdWallet.fromMnemonic(alice.mnemonic, {
const wallet = await Secp256k1HdWallet.fromMnemonic(alice.mnemonic, {
prefix: wasmd.prefix,
});
const client = await SigningCosmWasmClient.connectWithSigner(
wasmd.endpoint,
aminoJsonWallet,
wallet,
defaultSigningClientOptions,
);
const { codeId } = await client.upload(alice.address0, getHackatom().data, defaultUploadFee);
const funds = [coin(1234, "ucosm"), coin(321, "ustake")];
const salt = Random.getBytes(64);
const msg = {
verifier: alice.address0,
beneficiary: makeRandomAddress(),
};
const { contractAddress } = await client.instantiate2(
alice.address0,
codeId,
salt,
msg,
"My cool label--",
defaultInstantiateFee,
{
memo: "Let's see if the memo is used",
funds: funds,
},
);
// Without admin
{
const salt = Random.getBytes(64);
const { contractAddress } = await client.instantiate2(
alice.address0,
codeId,
salt,
msg,
"My cool label--",
defaultInstantiateFee,
{
memo: "Let's see if the memo is used",
funds: funds,
},
);
const ucosmBalance = await client.getBalance(contractAddress, "ucosm");
const ustakeBalance = await client.getBalance(contractAddress, "ustake");
expect(ucosmBalance).toEqual(funds[0]);
expect(ustakeBalance).toEqual(funds[1]);
}
const ucosmBalance = await client.getBalance(contractAddress, "ucosm");
const ustakeBalance = await client.getBalance(contractAddress, "ustake");
expect(ucosmBalance).toEqual(funds[0]);
expect(ustakeBalance).toEqual(funds[1]);
// With admin
{
const salt = Random.getBytes(64);
const { contractAddress } = await client.instantiate2(
alice.address0,
codeId,
salt,
msg,
"My cool label--",
defaultInstantiateFee,
{
memo: "Let's see if the memo is used",
funds: funds,
admin: makeRandomAddress(),
},
);
const ucosmBalance = await client.getBalance(contractAddress, "ucosm");
const ustakeBalance = await client.getBalance(contractAddress, "ustake");
expect(ucosmBalance).toEqual(funds[0]);
expect(ustakeBalance).toEqual(funds[1]);
}
client.disconnect();
});
@ -549,7 +581,7 @@ describe("SigningCosmWasmClient", () => {
client.disconnect();
});
it("works with legacy Amino signer", async () => {
it("works with Amino JSON signer", async () => {
pendingWithoutWasmd();
const wallet = await Secp256k1HdWallet.fromMnemonic(alice.mnemonic, { prefix: wasmd.prefix });
const client = await SigningCosmWasmClient.connectWithSigner(
@ -652,7 +684,7 @@ describe("SigningCosmWasmClient", () => {
client.disconnect();
});
it("works with legacy Amino signer", async () => {
it("works with Amino JSON signer", async () => {
pendingWithoutWasmd();
const wallet = await Secp256k1HdWallet.fromMnemonic(alice.mnemonic, { prefix: wasmd.prefix });
const client = await SigningCosmWasmClient.connectWithSigner(
@ -813,7 +845,7 @@ describe("SigningCosmWasmClient", () => {
client.disconnect();
});
it("works with legacy Amino signer", async () => {
it("works with Amino JSON signer", async () => {
pendingWithoutWasmd();
const wallet = await Secp256k1HdWallet.fromMnemonic(alice.mnemonic, { prefix: wasmd.prefix });
const client = await SigningCosmWasmClient.connectWithSigner(

View File

@ -148,7 +148,7 @@ describe("gov messages", () => {
client.disconnect();
});
it("works with Amino JSON sign mode", async () => {
it("works with Amino JSON signer", async () => {
pendingWithoutSimapp();
assert(voterWalletAmino);
assert(proposalId, "Missing proposal ID");
@ -206,7 +206,7 @@ describe("gov messages", () => {
client.disconnect();
});
it("works with Amino JSON sign mode", async () => {
it("works with Amino JSON signer", async () => {
pendingWithoutSimapp();
if (simapp50Enabled()) pending("Not working, see https://github.com/cosmos/cosmos-sdk/issues/18546");
assert(voterWalletAmino);

View File

@ -94,7 +94,7 @@ describe("staking messages", () => {
client.disconnect();
});
it("works with Amino JSON sign mode", async () => {
it("works with Amino JSON signer", async () => {
pendingWithoutSimapp();
if (simapp50Enabled()) pending("Not working, see https://github.com/cosmos/cosmos-sdk/issues/18546");
@ -235,7 +235,7 @@ describe("staking messages", () => {
client.disconnect();
});
it("works with Amino JSON sign mode", async () => {
it("works with Amino JSON signer", async () => {
pendingWithoutSimapp();
if (simapp50Enabled()) pending("Not working, see https://github.com/cosmos/cosmos-sdk/issues/18546");

View File

@ -45,7 +45,7 @@ describe("vesting messages", () => {
client.disconnect();
});
it("works with Amino JSON sign mode", async () => {
it("works with Amino JSON signer", async () => {
pendingWithoutSimapp46OrHigher(); // Amino JSON broken on chain before Cosmos SDK 0.46
const wallet = await Secp256k1HdWallet.fromMnemonic(faucet.mnemonic);
const client = await SigningStargateClient.connectWithSigner(

View File

@ -133,7 +133,7 @@ describe("SigningStargateClient", () => {
expect(after).toEqual(amount[0]);
});
it("works with legacy Amino signer", async () => {
it("works with Amino JSON signer", async () => {
pendingWithoutSimapp();
const wallet = await Secp256k1HdWallet.fromMnemonic(faucet.mnemonic);
const client = await SigningStargateClient.connectWithSigner(
@ -301,7 +301,7 @@ describe("SigningStargateClient", () => {
}
});
it("works with Amino signing", async () => {
it("works with Amino JSON signer", async () => {
pending("We cannot test this easily anymore since the IBC module was removed from simapp");
const wallet = await Secp256k1HdWallet.fromMnemonic(faucet.mnemonic);
const client = await SigningStargateClient.connectWithSigner(