Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #12287
Closes #12286
Changes in this PR:
TransactionValidator
now acceptsat: B256
argument to functions performing validation which should be used as a block at which transaction should be validated. We are passing latest block seen by the pool to it to ensure thaton_chain_nonce
/on_chain_balance
values are correct with the current view of the pooltransaction_import_lock
field is added to pool which is a simpleRwLock
. It is used to ensure that pool is not processing canonical chain update while importing transactions. This allows us to make sure that transaction validation result is always valid for tx insertionPendingPool::add_transaction
is changed to not make any assumptions on order if which transactions are being added. Earlier it would assume that it receives transaction in ascening nonce order. It is done by keeping a mapping fromSenderId
to -> highest/lowest nonce.