Jun 03, 4-5 PM (24)
Jun 03, 5-6 PM (23)
Jun 03, 6-7 PM (15)
Jun 03, 7-8 PM (17)
Jun 03, 8-9 PM (19)
Jun 03, 9-10 PM (9)
Jun 03, 10-11 PM (31)
Jun 03, 11-12 AM (14)
Jun 04, 12-1 AM (12)
Jun 04, 1-2 AM (4)
Jun 04, 2-3 AM (1)
Jun 04, 3-4 AM (5)
Jun 04, 4-5 AM (1)
Jun 04, 5-6 AM (0)
Jun 04, 6-7 AM (14)
Jun 04, 7-8 AM (10)
Jun 04, 8-9 AM (11)
Jun 04, 9-10 AM (19)
Jun 04, 10-11 AM (11)
Jun 04, 11-12 PM (14)
Jun 04, 12-1 PM (53)
Jun 04, 1-2 PM (39)
Jun 04, 2-3 PM (60)
Jun 04, 3-4 PM (12)
Jun 04, 4-5 PM (4)
Jun 04, 5-6 PM (7)
Jun 04, 6-7 PM (46)
Jun 04, 7-8 PM (27)
Jun 04, 8-9 PM (4)
Jun 04, 9-10 PM (2)
Jun 04, 10-11 PM (24)
Jun 04, 11-12 AM (7)
Jun 05, 12-1 AM (6)
Jun 05, 1-2 AM (8)
Jun 05, 2-3 AM (1)
Jun 05, 3-4 AM (1)
Jun 05, 4-5 AM (1)
Jun 05, 5-6 AM (5)
Jun 05, 6-7 AM (9)
Jun 05, 7-8 AM (12)
Jun 05, 8-9 AM (8)
Jun 05, 9-10 AM (11)
Jun 05, 10-11 AM (12)
Jun 05, 11-12 PM (8)
Jun 05, 12-1 PM (52)
Jun 05, 1-2 PM (61)
Jun 05, 2-3 PM (26)
Jun 05, 3-4 PM (24)
Jun 05, 4-5 PM (17)
Jun 05, 5-6 PM (7)
Jun 05, 6-7 PM (14)
Jun 05, 7-8 PM (12)
Jun 05, 8-9 PM (6)
Jun 05, 9-10 PM (2)
Jun 05, 10-11 PM (20)
Jun 05, 11-12 AM (9)
Jun 06, 12-1 AM (6)
Jun 06, 1-2 AM (0)
Jun 06, 2-3 AM (3)
Jun 06, 3-4 AM (4)
Jun 06, 4-5 AM (0)
Jun 06, 5-6 AM (24)
Jun 06, 6-7 AM (1)
Jun 06, 7-8 AM (2)
Jun 06, 8-9 AM (3)
Jun 06, 9-10 AM (0)
Jun 06, 10-11 AM (3)
Jun 06, 11-12 PM (6)
Jun 06, 12-1 PM (2)
Jun 06, 1-2 PM (2)
Jun 06, 2-3 PM (2)
Jun 06, 3-4 PM (18)
Jun 06, 4-5 PM (1)
Jun 06, 5-6 PM (6)
Jun 06, 6-7 PM (0)
Jun 06, 7-8 PM (6)
Jun 06, 8-9 PM (0)
Jun 06, 9-10 PM (1)
Jun 06, 10-11 PM (27)
Jun 06, 11-12 AM (9)
Jun 07, 12-1 AM (14)
Jun 07, 1-2 AM (2)
Jun 07, 2-3 AM (0)
Jun 07, 3-4 AM (0)
Jun 07, 4-5 AM (1)
Jun 07, 5-6 AM (1)
Jun 07, 6-7 AM (3)
Jun 07, 7-8 AM (0)
Jun 07, 8-9 AM (0)
Jun 07, 9-10 AM (1)
Jun 07, 10-11 AM (2)
Jun 07, 11-12 PM (2)
Jun 07, 12-1 PM (5)
Jun 07, 1-2 PM (35)
Jun 07, 2-3 PM (2)
Jun 07, 3-4 PM (4)
Jun 07, 4-5 PM (2)
Jun 07, 5-6 PM (4)
Jun 07, 6-7 PM (0)
Jun 07, 7-8 PM (0)
Jun 07, 8-9 PM (17)
Jun 07, 9-10 PM (1)
Jun 07, 10-11 PM (21)
Jun 07, 11-12 AM (9)
Jun 08, 12-1 AM (9)
Jun 08, 1-2 AM (5)
Jun 08, 2-3 AM (3)
Jun 08, 3-4 AM (4)
Jun 08, 4-5 AM (2)
Jun 08, 5-6 AM (9)
Jun 08, 6-7 AM (5)
Jun 08, 7-8 AM (25)
Jun 08, 8-9 AM (36)
Jun 08, 9-10 AM (40)
Jun 08, 10-11 AM (24)
Jun 08, 11-12 PM (22)
Jun 08, 12-1 PM (40)
Jun 08, 1-2 PM (48)
Jun 08, 2-3 PM (33)
Jun 08, 3-4 PM (27)
Jun 08, 4-5 PM (12)
Jun 08, 5-6 PM (23)
Jun 08, 6-7 PM (14)
Jun 08, 7-8 PM (3)
Jun 08, 8-9 PM (6)
Jun 08, 9-10 PM (19)
Jun 08, 10-11 PM (29)
Jun 08, 11-12 AM (8)
Jun 09, 12-1 AM (5)
Jun 09, 1-2 AM (3)
Jun 09, 2-3 AM (1)
Jun 09, 3-4 AM (3)
Jun 09, 4-5 AM (26)
Jun 09, 5-6 AM (5)
Jun 09, 6-7 AM (23)
Jun 09, 7-8 AM (50)
Jun 09, 8-9 AM (35)
Jun 09, 9-10 AM (45)
Jun 09, 10-11 AM (51)
Jun 09, 11-12 PM (46)
Jun 09, 12-1 PM (86)
Jun 09, 1-2 PM (84)
Jun 09, 2-3 PM (36)
Jun 09, 3-4 PM (38)
Jun 09, 4-5 PM (16)
Jun 09, 5-6 PM (18)
Jun 09, 6-7 PM (18)
Jun 09, 7-8 PM (19)
Jun 09, 8-9 PM (16)
Jun 09, 9-10 PM (16)
Jun 09, 10-11 PM (28)
Jun 09, 11-12 AM (10)
Jun 10, 12-1 AM (11)
Jun 10, 1-2 AM (16)
Jun 10, 2-3 AM (11)
Jun 10, 3-4 AM (7)
Jun 10, 4-5 AM (5)
Jun 10, 5-6 AM (2)
Jun 10, 6-7 AM (46)
Jun 10, 7-8 AM (82)
Jun 10, 8-9 AM (18)
Jun 10, 9-10 AM (59)
Jun 10, 10-11 AM (46)
Jun 10, 11-12 PM (134)
Jun 10, 12-1 PM (48)
Jun 10, 1-2 PM (33)
Jun 10, 2-3 PM (31)
Jun 10, 3-4 PM (22)
Jun 10, 4-5 PM (2)
2,815 commits this week
Jun 03, 2026
-
Jun 10, 2026
wip:feat(ci): add `test_e2e` workflow
Fix headAdaOverhead and partial fanout proof UTxO handling
closeTx now reads headAdaOverhead directly from the OpenDatum rather than recomputing it from the difference between head lovelace and snapshot UTxO lovelace. The old computation was vulnerable to griefing (anyone could bump the head value) and broke strict equality in the on-chain mustPreserveHeadAdaOverhead check. The value is already locked at init time, so propagating it unchanged is both simpler and correct. FinalPartialFanoutTx gains a separate utxoForProof field so the accumulator membership proof can include pre-settled UTxOs (e.g. decommit outputs already removed from the head by a DecrementTx before close), while utxoToDistribute covers only what is actually fanned out in the final step. finalPartialFanoutTx / finalPartialFanout are updated to accept the full accumulator explicitly rather than rebuilding it from utxoToDistribute alone. Test generators (genClosedStateForFanout, genClosedStateWithAppliedDecommit, genClosedStateForFanoutWithComplexUTxO) were setting head ADA to headAdaOverhead + genStOpen_u0Value + snapshot_u0Value, leaving surplus lovelace unaccounted for in the FinalPartialFanout conservation check. They now net out genStOpen's inflation so head ADA equals exactly headAdaOverhead + snapshot_u0Value as the invariant requires. Signed-off-by: Sasha Bogicevic <[email protected]>
Merge pull request #6598 from IntersectMBO/russoul/cardano-node-move-out-recon
bench: remove cardano-recon-framework
test: augment the test cases for checking headers
Signed-off-by: Eric Torreborre <[email protected]>
wb: adjust to new LedgerDB config object
Leios: replace stale LeiosOfferBlock comments with the actual constructor names
LeiosOfferBlock / LeiosOfferBlockTxs are constructor names from an earlier iteration of the notification type. 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.
refactor: delete an unused data file
Signed-off-by: Eric Torreborre <[email protected]>
feat: raise an error during a migration if the anchor header is missing
Signed-off-by: Eric Torreborre <[email protected]>
WIP: updating pallas version and making adaptations
fix: clarify DMQ compatibility script per review
Explain why the Mithril node columns derive from the Cardano minimum versions and rename the unused loop variable to a descriptive placeholder.
fix(pipeline): differentiate between validation enabled/ran (#1816)
Signed-off-by: Chris Gianelloni <[email protected]>
feat(e2e): check certificate chain continuation before validating artifacts
- Introduce `wait_for_latest_artifact_with_condition` for robust artifact validation with predicate support. - Enhance certificate checks with minimum epoch validation logic.
feat(e2e): enhance `attempt!` macro with predicate support and detailed timeout reasons
Extend the `attempt!` macro to allow retrying based on predicate logic: Introduce robust timeout handling with distinct reasons: `NoResponse` and `PredicateNotSatisfied`.
refactor(e2e): lower attempt number for check tasks
Waiting for more than an epoch should not be needed at that stage since those data should already have been produced by the aggregator anyway. Keeping it as is will only make slower run took longer to fails if the aggregator did not manage to create an artifact.
refactor(e2e): replace `aggregate_signature_type` from `String` to `AggregateSignatureType` enum for type safety and clarity
feat(e2e): add `MinimalScenario` for faster testing with snark
Snarks certificates are significantly slower to run than concatenation certificates, this lighter scenario will be useful to still keep an e2e test without taking hours to run. * implemented a new `MinimalScenario` to validate artifact production and signing with minimal steps (no checks for era change, protocol params propagation, or stake delagation propagation)
feat(ci): add DMQ node compatibility in release notes
address copilot review on PR #7774
- Transform/Lib.hs:114 — uniqueFromText now fails fast on non-ASCII or overflow-length (>7 byte) hints instead of silently aliasing Uniques (https://github.com/IntersectMBO/plutus/pull/7774#discussion_r3388121673)
testnet(amaru): pin sidecar to 784c74c so amaru joins the tip-agreement check
Credit Cardano Builders and point the wallet link to cardano.org/apps
Add a one-line attribution to the Theory and Practical course overviews, and swap the multisig lesson's old developer-showcase wallet link for the CIP30 wallet filter on cardano.org/apps.
wb: adjust to new LedgerDB config object
wb | drop per-call "using <backend>" announcement in genesis()
The info banner sat inside the genesis() function body, so it fired once per `wb genesis <op>` dispatch