Skip to content

refactor(networkconfig): extract beacon parameters from BeaconNetwork interface#2145

Merged
MatusKysel merged 46 commits intostagefrom
networkconfig-extract-beacon-params
May 28, 2025
Merged

refactor(networkconfig): extract beacon parameters from BeaconNetwork interface#2145
MatusKysel merged 46 commits intostagefrom
networkconfig-extract-beacon-params

Conversation

@nkryuchkov
Copy link
Copy Markdown
Contributor

@nkryuchkov nkryuchkov commented Apr 12, 2025

Part of PRs that will replace #1308

Based on #2144

Depends on ssvlabs/eth2-key-manager#106

Required as a preparation to pull those parameters from the beacon node

@nkryuchkov nkryuchkov marked this pull request as draft April 12, 2025 02:32
@nkryuchkov nkryuchkov changed the base branch from stage to networkconfig-split-ssv-beacon April 12, 2025 02:33
@nkryuchkov nkryuchkov marked this pull request as ready for review April 16, 2025 00:38
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 16, 2025

Codecov Report

Attention: Patch coverage is 48.08687% with 502 lines in your changes missing coverage. Please review.

Project coverage is 49.3%. Comparing base (10a8edb) to head (4d0175a).
Report is 1 commits behind head on stage.

Files with missing lines Patch % Lines
beacon/goclient/spec.go 46.3% 98 Missing and 26 partials ⚠️
networkconfig/beacon.go 13.7% 112 Missing and 1 partial ⚠️
cli/generate_config.go 0.0% 64 Missing ⚠️
cli/operator/node.go 0.0% 55 Missing ⚠️
utils/testutils.go 0.0% 29 Missing ⚠️
networkconfig/ssv.go 57.1% 20 Missing and 4 partials ⚠️
beacon/goclient/goclient.go 84.4% 10 Missing and 2 partials ⚠️
operator/validator/controller.go 59.0% 9 Missing ⚠️
beacon/goclient/aggregator.go 0.0% 8 Missing ⚠️
beacon/goclient/sync_committee_contribution.go 0.0% 8 Missing ⚠️
... and 23 more

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

# Conflicts:
#	network/discovery/util_test.go
#	networkconfig/config.go
#	networkconfig/holesky-e2e.go
#	networkconfig/holesky-stage.go
#	networkconfig/holesky.go
#	networkconfig/hoodi-stage.go
#	networkconfig/hoodi.go
#	networkconfig/local-testnet.go
#	networkconfig/mainnet.go
#	networkconfig/sepolia.go
#	networkconfig/test-network.go
…act-beacon-params

# Conflicts:
#	cli/operator/node.go
#	network/discovery/util_test.go
#	networkconfig/beacon.go
#	networkconfig/holesky-e2e.go
#	networkconfig/holesky-stage.go
#	networkconfig/holesky.go
#	networkconfig/hoodi-stage.go
#	networkconfig/hoodi.go
#	networkconfig/local-testnet.go
#	networkconfig/mainnet.go
#	networkconfig/sepolia.go
#	networkconfig/test-network.go
Comment thread networkconfig/beacon.go
Comment thread networkconfig/beacon.go Outdated
Comment thread networkconfig/beacon.go Outdated
Comment thread networkconfig/beacon.go Outdated
Comment thread operator/duties/sync_committee.go Outdated
Comment thread operator/duties/validatorregistration.go Outdated
@nkryuchkov nkryuchkov changed the title networkconfig: extract beacon parameters from BeaconNetwork interface refactor(networkconfig): extract beacon parameters from BeaconNetwork interface Apr 17, 2025
Base automatically changed from networkconfig-split-ssv-beacon to stage April 17, 2025 13:57
# Conflicts:
#	beacon/goclient/attest_test.go
#	ekm/signer_key_manager_test.go
#	eth/eventhandler/event_handler_test.go
#	message/validation/validation_test.go
#	network/discovery/dv5_service_test.go
#	network/discovery/util_test.go
#	networkconfig/beacon.go
#	networkconfig/config.go
#	networkconfig/holesky-e2e.go
#	networkconfig/holesky-stage.go
#	networkconfig/holesky.go
#	networkconfig/hoodi-stage.go
#	networkconfig/hoodi.go
#	networkconfig/local-testnet.go
#	networkconfig/mainnet.go
#	networkconfig/sepolia.go
#	networkconfig/ssv.go
#	networkconfig/test-network.go
#	operator/duties/scheduler_test.go
#	protocol/v2/blockchain/beacon/client.go
@nkryuchkov nkryuchkov requested a review from iurii-ssv April 17, 2025 17:24
Copy link
Copy Markdown
Contributor

