Description
Describe the bug
I'm creating an issue for a delegator who was having problems migrating stake to Arbitrum. See the full conversation here: https://discord.com/channels/423160867534929930/436978697917038596/1053277505487908934
When trying to approve the migration, the user received this message:
cannot estimate gas; transaction may fail or may require manual gas limit [ See: https://links.ethers.org/v5-errors-UNPREDICTABLE_GAS_LIMIT ] (reason="execut
5EC0
ion reverted", method="estimateGas", transaction={"from":"0x711cd20bF6b436ced327A8C65A14491aA04c2ca1","to":"0x21146B872D3A95d2cF9afeD03eE5a783DaE9A89A","value":{"type":"BigNumber","hex":"0x0abb66cef000"},"data":"0x28293d51000000000000000000000000711cd20bf6b436ced327a8c65a14491aa04c2ca1000000000000000000000000711cd20bf6b436ced327a8c65a14491aa04c2ca100000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000186200000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000000000000000000000000000000001a6134cd000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","accessList":null}, error={"code":-32603,"message":"execution reverted","data":{"originalError":{"code":3,"data":"0xfadf238a00000000000000000000000000000000000000000000000000002aa47ac72510000000000000000000000000000000000000000000000000000001a6134cd000","message":"execution reverted"}}}, code=UNPREDICTABLE_GAS_LIMIT, version=providers/5.6.8)
Here's a link to a full transaction:
https://etherscan.io/tx/0x2caa373d568cf5fb5b67fd8efbe3959bbaab7ad5dd07a5fc66d8186c2d14afd3
According to the user,
"there are two sets of gas fees, one for ethereum and one for arbitum. For some reason the one for arbitum are estimated wrong. Here is my tx where I correctly caluated the parameters
https://etherscan.io/tx/0x2aa03f52b865882c387ad97ccdd658779f7b62dbf628605bb4d0ee28cb5b1b3b
the main thing is to correct _maxSubissionCost
here is how you do it
{function calculateRetryableSubmissionFee(dataLength, baseFee) {
return (1400 + 6 * dataLength) * baseFee
}"