From 0c2fe1b59626785e121c27a888002942dc4b963f Mon Sep 17 00:00:00 2001 From: willclarktech Date: Tue, 11 May 2021 14:46:29 +0200 Subject: [PATCH 1/3] stargate: Allow broadcast timing to be customized in SigningStargateClient --- packages/stargate/src/signingstargateclient.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/stargate/src/signingstargateclient.ts b/packages/stargate/src/signingstargateclient.ts index 452cd065..02b80ce6 100644 --- a/packages/stargate/src/signingstargateclient.ts +++ b/packages/stargate/src/signingstargateclient.ts @@ -151,11 +151,15 @@ export interface SigningStargateClientOptions { readonly prefix?: string; readonly gasPrice?: GasPrice; readonly gasLimits?: Partial>; + readonly broadcastTimeoutMs?: number; + readonly broadcastPollIntervalMs?: number; } export class SigningStargateClient extends StargateClient { public readonly fees: CosmosFeeTable; public readonly registry: Registry; + public readonly broadcastTimeoutMs: number | undefined; + public readonly broadcastPollIntervalMs: number | undefined; private readonly signer: OfflineSigner; private readonly aminoTypes: AminoTypes; @@ -201,6 +205,8 @@ export class SigningStargateClient extends StargateClient { this.registry = registry; this.aminoTypes = aminoTypes; this.signer = signer; + this.broadcastTimeoutMs = options.broadcastTimeoutMs; + this.broadcastPollIntervalMs = options.broadcastPollIntervalMs; } public async sendTokens( @@ -306,7 +312,7 @@ export class SigningStargateClient extends StargateClient { ): 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); } /** From 9c6a7ab15a24648e2ccc0b28191a97cb695d0a68 Mon Sep 17 00:00:00 2001 From: willclarktech Date: Tue, 11 May 2021 14:46:54 +0200 Subject: [PATCH 2/3] 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( From 2e480cd57f422800210111fbf980943ce064387a Mon Sep 17 00:00:00 2001 From: willclarktech Date: Tue, 11 May 2021 14:48:15 +0200 Subject: [PATCH 3/3] Update CHANGELOG for custom broadcast timing --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 78dd8c49..14273294 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ and this project adheres to ### Added +- @cosmjs/cosmwasm-stargate: Add `broadcastTimeoutMs` and + `broadcastPollIntervalMs` options added to `SigningCosmWasmClientOptions`. - @cosmjs/proto-signing: Add `serialize` and `serializeWithEncryptionKey` methods to `DirectSecp256k1HdWallet`. Also add `deserialize` and `deserializeWithEncryptionKey` static methods. @@ -15,6 +17,8 @@ and this project adheres to helper functions and `KdfConfiguration` type. - @cosmjs/proto-signing: Export `makeCosmoshubPath` helper. - @cosmjs/stargate: Export `makeCosmoshubPath` helper. +- @cosmjs/stargate: Add `broadcastTimeoutMs` and `broadcastPollIntervalMs` + options added to `SigningStargateClientOptions`. ## [0.25.1] - 2021-05-06