diff --git a/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions.go b/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions.go index 1598fa5fa..74862bafa 100644 --- a/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions.go +++ b/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions.go @@ -22,6 +22,7 @@ type TransactionsRelayContext interface { SharedRequestedTransactions() *flowcontext.SharedRequestedTransactions OnTransactionAddedToMempool() EnqueueTransactionIDsForPropagation(transactionIDs []*externalapi.DomainTransactionID) error + IsIBDRunning() bool } type handleRelayedTransactionsFlow struct { @@ -49,6 +50,10 @@ func (flow *handleRelayedTransactionsFlow) start() error { return err } + if flow.IsIBDRunning() { + continue + } + requestedIDs, err := flow.requestInvTransactions(inv) if err != nil { return err diff --git a/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions_test.go b/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions_test.go index 33f6d0a06..d98045694 100644 --- a/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions_test.go +++ b/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions_test.go @@ -47,6 +47,10 @@ func (m *mocTransactionsRelayContext) EnqueueTransactionIDsForPropagation(transa func (m *mocTransactionsRelayContext) OnTransactionAddedToMempool() { } +func (m *mocTransactionsRelayContext) IsIBDRunning() bool { + return false +} + // TestHandleRelayedTransactionsNotFound tests the flow of HandleRelayedTransactions when the peer doesn't // have the requested transactions in the mempool. func TestHandleRelayedTransactionsNotFound(t *testing.T) {