Week #18 - Aeternity Protocol Development Update

Another update on core dev team activities that took place during the last two weeks (weeks 17-18).

Generalized Accounts

The team have finished the implementation of generalized accounts, including the necessary updates to the HTTP APIs that returns account information and transaction info. We have also limited what can be done in the GA authorization function (no calls to other contracts, no chain interaction, etc) in order to reduce the base fee for GA transactions. Test coverage has also been increased.

FATE Virtual Machine

The team was adding all the chain objects to FATE and working on the Sophia to FATE compiler.

State Channels

Following tasks were accomplished by the state channels team:

  • finished on-chain representation of off-chain updates’ basing on on-chain environment,
  • optimized heavily the off-chain updates based environment with moving it to the noise session instead,
  • implemented the test for checking the off-chain calling of contracts using on-chain data,
  • significant optimization of the off-chain transactions with moving their related updates to the noise implementation; This has reduced memory footprint of off-chain payload to be provided on-chain in disputes (still in work-in-progress),
  • refactored State Channnels’ Finite State Machine in order to accommodate solo closing and disputing flows; Handled even more unexpected corner cases regarding long on-chain forks that invalidate the off-chain state.

Block Reward Initiative

Part of core team focused on the new initiative which is reward split. We implemented the mechanism that lets operate reward split and configure recipient addresses, and split ratios. Majority of effort went to fixing and stabilising tests. it is especially important as this is protocol protected functionality.