EVM: Add ticket table to account for FA deposits
What
This MR introduces a global ticket table.
It maintains a ledger that tracks ownership of deposited tickets. Any EVM account can be ticket owner, whether it's EOA or smart contract.
Also this PR changes the way FA bridge sources are organized: instead of a separate crate it's now a sub-crate of EVM execution.
How
Ticket table is implemented as a EVM account extension so that it can be used within a storage transaction (i.e. rolled back in case of a failure).
Manually testing the MR
To build and test
cd etherlink/kernel_evm
make all
or at the level of the entire repository:
make -f etherlink.mk all
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.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Michael Zaikin