[go: up one dir, main page]

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.rs and another one that test the tezos compatibility
  • A commit that introduce the result of a Transfer in operation result, note that an Empty struct 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 AppliedOperation in a block will statically be correct (currently we can have a Reveal operation with a Transfer receipt 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.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
Edited by Arnaud Bihan

Merge request reports

Loading