EVM: add FA deposit structure and helper methods
What
This MR introduces FaDeposit structure that represents ticket transfer from L1 to L2 (for all ticketers except for the one responsible for native token - tez).
It also introduces module specific FaBridgeError and a couple of utility functions.
Why
FA deposit encapsulates all the necessary information (including inbox level & message ID) and preserves it through the delayed inbox so that it can later be processed and the respective changes in the ticket table are made.
How
This MR does not introduce breaking changes nor modify the kernel execution/validation - all the new functional is standalone.
Manually testing the MR
make test
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