@iurii-ssv iurii-ssv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM (not sure about this though - #2145 (comment) - maybe somebody else can chime in on that)

Also, spec-alignment pipeline seems to be failing

# Conflicts:
#	cli/operator/node.go
#	ekm/eth_key_manager_signer.go
#	ekm/signer_key_manager_test.go
#	ekm/signer_storage_test.go
#	eth/eventhandler/event_handler_test.go
#	go.mod
#	go.sum
#	message/validation/validation.go
#	message/validation/validation_test.go
#	migrations/migrations.go
#	operator/duties/committee.go
#	operator/duties/sync_committee.go
#	operator/duties/validatorregistration.go
#	operator/validator/controller.go
#	operator/validator/metadata/syncer.go
#	operator/validator/metadata/syncer_test.go
#	protocol/v2/ssv/runner/proposer.go
#	protocol/v2/ssv/runner/runner_signatures.go
#	protocol/v2/ssv/testing/runner.go
#	protocol/v2/ssv/value_check.go
#	ssvsigner/ekm/signer_storage.go
# Conflicts:
#	beacon/goclient/attest_test.go
#	beacon/goclient/current_fork_test.go
#	beacon/goclient/events_test.go
#	beacon/goclient/genesis_test.go
#	beacon/goclient/goclient.go
#	beacon/goclient/goclient_test.go
#	beacon/goclient/options.go
#	beacon/goclient/signing_test.go
#	beacon/goclient/spec_test.go
#	cli/operator/node.go
#	message/validation/validation.go
#	message/validation/validation_test.go
#	operator/duties/scheduler.go
#	operator/fee_recipient/controller_test.go
#	protocol/v2/blockchain/beacon/client.go
#	protocol/v2/ssv/runner/runner_signatures.go
#	protocol/v2/ssv/runner/runner_validations.go
#	protocol/v2/ssv/runner/sync_committee_aggregator.go
# Conflicts:
#	operator/validator/metadata/syncer_test.go
y0sher and others added 5 commits May 26, 2025 18:47
…de (#2153)

* beacon/goclient: get beacon config from beacon node

* use beacon config obtained from beacon node

* log config as JSON

* delete a comment

* use Stringer to log node

* guard beacon config reads with mutex

* add a timeout log

* delete hardcoded beacon configs

* Revert "delete hardcoded beacon configs"

This reverts commit c2e2f8f.

* fix issues after merging

* code review comments

* unexport supportedSSVConfigs

* fix a context bug

* pass network config name

* feat(networkconfig): CLI for custom SSV config generation (#2156)

* networkconfig: CLI for custom SSV config generation

* implement JSON marshaling and YAML marshaling/unmarshaling

* remove TotalEthereumValidators

* simplify marshaling/unmarshaling logic

* fix markdown formatting

* use yaml@v3

* add tests

* simplify unmarshaling

* fix linter

* add missing fields to LocalTestnet
# Conflicts:
#	cli/operator/node.go
#	go.mod
#	go.sum
#	protocol/v2/qbft/roundtimer/timer_test.go
#	ssvsigner/go.mod
#	ssvsigner/go.sum
* beacon/goclient: get beacon config from beacon node

* use beacon config obtained from beacon node

* log config as JSON

* networkconfig: CLI for custom SSV config generation

* implement JSON marshaling and YAML marshaling/unmarshaling

* remove TotalEthereumValidators

* simplify marshaling/unmarshaling logic

* fix markdown formatting

* use yaml@v3

* add tests

* simplify unmarshaling

* delete a comment

* use Stringer to log node

* guard beacon config reads with mutex

* add a timeout log

* delete hardcoded beacon configs

* Revert "delete hardcoded beacon configs"

This reverts commit c2e2f8f.

* networkconfig: make hardcoded values configurable

* fix issues after merging

* code review comments

* fix issues after merging

* delete outer metrics for genesisForClient

* rewrite modulo calculation

* code review comments

* unexport supportedSSVConfigs

* revert the modulo calculation

* add EpochDuration mock

* G115

* fill missing fields in configs

* add a comment about eth spec

* fix error text

* use genesis validators root from config in computeVoluntaryExitDomain

* fix linter

* fix a typo

* remove redundant comments

* fix a context bug

* fix issues after merging

* pass network config name
* use SSV/Beacon configs instead of NetworkConfig where possible

* fix linter

* fix a comment

* fix issues after merging
Copy link
Copy Markdown
Contributor

@oleg-ssvlabs oleg-ssvlabs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job!
Left few minor comments

Comment thread networkconfig/beacon.go Outdated
Comment thread beacon/goclient/spec.go Outdated
Comment thread beacon/goclient/spec.go Outdated
Comment thread beacon/goclient/spec.go
Comment thread networkconfig/beacon.go Outdated
Comment thread networkconfig/beacon.go
Comment thread networkconfig/network.go
…#2178)

* beacon/goclient: get beacon config from beacon node

* use beacon config obtained from beacon node

* log config as JSON

* networkconfig: CLI for custom SSV config generation

* implement JSON marshaling and YAML marshaling/unmarshaling

* remove TotalEthereumValidators

* simplify marshaling/unmarshaling logic

* fix markdown formatting

* use yaml@v3

* add tests

* simplify unmarshaling

* delete a comment

* use Stringer to log node

* guard beacon config reads with mutex

* add a timeout log

* delete hardcoded beacon configs

* Revert "delete hardcoded beacon configs"

This reverts commit c2e2f8f.

* networkconfig: make hardcoded values configurable

* fix issues after merging

* code review comments

* fix issues after merging

* delete outer metrics for genesisForClient

* rewrite modulo calculation

* code review comments

* unexport supportedSSVConfigs

* revert the modulo calculation

* add EpochDuration mock

* G115

* fill missing fields in configs

* add a comment about eth spec

* fix error text

* use genesis validators root from config in computeVoluntaryExitDomain

* beacon,networkconfig: move forks from beacon to networkconfig

* get rid of using Genesis method

* use ForkAtEpoch instead of DataVersion

* generate mocks

* fix linter

* fix beacon tests

* beacon: delete ForkAtEpoch

* fix ekm tests

* update go.mod

* fix some TODOs

* fix linter

* fix a typo

* remove redundant comments

* remove Spec method

* delete a comment

* uncomment config print

* fix a context bug

* fix issues after merging

* pass network config name

* update go.mod

* fix issues after merging
* beacon/goclient: get beacon config from beacon node

* use beacon config obtained from beacon node

* log config as JSON

* networkconfig: CLI for custom SSV config generation

* implement JSON marshaling and YAML marshaling/unmarshaling

* remove TotalEthereumValidators

* simplify marshaling/unmarshaling logic

* fix markdown formatting

* use yaml@v3

* add tests

* simplify unmarshaling

* delete a comment

* use Stringer to log node

* guard beacon config reads with mutex

* add a timeout log

* delete hardcoded beacon configs

* Revert "delete hardcoded beacon configs"

This reverts commit c2e2f8f.

* networkconfig: make hardcoded values configurable

* fix issues after merging

* code review comments

* fix issues after merging

* delete outer metrics for genesisForClient

* rewrite modulo calculation

* code review comments

* unexport supportedSSVConfigs

* revert the modulo calculation

* add EpochDuration mock

* G115

* fill missing fields in configs

* add a comment about eth spec

* fix error text

* use genesis validators root from config in computeVoluntaryExitDomain

* beacon,networkconfig: move forks from beacon to networkconfig

* get rid of using Genesis method

* use ForkAtEpoch instead of DataVersion

* generate mocks

* fix linter

* fix beacon tests

* beacon: delete ForkAtEpoch

* fix ekm tests

* update go.mod

* fix some TODOs

* networkconfig: delete mainnet beacon config

* networkconfig: delete rest of configs

* replace TestRealNetwork with TestNetwork

* fix linter

* fix a typo

* remove redundant comments

* remove Spec method

* delete a comment

* uncomment config print

* fix a context bug

* fix issues after merging

* delete TestRealNetwork

* pass network config name

* update go.mod

* fix issues after merging

* fix issues after merging
@MatusKysel MatusKysel merged commit 8b4fb83 into stage May 28, 2025
5 checks passed
@MatusKysel MatusKysel deleted the networkconfig-extract-beacon-params branch May 28, 2025 08:48
nkryuchkov added a commit that referenced this pull request Jun 4, 2025
… interface (#2145)

* networkconfig: split beacon and ssv configs

* move most parameters outside of BeaconNetwork interface

* get rid of BeaconNetwork interface

* some leftovers

* fix linter

* fix message validation tests

* fix linter again

* leftovers after merging

* fix issues after merging

* fix network name bug

* code review comments

* fix issues after merging

* update go.mod

* fix ekm tests

* remove unused import

* update go.mod

* fix issues after merging

* format/imports

* revert preparationSlots type change

* use uint64 for amount of slots and epochs

* use github.com/ssvlabs/eth2-key-manager@v1.5.5

* spec-alignment

* feat(networkconfig,beacon/goclient): get beacon config from beacon node (#2153)

* beacon/goclient: get beacon config from beacon node

* use beacon config obtained from beacon node

* log config as JSON

* delete a comment

* use Stringer to log node

* guard beacon config reads with mutex

* add a timeout log

* delete hardcoded beacon configs

* Revert "delete hardcoded beacon configs"

This reverts commit c2e2f8f.

* fix issues after merging

* code review comments

* unexport supportedSSVConfigs

* fix a context bug

* pass network config name

* feat(networkconfig): CLI for custom SSV config generation (#2156)

* networkconfig: CLI for custom SSV config generation

* implement JSON marshaling and YAML marshaling/unmarshaling

* remove TotalEthereumValidators

* simplify marshaling/unmarshaling logic

* fix markdown formatting

* use yaml@v3

* add tests

* simplify unmarshaling

* fix linter

* add missing fields to LocalTestnet

* update go.mod

* networkconfig: make hardcoded values configurable (#2164)

* beacon/goclient: get beacon config from beacon node

* use beacon config obtained from beacon node

* log config as JSON

* networkconfig: CLI for custom SSV config generation

* implement JSON marshaling and YAML marshaling/unmarshaling

* remove TotalEthereumValidators

* simplify marshaling/unmarshaling logic

* fix markdown formatting

* use yaml@v3

* add tests

* simplify unmarshaling

* delete a comment

* use Stringer to log node

* guard beacon config reads with mutex

* add a timeout log

* delete hardcoded beacon configs

* Revert "delete hardcoded beacon configs"

This reverts commit c2e2f8f.

* networkconfig: make hardcoded values configurable

* fix issues after merging

* code review comments

* fix issues after merging

* delete outer metrics for genesisForClient

* rewrite modulo calculation

* code review comments

* unexport supportedSSVConfigs

* revert the modulo calculation

* add EpochDuration mock

* G115

* fill missing fields in configs

* add a comment about eth spec

* fix error text

* use genesis validators root from config in computeVoluntaryExitDomain

* fix linter

* fix a typo

* remove redundant comments

* fix a context bug

* fix issues after merging

* pass network config name

* networkconfig: narrow config usage (#2172)

* use SSV/Beacon configs instead of NetworkConfig where possible

* fix linter

* fix a comment

* fix issues after merging

* fix issues after merging

* beacon,networkconfig: move fork handling from beacon to networkconfig (#2178)

* beacon/goclient: get beacon config from beacon node

* use beacon config obtained from beacon node

* log config as JSON

* networkconfig: CLI for custom SSV config generation

* implement JSON marshaling and YAML marshaling/unmarshaling

* remove TotalEthereumValidators

* simplify marshaling/unmarshaling logic

* fix markdown formatting

* use yaml@v3

* add tests

* simplify unmarshaling

* delete a comment

* use Stringer to log node

* guard beacon config reads with mutex

* add a timeout log

* delete hardcoded beacon configs

* Revert "delete hardcoded beacon configs"

This reverts commit c2e2f8f.

* networkconfig: make hardcoded values configurable

* fix issues after merging

* code review comments

* fix issues after merging

* delete outer metrics for genesisForClient

* rewrite modulo calculation

* code review comments

* unexport supportedSSVConfigs

* revert the modulo calculation

* add EpochDuration mock

* G115

* fill missing fields in configs

* add a comment about eth spec

* fix error text

* use genesis validators root from config in computeVoluntaryExitDomain

* beacon,networkconfig: move forks from beacon to networkconfig

* get rid of using Genesis method

* use ForkAtEpoch instead of DataVersion

* generate mocks

* fix linter

* fix beacon tests

* beacon: delete ForkAtEpoch

* fix ekm tests

* update go.mod

* fix some TODOs

* fix linter

* fix a typo

* remove redundant comments

* remove Spec method

* delete a comment

* uncomment config print

* fix a context bug

* fix issues after merging

* pass network config name

* update go.mod

* fix issues after merging

* networkconfig: delete hardcoded beacon configs (#2183)

* beacon/goclient: get beacon config from beacon node

* use beacon config obtained from beacon node

* log config as JSON

* networkconfig: CLI for custom SSV config generation

* implement JSON marshaling and YAML marshaling/unmarshaling

* remove TotalEthereumValidators

* simplify marshaling/unmarshaling logic

* fix markdown formatting

* use yaml@v3

* add tests

* simplify unmarshaling

* delete a comment

* use Stringer to log node

* guard beacon config reads with mutex

* add a timeout log

* delete hardcoded beacon configs

* Revert "delete hardcoded beacon configs"

This reverts commit c2e2f8f.

* networkconfig: make hardcoded values configurable

* fix issues after merging

* code review comments

* fix issues after merging

* delete outer metrics for genesisForClient

* rewrite modulo calculation

* code review comments

* unexport supportedSSVConfigs

* revert the modulo calculation

* add EpochDuration mock

* G115

* fill missing fields in configs

* add a comment about eth spec

* fix error text

* use genesis validators root from config in computeVoluntaryExitDomain

* beacon,networkconfig: move forks from beacon to networkconfig

* get rid of using Genesis method

* use ForkAtEpoch instead of DataVersion

* generate mocks

* fix linter

* fix beacon tests

* beacon: delete ForkAtEpoch

* fix ekm tests

* update go.mod

* fix some TODOs

* networkconfig: delete mainnet beacon config

* networkconfig: delete rest of configs

* replace TestRealNetwork with TestNetwork

* fix linter

* fix a typo

* remove redundant comments

* remove Spec method

* delete a comment

* uncomment config print

* fix a context bug

* fix issues after merging

* delete TestRealNetwork

* pass network config name

* update go.mod

* fix issues after merging

* fix issues after merging

* rename BeaconName to NetworkName

* refactor getting spec parameters

* update go.mod

* fix type assertion

* fix spec align

---------

Co-authored-by: y0sher <lyosher@gmail.com>
Co-authored-by: Matus Kysel <matus@ssvlabs.io>
nkryuchkov added a commit that referenced this pull request Jun 4, 2025
… interface (#2145)

* networkconfig: split beacon and ssv configs

* move most parameters outside of BeaconNetwork interface

* get rid of BeaconNetwork interface

* some leftovers

* fix linter

* fix message validation tests

* fix linter again

* leftovers after merging

* fix issues after merging

* fix network name bug

* code review comments

* fix issues after merging

* update go.mod

* fix ekm tests

* remove unused import

* update go.mod

* fix issues after merging

* format/imports

* revert preparationSlots type change

* use uint64 for amount of slots and epochs

* use github.com/ssvlabs/eth2-key-manager@v1.5.5

* spec-alignment

* feat(networkconfig,beacon/goclient): get beacon config from beacon node (#2153)

* beacon/goclient: get beacon config from beacon node

* use beacon config obtained from beacon node

* log config as JSON

* delete a comment

* use Stringer to log node

* guard beacon config reads with mutex

* add a timeout log

* delete hardcoded beacon configs

* Revert "delete hardcoded beacon configs"

This reverts commit c2e2f8f.

* fix issues after merging

* code review comments

* unexport supportedSSVConfigs

* fix a context bug

* pass network config name

* feat(networkconfig): CLI for custom SSV config generation (#2156)

* networkconfig: CLI for custom SSV config generation

* implement JSON marshaling and YAML marshaling/unmarshaling

* remove TotalEthereumValidators

* simplify marshaling/unmarshaling logic

* fix markdown formatting

* use yaml@v3

* add tests

* simplify unmarshaling

* fix linter

* add missing fields to LocalTestnet

* update go.mod

* networkconfig: make hardcoded values configurable (#2164)

* beacon/goclient: get beacon config from beacon node

* use beacon config obtained from beacon node

* log config as JSON

* networkconfig: CLI for custom SSV config generation

* implement JSON marshaling and YAML marshaling/unmarshaling

* remove TotalEthereumValidators

* simplify marshaling/unmarshaling logic

* fix markdown formatting

* use yaml@v3

* add tests

* simplify unmarshaling

* delete a comment

* use Stringer to log node

* guard beacon config reads with mutex

* add a timeout log

* delete hardcoded beacon configs

* Revert "delete hardcoded beacon configs"

This reverts commit c2e2f8f.

* networkconfig: make hardcoded values configurable

* fix issues after merging

* code review comments

* fix issues after merging

* delete outer metrics for genesisForClient

* rewrite modulo calculation

* code review comments

* unexport supportedSSVConfigs

* revert the modulo calculation

* add EpochDuration mock

* G115

* fill missing fields in configs

* add a comment about eth spec

* fix error text

* use genesis validators root from config in computeVoluntaryExitDomain

* fix linter

* fix a typo

* remove redundant comments

* fix a context bug

* fix issues after merging

* pass network config name

* networkconfig: narrow config usage (#2172)

* use SSV/Beacon configs instead of NetworkConfig where possible

* fix linter

* fix a comment

* fix issues after merging

* fix issues after merging

* beacon,networkconfig: move fork handling from beacon to networkconfig (#2178)

* beacon/goclient: get beacon config from beacon node

* use beacon config obtained from beacon node

* log config as JSON

* networkconfig: CLI for custom SSV config generation

* implement JSON marshaling and YAML marshaling/unmarshaling

* remove TotalEthereumValidators

* simplify marshaling/unmarshaling logic

* fix markdown formatting

* use yaml@v3

* add tests

* simplify unmarshaling

* delete a comment

* use Stringer to log node

* guard beacon config reads with mutex

* add a timeout log

* delete hardcoded beacon configs

* Revert "delete hardcoded beacon configs"

This reverts commit c2e2f8f.

* networkconfig: make hardcoded values configurable

* fix issues after merging

* code review comments

* fix issues after merging

* delete outer metrics for genesisForClient

* rewrite modulo calculation

* code review comments

* unexport supportedSSVConfigs

* revert the modulo calculation

* add EpochDuration mock

* G115

* fill missing fields in configs

* add a comment about eth spec

* fix error text

* use genesis validators root from config in computeVoluntaryExitDomain

* beacon,networkconfig: move forks from beacon to networkconfig

* get rid of using Genesis method

* use ForkAtEpoch instead of DataVersion

* generate mocks

* fix linter

* fix beacon tests

* beacon: delete ForkAtEpoch

* fix ekm tests

* update go.mod

* fix some TODOs

* fix linter

* fix a typo

* remove redundant comments

* remove Spec method

* delete a comment

* uncomment config print

* fix a context bug

* fix issues after merging

* pass network config name

* update go.mod

* fix issues after merging

* networkconfig: delete hardcoded beacon configs (#2183)

* beacon/goclient: get beacon config from beacon node

* use beacon config obtained from beacon node

* log config as JSON

* networkconfig: CLI for custom SSV config generation

* implement JSON marshaling and YAML marshaling/unmarshaling

* remove TotalEthereumValidators

* simplify marshaling/unmarshaling logic

* fix markdown formatting

* use yaml@v3

* add tests

* simplify unmarshaling

* delete a comment

* use Stringer to log node

* guard beacon config reads with mutex

* add a timeout log

* delete hardcoded beacon configs

* Revert "delete hardcoded beacon configs"

This reverts commit c2e2f8f.

* networkconfig: make hardcoded values configurable

* fix issues after merging

* code review comments

* fix issues after merging

* delete outer metrics for genesisForClient

* rewrite modulo calculation

* code review comments

* unexport supportedSSVConfigs

* revert the modulo calculation

* add EpochDuration mock

* G115

* fill missing fields in configs

* add a comment about eth spec

* fix error text

* use genesis validators root from config in computeVoluntaryExitDomain

* beacon,networkconfig: move forks from beacon to networkconfig

* get rid of using Genesis method

* use ForkAtEpoch instead of DataVersion

* generate mocks

* fix linter

* fix beacon tests

* beacon: delete ForkAtEpoch

* fix ekm tests

* update go.mod

* fix some TODOs

* networkconfig: delete mainnet beacon config

* networkconfig: delete rest of configs

* replace TestRealNetwork with TestNetwork

* fix linter

* fix a typo

* remove redundant comments

* remove Spec method

* delete a comment

* uncomment config print

* fix a context bug

* fix issues after merging

* delete TestRealNetwork

* pass network config name

* update go.mod

* fix issues after merging

* fix issues after merging

* rename BeaconName to NetworkName

* refactor getting spec parameters

* update go.mod

* fix type assertion

* fix spec align

---------

Co-authored-by: y0sher <lyosher@gmail.com>
Co-authored-by: Matus Kysel <matus@ssvlabs.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants