From 5f695d0dd5678fc344d7055cc9789ae8e0404466 Mon Sep 17 00:00:00 2001 From: Sorin Stanculeanu Date: Fri, 31 Jan 2025 11:57:24 +0200 Subject: [PATCH] cleanup delayed broadcast for equivalent proofs --- cmd/node/config/config.toml | 7 - config/config.go | 12 +- config/tomlConfig_test.go | 15 - consensus/broadcast/commonMessenger.go | 12 - consensus/broadcast/delayedBroadcast.go | 127 -------- consensus/broadcast/delayedBroadcast_test.go | 280 ++---------------- consensus/broadcast/interface.go | 3 - consensus/broadcast/metaChainMessenger.go | 1 - .../broadcast/metaChainMessenger_test.go | 1 - consensus/broadcast/shardChainMessenger.go | 1 - .../broadcast/shardChainMessenger_test.go | 1 - consensus/interface.go | 1 - consensus/spos/sposFactory/sposFactory.go | 3 - .../spos/sposFactory/sposFactory_test.go | 13 - factory/consensus/consensusComponents.go | 1 - integrationTests/testProcessorNode.go | 2 - .../components/testOnlyProcessingNode.go | 5 +- .../consensus/broadcastMessangerMock.go | 12 - .../consensus/delayedBroadcasterMock.go | 16 +- 19 files changed, 24 insertions(+), 489 deletions(-) diff --git a/cmd/node/config/config.toml b/cmd/node/config/config.toml index 2f884b596e0..4224899e628 100644 --- a/cmd/node/config/config.toml +++ b/cmd/node/config/config.toml @@ -956,13 +956,6 @@ # the current machine will take over and propose/sign blocks. Used in both single-key and multi-key modes. MaxRoundsOfInactivityAccepted = 3 -# ConsensusGradualBroadcast defines how validators will broadcast the aggregated final info, based on their consensus index -[ConsensusGradualBroadcast] - GradualIndexBroadcastDelay = [ - # All validators will broadcast the message right away - { EndIndex = 0, DelayInMilliseconds = 0 }, - ] - [InterceptedDataVerifier] CacheSpanInSec = 30 CacheExpiryInSec = 30 diff --git a/config/config.go b/config/config.go index 67b84b0a3ed..c77f2f658e9 100644 --- a/config/config.go +++ b/config/config.go @@ -231,10 +231,9 @@ type Config struct { Requesters RequesterConfig VMOutputCacher CacheConfig - PeersRatingConfig PeersRatingConfig - PoolsCleanersConfig PoolsCleanersConfig - Redundancy RedundancyConfig - ConsensusGradualBroadcast ConsensusGradualBroadcastConfig + PeersRatingConfig PeersRatingConfig + PoolsCleanersConfig PoolsCleanersConfig + Redundancy RedundancyConfig InterceptedDataVerifier InterceptedDataVerifierConfig } @@ -683,11 +682,6 @@ type IndexBroadcastDelay struct { DelayInMilliseconds uint64 } -// ConsensusGradualBroadcastConfig holds the configuration for the consensus final info gradual broadcast -type ConsensusGradualBroadcastConfig struct { - GradualIndexBroadcastDelay []IndexBroadcastDelay -} - // InterceptedDataVerifierConfig holds the configuration for the intercepted data verifier type InterceptedDataVerifierConfig struct { CacheSpanInSec uint64 diff --git a/config/tomlConfig_test.go b/config/tomlConfig_test.go index 11ae291511c..349b38443e6 100644 --- a/config/tomlConfig_test.go +++ b/config/tomlConfig_test.go @@ -162,14 +162,6 @@ func TestTomlParser(t *testing.T) { Redundancy: RedundancyConfig{ MaxRoundsOfInactivityAccepted: 3, }, - ConsensusGradualBroadcast: ConsensusGradualBroadcastConfig{ - GradualIndexBroadcastDelay: []IndexBroadcastDelay{ - { - EndIndex: 0, - DelayInMilliseconds: 0, - }, - }, - }, } testString := ` [GeneralSettings] @@ -276,13 +268,6 @@ func TestTomlParser(t *testing.T) { # MaxRoundsOfInactivityAccepted defines the number of rounds missed by a main or higher level backup machine before # the current machine will take over and propose/sign blocks. Used in both single-key and multi-key modes. MaxRoundsOfInactivityAccepted = 3 - -# ConsensusGradualBroadcast defines how validators will broadcast the aggregated final info, based on their consensus index -[ConsensusGradualBroadcast] - GradualIndexBroadcastDelay = [ - # All validators will broadcast the message right away - { EndIndex = 0, DelayInMilliseconds = 0 }, - ] ` cfg := Config{} diff --git a/consensus/broadcast/commonMessenger.go b/consensus/broadcast/commonMessenger.go index a584897e50f..738fa4e695e 100644 --- a/consensus/broadcast/commonMessenger.go +++ b/consensus/broadcast/commonMessenger.go @@ -187,18 +187,6 @@ func (cm *commonMessenger) BroadcastBlockData( } } -// PrepareBroadcastEquivalentProof sets the proof into the delayed block broadcaster -func (cm *commonMessenger) PrepareBroadcastEquivalentProof( - proof *block.HeaderProof, - consensusIndex int, - pkBytes []byte, -) { - err := cm.delayedBlockBroadcaster.SetFinalProofForValidator(proof, consensusIndex, pkBytes) - if err != nil { - log.Error("commonMessenger.PrepareBroadcastEquivalentProof", "error", err) - } -} - func (cm *commonMessenger) extractMetaMiniBlocksAndTransactions( miniBlocks map[uint32][]byte, transactions map[string][][]byte, diff --git a/consensus/broadcast/delayedBroadcast.go b/consensus/broadcast/delayedBroadcast.go index f9c5769fe8e..512d9767d8a 100644 --- a/consensus/broadcast/delayedBroadcast.go +++ b/consensus/broadcast/delayedBroadcast.go @@ -13,7 +13,6 @@ import ( "github.com/multiversx/mx-chain-core-go/data/block" "github.com/multiversx/mx-chain-go/common" - "github.com/multiversx/mx-chain-go/config" "github.com/multiversx/mx-chain-go/consensus" "github.com/multiversx/mx-chain-go/consensus/broadcast/shared" "github.com/multiversx/mx-chain-go/consensus/spos" @@ -26,7 +25,6 @@ import ( const prefixHeaderAlarm = "header_" const prefixDelayDataAlarm = "delay_" -const prefixConsensusMessageAlarm = "message_" const sizeHeadersCache = 1000 // 1000 hashes in cache // ArgsDelayedBlockBroadcaster holds the arguments to create a delayed block broadcaster @@ -37,7 +35,6 @@ type ArgsDelayedBlockBroadcaster struct { LeaderCacheSize uint32 ValidatorCacheSize uint32 AlarmScheduler timersScheduler - Config config.ConsensusGradualBroadcastConfig } // timersScheduler exposes functionality for scheduling multiple timers @@ -53,11 +50,6 @@ type headerDataForValidator struct { prevRandSeed []byte } -type validatorProof struct { - proof *block.HeaderProof - pkBytes []byte -} - type delayedBlockBroadcaster struct { alarm timersScheduler interceptorsContainer process.InterceptorsContainer @@ -72,14 +64,9 @@ type delayedBlockBroadcaster struct { broadcastMiniblocksData func(mbData map[uint32][]byte, pkBytes []byte) error broadcastTxsData func(txData map[string][][]byte, pkBytes []byte) error broadcastHeader func(header data.HeaderHandler, pkBytes []byte) error - broadcastEquivalentProof func(proof *block.HeaderProof, pkBytes []byte) error broadcastConsensusMessage func(message *consensus.Message) error cacheHeaders storage.Cacher mutHeadersCache sync.RWMutex - config config.ConsensusGradualBroadcastConfig - mutBroadcastFinalProof sync.RWMutex - valBroadcastFinalProof map[string]*validatorProof - cacheConsensusMessages storage.Cacher } // NewDelayedBlockBroadcaster create a new instance of a delayed block data broadcaster @@ -102,11 +89,6 @@ func NewDelayedBlockBroadcaster(args *ArgsDelayedBlockBroadcaster) (*delayedBloc return nil, err } - cacheConsensusMessages, err := cache.NewLRUCache(sizeHeadersCache) - if err != nil { - return nil, err - } - dbb := &delayedBlockBroadcaster{ alarm: args.AlarmScheduler, shardCoordinator: args.ShardCoordinator, @@ -115,14 +97,11 @@ func NewDelayedBlockBroadcaster(args *ArgsDelayedBlockBroadcaster) (*delayedBloc valHeaderBroadcastData: make([]*shared.ValidatorHeaderBroadcastData, 0), valBroadcastData: make([]*shared.DelayedBroadcastData, 0), delayedBroadcastData: make([]*shared.DelayedBroadcastData, 0), - valBroadcastFinalProof: make(map[string]*validatorProof, 0), maxDelayCacheSize: args.LeaderCacheSize, maxValidatorDelayCacheSize: args.ValidatorCacheSize, mutDataForBroadcast: sync.RWMutex{}, cacheHeaders: cacheHeaders, mutHeadersCache: sync.RWMutex{}, - config: args.Config, - cacheConsensusMessages: cacheConsensusMessages, } dbb.headersSubscriber.RegisterHandler(dbb.headerReceived) @@ -254,60 +233,11 @@ func (dbb *delayedBlockBroadcaster) SetValidatorData(broadcastData *shared.Delay return nil } -// SetFinalProofForValidator sets the header proof to be broadcast by validator when its turn comes -func (dbb *delayedBlockBroadcaster) SetFinalProofForValidator( - proof *block.HeaderProof, - consensusIndex int, - pkBytes []byte, -) error { - if proof == nil { - return spos.ErrNilHeaderProof - } - - // set alarm only for validators that are aware that the block was finalized - isProofValid := len(proof.AggregatedSignature) > 0 && - len(proof.PubKeysBitmap) > 0 && - len(proof.HeaderHash) > 0 - if !isProofValid { - log.Trace("delayedBlockBroadcaster.SetFinalProofForValidator: consensus message alarm has not been set", - "validatorConsensusOrder", consensusIndex, - ) - - return nil - } - - if dbb.cacheConsensusMessages.Has(proof.HeaderHash) { - return nil - } - - duration := dbb.getBroadcastDelayForIndex(consensusIndex) - alarmID := prefixConsensusMessageAlarm + hex.EncodeToString(proof.HeaderHash) - - vProof := &validatorProof{ - proof: proof, - pkBytes: pkBytes, - } - dbb.mutBroadcastFinalProof.Lock() - dbb.valBroadcastFinalProof[alarmID] = vProof - dbb.mutBroadcastFinalProof.Unlock() - - dbb.alarm.Add(dbb.finalProofAlarmExpired, duration, alarmID) - log.Trace("delayedBlockBroadcaster.SetFinalProofForValidator: final proof alarm has been set", - "validatorConsensusOrder", consensusIndex, - "headerHash", proof.HeaderHash, - "alarmID", alarmID, - "duration", duration, - ) - - return nil -} - // SetBroadcastHandlers sets the broadcast handlers for miniBlocks and transactions func (dbb *delayedBlockBroadcaster) SetBroadcastHandlers( mbBroadcast func(mbData map[uint32][]byte, pkBytes []byte) error, txBroadcast func(txData map[string][][]byte, pkBytes []byte) error, headerBroadcast func(header data.HeaderHandler, pkBytes []byte) error, - equivalentProofBroadcast func(proof *block.HeaderProof, pkBytes []byte) error, consensusMessageBroadcast func(message *consensus.Message) error, ) error { if mbBroadcast == nil || txBroadcast == nil || headerBroadcast == nil || consensusMessageBroadcast == nil { @@ -320,7 +250,6 @@ func (dbb *delayedBlockBroadcaster) SetBroadcastHandlers( dbb.broadcastMiniblocksData = mbBroadcast dbb.broadcastTxsData = txBroadcast dbb.broadcastHeader = headerBroadcast - dbb.broadcastEquivalentProof = equivalentProofBroadcast dbb.broadcastConsensusMessage = consensusMessageBroadcast return nil @@ -697,19 +626,6 @@ func (dbb *delayedBlockBroadcaster) interceptedHeader(_ string, headerHash []byt dbb.cacheHeaders.Put(headerHash, struct{}{}, 0) dbb.mutHeadersCache.Unlock() - // TODO: should be handled from interceptor - proof := headerHandler.GetPreviousProof() - var aggSig, bitmap []byte - if !check.IfNilReflect(proof) { - aggSig, bitmap = proof.GetAggregatedSignature(), proof.GetPubKeysBitmap() - } - - // TODO: add common check for verifying proof validity - isFinalInfo := len(aggSig) > 0 && len(bitmap) > 0 - if isFinalInfo { - dbb.cacheConsensusMessages.Put(headerHash, struct{}{}, 0) - } - log.Trace("delayedBlockBroadcaster.interceptedHeader", "headerHash", headerHash, "round", headerHandler.GetRound(), @@ -818,49 +734,6 @@ func (dbb *delayedBlockBroadcaster) extractMbsFromMeTo(header data.HeaderHandler return mbHashesForShard } -func (dbb *delayedBlockBroadcaster) getBroadcastDelayForIndex(index int) time.Duration { - for i := 0; i < len(dbb.config.GradualIndexBroadcastDelay); i++ { - entry := dbb.config.GradualIndexBroadcastDelay[i] - if index > entry.EndIndex { - continue - } - - return time.Duration(entry.DelayInMilliseconds) * time.Millisecond - } - - return 0 -} - -func (dbb *delayedBlockBroadcaster) finalProofAlarmExpired(alarmID string) { - headerHash, err := hex.DecodeString(strings.TrimPrefix(alarmID, prefixConsensusMessageAlarm)) - if err != nil { - log.Error("delayedBlockBroadcaster.finalProofAlarmExpired", "error", err.Error(), - "headerHash", headerHash, - "alarmID", alarmID, - ) - return - } - - dbb.mutBroadcastFinalProof.Lock() - defer dbb.mutBroadcastFinalProof.Unlock() - if dbb.cacheConsensusMessages.Has(headerHash) { - delete(dbb.valBroadcastFinalProof, alarmID) - return - } - - vProof, ok := dbb.valBroadcastFinalProof[alarmID] - if !ok { - return - } - - err = dbb.broadcastEquivalentProof(vProof.proof, vProof.pkBytes) - if err != nil { - log.Error("finalProofAlarmExpired.broadcastEquivalentProof", "error", err) - } - - delete(dbb.valBroadcastFinalProof, alarmID) -} - // IsInterfaceNil returns true if there is no value under the interface func (dbb *delayedBlockBroadcaster) IsInterfaceNil() bool { return dbb == nil diff --git a/consensus/broadcast/delayedBroadcast_test.go b/consensus/broadcast/delayedBroadcast_test.go index da1402bd90a..38676396a14 100644 --- a/consensus/broadcast/delayedBroadcast_test.go +++ b/consensus/broadcast/delayedBroadcast_test.go @@ -17,7 +17,6 @@ import ( "github.com/stretchr/testify/require" "github.com/multiversx/mx-chain-go/common" - "github.com/multiversx/mx-chain-go/config" "github.com/multiversx/mx-chain-go/consensus" "github.com/multiversx/mx-chain-go/consensus/broadcast" "github.com/multiversx/mx-chain-go/consensus/mock" @@ -113,9 +112,6 @@ func createDefaultDelayedBroadcasterArgs() *broadcast.ArgsDelayedBlockBroadcaste LeaderCacheSize: 2, ValidatorCacheSize: 2, AlarmScheduler: alarm.NewAlarmScheduler(), - Config: config.ConsensusGradualBroadcastConfig{ - GradualIndexBroadcastDelay: []config.IndexBroadcastDelay{}, - }, } return dbbArgs @@ -190,15 +186,12 @@ func TestDelayedBlockBroadcaster_HeaderReceivedNoDelayedDataRegistered(t *testin broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) metaBlock := createMetaBlock() @@ -229,15 +222,12 @@ func TestDelayedBlockBroadcaster_HeaderReceivedForRegisteredDelayedDataShouldBro broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) headerHash, _, miniblocksData, transactionsData := createDelayData("1") @@ -281,15 +271,12 @@ func TestDelayedBlockBroadcaster_HeaderReceivedForNotRegisteredDelayedDataShould broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) headerHash, _, miniblocksData, transactionsData := createDelayData("1") @@ -332,15 +319,12 @@ func TestDelayedBlockBroadcaster_HeaderReceivedForNextRegisteredDelayedDataShoul broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) headerHash, _, miniblocksData, transactionsData := createDelayData("1") @@ -461,15 +445,12 @@ func TestDelayedBlockBroadcaster_SetHeaderForValidatorShouldSetAlarmAndBroadcast broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) vArgs := createValidatorDelayArgs(0) @@ -527,9 +508,6 @@ func TestDelayedBlockBroadcaster_SetValidatorDataFinalizedMetaHeaderShouldSetAla broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() delayBroadcasterArgs.ShardCoordinator = mock.ShardCoordinatorMock{ @@ -538,7 +516,7 @@ func TestDelayedBlockBroadcaster_SetValidatorDataFinalizedMetaHeaderShouldSetAla dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) vArgs := createValidatorDelayArgs(0) @@ -601,9 +579,6 @@ func TestDelayedBlockBroadcaster_InterceptedHeaderShouldCancelAlarm(t *testing.T broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() delayBroadcasterArgs.ShardCoordinator = mock.ShardCoordinatorMock{ @@ -612,7 +587,7 @@ func TestDelayedBlockBroadcaster_InterceptedHeaderShouldCancelAlarm(t *testing.T dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) vArgs := createValidatorDelayArgs(0) @@ -676,9 +651,6 @@ func TestDelayedBlockBroadcaster_InterceptedHeaderShouldCancelAlarmForHeaderBroa broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() delayBroadcasterArgs.ShardCoordinator = mock.ShardCoordinatorMock{ @@ -687,7 +659,7 @@ func TestDelayedBlockBroadcaster_InterceptedHeaderShouldCancelAlarmForHeaderBroa dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) vArgs := createValidatorDelayArgs(0) @@ -750,9 +722,6 @@ func TestDelayedBlockBroadcaster_InterceptedHeaderInvalidOrDifferentShouldIgnore broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() delayBroadcasterArgs.ShardCoordinator = mock.ShardCoordinatorMock{ @@ -761,7 +730,7 @@ func TestDelayedBlockBroadcaster_InterceptedHeaderInvalidOrDifferentShouldIgnore dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) vArgs := createValidatorDelayArgs(0) @@ -869,15 +838,12 @@ func TestDelayedBlockBroadcaster_ScheduleValidatorBroadcastDifferentHeaderRoundS broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) vArgs := createValidatorDelayArgs(0) @@ -932,15 +898,12 @@ func TestDelayedBlockBroadcaster_ScheduleValidatorBroadcastDifferentPrevRandShou broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) vArgs := createValidatorDelayArgs(0) @@ -998,15 +961,12 @@ func TestDelayedBlockBroadcaster_ScheduleValidatorBroadcastSameRoundAndPrevRandS broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) vArgs := createValidatorDelayArgs(0) @@ -1064,15 +1024,12 @@ func TestDelayedBlockBroadcaster_AlarmExpiredShouldBroadcastTheDataForRegistered broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) vArgs := createValidatorDelayArgs(0) @@ -1123,15 +1080,12 @@ func TestDelayedBlockBroadcaster_AlarmExpiredShouldDoNothingForNotRegisteredData broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) vArgs := createValidatorDelayArgs(0) @@ -1277,15 +1231,12 @@ func TestDelayedBlockBroadcaster_InterceptedMiniBlockForNotSetValDataShouldBroad broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) vArgs := createValidatorDelayArgs(0) @@ -1346,15 +1297,12 @@ func TestDelayedBlockBroadcaster_InterceptedMiniBlockOutOfManyForSetValDataShoul broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) vArgs := createValidatorDelayArgs(0) @@ -1416,15 +1364,12 @@ func TestDelayedBlockBroadcaster_InterceptedMiniBlockFinalForSetValDataShouldNot broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) vArgs := createValidatorDelayArgs(0) @@ -1486,15 +1431,12 @@ func TestDelayedBlockBroadcaster_Close(t *testing.T) { broadcastConsensusMessage := func(message *consensus.Message) error { return nil } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - return nil - } delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) require.Nil(t, err) - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) + err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastConsensusMessage) require.Nil(t, err) vArgs := createValidatorDelayArgs(0) @@ -1531,189 +1473,3 @@ func TestDelayedBlockBroadcaster_Close(t *testing.T) { vbd = dbb.GetValidatorBroadcastData() require.Equal(t, 1, len(vbd)) } - -func TestDelayedBlockBroadcaster_SetFinalProofForValidator(t *testing.T) { - t.Parallel() - - t.Run("nil proof should error", func(t *testing.T) { - t.Parallel() - - delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() - dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) - require.NoError(t, err) - - err = dbb.SetFinalProofForValidator(nil, 0, []byte("pk")) - require.Equal(t, spos.ErrNilHeaderProof, err) - }) - t.Run("empty aggregated sig should work", func(t *testing.T) { - t.Parallel() - - delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() - dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) - require.NoError(t, err) - - proof := &block.HeaderProof{} - err = dbb.SetFinalProofForValidator(proof, 0, []byte("pk")) - require.NoError(t, err) - }) - t.Run("header already received should early exit", func(t *testing.T) { - t.Parallel() - - defer func() { - r := recover() - if r != nil { - require.Fail(t, "should have not panicked") - } - }() - - delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() - dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) - require.NoError(t, err) - - providedHash := []byte("hdr hash") - dbb.InterceptedHeaderData("", providedHash, &block.HeaderV2{ - Header: &block.Header{}, - PreviousHeaderProof: &block.HeaderProof{ - PubKeysBitmap: []byte("bitmap"), - AggregatedSignature: []byte("agg sig"), - HeaderHash: []byte("hash"), - }, - }) - proof := &block.HeaderProof{ - AggregatedSignature: []byte("agg sig"), - PubKeysBitmap: []byte("bitmap"), - HeaderHash: providedHash, - } - err = dbb.SetFinalProofForValidator(proof, 0, []byte("pk")) - require.NoError(t, err) - }) - t.Run("should work and fire alarm", func(t *testing.T) { - t.Parallel() - - type timestamps struct { - setTimestamp int64 - fireTimestamp int64 - } - firingMap := make(map[string]*timestamps, 3) - mutFiringMap := sync.RWMutex{} - - broadcastMiniBlocks := func(mbData map[uint32][]byte, pk []byte) error { - require.Fail(t, "should have not been called") - return nil - } - broadcastTransactions := func(txData map[string][][]byte, pk []byte) error { - require.Fail(t, "should have not been called") - return nil - } - broadcastHeader := func(header data.HeaderHandler, pk []byte) error { - require.Fail(t, "should have not been called") - return nil - } - broadcastConsensusMessage := func(message *consensus.Message) error { - mutFiringMap.Lock() - defer mutFiringMap.Unlock() - firingMap[string(message.BlockHeaderHash)].fireTimestamp = time.Now().UnixMilli() - - return nil - } - broadcastEquivalentProofs := func(proof *block.HeaderProof, pkBytes []byte) error { - mutFiringMap.Lock() - defer mutFiringMap.Unlock() - firingMap[string(proof.GetHeaderHash())].fireTimestamp = time.Now().UnixMilli() - - return nil - } - - delayBroadcasterArgs := createDefaultDelayedBroadcasterArgs() - delayBroadcasterArgs.Config = config.ConsensusGradualBroadcastConfig{ - GradualIndexBroadcastDelay: []config.IndexBroadcastDelay{ - { - EndIndex: 4, - DelayInMilliseconds: 0, - }, - { - EndIndex: 9, - DelayInMilliseconds: 100, - }, - { - EndIndex: 15, - DelayInMilliseconds: 200, - }, - }, - } - dbb, err := broadcast.NewDelayedBlockBroadcaster(delayBroadcasterArgs) - require.Nil(t, err) - - err = dbb.SetBroadcastHandlers(broadcastMiniBlocks, broadcastTransactions, broadcastHeader, broadcastEquivalentProofs, broadcastConsensusMessage) - require.Nil(t, err) - - // idx 0 should fire the alarm after immediately - hashIdx0 := []byte("hash idx 0") - pkIdx0 := []byte("pk idx 0") - proofIdx0 := &block.HeaderProof{ - AggregatedSignature: []byte("sig"), - PubKeysBitmap: []byte("bitmap"), - HeaderHash: hashIdx0, - } - mutFiringMap.Lock() - firingMap[string(hashIdx0)] = ×tamps{ - setTimestamp: time.Now().UnixMilli(), - } - mutFiringMap.Unlock() - err = dbb.SetFinalProofForValidator(proofIdx0, 0, pkIdx0) - require.NoError(t, err) - - // idx 5 should fire the alarm after 100ms - hashIdx5 := []byte("hash idx 5") - pkIdx5 := []byte("pk idx 5") - proofIdx5 := &block.HeaderProof{ - AggregatedSignature: []byte("sig"), - PubKeysBitmap: []byte("bitmap"), - HeaderHash: hashIdx5, - } - mutFiringMap.Lock() - firingMap[string(hashIdx5)] = ×tamps{ - setTimestamp: time.Now().UnixMilli(), - } - mutFiringMap.Unlock() - err = dbb.SetFinalProofForValidator(proofIdx5, 5, pkIdx5) - require.NoError(t, err) - - // idx 10 should fire the alarm after 200ms - hashIdx10 := []byte("hash idx 10") - pkIdx10 := []byte("pk idx 10") - proofIdx10 := &block.HeaderProof{ - AggregatedSignature: []byte("sig"), - PubKeysBitmap: []byte("bitmap"), - HeaderHash: hashIdx10, - } - mutFiringMap.Lock() - firingMap[string(hashIdx10)] = ×tamps{ - setTimestamp: time.Now().UnixMilli(), - } - mutFiringMap.Unlock() - err = dbb.SetFinalProofForValidator(proofIdx10, 10, pkIdx10) - require.NoError(t, err) - - // wait all alarms to fire - time.Sleep(time.Millisecond * 250) - - mutFiringMap.RLock() - defer mutFiringMap.RUnlock() - - resultIdx0 := firingMap[string(hashIdx0)] - timeDifIdx0 := resultIdx0.fireTimestamp - resultIdx0.setTimestamp - require.Less(t, timeDifIdx0, int64(5), "idx 0 should have fired the alarm immediately, but fired after %dms", timeDifIdx0) - require.GreaterOrEqual(t, timeDifIdx0, int64(0), "idx 0 should have fired the alarm immediately, but fired after %dms", timeDifIdx0) - - resultIdx5 := firingMap[string(hashIdx5)] - timeDifIdx5 := resultIdx5.fireTimestamp - resultIdx5.setTimestamp - require.Less(t, timeDifIdx5, int64(105), "idx 5 should have fired the alarm after 100ms, but fired after %dms", timeDifIdx5) - require.GreaterOrEqual(t, timeDifIdx5, int64(100), "idx 5 should have fired the alarm after 100ms, but fired after %dms", timeDifIdx5) - - resultIdx10 := firingMap[string(hashIdx10)] - timeDifIdx10 := resultIdx10.fireTimestamp - resultIdx10.setTimestamp - require.Less(t, timeDifIdx10, int64(205), "idx 10 should have fired the alarm after 200ms, but fired after %dms", timeDifIdx10) - require.GreaterOrEqual(t, timeDifIdx10, int64(200), "idx 10 should have fired the alarm after 200ms, but fired after %dms", timeDifIdx10) - }) -} diff --git a/consensus/broadcast/interface.go b/consensus/broadcast/interface.go index 4708bab7827..d453f7708d9 100644 --- a/consensus/broadcast/interface.go +++ b/consensus/broadcast/interface.go @@ -2,7 +2,6 @@ package broadcast import ( "github.com/multiversx/mx-chain-core-go/data" - "github.com/multiversx/mx-chain-core-go/data/block" "github.com/multiversx/mx-chain-go/consensus" "github.com/multiversx/mx-chain-go/consensus/broadcast/shared" ) @@ -16,10 +15,8 @@ type DelayedBroadcaster interface { mbBroadcast func(mbData map[uint32][]byte, pkBytes []byte) error, txBroadcast func(txData map[string][][]byte, pkBytes []byte) error, headerBroadcast func(header data.HeaderHandler, pkBytes []byte) error, - equivalentProofBroadcast func(proof *block.HeaderProof, pkBytes []byte) error, consensusMessageBroadcast func(message *consensus.Message) error, ) error - SetFinalProofForValidator(proof *block.HeaderProof, consensusIndex int, pkBytes []byte) error Close() IsInterfaceNil() bool } diff --git a/consensus/broadcast/metaChainMessenger.go b/consensus/broadcast/metaChainMessenger.go index 78490fb5d01..4024676cc87 100644 --- a/consensus/broadcast/metaChainMessenger.go +++ b/consensus/broadcast/metaChainMessenger.go @@ -52,7 +52,6 @@ func NewMetaChainMessenger( mcm.BroadcastMiniBlocks, mcm.BroadcastTransactions, mcm.BroadcastHeader, - mcm.BroadcastEquivalentProof, mcm.BroadcastConsensusMessage) if err != nil { return nil, err diff --git a/consensus/broadcast/metaChainMessenger_test.go b/consensus/broadcast/metaChainMessenger_test.go index 3e89f546b79..7f188e48c59 100644 --- a/consensus/broadcast/metaChainMessenger_test.go +++ b/consensus/broadcast/metaChainMessenger_test.go @@ -407,7 +407,6 @@ func TestMetaChainMessenger_NewMetaChainMessengerFailSetBroadcast(t *testing.T) mbBroadcast func(mbData map[uint32][]byte, pkBytes []byte) error, txBroadcast func(txData map[string][][]byte, pkBytes []byte) error, headerBroadcast func(header data.HeaderHandler, pkBytes []byte) error, - equivalentProofsBroadcast func(proof *block.HeaderProof, pkBytes []byte) error, consensusMessageBroadcast func(message *consensus.Message) error) error { varModified = true return expectedErr diff --git a/consensus/broadcast/shardChainMessenger.go b/consensus/broadcast/shardChainMessenger.go index f479cf3bc35..1719fcf940f 100644 --- a/consensus/broadcast/shardChainMessenger.go +++ b/consensus/broadcast/shardChainMessenger.go @@ -56,7 +56,6 @@ func NewShardChainMessenger( scm.BroadcastMiniBlocks, scm.BroadcastTransactions, scm.BroadcastHeader, - scm.BroadcastEquivalentProof, scm.BroadcastConsensusMessage) if err != nil { return nil, err diff --git a/consensus/broadcast/shardChainMessenger_test.go b/consensus/broadcast/shardChainMessenger_test.go index 3f0155a05ee..f845b669c6d 100644 --- a/consensus/broadcast/shardChainMessenger_test.go +++ b/consensus/broadcast/shardChainMessenger_test.go @@ -199,7 +199,6 @@ func TestShardChainMessenger_NewShardChainMessengerShouldErr(t *testing.T) { mbBroadcast func(mbData map[uint32][]byte, pkBytes []byte) error, txBroadcast func(txData map[string][][]byte, pkBytes []byte) error, headerBroadcast func(header data.HeaderHandler, pkBytes []byte) error, - equivalentProofsBroadcast func(proof *block.HeaderProof, pkBytes []byte) error, consensusMessageBroadcast func(message *consensus.Message) error, ) error { return expectedErr diff --git a/consensus/interface.go b/consensus/interface.go index 057206d4b0b..21a3c91ea0d 100644 --- a/consensus/interface.go +++ b/consensus/interface.go @@ -70,7 +70,6 @@ type BroadcastMessenger interface { BroadcastBlockDataLeader(header data.HeaderHandler, miniBlocks map[uint32][]byte, transactions map[string][][]byte, pkBytes []byte) error PrepareBroadcastHeaderValidator(header data.HeaderHandler, miniBlocks map[uint32][]byte, transactions map[string][][]byte, idx int, pkBytes []byte) PrepareBroadcastBlockDataValidator(header data.HeaderHandler, miniBlocks map[uint32][]byte, transactions map[string][][]byte, idx int, pkBytes []byte) - PrepareBroadcastEquivalentProof(proof *block.HeaderProof, consensusIndex int, pkBytes []byte) IsInterfaceNil() bool } diff --git a/consensus/spos/sposFactory/sposFactory.go b/consensus/spos/sposFactory/sposFactory.go index bb2d409a97f..99f0cf682eb 100644 --- a/consensus/spos/sposFactory/sposFactory.go +++ b/consensus/spos/sposFactory/sposFactory.go @@ -7,7 +7,6 @@ import ( "github.com/multiversx/mx-chain-core-go/marshal" "github.com/multiversx/mx-chain-crypto-go" - "github.com/multiversx/mx-chain-go/config" "github.com/multiversx/mx-chain-go/consensus" "github.com/multiversx/mx-chain-go/consensus/broadcast" "github.com/multiversx/mx-chain-go/consensus/spos" @@ -37,7 +36,6 @@ func GetBroadcastMessenger( interceptorsContainer process.InterceptorsContainer, alarmScheduler core.TimersScheduler, keysHandler consensus.KeysHandler, - config config.ConsensusGradualBroadcastConfig, ) (consensus.BroadcastMessenger, error) { if check.IfNil(shardCoordinator) { @@ -51,7 +49,6 @@ func GetBroadcastMessenger( LeaderCacheSize: maxDelayCacheSize, ValidatorCacheSize: maxDelayCacheSize, AlarmScheduler: alarmScheduler, - Config: config, } delayedBroadcaster, err := broadcast.NewDelayedBlockBroadcaster(dbbArgs) diff --git a/consensus/spos/sposFactory/sposFactory_test.go b/consensus/spos/sposFactory/sposFactory_test.go index 3a39dc943aa..1f122884530 100644 --- a/consensus/spos/sposFactory/sposFactory_test.go +++ b/consensus/spos/sposFactory/sposFactory_test.go @@ -7,7 +7,6 @@ import ( "github.com/multiversx/mx-chain-core-go/core/check" "github.com/stretchr/testify/assert" - "github.com/multiversx/mx-chain-go/config" "github.com/multiversx/mx-chain-go/consensus" "github.com/multiversx/mx-chain-go/consensus/mock" "github.com/multiversx/mx-chain-go/consensus/spos" @@ -61,9 +60,6 @@ func TestGetBroadcastMessenger_ShardShouldWork(t *testing.T) { interceptosContainer, alarmSchedulerStub, &testscommon.KeysHandlerStub{}, - config.ConsensusGradualBroadcastConfig{ - GradualIndexBroadcastDelay: []config.IndexBroadcastDelay{}, - }, ) assert.Nil(t, err) @@ -95,9 +91,6 @@ func TestGetBroadcastMessenger_MetachainShouldWork(t *testing.T) { interceptosContainer, alarmSchedulerStub, &testscommon.KeysHandlerStub{}, - config.ConsensusGradualBroadcastConfig{ - GradualIndexBroadcastDelay: []config.IndexBroadcastDelay{}, - }, ) assert.Nil(t, err) @@ -121,9 +114,6 @@ func TestGetBroadcastMessenger_NilShardCoordinatorShouldErr(t *testing.T) { interceptosContainer, alarmSchedulerStub, &testscommon.KeysHandlerStub{}, - config.ConsensusGradualBroadcastConfig{ - GradualIndexBroadcastDelay: []config.IndexBroadcastDelay{}, - }, ) assert.Nil(t, bm) @@ -151,9 +141,6 @@ func TestGetBroadcastMessenger_InvalidShardIdShouldErr(t *testing.T) { interceptosContainer, alarmSchedulerStub, &testscommon.KeysHandlerStub{}, - config.ConsensusGradualBroadcastConfig{ - GradualIndexBroadcastDelay: []config.IndexBroadcastDelay{}, - }, ) assert.Nil(t, bm) diff --git a/factory/consensus/consensusComponents.go b/factory/consensus/consensusComponents.go index d1482498819..996fcda0a66 100644 --- a/factory/consensus/consensusComponents.go +++ b/factory/consensus/consensusComponents.go @@ -164,7 +164,6 @@ func (ccf *consensusComponentsFactory) Create() (*consensusComponents, error) { ccf.processComponents.InterceptorsContainer(), ccf.coreComponents.AlarmScheduler(), ccf.cryptoComponents.KeysHandler(), - ccf.config.ConsensusGradualBroadcast, ) if err != nil { return nil, err diff --git a/integrationTests/testProcessorNode.go b/integrationTests/testProcessorNode.go index 95b5ab76256..ee7f36cebd8 100644 --- a/integrationTests/testProcessorNode.go +++ b/integrationTests/testProcessorNode.go @@ -855,7 +855,6 @@ func (tpn *TestProcessorNode) initTestNodeWithArgs(args ArgTestProcessorNode) { tpn.NodeKeys.MainKey.Sk, tpn.MainMessenger.ID(), ), - config.ConsensusGradualBroadcastConfig{GradualIndexBroadcastDelay: []config.IndexBroadcastDelay{}}, ) if args.WithSync { @@ -1081,7 +1080,6 @@ func (tpn *TestProcessorNode) InitializeProcessors(gasMap map[string]map[string] tpn.NodeKeys.MainKey.Sk, tpn.MainMessenger.ID(), ), - config.ConsensusGradualBroadcastConfig{GradualIndexBroadcastDelay: []config.IndexBroadcastDelay{}}, ) tpn.setGenesisBlock() tpn.initNode() diff --git a/node/chainSimulator/components/testOnlyProcessingNode.go b/node/chainSimulator/components/testOnlyProcessingNode.go index 85e41f37189..1a13b61576d 100644 --- a/node/chainSimulator/components/testOnlyProcessingNode.go +++ b/node/chainSimulator/components/testOnlyProcessingNode.go @@ -237,7 +237,7 @@ func NewTestOnlyProcessingNode(args ArgsTestOnlyProcessingNode) (*testOnlyProces return nil, err } - err = instance.createBroadcastMessenger(args.Configs.GeneralConfig.ConsensusGradualBroadcast) + err = instance.createBroadcastMessenger() if err != nil { return nil, err } @@ -319,7 +319,7 @@ func (node *testOnlyProcessingNode) createNodesCoordinator(pref config.Preferenc return nil } -func (node *testOnlyProcessingNode) createBroadcastMessenger(gradualBroadcastConfig config.ConsensusGradualBroadcastConfig) error { +func (node *testOnlyProcessingNode) createBroadcastMessenger() error { broadcastMessenger, err := sposFactory.GetBroadcastMessenger( node.CoreComponentsHolder.InternalMarshalizer(), node.CoreComponentsHolder.Hasher(), @@ -330,7 +330,6 @@ func (node *testOnlyProcessingNode) createBroadcastMessenger(gradualBroadcastCon node.ProcessComponentsHolder.InterceptorsContainer(), node.CoreComponentsHolder.AlarmScheduler(), node.CryptoComponentsHolder.KeysHandler(), - gradualBroadcastConfig, ) if err != nil { return err diff --git a/testscommon/consensus/broadcastMessangerMock.go b/testscommon/consensus/broadcastMessangerMock.go index 80b0298ada9..c91cea2d4a0 100644 --- a/testscommon/consensus/broadcastMessangerMock.go +++ b/testscommon/consensus/broadcastMessangerMock.go @@ -18,7 +18,6 @@ type BroadcastMessengerMock struct { BroadcastTransactionsCalled func(map[string][][]byte, []byte) error BroadcastConsensusMessageCalled func(*consensus.Message) error BroadcastBlockDataLeaderCalled func(h data.HeaderHandler, mbs map[uint32][]byte, txs map[string][][]byte, pkBytes []byte) error - PrepareBroadcastEquivalentProofCalled func(proof data.HeaderProofHandler, consensusIndex int, pkBytes []byte) } // BroadcastBlock - @@ -126,17 +125,6 @@ func (bmm *BroadcastMessengerMock) BroadcastEquivalentProof(proof *block.HeaderP return nil } -// PrepareBroadcastEquivalentProof - -func (bmm *BroadcastMessengerMock) PrepareBroadcastEquivalentProof( - proof *block.HeaderProof, - consensusIndex int, - pkBytes []byte, -) { - if bmm.PrepareBroadcastEquivalentProofCalled != nil { - bmm.PrepareBroadcastEquivalentProofCalled(proof, consensusIndex, pkBytes) - } -} - // IsInterfaceNil returns true if there is no value under the interface func (bmm *BroadcastMessengerMock) IsInterfaceNil() bool { return bmm == nil diff --git a/testscommon/consensus/delayedBroadcasterMock.go b/testscommon/consensus/delayedBroadcasterMock.go index 1c0aba7aee0..9cab4defcc6 100644 --- a/testscommon/consensus/delayedBroadcasterMock.go +++ b/testscommon/consensus/delayedBroadcasterMock.go @@ -2,8 +2,6 @@ package consensus import ( "github.com/multiversx/mx-chain-core-go/data" - "github.com/multiversx/mx-chain-core-go/data/block" - "github.com/multiversx/mx-chain-go/consensus" "github.com/multiversx/mx-chain-go/consensus/broadcast/shared" @@ -18,18 +16,8 @@ type DelayedBroadcasterMock struct { mbBroadcast func(mbData map[uint32][]byte, pkBytes []byte) error, txBroadcast func(txData map[string][][]byte, pkBytes []byte) error, headerBroadcast func(header data.HeaderHandler, pkBytes []byte) error, - equivalentProofsBroadcast func(proof *block.HeaderProof, pkBytes []byte) error, consensusMessageBroadcast func(message *consensus.Message) error) error - CloseCalled func() - SetFinalProofForValidatorCalled func(proof *block.HeaderProof, consensusIndex int, pkBytes []byte) error -} - -// SetFinalProofForValidator - -func (mock *DelayedBroadcasterMock) SetFinalProofForValidator(proof *block.HeaderProof, consensusIndex int, pkBytes []byte) error { - if mock.SetFinalProofForValidatorCalled != nil { - return mock.SetFinalProofForValidatorCalled(proof, consensusIndex, pkBytes) - } - return nil + CloseCalled func() } // SetLeaderData - @@ -61,7 +49,6 @@ func (mock *DelayedBroadcasterMock) SetBroadcastHandlers( mbBroadcast func(mbData map[uint32][]byte, pkBytes []byte) error, txBroadcast func(txData map[string][][]byte, pkBytes []byte) error, headerBroadcast func(header data.HeaderHandler, pkBytes []byte) error, - equivalentProofBroadcast func(proof *block.HeaderProof, pkBytes []byte) error, consensusMessageBroadcast func(message *consensus.Message) error, ) error { if mock.SetBroadcastHandlersCalled != nil { @@ -69,7 +56,6 @@ func (mock *DelayedBroadcasterMock) SetBroadcastHandlers( mbBroadcast, txBroadcast, headerBroadcast, - equivalentProofBroadcast, consensusMessageBroadcast) } return nil