1333ad7f78
new txs that it observes. The block manager alerts the fee estimator of new and orphaned blocks. Check for invalid state and recreate FeeEstimator if necessary.
41 lines
1.2 KiB
Go
41 lines
1.2 KiB
Go
// 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
|
|
}
|