This is a bi-weekly update of all things concerning the protocol design and
reference implementation of State Channels.
The focus of the current iteration is the hardening of the implementation. Thus
there is lots of work on the test suites and a new test approach.
Thanks to the SC contributors @dimitar.chain, @uwiger,
@gorbak25, @aleksandar.chain and @bot.
Thanks to Thomas Arts who helped getting the team started on using
property-based testing via Quickcheck to further harden the
implementation.
The previous report was End of September 2019.
Port of AE Universe Demo Changes to master
Implementation: PR #2801
The accumulated changes which were previously made to a dedicated branch have
been ported to the master
branch. Thus the next minor release v5.1.0
will
include these changes. For more information on these changes take a look at the
report from End of September 2019.
System Test Hardening
Implementation: PR #2832, PR #2865, PR #2905
The aeternity project runs a set of long-running system tests to stress test the
latest master
branch. We’ve identified a few bugs in the test setup as well as
actual bugs in the implementation which have been dealt with. The result are
more stable system tests which indicate a stabilized implementation.
Integration Test Improvements
Implementation: PR #2810, PR #2824, PR #2827, PR #2838, PR #2844, PR #2875
The integration tests are continuously being improved. More tests were added and
existing tests modified to improve coverage and fix incorrect assumptions. Most
changes have also led to simple bug-fixes in the process.
Refactor FSM message log and ensure early start of chain watcher
Implementation: PR #2872, PR #2879
The order of log messages has been fixed. Moreover, the requirement, that the
chain watcher is started before performing actions which depend on it, is
handled by providing a helper function to ensure the ordering. This prevents
race conditions which were seen before.
Fix client re-establish notification when connecting to existing channel
Issue: #2854
Implementation: PR #2902
The channel_id
was missing in the report which was confusing and required
clients to wait longer for the id to be known. This has been fixed.
Unify the WS and FSM client messages
Implementation: PR #2833
This PR unifies the info reports sent from the WS client and the FSM.
This results in a reduction of the amount of data copied between processes
when opening a channel and removes gproc from the FSM suite when opening a channel.
State Channel UAT Test Suite
Implementation: PR #15, PR #16, PR #18
The UAT has moved towards using the ExUnit
testing framework which is a
pre-requisite for setting up CI. The goal is to keep the UAT and feedback from
it as close to the aeternity master
branch as possible as well as offload
@aleksandar.chain from having to run the UAT manually.
Moreover, the further development of the UAT has been specified in issues on Github,
so anybody is welcome to chime in and comment.
Any other interesting bits
Implementation: PR #2825