You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have no strategy for confirming nonce-based transactions other than ‘wait 60 seconds.’ In fact, nonce-based transactions expire either:
If the blockhash that the transaction was signed with is not the same as the blockhash in the nonce account from the get-go, or
If the nonce is ‘advanced’ before the transaction is confirmed.
Proposed Solution
Follow the pattern established by BlockheightBasedTransactionConfimationStrategy; create a NonceBasedTransactionConfimationStrategy
Create a TransactionExpiredNonceAdvancedError
Augment new Transaction to take nonce-based constructor args.
Augment confirmTransaction() to accept NonceBasedTransactionConfimationStrategy
Write expiry logic that polls the nonce account, watching for a mismatch between the blockhash that the transaction was signed with, and the blockhash in the nonce account. Throw a TransactionExpiredNonceAdvancedError when this happens.
The text was updated successfully, but these errors were encountered:
Problem
We have no strategy for confirming nonce-based transactions other than ‘wait 60 seconds.’ In fact, nonce-based transactions expire either:
Proposed Solution
BlockheightBasedTransactionConfimationStrategy
; create aNonceBasedTransactionConfimationStrategy
TransactionExpiredNonceAdvancedError
new Transaction
to take nonce-based constructor args.confirmTransaction()
to acceptNonceBasedTransactionConfimationStrategy
TransactionExpiredNonceAdvancedError
when this happens.The text was updated successfully, but these errors were encountered: