From c690cb2078845b892d5137d71a5e9ff40c066b2e Mon Sep 17 00:00:00 2001 From: Pratik Patil Date: Fri, 18 Aug 2023 12:27:12 +0530 Subject: [PATCH] update go.mod to point to erigon-lib fork for CI --- consensus/bor/bor.go | 4 ++-- core/types/block.go | 2 +- erigon-lib/chain/chain_config.go | 13 +++++++++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/consensus/bor/bor.go b/consensus/bor/bor.go index 6eec9db91a3..c812877d9cb 100644 --- a/consensus/bor/bor.go +++ b/consensus/bor/bor.go @@ -886,7 +886,7 @@ func (c *Bor) Prepare(chain consensus.ChainHeaderReader, header *types.Header, s // sort validator by address sort.Sort(valset.ValidatorsByAddress(newValidators)) - if c.config.IsParallelUniverse(header.Number) { + if c.config.IsParallelUniverse(header.Number.Uint64()) { var tempValidatorBytes []byte for _, validator := range newValidators { @@ -910,7 +910,7 @@ func (c *Bor) Prepare(chain consensus.ChainHeaderReader, header *types.Header, s header.Extra = append(header.Extra, validator.HeaderBytes()...) } } - } else if c.config.IsParallelUniverse(header.Number) { + } else if c.config.IsParallelUniverse(header.Number.Uint64()) { blockExtraData := &types.BlockExtraData{ ValidatorBytes: nil, TxDependency: nil, diff --git a/core/types/block.go b/core/types/block.go index d1e2a1b4a7b..2938f1116bf 100644 --- a/core/types/block.go +++ b/core/types/block.go @@ -1525,7 +1525,7 @@ func (b *Block) GetTxDependency() [][]uint64 { } func (h *Header) GetValidatorBytes(config *chain.BorConfig) []byte { - if !config.IsParallelUniverse(h.Number) { + if !config.IsParallelUniverse(h.Number.Uint64()) { return h.Extra[ExtraVanityLength : len(h.Extra)-ExtraSealLength] } diff --git a/erigon-lib/chain/chain_config.go b/erigon-lib/chain/chain_config.go index a82481115b7..50071f86224 100644 --- a/erigon-lib/chain/chain_config.go +++ b/erigon-lib/chain/chain_config.go @@ -417,6 +417,8 @@ type BorConfig struct { IndoreBlock *big.Int `json:"indoreBlock"` // Indore switch block (nil = no fork, 0 = already on indore) StateSyncConfirmationDelay map[string]uint64 `json:"stateSyncConfirmationDelay"` // StateSync Confirmation Delay, in seconds, to calculate `to` + ParallelUniverseBlock *big.Int `json:"parallelUniverseBlock"` // TODO: update all occurrence, change name and finalize number (hardfork for block-stm related changes) + sprints sprints } @@ -520,6 +522,17 @@ func (c *BorConfig) CalculateStateSyncDelay(number uint64) uint64 { return borKeyValueConfigHelper(c.StateSyncConfirmationDelay, number) } +// TODO: modify this function once the block number is finalized +func (c *BorConfig) IsParallelUniverse(number uint64) bool { + if c.ParallelUniverseBlock != nil { + if c.ParallelUniverseBlock.Cmp(big.NewInt(0)) == 0 { + return false + } + } + + return isForked(c.ParallelUniverseBlock, number) +} + func (c *BorConfig) calcConfig(field map[string]uint64, number uint64) uint64 { keys := sortMapKeys(field) for i := 0; i < len(keys)-1; i++ {