Update documentation due to directly open heads
Home /
Input Output /
hydra
Mar 12, 8-9 AM (1)
Mar 12, 9-10 AM (2)
Mar 12, 10-11 AM (23)
Mar 12, 11-12 PM (3)
Mar 12, 12-1 PM (0)
Mar 12, 1-2 PM (2)
Mar 12, 2-3 PM (0)
Mar 12, 3-4 PM (0)
Mar 12, 4-5 PM (0)
Mar 12, 5-6 PM (0)
Mar 12, 6-7 PM (0)
Mar 12, 7-8 PM (0)
Mar 12, 8-9 PM (0)
Mar 12, 9-10 PM (0)
Mar 12, 10-11 PM (0)
Mar 12, 11-12 AM (0)
Mar 13, 12-1 AM (0)
Mar 13, 1-2 AM (0)
Mar 13, 2-3 AM (0)
Mar 13, 3-4 AM (0)
Mar 13, 4-5 AM (0)
Mar 13, 5-6 AM (0)
Mar 13, 6-7 AM (0)
Mar 13, 7-8 AM (1)
Mar 13, 8-9 AM (0)
Mar 13, 9-10 AM (0)
Mar 13, 10-11 AM (0)
Mar 13, 11-12 PM (0)
Mar 13, 12-1 PM (4)
Mar 13, 1-2 PM (1)
Mar 13, 2-3 PM (0)
Mar 13, 3-4 PM (0)
Mar 13, 4-5 PM (0)
Mar 13, 5-6 PM (0)
Mar 13, 6-7 PM (0)
Mar 13, 7-8 PM (0)
Mar 13, 8-9 PM (0)
Mar 13, 9-10 PM (0)
Mar 13, 10-11 PM (0)
Mar 13, 11-12 AM (0)
Mar 14, 12-1 AM (0)
Mar 14, 1-2 AM (0)
Mar 14, 2-3 AM (0)
Mar 14, 3-4 AM (0)
Mar 14, 4-5 AM (0)
Mar 14, 5-6 AM (0)
Mar 14, 6-7 AM (0)
Mar 14, 7-8 AM (0)
Mar 14, 8-9 AM (0)
Mar 14, 9-10 AM (0)
Mar 14, 10-11 AM (0)
Mar 14, 11-12 PM (0)
Mar 14, 12-1 PM (0)
Mar 14, 1-2 PM (0)
Mar 14, 2-3 PM (0)
Mar 14, 3-4 PM (0)
Mar 14, 4-5 PM (0)
Mar 14, 5-6 PM (0)
Mar 14, 6-7 PM (0)
Mar 14, 7-8 PM (0)
Mar 14, 8-9 PM (0)
Mar 14, 9-10 PM (0)
Mar 14, 10-11 PM (0)
Mar 14, 11-12 AM (0)
Mar 15, 12-1 AM (0)
Mar 15, 1-2 AM (0)
Mar 15, 2-3 AM (0)
Mar 15, 3-4 AM (0)
Mar 15, 4-5 AM (0)
Mar 15, 5-6 AM (0)
Mar 15, 6-7 AM (0)
Mar 15, 7-8 AM (0)
Mar 15, 8-9 AM (0)
Mar 15, 9-10 AM (0)
Mar 15, 10-11 AM (0)
Mar 15, 11-12 PM (0)
Mar 15, 12-1 PM (1)
Mar 15, 1-2 PM (0)
Mar 15, 2-3 PM (0)
Mar 15, 3-4 PM (0)
Mar 15, 4-5 PM (0)
Mar 15, 5-6 PM (0)
Mar 15, 6-7 PM (0)
Mar 15, 7-8 PM (0)
Mar 15, 8-9 PM (0)
Mar 15, 9-10 PM (0)
Mar 15, 10-11 PM (0)
Mar 15, 11-12 AM (0)
Mar 16, 12-1 AM (0)
Mar 16, 1-2 AM (0)
Mar 16, 2-3 AM (0)
Mar 16, 3-4 AM (0)
Mar 16, 4-5 AM (0)
Mar 16, 5-6 AM (1)
Mar 16, 6-7 AM (0)
Mar 16, 7-8 AM (0)
Mar 16, 8-9 AM (1)
Mar 16, 9-10 AM (1)
Mar 16, 10-11 AM (0)
Mar 16, 11-12 PM (0)
Mar 16, 12-1 PM (0)
Mar 16, 1-2 PM (0)
Mar 16, 2-3 PM (1)
Mar 16, 3-4 PM (31)
Mar 16, 4-5 PM (1)
Mar 16, 5-6 PM (1)
Mar 16, 6-7 PM (41)
Mar 16, 7-8 PM (0)
Mar 16, 8-9 PM (0)
Mar 16, 9-10 PM (0)
Mar 16, 10-11 PM (0)
Mar 16, 11-12 AM (0)
Mar 17, 12-1 AM (0)
Mar 17, 1-2 AM (0)
Mar 17, 2-3 AM (0)
Mar 17, 3-4 AM (0)
Mar 17, 4-5 AM (0)
Mar 17, 5-6 AM (2)
Mar 17, 6-7 AM (0)
Mar 17, 7-8 AM (1)
Mar 17, 8-9 AM (8)
Mar 17, 9-10 AM (2)
Mar 17, 10-11 AM (0)
Mar 17, 11-12 PM (0)
Mar 17, 12-1 PM (2)
Mar 17, 1-2 PM (0)
Mar 17, 2-3 PM (0)
Mar 17, 3-4 PM (1)
Mar 17, 4-5 PM (0)
Mar 17, 5-6 PM (0)
Mar 17, 6-7 PM (1)
Mar 17, 7-8 PM (2)
Mar 17, 8-9 PM (1)
Mar 17, 9-10 PM (0)
Mar 17, 10-11 PM (0)
Mar 17, 11-12 AM (0)
Mar 18, 12-1 AM (0)
Mar 18, 1-2 AM (0)
Mar 18, 2-3 AM (0)
Mar 18, 3-4 AM (0)
Mar 18, 4-5 AM (0)
Mar 18, 5-6 AM (1)
Mar 18, 6-7 AM (0)
Mar 18, 7-8 AM (0)
Mar 18, 8-9 AM (0)
Mar 18, 9-10 AM (2)
Mar 18, 10-11 AM (3)
Mar 18, 11-12 PM (0)
Mar 18, 12-1 PM (3)
Mar 18, 1-2 PM (3)
Mar 18, 2-3 PM (58)
Mar 18, 3-4 PM (2)
Mar 18, 4-5 PM (4)
Mar 18, 5-6 PM (1)
Mar 18, 6-7 PM (31)
Mar 18, 7-8 PM (25)
Mar 18, 8-9 PM (0)
Mar 18, 9-10 PM (0)
Mar 18, 10-11 PM (0)
Mar 18, 11-12 AM (0)
Mar 19, 12-1 AM (0)
Mar 19, 1-2 AM (0)
Mar 19, 2-3 AM (0)
Mar 19, 3-4 AM (0)
Mar 19, 4-5 AM (0)
Mar 19, 5-6 AM (0)
Mar 19, 6-7 AM (0)
Mar 19, 7-8 AM (0)
Mar 19, 8-9 AM (0)
269 commits this week
Mar 12, 2026
-
Mar 19, 2026
Add failing test for CommitFinalized version-race snapshot stuck bug
After a deposit snapshot confirms, maybeRequestNextSnapshot fires ReqSn(ver=0) immediately. With a 25s network delay, CommitFinalized arrives first and bumps the version to 1. The stale ReqSn(ver=0) echo is rejected with ReqSvNumberInvalid and nobody re-triggers ReqSn(ver=1), leaving the head permanently stuck. Signed-off-by: Sasha Bogicevic <[email protected]>
Fixing the stuck snapshots by re-requesting ReqSn
DecommitFinalized aggregate now resets seenSnapshot to
LastSeenSnapshot{confirmedSn} instead of toLastSeenSnapshot(seenSnapshot).
This prevents seenSnapshotNumber from advancing to the requested snapshot
number (which blocked re-requesting), and allows onOpenChainDecrementTx
to emit a fresh ReqSn with the new version for any pending L2 txs.
Signed-off-by: Sasha Bogicevic <[email protected]>
Fix CommitFinalized version-race causing permanently stuck snapshots
After a deposit snapshot confirms, maybeRequestNextSnapshot fires
ReqSn(ver=N) immediately for pending L2 txs. With a slow network,
CommitFinalized arrives and bumps the version to N+1 before the echo
returns. The stale ReqSn(ver=N) is rejected with ReqSvNumberInvalid
and nobody re-triggers a fresh request, leaving the head stuck.
Two-part fix mirroring the DecommitFinalized fix:
- aggregateNodeState: use LastSeenSnapshot{lastSeen=confirmedSn}
instead of toLastSeenSnapshot, keeping seenSnapshotNumber at the
confirmed value so the next ReqSn number is correct
- onOpenChainIncrementTx: add maybeRequestSnapshotAfterCommit so the
leader immediately sends ReqSn(ver=newVersion) for pending L2 txs
after CommitFinalized, instead of waiting for the next timer tick
Signed-off-by: Sasha Bogicevic <[email protected]>
Drop any negative value when constructing depositTx
This avoids the partial toLedgerTxOut to fail on us in case the user specifies more output value than input value.
Generate deposits in HandlersSpec
This is to have some more hydra transactions to rollback through
Update docs about deposit API restrictions
Revive TxSpec for depositTx
This is currently failing due to partial call to toShelleyTxOut with a TxOut that has a negative value!
Bump version of hydra-chain-observer
Check deposits for byron addresses and mainnet ADA limit
This was the behavior of the commits during the commit phase before and is now true for all deposits drafted by the node. Note that users can sidestep this by just creating deposits themselves. This will result in a deposit just not be picked up (the increment fails validation for byron addresses) or just work (the mainnet limit is arbitrary).
Improve timing of several e2e tests
Consolidate deposit tests and keep note about reference scripts
Move most testing of snapshot sideloading to BehaviorSpec
This reduces test time and should provide same or better coverage.
Drop e2e test on contesting of a close initial
This is not possible like this anymore. Bob needs to agree on a deposit and after that version bump, the close with initial is not allowed anymore. Hence, we cannot have bob lose its state and be able to close after we saw a version-changing snapshot. In fact, there can't be any other (non-empty) snapshots because the head starts empty. In summary, this is not a practical end-user scenario (any more).
Fix healthy mutation test of close
Fix several e2e tests
Mostly snapshot numbers and timing were off
Fix benchmark with multiple deposits at the same time
Mark blueprint deposit (former commit) tests broken
Until the semantics discussion is resolved
Too small deposits are unnecessarily ignored
Kept a note about this and bumped seeds from faucet.