Apr 29, 6-7 AM (12)
Apr 29, 7-8 AM (45)
Apr 29, 8-9 AM (75)
Apr 29, 9-10 AM (49)
Apr 29, 10-11 AM (28)
Apr 29, 11-12 PM (51)
Apr 29, 12-1 PM (39)
Apr 29, 1-2 PM (21)
Apr 29, 2-3 PM (67)
Apr 29, 3-4 PM (25)
Apr 29, 4-5 PM (36)
Apr 29, 5-6 PM (16)
Apr 29, 6-7 PM (10)
Apr 29, 7-8 PM (14)
Apr 29, 8-9 PM (13)
Apr 29, 9-10 PM (17)
Apr 29, 10-11 PM (25)
Apr 29, 11-12 AM (29)
Apr 30, 12-1 AM (6)
Apr 30, 1-2 AM (8)
Apr 30, 2-3 AM (1)
Apr 30, 3-4 AM (6)
Apr 30, 4-5 AM (2)
Apr 30, 5-6 AM (8)
Apr 30, 6-7 AM (15)
Apr 30, 7-8 AM (17)
Apr 30, 8-9 AM (100)
Apr 30, 9-10 AM (19)
Apr 30, 10-11 AM (50)
Apr 30, 11-12 PM (120)
Apr 30, 12-1 PM (69)
Apr 30, 1-2 PM (45)
Apr 30, 2-3 PM (117)
Apr 30, 3-4 PM (29)
Apr 30, 4-5 PM (34)
Apr 30, 5-6 PM (9)
Apr 30, 6-7 PM (20)
Apr 30, 7-8 PM (23)
Apr 30, 8-9 PM (28)
Apr 30, 9-10 PM (13)
Apr 30, 10-11 PM (25)
Apr 30, 11-12 AM (15)
May 01, 12-1 AM (18)
May 01, 1-2 AM (15)
May 01, 2-3 AM (6)
May 01, 3-4 AM (7)
May 01, 4-5 AM (3)
May 01, 5-6 AM (5)
May 01, 6-7 AM (8)
May 01, 7-8 AM (15)
May 01, 8-9 AM (24)
May 01, 9-10 AM (17)
May 01, 10-11 AM (16)
May 01, 11-12 PM (17)
May 01, 12-1 PM (39)
May 01, 1-2 PM (32)
May 01, 2-3 PM (19)
May 01, 3-4 PM (16)
May 01, 4-5 PM (25)
May 01, 5-6 PM (11)
May 01, 6-7 PM (20)
May 01, 7-8 PM (22)
May 01, 8-9 PM (65)
May 01, 9-10 PM (15)
May 01, 10-11 PM (40)
May 01, 11-12 AM (61)
May 02, 12-1 AM (6)
May 02, 1-2 AM (11)
May 02, 2-3 AM (5)
May 02, 3-4 AM (8)
May 02, 4-5 AM (6)
May 02, 5-6 AM (2)
May 02, 6-7 AM (2)
May 02, 7-8 AM (14)
May 02, 8-9 AM (7)
May 02, 9-10 AM (8)
May 02, 10-11 AM (11)
May 02, 11-12 PM (7)
May 02, 12-1 PM (7)
May 02, 1-2 PM (3)
May 02, 2-3 PM (14)
May 02, 3-4 PM (9)
May 02, 4-5 PM (27)
May 02, 5-6 PM (9)
May 02, 6-7 PM (29)
May 02, 7-8 PM (11)
May 02, 8-9 PM (15)
May 02, 9-10 PM (1)
May 02, 10-11 PM (20)
May 02, 11-12 AM (18)
May 03, 12-1 AM (8)
May 03, 1-2 AM (1)
May 03, 2-3 AM (4)
May 03, 3-4 AM (7)
May 03, 4-5 AM (1)
May 03, 5-6 AM (4)
May 03, 6-7 AM (32)
May 03, 7-8 AM (5)
May 03, 8-9 AM (1)
May 03, 9-10 AM (3)
May 03, 10-11 AM (10)
May 03, 11-12 PM (11)
May 03, 12-1 PM (16)
May 03, 1-2 PM (11)
May 03, 2-3 PM (2)
May 03, 3-4 PM (2)
May 03, 4-5 PM (5)
May 03, 5-6 PM (0)
May 03, 6-7 PM (5)
May 03, 7-8 PM (6)
May 03, 8-9 PM (8)
May 03, 9-10 PM (15)
May 03, 10-11 PM (23)
May 03, 11-12 AM (17)
May 04, 12-1 AM (4)
May 04, 1-2 AM (4)
May 04, 2-3 AM (10)
May 04, 3-4 AM (9)
May 04, 4-5 AM (5)
May 04, 5-6 AM (6)
May 04, 6-7 AM (6)
May 04, 7-8 AM (28)
May 04, 8-9 AM (24)
May 04, 9-10 AM (43)
May 04, 10-11 AM (36)
May 04, 11-12 PM (61)
May 04, 12-1 PM (34)
May 04, 1-2 PM (47)
May 04, 2-3 PM (64)
May 04, 3-4 PM (33)
May 04, 4-5 PM (64)
May 04, 5-6 PM (49)
May 04, 6-7 PM (13)
May 04, 7-8 PM (31)
May 04, 8-9 PM (45)
May 04, 9-10 PM (9)
May 04, 10-11 PM (54)
May 04, 11-12 AM (24)
May 05, 12-1 AM (4)
May 05, 1-2 AM (5)
May 05, 2-3 AM (5)
May 05, 3-4 AM (11)
May 05, 4-5 AM (11)
May 05, 5-6 AM (50)
May 05, 6-7 AM (16)
May 05, 7-8 AM (36)
May 05, 8-9 AM (81)
May 05, 9-10 AM (68)
May 05, 10-11 AM (34)
May 05, 11-12 PM (71)
May 05, 12-1 PM (115)
May 05, 1-2 PM (118)
May 05, 2-3 PM (65)
May 05, 3-4 PM (91)
May 05, 4-5 PM (41)
May 05, 5-6 PM (26)
May 05, 6-7 PM (28)
May 05, 7-8 PM (73)
May 05, 8-9 PM (31)
May 05, 9-10 PM (18)
May 05, 10-11 PM (25)
May 05, 11-12 AM (17)
May 06, 12-1 AM (10)
May 06, 1-2 AM (5)
May 06, 2-3 AM (9)
May 06, 3-4 AM (22)
May 06, 4-5 AM (4)
May 06, 5-6 AM (12)
May 06, 6-7 AM (2)
4,115 commits this week Apr 29, 2026 - May 06, 2026
refactor: remove sync effects (#747)
* refactor: remove sync effects

Signed-off-by: Eric Torreborre <[email protected]>

* refactor: hide effects type parameters in store and ledger

Signed-off-by: Eric Torreborre <[email protected]>

* feat: implement store effects with consistent snapshots

Signed-off-by: Eric Torreborre <[email protected]>

* fix: better take care of the origin point when getting a tip

Signed-off-by: Eric Torreborre <[email protected]>

* fix: select a correct best candidate on startup

Signed-off-by: Eric Torreborre <[email protected]>

* fix: collect then delete keys when switching to a new fork

Signed-off-by: Eric Torreborre <[email protected]>

* fix: get the next best chain header from a snapshot

Signed-off-by: Eric Torreborre <[email protected]>

* chore: rebase on main

Signed-off-by: Eric Torreborre <[email protected]>

* refactor: remove the use of a Vec::remove call

Signed-off-by: Eric Torreborre <[email protected]>

* fix: make sure that two functions can be called with the origin point

Signed-off-by: Eric Torreborre <[email protected]>

* test: fix the overriding chainstore when using snapshots

Signed-off-by: Eric Torreborre <[email protected]>

* fix: make sure that we can always return a best chain tip

Signed-off-by: Eric Torreborre <[email protected]>

* feat: find a rollback point using a snapshot

Signed-off-by: Eric Torreborre <[email protected]>

* fix: deal with the origin point when getting the next best chaint point

Signed-off-by: Eric Torreborre <[email protected]>

* feat: add a note about fixing the special case of the origin point in the store

Signed-off-by: Eric Torreborre <[email protected]>

* refactor: return more precise results for missing blocks

Signed-off-by: Eric Torreborre <[email protected]>

* doc: add a todo for storing tips

Signed-off-by: Eric Torreborre <[email protected]>

* refactor: remove an unnecessary test

Signed-off-by: Eric Torreborre <[email protected]>

* refactor: find ancestor on best chain

Signed-off-by: Eric Torreborre <[email protected]>

* refactor: improve find_common_ancestor

Signed-off-by: Eric Torreborre <[email protected]>

* fix: the origin point is always considered to be an intersection point.

Signed-off-by: Eric Torreborre <[email protected]>

* refactor: use an enum to handle intersection points results

Signed-off-by: Eric Torreborre <[email protected]>

* chore: rebase on main

Signed-off-by: Eric Torreborre <[email protected]>

* refactor: use the same implementation for the optimistic and the snapshot db

Signed-off-by: Eric Torreborre <[email protected]>

* refactor: add a comment

Signed-off-by: Eric Torreborre <[email protected]>

* refactor: simplify the search for best select_chain candidates on startup

Signed-off-by: Eric Torreborre <[email protected]>

* fix: revert the changes for finding a rollback point using the ledger

Signed-off-by: Eric Torreborre <[email protected]>

* refactor: use a fallback for the tip effect

Signed-off-by: Eric Torreborre <[email protected]>

* refactor: find the best tip candidate on startup

Signed-off-by: Eric Torreborre <[email protected]>

* fix: use the anchor hash to find the best candidate tip + additional improvements

Signed-off-by: Eric Torreborre <[email protected]>

---------

Signed-off-by: Eric Torreborre <[email protected]>
Display badges for competing proposals (#157)
* Add visualization of proposal conflicts (with mock data)

Signed-off-by: Matthieu Pizenberg <[email protected]>

* Add tooltips for the conflict badges

Signed-off-by: Matthieu Pizenberg <[email protected]>

* Remove mock data

Signed-off-by: Matthieu Pizenberg <[email protected]>

* Format the elm code

Signed-off-by: Matthieu Pizenberg <[email protected]>

---------

Signed-off-by: Matthieu Pizenberg <[email protected]>
feat: add cardano-crypto-wallet-format package
Introduces a new package providing authenticated v2 envelope wrapping
for Byron HD wallet extended private keys.

Key design:
- C layer handles ed25519 key generation, public-key derivation, signing,
  and BIP32 child derivation; it stores and operates on plaintext key
  material only
- Haskell layer owns all encryption: Argon2id key derivation
  (128 MiB, t=3, p=4) and XChaCha20-Poly1305 AEAD wrapping with a
  freshly randomized salt and nonce per write
- CBOR-encoded versioned envelope with explicit associated data binding
  format version, KDF parameters, cipher, payload shape, public key,
  and chain code — preventing silent swaps without detection
- Fail-closed public API: passphrase-using operations return Either and
  reject wrong passphrases at authentication time
- Test helpers for fast-KDF and deterministic randomness modes keep the
  test suite sub-second without touching production paths
- Benchmark suite covers create, validate, sign, and change-passphrase
  under production Argon2id parameters