diff --git a/netsync/manager.go b/netsync/manager.go index e221a4735..c2f8b0d24 100644 --- a/netsync/manager.go +++ b/netsync/manager.go @@ -226,15 +226,6 @@ func (sm *SyncManager) startSync() { return } - // Once the segwit soft-fork package has activated, we only - // want to sync from peers which are witness enabled to ensure - // that we fully validate all blockchain data. - segwitActive, err := sm.chain.IsDeploymentActive(chaincfg.DeploymentSegwit) - if err != nil { - log.Errorf("Unable to query for segwit soft-fork state: %v", err) - return - } - best := sm.chain.BestSnapshot() var bestPeer *peerpkg.Peer for peer, state := range sm.peerStates { @@ -242,11 +233,6 @@ func (sm *SyncManager) startSync() { continue } - if segwitActive && !peer.IsWitnessEnabled() { - log.Debugf("peer %v not witness enabled, skipping", peer) - continue - } - // Remove sync candidate peers that are no longer candidates due // to passing their latest known block. NOTE: The < is // intentional as opposed to <=. While technically the peer @@ -334,16 +320,9 @@ func (sm *SyncManager) isSyncCandidate(peer *peerpkg.Peer) bool { } } else { // The peer is not a candidate for sync if it's not a full - // node. Additionally, if the segwit soft-fork package has - // activated, then the peer must also be upgraded. - segwitActive, err := sm.chain.IsDeploymentActive(chaincfg.DeploymentSegwit) - if err != nil { - log.Errorf("Unable to query for segwit "+ - "soft-fork state: %v", err) - } + // node. nodeServices := peer.Services() - if nodeServices&wire.SFNodeNetwork != wire.SFNodeNetwork || - (segwitActive && !peer.IsWitnessEnabled()) { + if nodeServices&wire.SFNodeNetwork != wire.SFNodeNetwork { return false } } @@ -746,13 +725,6 @@ func (sm *SyncManager) fetchHeaderBlocks() { sm.requestedBlocks[*node.hash] = struct{}{} syncPeerState.requestedBlocks[*node.hash] = struct{}{} - // If we're fetching from a witness enabled peer - // post-fork, then ensure that we receive all the - // witness data in the blocks. - if sm.syncPeer.IsWitnessEnabled() { - iv.Type = wire.InvTypeWitnessBlock - } - gdmsg.AddInvVect(iv) numRequested++ } @@ -881,15 +853,11 @@ func (sm *SyncManager) handleHeadersMsg(hmsg *headersMsg) { // are in the memory pool (either the main pool or orphan pool). func (sm *SyncManager) haveInventory(invVect *wire.InvVect) (bool, error) { switch invVect.Type { - case wire.InvTypeWitnessBlock: - fallthrough case wire.InvTypeBlock: // Ask chain if the block is known to it in any form (main // chain, side chain, or orphan). return sm.chain.HaveBlock(&invVect.Hash) - case wire.InvTypeWitnessTx: - fallthrough case wire.InvTypeTx: // Ask the transaction memory pool if the transaction is known // to it in any form (main pool or orphan). @@ -979,8 +947,6 @@ func (sm *SyncManager) handleInvMsg(imsg *invMsg) { switch iv.Type { case wire.InvTypeBlock: case wire.InvTypeTx: - case wire.InvTypeWitnessBlock: - case wire.InvTypeWitnessTx: default: continue } @@ -1011,14 +977,6 @@ func (sm *SyncManager) handleInvMsg(imsg *invMsg) { } } - // Ignore invs block invs from non-witness enabled - // peers, as after segwit activation we only want to - // download from peers that can provide us full witness - // data for blocks. - if !peer.IsWitnessEnabled() && iv.Type == wire.InvTypeBlock { - continue - } - // Add it to the request queue. state.requestQueue = append(state.requestQueue, iv) continue @@ -1076,8 +1034,6 @@ func (sm *SyncManager) handleInvMsg(imsg *invMsg) { requestQueue = requestQueue[1:] switch iv.Type { - case wire.InvTypeWitnessBlock: - fallthrough case wire.InvTypeBlock: // Request the block if there is not already a pending // request. @@ -1086,16 +1042,10 @@ func (sm *SyncManager) handleInvMsg(imsg *invMsg) { sm.limitMap(sm.requestedBlocks, maxRequestedBlocks) state.requestedBlocks[iv.Hash] = struct{}{} - if peer.IsWitnessEnabled() { - iv.Type = wire.InvTypeWitnessBlock - } - gdmsg.AddInvVect(iv) numRequested++ } - case wire.InvTypeWitnessTx: - fallthrough case wire.InvTypeTx: // Request the transaction if there is not already a // pending request. @@ -1104,12 +1054,6 @@ func (sm *SyncManager) handleInvMsg(imsg *invMsg) { sm.limitMap(sm.requestedTxns, maxRequestedTxns) state.requestedTxns[iv.Hash] = struct{}{} - // If the peer is capable, request the txn - // including all witness data. - if peer.IsWitnessEnabled() { - iv.Type = wire.InvTypeWitnessTx - } - gdmsg.AddInvVect(iv) numRequested++ }