Repository navigation
CLI: Improve recovery in transaction submit with durable nonce - #76
Open
mcintyre94 wants to merge 1 commit into
Open
mcintyre94 wants to merge 1 commit into
mcintyre94 wants to merge 1 commit into
Conversation
mcintyre94
added this pull request to stack #72
October 2, 2026 17:06
transaction submit with durable nonce
mcintyre94
force-pushed
the
submit-recovery
branch
from
October 6, 2026 16:58
0b728ab to
e8ba588
Compare
mcintyre94
force-pushed
the
submit-recovery
branch
from
October 6, 2026 17:17
e8ba588 to
0b840f1
Compare
transaction submit with durable noncetransaction submit with durable nonce
mcintyre94
marked this pull request as ready for review
October 6, 2026 17:20
- We now check signatures before checking the nonce
- If the nonce value has changed, we check the transaction status before
failing. We look up our fee payer and get their signature (which
becomes the transaction signature), and look up that transaction with
the RPC.
- If it has succeeded, then this is a re-submit, we return with that
signature.
- If it failed, then the durable nonce will still have advanced. We
print the error it failed with and the new durable nonce value, all
relay signers will need to re-sign with this value.
- If it is not found then we report that another transaction (which
may have succeeded or failed) has advanced the nonce, and again the
new value to sign with
- If the RPC node has no history (eg the local one), we also report
this
Note: a downside of this method to get the signature is that if the fee
payer is a hardware wallet then it'll be prompted to sign at this point.
This is harmless because the transaction now has an invalid durable
nonce value and cannot land. We print a message to stderr only if the
fee payer is interactive.
All of these changes are intended to improve UX for migration, which is
exposed to the complexity of durable nonces.
mcintyre94
force-pushed
the
submit-recovery
branch
from
October 6, 2026 17:28
0b840f1 to
8ea5830
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Note: a downside of this method to get the signature is that if the fee payer is a hardware wallet then it'll be prompted to sign at this point. This is harmless because the transaction now has an invalid durable nonce value and cannot land. We print a message to stderr only if the fee payer is interactive.
All of these changes are intended to improve UX for migration, which is exposed to the complexity of durable nonces.