-
-
Notifications
You must be signed in to change notification settings - Fork 478
feat: implement EIP-6110 #6042
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
feat: implement EIP-6110 #6042
Changes from all commits
Commits
Show all changes
167 commits
Select commit
Hold shift + click to select a range
87c40ec
Add immutable in the dependencies
ensi321 a9311ad
Initial change to pubkeyCache
ensi321 eaca169
Added todos
ensi321 cfb0052
Moved unfinalized cache to epochCache
ensi321 6988d8e
Move populating finalized cache to afterProcessEpoch
ensi321 4c96aa9
Specify unfinalized cache during state cloning
ensi321 32d5f1b
Move from unfinalized to finalized cache in afterProcessEpoch
ensi321 efbfe73
Confused myself
ensi321 b8068ba
Clean up
ensi321 bc842e6
Change logic
ensi321 bb25132
Fix cloning issue
ensi321 c0757b4
Clean up redundant code
ensi321 3cf72e3
Add CarryoverData in epochCtx.createFromState
ensi321 12e0a13
Fix typo
ensi321 f4cdc92
Update usage of pubkeyCache
ensi321 fb3efff
Update pubkeyCache usage
ensi321 bc3dc21
Fix lint
ensi321 b611312
Fix lint
ensi321 0318473
Add 6110 to ChainConfig
ensi321 7319af5
Add 6110 to BeaconPreset
ensi321 a6d0440
Define 6110 fork and container
ensi321 77a9d74
Add V6110 api to execution engine
ensi321 480c472
Update test
ensi321 8ce4605
Add depositReceiptsRoot to process_execution_payload
ensi321 582d39c
State transitioning to EIP6110
ensi321 273795c
State transitioning to EIP6110
ensi321 598bbdb
Light client change in EIP-6110
ensi321 3d3cf06
Update tests
ensi321 a73a7e5
produceBlock
ensi321 80c77bf
Refactor processDeposit to match the spec
ensi321 2e86109
Implement processDepositReceipt
ensi321 a9c0752
Implement 6110 fork guard for pubkeyCache
ensi321 4997d9a
Handle changes in eth1 deposit
ensi321 ef5024a
Update eth1 deposit test
ensi321 d468312
Fix typo
ensi321 cc1a1ef
Merge branch 'unstable' into 6110
ensi321 bba353d
Lint
ensi321 1029aba
Remove embarassing comments
ensi321 c830b0c
Address comments
ensi321 3dbccd8
Modify applyDeposit signature
ensi321 5bb5dca
Update packages/state-transition/src/cache/epochCache.ts
ensi321 3cb55ba
Update packages/state-transition/src/cache/epochCache.ts
ensi321 7e4f5d7
Update packages/state-transition/src/cache/pubkeyCache.ts
ensi321 22d9081
Remove old code
ensi321 6b3d39b
Rename fields in epochCache and immutableData
ensi321 7610db8
Remove CarryoverData
ensi321 1899581
Move isAfter6110 from var to method
ensi321 fcfaf5a
Fix cyclic import
ensi321 b867807
Fix operations spec runner
ensi321 7587f05
Fix for spec test
ensi321 f1f5019
Fix spec test
ensi321 57b526d
state.depositReceiptsStartIndex to BigInt
ensi321 6494309
getDeposit requires cached state
ensi321 a8638e2
default depositReceiptsStartIndex value in genesis
ensi321 8aafcb9
Fix pubkeyCache bug
ensi321 1730ebe
newUnfinalizedPubkeyIndexMap in createCachedBeaconState
ensi321 6af01cb
Lint
ensi321 c2393c8
Pass epochCache instead of pubkey2IndexFn in apis
ensi321 680816b
Address comments
ensi321 f0ef629
Add unit test on pubkey cache cloning
ensi321 b0b5dfd
Add unfinalizedPubkeyCacheSize to metrics
ensi321 f44098c
Add unfinalizedPubkeyCacheSize to metrics
ensi321 64facbf
Clean up code
ensi321 f7d0f05
Add besu to el-interop
ensi321 1e00e75
Add 6110 genesis file
ensi321 aba9505
Template for sim test
ensi321 e951cf1
Add unit test for getEth1DepositCount
ensi321 e55dc5b
Update sim test
ensi321 5731382
Update besudocker
ensi321 7abc6b2
Finish beacon api calls in sim test
ensi321 63231a8
Update epochCache.createFromState()
ensi321 eb13145
Fix bug unfinalized validators are not finalized
ensi321 e2442f2
Add sim test to run a few blocks
ensi321 960a5bb
Lint
ensi321 5aab322
Merge branch 'unstable' into 6110
ensi321 30ef951
Merge branch 'unstable' into 611
ensi321 9c45121
Add more check to sim test
ensi321 8e4fb25
Update besu docker image instruction
ensi321 0abcf9f
Update sim test with correct tx
ensi321 dc71603
Address comment + cleanup
ensi321 755d23a
Clean up code
ensi321 973b80b
Properly handle promise rejection
ensi321 6a160d3
Lint
ensi321 ad61461
Update packages/beacon-node/src/execution/engine/types.ts
ensi321 c6d29eb
Update comments
ensi321 38b3a71
Accept type undefined in ExecutionPayloadBodyRpc
ensi321 adac370
Update comment and semantic
ensi321 3a8e76f
Remove if statement when adding finalized validator
ensi321 8e3b1b6
Comment on repeated insert on finalized cache
ensi321 1e283b3
Merge branch 'unstable' into 6110
ensi321 c024a00
rename createFromState
ensi321 ce377f6
Add comment on getPubkey()
ensi321 db0b8cb
Merge branch 'unstable' into 6110
ensi321 29a1fa4
Stash change to reduce diffs
ensi321 385fca6
Stash change to reduce diffs
ensi321 fb97206
Lint
ensi321 4c60789
addFinalizedPubkey on finalized checkpoint
ensi321 902e0bb
Update comment
ensi321 6c87025
Use OrderedMap for unfinalized cache
ensi321 cdcc5d6
Pull out logic of deleting pubkeys for batch op
ensi321 c811411
Add updateUnfinalizedPubkeys in regen
ensi321 51bb3bb
Update updateUnfinalizedPubkeys logic
ensi321 836b96f
Add comment
ensi321 aa818a4
Add metrics for state context caches
ensi321 d545bc4
Address comment
ensi321 dfa0d67
Address comment
ensi321 75cedd8
Deprecate eth1Data polling when condition is reached
ensi321 666280d
Merge branch 'unstable' into 6110
ensi321 3a7574b
Fix conflicts
ensi321 871de7b
Fix sim test
ensi321 884ec35
Lint
ensi321 9d92e2c
Fix type
ensi321 9c03611
Fix test
ensi321 38560a0
Fix test
ensi321 e365e9b
Lint
ensi321 0a8d07a
Update packages/light-client/src/spec/utils.ts
ensi321 4996cb3
Fix spec test
ensi321 a2494e9
Address comments
ensi321 9822a12
Improve cache logic on checkpoint finalized
ensi321 d6d1aed
Update sim test according to new cache logic
ensi321 f0eb5d6
Update comment
ensi321 d55039e
Lint
ensi321 a331868
Finalized pubkey cache only update once per checkpoint
ensi321 9c46eb9
Add perf test for updateUnfinalizedPubkeys
ensi321 e28506e
Add perf test for updateUnfinalizedPubkeys
ensi321 ad642d7
Tweak params for perf test
ensi321 f8a5350
Freeze besu docker image version for 6110
ensi321 d1a36ba
Add benchmark result
ensi321 757b41e
Use Map instead of OrderedMap. Update benchmark
ensi321 d68819d
Minor optimization
ensi321 0d3f641
Minor optimization
ensi321 e90743d
Add memory test for immutable.js
ensi321 f5fb361
Update test
ensi321 15e62cc
Reduce code duplication
ensi321 6d85788
Lint
ensi321 ce484c8
Merge branch 'unstable' into 6110
ensi321 7db9b2a
Remove try/catch in updateUnfinalizedPubkeys
ensi321 f4f8e0d
Introduce EpochCache metric
ensi321 d0a769d
Merge branch 'unstable' into 6110
ensi321 006c26b
Add historicalValidatorLengths
ensi321 ff702f8
Polish code
ensi321 45325e6
Merge branch 'unstable' into 6110
ensi321 598024e
Migrate state-transition unit tests to vitest
ensi321 75cb384
Fix calculation of pivot index
ensi321 da84a19
`historicalValidatorLengths` only activate post 6110
ensi321 ad50d55
Update sim test
ensi321 63f20dd
Lint
ensi321 4f2174b
Update packages/state-transition/src/cache/epochCache.ts
ensi321 cd9d659
Improve readability on historicalValidatorLengths
ensi321 c817632
Merge branch 'unstable' into 6110
ensi321 6162ee6
Update types
ensi321 a1b7e0c
Fix calculation
ensi321 feb8732
Add eth1data poll todo
ensi321 86899b8
Add epochCache.getValidatorCountAtEpoch
ensi321 091181b
Add todo
ensi321 6673f7e
Add getStateIterator for state cache
ensi321 b07a7f3
Partial commit
ensi321 ad914fa
Update perf test
ensi321 5841771
updateUnfinalizedPubkeys directly modify states from regen
ensi321 35c97da
Update sim test. Lint
ensi321 7da3598
Add todo
ensi321 3d23eab
Merge branch 'unstable' into 6110
ensi321 3c83bb1
Merge branch 'unstable' into 6110
ensi321 bcb9919
some improvements and a fix for effectiveBalanceIncrements fork safeness
g11tech d6d281e
Merge remote-tracking branch 'origin/electra-fork' into 6110
g11tech 661df6e
rename eip6110 to elctra
g11tech 2f10313
fix electra-interop.test.ts
g11tech File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.