// 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/daglabs/btcd/blockdag" "github.com/daglabs/btcd/dagconfig" "github.com/daglabs/btcd/dagconfig/daghash" "github.com/daglabs/btcd/mempool" "github.com/daglabs/btcd/peer" "github.com/daglabs/btcd/wire" "github.com/daglabs/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 *daghash.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 *blockdag.BlockChain TxMemPool *mempool.TxPool ChainParams *dagconfig.Params DisableCheckpoints bool MaxPeers int FeeEstimator *mempool.FeeEstimator }