Fix tx-pool returning the same transaction multiple times (#6535)
* Fix tx-pool returning the same transaction multiple times This fixes a bug that lead to returning the same transaction multiple times when iterating the `ready` iterator. Internally the transaction was kept in the `best` list and could be duplicated in that list be re-inserting it again. This `best` list is using a `TransactionRef` which internally uses a `insertion_id`. This `insertion_id` could lead to the same transaction being inserted multiple times into the `best` list. * Update client/transaction-pool/src/testing/pool.rs Co-authored-by:Nikolay Volf <nikvolf@gmail.com> Co-authored-by:
Nikolay Volf <nikvolf@gmail.com>
Showing
- substrate/client/transaction-pool/graph/src/ready.rs 11 additions, 13 deletionssubstrate/client/transaction-pool/graph/src/ready.rs
- substrate/client/transaction-pool/src/revalidation.rs 4 additions, 4 deletionssubstrate/client/transaction-pool/src/revalidation.rs
- substrate/client/transaction-pool/src/testing/pool.rs 25 additions, 0 deletionssubstrate/client/transaction-pool/src/testing/pool.rs
- substrate/test-utils/runtime/src/lib.rs 12 additions, 2 deletionssubstrate/test-utils/runtime/src/lib.rs
- substrate/test-utils/runtime/transaction-pool/src/lib.rs 11 additions, 5 deletionssubstrate/test-utils/runtime/transaction-pool/src/lib.rs
Please register or sign in to comment