aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2023-08-17 10:31:52 -0500
committerluigi1111 <luigi1111w@gmail.com>2023-08-17 10:31:52 -0500
commit57409a8c477d977451d3523e4e066812c7fa9b57 (patch)
tree1cf9cecfeb67d07c87dea5f829a54646b3e0cf8f /js
parentf002987edd3e73a1ccc687a2683051ae67cbd3fd (diff)
parent6bd11f227008b4d60a623f1effea7d8319fa8ddc (diff)
downloadmonzero-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.js31
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") };
+ }
+}