Skip to content

composer: handle new mempool ABCI error codes on transaction submission #1633

@lobstergrindset

Description

@lobstergrindset

PR #1515 added three new ABCI error codes that affects the composer's nonce resubmission logic. Instead of returning INVALID_NONCE on all error codes, we now also return NONCE_TAKEN, ALREADY_PRESENT, and ACCOUNT_SIZE_LIMIT. The composer should handle these other transaction submission error codes as well.

Error code descriptors:
ALREADY_PRESENT: the exact transaction is already inside of the mempool and doesn't need to be re-sent.
ACCOUNT_SIZE_LIMIT: the parked queue for the account is full, this would indicate that the account associated with the composer isn't having sent transactions qualify for the pending/execution queue. This could be due to a nonce gap or the account lacking funds to cover transaction costs.
NONCE_TAKEN: there is already a transaction for this account with the used nonce inside of the mempool. We don't allow for transaction replacement right now, so a higher nonce should probably be used.

┆Issue Number: ENG-909

Metadata

Metadata

Labels

composerpertaining to composermempoolproduction-qualitynecessary features for production quality software

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions