0.12.0
Pre-releaseRelease focusing on changes to the L2 protocol, ensuring authenticated messages and removing redundancy of submitted transactions. Performance improvements on persistence and communicated network messages are expected in this release. Adds several endpoints to the API and removes the internal commit via websockets feature. Last, but not least, this release contains several security fixes.
Warning
There are several known issues, which are explained in the documentation.
Built artifacts
Hydra Scripts
Transaction IDs to be used as --hydra-scripts-tx-id
when running hydra-node
on the following networks:
-
preview
:4793d318ec98741c0eebff7c62af6389a860c6e51c4fa1961cc5b7eab5a46f58
checked in smoke test #126 -
preprod
:02aa4c107cab6b541d6f12cda9604b1164a3d5b14dd96c3b6057bcf6c2ab2ccd
checked in smoke test #127 -
mainnet
:eb4c5f213ffb646046cf1d3543ae240ac922deccdc99826edd9af8ad52ddb877
checked in smoke test #128
This release contains breaking changes of the persistence and on-chain scripts
and you'll need to apply the following procedure to upgrade all the nodes
running a head:
- Close the head
- Stop
hydra-node
- Remove persistent files stored in
--persistence-dir
, in particular
server-output
andstate
- Upgrade
hydra-node
version - Upgrade
cardano-node
version to8.1.2
- Start new
hydra-node
version with new--hydra-scriptx-tx-id
- Open a new head
-
BREAKING Support new cardano-node version 8.1.2 #1015
-
Updated chain client and internal (layer 2) ledger versions to support the
new cardano-node versions. No direct impact on hydra clients expected. -
The JSON encoding of transaction as used at the
hydra-node
API changed
slightly. Verification key witnesses (keys
fieldwitnesses
) are not
double wrapped cbor arrays anymore. Do not rely on this serialization as we
will change this again into a more "cardanonical" form. Alternative: Use
cbor=true
query parameter to receive full CBOR encoded transactions. -
The last stable cardano-node version 1.35.7 is not compatible anymore.
-
-
BREAKING Remove the DEPRECATED
Commit
websocket command to commit
funds held by thehydra-node
internal wallet. Use the external commit feature
instead. Also rename theErrNoFuelUTxOFound
toErrNoUTxOFound
. #1018 -
BREAKING Changes to Hydra scripts due to upgrading our plutus version and
toolchain to GHC 9.2.8. #1005 -
BREAKING Change persisted state to be a sequence of events instead #999. This
increases the performance of thehydra-node
as less data needs to be written
and prepares internal architecture for more event-sourced improvements. -
BREAKING Introduce authenticated network messages #965:
- Peers will sign messages before broadcasting them to other peers,
and verify signature of received messages is from a known party
and of course valid.
- Peers will sign messages before broadcasting them to other peers,
-
BREAKING Layer 2 protocol change:
- Wait for all transactions requested in a snapshot to be seen before
acknowledging it, and only send transaction ids in snapshot requests #904.
- Wait for all transactions requested in a snapshot to be seen before
-
Enhanced
hydra-node
api. -
Fixed a bug in
hydra-node
(on-chain protocol not affected) where
multisignature verification would silently ignore certain keys in case the
list of verification keys is not of same length as the list of signatures. -
Fixed a bug in the
hydra-tui
dialogs where recipient and UTxO to spend where
not correctly selected #1025. -
BREAKING Changes to
hydra-cardano-api
#1015:- Drop
UsingRawBytesHex
as it is available upstream incardano-api
now. - Remove
totalExecutionCost
ascardano-ledger
providesgetMinFeeTx
now. - Add
BundledProtocolParameters
pattern for latestEra
toHydra.Cardano.Api
. - Add
ledgerEraVersion
for the latestEra
en-/decoder version. - Change
minUTxOValue
to takeBundledProtocolParameters
. - Add
fromLedgerMultiAsset
helper as transactions onlymint
MultiAsset
.
- Drop
-
Created
hydra-plutus-extras
package to re-use some utilities better between
packages #1016.Full Changelog: 0.11.0...0.12.0
New Contributors
- @locallycompact made their first contribution by cutting this release
- @james-iohk made their first contribution in #992
- @nebojsa-io made their first contribution in #964
Other contributors to this release: @abailly-iohk @ch1bo @v0d1ch @ffakenz @pgrange