Apr 16, 4-5 PM (47)
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 (56)
Apr 23, 3-4 PM (20)
Apr 23, 4-5 PM (0)
3,818 commits this week
Apr 16, 2026
-
Apr 23, 2026
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).
chore(deps-dev): bump picomatch from 2.3.1 to 2.3.2 (#1744)
Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Yurii Shynbuiev <[email protected]>
fix: replace useBaseUrl hook calls inside callbacks/conditionals with useBaseUrlUtils (#601)
feat(stm): added function to compute the recursive verification key
feat(ledger): introduce hardfork combinator shapes and refactor ledger (#2011)
* feat(ledger/hardfork): implement hardfork combinator types Signed-off-by: Chris Guiney <[email protected]> * chore: move all references to TransitionState and TransitionInfo to hardfork package Signed-off-by: Chris Guiney <[email protected]> * feat(ledger): add StabilityWindowForEra function Signed-off-by: Chris Guiney <[email protected]> * feat(ledger): add HardforkSummary method to ledger state Signed-off-by: Chris Guiney <[email protected]> * refactor(ledger): wire SlotToTime, TimeToSlot, and SlotToEpoch through HardforkSummary Signed-off-by: Chris Guiney <[email protected]> * refactor(leger): refactor queryHardforkEraHistory to use hardfork package Signed-off-by: Chris Guiney <[email protected]> --------- Signed-off-by: Chris Guiney <[email protected]>
refactor: migrate all TxMetadata to wallet-owned types end-to-end
add test case from standard to make sure hkdf is properly working
Merge branch 'main' into dependabot/npm_and_yarn/picomatch-2.3.2
refactor: replace StakeAddress with wallet-owned RewardAccount
Update from 92824a33fb0619937784f6ec3de9e3a6feeb3e27
test: implement connectionless issuance E2E tests
fix: build delegation and voting certs in balanceTx paths
chore: cardano-cli 10.15.1.0 (#224)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Fixed the metadatum decoding test
Update head.hackage hash (#248)
This should fix the following error:
error: hash mismatch in fixed-output derivation '/nix/store/4a81ynkkkxdg2zj29vf3nv9933n0ckxv-head.hackage.ghc.haskell.org.drv':
specified: sha256-yFGpWo9ulwBEUyzTLKJBtbCWi7Ly4NEtocBRogdew9g=
got: sha256-O6vUr/LlMiC9FtmGQg+1DiiTnhkru8Bkgtrjo+A06gw=
error: Cannot build '/nix/store/xa64sf0p9kxd57zbrn5jh4x6gnh7r22b-dot-cabal.drv'.
refactor: replace AnyCardanoEra with Read.EraValue in NetworkLayer