-
Notifications
You must be signed in to change notification settings - Fork 82
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
Increase NEAR Gas for ft_on_transfer #389
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't the solution that was shown.
Please also describe the rational and the solution to the issue outlined in #381. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Looks pretty good to me. I think we should use a more descriptive variable name than simply gas
and I think we should have a constant for the default prepaid gas value (mostly used in the standalone engine), and after that it should be good to go
Co-authored-by: Michael Birch <[email protected]>
Co-authored-by: Michael Birch <[email protected]>
Co-authored-by: Michael Birch <[email protected]>
Co-authored-by: Michael Birch <[email protected]>
Co-authored-by: Michael Birch <[email protected]>
…is-near/aurora-engine into feat/ft-on-trasnfer-increase-gas
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Almost there!
Co-authored-by: Michael Birch <[email protected]>
…is-near/aurora-engine into feat/ft-on-trasnfer-increase-gas
I changed to We should decide carefully that value. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Nice work
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me here.
Please squash & rebase so that I can merge. Thanks. |
* Feat(engine): London hard fork support (#244) * Fix(exit precompile): Address to refund in case of error is an argument (#311) * Feat(engine): Make engine parametric in storage access (#314) * Test verifying the EVM log returns the correct address (#341) * Remove sdk::current_account_id usage from engine-precompiles (#346) * Remove Default trait bound from engine IO (#342) * Remove some sdk usage from core logic (#347) * Factor out blockchain environment variable access as a trait (#349) * Factor out NEAR promise host functions into a trait (#353) * Borsh deserialized value field for call args (#351) * Refactor(eth-connector): Use Result return values instead of panicking (#355) * Gate all NEAR host functions behind the contract feature (#356) * Bump @openzeppelin/contracts from 4.3.2 to 4.3.3 in /etc/eth-contracts * Chore: Newtypes for gas (#344) * Feat(standalone): Standalone (#345) * Minor fixes to sdk refactor (#359) * Refactor(engine): Move submit logic into engine module (#366) * Feat(standalone): Storage backend (#375) * NEAR random numbers from solidity contract (#368) * Feat(standalone): EVM tracing via SputnikVM (#383) * Feat(standalone): Bootstrap storage from relayer and state snapshots (#379) * Feat(standalone): Structures and logic for keeping storage in sync with the blockchain (#382) * Feat(standalone): Capture geth-like tracing from SputnikVM events (#384) * Connector cleanup (#374) * Remove betanet * Fix(engine): original_storage bug fix; more tracing tests (#390) * Increase NEAR Gas for ft_on_transfer (#389) Co-authored-by: Andrew Bednoff <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Evgeny Ukhanov <[email protected]> Co-authored-by: Marcelo Fornet <[email protected]> Co-authored-by: Michael Birch <[email protected]>
PR related to the issue: #381
Increased NEAR Gas:
deposit
to 80 Tgasft_on_transfer
30 TGasSolution
The main solution is not to fix the amount of gas for promise call
ft_on_transfer
. For this, a formula is introduced according to which we can use more gas, depending on how much gas was initially released.GAS_FOR_FT_ON_TRANSFER = prepaid_gas - GAS_FOR_FT_TRANSFER_CALL - GAS_FOR_RESOLVE_TRASNFER
prepaid_gas
GAS_FOR_FT_TRANSFER_CALL = 35 TGas
. This constant indicates how much gas is allocated to make a callft_transfer_call
.promise, a formula for gas counting has been introduced:
GAS_FOR_FT_ON_TRANSFER = prepaid_gas - GAS_FOR_FT_TRANSFER_CALL - GAS_FOR_RESOLVE_TRASNFER`This will allow the use of dedicated gas for this method.