@@ -45,7 +45,6 @@ import (
4545 processMock "github.com/multiversx/mx-chain-go/process/mock"
4646 "github.com/multiversx/mx-chain-go/process/scToProtocol"
4747 "github.com/multiversx/mx-chain-go/process/smartContract"
48- "github.com/multiversx/mx-chain-go/process/sync"
4948 processSync "github.com/multiversx/mx-chain-go/process/sync"
5049 "github.com/multiversx/mx-chain-go/process/track"
5150 "github.com/multiversx/mx-chain-go/sharding"
@@ -160,6 +159,7 @@ type TestFullNode struct {
160159
161160 ShardCoordinator sharding.Coordinator
162161 MultiSigner * cryptoMocks.MultisignerMock
162+ GenesisTimeField time.Time
163163}
164164
165165// NewTestFullNode will create a new instance of full testing node
@@ -240,9 +240,10 @@ func (tpn *TestFullNode) initTestNodeWithArgs(args ArgTestProcessorNode, fullArg
240240
241241 syncer := ntp .NewSyncTime (ntp .NewNTPGoogleConfig (), nil )
242242 syncer .StartSyncingTime ()
243+ tpn .GenesisTimeField = time .Unix (fullArgs .StartTime , 0 )
243244
244245 roundHandler , _ := round .NewRound (
245- time . Unix ( fullArgs . StartTime , 0 ) ,
246+ tpn . GenesisTimeField ,
246247 syncer .CurrentTime (),
247248 time .Millisecond * time .Duration (fullArgs .RoundTime ),
248249 syncer ,
@@ -417,7 +418,8 @@ func (tpn *TestFullNode) initNode(
417418 coreComponents .ChainIdCalled = func () string {
418419 return string (tpn .ChainID )
419420 }
420- coreComponents .GenesisTimeField = time .Unix (args .StartTime , 0 )
421+
422+ coreComponents .GenesisTimeField = tpn .GenesisTimeField
421423 coreComponents .GenesisNodesSetupField = & genesisMocks.NodesSetupStub {
422424 GetShardConsensusGroupSizeCalled : func () uint32 {
423425 return uint32 (args .ConsensusSize )
@@ -449,7 +451,7 @@ func (tpn *TestFullNode) initNode(
449451 bootstrapComponents := getDefaultBootstrapComponents (tpn .ShardCoordinator , tpn .EnableEpochsHandler )
450452
451453 tpn .BlockBlackListHandler = cache .NewTimeCache (TimeSpanForBadHeaders )
452- tpn .ForkDetector = tpn .createForkDetector (args .StartTime )
454+ tpn .ForkDetector = tpn .createForkDetector (args .StartTime , roundHandler )
453455
454456 argsKeysHolder := keysManagement.ArgsManagedPeersHolder {
455457 KeyGenerator : args .KeyGen ,
@@ -572,7 +574,6 @@ func (tpn *TestFullNode) initNode(
572574 node .WithStateComponents (stateComponents ),
573575 node .WithPeerDenialEvaluator (& mock.PeerDenialEvaluatorStub {}),
574576 node .WithStatusCoreComponents (statusCoreComponents ),
575- node .WithGenesisTime (time .Unix (args .StartTime , 0 )),
576577 node .WithRoundDuration (args .RoundTime ),
577578 node .WithPublicKeySize (publicKeySize ),
578579 )
@@ -596,24 +597,27 @@ func (tpn *TestFullNode) initNode(
596597 log .LogIfError (err )
597598}
598599
599- func (tfn * TestFullNode ) createForkDetector (startTime int64 ) process.ForkDetector {
600+ func (tfn * TestFullNode ) createForkDetector (
601+ startTime int64 ,
602+ roundHandler consensus.RoundHandler ,
603+ ) process.ForkDetector {
600604 var err error
601605 var forkDetector process.ForkDetector
602606
603607 if tfn .ShardCoordinator .SelfId () != core .MetachainShardId {
604608 forkDetector , err = processSync .NewShardForkDetector (
605- tfn . RoundHandler ,
609+ roundHandler ,
606610 tfn .BlockBlackListHandler ,
607611 tfn .BlockTracker ,
608- startTime ,
612+ tfn . GenesisTimeField . Unix () ,
609613 tfn .EnableEpochsHandler ,
610614 tfn .DataPool .Proofs ())
611615 } else {
612616 forkDetector , err = processSync .NewMetaForkDetector (
613- tfn . RoundHandler ,
617+ roundHandler ,
614618 tfn .BlockBlackListHandler ,
615619 tfn .BlockTracker ,
616- startTime ,
620+ tfn . GenesisTimeField . Unix () ,
617621 tfn .EnableEpochsHandler ,
618622 tfn .DataPool .Proofs ())
619623 }
@@ -629,7 +633,7 @@ func (tfn *TestFullNode) createEpochStartTrigger(startTime int64) TestEpochStart
629633 var epochTrigger TestEpochStartTrigger
630634 if tfn .ShardCoordinator .SelfId () == core .MetachainShardId {
631635 argsNewMetaEpochStart := & metachain.ArgsNewMetaEpochStartTrigger {
632- GenesisTime : time . Unix ( startTime , 0 ) ,
636+ GenesisTime : tfn . GenesisTimeField ,
633637 EpochStartNotifier : notifier .NewEpochStartSubscriptionHandler (),
634638 Settings : & config.EpochStartConfig {
635639 MinRoundsBetweenEpochs : 1 ,
@@ -1093,13 +1097,6 @@ func (tpn *TestFullNode) initBlockProcessorWithSync(
10931097 }
10941098
10951099 if tpn .ShardCoordinator .SelfId () == core .MetachainShardId {
1096- tpn .ForkDetector , _ = sync .NewMetaForkDetector (
1097- roundHandler ,
1098- tpn .BlockBlackListHandler ,
1099- tpn .BlockTracker ,
1100- 0 ,
1101- tpn .EnableEpochsHandler ,
1102- tpn .DataPool .Proofs ())
11031100 argumentsBase .ForkDetector = tpn .ForkDetector
11041101 argumentsBase .TxCoordinator = & mock.TransactionCoordinatorMock {}
11051102 arguments := block.ArgMetaProcessor {
@@ -1120,13 +1117,6 @@ func (tpn *TestFullNode) initBlockProcessorWithSync(
11201117
11211118 tpn .BlockProcessor , err = block .NewMetaProcessor (arguments )
11221119 } else {
1123- tpn .ForkDetector , _ = sync .NewShardForkDetector (
1124- roundHandler ,
1125- tpn .BlockBlackListHandler ,
1126- tpn .BlockTracker ,
1127- 0 ,
1128- tpn .EnableEpochsHandler ,
1129- tpn .DataPool .Proofs ())
11301120 argumentsBase .ForkDetector = tpn .ForkDetector
11311121 argumentsBase .BlockChainHook = tpn .BlockchainHook
11321122 argumentsBase .TxCoordinator = tpn .TxCoordinator
0 commit comments