From: apolloww <32606824+apolloww@users.noreply.github.com> Date: Sat, 13 Jul 2019 07:10:52 +0000 (+0800) Subject: mark tx before validation so it won't be sent to source again (#278) X-Git-Tag: v1.0.5~143 X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=commitdiff_plain;h=8adef3bf53dd78bcc2c550e810191dc2e50cc076 mark tx before validation so it won't be sent to source again (#278) --- diff --git a/netsync/chainmgr/handle.go b/netsync/chainmgr/handle.go index 81baacef..91f39499 100644 --- a/netsync/chainmgr/handle.go +++ b/netsync/chainmgr/handle.go @@ -253,10 +253,10 @@ func (m *Manager) handleTransactionMsg(peer *peers.Peer, msg *msgs.TransactionMe return } + m.peers.MarkTx(peer.ID(), tx.ID) if isOrphan, err := m.chain.ValidateTx(tx); err != nil && err != core.ErrDustTx && !isOrphan { m.peers.ProcessIllegal(peer.ID(), security.LevelMsgIllegal, "fail on validate tx transaction") } - m.peers.MarkTx(peer.ID(), tx.ID) } func (m *Manager) handleTransactionsMsg(peer *peers.Peer, msg *msgs.TransactionsMessage) { @@ -272,11 +272,11 @@ func (m *Manager) handleTransactionsMsg(peer *peers.Peer, msg *msgs.Transactions } for _, tx := range txs { + m.peers.MarkTx(peer.ID(), tx.ID) if isOrphan, err := m.chain.ValidateTx(tx); err != nil && !isOrphan { m.peers.ProcessIllegal(peer.ID(), security.LevelMsgIllegal, "fail on validate tx transaction") return } - m.peers.MarkTx(peer.ID(), tx.ID) } }