Skip to content

Commit

Permalink
added chiado and gnosis support to caplin (#7523)
Browse files Browse the repository at this point in the history
  • Loading branch information
Giulio2002 authored May 15, 2023
1 parent 90cb6be commit 6f758fd
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 11 deletions.
23 changes: 18 additions & 5 deletions cl/clparams/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ var (
"enr:-LK4QKWrXTpV9T78hNG6s8AM6IO4XH9kFT91uZtFg1GcsJ6dKovDOr1jtAAFPnS2lvNltkOGA9k29BUN7lFh_sjuc9QBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpC1MD8qAAAAAP__________gmlkgnY0gmlwhANAdd-Jc2VjcDI1NmsxoQLQa6ai7y9PMN5hpLe5HmiJSlYzMuzP7ZhwRiwHvqNXdoN0Y3CCI4yDdWRwgiOM",
}

GnosisBootstrapNodes = []string{
GnosisBootstrapNodes = append(MainnetBootstrapNodes, []string{
"enr:-Ly4QMU1y81COwm1VZgxGF4_eZ21ub9-GHF6dXZ29aEJ0oZpcV2Rysw-viaEKfpcpu9ZarILJLxFZjcKOjE0Sybs3MQBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpCCS-QxAgAAZP__________gmlkgnY0gmlwhANLnx-Jc2VjcDI1NmsxoQKoaYT8I-wf2I_f_ii6EgoSSXj5T3bhiDyW-7ZLsY3T64hzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA",
"enr:-Ly4QBf76jLiCA_pDXoZjhyRbuwzFOscFY-MIKkPnmHPQbvaKhIDZutfe38G9ibzgQP0RKrTo3vcWOy4hf_8wOZ-U5MBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpCCS-QxAgAAZP__________gmlkgnY0gmlwhBLGgjaJc2VjcDI1NmsxoQLGeo0Q4lDvxIjHjnkAqEuETTaFIjsNrEcSpdDhcHXWFYhzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA",
"enr:-Ly4QLjZUWdqUO_RwyDqCAccIK5-MbLRD6A2c7oBuVbBgBnWDkEf0UKJVAaJqi2pO101WVQQLYSnYgz1Q3pRhYdrlFoBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpCCS-QxAgAAZP__________gmlkgnY0gmlwhANA8sSJc2VjcDI1NmsxoQK4TC_EK1jSs0VVPUpOjIo1rhJmff2SLBPFOWSXMwdLVYhzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA",
Expand All @@ -78,8 +78,8 @@ var (
"enr:-Ly4QBbaKRSX4SncCOxTTL611Kxlz-zYFrIn-k_63jGIPK_wbvFghVUHJICPCxufgTX5h79jvgfPr-2hEEQEdziGQ5MCh2F0dG5ldHOIAAAAAAAAAACEZXRoMpCCS-QxAgAAZP__________gmlkgnY0gmlwhAMazo6Jc2VjcDI1NmsxoQKt-kbM9isuWp8djhyEq6-4MLv1Sy7dOXeMOMdPgwu9LohzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA",
"enr:-Ly4QKJ5BzgFyJ6BaTlGY0C8ROzl508U3GA6qxdG5Gn2hxdke6nQO187pYlLvhp82Dez4PQn436Fts1F0WAm-_5l2LACh2F0dG5ldHOIAAAAAAAAAACEZXRoMpCCS-QxAgAAZP__________gmlkgnY0gmlwhA-YLVKJc2VjcDI1NmsxoQI8_Lvr6p_TkcAu8KorKacfUEnoOon0tdO0qWhriPdBP4hzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA",
"enr:-Ly4QJMtoiX2bPnVbiQOJCLbtUlqdqZk7kCJQln_W1bp1vOHcxWowE-iMXkKC4_uOb0o73wAW71WYi80Dlsg-7a5wiICh2F0dG5ldHOIAAAAAAAAAACEZXRoMpCCS-QxAgAAZP__________gmlkgnY0gmlwhDbP3KmJc2VjcDI1NmsxoQNvcfKYUqcemLFlpKxl7JcQJwQ3L9unYL44gY2aEiRnI4hzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA",
}
ChiadoBootstrapNodes = []string{
}...)
ChiadoBootstrapNodes = append(MainnetBootstrapNodes, []string{
"enr:-L64QOijsdi9aVIawMb5h5PWueaPM9Ai6P17GNPFlHzz7MGJQ8tFMdYrEx8WQitNKLG924g2Q9cCdzg54M0UtKa3QIKCMxaHYXR0bmV0c4j__________4RldGgykDE2cEMCAABv__________-CaWSCdjSCaXCEi5AaWYlzZWNwMjU2azGhA8CjTkD4m1s8FbKCN18LgqlYcE65jrT148vFtwd9U62SiHN5bmNuZXRzD4N0Y3CCIyiDdWRwgiMo",
"enr:-L64QKYKGQj5ybkfBxyFU5IEVzP7oJkGHJlie4W8BCGAYEi4P0mmMksaasiYF789mVW_AxYVNVFUjg9CyzmdvpyWQ1KCMlmHYXR0bmV0c4j__________4RldGgykDE2cEMCAABv__________-CaWSCdjSCaXCEi5CtNolzZWNwMjU2azGhAuA7BAwIijy1z81AO9nz_MOukA1ER68rGA67PYQ5pF1qiHN5bmNuZXRzD4N0Y3CCIyiDdWRwgiMo",
"enr:-Ly4QJJUnV9BxP_rw2Bv7E9iyw4sYS2b4OQZIf4Mu_cA6FljJvOeSTQiCUpbZhZjR4R0VseBhdTzrLrlHrAuu_OeZqgJh2F0dG5ldHOI__________-EZXRoMpAxNnBDAgAAb___________gmlkgnY0gmlwhIuQGnOJc2VjcDI1NmsxoQPT_u3IjDtB2r-nveH5DhUmlM8F2IgLyxhmwmqW4L5k3ohzeW5jbmV0cw-DdGNwgiMog3VkcIIjKA",
Expand All @@ -88,7 +88,7 @@ var (
"enr:-Ly4QCGeYvTCNOGKi0mKRUd45rLj96b4pH98qG7B9TCUGXGpHZALtaL2-XfjASQyhbCqENccI4PGXVqYTIehNT9KJMQgh2F0dG5ldHOI__________-EZXRoMpAxNnBDAgAAb___________gmlkgnY0gmlwhIuQrVSJc2VjcDI1NmsxoQP9iDchx2PGl3JyJ29B9fhLCvVMN6n23pPAIIeFV-sHOIhzeW5jbmV0cw-DdGNwgiMog3VkcIIjKA",
"enr:-Ly4QAtr21x5Ps7HYhdZkIBRBgcBkvlIfEel1YNjtFWf4cV3au2LgBGICz9PtEs9-p2HUl_eME8m1WImxTxSB3AkCMwBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpAxNnBDAgAAb___________gmlkgnY0gmlwhANHhOeJc2VjcDI1NmsxoQNLp1QPV8-pyMCohOtj6xGtSBM_GtVTqzlbvNsCF4ezkYhzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA",
"enr:-Ly4QLgn8Bx6faigkKUGZQvd1HDToV2FAxZIiENK-lczruzQb90qJK-4E65ADly0s4__dQOW7IkLMW7ZAyJy2vtiLy8Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpAxNnBDAgAAb___________gmlkgnY0gmlwhANFIw2Jc2VjcDI1NmsxoQMa-fWEy9UJHfOl_lix3wdY5qust78sHAqZnWwEiyqKgYhzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA",
}
}...)
)

type NetworkConfig struct {
Expand Down Expand Up @@ -474,7 +474,7 @@ type BeaconChainConfig struct {
}

func (b *BeaconChainConfig) GetCurrentStateVersion(epoch uint64) StateVersion {
forkEpochList := []uint64{b.AltairForkEpoch, b.BellatrixForkEpoch, b.CapellaForkEpoch}
forkEpochList := []uint64{b.AltairForkEpoch, b.BellatrixForkEpoch, b.CapellaForkEpoch, b.DenebForkEpoch}
stateVersion := Phase0Version
for _, forkEpoch := range forkEpochList {
if forkEpoch > epoch {
Expand Down Expand Up @@ -813,6 +813,8 @@ func gnosisConfig() BeaconChainConfig {
cfg.BaseRewardFactor = 25
cfg.SlotsPerEpoch = 16
cfg.EpochsPerSyncCommitteePeriod = 512
cfg.CapellaForkEpoch = math.MaxUint64
cfg.DenebForkEpoch = math.MaxUint64
cfg.InitializeForkSchedule()
return cfg
}
Expand All @@ -839,6 +841,8 @@ func chiadoConfig() BeaconChainConfig {
cfg.BaseRewardFactor = 25
cfg.SlotsPerEpoch = 16
cfg.EpochsPerSyncCommitteePeriod = 512
cfg.CapellaForkEpoch = math.MaxUint64
cfg.DenebForkEpoch = math.MaxUint64
cfg.InitializeForkSchedule()
return cfg
}
Expand Down Expand Up @@ -886,6 +890,12 @@ var BeaconConfigs map[NetworkType]BeaconChainConfig = map[NetworkType]BeaconChai
ChiadoNetwork: chiadoConfig(),
}

// Eth1DataVotesLength returns the maximum length of the votes on the Eth1 data,
// computed from the parameters in BeaconChainConfig.
func (b *BeaconChainConfig) Eth1DataVotesLength() uint64 {
return b.EpochsPerEth1VotingPeriod * b.SlotsPerEpoch
}

func GetConfigsByNetwork(net NetworkType) (*GenesisConfig, *NetworkConfig, *BeaconChainConfig) {
networkConfig := NetworkConfigs[net]
genesisConfig := GenesisConfigs[net]
Expand Down Expand Up @@ -919,6 +929,9 @@ func GetCheckpointSyncEndpoint(net NetworkType) string {
if !ok {
return ""
}
if len(checkpoints) == 1 {
return checkpoints[0]
}
n, err := rand.Int(rand.Reader, big.NewInt(int64(len(checkpoints)-1)))
if err != nil {
panic(err)
Expand Down
3 changes: 2 additions & 1 deletion cl/phase1/core/checkpoint.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ package core
import (
"context"
"fmt"
"github.com/ledgerwatch/erigon/cl/phase1/core/state"
"io"
"net/http"

"github.com/ledgerwatch/erigon/cl/phase1/core/state"

"github.com/ledgerwatch/erigon/cl/clparams"
"github.com/ledgerwatch/erigon/cl/utils"
"github.com/ledgerwatch/log/v3"
Expand Down
2 changes: 1 addition & 1 deletion cl/phase1/core/state/raw/hashing.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ func (b *BeaconState) computeDirtyLeaves() error {

// Field(9): Eth1DataVotes
if b.isLeafDirty(Eth1DataVotesLeafIndex) {
root, err := merkle_tree.ListObjectSSZRoot(b.eth1DataVotes, maxEth1Votes)
root, err := merkle_tree.ListObjectSSZRoot(b.eth1DataVotes, b.beaconConfig.Eth1DataVotesLength())
if err != nil {
return err
}
Expand Down
7 changes: 4 additions & 3 deletions cl/phase1/core/state/raw/ssz.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ func (b *BeaconState) EncodeSSZ(buf []byte) ([]byte, error) {
return nil, fmt.Errorf("too many summaries")
}

if len(b.eth1DataVotes) > state_encoding.Eth1DataVotesRootsLimit {
if len(b.eth1DataVotes) > int(b.beaconConfig.Eth1DataVotesLength()) {
return nil, fmt.Errorf("too many votes")
}

Expand Down Expand Up @@ -383,7 +383,7 @@ func (b *BeaconState) DecodeSSZ(buf []byte, version int) error {
if b.historicalRoots, err = ssz.DecodeHashList(buf, historicalRootsOffset, votesOffset, state_encoding.HistoricalRootsLength); err != nil {
return err
}
if b.eth1DataVotes, err = ssz.DecodeStaticList[*cltypes.Eth1Data](buf, votesOffset, validatorsOffset, 72, maxEth1Votes, version); err != nil {
if b.eth1DataVotes, err = ssz.DecodeStaticList[*cltypes.Eth1Data](buf, votesOffset, validatorsOffset, 72, b.beaconConfig.Eth1DataVotesLength(), version); err != nil {
return err
}
if b.validators, err = ssz.DecodeStaticList[*cltypes.Validator](buf, validatorsOffset, balancesOffset, 121, state_encoding.ValidatorRegistryLimit, version); err != nil {
Expand All @@ -393,6 +393,7 @@ func (b *BeaconState) DecodeSSZ(buf []byte, version int) error {
if err != nil {
return err
}

b.SetBalances(rawBalances)
if b.version == clparams.Phase0Version {
maxAttestations := b.beaconConfig.SlotsPerEpoch * b.beaconConfig.MaxAttestations
Expand Down Expand Up @@ -429,6 +430,7 @@ func (b *BeaconState) DecodeSSZ(buf []byte, version int) error {
if err != nil {
return err
}

b.SetInactivityScores(inactivityScores)
if b.version == clparams.AltairVersion {
return b.init()
Expand All @@ -437,7 +439,6 @@ func (b *BeaconState) DecodeSSZ(buf []byte, version int) error {
if historicalSummariesOffset != 0 {
endOffset = historicalSummariesOffset
}

if len(buf) < int(endOffset) || executionPayloadOffset > endOffset {
return fmt.Errorf("[BeaconState] err: %s", ssz.ErrLowBufferSize)
}
Expand Down
2 changes: 1 addition & 1 deletion cl/phase1/stages/stage_fork_choice.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ func startDownloadService(s *stagedsync.StageState, cfg StageForkChoiceCfg) {
sendForckchoice :=
utils.GetCurrentSlot(cfg.genesisCfg.GenesisTime, cfg.beaconCfg.SecondsPerSlot) == block.Block.Slot
if err := cfg.forkChoice.OnBlock(block, false, true); err != nil {
log.Warn("Could not download block", "reason", err)
log.Warn("Could not download block", "reason", err, "slot", block.Block.Slot)
return highestSlotProcessed, libcommon.Hash{}, err
}
highestSlotProcessed = utils.Max64(block.Block.Slot, highestSlotProcessed)
Expand Down
1 change: 1 addition & 0 deletions cmd/sentinel/sentinel/handshake/handshake.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,5 +88,6 @@ func (h *HandShaker) ValidatePeer(id peer.ID) bool {
if err != nil {
return false
}

return responseStatus.ForkDigest == forkDigest
}

0 comments on commit 6f758fd

Please sign in to comment.