NC

Results 26 comments of NC

@wemeetagain Would love a second pass from you being merging this

> As an execution client, Nethermind expects consensus client to call notifyNewPayload as soon as possible. Do you mean all EL clients expect new payload as soon as CL client...

Splitting this PR into smaller chunks for better reviewability.

**Open Point of Discussion** There exists an identical PR opened in my personal repo, and it has some old discussions/concerns. I will migrate all points of discussions that are still...

> My debate for the future of the PR is to merge to unstable or not. Lodestar has historically been eager to merge future fork code into unstable, ensuring that...

To make this PR easier to review, I have reverted some of the trivial changes to reduce the diffs. Let me know if there is anything else we could do...

Posting the perf test result on `updateUnfinalizedPubkeys` ie. removing newly finalized pubkeys from `unfinalizedPubkey2index` and add them to `pubkey2Index` + `index2Pubkey` upon new finalized checkpoint. Open to discuss whether the...

Also want to share the amount of memory [used](https://github.com/ChainSafe/lodestar/blob/6d85788dd476badcb878699dffb8dc541b8c9cf2/packages/beacon-node/test/memory/unfinalizedPubkey2Index.ts) by `unfinalizedPubkeyCache` aka immutable.js Map when holding [1000, 10000, 100000] pubkeys which I believe is ~80% less than the vanilla map...

> Instead you can add a new cache into the state tracking historical validator length counts. On every epoch transition push the current count of validators. Once a state finalizes,...

On a related note, at some point we should update the api error messages to be compliant with the Beacon API spec. eg. ### [Expected](https://ethereum.github.io/beacon-APIs/#/Beacon/getStateRoot) ``` curl http://localhost:9596/eth/v1/beacon/states/current/root | jq...