diff options
author | Riccardo Spagni <ric@spagni.net> | 2016-10-23 19:04:01 +0200 |
---|---|---|
committer | Riccardo Spagni <ric@spagni.net> | 2016-10-23 19:04:01 +0200 |
commit | 92095104fe2cea06a22faa6712a9135f40829686 (patch) | |
tree | fa739a798fccf315e811a4aea42c1efc3293d284 /src/wallet | |
parent | Merge pull request #1229 (diff) | |
parent | wallet_api: add address validation functions (diff) | |
download | monero-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.cpp | 20 | ||||
-rw-r--r-- | src/wallet/wallet2_api.h | 2 |
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(); /** |