aboutsummaryrefslogtreecommitdiff
path: root/src/wallet
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2016-10-23 19:04:01 +0200
committerRiccardo Spagni <ric@spagni.net>2016-10-23 19:04:01 +0200
commit92095104fe2cea06a22faa6712a9135f40829686 (patch)
treefa739a798fccf315e811a4aea42c1efc3293d284 /src/wallet
parentMerge pull request #1229 (diff)
parentwallet_api: add address validation functions (diff)
downloadmonero-92095104fe2cea06a22faa6712a9135f40829686.tar.xz
Merge pull request #1230
06b642d wallet_api: add address validation functions (moneromooo-monero)
Diffstat (limited to 'src/wallet')
-rw-r--r--src/wallet/api/wallet.cpp20
-rw-r--r--src/wallet/wallet2_api.h2
2 files changed, 22 insertions, 0 deletions
diff --git a/src/wallet/api/wallet.cpp b/src/wallet/api/wallet.cpp
index 747263b54..9a9638b40 100644
--- a/src/wallet/api/wallet.cpp
+++ b/src/wallet/api/wallet.cpp
@@ -167,6 +167,26 @@ bool Wallet::paymentIdValid(const string &paiment_id)
return false;
}
+bool Wallet::addressValid(const std::string &str, bool testnet)
+{
+ bool has_payment_id;
+ cryptonote::account_public_address address;
+ crypto::hash8 pid;
+ return get_account_integrated_address_from_str(address, has_payment_id, pid, testnet, str);
+}
+
+std::string Wallet::paymentIdFromAddress(const std::string &str, bool testnet)
+{
+ bool has_payment_id;
+ cryptonote::account_public_address address;
+ crypto::hash8 pid;
+ if (!get_account_integrated_address_from_str(address, has_payment_id, pid, testnet, str))
+ return "";
+ if (!has_payment_id)
+ return "";
+ return epee::string_tools::pod_to_hex(pid);
+}
+
uint64_t Wallet::maximumAllowedAmount()
{
return std::numeric_limits<uint64_t>::max();
diff --git a/src/wallet/wallet2_api.h b/src/wallet/wallet2_api.h
index 0f622c26c..8427ba250 100644
--- a/src/wallet/wallet2_api.h
+++ b/src/wallet/wallet2_api.h
@@ -280,6 +280,8 @@ struct Wallet
static uint64_t amountFromDouble(double amount);
static std::string genPaymentId();
static bool paymentIdValid(const std::string &paiment_id);
+ static bool addressValid(const std::string &str, bool testnet);
+ static std::string paymentIdFromAddress(const std::string &str, bool testnet);
static uint64_t maximumAllowedAmount();
/**