Add CIP-68 FT voucher metadata flow
Apr 16, 5-6 PM (56)
Apr 16, 6-7 PM (17)
Apr 16, 7-8 PM (68)
Apr 16, 8-9 PM (38)
Apr 16, 9-10 PM (11)
Apr 16, 10-11 PM (24)
Apr 16, 11-12 AM (23)
Apr 17, 12-1 AM (12)
Apr 17, 1-2 AM (8)
Apr 17, 2-3 AM (3)
Apr 17, 3-4 AM (4)
Apr 17, 4-5 AM (3)
Apr 17, 5-6 AM (9)
Apr 17, 6-7 AM (26)
Apr 17, 7-8 AM (96)
Apr 17, 8-9 AM (70)
Apr 17, 9-10 AM (53)
Apr 17, 10-11 AM (41)
Apr 17, 11-12 PM (58)
Apr 17, 12-1 PM (64)
Apr 17, 1-2 PM (39)
Apr 17, 2-3 PM (46)
Apr 17, 3-4 PM (36)
Apr 17, 4-5 PM (13)
Apr 17, 5-6 PM (10)
Apr 17, 6-7 PM (25)
Apr 17, 7-8 PM (22)
Apr 17, 8-9 PM (3)
Apr 17, 9-10 PM (16)
Apr 17, 10-11 PM (24)
Apr 17, 11-12 AM (16)
Apr 18, 12-1 AM (2)
Apr 18, 1-2 AM (2)
Apr 18, 2-3 AM (6)
Apr 18, 3-4 AM (1)
Apr 18, 4-5 AM (2)
Apr 18, 5-6 AM (2)
Apr 18, 6-7 AM (1)
Apr 18, 7-8 AM (2)
Apr 18, 8-9 AM (4)
Apr 18, 9-10 AM (4)
Apr 18, 10-11 AM (1)
Apr 18, 11-12 PM (6)
Apr 18, 12-1 PM (7)
Apr 18, 1-2 PM (8)
Apr 18, 2-3 PM (9)
Apr 18, 3-4 PM (0)
Apr 18, 4-5 PM (2)
Apr 18, 5-6 PM (6)
Apr 18, 6-7 PM (2)
Apr 18, 7-8 PM (2)
Apr 18, 8-9 PM (4)
Apr 18, 9-10 PM (9)
Apr 18, 10-11 PM (21)
Apr 18, 11-12 AM (23)
Apr 19, 12-1 AM (1)
Apr 19, 1-2 AM (4)
Apr 19, 2-3 AM (1)
Apr 19, 3-4 AM (0)
Apr 19, 4-5 AM (0)
Apr 19, 5-6 AM (3)
Apr 19, 6-7 AM (0)
Apr 19, 7-8 AM (2)
Apr 19, 8-9 AM (1)
Apr 19, 9-10 AM (1)
Apr 19, 10-11 AM (4)
Apr 19, 11-12 PM (7)
Apr 19, 12-1 PM (6)
Apr 19, 1-2 PM (8)
Apr 19, 2-3 PM (23)
Apr 19, 3-4 PM (7)
Apr 19, 4-5 PM (4)
Apr 19, 5-6 PM (3)
Apr 19, 6-7 PM (8)
Apr 19, 7-8 PM (3)
Apr 19, 8-9 PM (8)
Apr 19, 9-10 PM (6)
Apr 19, 10-11 PM (25)
Apr 19, 11-12 AM (23)
Apr 20, 12-1 AM (4)
Apr 20, 1-2 AM (5)
Apr 20, 2-3 AM (2)
Apr 20, 3-4 AM (7)
Apr 20, 4-5 AM (1)
Apr 20, 5-6 AM (8)
Apr 20, 6-7 AM (12)
Apr 20, 7-8 AM (29)
Apr 20, 8-9 AM (42)
Apr 20, 9-10 AM (37)
Apr 20, 10-11 AM (95)
Apr 20, 11-12 PM (42)
Apr 20, 12-1 PM (39)
Apr 20, 1-2 PM (53)
Apr 20, 2-3 PM (68)
Apr 20, 3-4 PM (47)
Apr 20, 4-5 PM (41)
Apr 20, 5-6 PM (31)
Apr 20, 6-7 PM (24)
Apr 20, 7-8 PM (10)
Apr 20, 8-9 PM (7)
Apr 20, 9-10 PM (16)
Apr 20, 10-11 PM (28)
Apr 20, 11-12 AM (18)
Apr 21, 12-1 AM (24)
Apr 21, 1-2 AM (5)
Apr 21, 2-3 AM (13)
Apr 21, 3-4 AM (4)
Apr 21, 4-5 AM (3)
Apr 21, 5-6 AM (8)
Apr 21, 6-7 AM (15)
Apr 21, 7-8 AM (44)
Apr 21, 8-9 AM (119)
Apr 21, 9-10 AM (36)
Apr 21, 10-11 AM (35)
Apr 21, 11-12 PM (98)
Apr 21, 12-1 PM (57)
Apr 21, 1-2 PM (71)
Apr 21, 2-3 PM (60)
Apr 21, 3-4 PM (33)
Apr 21, 4-5 PM (31)
Apr 21, 5-6 PM (27)
Apr 21, 6-7 PM (38)
Apr 21, 7-8 PM (35)
Apr 21, 8-9 PM (37)
Apr 21, 9-10 PM (14)
Apr 21, 10-11 PM (34)
Apr 21, 11-12 AM (12)
Apr 22, 12-1 AM (2)
Apr 22, 1-2 AM (3)
Apr 22, 2-3 AM (3)
Apr 22, 3-4 AM (4)
Apr 22, 4-5 AM (3)
Apr 22, 5-6 AM (17)
Apr 22, 6-7 AM (34)
Apr 22, 7-8 AM (21)
Apr 22, 8-9 AM (37)
Apr 22, 9-10 AM (18)
Apr 22, 10-11 AM (47)
Apr 22, 11-12 PM (44)
Apr 22, 12-1 PM (56)
Apr 22, 1-2 PM (64)
Apr 22, 2-3 PM (44)
Apr 22, 3-4 PM (86)
Apr 22, 4-5 PM (46)
Apr 22, 5-6 PM (17)
Apr 22, 6-7 PM (9)
Apr 22, 7-8 PM (17)
Apr 22, 8-9 PM (14)
Apr 22, 9-10 PM (23)
Apr 22, 10-11 PM (31)
Apr 22, 11-12 AM (17)
Apr 23, 12-1 AM (7)
Apr 23, 1-2 AM (4)
Apr 23, 2-3 AM (4)
Apr 23, 3-4 AM (6)
Apr 23, 4-5 AM (3)
Apr 23, 5-6 AM (8)
Apr 23, 6-7 AM (17)
Apr 23, 7-8 AM (25)
Apr 23, 8-9 AM (33)
Apr 23, 9-10 AM (33)
Apr 23, 10-11 AM (29)
Apr 23, 11-12 PM (30)
Apr 23, 12-1 PM (51)
Apr 23, 1-2 PM (66)
Apr 23, 2-3 PM (57)
Apr 23, 3-4 PM (25)
Apr 23, 4-5 PM (17)
Apr 23, 5-6 PM (0)
3,795 commits this week
Apr 16, 2026
-
Apr 23, 2026
feat(ci): support for 'mithril-merkle-tree' crate
refactor(common): remove Merkle tree and map from common
And adapt Cardano related test extensions.
feat(merkle-tree): add new 'mithril-merkle-tree' internal crate
feat: implement connectionless issuance E2E tests
Signed-off-by: Aaravanand00 <[email protected]>
fix(ledger): per-peer loop detection
Signed-off-by: Chris Gianelloni <[email protected]>
feat: implement connectionless issuance E2E tests
Signed-off-by: Aaravanand00 <[email protected]>
refactor: replace AnyCardanoEra with Read.EraValue in NetworkLayer
refactor: use constructUnsignedTxLedger in balanceTx paths
refactor: migrate all TxMetadata to wallet-owned types end-to-end
refactor: replace StakeAddress with wallet-owned RewardAccount
fix: build delegation and voting certs in balanceTx paths
feat: wire ledger-native witnesses into TransactionLedgerSpec
Replace mkUnsignedTx + mkByronWitness/mkShelleyWitness with mkLedgerTx + mkByronWitnessLedger/mkShelleyWitnessLedger in the duplicated test module. All 8 golden hex string tests pass — ledger-native construction produces byte-identical CBOR to the cardano-api construction.
test: implement connectionless issuance E2E tests
Signed-off-by: Aaravanand00 <[email protected]>
build(deps): bump github.com/jackc/pgx/v5 from 5.9.0 to 5.9.2
Bumps [github.com/jackc/pgx/v5](https://github.com/jackc/pgx) from 5.9.0 to 5.9.2. - [Changelog](https://github.com/jackc/pgx/blob/master/CHANGELOG.md) - [Commits](https://github.com/jackc/pgx/compare/v5.9.0...v5.9.2) --- updated-dependencies: - dependency-name: github.com/jackc/pgx/v5 dependency-version: 5.9.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]>
run separate golden_traceMessages tests for debug/release builds
The trace messages that get emitted differ between debug and release builds. Therefore, running the same test (with the same golden file of expected trace messages) both for debug and release builds will cause problems. To avoid these, we now have two separate tests, each with its own golden file, and only run the appropriate one depending on the build type. The only reason this did not lead to problems so far is that the test only inserted four entries into the table, not triggering any interesting internal events. However, we *will* emit internal messages once we start migrating the union level when a union is paid off (or we decide to test more interesting operations). Since we now can, I made sure that these tests now at least trigger the creation of a merge.
fix(pluto): add tests for SD-JWT restore
Signed-off-by: Bhargav Dabhade <[email protected]>
run separate golden_traceMessages test for debug/release
The tracing messages that get emitted differ between debug and release builds. Therefore, running the same test (with the same golden file of expected tracing messages) both for debug and release builds will cause problems. To avoid these, we now have two separate tests, each with its own golden file, and only run the appropriate one depending on the build type. The only reason this did not lead to problems so far is that the test only inserted four entries into the table, not triggering any interesting internal events. However, we *will* emit internal messages once we start migrating the union level when a union is paid off (or we decide to test more interesting operations).
fix: preload developer portal hero and reserve aspect ratio to prevent CLS
Merge branch 'master' into user-friendly-config
Bump sidecar image to 1362c5b
Picks up the instrumented convergence composer built by publish-images from the preceding commit.
sidecar composer: instrument convergence template for Antithesis
Applies the /antithesis-tests skill to the flagship test. Before, the
cardano_node_master testnet had:
- One no-op serial_driver (sleep 60), inherited from moog with no
test semantics. Antithesis's 'All commands were run to completion
at least once' property required it to run on some timeline, which
it sometimes didn't at duration=1h (~30% flake rate).
- One eventually_ command with a 12-hour polling loop. Antithesis's
eventually_ is meant to be a short post-fault recovery probe that
exits quickly. A 12h loop means the script never 'runs to
completion' in any reasonable duration, double-flagging under
'started' and 'run to completion' properties.
- No finally_ command at all.
- No SDK assertions anywhere — the report had nothing to score.
After:
- components/sidecar/composer/convergence/helper_sdk_lib.sh
Sourceable bash emitter for Antithesis's Fallback SDK JSONL.
Offers sdk_reachable / sdk_unreachable / sdk_sometimes / sdk_always.
'helper_' prefix → ignored by the composer, usable by siblings.
- components/sidecar/composer/convergence/eventually_converged.sh
Rewritten per the canonical pattern: sleep 15s to settle after
fault injection stops, then up to 10×2s retries (35s worst-case
wall time) querying tip on every producer, exit 0 on
convergence / 1 on failure. Emits sdk_reachable on entry,
sdk_sometimes on success, sdk_unreachable on genuine
non-convergence. Was a 12h polling loop.
- components/sidecar/composer/convergence/finally_tips_agree.sh
New. Runs after drivers complete naturally. 15s settle + 5×2s
tip-agreement retries. sdk_always on the final-state invariant:
every producer agrees on the tip after workload ends. A failing
sdk_always here means the test created a permanent fork.
- components/sidecar/composer/convergence/serial_driver_tip_agreement.sh
New. Replaces serial_driver_sleep.sh. Samples tip on every
producer 3× under active fault injection, emits sdk_sometimes
whether tips agree or diverge. Real exclusive-access semantics
(blocks parallel drivers from writing to the chain while
sampling), and every sample is a reportable data point.
- components/sidecar/composer/convergence/serial_driver_sleep.sh — deleted.
Locally verified: each script runs to completion on a healthy
compose, all three emit well-formed antithesis_assert JSONL, total
wall time eventually=20s / finally=20s / serial=48s on a green
cluster. No timeout wrapper around cardano-cli ping (the sidecar
image is minimal — coreutils + bash + jq — and 'timeout' was
swallowing cardano-cli's stdout).