Change multiplier to 1.4

This commit is contained in:
Simon Warta 2023-08-21 09:30:52 +02:00
parent 358260bff7
commit 5bb01b8a68
4 changed files with 13 additions and 3 deletions

View File

@ -11,6 +11,12 @@ and this project adheres to
- @cosmjs/tendermint-rpc: Add missing `earliest_*` fields to `SyncInfo` record
returned from the `/status` RPC endpoint ([#1448]).
### Changed
- @cosmjs/stargate, @cosmjs/cosmwasm-stargate: Change default multiplier for gas
simulation from 1.3 to 1.4 to avoid out of case cases starting with Cosmos SDK
0.47.
## [0.31.0] - 2023-06-22
### Fixed

View File

@ -95,7 +95,7 @@ const client = await SigningStargateClient.connectWithSigner(rpcEndpoint, wallet
},
};
const memo = "With simulate";
const result = await client.signAndBroadcast(account.address, [sendMsg], 1.4, memo);
const result = await client.signAndBroadcast(account.address, [sendMsg], 1.55, memo);
assertIsDeliverTxSuccess(result);
console.log("Successfully broadcasted:", result);
}

View File

@ -604,7 +604,9 @@ export class SigningCosmWasmClient extends CosmWasmClient {
if (fee == "auto" || typeof fee === "number") {
assertDefined(this.gasPrice, "Gas price must be set in the client options when auto gas is used.");
const gasEstimation = await this.simulate(signerAddress, messages, memo);
const multiplier = typeof fee === "number" ? fee : 1.3;
// Starting with Cosmos SDK 0.47, we see many cases in which 1.3 is not enough anymore
// E.g. https://github.com/cosmos/cosmos-sdk/issues/16020
const multiplier = typeof fee === "number" ? fee : 1.4;
usedFee = calculateFee(Math.round(gasEstimation * multiplier), this.gasPrice);
} else {
usedFee = fee;

View File

@ -318,7 +318,9 @@ export class SigningStargateClient extends StargateClient {
if (fee == "auto" || typeof fee === "number") {
assertDefined(this.gasPrice, "Gas price must be set in the client options when auto gas is used.");
const gasEstimation = await this.simulate(signerAddress, messages, memo);
const multiplier = typeof fee === "number" ? fee : 1.3;
// Starting with Cosmos SDK 0.47, we see many cases in which 1.3 is not enough anymore
// E.g. https://github.com/cosmos/cosmos-sdk/issues/16020
const multiplier = typeof fee === "number" ? fee : 1.4;
usedFee = calculateFee(Math.round(gasEstimation * multiplier), this.gasPrice);
} else {
usedFee = fee;