Hydra
← All updates

Week 38 · 2026

Sep 14 – Sep 20, 2026 · gathered Sep 21, 2026

5
PRs merged
1
PRs opened
0
Closed
0
Opened
0
Releases
2
Repos
37
Commits
2
Comments

Highlights

5 PRs merged, 1 opened and 37 commits across two repos, with no releases and no issue activity. Two of the five merges are last week's leftovers, described then; the other three are a script regen, a fund-lockout fix, and a CI test-runner change. The one PR opened this week also merged before the week closed.

Reactive. The compiled head validator script was regenerated Monday (#2872), a two-line hash bump; the PR benchmarks found no cost or size differences, so nothing behavioural changed.

We focused on a user-reported issue this week: A user depositing two UTxOs into an open head through the Mesh SDK's incrementalCommitFunds found neither reflected on L2 after three hours, and both gone from their L1 wallet, sitting unspendable at the deposit script (#2871). The cause sits in coverFee: when a deposit's own value didn't cover the min ADA of its output, coverFee topped the output up but left the inline datum, which records the deposited outputs, at the original value, so observeDepositTx's value-versus-datum check rejected the deposit and the node never observed it. The fix (#2873) runs observeDepositTx against the finalized draft before submission and fails fast with a new DepositTooLow{providedValue, minimumValue} error naming the shortfall, and splits decodeDepositDatum out of the observer so hydra-tx recover can decode already-stuck deposits for manual recovery. Left as follow-ups: the blueprint path still tops up from node fuel rather than the output itself, and Arbitrary HeadId generates 16-byte values against a 28-byte policy id. Merged Tuesday.

Both PRs described last week also merged: the fanout full-selection guard (#2858) on Tuesday, and the adversarial model testing suite (#2864) on Wednesday.

The rest of the week went into test infrastructure. nix flake check now runs the Haskell test suites for hydra-node, hydra-tx, hydra-chain-observer, hydra-plutus-extras, hydra-plutus and hydra-agda (#2874, merged Friday); hydra-cluster stays excluded because its tests spin up real programs, and hydra-tui because it needs vty. Opened and merged the same day, 13 end-to-end tests that each started a real Cardano node and real Hydra nodes were replaced with 30 unit tests checking the same logic directly, cutting roughly 114 seconds of test time to about 1.3 seconds (#2875). Writing the replacements surfaced four things the slow tests had only exercised by accident: the per-address client filter, the pending-deposits list on the API, two read models behind the commit endpoint and network status, and, the biggest gap, all 39 cases of which internal events reach clients and in what form, untested because every prior test built its own expectations through that same code. A docs claim that the address filter applies to TxValid and TxInvalid was also corrected (it doesn't), and CommitInfo gained Eq/Show so a test could compare it.

KPI & Outcome Achievement (M6). Routine only: the W37 note published.

Activity

Merged PRs, issues, and releases grouped by deliverable — the evidence behind the narrative above.

Other / Reactive

35 commits · cardano-scaling/hydra

2 commits · cardano-scaling/hydra-updates