Skip to content

[block-producer]: improve InflightState error handling #537

@Mirko-von-Leipzig

Description

@Mirko-von-Leipzig

Follow-up task to #534.

InflightState and its submodule InflightAccountState currently panic instead of passing up errors. Both are also not as strict as they could be e.g. account state handles revert/commiting via an amount count instead of reverting/committing a given set of transaction IDs.

Effectively, account state should check that a given set of n transactions should

  • match the frontmost n transactions for commit, and
  • match the backmost n transactions for revert

Additionally, InflightState should not panic if the transaction delta is missing.

Effectively we should check that the transactions exist, and that they are being handled in the correct order.

Note that we probably want to consider transactions as unordered sets here, so that the bookkeeping at the mempool level can be relaxed. e.g. once transactions are rolled into batches, and batches into blocks, that we can erase the transaction ordering. At least within this component.

Metadata

Metadata

Labels

mempoolRelates to the mempool

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions