ci: update support for fork PRs and trusted/untrusted runs
May 19, 4-5 PM (15)
May 19, 5-6 PM (20)
May 19, 6-7 PM (18)
May 19, 7-8 PM (9)
May 19, 8-9 PM (21)
May 19, 9-10 PM (10)
May 19, 10-11 PM (28)
May 19, 11-12 AM (13)
May 20, 12-1 AM (21)
May 20, 1-2 AM (9)
May 20, 2-3 AM (4)
May 20, 3-4 AM (5)
May 20, 4-5 AM (9)
May 20, 5-6 AM (37)
May 20, 6-7 AM (47)
May 20, 7-8 AM (53)
May 20, 8-9 AM (50)
May 20, 9-10 AM (16)
May 20, 10-11 AM (41)
May 20, 11-12 PM (28)
May 20, 12-1 PM (50)
May 20, 1-2 PM (92)
May 20, 2-3 PM (21)
May 20, 3-4 PM (326)
May 20, 4-5 PM (23)
May 20, 5-6 PM (23)
May 20, 6-7 PM (17)
May 20, 7-8 PM (23)
May 20, 8-9 PM (15)
May 20, 9-10 PM (5)
May 20, 10-11 PM (34)
May 20, 11-12 AM (16)
May 21, 12-1 AM (16)
May 21, 1-2 AM (9)
May 21, 2-3 AM (11)
May 21, 3-4 AM (7)
May 21, 4-5 AM (4)
May 21, 5-6 AM (27)
May 21, 6-7 AM (14)
May 21, 7-8 AM (22)
May 21, 8-9 AM (34)
May 21, 9-10 AM (45)
May 21, 10-11 AM (37)
May 21, 11-12 PM (27)
May 21, 12-1 PM (63)
May 21, 1-2 PM (68)
May 21, 2-3 PM (60)
May 21, 3-4 PM (53)
May 21, 4-5 PM (20)
May 21, 5-6 PM (27)
May 21, 6-7 PM (27)
May 21, 7-8 PM (25)
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 (19)
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 (33)
May 24, 11-12 AM (42)
May 25, 12-1 AM (9)
May 25, 1-2 AM (4)
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 (13)
May 25, 10-11 PM (39)
May 25, 11-12 AM (25)
May 26, 12-1 AM (11)
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 (24)
May 26, 7-8 AM (39)
May 26, 8-9 AM (38)
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 (45)
May 26, 2-3 PM (47)
May 26, 3-4 PM (15)
May 26, 4-5 PM (0)
3,544 commits this week
May 19, 2026
-
May 26, 2026
ci: harden ci, add skill
fix: streamed invalid tx index extraction (#2416)
Signed-off-by: Chris Gianelloni <[email protected]>
fix(ledgerstate): mmap ledger utxo table parsing (#2414)
Signed-off-by: Chris Gianelloni <[email protected]>
feat: add a parameter to override the config bootstrap directory
Signed-off-by: Eric Torreborre <[email protected]>
fix: create snapshot from the first missing immutable chunk
Signed-off-by: Eric Torreborre <[email protected]>
Replace stale 'LeiosOfferBlock' comments with the actual constructor names
'LeiosOfferBlock' / 'LeiosOfferBlockTxs' are constructor names from an
earlier iteration of the notification ADT. The current type
('LeiosEbNotification' in 'LeiosDemoDb.Common') has 'AcquiredEb' /
'AcquiredEbTxs'; the old names linger only in stale comments.
Four sites updated: the 'leiosDbInsertTxs' haddock in
'LeiosDemoDb.Common' and three test comments in
'Test.LeiosDemoDb'.
Comment-only change; no behaviour delta.
VolatileDB: expose per-header Leios fields via getLeiosFields
Add an STM accessor on the VolatileDB API that returns the '(IsCertRB, Maybe EbAnnouncement)' pair extracted from each block's header at parse time. Storage: - 'ParsedBlockInfo' gains 'pbiLeiosFields'. - 'InternalBlockInfo' gains 'ibiLeiosFields'. - Kept separate from 'BlockInfo' so the public record stays Leios-free. Population: - A new 'extractLeiosFields' helper in 'Impl.Parser' applies 'headerIsCertRB' and 'headerEbAnnouncement' to the block's header. - The parse loop snapshots the fields alongside 'pbiBlockInfo'. - 'putBlockImpl' snapshots them when a fresh block enters the in-memory index. Constraints: - 'ResolveLeiosBlock blk' is threaded through 'parseBlockFile', 'mkOpenState', 'mkOpenStateHelper', 'openDB', and 'putBlockImpl'. - The ChainDB open path already carries this constraint, so the only external caller that needs touching is 'DBImmutaliser.withDBs'. The mock VolatileDB returns 'const Nothing' to keep the tests compiling; a later change can refine it. No consumer reads 'getLeiosFields' yet. The accessor is wiring for the upcoming pending-CertRB cache.
LeiosDbHandle: add a cache of completed EB closures
Add 'readCompletedClosures :: m (Set EbHash)' to 'LeiosDbHandle'. The handle owns a TVar; ChainSel will read it on the block-add hot path (O(1) 'readTVarIO'). Seed at construction: - SQLite: 'SELECT ebHashBytes FROM ebs WHERE missingTxCount IS NOT NULL AND missingTxCount <= 0'. Covers both "just completed" (0) and "completed and notified" (-1); both states mean the closure is in the DB. Run on a short-lived connection that also guarantees schema initialisation before any 'open'-ed connection later. - In-memory: derive from 'imTxs' / 'imEbBodies' via the same predicate the insert paths use. Update inside the existing insert paths: - Both SQLite insert paths share a 'findAndMarkCompletedEbs' helper inside the BEGIN and a 'notifyAndCacheCompleted' helper after COMMIT. The notify+cache step pushes the just-transitioned closures into the cache. - In-memory insert paths do the same update inside their STM transaction, so the state mutation and the cache update are atomic. 'LeiosDemoLogic.msgLeiosBlock' now also emits 'TraceLeiosBlockTxsAcquired' for closures completed by a body insert (not just tx inserts), matching the symmetry the cache update exposes. Cache is unbounded for now; future work caps it to a k-window with DB query on miss. See 'readCompletedClosures' TODO and the late-join plan.
ChainDB: scaffold CertRB-pending-closure filter in ChainSel
ChainSel must not select a chain that includes a CertRB whose certified
EB closure is not locally available; otherwise 'resolveLeiosBlock'
crashes when the block-add path tries to recover the closure.
Wire-up:
- 'CDB' carries 'cdbLeiosDbHandle :: LeiosDbHandle m' so ChainSel can
read the closure cache on the block-add hot path without threading
the snapshot through every caller.
- 'chainSelectionForBlock' reads 'readCompletedClosures' on each
iteration; the read is O(1) (TVar) so this is cheap.
- New 'ignorePendingCertRBs' wrapper around 'lookupBlockInfo'. Mirrors
the existing 'ignoreInvalid' wrapper. Both lookup paths
('lookupBlockInfo'' and 'succsOf'') filter against the same set.
Filter body itself is a stub:
'computeCertRBsWithPendingEbClosures' returns 'Set.empty'. The real
implementation walks the VolatileDB forward from the immutable tip and,
for each header satisfying 'headerIsCertRB', extracts the certified
'EbHash' from the parent's 'headerEbAnnouncement' and checks it against
'readCompletedClosures'. Lands in the next step of the late-join
workstream.
'Node.hs' / 'Test/ThreadNet/Network.hs' pass the handle to
'openChainDB'; no more 'LeiosOutstanding' MVar lifting.
ResolveLeiosBlock: add headerIsCertRB / headerEbAnnouncement, no defaults
ChainSel needs two header-level queries to identify CertRBs whose certified EB closure is not locally available: 'headerIsCertRB' on the candidate header, and 'headerEbAnnouncement' on its parent. Add both methods to 'ResolveLeiosBlock' without defaults: a silent 'False' / 'Nothing' default would let a future block-type author forget to override, and ChainSel would silently degrade to "never filter a CertRB" without a compile error. Every instance now defines all three methods. The Praos Shelley instance reads 'hbIsCertRB' / 'hbMayEbAnnouncement' off the body. Cardano dispatches to Conway for both methods. Every other instance (Byron, mock, test, single-era HFC wrappers) spells out the "never a CertRB" stance explicitly.
feat(ledger): Avoid resolving auto-votes for epoch 0 during post-Mithril fallback seeding
Signed-off-by: cryptodj413 <[email protected]>
build(deps): Bump docker/setup-buildx-action from 4.0.0 to 4.1.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 4.0.0 to 4.1.0. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd...d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]>
build(deps): Bump docker/login-action from 4.1.0 to 4.2.0 (#58)
Bumps [docker/login-action](https://github.com/docker/login-action) from 4.1.0 to 4.2.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/4907a6ddec9925e35a0a9e82d7399ccc52663121...650006c6eb7dba73a995cc03b0b2d7f5ca915bee) --- updated-dependencies: - dependency-name: docker/login-action dependency-version: 4.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
build(deps): Bump docker/build-push-action from 7.1.0 to 7.2.0 (#60)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 7.1.0 to 7.2.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/bcafcacb16a39f128d818304e6c9c0c18556b85f...f9f3042f7e2789586610d6e8b85c8f03e5195baf) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-version: 7.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
build(deps): Bump docker/metadata-action from 6.0.0 to 6.1.0 (#59)
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 6.0.0 to 6.1.0. - [Release notes](https://github.com/docker/metadata-action/releases) - [Commits](https://github.com/docker/metadata-action/compare/030e881283bb7a6894de51c315a6bfe6a94e05cf...80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
fix: bundle @ledgerhq/devices/hid-framing in the pkg build
The ledgerjs/transport bump pulled @ledgerhq/devices up to 8.x.
@ledgerhq/hw-transport-node-hid-noevents loads it via the exports-map
subpath `require("@ledgerhq/devices/hid-framing")`, which resolves to
lib/hid-framing.js. pkg's static analysis does not follow that exports
subpath into the snapshot, so the packaged binary failed at startup with
"Cannot find module .../@ledgerhq/devices/lib/hid-framing.js" (CI test-bin).
Add the devices lib to pkg.scripts so it is compiled into the snapshot.
Verified by packaging the macOS arm64 binary and running --help: it now
starts cleanly with no missing-module error.
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Remove test that is not needed anymore
refactor(explorer): replace selected aggregator string logic with structured aggregator objects
Standardizes how aggregators are handled throughout the application, updating the codebase to use aggregator objects with enhanced metadata (e.g., `name`, `url`). Refactored components, tests, and state management accordingly.
feat(explorer): implement custom network sorting in aggregators list generation
Introduce a new sorting logic prioritizing main networks (mainnet, preprod, preview) and subtypes (release, pre, testing) for better organization. Exclude "dev-" networks from the list.
WIP: contextual semantics
Refactor emitNextFanoutStep to use where-bound postChainTx with guards
Remove SRP; update index-state, plutus examples