diff --git a/packages/stargate/src/queries/distribution.spec.ts b/packages/stargate/src/queries/distribution.spec.ts index 2ae73d6b..c70aca2e 100644 --- a/packages/stargate/src/queries/distribution.spec.ts +++ b/packages/stargate/src/queries/distribution.spec.ts @@ -7,7 +7,14 @@ import { MsgDelegate } from "cosmjs-types/cosmos/staking/v1beta1/tx"; import { MsgDelegateEncodeObject } from "../encodeobjects"; import { SigningStargateClient } from "../signingstargateclient"; import { assertIsBroadcastTxSuccess } from "../stargateclient"; -import { faucet, pendingWithoutSimapp, simapp, simappEnabled, validator } from "../testutils.spec"; +import { + defaultSigningClientOptions, + faucet, + pendingWithoutSimapp, + simapp, + simappEnabled, + validator, +} from "../testutils.spec"; import { DistributionExtension, setupDistributionExtension } from "./distribution"; import { QueryClient } from "./queryclient"; @@ -27,7 +34,11 @@ describe("DistributionExtension", () => { beforeAll(async () => { if (simappEnabled()) { const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); const msg: MsgDelegate = { delegatorAddress: faucet.address0, diff --git a/packages/stargate/src/queries/staking.spec.ts b/packages/stargate/src/queries/staking.spec.ts index d926dbb5..e74bd4a9 100644 --- a/packages/stargate/src/queries/staking.spec.ts +++ b/packages/stargate/src/queries/staking.spec.ts @@ -7,7 +7,14 @@ import { MsgDelegate, MsgUndelegate } from "cosmjs-types/cosmos/staking/v1beta1/ import { MsgDelegateEncodeObject, MsgUndelegateEncodeObject } from "../encodeobjects"; import { SigningStargateClient } from "../signingstargateclient"; import { assertIsBroadcastTxSuccess } from "../stargateclient"; -import { faucet, pendingWithoutSimapp, simapp, simappEnabled, validator } from "../testutils.spec"; +import { + defaultSigningClientOptions, + faucet, + pendingWithoutSimapp, + simapp, + simappEnabled, + validator, +} from "../testutils.spec"; import { QueryClient } from "./queryclient"; import { setupStakingExtension, StakingExtension } from "./staking"; @@ -27,7 +34,11 @@ describe("StakingExtension", () => { beforeAll(async () => { if (simappEnabled()) { const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); { const msg: MsgDelegate = { diff --git a/packages/stargate/src/signingstargateclient.spec.ts b/packages/stargate/src/signingstargateclient.spec.ts index 44d3b01a..5488151a 100644 --- a/packages/stargate/src/signingstargateclient.spec.ts +++ b/packages/stargate/src/signingstargateclient.spec.ts @@ -17,6 +17,7 @@ import { PrivateSigningStargateClient, SigningStargateClient } from "./signingst import { assertIsBroadcastTxSuccess, isBroadcastTxFailure } from "./stargateclient"; import { defaultSendFee, + defaultSigningClientOptions, faucet, makeRandomAddress, ModifyingDirectSecp256k1HdWallet, @@ -33,7 +34,7 @@ describe("SigningStargateClient", () => { const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic); const registry = new Registry(); registry.register("/custom.MsgCustom", MsgSend); - const options = { registry: registry }; + const options = { ...defaultSigningClientOptions, registry: registry }; const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet, options); const openedClient = client as unknown as PrivateSigningStargateClient; expect(openedClient.registry.lookupType("/custom.MsgCustom")).toEqual(MsgSend); @@ -44,7 +45,11 @@ describe("SigningStargateClient", () => { it("works with direct signer", async () => { pendingWithoutSimapp(); const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); const amount = coins(7890, "ucosm"); const beneficiaryAddress = makeRandomAddress(); @@ -76,7 +81,11 @@ describe("SigningStargateClient", () => { it("works with legacy Amino signer", async () => { pendingWithoutSimapp(); const wallet = await Secp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); const amount = coins(7890, "ucosm"); const beneficiaryAddress = makeRandomAddress(); @@ -110,7 +119,11 @@ describe("SigningStargateClient", () => { it("works with direct signing", async () => { pendingWithoutSimapp(); const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); const memo = "Cross-chain fun"; const fee = { amount: coins(2000, "ucosm"), @@ -155,7 +168,11 @@ describe("SigningStargateClient", () => { it("works with Amino signing", async () => { pendingWithoutSimapp(); const wallet = await Secp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); const memo = "Cross-chain fun"; const fee = { amount: coins(2000, "ucosm"), @@ -203,7 +220,11 @@ describe("SigningStargateClient", () => { it("works", async () => { pendingWithoutSimapp(); const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); const msg = MsgDelegate.fromPartial({ delegatorAddress: faucet.address0, @@ -226,7 +247,11 @@ describe("SigningStargateClient", () => { it("works with a modifying signer", async () => { pendingWithoutSimapp(); const wallet = await ModifyingDirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); const msg = MsgDelegate.fromPartial({ delegatorAddress: faucet.address0, @@ -261,7 +286,11 @@ describe("SigningStargateClient", () => { it("works with bank MsgSend", async () => { pendingWithoutSimapp(); const wallet = await Secp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); const msgSend: MsgSend = { fromAddress: faucet.address0, @@ -284,7 +313,11 @@ describe("SigningStargateClient", () => { it("works with staking MsgDelegate", async () => { pendingWithoutSimapp(); const wallet = await Secp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); const msgDelegate: MsgDelegate = { delegatorAddress: faucet.address0, @@ -399,7 +432,11 @@ describe("SigningStargateClient", () => { }, }, }); - const options = { registry: customRegistry, aminoTypes: customAminoTypes }; + const options = { + ...defaultSigningClientOptions, + registry: customRegistry, + aminoTypes: customAminoTypes, + }; const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet, options); const msg: CustomMsgDelegate = { @@ -423,7 +460,11 @@ describe("SigningStargateClient", () => { it("works with a modifying signer", async () => { pendingWithoutSimapp(); const wallet = await ModifyingSecp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); const msg: MsgDelegate = { delegatorAddress: faucet.address0, @@ -460,7 +501,11 @@ describe("SigningStargateClient", () => { it("works", async () => { pendingWithoutSimapp(); const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); const msg = MsgDelegate.fromPartial({ delegatorAddress: faucet.address0, @@ -486,7 +531,11 @@ describe("SigningStargateClient", () => { it("works with a modifying signer", async () => { pendingWithoutSimapp(); const wallet = await ModifyingDirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); const msg = MsgDelegate.fromPartial({ delegatorAddress: faucet.address0, @@ -521,7 +570,11 @@ describe("SigningStargateClient", () => { it("works with bank MsgSend", async () => { pendingWithoutSimapp(); const wallet = await Secp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); const msgSend: MsgSend = { fromAddress: faucet.address0, @@ -547,7 +600,11 @@ describe("SigningStargateClient", () => { it("works with staking MsgDelegate", async () => { pendingWithoutSimapp(); const wallet = await Secp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); const msgDelegate: MsgDelegate = { delegatorAddress: faucet.address0, @@ -665,7 +722,11 @@ describe("SigningStargateClient", () => { }, }, }); - const options = { registry: customRegistry, aminoTypes: customAminoTypes }; + const options = { + ...defaultSigningClientOptions, + registry: customRegistry, + aminoTypes: customAminoTypes, + }; const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet, options); const msg: CustomMsgDelegate = { @@ -692,7 +753,11 @@ describe("SigningStargateClient", () => { it("works with a modifying signer", async () => { pendingWithoutSimapp(); const wallet = await ModifyingSecp256k1HdWallet.fromMnemonic(faucet.mnemonic); - const client = await SigningStargateClient.connectWithSigner(simapp.tendermintUrl, wallet); + const client = await SigningStargateClient.connectWithSigner( + simapp.tendermintUrl, + wallet, + defaultSigningClientOptions, + ); const msg: MsgDelegate = { delegatorAddress: faucet.address0, diff --git a/packages/stargate/src/stargateclient.searchtx.spec.ts b/packages/stargate/src/stargateclient.searchtx.spec.ts index 50b4b110..c713994a 100644 --- a/packages/stargate/src/stargateclient.searchtx.spec.ts +++ b/packages/stargate/src/stargateclient.searchtx.spec.ts @@ -21,6 +21,7 @@ import { StargateClient, } from "./stargateclient"; import { + defaultSigningClientOptions, faucet, fromOneElementArray, makeRandomAddress, @@ -89,7 +90,11 @@ async function sendTokens( signatures: [fromBase64(signature.signature)], }); const txRawBytes = Uint8Array.from(TxRaw.encode(txRaw).finish()); - const broadcastResponse = await client.broadcastTx(txRawBytes); + const broadcastResponse = await client.broadcastTx( + txRawBytes, + defaultSigningClientOptions.broadcastTimeoutMs, + defaultSigningClientOptions.broadcastPollIntervalMs, + ); return { broadcastResponse: broadcastResponse, tx: txRawBytes, diff --git a/packages/stargate/src/testutils.spec.ts b/packages/stargate/src/testutils.spec.ts index a5f2c728..cccc2d78 100644 --- a/packages/stargate/src/testutils.spec.ts +++ b/packages/stargate/src/testutils.spec.ts @@ -13,6 +13,7 @@ import { SignMode } from "cosmjs-types/cosmos/tx/signing/v1beta1/signing"; import { AuthInfo, SignDoc, TxBody } from "cosmjs-types/cosmos/tx/v1beta1/tx"; import { calculateFee, GasPrice } from "./fee"; +import { SigningStargateClientOptions } from "./signingstargateclient"; export function simappEnabled(): boolean { return !!process.env.SIMAPP_ENABLED; @@ -73,6 +74,12 @@ export const slowSimapp = { totalSupply: 21000000000, // ucosm }; +/** Setting to speed up testing */ +export const defaultSigningClientOptions: SigningStargateClientOptions = { + broadcastPollIntervalMs: 300, + broadcastTimeoutMs: 8_000, +}; + export const faucet = { mnemonic: "economy stock theory fatal elder harbor betray wasp final emotion task crumble siren bottom lizard educate guess current outdoor pair theory focus wife stone",