* Replace eslint with biomejs
* Update the inclusion of word
* Fix the formatting
* Update the lint task to do all checks
* Update biome rules from eslint config
* Replace eslint with biomejs
* Update the inclusion of word
* Fix the formatting
* Update the lint task to do all checks
* Update biome rules from eslint config
* Fix all lint issues
* Fix formatting
* Add extension recomendation for vscode
* Enable recommended rules
* Enable rule noUselessSwitchCase
* Enable rule noUselessConstructor
* Fix the types
* Fix unit tests
* Enforce import extensions
* Update the cli command
* Enforce useConsistentMemberAccessibility
* Update rules
* Fix rules
* Upgrade biomejs to latest version
* Update the rules
* Update and format the config file
* Fix types break during merge
* Fix unused check
* Add comment for explicit-return-type
* Remove eslint file
* Add _e objects for empty catch blocks
* Update formatter config
* Fix formatting
* feat: add ShufflingCache to EpochCache
* fix: implementation in state-transition for EpochCache with ShufflingCache
* feat: remove shufflingCache.processState
* feat: implement ShufflingCache changes in beacon-node
* feat: pass shufflingCache when loading cached state from db
* test: fix state-transition tests for EpochCache changes
* feat: Pass shufflingCache to EpochCache at startup
* test: fix slot off by one for decision root in perf test
* chore: use ?. syntax
* chore: refactoring
* feat: add comments and clean up afterProcessEpoch
* fix: perf test slot incrementing
* fix: remove MockShufflingCache
* Revert "chore: refactoring"
This reverts commit 104aa56d84ce3ca33d045705591767ef578dec3a.
* refactor: shufflingCache getters
* refactor: shufflingCache setters
* refactor: build and getOrBuild
* docs: add comments to ShufflingCache methods
* chore: lint issues
* test: update tests in beacon-node
* chore: lint
* feat: get shufflings from cache for API
* feat: minTimeDelayToBuildShuffling cli flag
* test: fix shufflingCache promise insertion test
* fix: rebase conflicts
* fix: changes from debugging sim tests
* refactor: minimize changes in afterProcessEpoch
* chore: fix lint
* chore: fix check-types
* chore: fix check-types
* feat: add diff utility
* fix: bug in spec tests from invalid nextActiveIndices
* refactor: add/remove comments
* refactor: remove this.activeIndicesLength from EpochCache
* refactor: simplify shufflingCache.getSync
* refactor: remove unnecessary undefined's
* refactor: clean up ShufflingCache unit test
* feat: add metrics for ShufflingCache
* feat: add shufflingCache metrics to state-transition
* chore: lint
* fix: metric name clash
* refactor: add comment about not having ShufflingCache in EpochCache
* refactor: rename shuffling decision root functions
* refactor: remove unused comment
* feat: async add nextShuffling to EpochCache after its built
* feat: make ShufflingCache.set private
* feat: chance metrics to nextShufflingNotOnEpochCache instead of positive case
* refactor: move diff to separate PR
* chore: fix tests using shufflingCache.set method
* feat: remove minTimeDelayToBuild
* feat: return promise from insertPromise and then through build
* fix: update metrics names and help field
* feat: move build of shuffling to beforeProcessEpoch
* feat: allow calc of pivot slot before slot increment
* fix: calc of pivot slot before slot increment
* Revert "fix: calc of pivot slot before slot increment"
This reverts commit 5e65f7efa8.
* Revert "feat: allow calc of pivot slot before slot increment"
This reverts commit ed850ee0ce.
* feat: allow getting current block root for shuffling calculation
* fix: get nextShufflingDecisionRoot directly from state.blockRoots
* fix: convert toRootHex
* docs: add comment about pulling decisionRoot directly from state
* feat: add back metrics for regen attestation cache hit/miss
* docs: fix docstring on shufflingCache.build
* refactor: change validatorIndices to Uint32Array
* refactor: remove comment and change variable name
* fix: use toRootHex instead of toHexString
* refactor: deduplicate moved function computeAnchorCheckpoint
* fix: touch up metrics per PR comments
* fix: merge conflict
* chore: lint
* refactor: add scope around activeIndices to GC arrays
* feat: directly use Uint32Array instead of transcribing number array to Uint32Array
* refactor: activeIndices per tuyen comment
* refactor: rename to epochAfterNext
* chore: review PR
* feat: update no shuffling ApiError to 500 status
* fix: add back unnecessary eslint directive. to be remove under separate PR
* feat: update no shuffling ApiError to 500 status
* docs: add comment about upcomingEpoch
---------
Co-authored-by: Cayman <caymannava@gmail.com>
Co-authored-by: Tuyen Nguyen <vutuyen2636@gmail.com>
* feat: upgrade 7002 exits to withdrawal request
* fix types
* fix types and references
* further fix the types references and get build passing
* update the process ops fn but needs to be extended by maxeb
* Add immutable in the dependencies
* Initial change to pubkeyCache
* Added todos
* Moved unfinalized cache to epochCache
* Move populating finalized cache to afterProcessEpoch
* Specify unfinalized cache during state cloning
* Move from unfinalized to finalized cache in afterProcessEpoch
* Confused myself
* Clean up
* Change logic
* Fix cloning issue
* Clean up redundant code
* Add CarryoverData in epochCtx.createFromState
* Fix typo
* Update usage of pubkeyCache
* Update pubkeyCache usage
* Fix lint
* Fix lint
* Add 6110 to ChainConfig
* Add 6110 to BeaconPreset
* Define 6110 fork and container
* Add V6110 api to execution engine
* Update test
* Add depositReceiptsRoot to process_execution_payload
* State transitioning to EIP6110
* State transitioning to EIP6110
* Light client change in EIP-6110
* Update tests
* produceBlock
* Refactor processDeposit to match the spec
* Implement processDepositReceipt
* Implement 6110 fork guard for pubkeyCache
* Handle changes in eth1 deposit
* Update eth1 deposit test
* Fix typo
* Lint
* Remove embarassing comments
* Address comments
* Modify applyDeposit signature
* Update packages/state-transition/src/cache/epochCache.ts
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com>
* Update packages/state-transition/src/cache/epochCache.ts
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com>
* Update packages/state-transition/src/cache/pubkeyCache.ts
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com>
* Remove old code
* Rename fields in epochCache and immutableData
* Remove CarryoverData
* Move isAfter6110 from var to method
* Fix cyclic import
* Fix operations spec runner
* Fix for spec test
* Fix spec test
* state.depositReceiptsStartIndex to BigInt
* getDeposit requires cached state
* default depositReceiptsStartIndex value in genesis
* Fix pubkeyCache bug
* newUnfinalizedPubkeyIndexMap in createCachedBeaconState
* Lint
* Pass epochCache instead of pubkey2IndexFn in apis
* Address comments
* Add unit test on pubkey cache cloning
* Add unfinalizedPubkeyCacheSize to metrics
* Add unfinalizedPubkeyCacheSize to metrics
* Clean up code
* Add besu to el-interop
* Add 6110 genesis file
* Template for sim test
* Add unit test for getEth1DepositCount
* Update sim test
* Update besudocker
* Finish beacon api calls in sim test
* Update epochCache.createFromState()
* Fix bug unfinalized validators are not finalized
* Add sim test to run a few blocks
* Lint
* Merge branch 'unstable' into 611
* Add more check to sim test
* Update besu docker image instruction
* Update sim test with correct tx
* Address comment + cleanup
* Clean up code
* Properly handle promise rejection
* Lint
* Update packages/beacon-node/src/execution/engine/types.ts
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com>
* Update comments
* Accept type undefined in ExecutionPayloadBodyRpc
* Update comment and semantic
* Remove if statement when adding finalized validator
* Comment on repeated insert on finalized cache
* rename createFromState
* Add comment on getPubkey()
* Stash change to reduce diffs
* Stash change to reduce diffs
* Lint
* addFinalizedPubkey on finalized checkpoint
* Update comment
* Use OrderedMap for unfinalized cache
* Pull out logic of deleting pubkeys for batch op
* Add updateUnfinalizedPubkeys in regen
* Update updateUnfinalizedPubkeys logic
* Add comment
* Add metrics for state context caches
* Address comment
* Address comment
* Deprecate eth1Data polling when condition is reached
* Fix conflicts
* Fix sim test
* Lint
* Fix type
* Fix test
* Fix test
* Lint
* Update packages/light-client/src/spec/utils.ts
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com>
* Fix spec test
* Address comments
* Improve cache logic on checkpoint finalized
* Update sim test according to new cache logic
* Update comment
* Lint
* Finalized pubkey cache only update once per checkpoint
* Add perf test for updateUnfinalizedPubkeys
* Add perf test for updateUnfinalizedPubkeys
* Tweak params for perf test
* Freeze besu docker image version for 6110
* Add benchmark result
* Use Map instead of OrderedMap. Update benchmark
* Minor optimization
* Minor optimization
* Add memory test for immutable.js
* Update test
* Reduce code duplication
* Lint
* Remove try/catch in updateUnfinalizedPubkeys
* Introduce EpochCache metric
* Add historicalValidatorLengths
* Polish code
* Migrate state-transition unit tests to vitest
* Fix calculation of pivot index
* `historicalValidatorLengths` only activate post 6110
* Update sim test
* Lint
* Update packages/state-transition/src/cache/epochCache.ts
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com>
* Improve readability on historicalValidatorLengths
* Update types
* Fix calculation
* Add eth1data poll todo
* Add epochCache.getValidatorCountAtEpoch
* Add todo
* Add getStateIterator for state cache
* Partial commit
* Update perf test
* updateUnfinalizedPubkeys directly modify states from regen
* Update sim test. Lint
* Add todo
* some improvements and a fix for effectiveBalanceIncrements fork safeness
* rename eip6110 to elctra
* fix electra-interop.test.ts
---------
Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com>
Co-authored-by: gajinder <develop@g11tech.io>
lint and tsc
small cleanup
fix rebase issue
* Variables using .env file
* Add env variable support to normal tests
* Fix the order of variables
* Update the order of jobs
* Export the varible using actions toolkit
* Update the workflow tasks
* Fix the sim workflow
* Add .env.test file support to tests
* Fix the lint
* Update the task description
* Move lodestar preset to env file
* Fix the directory path
* newline
* Update debugging spec tests section
* Update the env variable for preset
* Fix the path for setup files
* Update code as per feedback
* Fix the e2e variables
* Update doc
* Fix the bash script
* Fix sim geth runne
* Update the env file
* Fix e2e tests
* Update the script tasks
* Update the script tasks
* Add minimal for e2e tests
* Add minimal for e2e tests
* Update comments in preset tests
* Downgrade nethermind version
* Load env file in e2e env
* Add the issue link in env variable
* Update bash script for failsafe current dir
* Fix the mistaken genesis extension for el nodes
* Add missing capella wait for one test
* Downgrade the geth version
* Update .env.test
---------
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
modify the api
fix validator handling
fix val build
refactor the beacon node impl for the new blobs architecture
get the build working with no blobs
fix the blob sidecars transmisssion
relocate compute blob sidecars
relocate verify merkle branch
verify inclusion proof
fix tests and types
fix unit test
update the spec test versions
skip newly required merkle proof runner
change the minimal/mainnet preset based constant strategy
add other constants to tests
apply feedback
apply feedback
relocate utils