ChainSafe / ChainSafe/lodestar
FOCIL tracker
- 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
Assessment
This issue has not been assessed yet.