core
TxPool
// TxPool contains all currently known transactions. Transactions
// enter the pool when they are received from the network or submitted
// locally. They exit the pool when they are included in the blockchain.
//
// The pool separates processable transactions (which can be applied to the
// current state) and future transactions. Transactions move between those
// two states over time as they are received and processed.
type TxPool struct {
config TxPoolConfig
chainconfig *params.ChainConfig
chain blockChain
gasPrice *big.Int
txFeed event.Feed
scope event.SubscriptionScope
chainHeadCh chan ChainHeadEvent
chainHeadSub event.Subscription
//abi types.Signer
mu sync.RWMutex
currentState *state.StateDB // Current state in the blockchain head
pendingState *state.ManagedState // Pending state tracking virtual nonces
currentMaxGas uint64 // Current gas limit for transaction caps
locals *accountSet // Set of local transaction to exempt from eviction rules
//journal *txJournal // Journal of local transaction to back up to disk
all *txLookup // All transactions to allow lookups
priced *txPricedList // All transactions sorted by priced
newQueue *txPricedList
newPending *txPricedList
beats map[common.Hash]time.Time
wg sync.WaitGroup // for shutdown sync
homestead bool
}TxPoolConfig
accountSet
txLookup
Last updated
Was this helpful?