0.4.0
Pre-release
Pre-release
Added
- Our user manual 📖 is now available! It includes installation and usage instructions, a full API reference and also a knowledge base about Hydra concepts. The manual will be an ever-evolving source of documentation that we'll maintain alongside the project.ndividual Head instances #180.
- Mint and burn state token used to thread state across the OCV state machine, and participation tokens for each party in the head #181
- Provide (mandatory) command-line options
--ledger-genesis
and--ledger-protocol-parameters
to configure the ledger that runs inside a head. Options are provided as filepath to JSON files which match formats fromcardano-cli
andcardano-node
#180.ano-api](https://github.com/input-output-hk/cardano-node/tree/master/cardano-api#cardano-api) specialized to the latest Cardano's era, and with useful extra utility functions.
Changed
--network-magic
option for thehydra-node
andhydra-tui
has been changed to--network-id
. Also, thehydra-tui
command-line used to default to mainnet when not provided with any--network-magic
option, it doesn't anymore,--network-id
is mandatory. #180- Optimize the
CollectCom
transition of the on-chain Hydra contract to allow collecting commits from more than 2 parties! #254 - Use a faucet to distribute funds in test suites and the
demo/
setup. - Internally, better decouple the management of the on-chain head state from the network component. While not visible to the end user, this improvement paves the way for better handling rollbacks and on-chain "instability" of newly posted transactions. #184
- Internally, improved and consolidate generators used for property-based testing to cover a wider range of cases, be more consistent and also faster (avoiding to generate too large nested data-structures).
Fixed
Hydra.Network.Ouroboros
not using hard-coded valency values anymore to allow more than 7 peer connections #203.- Build issues due to explicit packages list in nix shell #223.
hydra-tui
to show form focus, indicate invalid fields in dialogs and only allow valid values to be submitted #224.- Repaired benchmarks and improved collected metrics; in particular, benchmarks now collect CPU usage and provide average confirmation times over 5s windows.
- Fixed a bug in the Fanout transaction scheduling and submission where clients would attempt to post a fanout transaction before a 'Close' transaction is even observed. Now, every participant of the head will attempt to post a fanout a transaction after they successfully observed a transaction. Of course, the layer 1 will enforce that only one fanout is posted #279.
Known Issues
- Only no or one utxo can be committed to a Head.
- Recipient addresses to send money to in the TUI are inferred from the current UTXO set. If a party does not commit a UTXO or consumes all its UTXO in a Head, it won't be able to send or receive anything anymore.
- TUI crashes when user tries to post a new transaction without any UTXO remaining.
- The internal wallet of hydra-node requires a UTXO to be marked as "fuel" to drive the Hydra protocol transactions. See user manual.
- Aborting a head with more than 2 participants (i.e.
> 2
) requires increase in tx size limit over current mainchain parameters to ~20KB. - Head can collect at most 3 commits and each party can commit either 1 or 0 UTXO to a Head.
- The head cannot be finalized if holding more than ~100 assets (or ~50 ada-only UTxO entries) with the standard tx size of 16KB.