Tezlink/Kernel: Introduce Transaction and implement simple transfer of Mutez in Tezlink
What
Handle transfer in Tezlink kernel
How
- Three simple commit that just modify the kernel without changing the behavior
- A commit that introduce the Transfer in
operation.rsand another one that test the tezos compatibility - A commit that introduce the result of a Transfer in operation result, note that an
Emptystruct was introduced to derive NomReader and BinWriter in the result. (as unit can't be derived for NomReader and BinWriter for now) - A commit to dispatch errors between Operation, RevealError and TransferError, I think that it will be useful in the futur to be sure that an
AppliedOperationin a block will statically be correct (currently we can have aRevealoperation with aTransferreceipt as this is nor checked statically) - A commit that introduce the behavior of a Transfer, note that the behavior has been split in two functions, the function apply_transfer should be useful when introducing transfer between smart contract
- The two last commit are testing, note that there's unfortunately a duplication of the helping function to create an operation for the test. This is due to the fact that we can't export what is under
#[cfg(test)]between crate (if I'm not mistaken)
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.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 Arnaud Bihan