Commit e545e14
Update multisig bindings to support recursive aggregation (leanEthereum#496)
* cryptography: replace Poseidon2 by Poseidon1
* cleanup
* add zk friendly encoding
* fix constants
* small changes (data ordering + replacement sponge)
* update leanmultisig bindings
* update bindings commit hash
* update as per latest api
* update bindings
* fix ci
* set gossipsub to v1.2.0
* try ci fix
* address comments
* use log_inv_rate=1 in test mode
* tests: try to debug test fixtures
* update lean-multisig-py
* review: code quality fixes and compact aggregate refactor
- Remove duplicate TYPE_CHECKING import in state.py
- Add explicit parentheses for operator precedence in poseidon1 permutation
- Alias TEST_POSEIDON to PROD_POSEIDON (identical params, misleading docstring)
- Cache Poseidon1 engine in compress() consistently with sponge()
- Fix Mapping -> dict annotation for mutated variable in fork_choice.py
- Replace comments with docstrings for module constants (project convention)
- Remove stale Poseidon2 reference in permutation.py
- Add docstrings to PROD_CONFIG, TEST_CONFIG, PARAMS_16, PARAMS_24
- Refactor _extend_proofs_greedily -> _select_proofs_greedily:
- Return values instead of mutating in place
- Variadic *proof_sets for priority-ordered input
- Remove attestation_data/attestations optional params
- Simplify aggregate() method:
- Remove redundant double-sort
- Phase 2 as filtered comprehension
- Dict key views without set() wrapping
- Early return []
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* cleanup: remove dead code after poseidon1 migration
- Delete hypercube.py (no longer imported by message_hash.py)
- Delete test_hypercube.py (tested only the deleted module)
- Inline _calculate_layer_size into test_security_levels.py (sole consumer)
- Update CONTRIBUTING.md: poseidon2 -> poseidon1 reference
- Update README.md: poseidon2/ -> poseidon1/ directory tree
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: correct comment about sort ordering in aggregate
The Rust aggregation bindings sort internally by public key,
not by validator index. The sort here is for deterministic output.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Thomas Coratger <thomas.coratger@gmail.com>
Co-authored-by: Tom Wambsgans <TomWambsgans@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent dbc2e77 commit e545e14
52 files changed
Lines changed: 2811 additions & 2490 deletions
File tree
- .github/workflows
- packages/testing/src/consensus_testing
- test_fixtures
- test_keys/test_scheme
- src/lean_spec/subspecs
- containers
- state
- forkchoice
- networking
- poseidon1
- poseidon2
- validator
- xmss
- tests
- consensus/devnet
- fc
- verify_signatures
- interop
- lean_spec/subspecs
- containers
- forkchoice
- poseidon1
- poseidon2
- xmss
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
122 | | - | |
| 122 | + | |
123 | 123 | | |
124 | 124 | | |
125 | | - | |
| 125 | + | |
126 | 126 | | |
127 | 127 | | |
128 | 128 | | |
| |||
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
| 137 | + | |
137 | 138 | | |
138 | 139 | | |
139 | 140 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
| 29 | + | |
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
71 | | - | |
| 71 | + | |
72 | 72 | | |
73 | | - | |
74 | | - | |
| 73 | + | |
| 74 | + | |
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| |||
Lines changed: 6 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
36 | 37 | | |
37 | 38 | | |
38 | 39 | | |
| |||
456 | 457 | | |
457 | 458 | | |
458 | 459 | | |
459 | | - | |
| 460 | + | |
460 | 461 | | |
461 | 462 | | |
462 | 463 | | |
463 | 464 | | |
464 | 465 | | |
465 | 466 | | |
466 | 467 | | |
467 | | - | |
468 | | - | |
469 | | - | |
470 | | - | |
471 | | - | |
472 | | - | |
473 | | - | |
474 | | - | |
475 | | - | |
476 | 468 | | |
477 | 469 | | |
478 | 470 | | |
| |||
483 | 475 | | |
484 | 476 | | |
485 | 477 | | |
486 | | - | |
| 478 | + | |
487 | 479 | | |
488 | 480 | | |
489 | 481 | | |
| |||
552 | 544 | | |
553 | 545 | | |
554 | 546 | | |
555 | | - | |
| 547 | + | |
556 | 548 | | |
557 | 549 | | |
558 | 550 | | |
| |||
578 | 570 | | |
579 | 571 | | |
580 | 572 | | |
581 | | - | |
| 573 | + | |
582 | 574 | | |
583 | 575 | | |
584 | 576 | | |
| |||
Lines changed: 4 additions & 4 deletions
Large diffs are not rendered by default.
Lines changed: 4 additions & 4 deletions
Large diffs are not rendered by default.
Lines changed: 4 additions & 4 deletions
Large diffs are not rendered by default.
Lines changed: 4 additions & 4 deletions
Large diffs are not rendered by default.
Lines changed: 4 additions & 4 deletions
Large diffs are not rendered by default.
0 commit comments