fix: the wallet's own send shows its amount to four decimal places (closes #522)
ConfirmTx and the wait, success and error screens printed the text from Send's amount field as typed or as Max filled it in: `0.5 ETH`, `.5 ETH`, or `1.234147890123456789 ETH` after Max, where TxApproval shows a site's send as `0.5000 ETH`. ConfirmTx now writes the amount as TxApproval does: parsed at the scale it is encoded with, written back as plain decimal text, and cut by truncateAmountNeverZero(). It hands the status screens a copy carrying that text. A token whose scale is unknown, which cannot be sent, is cut as typed. The transaction is still signed for the exact amount, kept on the pending transaction, and the USD value is priced from it. A saved confirmation screen whose amount is not text is no longer redrawn. Model: opus-5-5
This commit is contained in:
+2
-1
@@ -2915,9 +2915,10 @@ async function goToTokenConfirm(env) {
|
||||
amount: TOKEN_AMOUNT,
|
||||
});
|
||||
await waitForEstimate(env.page);
|
||||
// TOKEN_AMOUNT to four decimal places (README.md, Display Consistency).
|
||||
const shown = await shownAmount(env.page);
|
||||
assert(
|
||||
shown === TOKEN_AMOUNT + " " + STUB_TOKEN.symbol,
|
||||
shown === "0.2500 " + STUB_TOKEN.symbol,
|
||||
"the confirmation screen is not showing the amount that was entered: " +
|
||||
JSON.stringify(shown),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user