From 92f671fcb85f4f0a7d3c0849e865c3a353410b1d Mon Sep 17 00:00:00 2001 From: Amrit Jain <72156537+amritkumarj@users.noreply.github.com> Date: Fri, 21 Oct 2022 22:02:53 +0530 Subject: [PATCH] feat: unstoppable domains (#1097) --- README.md | 6 +++ src/init.cpp | 2 +- src/qt/guiconstants.h | 4 ++ src/qt/guiutil.cpp | 62 +++++++++++++++++++++++++++++- src/qt/guiutil.h | 6 ++- src/qt/locale/verge_af.ts | 6 ++- src/qt/locale/verge_bg.ts | 6 ++- src/qt/locale/verge_ca.ts | 6 ++- src/qt/locale/verge_ca@valencia.ts | 6 ++- src/qt/locale/verge_ca_ES.ts | 6 ++- src/qt/locale/verge_cs.ts | 6 ++- src/qt/locale/verge_da.ts | 6 ++- src/qt/locale/verge_de.ts | 6 ++- src/qt/locale/verge_el_GR.ts | 6 ++- src/qt/locale/verge_en.ts | 7 +++- src/qt/locale/verge_en_GB.ts | 8 +++- src/qt/locale/verge_es.ts | 6 ++- src/qt/locale/verge_es_ES.ts | 6 ++- src/qt/locale/verge_fa.ts | 6 ++- src/qt/locale/verge_fi.ts | 6 ++- src/qt/locale/verge_fr.ts | 6 ++- src/qt/locale/verge_fr_FR.ts | 6 ++- src/qt/locale/verge_he.ts | 6 ++- src/qt/locale/verge_hu.ts | 6 ++- src/qt/locale/verge_id_ID.ts | 6 ++- src/qt/locale/verge_it.ts | 6 ++- src/qt/locale/verge_ja.ts | 6 ++- src/qt/locale/verge_ko_KR.ts | 6 ++- src/qt/locale/verge_nb.ts | 6 ++- src/qt/locale/verge_ne.ts | 6 ++- src/qt/locale/verge_nl.ts | 6 ++- src/qt/locale/verge_pl.ts | 6 ++- src/qt/locale/verge_pt_BR.ts | 6 ++- src/qt/locale/verge_pt_PT.ts | 6 ++- src/qt/locale/verge_ro_RO.ts | 6 ++- src/qt/locale/verge_ru.ts | 6 ++- src/qt/locale/verge_ru_RU.ts | 6 ++- src/qt/locale/verge_sk.ts | 6 ++- src/qt/locale/verge_sl_SI.ts | 6 ++- src/qt/locale/verge_sv.ts | 6 ++- src/qt/locale/verge_tr.ts | 6 ++- src/qt/locale/verge_uk.ts | 6 ++- src/qt/locale/verge_uz@Cyrl.ts | 6 ++- src/qt/locale/verge_vi.ts | 6 ++- src/qt/locale/verge_zh_CN.ts | 6 ++- src/qt/locale/verge_zh_HK.ts | 6 ++- src/qt/locale/verge_zh_TW.ts | 6 ++- src/qt/sendcoinsentry.cpp | 8 +++- src/qt/verge.cpp | 1 + src/qt/vergeaddressvalidator.cpp | 8 +++- 50 files changed, 301 insertions(+), 51 deletions(-) diff --git a/README.md b/README.md index 515265004..c9b9d3620 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,11 @@ You can also check out this [Linux Wallet Video Tutorial](https://www.youtube.co * [OS X Instructions](doc/build-osx.md) * [Windows Instructions](doc/build-windows.md) + +## Use [Unstoppable Domains](https://unstoppabledomains.com) + +To use VERGE with Unstoppable Domains for sending coins using Web3 Domains (know more about [Unstoppable Domains here](https://unstoppabledomains.com)), use this command to start the app "./verge-qt --with-unstoppable". + ## Developer Notes The Easy Method: @@ -302,3 +307,4 @@ Alternatively, if you would like to make a suggestion regarding a potential fix ### Security-related issues Contact the developers privately by sending an e-mail to contact@vergecurrency.com with the details of the issue. Do not post the issue on github or anywhere else until the issue has been resolved. + diff --git a/src/init.cpp b/src/init.cpp index d0e25524b..87c65d2cc 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -358,7 +358,7 @@ void SetupServerArgs() std::vector hidden_args = {"-rpcssl", "-benchmark", "-h", "-help", "-socks", "-tor", "-debugnet", "-whitelistalwaysrelay", "-prematurewitness", "-walletprematurewitness", "-promiscuousmempoolflags", "-blockminsize", "-dbcrashratio", "-forcecompactdb", "-usehd", // GUI args. These will be overwritten by SetupUIArgs for the GUI - "-allowselfsignedrootcertificates", "-choosedatadir", "-lang=", "-min", "-resetguisettings", "-rootcertificates=", "-splash", "-uiplatform"}; + "-allowselfsignedrootcertificates", "-choosedatadir", "-lang=", "-min", "-resetguisettings", "-rootcertificates=", "-splash", "-uiplatform", "with-unstoppable"}; // Set all of the args and their help // When adding new options to the categories, please keep and ensure alphabetical ordering. diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index 4b469289d..6c6293084 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -54,4 +54,8 @@ static const int MAX_URI_LENGTH = 255; #define QAPP_APP_NAME_DEFAULT "verge-qt" #define QAPP_APP_NAME_TESTNET "verge-qt-testnet" +#define UNS_API_KEY "Bearer e2bec832-7a87-41cc-bc67-1aac72e2e033" +#define UNS_API "http://resolve.unstoppabledomains.com/domains/" +#define UNS_XVG_RECORD "crypto.XVG.address" + #endif // VERGE_QT_GUICONSTANTS_H diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index d24c34e69..053966dca 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -56,6 +56,14 @@ #include #include +#include +#include +#include +#include +#include + +#include + #if QT_VERSION < 0x050000 #include #else @@ -123,6 +131,51 @@ static std::string DummyAddress(const CChainParams ¶ms) return ""; } +QString resolveUnsDomain(QString domain) +{ + if(!unsEnabled()) return domain; + + bool isDomain = domain.contains("."); + if(isDomain){ + QEventLoop eventLoop; + + QNetworkAccessManager mgr; + QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit())); + + QNetworkRequest req(QUrl(QString(UNS_API).append(domain))); + + req.setRawHeader("Authorization", UNS_API_KEY); + QNetworkReply *reply = mgr.get(req); + eventLoop.exec(); + + if (reply->error() == QNetworkReply::NoError) { + //success + + QByteArray result = reply->readAll(); + QJsonDocument jsonResponse = QJsonDocument::fromJson(result); + QJsonObject mainObj = jsonResponse.object(); + QJsonObject recordObj = mainObj["records"].toObject(); + + delete reply; + + if(recordObj.contains(QString(UNS_XVG_RECORD))){ + return QString(recordObj[QString(UNS_XVG_RECORD)].toString()); + } + } + else { + //failure + delete reply; + } + } + + return domain; +} + + +bool unsEnabled(){ + return gArgs.GetBoolArg("-with-unstoppable", false); +} + void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent) { parent->setFocusProxy(widget); @@ -131,8 +184,13 @@ void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent) #if QT_VERSION >= 0x040700 // We don't want translators to use own addresses in translations // and this is the only place, where this address is supplied. - widget->setPlaceholderText(QObject::tr("Enter a VERGE address (e.g. %1)").arg( - QString::fromStdString(DummyAddress(Params())))); + if(unsEnabled()){ + widget->setPlaceholderText(QObject::tr("Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft)").arg( + QString::fromStdString(DummyAddress(Params())))); + }else{ + widget->setPlaceholderText(QObject::tr("Enter a VERGE address(e.g. %1)").arg( + QString::fromStdString(DummyAddress(Params())))); + } #endif widget->setValidator(new VERGEAddressEntryValidator(parent)); widget->setCheckValidator(new VERGEAddressCheckValidator(parent)); diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h index 814854889..7ef74684a 100644 --- a/src/qt/guiutil.h +++ b/src/qt/guiutil.h @@ -46,12 +46,16 @@ namespace GUIUtil // Return a monospace font QFont fixedPitchFont(); + //Unstoppable Domains + QString resolveUnsDomain(QString domain); + bool unsEnabled(); + // Set up widget for address void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent); // Parse "verge:" URI into recipient object, return true on successful parsing bool parseVERGEURI(const QUrl &uri, SendCoinsRecipient *out); - bool parseVERGEURI(QString uri, SendCoinsRecipient *out); + bool parseVERGEURI(QString uri, SendCoinsRecipient *out); QString formatVERGEURI(const SendCoinsRecipient &info); // Returns true if given address+amount meets "dust" definition diff --git a/src/qt/locale/verge_af.ts b/src/qt/locale/verge_af.ts index c463f2669..b28cc004e 100644 --- a/src/qt/locale/verge_af.ts +++ b/src/qt/locale/verge_af.ts @@ -1184,7 +1184,11 @@ Bedrag - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Voer in 'n VERGE adres (bv. %1) + + + Enter a VERGE address(e.g. %1) Voer in 'n VERGE adres (bv. %1) diff --git a/src/qt/locale/verge_bg.ts b/src/qt/locale/verge_bg.ts index 4d7bff7f4..43f54a53e 100644 --- a/src/qt/locale/verge_bg.ts +++ b/src/qt/locale/verge_bg.ts @@ -1176,7 +1176,11 @@ Сума - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Въведете Биткойн адрес (например: %1) + + + Enter a VERGE address(e.g. %1) Въведете Биткойн адрес (например: %1) diff --git a/src/qt/locale/verge_ca.ts b/src/qt/locale/verge_ca.ts index 264f3fdd9..60d8821fd 100644 --- a/src/qt/locale/verge_ca.ts +++ b/src/qt/locale/verge_ca.ts @@ -1400,7 +1400,11 @@ Import - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Introduïu una adreça de VERGE (p. ex. %1) + + + Enter a VERGE address(e.g. %1) Introduïu una adreça de VERGE (p. ex. %1) diff --git a/src/qt/locale/verge_ca@valencia.ts b/src/qt/locale/verge_ca@valencia.ts index fc667b529..335ff8166 100644 --- a/src/qt/locale/verge_ca@valencia.ts +++ b/src/qt/locale/verge_ca@valencia.ts @@ -1176,7 +1176,11 @@ Import - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Introduïu una adreça de VERGE (p. ex. %1) + + + Enter a VERGE address(e.g. %1) Introduïu una adreça de VERGE (p. ex. %1) diff --git a/src/qt/locale/verge_ca_ES.ts b/src/qt/locale/verge_ca_ES.ts index 0966c6bd8..5dd1b706c 100644 --- a/src/qt/locale/verge_ca_ES.ts +++ b/src/qt/locale/verge_ca_ES.ts @@ -1344,7 +1344,11 @@ Import - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Introduïu una adreça de VERGE (p. ex. %1) + + + Enter a VERGE address(e.g. %1) Introduïu una adreça de VERGE (p. ex. %1) diff --git a/src/qt/locale/verge_cs.ts b/src/qt/locale/verge_cs.ts index fed630f96..010bccb16 100644 --- a/src/qt/locale/verge_cs.ts +++ b/src/qt/locale/verge_cs.ts @@ -1432,7 +1432,11 @@ Částka - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Zadej vergeovou adresu (např. %1) + + + Enter a VERGE address(e.g. %1) Zadej vergeovou adresu (např. %1) diff --git a/src/qt/locale/verge_da.ts b/src/qt/locale/verge_da.ts index ef6db29fb..1d1a758ab 100644 --- a/src/qt/locale/verge_da.ts +++ b/src/qt/locale/verge_da.ts @@ -1444,7 +1444,11 @@ Beløb - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Indtast en verge-adresse (fx %1) + + + Enter a VERGE address(e.g. %1) Indtast en verge-adresse (fx %1) diff --git a/src/qt/locale/verge_de.ts b/src/qt/locale/verge_de.ts index 9ef9bed28..32a684741 100644 --- a/src/qt/locale/verge_de.ts +++ b/src/qt/locale/verge_de.ts @@ -1440,7 +1440,11 @@ Betrag - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + verge-Adresse eingeben (z.B. %1) + + + Enter a VERGE address(e.g. %1) verge-Adresse eingeben (z.B. %1) diff --git a/src/qt/locale/verge_el_GR.ts b/src/qt/locale/verge_el_GR.ts index 1da981371..b6d80a314 100644 --- a/src/qt/locale/verge_el_GR.ts +++ b/src/qt/locale/verge_el_GR.ts @@ -961,7 +961,11 @@ Ποσό - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Εισάγετε μια διεύθυνση VERGE (π.χ. %1) + + + Enter a VERGE address(e.g. %1) Εισάγετε μια διεύθυνση VERGE (π.χ. %1) diff --git a/src/qt/locale/verge_en.ts b/src/qt/locale/verge_en.ts index 7d032da0e..380b69daf 100644 --- a/src/qt/locale/verge_en.ts +++ b/src/qt/locale/verge_en.ts @@ -1836,9 +1836,14 @@ - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + + + Enter a VERGE address(e.g. %1) + + %1 d diff --git a/src/qt/locale/verge_en_GB.ts b/src/qt/locale/verge_en_GB.ts index ec707bb39..a2705716e 100644 --- a/src/qt/locale/verge_en_GB.ts +++ b/src/qt/locale/verge_en_GB.ts @@ -1444,8 +1444,12 @@ Amount - Enter a VERGE address (e.g. %1) - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + + + Enter a VERGE address(e.g. %1) + Enter a VERGE address(e.g. %1) %1 d diff --git a/src/qt/locale/verge_es.ts b/src/qt/locale/verge_es.ts index 9c94f4868..5776e4310 100644 --- a/src/qt/locale/verge_es.ts +++ b/src/qt/locale/verge_es.ts @@ -1444,7 +1444,11 @@ Cantidad - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Introducir una dirección VERGE (p. ej. %1) + + + Enter a VERGE address(e.g. %1) Introducir una dirección VERGE (p. ej. %1) diff --git a/src/qt/locale/verge_es_ES.ts b/src/qt/locale/verge_es_ES.ts index e9ad1287d..5f9bb0ccb 100644 --- a/src/qt/locale/verge_es_ES.ts +++ b/src/qt/locale/verge_es_ES.ts @@ -1364,7 +1364,11 @@ Cantidad - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Introducir una dirección VERGE (p. ej. %1) + + + Enter a VERGE address(e.g. %1) Introducir una dirección VERGE (p. ej. %1) diff --git a/src/qt/locale/verge_fa.ts b/src/qt/locale/verge_fa.ts index d272ba458..0e03e94b7 100644 --- a/src/qt/locale/verge_fa.ts +++ b/src/qt/locale/verge_fa.ts @@ -1032,7 +1032,11 @@ مبلغ - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + یک آدرس بیت‌کوین وارد کنید (مثلاً %1) + + + Enter a VERGE address(e.g. %1) یک آدرس بیت‌کوین وارد کنید (مثلاً %1) diff --git a/src/qt/locale/verge_fi.ts b/src/qt/locale/verge_fi.ts index abb21b07e..e0af78715 100644 --- a/src/qt/locale/verge_fi.ts +++ b/src/qt/locale/verge_fi.ts @@ -1400,7 +1400,11 @@ Määrä - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Syötä VERGE-osoite (esim. %1) + + + Enter a VERGE address(e.g. %1) Syötä VERGE-osoite (esim. %1) diff --git a/src/qt/locale/verge_fr.ts b/src/qt/locale/verge_fr.ts index dce7aadb3..4f1be9381 100644 --- a/src/qt/locale/verge_fr.ts +++ b/src/qt/locale/verge_fr.ts @@ -1444,7 +1444,11 @@ Montant - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Saisir une adresse VERGE (p. ex. %1) + + + Enter a VERGE address(e.g. %1) Saisir une adresse VERGE (p. ex. %1) diff --git a/src/qt/locale/verge_fr_FR.ts b/src/qt/locale/verge_fr_FR.ts index 967b78c1b..6327184de 100644 --- a/src/qt/locale/verge_fr_FR.ts +++ b/src/qt/locale/verge_fr_FR.ts @@ -1060,7 +1060,11 @@ Montant - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Entrer une adresse VERGE (e.g. %1) + + + Enter a VERGE address(e.g. %1) Entrer une adresse VERGE (e.g. %1) diff --git a/src/qt/locale/verge_he.ts b/src/qt/locale/verge_he.ts index e11f20fd0..355e7a649 100644 --- a/src/qt/locale/verge_he.ts +++ b/src/qt/locale/verge_he.ts @@ -1392,7 +1392,11 @@ כמות - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + נא להזין כתובת ביטקוין (למשל: %1) + + + Enter a VERGE address(e.g. %1) נא להזין כתובת ביטקוין (למשל: %1) diff --git a/src/qt/locale/verge_hu.ts b/src/qt/locale/verge_hu.ts index 16a412020..f06c05445 100644 --- a/src/qt/locale/verge_hu.ts +++ b/src/qt/locale/verge_hu.ts @@ -1393,7 +1393,11 @@ Kérem a kulcsmondatban használjon <b> tíz vagy több véletlenszerű ka Összeg - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Ad meg egy VERGE címet (pl: %1) + + + Enter a VERGE address(e.g. %1) Ad meg egy VERGE címet (pl: %1) diff --git a/src/qt/locale/verge_id_ID.ts b/src/qt/locale/verge_id_ID.ts index f26a5f0dd..72e7ad646 100644 --- a/src/qt/locale/verge_id_ID.ts +++ b/src/qt/locale/verge_id_ID.ts @@ -1144,7 +1144,11 @@ Nilai - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Masukkan alamat VERGE (contoh %1) + + + Enter a VERGE address(e.g. %1) Masukkan alamat VERGE (contoh %1) diff --git a/src/qt/locale/verge_it.ts b/src/qt/locale/verge_it.ts index f8445ea0a..bd9378a6d 100644 --- a/src/qt/locale/verge_it.ts +++ b/src/qt/locale/verge_it.ts @@ -1421,7 +1421,11 @@ Per specificare più URL separarli con una barra verticale "|". Importo - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Inserisci un indirizzo VERGE (ad es. %1) + + + Enter a VERGE address(e.g. %1) Inserisci un indirizzo VERGE (ad es. %1) diff --git a/src/qt/locale/verge_ja.ts b/src/qt/locale/verge_ja.ts index 5938d2e1b..ca21120c9 100644 --- a/src/qt/locale/verge_ja.ts +++ b/src/qt/locale/verge_ja.ts @@ -1440,7 +1440,11 @@ 総額 - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + VERGEアドレスを入力してください (例 %1) + + + Enter a VERGE address(e.g. %1) VERGEアドレスを入力してください (例 %1) diff --git a/src/qt/locale/verge_ko_KR.ts b/src/qt/locale/verge_ko_KR.ts index e29f6f09a..5572e9dd4 100644 --- a/src/qt/locale/verge_ko_KR.ts +++ b/src/qt/locale/verge_ko_KR.ts @@ -1444,7 +1444,11 @@ 거래액 - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + 비트코인 주소를 입력하기 (예. %1) + + + Enter a VERGE address(e.g. %1) 비트코인 주소를 입력하기 (예. %1) diff --git a/src/qt/locale/verge_nb.ts b/src/qt/locale/verge_nb.ts index 2e4fd4ee5..7c578265e 100644 --- a/src/qt/locale/verge_nb.ts +++ b/src/qt/locale/verge_nb.ts @@ -1424,7 +1424,11 @@ Beløp - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Oppgi en VERGE-adresse (f.eks. %1) + + + Enter a VERGE address(e.g. %1) Oppgi en VERGE-adresse (f.eks. %1) diff --git a/src/qt/locale/verge_ne.ts b/src/qt/locale/verge_ne.ts index 30ba84fb5..99cca5997 100644 --- a/src/qt/locale/verge_ne.ts +++ b/src/qt/locale/verge_ne.ts @@ -308,7 +308,11 @@ रकम - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + कृपया बिटकोइन ठेगाना प्रवेश गर्नुहोस् (उदाहरण %1) + + + Enter a VERGE address(e.g. %1) कृपया बिटकोइन ठेगाना प्रवेश गर्नुहोस् (उदाहरण %1) diff --git a/src/qt/locale/verge_nl.ts b/src/qt/locale/verge_nl.ts index 1fd8d1f33..c96aa21fc 100644 --- a/src/qt/locale/verge_nl.ts +++ b/src/qt/locale/verge_nl.ts @@ -1440,7 +1440,11 @@ Bedrag - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Voer een VERGEadres in (bijv. %1) + + + Enter a VERGE address(e.g. %1) Voer een VERGEadres in (bijv. %1) diff --git a/src/qt/locale/verge_pl.ts b/src/qt/locale/verge_pl.ts index 2b473a971..6ef457fca 100644 --- a/src/qt/locale/verge_pl.ts +++ b/src/qt/locale/verge_pl.ts @@ -1416,7 +1416,11 @@ Kwota - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Wprowadź adres vergeowy (np. %1) + + + Enter a VERGE address(e.g. %1) Wprowadź adres vergeowy (np. %1) diff --git a/src/qt/locale/verge_pt_BR.ts b/src/qt/locale/verge_pt_BR.ts index 489059cda..7afec6b4d 100644 --- a/src/qt/locale/verge_pt_BR.ts +++ b/src/qt/locale/verge_pt_BR.ts @@ -1429,7 +1429,11 @@ Esta sincronização inicial é muito exigente e pode expor problemas de hardwar Quantidade - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Informe um endereço VERGE (ex: %1) + + + Enter a VERGE address(e.g. %1) Informe um endereço VERGE (ex: %1) diff --git a/src/qt/locale/verge_pt_PT.ts b/src/qt/locale/verge_pt_PT.ts index c33379451..66b42d9ec 100644 --- a/src/qt/locale/verge_pt_PT.ts +++ b/src/qt/locale/verge_pt_PT.ts @@ -1401,7 +1401,11 @@ Quantia - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Entre um endereço VERGE (ex. %1) + + + Enter a VERGE address(e.g. %1) Entre um endereço VERGE (ex. %1) diff --git a/src/qt/locale/verge_ro_RO.ts b/src/qt/locale/verge_ro_RO.ts index 9b7b71a70..9f4121cab 100644 --- a/src/qt/locale/verge_ro_RO.ts +++ b/src/qt/locale/verge_ro_RO.ts @@ -1412,7 +1412,11 @@ Cantitate - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Introduceţi o adresă VERGE (de exemplu %1) + + + Enter a VERGE address(e.g. %1) Introduceţi o adresă VERGE (de exemplu %1) diff --git a/src/qt/locale/verge_ru.ts b/src/qt/locale/verge_ru.ts index b712de01f..d3e372482 100644 --- a/src/qt/locale/verge_ru.ts +++ b/src/qt/locale/verge_ru.ts @@ -1440,7 +1440,11 @@ Сумма - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Введите адрес VERGE (например, %1) + + + Enter a VERGE address(e.g. %1) Введите адрес VERGE (например, %1) diff --git a/src/qt/locale/verge_ru_RU.ts b/src/qt/locale/verge_ru_RU.ts index 1bb445ba2..f21afba18 100644 --- a/src/qt/locale/verge_ru_RU.ts +++ b/src/qt/locale/verge_ru_RU.ts @@ -630,7 +630,11 @@ QObject - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Введите биткоин-адрес (напр. %1) + + + Enter a VERGE address(e.g. %1) Введите биткоин-адрес (напр. %1) diff --git a/src/qt/locale/verge_sk.ts b/src/qt/locale/verge_sk.ts index 302e0cf55..c7c2baefa 100644 --- a/src/qt/locale/verge_sk.ts +++ b/src/qt/locale/verge_sk.ts @@ -1444,7 +1444,11 @@ Suma - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Zadajte VERGE adresu (napr. %1) + + + Enter a VERGE address(e.g. %1) Zadajte VERGE adresu (napr. %1) diff --git a/src/qt/locale/verge_sl_SI.ts b/src/qt/locale/verge_sl_SI.ts index 439b36f73..0b6d2b619 100644 --- a/src/qt/locale/verge_sl_SI.ts +++ b/src/qt/locale/verge_sl_SI.ts @@ -912,7 +912,11 @@ Znesek - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Vnesite naslov VERGE (npr. %1): + + + Enter a VERGE address(e.g. %1) Vnesite naslov VERGE (npr. %1): diff --git a/src/qt/locale/verge_sv.ts b/src/qt/locale/verge_sv.ts index d74bc24ed..8961f9004 100644 --- a/src/qt/locale/verge_sv.ts +++ b/src/qt/locale/verge_sv.ts @@ -1409,7 +1409,11 @@ Var vänlig och försök igen. Mängd - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Ange en verge-adress (t.ex. %1) + + + Enter a VERGE address(e.g. %1) Ange en verge-adress (t.ex. %1) diff --git a/src/qt/locale/verge_tr.ts b/src/qt/locale/verge_tr.ts index 3ac9e097f..d7d85d303 100644 --- a/src/qt/locale/verge_tr.ts +++ b/src/qt/locale/verge_tr.ts @@ -1428,7 +1428,11 @@ Tutar - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Bir VERGE adresi giriniz (mesela %1) + + + Enter a VERGE address(e.g. %1) Bir VERGE adresi giriniz (mesela %1) diff --git a/src/qt/locale/verge_uk.ts b/src/qt/locale/verge_uk.ts index 8f0cc19b1..563de5f9a 100644 --- a/src/qt/locale/verge_uk.ts +++ b/src/qt/locale/verge_uk.ts @@ -1380,7 +1380,11 @@ Кількість - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Введіть адресу VERGE (наприклад %1) + + + Enter a VERGE address(e.g. %1) Введіть адресу VERGE (наприклад %1) diff --git a/src/qt/locale/verge_uz@Cyrl.ts b/src/qt/locale/verge_uz@Cyrl.ts index ba32fedaf..518f58b05 100644 --- a/src/qt/locale/verge_uz@Cyrl.ts +++ b/src/qt/locale/verge_uz@Cyrl.ts @@ -678,7 +678,11 @@ Миқдори - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + VERGE манзилини киритинг (масалан. %1) + + + Enter a VERGE address(e.g. %1) VERGE манзилини киритинг (масалан. %1) diff --git a/src/qt/locale/verge_vi.ts b/src/qt/locale/verge_vi.ts index 04f907586..f746d9da9 100644 --- a/src/qt/locale/verge_vi.ts +++ b/src/qt/locale/verge_vi.ts @@ -1412,7 +1412,11 @@ Số lượng - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + Nhập một VERGE address (e.g. %1) + + + Enter a VERGE address(e.g. %1) Nhập một VERGE address (e.g. %1) diff --git a/src/qt/locale/verge_zh_CN.ts b/src/qt/locale/verge_zh_CN.ts index 8433c225c..aeb3fb850 100644 --- a/src/qt/locale/verge_zh_CN.ts +++ b/src/qt/locale/verge_zh_CN.ts @@ -1393,7 +1393,11 @@ 金额 - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + 请输入一个比特币地址 (例如 %1) + + + Enter a VERGE address(e.g. %1) 请输入一个比特币地址 (例如 %1) diff --git a/src/qt/locale/verge_zh_HK.ts b/src/qt/locale/verge_zh_HK.ts index 7bcde16e4..53a50210f 100644 --- a/src/qt/locale/verge_zh_HK.ts +++ b/src/qt/locale/verge_zh_HK.ts @@ -468,7 +468,11 @@ QObject - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + 輸入一個 VERGE 位址 (例如 %1) + + + Enter a VERGE address(e.g. %1) 輸入一個 VERGE 位址 (例如 %1) diff --git a/src/qt/locale/verge_zh_TW.ts b/src/qt/locale/verge_zh_TW.ts index 49f7e8b19..07112e8d3 100644 --- a/src/qt/locale/verge_zh_TW.ts +++ b/src/qt/locale/verge_zh_TW.ts @@ -1444,7 +1444,11 @@ 金額 - Enter a VERGE address (e.g. %1) + Enter a VERGE address or Web3 Domain(e.g. %1 or sandy.nft) + 輸入 VERGE 位址 (比如說 %1) + + + Enter a VERGE address(e.g. %1) 輸入 VERGE 位址 (比如說 %1) diff --git a/src/qt/sendcoinsentry.cpp b/src/qt/sendcoinsentry.cpp index 20a9a68c3..ca1392030 100644 --- a/src/qt/sendcoinsentry.cpp +++ b/src/qt/sendcoinsentry.cpp @@ -140,7 +140,10 @@ bool SendCoinsEntry::validate(interfaces::Node& node) if (recipient.paymentRequest.IsInitialized()) return retval; - if (!model->validateAddress(ui->payTo->text())) + + QString payAddress = GUIUtil::resolveUnsDomain(ui->payTo->text()); + + if (!model->validateAddress(payAddress)) { ui->payTo->setValid(false); retval = false; @@ -173,8 +176,9 @@ SendCoinsRecipient SendCoinsEntry::getValue() if (recipient.paymentRequest.IsInitialized()) return recipient; + QString payAddress = GUIUtil::resolveUnsDomain(ui->payTo->text()); // Normal payment - recipient.address = ui->payTo->text(); + recipient.address = payAddress; recipient.label = ui->addAsLabel->text(); recipient.amount = ui->payAmount->value(); recipient.message = ui->messageTextLabel->text(); diff --git a/src/qt/verge.cpp b/src/qt/verge.cpp index 4e6e9e3d9..751a0c036 100644 --- a/src/qt/verge.cpp +++ b/src/qt/verge.cpp @@ -561,6 +561,7 @@ static void SetupUIArgs() gArgs.AddArg("-rootcertificates=", "Set SSL root certificates for payment request (default: -system-)", false, OptionsCategory::GUI); gArgs.AddArg("-splash", strprintf("Show splash screen on startup (default: %u)", DEFAULT_SPLASHSCREEN), false, OptionsCategory::GUI); gArgs.AddArg("-uiplatform", strprintf("Select platform to customize UI for (one of windows, macosx, other; default: %s)", VERGEGUI::DEFAULT_UIPLATFORM), true, OptionsCategory::GUI); + gArgs.AddArg("-with-unstoppable", "Enable Unstoppable Domain in VERGE to send using Web3 Domain", false, OptionsCategory::OPTIONS); } #ifndef VERGE_QT_TEST diff --git a/src/qt/vergeaddressvalidator.cpp b/src/qt/vergeaddressvalidator.cpp index 585d3f3dd..5235982c3 100644 --- a/src/qt/vergeaddressvalidator.cpp +++ b/src/qt/vergeaddressvalidator.cpp @@ -6,6 +6,7 @@ #include #include +#include /* Base58 characters are: "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" @@ -68,7 +69,7 @@ QValidator::State VERGEAddressEntryValidator::validate(QString &input, int &pos) if (((ch >= '0' && ch<='9') || (ch >= 'a' && ch<='z') || (ch >= 'A' && ch<='Z')) && - ch != 'I' && ch != 'O') // Characters invalid in both Base58 and Bech32 + ch != 'I' && ch != 'O' || ch == '.' || ch == '-') // Characters invalid in both Base58 and Bech32 { // Alphanumeric and not a 'forbidden' character } @@ -89,8 +90,11 @@ VERGEAddressCheckValidator::VERGEAddressCheckValidator(QObject *parent) : QValidator::State VERGEAddressCheckValidator::validate(QString &input, int &pos) const { Q_UNUSED(pos); + + QString address = GUIUtil::resolveUnsDomain(input); + // Validate the passed VERGE address - if (IsValidDestinationString(input.toStdString())) { + if (IsValidDestinationString(address.toStdString())) { return QValidator::Acceptable; }