NTC chainsync fix rollback support
May 21, 6-7 PM (27)
May 21, 7-8 PM (27)
May 21, 8-9 PM (23)
May 21, 9-10 PM (3)
May 21, 10-11 PM (29)
May 21, 11-12 AM (10)
May 22, 12-1 AM (16)
May 22, 1-2 AM (6)
May 22, 2-3 AM (8)
May 22, 3-4 AM (4)
May 22, 4-5 AM (11)
May 22, 5-6 AM (10)
May 22, 6-7 AM (21)
May 22, 7-8 AM (13)
May 22, 8-9 AM (38)
May 22, 9-10 AM (12)
May 22, 10-11 AM (18)
May 22, 11-12 PM (25)
May 22, 12-1 PM (24)
May 22, 1-2 PM (34)
May 22, 2-3 PM (56)
May 22, 3-4 PM (13)
May 22, 4-5 PM (29)
May 22, 5-6 PM (13)
May 22, 6-7 PM (20)
May 22, 7-8 PM (20)
May 22, 8-9 PM (12)
May 22, 9-10 PM (12)
May 22, 10-11 PM (41)
May 22, 11-12 AM (12)
May 23, 12-1 AM (9)
May 23, 1-2 AM (0)
May 23, 2-3 AM (3)
May 23, 3-4 AM (1)
May 23, 4-5 AM (1)
May 23, 5-6 AM (4)
May 23, 6-7 AM (12)
May 23, 7-8 AM (1)
May 23, 8-9 AM (3)
May 23, 9-10 AM (1)
May 23, 10-11 AM (1)
May 23, 11-12 PM (5)
May 23, 12-1 PM (1)
May 23, 1-2 PM (6)
May 23, 2-3 PM (5)
May 23, 3-4 PM (5)
May 23, 4-5 PM (4)
May 23, 5-6 PM (0)
May 23, 6-7 PM (3)
May 23, 7-8 PM (23)
May 23, 8-9 PM (1)
May 23, 9-10 PM (9)
May 23, 10-11 PM (21)
May 23, 11-12 AM (27)
May 24, 12-1 AM (9)
May 24, 1-2 AM (0)
May 24, 2-3 AM (1)
May 24, 3-4 AM (1)
May 24, 4-5 AM (0)
May 24, 5-6 AM (3)
May 24, 6-7 AM (1)
May 24, 7-8 AM (2)
May 24, 8-9 AM (2)
May 24, 9-10 AM (4)
May 24, 10-11 AM (4)
May 24, 11-12 PM (1)
May 24, 12-1 PM (7)
May 24, 1-2 PM (46)
May 24, 2-3 PM (5)
May 24, 3-4 PM (3)
May 24, 4-5 PM (18)
May 24, 5-6 PM (2)
May 24, 6-7 PM (4)
May 24, 7-8 PM (13)
May 24, 8-9 PM (10)
May 24, 9-10 PM (15)
May 24, 10-11 PM (34)
May 24, 11-12 AM (42)
May 25, 12-1 AM (9)
May 25, 1-2 AM (5)
May 25, 2-3 AM (6)
May 25, 3-4 AM (1)
May 25, 4-5 AM (6)
May 25, 5-6 AM (14)
May 25, 6-7 AM (17)
May 25, 7-8 AM (17)
May 25, 8-9 AM (32)
May 25, 9-10 AM (43)
May 25, 10-11 AM (64)
May 25, 11-12 PM (33)
May 25, 12-1 PM (43)
May 25, 1-2 PM (40)
May 25, 2-3 PM (20)
May 25, 3-4 PM (27)
May 25, 4-5 PM (16)
May 25, 5-6 PM (6)
May 25, 6-7 PM (7)
May 25, 7-8 PM (11)
May 25, 8-9 PM (12)
May 25, 9-10 PM (16)
May 25, 10-11 PM (44)
May 25, 11-12 AM (26)
May 26, 12-1 AM (12)
May 26, 1-2 AM (11)
May 26, 2-3 AM (8)
May 26, 3-4 AM (11)
May 26, 4-5 AM (6)
May 26, 5-6 AM (9)
May 26, 6-7 AM (26)
May 26, 7-8 AM (43)
May 26, 8-9 AM (39)
May 26, 9-10 AM (42)
May 26, 10-11 AM (45)
May 26, 11-12 PM (59)
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 (63)
May 27, 8-9 AM (37)
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 (38)
May 27, 2-3 PM (53)
May 27, 3-4 PM (37)
May 27, 4-5 PM (6)
May 27, 5-6 PM (17)
May 27, 6-7 PM (18)
May 27, 7-8 PM (25)
May 27, 8-9 PM (14)
May 27, 9-10 PM (13)
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 (8)
May 28, 5-6 AM (34)
May 28, 6-7 AM (26)
May 28, 7-8 AM (83)
May 28, 8-9 AM (33)
May 28, 9-10 AM (54)
May 28, 10-11 AM (50)
May 28, 11-12 PM (19)
May 28, 12-1 PM (45)
May 28, 1-2 PM (50)
May 28, 2-3 PM (23)
May 28, 3-4 PM (42)
May 28, 4-5 PM (86)
May 28, 5-6 PM (9)
May 28, 6-7 PM (6)
3,418 commits this week
May 21, 2026
-
May 28, 2026
Artifacts generated from 95615722dad335e34fe41eb7b044781c9ec256d7
docs(examples): gov lens using postgres for metadata
Signed-off-by: Chris Gianelloni <[email protected]>
fix(helpers): prevent unhandled rejection in CancellableTask.cancel()
The cancel() method previously used .catch() with a re-throw for non-AbortError rejections. Since the promise returned by .catch() was never consumed, this caused unhandled promise rejections. Fixed by aborting the controller first, then attaching a no-op .catch() handler to silence the rejection. Any errors from the task remain accessible via the callback() method. Signed-off-by: A-Chronicle <[email protected]>
Hoist cert-deposit helpers from Utxo to Certs (#1208)
Move six closed-form cert-deposit helpers from
src/Ledger/Dijkstra/Specification/Utxo.lagda.md to
src/Ledger/Dijkstra/Specification/Certs.lagda.md:
+ updateCertDeposit
+ updateCertDepositsStep (new named extraction of the fold body)
+ updateCertDeposits
+ coinFromDeposits
+ depositsChange
+ newCertDeposits
+ refundCertDeposits
These helpers depend only on Certs-level definitions, so their natural
home is Certs.lagda.md. Their placement in Utxo.lagda.md forced any
proof referencing them to take the larger TransactionStructure /
AbstractFunctions parameter set, blocking proofs in
Certs.Properties.PoV(Lemmas) (parameterised only by GovStructure) from
referring to them.
govProposalsDeposits stays in Utxo.lagda.md — it depends on GovProposal
from Gov.Actions, not on a Certs-level type.
Bundled bug fixes to updateCertDeposits:
+ Typo: DState.deposits was being set from the GState delta instead
of the DState delta.
+ Fold direction: was foldr (right-to-left). CERTS processes certs
left-to-right via BS-ind's head-first decomposition. Changed to
foldl, matching Conway's left-to-right recursion and Dijkstra's
own applyToRewards. Counterexample under foldr:
[delegate c d, dereg c (just d)] on a fresh credential should
leave c ∉ deposits per CERTS, but foldr processes dereg first
(a no-op) then delegate, ending with c ∈ deposits.
updateCertDepositsStep is the inner fold body extracted as a named
function so downstream proofs in Certs.Properties.PoV can state and
use a per-step pots equation about it.
Also: add HasCoin-UTxOState (Utxo.lagda.md) and HasCoin-LedgerState
(Ledger.lagda.md). HasCoin-LedgerState sums UTxO state total, DState
rewards balance, and the three deposit pots via the hoisted
coinFromDeposits — the form needed to balance against the UTXO
batch-balance equation.
Closes #1208.
Use opaque for used rules' computeProof and completeness
testnet: restore TraceOptions key in default node config
tmp: tweak CI for troubleshooting.
Signed-off-by: KtorZ <[email protected]>
Add `generate-cbor` executable to Ledger API
Add `--era` flag to `generate-cbor`
Remove `generate-cbor` executables per era
fix: remove incorrect quantity check.
The Haskell code allows scaling an empty value, regardless of scalar size. We would return an error here, which is not correct. Every error case gets caught in the loop, so we can simply remove the extra check. Signed-off-by: yHSJ <[email protected]>
fix: allow value regardless of program version
Signed-off-by: yHSJ <[email protected]>
Address review comments
feat(explorer): add hydration state handling with fallback loaders
Explorer will only show its main UI when the store is fully loaded, this avoids timing issues such as loading the aggregator from the URL which may be overriden by init logic. Add fallback loaders for `Provider` and `Suspense` to improve user experience during the loading phase.
refactor(explorer): migrate from CommonJS to ES Modules
feat(explorer): propagate and read genesis verification keys in urls for non-default aggregators
fix(explorer): avoid hydration error by using an empty redux state when loading
streamline store initialization and state preloading logic Consolidate state preloading with `getPreloadedStateFromLocalStorage` and introduce `getEmptyPreloadedState` for default states.
feat(explorer): add certification availability checks and UI feedback for aggregators without genesis verification keys
refactor(explorer): use genesis vkey stored in store instead of fetching it remotely
feat: initial dijkstra era support
Signed-off-by: Chris Gianelloni <[email protected]>
fix(database): transaction import gap utxos
Signed-off-by: Chris Gianelloni <[email protected]>
docs(examples): gov lens using postgres for metadata
Signed-off-by: Chris Gianelloni <[email protected]>
fix(database): postgres epoch summary persistence
Signed-off-by: Chris Gianelloni <[email protected]>