[go: up one dir, main page]

EVM/Kernel: simulation uses a 0 transfer instead of null

What

When you make a call to the simulation, you might specify a value. The value can be absent and it sends None to run_transaction. However, if you read EVM specification, calls that has None as transfer (and not Some(0)) are very specific kind of calls (e.g. delegatecall, staticcall etc.).

Please before approving check that this statement is true.

Why

I made it explicit that a fa bridge withdrawal refuses a None transfer in !14950 (merged), and one test fail because of the gas estimation revert.

How

Changes the kernel to default to Some(0) if value is not provided. Changes the node to do the same. The changes is done in the node itself so it works on mainnet and testnet.

Manually testing the MR

Checklist

  • Document the interface of any function added or modified (see the coding guidelines)
  • Document any change to the user interface, including configuration parameters (see node configuration)
  • Provide automatic testing (see the testing guide).
  • For new features and bug fixes, add an item in the appropriate changelog (docs/protocols/alpha.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR
Edited by Valentin Chaboche

Merge request reports

Loading