EVM: integrate FA deposit application behind the feature flag
What
This MR integrates FA deposits into the block application pipeline.
FA deposits are rejected if the FA bridge feature is disabled.
Why
This integration would allow to enable FA deposits in the testnet while the functional is merged into master.
That way we can start doing end to end tests sooner, working in parallel on the tick benchmarks and tezt tests.
How
FA deposits are introduced into the parsing and delayed inbox flow the same way as native tez deposits.
The main differences are:
- FA deposit is represented by a contract call 0x00 -> 0x00 with no value/calldata
- FA deposit has different tick consumption
- FA deposit has different hash calculation mechanism
Manually testing the MR
make test
For running tezt scenarios:
- Go to the tezos repo folder
- Build octez binaries
eval $(opam env)
make build-dev-deps
make
make octez-dsn-node
- Install eth-cli:
npm i -g eth-cli
- Build the kernel
make -f etherlink.mk EVM_KERNEL_FEATURES=debug evm_kernel.wasm
- Run FA deposit tests
dune exec etherlink/tezt/tests/main.exe -- --verbose --keep-temp -f evm_sequencer.ml alpha fa_deposit -i
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