diff options
author | Russell Yanofsky <russ@yanofsky.org> | 2017-04-18 13:01:23 -0400 |
---|---|---|
committer | John Newbery <john@johnnewbery.com> | 2018-04-04 16:52:40 -0400 |
commit | 3ec2ebcd9b4beb4277f1f4791c6acbc538784f70 (patch) | |
tree | c86c3c7b5d346e6f2460426de31f753b949dd3e3 /src/interface/wallet.h | |
parent | 827de038ab6fa58aa3d46151eb2f8dc6add7743e (diff) | |
download | bitcoin-3ec2ebcd9b4beb4277f1f4791c6acbc538784f70.tar.xz |
Remove direct bitcoin calls from qt/addresstablemodel.cpp
Diffstat (limited to 'src/interface/wallet.h')
-rw-r--r-- | src/interface/wallet.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/interface/wallet.h b/src/interface/wallet.h index 6cc196fd94..4510276446 100644 --- a/src/interface/wallet.h +++ b/src/interface/wallet.h @@ -6,6 +6,7 @@ #define BITCOIN_INTERFACE_WALLET_H #include <amount.h> // For CAmount +#include <pubkey.h> // For CTxDestination (CKeyID and CScriptID) #include <script/ismine.h> // For isminefilter, isminetype #include <script/standard.h> // For CTxDestination #include <support/allocators/secure.h> // For SecureString @@ -30,6 +31,7 @@ namespace interface { class Handler; class PendingWalletTx; +struct WalletAddress; struct WalletBalances; struct WalletTxOut; @@ -67,6 +69,9 @@ public: //! Get wallet name. virtual std::string getWalletName() = 0; + // Get key from pool. + virtual bool getKeyFromPool(bool internal, CPubKey& pub_key) = 0; + //! Get public key. virtual bool getPubKey(const CKeyID& address, CPubKey& pub_key) = 0; @@ -82,11 +87,21 @@ public: //! Add or update address. virtual bool setAddressBook(const CTxDestination& dest, const std::string& name, const std::string& purpose) = 0; + // Remove address. + virtual bool delAddressBook(const CTxDestination& dest) = 0; + //! Look up address in wallet, return whether exists. virtual bool getAddress(const CTxDestination& dest, std::string* name = nullptr, isminetype* is_mine = nullptr) = 0; + //! Get wallet address list. + virtual std::vector<WalletAddress> getAddresses() = 0; + + //! Add scripts to key store so old so software versions opening the wallet + //! database can detect payments to newer address types. + virtual void learnRelatedScripts(const CPubKey& key, OutputType type) = 0; + //! Add dest data. virtual bool addDestData(const CTxDestination& dest, const std::string& key, const std::string& value) = 0; @@ -216,6 +231,20 @@ public: std::string& reject_reason) = 0; }; +//! Information about one wallet address. +struct WalletAddress +{ + CTxDestination dest; + isminetype is_mine; + std::string name; + std::string purpose; + + WalletAddress(CTxDestination dest, isminetype is_mine, std::string name, std::string purpose) + : dest(std::move(dest)), is_mine(is_mine), name(std::move(name)), purpose(std::move(purpose)) + { + } +}; + //! Collection of wallet balances. struct WalletBalances { |