Home / Input Output / hydra-poc
Mar 18, 6-7 AM (0)
Mar 18, 7-8 AM (0)
Mar 18, 8-9 AM (0)
Mar 18, 9-10 AM (0)
Mar 18, 10-11 AM (0)
Mar 18, 11-12 PM (0)
Mar 18, 12-1 PM (0)
Mar 18, 1-2 PM (0)
Mar 18, 2-3 PM (0)
Mar 18, 3-4 PM (0)
Mar 18, 4-5 PM (0)
Mar 18, 5-6 PM (0)
Mar 18, 6-7 PM (0)
Mar 18, 7-8 PM (0)
Mar 18, 8-9 PM (0)
Mar 18, 9-10 PM (0)
Mar 18, 10-11 PM (2)
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 (1)
Mar 19, 4-5 AM (0)
Mar 19, 5-6 AM (0)
Mar 19, 6-7 AM (0)
Mar 19, 7-8 AM (1)
Mar 19, 8-9 AM (0)
Mar 19, 9-10 AM (1)
Mar 19, 10-11 AM (0)
Mar 19, 11-12 PM (0)
Mar 19, 12-1 PM (0)
Mar 19, 1-2 PM (2)
Mar 19, 2-3 PM (2)
Mar 19, 3-4 PM (1)
Mar 19, 4-5 PM (1)
Mar 19, 5-6 PM (0)
Mar 19, 6-7 PM (0)
Mar 19, 7-8 PM (0)
Mar 19, 8-9 PM (33)
Mar 19, 9-10 PM (0)
Mar 19, 10-11 PM (0)
Mar 19, 11-12 AM (0)
Mar 20, 12-1 AM (0)
Mar 20, 1-2 AM (0)
Mar 20, 2-3 AM (0)
Mar 20, 3-4 AM (1)
Mar 20, 4-5 AM (0)
Mar 20, 5-6 AM (0)
Mar 20, 6-7 AM (1)
Mar 20, 7-8 AM (0)
Mar 20, 8-9 AM (0)
Mar 20, 9-10 AM (0)
Mar 20, 10-11 AM (2)
Mar 20, 11-12 PM (0)
Mar 20, 12-1 PM (0)
Mar 20, 1-2 PM (0)
Mar 20, 2-3 PM (1)
Mar 20, 3-4 PM (0)
Mar 20, 4-5 PM (0)
Mar 20, 5-6 PM (0)
Mar 20, 6-7 PM (0)
Mar 20, 7-8 PM (0)
Mar 20, 8-9 PM (0)
Mar 20, 9-10 PM (3)
Mar 20, 10-11 PM (1)
Mar 20, 11-12 AM (0)
Mar 21, 12-1 AM (0)
Mar 21, 1-2 AM (0)
Mar 21, 2-3 AM (0)
Mar 21, 3-4 AM (1)
Mar 21, 4-5 AM (0)
Mar 21, 5-6 AM (0)
Mar 21, 6-7 AM (0)
Mar 21, 7-8 AM (0)
Mar 21, 8-9 AM (2)
Mar 21, 9-10 AM (0)
Mar 21, 10-11 AM (0)
Mar 21, 11-12 PM (4)
Mar 21, 12-1 PM (2)
Mar 21, 1-2 PM (1)
Mar 21, 2-3 PM (6)
Mar 21, 3-4 PM (0)
Mar 21, 4-5 PM (0)
Mar 21, 5-6 PM (0)
Mar 21, 6-7 PM (0)
Mar 21, 7-8 PM (0)
Mar 21, 8-9 PM (0)
Mar 21, 9-10 PM (0)
Mar 21, 10-11 PM (0)
Mar 21, 11-12 AM (0)
Mar 22, 12-1 AM (0)
Mar 22, 1-2 AM (0)
Mar 22, 2-3 AM (0)
Mar 22, 3-4 AM (1)
Mar 22, 4-5 AM (0)
Mar 22, 5-6 AM (0)
Mar 22, 6-7 AM (0)
Mar 22, 7-8 AM (0)
Mar 22, 8-9 AM (0)
Mar 22, 9-10 AM (0)
Mar 22, 10-11 AM (0)
Mar 22, 11-12 PM (0)
Mar 22, 12-1 PM (0)
Mar 22, 1-2 PM (0)
Mar 22, 2-3 PM (0)
Mar 22, 3-4 PM (0)
Mar 22, 4-5 PM (0)
Mar 22, 5-6 PM (0)
Mar 22, 6-7 PM (0)
Mar 22, 7-8 PM (0)
Mar 22, 8-9 PM (0)
Mar 22, 9-10 PM (0)
Mar 22, 10-11 PM (0)
Mar 22, 11-12 AM (0)
Mar 23, 12-1 AM (0)
Mar 23, 1-2 AM (0)
Mar 23, 2-3 AM (0)
Mar 23, 3-4 AM (0)
Mar 23, 4-5 AM (0)
Mar 23, 5-6 AM (0)
Mar 23, 6-7 AM (0)
Mar 23, 7-8 AM (0)
Mar 23, 8-9 AM (0)
Mar 23, 9-10 AM (0)
Mar 23, 10-11 AM (0)
Mar 23, 11-12 PM (0)
Mar 23, 12-1 PM (0)
Mar 23, 1-2 PM (0)
Mar 23, 2-3 PM (0)
Mar 23, 3-4 PM (0)
Mar 23, 4-5 PM (0)
Mar 23, 5-6 PM (0)
Mar 23, 6-7 PM (0)
Mar 23, 7-8 PM (0)
Mar 23, 8-9 PM (0)
Mar 23, 9-10 PM (0)
Mar 23, 10-11 PM (0)
Mar 23, 11-12 AM (0)
Mar 24, 12-1 AM (0)
Mar 24, 1-2 AM (0)
Mar 24, 2-3 AM (0)
Mar 24, 3-4 AM (0)
Mar 24, 4-5 AM (0)
Mar 24, 5-6 AM (0)
Mar 24, 6-7 AM (0)
Mar 24, 7-8 AM (0)
Mar 24, 8-9 AM (0)
Mar 24, 9-10 AM (0)
Mar 24, 10-11 AM (0)
Mar 24, 11-12 PM (0)
Mar 24, 12-1 PM (1)
Mar 24, 1-2 PM (0)
Mar 24, 2-3 PM (0)
Mar 24, 3-4 PM (2)
Mar 24, 4-5 PM (0)
Mar 24, 5-6 PM (0)
Mar 24, 6-7 PM (0)
Mar 24, 7-8 PM (0)
Mar 24, 8-9 PM (0)
Mar 24, 9-10 PM (0)
Mar 24, 10-11 PM (0)
Mar 24, 11-12 AM (0)
Mar 25, 12-1 AM (0)
Mar 25, 1-2 AM (0)
Mar 25, 2-3 AM (0)
Mar 25, 3-4 AM (0)
Mar 25, 4-5 AM (0)
Mar 25, 5-6 AM (0)
Mar 25, 6-7 AM (0)
73 commits this week Mar 18, 2025 - Mar 25, 2025
Side load snapshot (#1864)
<!-- Describe your change here -->

Closes https://github.com/cardano-scaling/hydra/issues/1858

## Summary
🛩️  introduce new SideLoadSnapshot ClientInput

🛩️  introduce new endpoint POST /snapshot
  - calls new ClientInput

🛩️  introduce new ServerOutput SnapshotSideLoaded
  - to signal when SideLoadSnapshot has been performed.

🛩️  HeadLogic now handles SideLoadSnapshot
- persists LocalStateCleared event: if InitialSnapshot has been side
loaded
- persists LocalStateCleared event + SnapshotConfirmed: if
ConfirmedSnapshot has been side loaded
  - produce SnapshotSideLoaded server output

🛩️  introduce new LogicError SideLoadSnapshotFailed
  - to signal when SideLoadSnapshot fails.

🛩️  HeadLogic handles event much like the SnapshotConfirmed
  - the new snapshot its been adopted as latest confirmed.

🛩️  HeadLogic handles event LocalStateCleared
- It clears pending transactions in the local state, resets the local
UTxO, and restarts the snapshot signing round by pruning the latest seen
snapshot, which also resets the current leader.

🛩️  introduce new endpoint GET /snapshot
  - returns latest ConfirmedSnapshot

🛩️  introduce new endpoint GET /snapshot
  - returns latest ConfirmedSnapshot
- useful in combination with new POST /snapshot in order to reset local
state to latest known.

---

<!-- Consider each and tick it off one way or the other -->
* [x] CHANGELOG updated or not needed
* [x] Documentation updated or not needed
* [x] Haddocks updated or not needed
* [x] No new TODOs introduced or explained herafter

---------

Co-authored-by: Sasha Bogicevic <[email protected]>
Co-authored-by: Sebastian Nagel <[email protected]>