Home /
Input Output /
hydra
Mar 04, 12-1 PM (0)
Mar 04, 1-2 PM (0)
Mar 04, 2-3 PM (1)
Mar 04, 3-4 PM (0)
Mar 04, 4-5 PM (0)
Mar 04, 5-6 PM (0)
Mar 04, 6-7 PM (0)
Mar 04, 7-8 PM (0)
Mar 04, 8-9 PM (0)
Mar 04, 9-10 PM (0)
Mar 04, 10-11 PM (0)
Mar 04, 11-12 AM (0)
Mar 05, 12-1 AM (0)
Mar 05, 1-2 AM (0)
Mar 05, 2-3 AM (0)
Mar 05, 3-4 AM (0)
Mar 05, 4-5 AM (0)
Mar 05, 5-6 AM (0)
Mar 05, 6-7 AM (0)
Mar 05, 7-8 AM (0)
Mar 05, 8-9 AM (0)
Mar 05, 9-10 AM (0)
Mar 05, 10-11 AM (0)
Mar 05, 11-12 PM (3)
Mar 05, 12-1 PM (1)
Mar 05, 1-2 PM (1)
Mar 05, 2-3 PM (10)
Mar 05, 3-4 PM (1)
Mar 05, 4-5 PM (0)
Mar 05, 5-6 PM (0)
Mar 05, 6-7 PM (2)
Mar 05, 7-8 PM (0)
Mar 05, 8-9 PM (0)
Mar 05, 9-10 PM (0)
Mar 05, 10-11 PM (0)
Mar 05, 11-12 AM (0)
Mar 06, 12-1 AM (0)
Mar 06, 1-2 AM (0)
Mar 06, 2-3 AM (0)
Mar 06, 3-4 AM (0)
Mar 06, 4-5 AM (0)
Mar 06, 5-6 AM (0)
Mar 06, 6-7 AM (2)
Mar 06, 7-8 AM (1)
Mar 06, 8-9 AM (0)
Mar 06, 9-10 AM (3)
Mar 06, 10-11 AM (0)
Mar 06, 11-12 PM (0)
Mar 06, 12-1 PM (0)
Mar 06, 1-2 PM (0)
Mar 06, 2-3 PM (0)
Mar 06, 3-4 PM (0)
Mar 06, 4-5 PM (0)
Mar 06, 5-6 PM (0)
Mar 06, 6-7 PM (0)
Mar 06, 7-8 PM (0)
Mar 06, 8-9 PM (0)
Mar 06, 9-10 PM (0)
Mar 06, 10-11 PM (0)
Mar 06, 11-12 AM (0)
Mar 07, 12-1 AM (0)
Mar 07, 1-2 AM (0)
Mar 07, 2-3 AM (0)
Mar 07, 3-4 AM (0)
Mar 07, 4-5 AM (0)
Mar 07, 5-6 AM (0)
Mar 07, 6-7 AM (0)
Mar 07, 7-8 AM (0)
Mar 07, 8-9 AM (0)
Mar 07, 9-10 AM (0)
Mar 07, 10-11 AM (0)
Mar 07, 11-12 PM (0)
Mar 07, 12-1 PM (0)
Mar 07, 1-2 PM (0)
Mar 07, 2-3 PM (0)
Mar 07, 3-4 PM (0)
Mar 07, 4-5 PM (0)
Mar 07, 5-6 PM (0)
Mar 07, 6-7 PM (0)
Mar 07, 7-8 PM (0)
Mar 07, 8-9 PM (0)
Mar 07, 9-10 PM (0)
Mar 07, 10-11 PM (0)
Mar 07, 11-12 AM (0)
Mar 08, 12-1 AM (0)
Mar 08, 1-2 AM (0)
Mar 08, 2-3 AM (0)
Mar 08, 3-4 AM (0)
Mar 08, 4-5 AM (0)
Mar 08, 5-6 AM (0)
Mar 08, 6-7 AM (0)
Mar 08, 7-8 AM (0)
Mar 08, 8-9 AM (0)
Mar 08, 9-10 AM (0)
Mar 08, 10-11 AM (0)
Mar 08, 11-12 PM (0)
Mar 08, 12-1 PM (0)
Mar 08, 1-2 PM (0)
Mar 08, 2-3 PM (0)
Mar 08, 3-4 PM (1)
Mar 08, 4-5 PM (0)
Mar 08, 5-6 PM (10)
Mar 08, 6-7 PM (0)
Mar 08, 7-8 PM (0)
Mar 08, 8-9 PM (0)
Mar 08, 9-10 PM (0)
Mar 08, 10-11 PM (0)
Mar 08, 11-12 AM (0)
Mar 09, 12-1 AM (0)
Mar 09, 1-2 AM (0)
Mar 09, 2-3 AM (0)
Mar 09, 3-4 AM (0)
Mar 09, 4-5 AM (0)
Mar 09, 5-6 AM (0)
Mar 09, 6-7 AM (0)
Mar 09, 7-8 AM (0)
Mar 09, 8-9 AM (0)
Mar 09, 9-10 AM (2)
Mar 09, 10-11 AM (1)
Mar 09, 11-12 PM (2)
Mar 09, 12-1 PM (0)
Mar 09, 1-2 PM (0)
Mar 09, 2-3 PM (0)
Mar 09, 3-4 PM (1)
Mar 09, 4-5 PM (0)
Mar 09, 5-6 PM (0)
Mar 09, 6-7 PM (0)
Mar 09, 7-8 PM (0)
Mar 09, 8-9 PM (0)
Mar 09, 9-10 PM (0)
Mar 09, 10-11 PM (4)
Mar 09, 11-12 AM (0)
Mar 10, 12-1 AM (0)
Mar 10, 1-2 AM (0)
Mar 10, 2-3 AM (0)
Mar 10, 3-4 AM (0)
Mar 10, 4-5 AM (0)
Mar 10, 5-6 AM (0)
Mar 10, 6-7 AM (2)
Mar 10, 7-8 AM (0)
Mar 10, 8-9 AM (53)
Mar 10, 9-10 AM (2)
Mar 10, 10-11 AM (3)
Mar 10, 11-12 PM (1)
Mar 10, 12-1 PM (0)
Mar 10, 1-2 PM (0)
Mar 10, 2-3 PM (0)
Mar 10, 3-4 PM (1)
Mar 10, 4-5 PM (0)
Mar 10, 5-6 PM (0)
Mar 10, 6-7 PM (0)
Mar 10, 7-8 PM (0)
Mar 10, 8-9 PM (0)
Mar 10, 9-10 PM (0)
Mar 10, 10-11 PM (0)
Mar 10, 11-12 AM (0)
Mar 11, 12-1 AM (0)
Mar 11, 1-2 AM (0)
Mar 11, 2-3 AM (0)
Mar 11, 3-4 AM (0)
Mar 11, 4-5 AM (0)
Mar 11, 5-6 AM (0)
Mar 11, 6-7 AM (0)
Mar 11, 7-8 AM (1)
Mar 11, 8-9 AM (2)
Mar 11, 9-10 AM (1)
Mar 11, 10-11 AM (1)
Mar 11, 11-12 PM (0)
Mar 11, 12-1 PM (0)
113 commits this week
Mar 04, 2026
-
Mar 11, 2026
Fix canCommit test timeout for versionNeedsSnapshot contest race
The versionNeedsSnapshot timer fires an empty version-bump snapshot after each IncrementTx. When Close is sent before that snapshot confirms at the closing node, the node correctly contests with the better snapshot, extending the contestation deadline by one contestation period (10 * blockTime). The previous buffer of 3 * blockTime was too short in that case, causing a timeout before ReadyToFanout arrived. Extended to 13 * blockTime to cover the contest round plus block-latency buffer. Signed-off-by: Sasha Bogicevic <[email protected]>
Fix close by issuing a empty snapshot with correct version
Signed-off-by: Sasha Bogicevic <[email protected]>
Ignore CollectComTx PostTxError in Initial state
When postTx runs async (via asyncTracked), the losing node's
CollectComTx submission can fail and enqueue PostTxError before
OnCollectComTx has been observed — leaving the node still in Initial
state. The existing Open{} guard did not match, causing the wildcard
PostTxOnChainFailed to fire.
Fix by adding an Initial{} case mirroring the existing Open{} noop:
a CollectComTx failure in Initial simply means another party already
collected the head; OnCollectComTx will arrive shortly.
Signed-off-by: Sasha Bogicevic <[email protected]>
Fix snapshot flooding by removing SeenSnapshot retry from onOpenTimer
The SeenSnapshot case in onOpenTimer re-broadcast ReqSn+AckSn on every timer tick while waiting for AckSns. With a 5ms timer interval and etcd delivering each message back as a NetworkInput, this created a feedback loop: each broadcast → etcd echo → resets lastWasTimer → timer fires again → more broadcasts → floods the etcd PersistentQueue (capacity 100) → blocks processEffects → delays incoming AckSns → exponential slowdown (200+ ReqSn per snapshot, 5s+ gaps at snapshot 7+). Since etcd guarantees reliable delivery, the retry is unnecessary for normal L2 operation. Edge cases (deposit activation, version bumps) are handled by CommitFinalized/DecommitFinalized resetting seenSnapshot to LastSeenSnapshot, which lets the timer's fresh-send path handle them. Restore maybeRequestNextSnapshot in onAckSn so the leader for sn+1 immediately chains the next snapshot after SnapshotConfirmed, avoiding an idle timer interval between snapshots. Signed-off-by: Sasha Bogicevic <[email protected]>
Partial fanout implementation
Partial fanout implementation
Fix accumulator benchmark to measure actual computation
Try to fix tests
Fix CRS size mismatch and fanout E2E tests
Rebase
Signed-off-by: Sasha Bogicevic <[email protected]>
Fix memory budget regression in checkFanout
Fix warnings, rebase
Update scripts
Improve checkFanout function
Optimizations applied: * Single-pass serialization: each 'TxOut' is serialized once via @serialiseData . toBuiltinData@ and reused for both UTxO hash checks and accumulator scalar computation. * Combined CRS lookup: the reference input for the CRS is looked up once and decoded only when the membership check is actually reached.
Add adjusted redeemers to mkScriptIntegrity
Fix bench tx-cost
Align accumulator element hashing and CRS use
Apply blake2b_224 before scalar conversion Compute commitments with the actual CRS used for proofs Build the accumulator using fanout output order