diff options
| author | luigi1111 <luigi1111w@gmail.com> | 2023-08-17 10:31:52 -0500 |
|---|---|---|
| committer | luigi1111 <luigi1111w@gmail.com> | 2023-08-17 10:31:52 -0500 |
| commit | 57409a8c477d977451d3523e4e066812c7fa9b57 (patch) | |
| tree | 1cf9cecfeb67d07c87dea5f829a54646b3e0cf8f /js | |
| parent | f002987edd3e73a1ccc687a2683051ae67cbd3fd (diff) | |
| parent | 6bd11f227008b4d60a623f1effea7d8319fa8ddc (diff) | |
| download | monzero-gui-57409a8c477d977451d3523e4e066812c7fa9b57.tar.gz monzero-gui-57409a8c477d977451d3523e4e066812c7fa9b57.tar.xz monzero-gui-57409a8c477d977451d3523e4e066812c7fa9b57.zip | |
Merge pull request #4158
6bd11f2 TxUtils: add handleOpenAliasResolution func, simplify code (selsta)
Diffstat (limited to 'js')
| -rw-r--r-- | js/TxUtils.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/js/TxUtils.js b/js/TxUtils.js index 49b0c34e..28f25ef6 100644 --- a/js/TxUtils.js +++ b/js/TxUtils.js @@ -76,3 +76,34 @@ function isValidOpenAliasAddress(address) { // make sure it is not some kind of floating number return address.length > 2 && isNaN(parseFloat(address)) && address.indexOf('.') >= 0 } + +function handleOpenAliasResolution(address, descriptionText) { + const result = walletManager.resolveOpenAlias(address); + if (!result) { + return { message: qsTr("No address found") }; + } + + const [isDnssecValid, resolvedAddress] = result.split("|"); + const isAddressValid = walletManager.addressValid(resolvedAddress, appWindow.persistentSettings.nettype); + let updatedDescriptionText = descriptionText; + + if (isDnssecValid === "true") { + if (isAddressValid) { + updatedDescriptionText = descriptionText ? `${address} ${descriptionText}` : address; + return { address: resolvedAddress, description: updatedDescriptionText }; + } else { + return { message: qsTr("No valid address found at this OpenAlias address") }; + } + } else if (isDnssecValid === "false") { + if (isAddressValid) { + return { + address: resolvedAddress, + message: qsTr("Address found, but the DNSSEC signatures could not be verified, so this address may be spoofed"), + }; + } else { + return { message: qsTr("No valid address found at this OpenAlias address, but the DNSSEC signatures could not be verified, so this may be spoofed") }; + } + } else { + return { message: qsTr("Internal error") }; + } +} |
