[go: up one dir, main page]

EVM/Kernel: fail on FA withdrawal if there's no transfer object

What

Fails on the FA withdrawal precompiled contract if the transfer object is missing

Why

"Normal" calls in the EVM execution will always put a Transfer object, with no value if necessary. But other kind of calls, static, delegate and all do not provide a Transfer object, and we don't want to allow these kind of calls to do withdrawals.

To be honest it's already enforced by the code as we check for staticcall, and delegate call above, but this condition is inconsistent so let's just fix it.

How

Just swap a condition

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

Merge request reports

Loading