From 9c6a7ab15a24648e2ccc0b28191a97cb695d0a68 Mon Sep 17 00:00:00 2001 From: willclarktech Date: Tue, 11 May 2021 14:46:54 +0200 Subject: [PATCH] cosmwasm-stargate: Allow broadcast timing to be customized in SigningCosmWasmClient --- packages/cosmwasm-stargate/src/signingcosmwasmclient.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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(