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
PR #1515 added three new
ABCIerror codes that affects the composer's nonce resubmission logic. Instead of returningINVALID_NONCEon all error codes, we now also returnNONCE_TAKEN,ALREADY_PRESENT, andACCOUNT_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