-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Interchaintest v4 does not use gas adjustment from chain spec when executing transaction #482
Comments
The issue here I have discovered is that interchaintest uses the gasAdjustment := 2.0
factory := interchaintest.NewBuiltinChainFactory(
zaptest.NewLogger(t),
[]*interchaintest.ChainSpec{
{
Name: "juno",
ChainName: "juno1",
Version: "latest",
GasAdjustment: &gasAdjustment,
ChainConfig: ibc.ChainConfig{
Denom: "ujuno",
GasPrices: "0.00ujuno",
EncodingConfig: wasm.WasmEncoding(),
},
},
{
Name: "juno",
ChainName: "juno2",
Version: "latest",
GasAdjustment: &gasAdjustment,
ChainConfig: ibc.ChainConfig{
Denom: "ujuno",
GasPrices: "0.00ujuno",
EncodingConfig: wasm.WasmEncoding(),
},
},
},
) There is a separate-but-related issue that intercahintest does not set |
We don't want Rather, we want to follow this approach that @boojamya has in a branch. He'll follow up here. |
Hey @0xekez, You bring up a lot of good points in this issue. To get you past this problem see: Which brings up another good point. It is indeed confusing that Lastly, do you have any insight as to why the query for listing the instances of a code ID returns an empty list ( |
for the case in this issue, I think that happens because instantiation errors and no contract is created. for whatever reason, instantiation erroring doesn't return an error here which causes the problem iirc. |
#621 ^^ should fix the last remaining issue brought up here around error handling in the |
To reproduce, check out the
zeke/gas-limits
branch and runjust integrationtest
.Note that the chain config used sets gas price and adjustment values:
But that in test output those values are not used. For example, when instantiating a contract the log output contains:
Note specifically:
--gas-adjustment 1.3
in the output which differs from the gas adjustment specified in the configuration.As always, it's totally possible I'm just doing this wrong. Thanks for your time!
another small thing, the contract instantiation running out of gas does not cause the expected error as
ExecTx
does not error. Instead, the query for listing the instances of a code ID returns an empty list and the error printed to the console ispanic: runtime error: index out of range [-1]
while indexing into the code ID list which has a length of zero. you can confirm that the error occuring is an out of gas error only by modifying the interchain test code to print the transaction output ofExecTx
like so:The text was updated successfully, but these errors were encountered: