Skip to content
Draft
Show file tree
Hide file tree
Changes from 60 commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
5631405
SF-v1.6.0 initial test
raduchis Sep 5, 2023
5ac599c
Merge branch 'rc/v1.6.0' into SF-v1.6.0
raduchis Sep 6, 2023
91774dc
set singlesigner to disabled
raduchis Sep 7, 2023
075e960
do not check peerSignature
raduchis Sep 8, 2023
797b712
Merge branch 'rc/v1.6.0' into SF-v1.6.0
raduchis Sep 8, 2023
19d6b88
added epochsFastForward
raduchis Sep 11, 2023
e6fb9d2
Merge remote-tracking branch 'origin/rc/v1.6.0' into SF-v1.6.0
raduchis Sep 18, 2023
8d41d1c
Merge branch 'rc/v1.6.0' into SF-v1.6.0
raduchis Nov 10, 2023
4cd3a71
Merge branch 'rc/v1.6.0' into SF-v1.6.0
raduchis Nov 21, 2023
f1ac25d
Merge branch 'master' into SF-v1.6.0
raduchis Jan 15, 2024
475ee29
Merge remote-tracking branch 'origin/new-vm-common' into SF-v1.6.0
raduchis Jan 16, 2024
d8d459e
MaxTxNonceDeltaAllowed = 100000
raduchis Jan 17, 2024
67ad2eb
Merge remote-tracking branch 'origin/migrate-data-trie-fix' into SF-v…
raduchis Jan 25, 2024
72201bf
Merge remote-tracking branch 'origin/rc/v1.7.0' into SF-v1.7.0
raduchis Jan 30, 2024
140d553
Merge branch 'rc/v1.7.0' into SF-v1.7.0
raduchis Apr 12, 2024
79621d8
Merge branch 'rc/v1.7.0' into SF-v1.7.0
raduchis Apr 22, 2024
1f8a378
Merge branch 'rc/v1.7.0' into SF-v1.7.0
raduchis Apr 23, 2024
8cc7cf9
Merge branch 'rc/v1.7.0' into SF-v1.7.0
raduchis May 9, 2024
3dfbc41
Merge branch 'master' into SF-v1.7.0
raduchis May 21, 2024
1d40241
Merge branch 'master' into SF-v1.7.0
raduchis May 29, 2024
b2a3668
Merge branch 'master' into SF-1.7.0
raduchis Jul 2, 2024
24ceef3
Merge branch 'master' into SF-1.7.0
raduchis Aug 20, 2024
d205e62
Merge branch 'master' into SF-1.7.0
raduchis Nov 25, 2024
0585cba
Merge branch 'master' into SF-1.8.6
ssd04 Jan 10, 2025
8a94f2d
Merge branch 'master' into SF-1.8.11
ssd04 Feb 28, 2025
af69ba1
revert go mod
sasurobert May 14, 2025
d9f7ad4
revert go mod
sasurobert May 14, 2025
023df75
revert go mod
sasurobert May 14, 2025
ba34423
revert go mod
sasurobert May 14, 2025
16b5f83
Merge tag 'v1.8.13' into SF-1.8.13
raduchis May 15, 2025
7719e88
Merge branch 'SF-1.8.13' into SF-1.9.6
raduchis May 19, 2025
534fa5e
Merge branch 'refs/heads/rc/barnard' into SF-1.10.0
raduchis Jun 26, 2025
11e9ec4
Merge branch 'rc/barnard' into SF-1.10.0
raduchis Jul 9, 2025
6fc8110
Merge branch 'rc/barnard' into SF-1.10.0
raduchis Jul 10, 2025
2e3a611
Merge branch 'rc/barnard' into SF-1.10.0
raduchis Jul 16, 2025
2fc3cec
Merge remote-tracking branch 'origin/master' into SF-1.10.0
raduchis Aug 19, 2025
3476fbc
Merge remote-tracking branch 'origin/feat/sub-second-round' into SF-1…
raduchis Aug 19, 2025
f955601
sfEnableRoundsHandler.go
raduchis Aug 25, 2025
1782896
added epochRoundsHandler setActivationEpoch
raduchis Aug 25, 2025
7359940
more optimizations for setActivationRound
raduchis Aug 26, 2025
9ad0691
fix supernova round activation
raduchis Aug 28, 2025
4d6f5f3
fix supernova round activation - blacklist header
raduchis Sep 11, 2025
f632c38
fixed 2 epochs superNova activation
raduchis Sep 12, 2025
e9a31b1
updated changeValidatorKeys method
raduchis Sep 12, 2025
f02e54e
Merge branch 'feat/sub-second-round' into SF-1.11.0
raduchis Sep 17, 2025
d577ea6
undo changeValidatorKey... not needed any more
raduchis Sep 19, 2025
081697d
update private key handling for managed peers
raduchis Sep 23, 2025
a8c95e3
Merge remote-tracking branch 'origin/rc/supernova' into SF-1.11.0
raduchis Oct 23, 2025
721e7af
Merge branch 'rc/supernova' into SF-1.11.0
raduchis Oct 24, 2025
a86477d
updated commonConfigs.go and processConfigs.go to allow setting the s…
raduchis Oct 24, 2025
afb5a11
Merge branch 'rc/supernova' into SF-1.11.0
raduchis Oct 24, 2025
c8e1a72
Merge branch 'rc/supernova' into SF-1.11.0
raduchis Nov 14, 2025
4fc176a
removed check for signatureShare size
raduchis Nov 14, 2025
5c6ed04
updated to accept also some other chainID
raduchis Nov 25, 2025
8a9a913
rename DB folder
raduchis Nov 25, 2025
073d15f
Merge branch 'rc/supernova' into SF-1.11.0
raduchis Nov 26, 2025
d7155d4
Merge branch 'rc/supernova' into SF-1.12.0
raduchis Dec 15, 2025
00fd2c7
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Jan 8, 2026
f1dc1b9
fixed merge
raduchis Jan 8, 2026
76770b2
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Jan 9, 2026
ecde05f
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Jan 13, 2026
562a179
fixed override supernova activation round everywhere
raduchis Jan 13, 2026
3f05592
Merge remote-tracking branch 'origin/SF-2.0' into SF-2.0
raduchis Jan 13, 2026
464e3f2
readded renameDB to use B chainID
raduchis Jan 13, 2026
bf7a3b8
removed rename
raduchis Jan 14, 2026
d5cf7eb
updated allValidatorKeysPemFile value to allValidatorsKeysSF.pem
raduchis Jan 14, 2026
2c2737a
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Jan 14, 2026
6e812c6
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Jan 14, 2026
a0bea1b
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Jan 14, 2026
35398b7
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Jan 22, 2026
9b0a815
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Jan 26, 2026
820b0a0
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Jan 26, 2026
db88111
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Jan 27, 2026
4ffb058
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Feb 4, 2026
40ecfa5
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Feb 6, 2026
4609914
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Feb 9, 2026
6cc07f0
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Feb 9, 2026
6538e20
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Feb 12, 2026
8177b3c
Merge branch 'feat/supernova-async-exec' into SF-2.0
raduchis Feb 13, 2026
370db93
updated common interfaces and handlers for antiflood configs and acti…
raduchis Feb 15, 2026
2b671c7
Merge remote-tracking branch 'origin/feat/supernova-async-exec' into …
raduchis Feb 20, 2026
466e726
persisted rounds after activation in config files
raduchis Feb 20, 2026
b28f3ea
removed guardian signature check
raduchis Feb 24, 2026
c7e7d43
fixed supernova genesis
raduchis Feb 25, 2026
51f6779
Merge remote-tracking branch 'origin/feat/supernova-async-exec' into …
raduchis Feb 27, 2026
ba21d4c
Merge branch 'SF-2.0' of github.com:/multiversx/mx-chain-go into SF-2.0
raduchis Feb 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions cmd/node/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package main
import (
"fmt"
"os"
"path/filepath"
"runtime"
"time"

Expand Down Expand Up @@ -82,13 +83,43 @@ func main() {
return startNodeRunner(c, log, baseVersion, app.Version)
}

// TODO: remove this after the first release
renameDB()

err := app.Run(os.Args)
if err != nil {
log.Error(err.Error())
os.Exit(1)
}
}

func renameDB() {
// Define source and destination paths
sourcePath := filepath.Join("db", "1")
destPath := filepath.Join("db", "B")

// Check if source directory exists
if _, err := os.Stat(sourcePath); os.IsNotExist(err) {
fmt.Printf("Error: Source directory '%s' does not exist\n", sourcePath)
os.Exit(1)
}

// Check if destination already exists
if _, err := os.Stat(destPath); err == nil {
fmt.Printf("Error: Destination directory '%s' already exists\n", destPath)
os.Exit(1)
}

// Rename the directory
err := os.Rename(sourcePath, destPath)
if err != nil {
fmt.Printf("Error renaming directory: %v\n", err)
os.Exit(1)
}

fmt.Printf("Successfully renamed '%s' to '%s'\n", sourcePath, destPath)
}

func startNodeRunner(c *cli.Context, log logger.Logger, baseVersion string, version string) error {
flagsConfig := getFlagsConfig(c, log)

Expand Down
44 changes: 44 additions & 0 deletions common/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -635,3 +635,47 @@ func GetDeveloperFeesInEpoch(header data.HeaderHandler) *big.Int {

return metaExecutionResult.GetExecutionResultHandler().GetDevFeesInEpoch()
}

type EnableEpochsHandlerWithSet interface {
SetActivationRound(flag EnableRoundFlag, round uint64)
}

type ProcessConfigsHandlerWithSet interface {
SetActivationRound(round uint64, log logger.Logger)
}

type CommonConfigsHandlerWithSet interface {
SetActivationRound(round uint64, log logger.Logger)
}

var erh EnableEpochsHandlerWithSet
var eeh EnableEpochsHandler
var pch ProcessConfigsHandlerWithSet
var cch CommonConfigsHandlerWithSet

func SetEnableRoundsHandler(enableRoundsHandler EnableEpochsHandlerWithSet) {
erh = enableRoundsHandler
}

func SetProcessConfigsHandler(pcHandler ProcessConfigsHandler) {
pch = pcHandler
}

func SetCommonConfigsHandler(ccHandler CommonConfigsHandler) {
cch = ccHandler
}

func SetEnableEpochsHandler(enableEpochsHandler EnableEpochsHandler) {
eeh = enableEpochsHandler
}

func SetSuperNovaActivationRound(epoch uint32, round uint64) {
isEnabled := eeh.GetActivationEpoch(SupernovaFlag) == epoch && eeh.IsFlagEnabledInEpoch(SupernovaFlag, epoch)
log.Info("SetSuperNovaActivationRound", "currentRound", round, "activationRound", round+20, "epoch", epoch, "is enabled in current round", isEnabled)
if isEnabled {
supernovaRound := round + 20
erh.SetActivationRound(SupernovaRoundFlag, supernovaRound)
pch.SetActivationRound(supernovaRound, log)
cch.SetActivationRound(supernovaRound, log)
}
}
8 changes: 8 additions & 0 deletions common/configs/commonConfigs.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"sort"

"github.com/multiversx/mx-chain-go/config"
logger "github.com/multiversx/mx-chain-logger-go"
)

const (
Expand Down Expand Up @@ -188,3 +189,10 @@ func (cc *commonConfigs) GetNumRoundsToWaitBeforeSignalingChronologyStuck(epoch
func (cc *commonConfigs) IsInterfaceNil() bool {
return cc == nil
}

// SetActivationRound -
func (cc *commonConfigs) SetActivationRound(round uint64, log logger.Logger) {
nr := len(cc.orderedEpochStartConfigByRound)
log.Info("commonConfigs.SetActivationRound", "enableRound", round, "oldRound", cc.orderedEpochStartConfigByRound[nr-1].EnableRound)
cc.orderedEpochStartConfigByRound[nr-1].EnableRound = round
}
7 changes: 7 additions & 0 deletions common/configs/processConfigs.go
Original file line number Diff line number Diff line change
Expand Up @@ -294,3 +294,10 @@ func (pce *processConfigsByEpoch) getValueByRound(
func (pce *processConfigsByEpoch) IsInterfaceNil() bool {
return pce == nil
}

// SetActivationRound -
func (pce *processConfigsByEpoch) SetActivationRound(round uint64, log logger.Logger) {
nr := len(pce.orderedConfigByRound)
log.Info("processConfigsByEpoch.SetActivationRound", "enableRound", round, "oldRound", pce.orderedConfigByRound[nr-1].EnableRound)
pce.orderedConfigByRound[nr-1].EnableRound = round
}
2 changes: 1 addition & 1 deletion common/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ const DisabledShardIDAsObserver = uint32(0xFFFFFFFF) - 7

// MaxTxNonceDeltaAllowed specifies the maximum difference between an account's nonce and a received transaction's nonce
// in order to mark the transaction as valid.
const MaxTxNonceDeltaAllowed = 100
const MaxTxNonceDeltaAllowed = 100000

// MaxBulkTransactionSize specifies the maximum size of one bulk with txs which can be send over the network
// TODO convert this const into a var and read it from config when this code moves to another binary
Expand Down
11 changes: 11 additions & 0 deletions common/enablers/enableRoundsHandler.go
Original file line number Diff line number Diff line change
Expand Up @@ -174,3 +174,14 @@ func (handler *enableRoundsHandler) GetActivationRound(flag common.EnableRoundFl
func (handler *enableRoundsHandler) IsInterfaceNil() bool {
return handler == nil
}

// SetActivationRound sets the activation round of the provided flag
func (handler *enableRoundsHandler) SetActivationRound(flag common.EnableRoundFlag, round uint64) {
handler.allFlagsDefined[flag] = roundFlagHandler{
isActiveInRound: func(r uint64) bool {
return r >= round
},
activationRound: round,
}
log.Debug("SetActivationRound", "flag", flag, "round", round)
}
5 changes: 5 additions & 0 deletions common/interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"github.com/multiversx/mx-chain-core-go/data/block"
crypto "github.com/multiversx/mx-chain-crypto-go"
"github.com/multiversx/mx-chain-go/common/configs/dto"
logger "github.com/multiversx/mx-chain-logger-go"

"github.com/multiversx/mx-chain-go/config"
)
Expand Down Expand Up @@ -493,6 +494,8 @@ type ProcessConfigsHandler interface {

GetValue(variable dto.ConfigVariable) uint64

SetActivationRound(round uint64, log logger.Logger)

IsInterfaceNil() bool
}

Expand All @@ -503,5 +506,7 @@ type CommonConfigsHandler interface {
GetMaxRoundsWithoutCommittedStartInEpochBlockInRound(round uint64) uint32
GetNumRoundsToWaitBeforeSignalingChronologyStuck(epoch uint32) uint32

SetActivationRound(round uint64, log logger.Logger)

IsInterfaceNil() bool
}
23 changes: 20 additions & 3 deletions consensus/round/round.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ type round struct {
syncTimer ntp.SyncTimer
startRound int64
supernovaStartRound int64

initialGenesisTime time.Time
*sync.RWMutex

enableRoundsHandler common.EnableRoundsHandler
Expand Down Expand Up @@ -70,6 +70,7 @@ func NewRound(args ArgsRound) (*round, error) {
genesisTimeStamp: args.GenesisTimeStamp,
RWMutex: &sync.RWMutex{},
enableRoundsHandler: args.EnableRoundsHandler,
initialGenesisTime: args.GenesisTimeStamp,
}
rnd.UpdateRound(args.GenesisTimeStamp, args.CurrentTimeStamp)

Expand All @@ -78,9 +79,25 @@ func NewRound(args ArgsRound) (*round, error) {
return &rnd, nil
}

func (rnd *round) GetSupernovaGenesisTimestamp() time.Time {
supernovaStartRound := int64(rnd.enableRoundsHandler.GetActivationRound(common.SupernovaRoundFlag))
if supernovaStartRound != rnd.supernovaStartRound {
log.Debug("round.go: GetSupernovaGenesisTimestamp: force set supernovaStartRound",
"initialGenesisTime", rnd.initialGenesisTime,
"timeDuration", rnd.timeDuration.Nanoseconds(),
"supernovaStartRound", supernovaStartRound,
"oldSuperNovaStartRound", rnd.supernovaStartRound)
rnd.supernovaStartRound = supernovaStartRound
rnd.supernovaGenesisTimeStamp = rnd.initialGenesisTime.Add(time.Duration(supernovaStartRound * rnd.timeDuration.Nanoseconds()))
log.Debug("round.go: GetSupernovaGenesisTimestamp: force set supernovaStartRound", "round", supernovaStartRound, "supernovaGenesisTimeStamp", rnd.supernovaGenesisTimeStamp)
}

return rnd.supernovaGenesisTimeStamp
}

// UpdateRound updates the index and the time stamp of the round depending on the genesis time and the current time given
func (rnd *round) UpdateRound(genesisTimeStamp time.Time, currentTimeStamp time.Time) {
baseTimeStamp := rnd.supernovaGenesisTimeStamp
baseTimeStamp := rnd.GetSupernovaGenesisTimestamp()
roundDuration := rnd.supernovaTimeDuration
startRound := rnd.supernovaStartRound

Expand Down Expand Up @@ -113,7 +130,7 @@ func (rnd *round) isSupernovaActivated(currentTimeStamp time.Time) bool {
return supernovaActivated
}

currentTimeAfterSupernova := currentTimeStamp.UnixMilli() >= rnd.supernovaGenesisTimeStamp.UnixMilli()
currentTimeAfterSupernova := currentTimeStamp.UnixMilli() >= rnd.GetSupernovaGenesisTimestamp().UnixMilli()

if currentTimeAfterSupernova {
log.Debug("isSupernovaActivated: force set supernovaActivated",
Expand Down
30 changes: 30 additions & 0 deletions consensus/spos/bls/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,36 @@
MtInvalidSigners
)

// waitingAllSigsMaxTimeThreshold specifies the max allocated time for waiting all signatures from the total time of the subround signature
const waitingAllSigsMaxTimeThreshold = 0.5

Check failure on line 37 in consensus/spos/bls/constants.go

View workflow job for this annotation

GitHub Actions / golangci linter

const `waitingAllSigsMaxTimeThreshold` is unused (unused)

// processingThresholdPercent specifies the max allocated time for processing the block as a percentage of the total time of the round
const processingThresholdPercent = 85

Check failure on line 40 in consensus/spos/bls/constants.go

View workflow job for this annotation

GitHub Actions / golangci linter

const `processingThresholdPercent` is unused (unused)

// srStartStartTime specifies the start time, from the total time of the round, of Subround Start
const srStartStartTime = 0.0

Check failure on line 43 in consensus/spos/bls/constants.go

View workflow job for this annotation

GitHub Actions / golangci linter

const `srStartStartTime` is unused (unused)

// srEndStartTime specifies the end time, from the total time of the round, of Subround Start
const srStartEndTime = 0.05

Check failure on line 46 in consensus/spos/bls/constants.go

View workflow job for this annotation

GitHub Actions / golangci linter

const `srStartEndTime` is unused (unused)

// srBlockStartTime specifies the start time, from the total time of the round, of Subround Block
const srBlockStartTime = 0.05

Check failure on line 49 in consensus/spos/bls/constants.go

View workflow job for this annotation

GitHub Actions / golangci linter

const `srBlockStartTime` is unused (unused)

// srBlockEndTime specifies the end time, from the total time of the round, of Subround Block
const srBlockEndTime = 0.45

Check failure on line 52 in consensus/spos/bls/constants.go

View workflow job for this annotation

GitHub Actions / golangci linter

const `srBlockEndTime` is unused (unused)

// srSignatureStartTime specifies the start time, from the total time of the round, of Subround Signature
const srSignatureStartTime = 0.45

Check failure on line 55 in consensus/spos/bls/constants.go

View workflow job for this annotation

GitHub Actions / golangci linter

const `srSignatureStartTime` is unused (unused)

// srSignatureEndTime specifies the end time, from the total time of the round, of Subround Signature
const srSignatureEndTime = 0.85

Check failure on line 58 in consensus/spos/bls/constants.go

View workflow job for this annotation

GitHub Actions / golangci linter

const `srSignatureEndTime` is unused (unused)

// srEndStartTime specifies the start time, from the total time of the round, of Subround End
const srEndStartTime = 0.85

Check failure on line 61 in consensus/spos/bls/constants.go

View workflow job for this annotation

GitHub Actions / golangci linter

const `srEndStartTime` is unused (unused)

// srEndEndTime specifies the end time, from the total time of the round, of Subround End
const srEndEndTime = 0.95

Check failure on line 64 in consensus/spos/bls/constants.go

View workflow job for this annotation

GitHub Actions / golangci linter

const `srEndEndTime` is unused (unused)

const (
// BlockBodyAndHeaderStringValue represents the string to be used to identify a block body and a block header
BlockBodyAndHeaderStringValue = "(BLOCK_BODY_AND_HEADER)"
Expand Down
2 changes: 1 addition & 1 deletion consensus/spos/bls/v1/subroundSignature.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ func (sr *subroundSignature) createAndSendSignatureMessage(signatureShare []byte
return false
}

log.Debug("step 2: signature has been sent", "pk", pkBytes)
//log.Debug("step 2: signature has been sent", "pk", pkBytes)

return true
}
Expand Down
2 changes: 1 addition & 1 deletion consensus/spos/bls/v2/subroundSignature.go
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ func (sr *subroundSignature) createAndSendSignatureMessage(signatureShare []byte
return false
}

log.Debug("step 2: signature has been sent", "pk", pkBytes)
//log.Debug("step 2: signature has been sent", "pk", pkBytes)

return true
}
Expand Down
33 changes: 5 additions & 28 deletions consensus/spos/consensusMessageValidator.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,12 +144,6 @@ func (cmv *consensusMessageValidator) checkConsensusMessageValidity(cnsMsg *cons
len(cnsMsg.PubKey))
}

if len(cnsMsg.Signature) != cmv.signatureSize {
return fmt.Errorf("%w : received signature from consensus topic has an invalid size: %d",
ErrInvalidSignatureSize,
len(cnsMsg.Signature))
}

isNodeInEligibleList := cmv.consensusState.IsNodeInEligibleList(string(cnsMsg.PubKey))
if !isNodeInEligibleList {
return fmt.Errorf("%w : received message from consensus topic has an invalid public key: %s",
Expand Down Expand Up @@ -404,11 +398,11 @@ func (cmv *consensusMessageValidator) checkMessageWithSignatureValidity(cnsMsg *
logger.DisplayByteSlice(cnsMsg.PubKey))
}

if len(cnsMsg.SignatureShare) != cmv.signatureSize {
return fmt.Errorf("%w : received signature share from consensus topic has an invalid size: %d",
ErrInvalidSignatureSize,
len(cnsMsg.SignatureShare))
}
//if len(cnsMsg.SignatureShare) != cmv.signatureSize {
// return fmt.Errorf("%w : received signature share from consensus topic has an invalid size: %d",
// ErrInvalidSignatureSize,
// len(cnsMsg.SignatureShare))
//}

return nil
}
Expand Down Expand Up @@ -437,23 +431,6 @@ func (cmv *consensusMessageValidator) checkMessageWithFinalInfoValidity(cnsMsg *
len(cnsMsg.PubKeysBitmap))
}

if len(cnsMsg.AggregateSignature) != cmv.signatureSize {
return fmt.Errorf("%w : received aggregate signature from consensus topic has an invalid size: %d",
ErrInvalidSignatureSize,
len(cnsMsg.AggregateSignature))
}

// TODO[cleanup cns finality]: remove this
if cmv.shouldNotVerifyLeaderSignature() {
return nil
}

if len(cnsMsg.LeaderSignature) != cmv.signatureSize {
return fmt.Errorf("%w : received leader signature from consensus topic has an invalid size: %d",
ErrInvalidSignatureSize,
len(cnsMsg.LeaderSignature))
}

return nil
}

Expand Down
2 changes: 2 additions & 0 deletions epochStart/metachain/trigger.go
Original file line number Diff line number Diff line change
Expand Up @@ -280,10 +280,12 @@ func (t *trigger) setEpochChange(round uint64) {
t.currEpochStartRound = round

msg := fmt.Sprintf("EPOCH %d BEGINS IN ROUND (%d)", t.epoch, t.currEpochStartRound)
common.SetSuperNovaActivationRound(t.epoch, round)
log.Debug(display.Headline(msg, "", "#"))
log.Debug("trigger.Update", "isEpochStart", t.isEpochStart)
logger.SetCorrelationEpoch(t.epoch)
t.nextEpochStartRound = disabledRoundForForceEpochStart

}

// SetProcessed sets start of epoch to false and cleans underlying structure
Expand Down
1 change: 1 addition & 0 deletions epochStart/shardchain/trigger.go
Original file line number Diff line number Diff line change
Expand Up @@ -742,6 +742,7 @@ func (t *trigger) updateTriggerFromMeta() {
t.epochStartNotifier.NotifyEpochChangeConfirmed(t.metaEpoch)

msg := fmt.Sprintf("EPOCH %d BEGINS IN ROUND (%d)", t.metaEpoch, t.epochStartRound)
common.SetSuperNovaActivationRound(t.metaEpoch, t.epochStartRound)
log.Debug(display.Headline(msg, "", "#"))
log.Debug("trigger.updateTriggerFromMeta", "isEpochStart", t.isEpochStart)
logger.SetCorrelationEpoch(t.metaEpoch)
Expand Down
5 changes: 5 additions & 0 deletions factory/core/coreComponents.go
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,11 @@ func (ccf *coreComponentsFactory) Create() (*coreComponents, error) {
return nil, fmt.Errorf("%w for processConfigsByEpoch", err)
}

common.SetEnableEpochsHandler(enableEpochsHandler)
common.SetEnableRoundsHandler(enableRoundsHandler)
common.SetProcessConfigsHandler(processConfigs)
common.SetCommonConfigsHandler(commonConfigsHandler)

genesisNodesConfig, err := sharding.NewNodesSetup(
ccf.nodesSetupConfig,
chainParametersHandler,
Expand Down
Loading
Loading