diff options
| author | selsta <selsta@sent.at> | 2023-04-21 14:45:09 +0200 |
|---|---|---|
| committer | selsta <selsta@sent.at> | 2023-04-21 14:45:09 +0200 |
| commit | 6bd11f227008b4d60a623f1effea7d8319fa8ddc (patch) | |
| tree | 070d68a79f93570009702a3d2baec95c4e98e07d /js/TxUtils.js | |
| parent | f650e963630f49b44a2ef16211f565555b9f159e (diff) | |
| download | monzero-gui-6bd11f227008b4d60a623f1effea7d8319fa8ddc.tar.gz monzero-gui-6bd11f227008b4d60a623f1effea7d8319fa8ddc.tar.xz monzero-gui-6bd11f227008b4d60a623f1effea7d8319fa8ddc.zip | |
TxUtils: add handleOpenAliasResolution func, simplify code
Diffstat (limited to 'js/TxUtils.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") }; + } +} |
