Commit Graph

9124 Commits

Author SHA1 Message Date
Hsiao-Wei Wang 665e6faff7
Add `RowIndex`, `ColumnIndex` custom types in crypto doc 2024-01-19 19:14:03 +08:00
Hsiao-Wei Wang 2cc7c8798d
Fix conflict 2024-01-19 18:09:30 +08:00
Hsiao-Wei Wang 696d443f0a
Merge branch 'dev' into peer-das 2024-01-19 17:56:10 +08:00
Hsiao-Wei Wang 3727a75745
Merge pull request #3585 from ethereum/historical-roots-fork-transition
Add transition test case of non-empty pre-state `historical_roots`
2024-01-18 13:54:43 +08:00
Hsiao-Wei Wang c9c43e8f66
Apply suggestions from code review
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com>
2024-01-18 13:27:34 +08:00
Hsiao-Wei Wang 4fe36dec58
Add transition test case of non-empty pre-state `historical_roots` 2024-01-18 00:10:45 +08:00
George Kadianakis 2000a4f307 Improve test_verify_cell_proof_batch() 2024-01-17 17:20:36 +02:00
George Kadianakis 66798602dd Minor fixes based on review 2024-01-17 14:18:03 +02:00
Hsiao-Wei Wang f6d214df2d
Merge pull request #3582 from ethereum/bump-version
bump verson.txt
2024-01-17 09:32:27 +08:00
Hsiao-Wei Wang 26cc618ff9
Merge pull request #3583 from ethereum/use_correct_trusted_setup
Use the correct `trusted_setup_4096.json`
2024-01-17 09:31:47 +08:00
Carl Beekhuizen 39d22849d1
Updates presets to use correct trusted setup from final ceremony output 2024-01-16 10:41:26 -07:00
danny 6367d060a1
Update VERSION.txt 2024-01-16 09:08:11 -07:00
danny a35d783b1c
Merge pull request #3543 from etan-status/gv-finstore
Use fork choice to determine `finalized_checkpoint` in gossip validation
2024-01-16 09:06:32 -07:00
danny 8983893009
Merge pull request #3552 from etan-status/gv-alignaggregate
Align gossip validation for aggregates with single attestations
2024-01-16 08:59:02 -07:00
danny 9a54a32238
Merge pull request #3431 from saltiniroberto/fork-choice-changes-for-confirmaton-rule
Confirmation rule prerequisite - fork choice filter change
2024-01-16 08:49:21 -07:00
George Kadianakis 87f2ad2681 Public methods: int -> uint64 2024-01-16 16:58:14 +02:00
Hsiao-Wei Wang 96e41bca30
Optimization: reduce `len()` call 2024-01-16 16:51:05 +08:00
George Kadianakis a4331e7c63 Public methods must accept raw bytes 2024-01-15 18:38:18 +02:00
George Kadianakis b4d418d8ce Remove some trailing whitespace 2024-01-15 17:34:28 +02:00
Hsiao-Wei Wang 9b04d10a6f
Merge pull request #3570 from etan-status/ts-attprevepoch
Add guard when `fill_prev_epoch` is `True` in epoch `0`
2024-01-15 22:46:46 +08:00
Hsiao-Wei Wang 85bd77b41a
Merge pull request #3572 from etan-status/lc-transitionacrossforks
Consider fork transitions when using `get_sync_aggregate` helper func
2024-01-15 22:21:45 +08:00
Hsiao-Wei Wang 90d48e5bc6
Merge pull request #3563 from etan-status/lc-branchtypes
Use types for representing LC Merkle branches
2024-01-15 22:05:05 +08:00
Etan Kissling 07710e6b4e
Merge branch 'dev' into lc-transitionacrossforks 2024-01-15 13:34:04 +01:00
Etan Kissling 82143e1977
Also bump `EXECUTION_PAYLOAD_GINDEX` 2024-01-15 12:48:22 +01:00
Hsiao-Wei Wang 0b5bb1ae3f
Merge branch 'dev' into pr3563 2024-01-15 19:09:28 +08:00
Hsiao-Wei Wang b594347780
Merge pull request #3549 from etan-status/lc-finsend
Gossip additional `LightClientFinalityUpdate` on new supermajority
2024-01-15 18:58:24 +08:00
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 504b4f9036
Migrating to latest crypto APIs 2024-01-15 17:12:47 +08:00
Hsiao-Wei Wang 93dddd15f2
wip
wip

