May 26, 12-1 PM (34)
May 26, 1-2 PM (50)
May 26, 2-3 PM (50)
May 26, 3-4 PM (18)
May 26, 4-5 PM (20)
May 26, 5-6 PM (13)
May 26, 6-7 PM (20)
May 26, 7-8 PM (12)
May 26, 8-9 PM (15)
May 26, 9-10 PM (15)
May 26, 10-11 PM (35)
May 26, 11-12 AM (30)
May 27, 12-1 AM (16)
May 27, 1-2 AM (8)
May 27, 2-3 AM (9)
May 27, 3-4 AM (5)
May 27, 4-5 AM (32)
May 27, 5-6 AM (9)
May 27, 6-7 AM (49)
May 27, 7-8 AM (65)
May 27, 8-9 AM (38)
May 27, 9-10 AM (74)
May 27, 10-11 AM (83)
May 27, 11-12 PM (30)
May 27, 12-1 PM (50)
May 27, 1-2 PM (39)
May 27, 2-3 PM (53)
May 27, 3-4 PM (37)
May 27, 4-5 PM (11)
May 27, 5-6 PM (18)
May 27, 6-7 PM (21)
May 27, 7-8 PM (25)
May 27, 8-9 PM (17)
May 27, 9-10 PM (15)
May 27, 10-11 PM (29)
May 27, 11-12 AM (27)
May 28, 12-1 AM (9)
May 28, 1-2 AM (3)
May 28, 2-3 AM (5)
May 28, 3-4 AM (2)
May 28, 4-5 AM (9)
May 28, 5-6 AM (34)
May 28, 6-7 AM (31)
May 28, 7-8 AM (84)
May 28, 8-9 AM (33)
May 28, 9-10 AM (54)
May 28, 10-11 AM (50)
May 28, 11-12 PM (21)
May 28, 12-1 PM (46)
May 28, 1-2 PM (50)
May 28, 2-3 PM (23)
May 28, 3-4 PM (43)
May 28, 4-5 PM (86)
May 28, 5-6 PM (13)
May 28, 6-7 PM (31)
May 28, 7-8 PM (43)
May 28, 8-9 PM (34)
May 28, 9-10 PM (17)
May 28, 10-11 PM (36)
May 28, 11-12 AM (32)
May 29, 12-1 AM (12)
May 29, 1-2 AM (13)
May 29, 2-3 AM (4)
May 29, 3-4 AM (3)
May 29, 4-5 AM (0)
May 29, 5-6 AM (2)
May 29, 6-7 AM (5)
May 29, 7-8 AM (16)
May 29, 8-9 AM (37)
May 29, 9-10 AM (34)
May 29, 10-11 AM (69)
May 29, 11-12 PM (25)
May 29, 12-1 PM (44)
May 29, 1-2 PM (66)
May 29, 2-3 PM (60)
May 29, 3-4 PM (25)
May 29, 4-5 PM (26)
May 29, 5-6 PM (79)
May 29, 6-7 PM (11)
May 29, 7-8 PM (19)
May 29, 8-9 PM (9)
May 29, 9-10 PM (8)
May 29, 10-11 PM (27)
May 29, 11-12 AM (7)
May 30, 12-1 AM (9)
May 30, 1-2 AM (2)
May 30, 2-3 AM (1)
May 30, 3-4 AM (5)
May 30, 4-5 AM (2)
May 30, 5-6 AM (11)
May 30, 6-7 AM (0)
May 30, 7-8 AM (2)
May 30, 8-9 AM (11)
May 30, 9-10 AM (13)
May 30, 10-11 AM (10)
May 30, 11-12 PM (5)
May 30, 12-1 PM (8)
May 30, 1-2 PM (5)
May 30, 2-3 PM (18)
May 30, 3-4 PM (5)
May 30, 4-5 PM (1)
May 30, 5-6 PM (9)
May 30, 6-7 PM (9)
May 30, 7-8 PM (1)
May 30, 8-9 PM (5)
May 30, 9-10 PM (4)
May 30, 10-11 PM (27)
May 30, 11-12 AM (12)
May 31, 12-1 AM (17)
May 31, 1-2 AM (0)
May 31, 2-3 AM (1)
May 31, 3-4 AM (1)
May 31, 4-5 AM (0)
May 31, 5-6 AM (0)
May 31, 6-7 AM (7)
May 31, 7-8 AM (4)
May 31, 8-9 AM (10)
May 31, 9-10 AM (3)
May 31, 10-11 AM (4)
May 31, 11-12 PM (4)
May 31, 12-1 PM (1)
May 31, 1-2 PM (2)
May 31, 2-3 PM (24)
May 31, 3-4 PM (16)
May 31, 4-5 PM (2)
May 31, 5-6 PM (1)
May 31, 6-7 PM (2)
May 31, 7-8 PM (2)
May 31, 8-9 PM (2)
May 31, 9-10 PM (7)
May 31, 10-11 PM (25)
May 31, 11-12 AM (11)
Jun 01, 12-1 AM (14)
Jun 01, 1-2 AM (7)
Jun 01, 2-3 AM (3)
Jun 01, 3-4 AM (10)
Jun 01, 4-5 AM (13)
Jun 01, 5-6 AM (16)
Jun 01, 6-7 AM (10)
Jun 01, 7-8 AM (14)
Jun 01, 8-9 AM (46)
Jun 01, 9-10 AM (50)
Jun 01, 10-11 AM (19)
Jun 01, 11-12 PM (27)
Jun 01, 12-1 PM (49)
Jun 01, 1-2 PM (40)
Jun 01, 2-3 PM (44)
Jun 01, 3-4 PM (34)
Jun 01, 4-5 PM (54)
Jun 01, 5-6 PM (5)
Jun 01, 6-7 PM (32)
Jun 01, 7-8 PM (37)
Jun 01, 8-9 PM (9)
Jun 01, 9-10 PM (12)
Jun 01, 10-11 PM (30)
Jun 01, 11-12 AM (22)
Jun 02, 12-1 AM (13)
Jun 02, 1-2 AM (8)
Jun 02, 2-3 AM (5)
Jun 02, 3-4 AM (14)
Jun 02, 4-5 AM (10)
Jun 02, 5-6 AM (43)
Jun 02, 6-7 AM (32)
Jun 02, 7-8 AM (58)
Jun 02, 8-9 AM (63)
Jun 02, 9-10 AM (26)
Jun 02, 10-11 AM (19)
Jun 02, 11-12 PM (14)
Jun 02, 12-1 PM (5)
3,670 commits this week May 26, 2026 - Jun 02, 2026
Fix recovered deposit leaking into new L2 snapshot utxo (#2630)
Resolves https://github.com/cardano-scaling/hydra/issues/2629

The root cause was in confirmedUTxO inside onOpenNetworkReqSn: it always
included `utxoToCommit` unconditionally. When a new `ReqSn` with no
deposit arrived after recovery, the recovered deposit was still part of
the base UTxO used to apply transactions, and with no `withoutUTxO` to
strip it back out, it baked into the new snapshot's utxo field.

<!-- Describe your change here -->

---

<!-- Consider each and tick it off one way or the other -->
* [ ] CHANGELOG updated or not needed
* [ ] Documentation updated or not needed
* [ ] Haddocks updated or not needed
* [ ] No new TODOs introduced or explained herafter
chore: update package manager to [email protected]
fix: instantiate provider lazily in resolveAdaHandle to prevent crashes in preprod environments

feat: persist hasCheckedSession in sessionStorage to avoid redundant session checks and modal displays

refactor: make NEXT_PUBLIC_BLOCKFROST_API_KEY_MAINNET optional for better environment handling

fix: ensure BlockfrostProvider is instantiated only with a valid API key
cardano-crypto-wallet: rename ed25519 C symbols from cardano_crypto_ to ccw_
Both cardano-crypto and cardano-crypto-wallet bundle ed25519.c with the
same ED25519_FN macro prefix, producing duplicate exported symbols
(cardano_crypto_ed25519_publickey, etc.).  The GHC runtime linker aborts
on duplicate symbols, breaking TH evaluation via iserv (e.g. Windows
cross-builds) and GHCi on all platforms.

Rename the prefix in cardano-crypto-wallet from cardano_crypto_ to ccw_
so the two libraries no longer collide.  No Haskell FFI changes needed:
the FFI only imports wallet_encrypted_* and wallet_sodium_* symbols; the
ed25519 symbols are internal C-to-C calls.
nix: rename cardano-crypto-wallet ed25519 symbols to avoid iserv crash
cardano-crypto and cardano-crypto-wallet both bundle ed25519.c with the
same ED25519_FN macro prefix (cardano_crypto_), producing duplicate
cardano_crypto_ed25519_* symbols.  The GHC runtime linker (used by iserv
for Template Haskell evaluation) is strict about duplicates and aborts on
the first affected module, breaking every TH splice in the cross build.

Fix via postPatch: sed the macro definition and all direct call sites in
the four affected C files, renaming cardano_crypto_##fn → ccw_##fn and
cardano_crypto_ed25519 → ccw_ed25519.  No Haskell FFI changes are needed
because the Haskell bindings only import wallet_encrypted_* / wallet_sodium_*
symbols, not the ed25519 internals directly.
fix: make Van Rossem hard fork ready (yaci-store 0.1.7)
Upgrade yaci-store starters 0.1.2 -> 0.1.7, the latest stable release in
the 0.1.x line (Van Rossem / protocol v11). yaci-core is left to resolve
transitively from the starter (0.3.10) rather than pinned explicitly, so
the project stays on the version combination the 0.1.x starters are built
and tested against.

cardano-client-lib follows transitively to 0.6.6. Bump project version to
0.1.5.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Fix recovered deposit leaking into new L2 snapshot utxo
The root cause was in confirmedUTxO inside onOpenNetworkReqSn: it always
  included utxoToCommit unconditionally. When a new ReqSn with no deposit
  arrived after recovery, the recovered deposit was still part of the base
  UTxO used to apply transactions, and with no withoutUTxO to strip it
  back out, it baked into the new snapshot's utxo field.