Skip to content

Ganymede

Pre-release
Pre-release
Compare
Choose a tag to compare
@matthiasgeihs matthiasgeihs released this 14 Jul 16:22
1fc30ba

Virtual channels. And some other additions.

Added ✨

  • Virtual Channels (#83, #114, #119, #123): Go-perun now supports virtual channels. A virtual channel is a channel that is funded and settled completely off-chain and therefore does not incur any on-chain transaction fees.
  • Generic event subscription (#36, #86, #89, #94): In preparation for implementing a reorg-resistant event subscription, we implemented a generic event subscription that can be used across the whole library.
  • Tutorial announcement (c8cff7cb): We now have a developer tutorial at http://tutorial.perun.network.
  • Named errors (429a8934, #10, #11, #26, #34, #80): Specific error types help the library user to identify the cause of an error.
  • Register asset at runtime #124: It is now possible to add assets to the Eth funder at runtime.
  • Gatherer.OnFail (e3729a6a),
    Test wallet (12c78d33),
    GitHub CI (#3),
    ConcurrentT.WaitCtx (#112),
    Eth sim backend auto mining (#104)

Changed 🚧

  • [:boom:] Asset holder validation (#111): Asset holder validation does no longer include adjudicator validation.
  • Current state in HandleUpdate #33: The update handler now receives the current channel state as a parameter.
  • Funder usability #74: Streamlined Eth funder setup.
  • 2021 updates (2212847d),
    Update generate script (3f81e47c),
    Update links to HLL (#6),
    Update security disclaimer (#14, #51),
    Delete gitlab templates (#24),
    Dependency update (#30),
    Document parameters of NewLedgerChannelProposal (#43),
    CI speed-up (#44),
    Refactor Eth channel errors (#88),
    Log message type (#96)

Fixed 🐛

  • Cache first channel update (#4, #129): Fixes a bug where a client receives channel messages before completing the channel setup.

  • Subchannel off-chain settlement #59: Sub-channels had to be disputed on-chain before they could be settled. Sub-channels can now be collaboratively settled off-chain.

  • ERC20 depositor nonce mismatch #134: Fixes an issue where the ERC20 depositor sometimes was not incrementing the transaction nonce correctly.

  • Unitialized funder variable (af207adb),
    EndpointRegistry retry and timeout (28e535bb),
    Watcher return (cf9279c9),
    Thread-safe test wallet #17,
    Withdraw variable capture #50,
    NewRandomLedgerChannelProposal consistency #55,
    Enable logging per default in package client #66,
    Stabilize BlockTimeout test #90,
    Fix state hash test #120,
    Ensure custom error progagation #126

Security 🔒

  • Ensure correct params ID after deserialization #60: Parameter deserialization did not assert that the encoded channel ID is correct. This is now fixed.
  • Signature verification for sub-channel funding and settlement #61: Sub-channel funding and settlement requires an automated update in the parent channel. The signatures on that automated update were not correctly verified. This is now fixed.