// Copyright (c) 2017 The btcsuite developers // Use of this source code is governed by an ISC // license that can be found in the LICENSE file. package netsync import ( "github.com/roasbeef/btcd/blockchain" "github.com/roasbeef/btcd/chaincfg" "github.com/roasbeef/btcd/chaincfg/chainhash" "github.com/roasbeef/btcd/mempool" "github.com/roasbeef/btcd/peer" "github.com/roasbeef/btcd/wire" "github.com/roasbeef/btcutil" ) // PeerNotifier exposes methods to notify peers of status changes to // transactions, blocks, etc. Currently server (in the main package) implements // this interface. type PeerNotifier interface { AnnounceNewTransactions(newTxs []*mempool.TxDesc) UpdatePeerHeights(latestBlkHash *chainhash.Hash, latestHeight int32, updateSource *peer.Peer) RelayInventory(invVect *wire.InvVect, data interface{}) TransactionConfirmed(tx *btcutil.Tx) } // Config is a configuration struct used to initialize a new SyncManager. type Config struct { PeerNotifier PeerNotifier Chain *blockchain.BlockChain TxMemPool *mempool.TxPool ChainParams *chaincfg.Params DisableCheckpoints bool MaxPeers int FeeEstimator *mempool.FeeEstimator }