After eth_sendTransaction returns a hash, the application sets tracking = true. However, sending is cleared in finally, and the Renew button’s disabled state does not include tracking. The user can therefore initiate another transaction before the first is confirmed.
For additive registrar renewals, the second transaction can also succeed, charging for and adding another renewal period. Although the wallet provides another confirmation screen, rapid duplicate clicks or unclear pending status can still result in an unintended additional purchase.
After eth_sendTransaction returns a hash, the application sets tracking = true. However, sending is cleared in finally, and the Renew button’s disabled state does not include tracking. The user can therefore initiate another transaction before the first is confirmed.
For additive registrar renewals, the second transaction can also succeed, charging for and adding another renewal period. Although the wallet provides another confirmation screen, rapid duplicate clicks or unclear pending status can still result in an unintended additional purchase.