Add `TARGET_NUMBER_OF_PEERS`

Add networking spec draft

fix

simplification

Rename `DoYouHave` to `GetCustodyStatus`

Add DataLineSidecar design

Apply suggestions from code review

Co-authored-by: dankrad <mail@dankradfeist.de>
Co-authored-by: danny <dannyjryan@gmail.com>

Revamp after reviews and discussion

Remove `CustodyStatus`

minor fix

Change`DataColumn` to `List[DataCell, MAX_BLOBS_PER_BLOCK]`

Move folder

Replace `DataColumnByRootAndIndex` with `DataColumnSidecarByRoot` message. Add extended data description

Remove `DataRow`

Apply suggestions from @jacobkaufmann code review

Co-authored-by: Jacob Kaufmann <jacobkaufmann18@gmail.com>

Represent matrix in `BLSFieldElement` form

Add `assert time >= store.time` to `on_tick`

Revert the spec. Only handle it in tests

Remove extra tick

cleanup leftover

Add randomized block cases

Specify RPC byRoot blocks-sidecars elegibility

fix typo

Update specs/phase0/p2p-interface.md

Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>

Update specs/deneb/p2p-interface.md

Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>

add failed on_block condition

rephrase

Update specs/phase0/p2p-interface.md

Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>

apply suggestion

Update specs/deneb/p2p-interface.md

Co-authored-by: danny <dannyjryan@gmail.com>

Update specs/deneb/p2p-interface.md

Co-authored-by: danny <dannyjryan@gmail.com>

remove the last consider

from on_block to state_transition

simplify and add a new rule

Update specs/phase0/p2p-interface.md

Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>

Update specs/deneb/p2p-interface.md

Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>

Update specs/deneb/p2p-interface.md

Co-authored-by: danny <dannyjryan@gmail.com>

remove gossip failure rules

Apply suggestions from code review

bump version to v1.4.0-beta.5

Move `blob_sidecar_{subnet_id}` to `Blob subnets` section

Misc minor fix

Add linter support

Add column subnet validation. Split `verify_column_sidecar` into two functions

Fix `get_data_column_sidecars` by using `compute_samples_and_proofs`

Apply suggestions from code review

Co-authored-by: danny <dannyjryan@gmail.com>

Do not assign row custody

Apply suggestions from code review

Co-authored-by: danny <dannyjryan@gmail.com>

Revamp reconstruction section

Use depth as the primary preset for inclusion proof. Fix `get_data_column_sidecars` and add tests for merkle proof

Change `SAMPLES_PER_SLOT` to 8 and add tests (requirement TBD)

Apply PR feedback from @ppopth and @jtraglia

Fix `get_data_column_sidecars`

Co-authored-by: Pop Chunhapanya <haxx.pop@gmail.com>

Apply suggestions from code review

Co-authored-by: Pop Chunhapanya <haxx.pop@gmail.com>

Apply suggestions from code review

Co-authored-by: fradamt <104826920+fradamt@users.noreply.github.com>
Co-authored-by: Jacob Kaufmann <jacobkaufmann18@gmail.com>

Fix `get_data_column_sidecars` and `get_custody_lines`

Apply suggestions from code review

Co-authored-by: Jacob Kaufmann <jacobkaufmann18@gmail.com>

Enhance tests

fix typo

Co-authored-by: fradamt <104826920+fradamt@users.noreply.github.com>

Remove `epoch` from `get_custody_lines`

fix

fix
2024-01-15 17:12:43 +08:00
Hsiao-Wei Wang d6a37ecfcb
Copied from Danny's ethresearch post 2024-01-15 16:48:57 +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