deploy: 08eddbfc2c77ff1b38e6d9e791d41266a17b8a32
Apr 10, 9-10 AM (20)
Apr 10, 10-11 AM (61)
Apr 10, 11-12 PM (70)
Apr 10, 12-1 PM (46)
Apr 10, 1-2 PM (24)
Apr 10, 2-3 PM (36)
Apr 10, 3-4 PM (33)
Apr 10, 4-5 PM (38)
Apr 10, 5-6 PM (30)
Apr 10, 6-7 PM (11)
Apr 10, 7-8 PM (13)
Apr 10, 8-9 PM (7)
Apr 10, 9-10 PM (25)
Apr 10, 10-11 PM (47)
Apr 10, 11-12 AM (18)
Apr 11, 12-1 AM (6)
Apr 11, 1-2 AM (4)
Apr 11, 2-3 AM (2)
Apr 11, 3-4 AM (0)
Apr 11, 4-5 AM (8)
Apr 11, 5-6 AM (4)
Apr 11, 6-7 AM (5)
Apr 11, 7-8 AM (7)
Apr 11, 8-9 AM (3)
Apr 11, 9-10 AM (0)
Apr 11, 10-11 AM (10)
Apr 11, 11-12 PM (4)
Apr 11, 12-1 PM (7)
Apr 11, 1-2 PM (3)
Apr 11, 2-3 PM (7)
Apr 11, 3-4 PM (12)
Apr 11, 4-5 PM (18)
Apr 11, 5-6 PM (39)
Apr 11, 6-7 PM (0)
Apr 11, 7-8 PM (0)
Apr 11, 8-9 PM (2)
Apr 11, 9-10 PM (1)
Apr 11, 10-11 PM (19)
Apr 11, 11-12 AM (23)
Apr 12, 12-1 AM (4)
Apr 12, 1-2 AM (1)
Apr 12, 2-3 AM (9)
Apr 12, 3-4 AM (2)
Apr 12, 4-5 AM (0)
Apr 12, 5-6 AM (2)
Apr 12, 6-7 AM (2)
Apr 12, 7-8 AM (1)
Apr 12, 8-9 AM (3)
Apr 12, 9-10 AM (2)
Apr 12, 10-11 AM (11)
Apr 12, 11-12 PM (4)
Apr 12, 12-1 PM (1)
Apr 12, 1-2 PM (10)
Apr 12, 2-3 PM (24)
Apr 12, 3-4 PM (7)
Apr 12, 4-5 PM (7)
Apr 12, 5-6 PM (17)
Apr 12, 6-7 PM (2)
Apr 12, 7-8 PM (1)
Apr 12, 8-9 PM (8)
Apr 12, 9-10 PM (9)
Apr 12, 10-11 PM (38)
Apr 12, 11-12 AM (23)
Apr 13, 12-1 AM (5)
Apr 13, 1-2 AM (6)
Apr 13, 2-3 AM (5)
Apr 13, 3-4 AM (6)
Apr 13, 4-5 AM (2)
Apr 13, 5-6 AM (18)
Apr 13, 6-7 AM (23)
Apr 13, 7-8 AM (39)
Apr 13, 8-9 AM (43)
Apr 13, 9-10 AM (51)
Apr 13, 10-11 AM (75)
Apr 13, 11-12 PM (35)
Apr 13, 12-1 PM (55)
Apr 13, 1-2 PM (80)
Apr 13, 2-3 PM (42)
Apr 13, 3-4 PM (20)
Apr 13, 4-5 PM (31)
Apr 13, 5-6 PM (25)
Apr 13, 6-7 PM (18)
Apr 13, 7-8 PM (13)
Apr 13, 8-9 PM (15)
Apr 13, 9-10 PM (22)
Apr 13, 10-11 PM (29)
Apr 13, 11-12 AM (13)
Apr 14, 12-1 AM (6)
Apr 14, 1-2 AM (8)
Apr 14, 2-3 AM (15)
Apr 14, 3-4 AM (4)
Apr 14, 4-5 AM (4)
Apr 14, 5-6 AM (63)
Apr 14, 6-7 AM (50)
Apr 14, 7-8 AM (100)
Apr 14, 8-9 AM (33)
Apr 14, 9-10 AM (21)
Apr 14, 10-11 AM (34)
Apr 14, 11-12 PM (42)
Apr 14, 12-1 PM (72)
Apr 14, 1-2 PM (96)
Apr 14, 2-3 PM (44)
Apr 14, 3-4 PM (35)
Apr 14, 4-5 PM (9)
Apr 14, 5-6 PM (20)
Apr 14, 6-7 PM (22)
Apr 14, 7-8 PM (14)
Apr 14, 8-9 PM (10)
Apr 14, 9-10 PM (11)
Apr 14, 10-11 PM (24)
Apr 14, 11-12 AM (24)
Apr 15, 12-1 AM (3)
Apr 15, 1-2 AM (9)
Apr 15, 2-3 AM (8)
Apr 15, 3-4 AM (1)
Apr 15, 4-5 AM (1)
Apr 15, 5-6 AM (32)
Apr 15, 6-7 AM (6)
Apr 15, 7-8 AM (18)
Apr 15, 8-9 AM (46)
Apr 15, 9-10 AM (40)
Apr 15, 10-11 AM (126)
Apr 15, 11-12 PM (53)
Apr 15, 12-1 PM (59)
Apr 15, 1-2 PM (43)
Apr 15, 2-3 PM (45)
Apr 15, 3-4 PM (28)
Apr 15, 4-5 PM (43)
Apr 15, 5-6 PM (21)
Apr 15, 6-7 PM (33)
Apr 15, 7-8 PM (15)
Apr 15, 8-9 PM (17)
Apr 15, 9-10 PM (5)
Apr 15, 10-11 PM (20)
Apr 15, 11-12 AM (16)
Apr 16, 12-1 AM (12)
Apr 16, 1-2 AM (6)
Apr 16, 2-3 AM (7)
Apr 16, 3-4 AM (3)
Apr 16, 4-5 AM (4)
Apr 16, 5-6 AM (8)
Apr 16, 6-7 AM (33)
Apr 16, 7-8 AM (31)
Apr 16, 8-9 AM (29)
Apr 16, 9-10 AM (27)
Apr 16, 10-11 AM (50)
Apr 16, 11-12 PM (56)
Apr 16, 12-1 PM (57)
Apr 16, 1-2 PM (28)
Apr 16, 2-3 PM (35)
Apr 16, 3-4 PM (45)
Apr 16, 4-5 PM (46)
Apr 16, 5-6 PM (56)
Apr 16, 6-7 PM (15)
Apr 16, 7-8 PM (68)
Apr 16, 8-9 PM (38)
Apr 16, 9-10 PM (8)
Apr 16, 10-11 PM (23)
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 (7)
Apr 17, 6-7 AM (25)
Apr 17, 7-8 AM (94)
Apr 17, 8-9 AM (68)
Apr 17, 9-10 AM (23)
3,910 commits this week
Apr 10, 2026
-
Apr 17, 2026
Use LR flowcharts
Co-authored-by: Sebastian Nagel <[email protected]>
feat(blockfetch): parallel shadow blockfetch with per-peer latency tracking
Add four-phase parallel blockfetch improvements: Phase 1 - Per-peer blockfetch latency EWMA: Track first-block response latency per connection using exponential moving average (alpha=0.2). New methods: RecordBlockfetchLatency, BlockfetchLatency on chainsync state. Phase 2 - Latency tiebreaker in chain selection: When two peers have equal observed tips, prefer the peer with lower blockfetch latency before falling back to connection ID string comparison. Phase 3 - Shadow blockfetch dispatch: For small near-tip batches (<=4 headers), dispatch the same RequestRange to a second peer that has already seen the block header. Accept blocks from whichever peer responds first with hash-based dedup to prevent double-apply. Phase 4 - Node wiring: Connect PeersWithBlock, RecordBlockfetchLatency, and BlockfetchLatency callbacks through LedgerStateConfig and ChainSelectorConfig. Signed-off-by: wcatz <[email protected]>
Merge pull request #3203 from input-output-hk/jpraynaud/3101-cardano-blocks-transactions-website-doc
docs: add documentation for Cardano Blocks and Transactions in website
fix: address SonarCloud code smells in worker files
Signed-off-by: Seydi Charyyev <[email protected]>
refactor(workers): tighten typing and clean up inline docs
- Replace `keyType: string` with `CryptoKeyType` in four worker handlers so new key types in the union type are caught by the compiler. - Remove the redundant `const Mnemonic` shadow inside handleGenerateKeyPair (the outer binding is already in scope). - Consolidate nine per-method JSDoc comments into a single class-level doc. The method signatures already describe their inputs and outputs, and the isSupported() contract is now stated once at the class level. - Enforce the isSupported() contract in getWorker(): throw an explicit error when Web Workers are unavailable instead of letting `new Worker(...)` fail with a cryptic runtime error in Node.js or SSR. Signed-off-by: Seydi Charyyev <[email protected]>
fix: use direct undefined comparison instead of typeof
Signed-off-by: Seydi Charyyev <[email protected]>
feat: offload crypto operations to Web Workers for non-blocking UI
Signed-off-by: Seydi Charyyev <[email protected]>
Add custom CBOR generator for block_body
Generate valid invalid_transactions indices that are within the tx count range. Uses AntiGen to produce out-of-range indices when zapping for anti-CBOR tests.
Use deriving via Mem for Annotator BlockBody decoder
Derive DecCBOR (Annotator (DijkstraBlockBody era)) via Mem (DijkstraBlockBodyRaw era) to preserve original bytes in MemoBytes, matching the pattern used by AlonzoTxWits and other memoized types. This fixes the hash mismatch between the Annotator and non-Annotator decoders.
Reimplement alignedValidFlags using IntSet
Fix BlockBody serialization and add DecCBOR instance
- Fix PerasCert to encode/decode as bytes (matching CDDL nil / VBytes) - Use encodeNullStrictMaybe/decodeNullStrictMaybe for optional peras_certificate - Handle both definite and indefinite length lists in BlockBody decoder - Add index range validation in BlockBody decoder (matching Alonzo) - Add DecCBOR instances for DijkstraBlockBodyRaw and DijkstraBlockBody in testlib - Add NFData and EncCBOR deriving for DijkstraBlockBody newtype - Export DijkstraBlockBodyRaw and MkDijkstraBlockBody from Internal module - xdescribe block_body CDDL round-trip tests (invalid_transactions indices)
xdescribe failing TxWits antiCbor test
Empty bootstrap witnesses list is accepted by the decoder but rejected by CDDL validation (nonempty_set).
Added more CddlSpec tests
Added blockBodySize method
Update huddle for block and add block_body
Added changelog entries
Remove proto-lens SRP
fix(ui): Verify screen bugs (#1652)
* wip: adjust borders - margins - paddings - text alignment - app version * fix: issue with wrong class and clean up
Populate values for OSC modification