diff --git a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts index e1025909..0cd4e3c2 100644 --- a/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts +++ b/packages/cosmwasm-stargate/src/signingcosmwasmclient.ts @@ -136,11 +136,15 @@ export interface SigningCosmWasmClientOptions { readonly prefix?: string; readonly gasPrice?: GasPrice; readonly gasLimits?: Partial>; + readonly broadcastTimeoutMs?: number; + readonly broadcastPollIntervalMs?: number; } export class SigningCosmWasmClient extends CosmWasmClient { public readonly fees: CosmWasmFeeTable; public readonly registry: Registry; + public readonly broadcastTimeoutMs: number | undefined; + public readonly broadcastPollIntervalMs: number | undefined; private readonly signer: OfflineSigner; private readonly aminoTypes: AminoTypes; @@ -186,6 +190,8 @@ export class SigningCosmWasmClient extends CosmWasmClient { this.registry = registry; this.aminoTypes = aminoTypes; this.signer = signer; + this.broadcastTimeoutMs = options.broadcastTimeoutMs; + this.broadcastPollIntervalMs = options.broadcastPollIntervalMs; } /** Uploads code and returns a receipt, including the code ID */ @@ -430,7 +436,7 @@ export class SigningCosmWasmClient extends CosmWasmClient { ): Promise { const txRaw = await this.sign(signerAddress, messages, fee, memo); const txBytes = TxRaw.encode(txRaw).finish(); - return this.broadcastTx(txBytes); + return this.broadcastTx(txBytes, this.broadcastTimeoutMs, this.broadcastPollIntervalMs); } public async sign(