State Channels bi-weekly development update - early September 2019

This is a bi-weekly update of all things concerning the protocol design and
reference implementation of State Channels.

Thanks to the SC contributors @Dimitar.Ivanov, @ulf.wiger,
@gorbak25, @Aleksandar and @bot.

Thanks to the aepp developers @dave and @hernandp who have provided
invaluable feedback in respect to real-world usage of State Channels
which has led to some of the changes mentioned in this report.

The previous report was Late August 2019.

Fix field name in protocol documentation

Design: PR #407

The documentation had slightly diverged from the implementation
which was fixed.

Change configuration option name ws_handlers to sc_ws_handlers

Implementation: PR #2739

The new name already existed, but wasn’t used. Instead the
previous name was used, which is misleading to the user as it
implied a general limit.

Refactor and add state channel tests

Implementation: PR #2671, PR #2694

In preparation for PR #2630 the system tests have been refactored
and extended to support the modified DB migration logic.

Moreover, additional tests were added to make sure a malicious
Force Progress transaction containing the new AEVM or
contract serialization will not be accepted on-chain pre-Lima.

Add meta update object to SC off-chain updates

Design: work in progress, see PT-168336006
Implementation: PR #2636

A client may add a metadata field meta to off-chain update operations
(for now transfer only) which can be used to attach any information unrelated
to the protocol to such an update.

Improve client protocol error handling in SC FSMs

Design: PR #412
Implementation: PR #2737

This has been a massive improvment on how protocol errors are handled in the FSMs.
As a result more errors are handled gracefully with the FSMs staying alive and
clients will receive better error responses.

Moreover, a couple of issues reported by @dave and @hernandp were fixed in the process.

State Channel UAT Test Suite

Implementation: PR #6, PR #7, PR #8, PR #9, PR #10, PR #11

The test suite is progressing fast as it has to catch up continuously with the changes in the SC features.
It is already being used to verify that certain bug-fixes work for clients.

Interesting forum discussions

As already mentioned earlier these discussions were mostly initiated by @dave and @hernandp. Some are not yet resolved but still valuable insight.