Commit Graph

1616 Commits

Author SHA1 Message Date
Hsiao-Wei Wang 025ebed9c8
Merge pull request #3640 from ethereum/eip7549-tests
EIP-7549: Enable EIP-7549 on CI
2024-04-03 20:57:05 +08:00
Lion - dapplion 04ef1181a8
Remove repetitive word 2024-04-03 08:31:43 +09:00
Paul Harris 4606ab43e5 [EIP-7251] rename PartialWithdrawal field 2024-04-02 15:43:28 +10:00
Hsiao-Wei Wang 44088378cc
Revert leftover 2024-04-01 10:55:39 +09:00
Hsiao-Wei Wang cf3c4eca8c
Fix conflicts with #3631 2024-04-01 10:37:49 +09:00
Hsiao-Wei Wang eec5503d4f
Fix tests and specs 2024-03-31 16:35:24 +09:00
dapplion e6aaa9d44d Fix lint 2024-03-27 01:35:36 +09:00
fradamt 4775641f05 fix broken pending deposits tests and typo 2024-03-25 15:26:50 +01:00
fradamt 8d7d7a8851 add tests
add function to context.py

test helpers

add tests
2024-03-25 12:16:58 +01:00
Mikhail Kalinin d48b5e0665 Update whistleblower reward for eip7251 2024-03-20 16:10:30 +06:00
Mikhail Kalinin 17d65ca6b4 Create eip7251 config invariants test 2024-03-20 15:05:59 +06:00
Mikhail Kalinin a127bbf0c6
Merge branch 'dev' into eip-7251 2024-03-20 14:46:43 +06:00
Mikhail Kalinin b02c3e59d3 Check MAX_PARTIAL_WITHDRAWALS_PER_PAYLOAD < MAX_WITHDRAWALS_PER_PAYLOAD 2024-03-20 14:38:07 +06:00
Mikhail Kalinin fe35d6659c Remove built spec 2024-03-20 13:37:01 +06:00
Hsiao-Wei Wang 5d80b1954a
Merge pull request #3559 from dapplion/attestation-index
EIP-7549: Move committee index outside Attestation
2024-03-14 23:54:20 +08:00
Hsiao-Wei Wang 46b118a212
Merge pull request #3619 from asn-d6/peerdas_poly_degree_overflow
PeerDAS: Check for degree overflow in multiply_polynomialcoeff()
2024-03-14 19:09:31 +08:00
Hsiao-Wei Wang 8bf7ddf1bd
bump version to v1.4.0 2024-03-13 21:24:30 +08:00
dapplion fc65a6f864 Fix CI 2024-03-13 00:23:47 +08:00
Hsiao-Wei Wang 89564aaaa6
Add unittest to check `FIELD_ELEMENTS_PER_EXT_BLOB` value 2024-03-12 21:51:58 +08:00
George Kadianakis c71fb00c8e PeerDAS: Check for degree overflow in multiply_polynomialcoeff() 2024-03-08 18:04:55 +02:00
dapplion 668e447c55 Add EIP-7251 spec
Co-authored-by: fradamt <104826920+fradamt@users.noreply.github.com>
2024-03-08 12:37:35 +08:00
Hsiao-Wei Wang dc37dcdbf2
fix broken tests 2024-03-06 23:03:55 +08:00
Hsiao-Wei Wang ec9bbfa2ea
Merge EIP7002 into Electra 2024-03-06 14:23:23 +08:00
Hsiao-Wei Wang 6ffd27bd60
Rename EIP6110 to Electra 2024-03-06 13:38:49 +08:00
dapplion accee2b8be Merge remote-tracking branch 'upstream/dev' into attestation-index 2024-03-05 17:19:49 +08:00
Hsiao-Wei Wang cebf78a83e
Apply PR feedback 2024-02-27 22:42:32 +09:00
Hsiao-Wei Wang 2297c09b7e
Remove `higher_churn_limit_to_lower__without_block` 2024-02-16 09:26:13 +08:00
Hsiao-Wei Wang b6961743be
Merge pull request #3602 from ethereum/deneb-fork-transition
Add EIP-7514 higher-churn-limit-to-lower tests
2024-02-16 02:47:39 +08:00
Hsiao-Wei Wang e3d91d8e2a
Rename `MAX_UINT_64` -> `UINT64_MAX` 2024-02-15 15:00:56 +08:00
Hsiao-Wei Wang f020649519
add higher_churn_limit_to_lower tests 2024-02-15 11:25:53 +08:00
Hsiao-Wei Wang 42bc6004e5
Add overflow case 2024-02-14 22:27:49 +08:00
Hsiao-Wei Wang 7076fb2b75
Handle `integer_squareroot` bound case 2024-02-14 17:18:05 +08:00
Hsiao-Wei Wang 07bba7a1c5
Bump version to `1.4.0-beta.7` 2024-02-13 22:23:19 +08:00
Guruprasad Kamath fe344b79d4 correct the location of py.typed 2024-02-06 17:53:07 +01:00
Hsiao-Wei Wang 91dbbb365c
Implement `compute_extended_matrix` 2024-02-02 02:26:28 +08:00
Hsiao-Wei Wang c47d5f3578
Add `recover_matrix` and remove unused `FlatExtendedMatrix` type 2024-02-02 01:45:02 +08:00
Hsiao-Wei Wang 7aab57703e
Merge branch 'dev' into peer-das 2024-01-29 17:29:20 +08:00
George Kadianakis ae3ef6f330
Merge pull request #3579 from asn-d6/peerdas_public_method_bytes
peerDAS: Public methods must accept raw bytes
2024-01-26 17:36:54 +02:00
Hsiao-Wei Wang 4477cc6952
Fix column computation 2024-01-20 14:43:35 +08:00
Hsiao-Wei Wang 65be5b0556
Make `CUSTODY_REQUIREMENT` unit be subnets; move some depended helpers to `das-core.md` 2024-01-20 00:51:28 +08:00
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 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
danny 6367d060a1
Update VERSION.txt 2024-01-16 09:08:11 -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 a4331e7c63 Public methods must accept raw bytes 2024-01-15 18:38:18 +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
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 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 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 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
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
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
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
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 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 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 9fbf75139d
Add assertion to ensure eval usage is fine 2023-12-21 22:55:46 +08:00
Hsiao-Wei Wang eb16a77702
Refactor `do_fork` with terrifying eval() and `PREVIOUS_FORK_OF` 2023-12-15 03:24:42 +08:00
Hsiao-Wei Wang 1d7c3d4164
Use md_doc_paths.py `is_post_fork` in pyspec itself; clean up `create_genesis_state` helper 2023-12-15 03:23:28 +08:00
Hsiao-Wei Wang 67279448be
Fix import 2023-12-15 01:03:35 +08:00
Hsiao-Wei Wang b89434f831
Extract the hardcoded spec names into a `specs.py` file 2023-12-15 00:55:20 +08:00
Hsiao-Wei Wang bf09b9a7c4
Merge pull request #3442 from dapplion/whisk-tests
Add WHISK fork only tests
2023-12-08 18:56:03 +09:00
dapplion 42d91d5482 fix tests for mainnet preset 2023-12-07 22:22:49 +01:00
dapplion e8e00f332a move attestation index outside signed message 2023-12-05 14:16:07 +02:00
Hsiao-Wei Wang a558f1956c
bump version to v1.4.0-beta.5 2023-12-04 23:06:27 +08:00
Hsiao-Wei Wang 6a460aeba1
Add randomized block cases 2023-11-30 23:06:27 +08:00
Hsiao-Wei Wang 581a64be2b
cleanup leftover 2023-11-30 18:56:51 +08:00
Hsiao-Wei Wang a8d02685c2
Merge branch 'dev' into on-tick-precondition 2023-11-30 08:05:27 +08:00
Hsiao-Wei Wang 6fb9b0a9a4
Revert the spec. Only handle it in tests 2023-11-30 03:58:27 +08:00
Hsiao-Wei Wang 3d853b0ec9
Add `assert time >= store.time` to `on_tick` 2023-11-16 17:25:54 +03:00
Hsiao-Wei Wang 70ce4f28c0
Remove extra tick 2023-11-14 12:06:33 +03:00
Etan Kissling d9e53cbaf5
Merge branch 'dev' into lc-gindexname 2023-11-06 12:32:53 +01:00
Hsiao-Wei Wang 7094833e07
Merge pull request #3538 from ethereum/bump-version
Bump v1.4.0-beta.4
2023-11-03 01:03:49 +09:00
danny c6f7adf319
Merge pull request #3531 from dapplion/blob-p2p-proof
Add blob sidecar inclusion proof
2023-11-02 09:56:08 -06:00
Hsiao-Wei Wang e0b87a665d
Bump v1.4.0-beta.4 2023-11-02 22:41:47 +07:00
Hsiao-Wei Wang 38d354fb01
Merge pull request #3034 from michaelsproul/proposer-boost-reorg
Allow honest validators to reorg late blocks
2023-11-02 23:54:43 +09:00
Hsiao-Wei Wang 71106f1d64
Remove `BLOB_KZG_COMMITMENTS_GINDEX` 2023-11-02 21:38:01 +07:00
dapplion 4a609cec57 rename to kzg_commitment_inclusion_proof 2023-11-01 15:57:41 +02:00
Etan Kissling 89c986ee6a
Rename `_INDEX` generalized index constants to `_GINDEX`
To assist with readability, use `_GINDEX` suffix when referring to
generalized index constants.

Does neither affect consensus, beacon-API nor builder API.
2023-11-01 13:30:55 +01:00
Lion - dapplion 7f63f003c0
Merge branch 'dev' into blob-p2p-proof 2023-10-31 11:45:54 +02:00
Hsiao-Wei Wang 1bac25a623
Add Merkle proof test 2023-10-31 01:29:30 +08:00
Hsiao-Wei Wang a12441486c
Enhance `blob_sidecar_inclusion_proof` tests 2023-10-30 17:42:32 +08:00
Hsiao-Wei Wang 0e4737eba2
Add a general `compute_merkle_proof` helper to replace container-specific helpers 2023-10-30 14:44:32 +08:00