Send: Feature - Nonce assignment on signing for EVM and XRP#2124
Merged
JohnathanWhite merged 4 commits intobitpay:developfrom Apr 8, 2026
Merged
Send: Feature - Nonce assignment on signing for EVM and XRP#2124JohnathanWhite merged 4 commits intobitpay:developfrom
JohnathanWhite merged 4 commits intobitpay:developfrom
Conversation
Call prepareTx instead of assignNonce. Also check for null nonce as a fallback so the app is ready for when BWS always defers nonce assignment for EVM chains.
Add IsNonceChain helper that covers EVM + XRP and use it in the prepareTx guard and multi-proposal signing filters so XRP txps get the same sequential nonce handling as EVM.
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.
Description
RN-2649
replaces #2123
EVM and XRP transaction proposals can now have their nonce deferred to signing time. When the app sees a txp with
deferNonceset or a null nonce on a nonce-based chain, it callsprepareTxto get a fresh nonce from BWS right before signing. This prevents stale nonces on proposals that sit pending.Also widens the multi-proposal signing filters so XRP txps go through the sequential path alongside EVM, since they both depend on ordered nonce assignment.
Depends on:
Changelog
IsNonceChainhelper covering EVM + XRP chainspublishAndSigncallsprepareTxbefore signing when nonce is missing on a nonce chainIsNonceChaininstead of justIsEVMChainso XRP txps are signed sequentiallydeferNoncefield added toTransactionProposalmodelTesting Notes
With
deferNoncedisabled in runtime settings, behavior should be identical to before — nonces are assigned at creation time.With
deferNonceenabled:deferNonce: trueprepareTx: BWS assigned nonce X to txp Ybefore signingUTXO chains (BTC, BCH, etc.) are unaffected.