mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-23 05:06:43 +00:00
core/txpool/legacypool: count only valid as valid
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
This commit is contained in:
parent
a9a6192e33
commit
ad6b106951
1 changed files with 12 additions and 5 deletions
|
|
@ -965,7 +965,6 @@ func (pool *LegacyPool) Add(txs []*types.Transaction, sync bool) []error {
|
||||||
pool.mu.Lock()
|
pool.mu.Lock()
|
||||||
newErrs, dirtyAddrs := pool.addTxsLocked(news)
|
newErrs, dirtyAddrs := pool.addTxsLocked(news)
|
||||||
pool.mu.Unlock()
|
pool.mu.Unlock()
|
||||||
validTxMeter.Mark(int64(len(news)))
|
|
||||||
|
|
||||||
var nilSlot = 0
|
var nilSlot = 0
|
||||||
for _, err := range newErrs {
|
for _, err := range newErrs {
|
||||||
|
|
@ -985,16 +984,24 @@ func (pool *LegacyPool) Add(txs []*types.Transaction, sync bool) []error {
|
||||||
|
|
||||||
// addTxsLocked attempts to queue a batch of transactions if they are valid.
|
// addTxsLocked attempts to queue a batch of transactions if they are valid.
|
||||||
// The transaction pool lock must be held.
|
// The transaction pool lock must be held.
|
||||||
|
// Returns the error for each tx, and the set of accounts that might became promotable.
|
||||||
func (pool *LegacyPool) addTxsLocked(txs []*types.Transaction) ([]error, *accountSet) {
|
func (pool *LegacyPool) addTxsLocked(txs []*types.Transaction) ([]error, *accountSet) {
|
||||||
dirty := newAccountSet(pool.signer)
|
var (
|
||||||
errs := make([]error, len(txs))
|
dirty = newAccountSet(pool.signer)
|
||||||
|
errs = make([]error, len(txs))
|
||||||
|
valid int64
|
||||||
|
)
|
||||||
for i, tx := range txs {
|
for i, tx := range txs {
|
||||||
replaced, err := pool.add(tx)
|
replaced, err := pool.add(tx)
|
||||||
errs[i] = err
|
errs[i] = err
|
||||||
if err == nil && !replaced {
|
if err == nil {
|
||||||
|
if !replaced {
|
||||||
dirty.addTx(tx)
|
dirty.addTx(tx)
|
||||||
}
|
}
|
||||||
|
valid++
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
validTxMeter.Mark(valid)
|
||||||
return errs, dirty
|
return errs, dirty
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue