ChainSafe / ChainSafe/lodestar

FOCIL tracker

Open
#7,340 0 comments 2 reactions 0 assignees View on GitHub
epic meta-pm
Dominant language
TypeScript
Stars
1.4k
Forks
483
Avg merge
1d 16h
Merged PRs (30d)
150

Description

[EIP-7805](https://eips.ethereum.org/EIPS/eip-7805): Fork-choice enforced Inclusion Lists (FOCIL) tracker

#### [Validator client](https://github.com/ethereum/consensus-specs/pull/4003/files#diff-6c3633e0896b600949144111ce311a59c0023e76930d2fc038002e5b63c95471)
- [x] inclusing list service
- [x] retrieve, sign and broadcast inclusion lists
- [x] inclusing list duties service
- [x] poll duties from beacon node
- [x] keep track of duties
- [x] update validator store
- [x] construct a signed inclusion list
- [x] `get_inclusion_list_signature`
- [ ] update remote signer client

#### [Beacon api](https://github.com/ethereum/beacon-APIs/pull/490)
- [x] retrieve unsigned inclusion list to be signed
- [x] submit signed inclusion list to be broadcast
- [x] retrieve inclusion list duties
- [x] `inclusion_list` event
- [ ] retrieve inclusion lists from op pool (optional)

#### [Beacon chain](https://github.com/ethereum/consensus-specs/pull/4003/files#diff-602949f2190fd47ad9af0711e10cfdbf04352b38a1a7b64d88cfe621d920d7ac)
- [x] new ssz types / containers
- [x] new spec constants
- [x] inclusion lists op pool / cache
- [x] add `get_inclusion_committee_assignment`
- [x] add `get_inclusion_list_committee`
- [x] add `is_valid_inclusion_list_signature`
- [x] add IL to new payload request to EL
- [x] forward received inclusion lists to EL for proposal until cutoff
- [x] retrieve IL transactions from EL and create `InclusionList` to sign over

#### [Fork choice](https://github.com/ethereum/consensus-specs/pull/4003/files#diff-26426b9b899404021b0ddbc114d42e93a98ebf34b93b4d2b7c8175180599b6a2)
- [x] track seen inclusion lists and equivocators
- [x] modify `notify_new_payload`
- [x] add `get_attester_head` to be used for attestations and sync committee message
- [x] import signed inclusion lists in fork choice store (`on_inclusion_list`)
- [x] call engine api to validate IL (`validate_inclusion_lists`)

#### [Gossipsub / p2p](https://github.com/ethereum/consensus-specs/pull/4003/files#diff-0f7a06fa979df412c5acb834e61b60d638ce6397657b09968f66415cae998b5b)
- [x] new gossipsub topic `inclusion_list`
- [x] gossip verification
- [x] track equivocations
- [x] forward IL gossip messages (max 2 messages per validator index)

#### [Execution engine](https://github.com/ethereum/execution-apis/pull/609)
- [x] define new engine api methods
- [x] add `engine_newPayloadV5`
- [x] add `engine_getInclusionListV1`
- [x] add `engine_forkchoiceUpdatedV4`

#### [Beacon metrics](https://github.com/ethereum/beacon-metrics/issues/15)
- [x] add required metrics
- [ ] update dashboard

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.