|
|
@ -1598,8 +1598,9 @@ func (p *BlobPool) SubscribeTransactions(ch chan<- core.NewTxsEvent, reorgs bool |
|
|
|
// Nonce returns the next nonce of an account, with all transactions executable
|
|
|
|
// Nonce returns the next nonce of an account, with all transactions executable
|
|
|
|
// by the pool already applied on top.
|
|
|
|
// by the pool already applied on top.
|
|
|
|
func (p *BlobPool) Nonce(addr common.Address) uint64 { |
|
|
|
func (p *BlobPool) Nonce(addr common.Address) uint64 { |
|
|
|
p.lock.RLock() |
|
|
|
// We need a write lock here, since state.GetNonce might write the cache.
|
|
|
|
defer p.lock.RUnlock() |
|
|
|
p.lock.Lock() |
|
|
|
|
|
|
|
defer p.lock.Unlock() |
|
|
|
|
|
|
|
|
|
|
|
if txs, ok := p.index[addr]; ok { |
|
|
|
if txs, ok := p.index[addr]; ok { |
|
|
|
return txs[len(txs)-1].nonce + 1 |
|
|
|
return txs[len(txs)-1].nonce + 1 |
|
|
|