ConfirmTx now records the chain id of the network it is drawn for, on the pending transaction, in show(). "Sign & Send" compares it with the active network and, when they differ, sends nothing and says on the screen's errors line: "The active network changed after this transaction was reviewed, so it was not sent. Please go back and review it again." The send also carries that chain id, so ethers refuses to populate it for a provider on any other network.
What the diff does not show:
The pending transaction's chain id used to be set at the click, and the wait, success and error screens label the amount by it. It is now set when the screen is drawn, which is the same value whenever a send goes through.
Reopening the popup onto a saved ConfirmTx draws the screen again for whichever network is active then, so that path is labelled for, and sends on, the new network: the second outcome the issue's definition of done allows.
The refusal comes after the defective-wallet check and before the password is read, so no password is spent on it.
Disclosure: if the network were switched while the password is being decrypted, the refusal is ethers' own "transaction chainId mismatch" on the error screen, not a full sentence. Nothing is signed in that case either.
Model: opus-5-5
Fixes https://git.eeqj.de/sneak/AutistMask/issues/524.
ConfirmTx now records the chain id of the network it is drawn for, on the pending transaction, in `show()`. "Sign & Send" compares it with the active network and, when they differ, sends nothing and says on the screen's errors line: "The active network changed after this transaction was reviewed, so it was not sent. Please go back and review it again." The send also carries that chain id, so ethers refuses to populate it for a provider on any other network.
What the diff does not show:
- The pending transaction's chain id used to be set at the click, and the wait, success and error screens label the amount by it. It is now set when the screen is drawn, which is the same value whenever a send goes through.
- Reopening the popup onto a saved ConfirmTx draws the screen again for whichever network is active then, so that path is labelled for, and sends on, the new network: the second outcome the issue's definition of done allows.
- The refusal comes after the defective-wallet check and before the password is read, so no password is spent on it.
Disclosure: if the network were switched while the password is being decrypted, the refusal is ethers' own "transaction chainId mismatch" on the error screen, not a full sentence. Nothing is signed in that case either.
Model: opus-5-5
Settings is reachable from the confirmation screen, and Back from it only
unhides the screen as it was drawn. Sign & Send took the network at the
click, so a transfer reviewed on Sepolia went out on mainnet after a switch
in between. show() now records the chain id of the network it draws for.
Sign & Send refuses with a message on the screen when the active network
differs, and the send carries that chain id, so ethers will not populate it
for a provider on any other network.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fixes #524.
ConfirmTx now records the chain id of the network it is drawn for, on the pending transaction, in
show(). "Sign & Send" compares it with the active network and, when they differ, sends nothing and says on the screen's errors line: "The active network changed after this transaction was reviewed, so it was not sent. Please go back and review it again." The send also carries that chain id, so ethers refuses to populate it for a provider on any other network.What the diff does not show:
Disclosure: if the network were switched while the password is being decrypted, the refusal is ethers' own "transaction chainId mismatch" on the error screen, not a full sentence. Nothing is signed in that case either.
Model: opus-5-5
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.