Belinda - 2020-03-23 Added direct disputes and watcher for two-party ledger channels, much polishing (refactors, bug fixes, documentation). - Ledger state channel disputes and watcher. - `channel.Adjudicator` interface and Ethereum implementation for registering channel states and withdrawing concluded channels. - [Ethereum contracts](https://github.com/perun-network/contracts-eth) for disputes - Public [Github wiki](https://github.com/perun-network/go-perun/wiki) - [Godoc](https://pkg.go.dev/perun.network/go-perun) - Changelog - [TravisCI](https://travis-ci.org/perun-network) - [goreportcard](https://goreportcard.com/report/github.com/perun-network/go-perun) - [codeclimate](https://codeclimate.com/github/perun-network/go-perun) - TCP and unix socket `peer.Dialer` and `Listener` implementations. - `Eventually` tester in `pkg/test` to repeatedly run tests until they succeed. - Concurrent testing tool in `pkg/test` to be able to call `require` in tests with multiple go routines. - `client.New` now needs a `Funder` and `Adjudicator`, instead of a `Settler`. - `Serializable` renamed to `Serializer`. - Unified backend imports. - `pkg/io/test/bytewiseReader` to `iotest.OneByteReader`. - Improved peer message handling mechanism. - Consistent handling of `nil` arguments in exported functions. - Many refactors to improve the overall code quality and documentation. - Updated Ethereum contract bindings to newest version. - `wallet.Wallet` interface and `sim` backend implementation - it was never used. - `ethereum` and `sim/wallet.NewAddressFromBytes` - only `wallet.DecodeAddress` should be used to create an `Address` from bytes. - `channel/machine` Phase subscription logic. - `channel.Settler` interface and backend implementations - replaced by `Adjudicator`. - Reduced cyclomatic complexity of complex functions. - Deadlock in two-party payment channel test. - Ethereum backend test timeouts and instabilities. - Many minor bug fixes, mainly concurrency issues in tests.