Skip to content
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

fix: exceeded prepaid gas error in mirror_erc20_token #951

Merged
merged 1 commit into from
Sep 3, 2024

Conversation

aleksuss
Copy link
Member

@aleksuss aleksuss commented Sep 3, 2024

Description

After some investigation, we realised that the problem was caused by a change in gas costs after switching to near protocol version 66. The change relates to the amount of gas used to load contract data, which was changed from 216750 to 1089295 Gas per byte. The change increases the amount of gas used in the mirror_erc20_token_callback to approximately to 1TGas. So, more than 5TGas is needed now. Thanks to @birchmd for his help with this investigation.

Performance / NEAR gas cost considerations

There are no changes in the performance.

Testing

#950 bumps near-workspace to 0.12, which contains updated near-sandbox 2.1.1. on which the error is reproduced.

How should this be reviewed

Check that the problem no longer reproduces after this commit is included in #950.

@aleksuss aleksuss added this pull request to the merge queue Sep 3, 2024
Merged via the queue into develop with commit 880b2c1 Sep 3, 2024
24 checks passed
@aleksuss aleksuss deleted the fix/aleksuss/mirror_exceeded_gas branch September 3, 2024 12:41
aleksuss added a commit that referenced this pull request Oct 10, 2024
## Description

After some investigation, we realised that the problem was caused by a
change in gas costs after switching to near protocol version 66. The
change relates to the amount of gas used to load contract data, which
was
[changed](https://github.com/near/nearcore/blob/master/core/parameters/res/runtime_configs/66.yaml#L15)
from 216750 to 1089295 Gas per byte. The change increases the amount of
gas used in the `mirror_erc20_token_callback` to approximately to 1TGas.
So, more than 5TGas is needed now. Thanks to @birchmd for his help with
this investigation.

## Performance / NEAR gas cost considerations

There are no changes in the performance.

## Testing

#950 bumps `near-workspace` to 0.12, which contains updated
`near-sandbox` 2.1.1. on which the error is reproduced.

## How should this be reviewed

Check that the problem no longer reproduces after this commit is
included in #950.
@aleksuss aleksuss mentioned this pull request Oct 10, 2024
aleksuss added a commit that referenced this pull request Oct 10, 2024
### Additions

- Added support of CANCUN hardfork by [@mrLSD]. ([#926])
- Added support of EIP-3607 by [@mrLSD]. ([#930])
- Removed restrictions from funding XCC sub-accounts by [@birchmd].
([#931])

### Changes

- Made some EVM gas costs optimisations by [@mrLSD]. ([#934])
- Refactored the gas charge logic form EVM exit reasons by [@mrLSD].
([#935])
- Updated some dependencies and rust-toolchain by [@mrLSD]. ([#936])
- Removed unused `bytes_to_hex` function by [@dwiekawki]. ([#942])
- Added building of actual version of the `near-sandbox` in the
scheduled CI job by [@aleksuss] ([#950])

### Fixes

- Removed duplicated `test` task in the `README.md` by [@dwiekawki].
([#943])
- Fixed some typos in the `README.md` and `Cargo.toml` by [@DemoYeti].
([#945]) ([#946])
- Fixed exceeded prepaid gas error in the `mirror_erc20_token`
transaction by [@aleksuss] ([#951])
- Modified `hardhat.config.js` to support contract verification by
[@spilin] ([#958])

[#926]: #926
[#930]: #930
[#931]: #931
[#934]: #934
[#935]: #935
[#936]: #936
[#942]: #942
[#943]: #943
[#945]: #945
[#946]: #946
[#950]: #950
[#951]: #951
[#958]: #958

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Michael Birch <[email protected]>
Co-authored-by: Evgeny Ukhanov <[email protected]>
Co-authored-by: dwiekawki <[email protected]>
Co-authored-by: dwiekawki <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DemoYeti <[email protected]>
Co-authored-by: spilin <[email protected]>
aleksuss added a commit that referenced this pull request Oct 10, 2024
### Additions

- Added support of CANCUN hardfork by [@mrLSD]. ([#926])
- Added support of EIP-3607 by [@mrLSD]. ([#930])
- Removed restrictions from funding XCC sub-accounts by [@birchmd].
([#931])

### Changes

- Made some EVM gas costs optimisations by [@mrLSD]. ([#934])
- Refactored the gas charge logic form EVM exit reasons by [@mrLSD].
([#935])
- Updated some dependencies and rust-toolchain by [@mrLSD]. ([#936])
- Removed unused `bytes_to_hex` function by [@dwiekawki]. ([#942])
- Added building of actual version of the `near-sandbox` in the
scheduled CI job by [@aleksuss] ([#950])

### Fixes

- Removed duplicated `test` task in the `README.md` by [@dwiekawki].
([#943])
- Fixed some typos in the `README.md` and `Cargo.toml` by [@DemoYeti].
([#945]) ([#946])
- Fixed exceeded prepaid gas error in the `mirror_erc20_token`
transaction by [@aleksuss] ([#951])
- Modified `hardhat.config.js` to support contract verification by
[@spilin] ([#958])

[#926]: #926
[#930]: #930
[#931]: #931
[#934]: #934
[#935]: #935
[#936]: #936
[#942]: #942
[#943]: #943
[#945]: #945
[#946]: #946
[#950]: #950
[#951]: #951
[#958]: #958

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Michael Birch <[email protected]>
Co-authored-by: Evgeny Ukhanov <[email protected]>
Co-authored-by: dwiekawki <[email protected]>
Co-authored-by: dwiekawki <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DemoYeti <[email protected]>
Co-authored-by: spilin <[email protected]>
aleksuss added a commit that referenced this pull request Oct 10, 2024
### Additions

- Added support of CANCUN hardfork by [@mrLSD]. ([#926])
- Added support of EIP-3607 by [@mrLSD]. ([#930])
- Removed restrictions from funding XCC sub-accounts by [@birchmd].
([#931])

### Changes

- Made some EVM gas costs optimisations by [@mrLSD]. ([#934])
- Refactored the gas charge logic form EVM exit reasons by [@mrLSD].
([#935])
- Updated some dependencies and rust-toolchain by [@mrLSD]. ([#936])
- Removed unused `bytes_to_hex` function by [@dwiekawki]. ([#942])
- Added building of actual version of the `near-sandbox` in the
scheduled CI job by [@aleksuss] ([#950])

### Fixes

- Removed duplicated `test` task in the `README.md` by [@dwiekawki].
([#943])
- Fixed some typos in the `README.md` and `Cargo.toml` by [@DemoYeti].
([#945]) ([#946])
- Fixed exceeded prepaid gas error in the `mirror_erc20_token`
transaction by [@aleksuss] ([#951])
- Modified `hardhat.config.js` to support contract verification by
[@spilin] ([#958])

[#926]: #926
[#930]: #930
[#931]: #931
[#934]: #934
[#935]: #935
[#936]: #936
[#942]: #942
[#943]: #943
[#945]: #945
[#946]: #946
[#950]: #950
[#951]: #951
[#958]: #958

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Michael Birch <[email protected]>
Co-authored-by: Evgeny Ukhanov <[email protected]>
Co-authored-by: dwiekawki <[email protected]>
Co-authored-by: dwiekawki <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DemoYeti <[email protected]>
Co-authored-by: spilin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants