Compare commits
1 Commits
b799686cd4
...
feature/82
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fd69e1e215 |
@@ -86,6 +86,42 @@ function valueWithUsd(text, usdAmount) {
|
||||
return text;
|
||||
}
|
||||
|
||||
function renderWarnings(warnings) {
|
||||
const warningsEl = $("confirm-warnings");
|
||||
if (warnings.length > 0) {
|
||||
warningsEl.innerHTML = warnings
|
||||
.map(
|
||||
(w) =>
|
||||
`<div class="border border-border border-dashed p-2 mb-1 text-xs font-bold" style="color:#c00">WARNING: ${w}</div>`,
|
||||
)
|
||||
.join("");
|
||||
warningsEl.classList.remove("hidden");
|
||||
} else {
|
||||
warningsEl.classList.add("hidden");
|
||||
}
|
||||
}
|
||||
|
||||
async function checkAddressHistory(address, existingWarnings) {
|
||||
try {
|
||||
const provider = getProvider(state.rpcUrl);
|
||||
const [balance, txCount] = await Promise.all([
|
||||
provider.getBalance(address),
|
||||
provider.getTransactionCount(address),
|
||||
]);
|
||||
if (balance === 0n && txCount === 0) {
|
||||
const warnings = existingWarnings.slice();
|
||||
warnings.push(
|
||||
"This address has ZERO transaction history. " +
|
||||
"It has never sent or received funds. " +
|
||||
"Double-check that the address is correct before sending.",
|
||||
);
|
||||
renderWarnings(warnings);
|
||||
}
|
||||
} catch (e) {
|
||||
log.errorf("address history check failed:", e.message);
|
||||
}
|
||||
}
|
||||
|
||||
function show(txInfo) {
|
||||
pendingTx = txInfo;
|
||||
|
||||
@@ -176,18 +212,10 @@ function show(txInfo) {
|
||||
warnings.push("You are sending to your own address.");
|
||||
}
|
||||
|
||||
const warningsEl = $("confirm-warnings");
|
||||
if (warnings.length > 0) {
|
||||
warningsEl.innerHTML = warnings
|
||||
.map(
|
||||
(w) =>
|
||||
`<div class="border border-border border-dashed p-2 mb-1 text-xs font-bold">WARNING: ${w}</div>`,
|
||||
)
|
||||
.join("");
|
||||
warningsEl.classList.remove("hidden");
|
||||
} else {
|
||||
warningsEl.classList.add("hidden");
|
||||
}
|
||||
renderWarnings(warnings);
|
||||
|
||||
// Async check: warn if destination address has zero transaction history
|
||||
checkAddressHistory(txInfo.to, warnings);
|
||||
|
||||
// Check for errors
|
||||
const errors = [];
|
||||
|
||||
Reference in New Issue
Block a user