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
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.
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.
`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`.
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.