Commit Graph

9045 Commits

Author SHA1 Message Date
Hsiao-Wei Wang 868a600a57
Merge pull request #3537 from etan-status/lc-gindexname
Rename `_INDEX` generalized index constants to `_GINDEX`
2024-01-15 18:57:48 +08:00
Hsiao-Wei Wang 1509b22c7a
Merge pull request #3557 from ethereum/polynomial-commitments-sampling
EIP-7594: Add cryptography specs for sampling
2024-01-15 16:16:49 +08:00
Hsiao-Wei Wang b7d9ea9a75
Rename `peerdas` to `eip7594` 2024-01-14 00:13:08 +08:00
Dankrad Feist 4cc1e14a17
Forgot factor of 2 for roots_of_unity_extended 2024-01-12 12:39:08 +00:00
Dankrad Feist 9a851d93c4
Linter 2024-01-11 21:58:24 +00:00
Dankrad Feist 7ec0a2531c
Doctoc 2024-01-11 21:11:57 +00:00
Dankrad Feist c2522ac467
Correct type definition for PolynomialCoeff 2024-01-11 21:05:51 +00:00
Dankrad Feist b55ab46909
Correct type info for verify_kzg_proof_multi_impl 2024-01-11 20:57:16 +00:00
danny 9f533cfde1
Merge pull request #3506 from status-im/canonical-json-byte
ssz: `byte` type and canonical JSON mapping
2024-01-11 08:45:20 -07:00
Dankrad Feist fddbd6b76c
Remove constants in favour of using compute_roots_of_unity 2024-01-11 15:42:10 +00:00
Dankrad Feist d21d99f8d8
Add constant for multi cell verification challenge 2024-01-10 19:13:33 +00:00
Hsiao-Wei Wang e42974ef03
Merge pull request #3571 from etan-status/lc-periodhelpers
Extract sync committee period <-> slot helpers to common LC test module
2024-01-11 00:16:20 +08:00
Hsiao-Wei Wang 0dcb3bedaf
Merge pull request #3569 from etan-status/lc-migrationhelpers
Extract LC migration test helpers to `light_client.py` module
2024-01-11 00:04:15 +08:00
Hsiao-Wei Wang 3749caad74
Merge pull request #3573 from parithosh/remove-docker-test
Removing docker CI test and add docker tutorial
2024-01-11 00:03:06 +08:00
Hsiao-Wei Wang 8256e3d801
Update docker/README.md 2024-01-10 23:41:35 +08:00
parithosh 5d17550134
update docker readme 2024-01-10 14:09:32 +01:00
parithosh b952203cae
removing dockerfile ci test 2024-01-10 14:04:37 +01:00
Etan Kissling 240a127f9f
Consider fork transitions when using `get_sync_aggregate` helper func
When calling `get_sync_aggregate` with a `signature_slot - 1` in a
future fork, i.e., the first slot of the new fork is missed, it uses
a wrong fork version for the signature. Fix that by correctly applying
fork transitions to the `signature_state`, if a fork schedule is given.
2024-01-09 16:10:28 +01:00
Etan Kissling 6c6ed3eab9
Extract sync committee period <-> slot helpers to common LC test module
The two functions `compute_start_slot_at_sync_committee_period` and
`compute_start_slot_at_next_sync_committee_period` are currently only
available during LC `test_sync`. Move them to the common LC test module
so that they can be used from future tests as well.
2024-01-09 15:49:45 +01:00
Etan Kissling 0e155327fd
Add guard when `fill_prev_epoch` is `True` in epoch `0`
`state_transition_with_full_block` takes two flags, `fill_cur_epoch`
and `fill_prev_epoch`, to control what attestations to include into
the new testing block.

While `fill_cur_epoch` uses `MIN_ATTESTATION_INCLUSION_DELAY` as the
minimum slot before taking effect, `fill_prev_epoch` results in an
annoying assert, requiring caller to work around the case of calling
the function as usual at the start.

This adds a similar minimum slot `SLOTS_PER_EPOCH` for `fill_prev_epoch`
before which the flag is ignored, same as for `fill_cur_epoch`.
2024-01-09 15:41:35 +01:00
Etan Kissling 69d043b437
Extract LC migration test helpers to `light_client.py` module
The helpers needed to migrate LC data across forks are generic enough to
allow extraction from a specific test into the common `light_client.py`
helper module. This way, it is possible to use them from future tests.

Also complete the missing functions for `LightClientFinalityUpdate`,
`LightClientOptimisticUpdate` and `LightClientHeader` in same style.
2024-01-09 15:33:43 +01:00
Hsiao-Wei Wang 7e10d8ad2b
Set `--bls-type` default value to `fastest` (#3567) 2024-01-09 16:29:06 +02:00
Etan Kissling 9ebf456e5a
Move `Vector` support from main section parser to types section parser 2024-01-09 15:14:50 +01:00
George Kadianakis 9134cd1e8f Fix linter 2024-01-09 16:12:07 +02:00
George Kadianakis 5a551a0aa6 Work on hww's round-trip FFT test 2024-01-09 16:05:02 +02:00
George Kadianakis a58c86832a Randomize the test_recover_polynomial() 2024-01-09 16:05:00 +02:00
Etan Kissling c41c128c76
Use `Custom types` section instead of `Helper types` for consistency 2024-01-09 14:55:22 +01:00
Etan Kissling 02d47f1554
ensure `floorlog2` is available for use in `Custom types` section 2024-01-09 14:54:52 +01:00
Etan Kissling 05c2ce11db
Merge branch 'dev' into lc-branchtypes 2024-01-09 14:35:31 +01:00
Hsiao-Wei Wang be8b30a593
Merge branch 'dev' into fork-choice-changes-for-confirmaton-rule 2024-01-09 02:06:12 +08:00
Hsiao-Wei Wang 09c2519938
Skip pylint check in CI 2024-01-09 01:37:50 +08:00
Hsiao-Wei Wang db89e2981a
Clean up Deneb specs. Add some type casting for using fft function 2024-01-09 01:37:24 +08:00
Hsiao-Wei Wang 9a0727000c
Rename `recover_cells` to `recover_polynomial` and fix function signature. Add basic test case. 2024-01-08 23:18:51 +08:00
Hsiao-Wei Wang 8fa4ed571d
Add `verify_cell_proof_batch` test 2024-01-05 21:02:12 +08:00
Hsiao-Wei Wang 119e00b2b1
Add PeerDAS testing CI job 2024-01-05 20:34:01 +08:00
Hsiao-Wei Wang 03583b1b47
Fix fft helper and add basic test 2024-01-05 20:31:09 +08:00
Hsiao-Wei Wang 7f8858b2ac
Add `PeerDAS` feature 2024-01-05 18:43:37 +08:00
Hsiao-Wei Wang 5854c7efb8
Fix some lint errors 2024-01-05 18:33:01 +08:00
Hsiao-Wei Wang 75b1bf515a
Add `KZG_SETUP_G1_MONOMIAL` to trusted setup files 2024-01-05 18:21:15 +08:00
Hsiao-Wei Wang c58c4a71b2
Merge branch 'dev' into polynomial-commitments-sampling 2024-01-05 18:07:53 +08:00
Parithosh Jayanthi e52594634c
WIP: Update dockerisation (#3477)
* 🐳 add Dockerfile and dockerfile based script for consensus-spec tests
2024-01-04 17:09:06 +01:00
Hsiao-Wei Wang 877817cdbd
Merge pull request #3562 from ethereum/refactor-context
Refactor pyspec to reduce some hardcoded spec fork names
2023-12-28 01:44:40 +08:00
Etan Kissling fca5e3b06a
Use proper types when dealing with LC Merkle proofs 2023-12-27 13:59:31 +01:00
Etan Kissling cf55918a6f
Avoid Mypy error during lint 2023-12-27 13:58:36 +01:00
Etan Kissling 3e5427e31e
Align formatting 2023-12-27 12:54:36 +01:00
Etan Kissling 5717a81393
Capella addition 2023-12-27 12:44:05 +01:00
Etan Kissling 316ea98792
Use types for representing LC Merkle branches
For better legibility and alignment with `ethereum/beacon-APIs`, use
named types for the various Merkle branches used in the LC protocol.

- https://github.com/ethereum/beacon-APIs/blob/v2.4.2/types/altair/light_client.yaml#L2-L22
2023-12-27 12:42:29 +01:00
Dankrad Feist 9ec5dde8ac
Remove polynomial_coeff_to_eval 2023-12-23 15:21:19 +00:00
Dankrad Feist d36fc4f5a0
Zero polynomial -> vanishing polynomial 2023-12-23 15:08:02 +00:00
Dankrad Feist 3169f92fa5
More sample -> cell renaming 2023-12-23 14:52:39 +00:00