63 operator bool()
const {
return set; }
89 virtual int status()
const = 0;
92 virtual bool commit(
const std::string &filename =
"",
bool overwrite =
false) = 0;
93 virtual uint64_t
amount()
const = 0;
94 virtual uint64_t
dust()
const = 0;
95 virtual uint64_t
fee()
const = 0;
96 virtual std::vector<std::string>
txid()
const = 0;
101 virtual uint64_t
txCount()
const = 0;
103 virtual std::vector<std::set<uint32_t>>
subaddrIndices()
const = 0;
127 virtual std::vector<std::string>
signersKeys()
const = 0;
142 virtual int status()
const = 0;
144 virtual std::vector<uint64_t>
amount()
const = 0;
145 virtual std::vector<uint64_t>
fee()
const = 0;
146 virtual std::vector<uint64_t>
mixin()
const = 0;
149 virtual std::vector<std::string>
paymentId()
const = 0;
156 virtual uint64_t
txCount()
const = 0;
162 virtual bool sign(
const std::string &signedFileName) = 0;
185 virtual uint64_t
amount()
const = 0;
186 virtual uint64_t
fee()
const = 0;
190 virtual std::string
label()
const = 0;
194 virtual std::string
hash()
const = 0;
195 virtual std::time_t
timestamp()
const = 0;
196 virtual std::string
paymentId()
const = 0;
198 virtual const std::vector<Transfer> &
transfers()
const = 0;
206 virtual int count()
const = 0;
209 virtual std::vector<TransactionInfo*>
getAll()
const = 0;
218 AddressBookRow(std::size_t _rowId,
const std::string &_address,
const std::string &_paymentId,
const std::string &_description):
250 virtual std::vector<AddressBookRow*>
getAll()
const = 0;
251 virtual bool addRow(
const std::string &dst_addr ,
const std::string &payment_id,
const std::string &description) = 0;
252 virtual bool deleteRow(std::size_t rowId) = 0;
261 SubaddressRow(std::size_t _rowId,
const std::string &_address,
const std::string &_label):
280 virtual std::vector<SubaddressRow*>
getAll()
const = 0;
281 virtual void addRow(uint32_t accountIndex,
const std::string &label) = 0;
282 virtual void setLabel(uint32_t accountIndex, uint32_t addressIndex,
const std::string &label) = 0;
283 virtual void refresh(uint32_t accountIndex) = 0;
288 SubaddressAccountRow(std::size_t _rowId,
const std::string &_address,
const std::string &_label,
const std::string &_balance,
const std::string &_unlockedBalance):
313 virtual std::vector<SubaddressAccountRow*>
getAll()
const = 0;
314 virtual void addRow(
const std::string &label) = 0;
315 virtual void setLabel(uint32_t accountIndex,
const std::string &label) = 0;
350 virtual void moneySpent(
const std::string &txId, uint64_t amount) = 0;
357 virtual void moneyReceived(
const std::string &txId, uint64_t amount) = 0;
397 throw std::runtime_error(
"Not supported");
404 if (!on_device)
throw std::runtime_error(
"Not supported");
445 virtual std::string
seed()
const = 0;
449 virtual int status()
const = 0;
454 virtual bool setPassword(
const std::string &password) = 0;
455 virtual bool setDevicePin(
const std::string &pin) { (void)pin;
return false; };
457 virtual std::string
address(uint32_t accountIndex = 0, uint32_t addressIndex = 0)
const = 0;
459 virtual std::string
path()
const = 0;
515 virtual bool store(
const std::string &
path) = 0;
520 virtual std::string
filename()
const = 0;
538 virtual bool init(
const std::string &daemon_address, uint64_t upper_transaction_size_limit = 0,
const std::string &daemon_username =
"",
const std::string &daemon_password =
"",
bool use_ssl =
false,
bool lightWallet =
false) = 0;
547 virtual bool createWatchOnly(
const std::string &
path,
const std::string &password,
const std::string &language)
const = 0;
597 virtual uint64_t
balance(uint32_t accountIndex = 0)
const = 0;
654 virtual bool synchronized()
const = 0;
666 static bool keyValid(
const std::string &secret_key_string,
const std::string &address_string,
bool isViewKey,
NetworkType nettype, std::string &
error);
667 static bool keyValid(
const std::string &secret_key_string,
const std::string &address_string,
bool isViewKey,
bool testnet, std::string &
error)
678 static void init(
const char *argv0,
const char *default_log_base_name) {
init(argv0, default_log_base_name,
"",
true); }
679 static void init(
const char *argv0,
const char *default_log_base_name,
const std::string &log_path,
bool console);
680 static void debug(
const std::string &category,
const std::string &str);
681 static void info(
const std::string &category,
const std::string &str);
682 static void warning(
const std::string &category,
const std::string &str);
683 static void error(
const std::string &category,
const std::string &str);
747 virtual void addSubaddress(uint32_t accountIndex,
const std::string& label) = 0;
753 virtual std::string
getSubaddressLabel(uint32_t accountIndex, uint32_t addressIndex)
const = 0;
760 virtual void setSubaddressLabel(uint32_t accountIndex, uint32_t addressIndex,
const std::string &label) = 0;
790 virtual bool finalizeMultisig(
const std::vector<std::string>& extraMultisigInfo) = 0;
831 uint32_t subaddr_account = 0,
832 std::set<uint32_t> subaddr_indices = {}) = 0;
847 virtual UnsignedTransaction *
loadUnsignedTx(
const std::string &unsigned_filename) = 0;
877 virtual TransactionHistory *
history() = 0;
899 virtual bool setUserNote(
const std::string &txid,
const std::string ¬e) = 0;
905 virtual std::string
getUserNote(
const std::string &txid)
const = 0;
906 virtual std::string
getTxKey(
const std::string &txid)
const = 0;
907 virtual bool checkTxKey(
const std::string &txid, std::string tx_key,
const std::string &
address, uint64_t &received,
bool &in_pool, uint64_t &confirmations) = 0;
908 virtual std::string
getTxProof(
const std::string &txid,
const std::string &
address,
const std::string &message)
const = 0;
909 virtual bool checkTxProof(
const std::string &txid,
const std::string &
address,
const std::string &message,
const std::string &
signature,
bool &good, uint64_t &received,
bool &in_pool, uint64_t &confirmations) = 0;
910 virtual std::string
getSpendProof(
const std::string &txid,
const std::string &message)
const = 0;
911 virtual bool checkSpendProof(
const std::string &txid,
const std::string &message,
const std::string &
signature,
bool &good)
const = 0;
916 virtual std::string
getReserveProof(
bool all, uint32_t account_index, uint64_t amount,
const std::string &message)
const = 0;
917 virtual bool checkReserveProof(
const std::string &
address,
const std::string &message,
const std::string &
signature,
bool &good, uint64_t &total, uint64_t &spent)
const = 0;
924 virtual std::string
signMessage(
const std::string &message) = 0;
949 virtual bool parse_uri(
const std::string &uri, std::string &
address, std::string &payment_id, uint64_t &amount, std::string &tx_description, std::string &recipient_name, std::vector<std::string> &unknown_parameters, std::string &
error) = 0;
963 virtual bool blackballOutput(
const std::string &amount,
const std::string &offset) = 0;
966 virtual bool unblackballOutput(
const std::string &amount,
const std::string &offset) = 0;
969 virtual bool getRing(
const std::string &
key_image, std::vector<uint64_t> &ring)
const = 0;
972 virtual bool getRings(
const std::string &txid, std::vector<std::pair<std::string, std::vector<uint64_t>>> &rings)
const = 0;
975 virtual bool setRing(
const std::string &
key_image,
const std::vector<uint64_t> &ring,
bool relative) = 0;
990 virtual bool lightWalletImportWalletRequest(std::string &payment_id, uint64_t &fee,
bool &new_request,
bool &request_fulfilled, std::string &payment_address, std::string &
status) = 0;
1023 virtual Wallet *
createWallet(
const std::string &path,
const std::string &password,
const std::string &language,
NetworkType nettype, uint64_t kdf_rounds = 1) = 0;
1024 Wallet *
createWallet(
const std::string &path,
const std::string &password,
const std::string &language,
bool testnet =
false)
1039 Wallet *
openWallet(
const std::string &path,
const std::string &password,
bool testnet =
false)
1054 virtual Wallet *
recoveryWallet(
const std::string &path,
const std::string &password,
const std::string &mnemonic,
1055 NetworkType nettype =
MAINNET, uint64_t restoreHeight = 0, uint64_t kdf_rounds = 1) = 0;
1057 bool testnet =
false, uint64_t restoreHeight = 0)
1072 Wallet *
recoveryWallet(
const std::string &path,
const std::string &mnemonic,
bool testnet =
false, uint64_t restoreHeight = 0)
1091 const std::string &password,
1092 const std::string &language,
1094 uint64_t restoreHeight,
1095 const std::string &addressString,
1096 const std::string &viewKeyString,
1097 const std::string &spendKeyString =
"",
1098 uint64_t kdf_rounds = 1) = 0;
1100 const std::string &password,
1101 const std::string &language,
1103 uint64_t restoreHeight,
1104 const std::string &addressString,
1105 const std::string &viewKeyString,
1106 const std::string &spendKeyString =
"")
1124 const std::string &language,
1126 uint64_t restoreHeight,
1127 const std::string &addressString,
1128 const std::string &viewKeyString,
1129 const std::string &spendKeyString =
"") = 0;
1131 const std::string &language,
1133 uint64_t restoreHeight,
1134 const std::string &addressString,
1135 const std::string &viewKeyString,
1136 const std::string &spendKeyString =
"")
1154 const std::string &password,
1156 const std::string &deviceName,
1157 uint64_t restoreHeight = 0,
1158 const std::string &subaddressLookahead =
"",
1159 uint64_t kdf_rounds = 1,
1178 virtual bool walletExists(
const std::string &path) = 0;
1192 virtual bool verifyWalletPassword(
const std::string &keys_file_name,
const std::string &password,
bool no_spend_key, uint64_t kdf_rounds = 1)
const = 0;
1204 virtual bool queryWalletDevice(
Wallet::Device& device_type,
const std::string &keys_file_name,
const std::string &password, uint64_t kdf_rounds = 1)
const = 0;
1211 virtual std::vector<std::string>
findWallets(
const std::string &path) = 0;
1241 virtual bool startMining(
const std::string &address, uint32_t threads = 1,
bool background_mining =
false,
bool ignore_battery =
true) = 0;
1247 virtual std::string
resolveOpenAlias(
const std::string &address,
bool &dnssec_valid)
const = 0;
1250 static std::tuple<bool, std::string, std::string, std::string, std::string>
checkUpdates(
const std::string &software, std::string subdir);
virtual std::string filename() const =0
filename - returns wallet filename
virtual bool checkSpendProof(const std::string &txid, const std::string &message, const std::string &signature, bool &good) const =0
virtual void setRecoveringFromDevice(bool recoveringFromDevice)=0
setRecoveringFromDevice - set state to recovering from device
virtual bool commit(const std::string &filename="", bool overwrite=false)=0
virtual bool queryWalletDevice(Wallet::Device &device_type, const std::string &keys_file_name, const std::string &password, uint64_t kdf_rounds=1) const =0
determine the key storage for the specified wallet file
static void info(const std::string &category, const std::string &str)
Definition: wallet.cpp:406
virtual bool useForkRules(uint8_t version, int64_t early_blocks) const =0
check if hard fork rules should be used
virtual ~Wallet()=0
Definition: wallet.cpp:293
std::string getLabel() const
Definition: wallet2_api.h:273
virtual void setRecoveringFromSeed(bool recoveringFromSeed)=0
setRecoveringFromSeed - set state recover form seed
virtual void rescanBlockchainAsync()=0
rescanBlockchainAsync - rescans wallet asynchronously, starting from genesys
virtual bool submitTransaction(const std::string &fileName)=0
submitTransaction - submits transaction in signed tx file
std::size_t getRowId() const
Definition: wallet2_api.h:274
virtual void addSubaddressAccount(const std::string &label)=0
addSubaddressAccount - appends a new subaddress account at the end of the last major index of existin...
virtual void newBlock(uint64_t height)=0
newBlock - called when new block received
std::size_t getRowId() const
Definition: wallet2_api.h:307
virtual std::string signMessage(const std::string &message)=0
virtual std::string address(uint32_t accountIndex=0, uint32_t addressIndex=0) const =0
virtual void setSubaddressLabel(uint32_t accountIndex, uint32_t addressIndex, const std::string &label)=0
setSubaddressLabel - sets the label of the specified subaddress
Definition: wallet2_api.h:82
virtual void keyReuseMitigation2(bool mitigation)=0
secondary key reuse mitigation
static uint64_t maximumAllowedAmount()
Definition: wallet.cpp:387
virtual std::string errorString() const =0
const uint32_t T[512]
Definition: groestl_tables.h:37
virtual bool connected(uint32_t *version=NULL)=0
returns whether the daemon can be reached, and its version number
std::string extra
Definition: wallet2_api.h:271
bool set
Definition: wallet2_api.h:66
bool isAddressLocal(const std::string &address)
Definition: utils.cpp:42
Definition: wallet2_api.h:1261
virtual void setLabel(uint32_t accountIndex, const std::string &label)=0
Definition: wallet2_api.h:77
virtual uint64_t amount() const =0
bool isReady
Definition: wallet2_api.h:323
virtual void setLabel(uint32_t accountIndex, uint32_t addressIndex, const std::string &label)=0
virtual void hardForkInfo(uint8_t &version, uint64_t &earliest_height) const =0
returns current hard fork info
optional(const T &t)
Definition: wallet2_api.h:60
virtual void onDeviceButtonRequest(uint64_t code)
called by device if the action is required
Definition: wallet2_api.h:386
virtual uint64_t coldKeyImageSync(uint64_t &spent, uint64_t &unspent)=0
cold-device protocol key image sync
std::string m_label
Definition: wallet2_api.h:269
virtual bool isFailed() const =0
virtual uint64_t approximateBlockChainHeight() const =0
approximateBlockChainHeight - returns approximate blockchain height calculated from date/time ...
uint32_t total
Definition: wallet2_api.h:325
virtual void moneySpent(const std::string &txId, uint64_t amount)=0
moneySpent - called when money spent
Status
Definition: wallet2_api.h:135
virtual bool isPending() const =0
virtual uint64_t daemonBlockChainHeight() const =0
daemonBlockChainHeight - returns daemon blockchain height
Definition: wallet2_api.h:75
virtual std::string secretSpendKey() const =0
secretSpendKey - returns secret spend key
virtual bool indeterminate() const
Definition: wallet2_api.h:334
static void setLogCategories(const std::string &categories)
Definition: wallet_manager.cpp:392
virtual int status() const =0
std::string m_address
Definition: wallet2_api.h:226
virtual PendingTransaction * createSweepUnmixableTransaction()=0
createSweepUnmixableTransaction creates transaction with unmixable outputs.
virtual ~UnsignedTransaction()=0
Definition: unsigned_transaction.cpp:48
bool stagenet() const
Definition: wallet2_api.h:463
virtual std::string seed() const =0
virtual bool verifySignedMessage(const std::string &message, const std::string &addres, const std::string &signature) const =0
verifySignedMessage - verify a signature matches a given message
virtual std::string getDefaultDataDir() const =0
LogLevel
Definition: wallet2_api.h:1257
bool mainnet() const
Definition: wallet2_api.h:461
virtual void addSubaddress(uint32_t accountIndex, const std::string &label)=0
addSubaddress - appends a new subaddress at the end of the last minor index of the specified subaddre...
virtual uint64_t estimateBlockChainHeight() const =0
estimateBlockChainHeight - returns estimate blockchain height. More accurate than approximateBlockCha...
virtual Wallet * openWallet(const std::string &path, const std::string &password, NetworkType nettype, uint64_t kdf_rounds=1, WalletListener *listener=nullptr)=0
Opens existing wallet.
Wallet * createWalletFromKeys(const std::string &path, const std::string &password, const std::string &language, bool testnet, uint64_t restoreHeight, const std::string &addressString, const std::string &viewKeyString, const std::string &spendKeyString="")
Definition: wallet2_api.h:1099
virtual void addRow(const std::string &label)=0
virtual void onDeviceButtonPressed()
called by device if the button was pressed
Definition: wallet2_api.h:391
Wallet * openWallet(const std::string &path, const std::string &password, bool testnet=false)
Definition: wallet2_api.h:1039
std::string m_address
Definition: wallet2_api.h:297
NetworkType
Definition: wallet2_api.h:45
virtual const std::vector< Transfer > & transfers() const =0
only applicable for output transactions
virtual std::string integratedAddress(const std::string &payment_id) const =0
integratedAddress - returns integrated address for current wallet address and given payment_id...
virtual SubaddressAccount * subaddressAccount()=0
Definition: wallet2_api.h:277
virtual ConnectionStatus connected() const =0
connected - checks if the wallet connected to the daemon
uint64_t height
Definition: blockchain.cpp:91
virtual bool checkTxKey(const std::string &txid, std::string tx_key, const std::string &address, uint64_t &received, bool &in_pool, uint64_t &confirmations)=0
uint64_t unlockedBalanceAll() const
Definition: wallet2_api.h:605
virtual void updated()=0
updated - generic callback, called when any event (sent/received/block reveived/etc) happened with th...
Definition: wallet2_api.h:1263
std::string getLabel() const
Definition: wallet2_api.h:304
Definition: wallet2_api.h:1265
virtual uint64_t networkDifficulty()=0
returns current network difficulty
virtual bool verifyWalletPassword(const std::string &keys_file_name, const std::string &password, bool no_spend_key, uint64_t kdf_rounds=1) const =0
verifyWalletPassword - check if the given filename is the wallet
Definition: wallet2_api.h:175
static WalletManager * getWalletManager()
Definition: wallet_manager.cpp:375
virtual bool importKeyImages(const std::string &filename)=0
importKeyImages - imports key images from file
std::string getPaymentId() const
Definition: wallet2_api.h:233
MultisigState()
Definition: wallet2_api.h:320
Definition: wallet2_api.h:76
virtual std::set< uint32_t > subaddrIndex() const =0
static bool addressValid(const std::string &str, NetworkType nettype)
Definition: wallet.cpp:335
Definition: wallet2_api.h:57
virtual bool getRings(const std::string &txid, std::vector< std::pair< std::string, std::vector< uint64_t >>> &rings) const =0
gets the rings used for a txid, if any
Definition: wallet2_api.h:329
Definition: wallet2_api.h:310
virtual bool lightWalletLogin(bool &isNewWallet) const =0
Light wallet authenticate and login.
static uint64_t amountFromString(const std::string &amount)
Definition: wallet.cpp:303
virtual uint64_t blockHeight() const =0
Priority
Definition: wallet2_api.h:80
virtual int status() const =0
Wallet * createWallet(const std::string &path, const std::string &password, const std::string &language, bool testnet=false)
Definition: wallet2_api.h:1024
virtual bool rescanBlockchain()=0
rescanBlockchain - rescans the wallet, updating transactions from daemon
virtual std::string confirmationMessage() const =0
virtual bool exportMultisigImages(std::string &images)=0
exportMultisigImages - exports transfers' key images
virtual std::vector< SubaddressAccountRow * > getAll() const =0
virtual bool isKeysFileLocked()=0
returns true if the keys file is locked
SubaddressRow(std::size_t _rowId, const std::string &_address, const std::string &_label)
Definition: wallet2_api.h:261
std::string m_description
Definition: wallet2_api.h:228
Definition: wallet2_api.h:286
virtual void unconfirmedMoneyReceived(const std::string &txId, uint64_t amount)=0
unconfirmedMoneyReceived - called when payment arrived in tx pool
virtual bool checkReserveProof(const std::string &address, const std::string &message, const std::string &signature, bool &good, uint64_t &total, uint64_t &spent) const =0
virtual void refreshed()=0
refreshed - called when wallet refreshed by background thread or explicitly refreshed by calling "ref...
virtual int count() const =0
virtual uint64_t daemonBlockChainTargetHeight() const =0
daemonBlockChainTargetHeight - returns daemon blockchain target height
virtual int errorCode() const =0
const std::string address
Definition: wallet2_api.h:178
static std::string genPaymentId()
Definition: wallet.cpp:317
virtual uint64_t unlockedBalance(uint32_t accountIndex=0) const =0
virtual std::vector< uint64_t > amount() const =0
std::string extra
Definition: wallet2_api.h:302
Definition: wallet2_api.h:136
Definition: wallet2_api.h:440
virtual void setSeedLanguage(const std::string &arg)=0
virtual bool lightWalletImportWalletRequest(std::string &payment_id, uint64_t &fee, bool &new_request, bool &request_fulfilled, std::string &payment_address, std::string &status)=0
Initiates a light wallet import wallet request.
std::size_t m_rowId
Definition: wallet2_api.h:225
virtual std::string hash() const =0
transaction_id
Definition: wallet2_api.h:1262
Definition: wallet2_api.h:435
virtual int direction() const =0
virtual Wallet * createWalletFromKeys(const std::string &path, const std::string &password, const std::string &language, NetworkType nettype, uint64_t restoreHeight, const std::string &addressString, const std::string &viewKeyString, const std::string &spendKeyString="", uint64_t kdf_rounds=1)=0
recovers existing wallet using keys. Creates a view only wallet if spend key is omitted ...
virtual bool checkTxProof(const std::string &txid, const std::string &address, const std::string &message, const std::string &signature, bool &good, uint64_t &received, bool &in_pool, uint64_t &confirmations)=0
static void error(const std::string &category, const std::string &str)
Definition: wallet.cpp:414
DeviceProgress(double progress, bool indeterminate=false)
Definition: wallet2_api.h:331
ConnectionStatus
Definition: wallet2_api.h:438
virtual void segregatePreForkOutputs(bool segregate)=0
sets whether pre-fork outs are to be segregated
T t
Definition: wallet2_api.h:65
Definition: wallet2_api.h:429
T & operator*()
Definition: wallet2_api.h:62
static bool addressValid(const std::string &str, bool testnet)
Definition: wallet2_api.h:662
ErrorCode
Definition: wallet2_api.h:243
virtual void signMultisigTx()=0
std::string m_paymentId
Definition: wallet2_api.h:227
Definition: wallet2_api.h:319
std::string getAddress() const
Definition: wallet2_api.h:272
std::size_t m_rowId
Definition: wallet2_api.h:267
virtual bool lockKeysFile()=0
locks/unlocks the keys file; returns true on success
static bool paymentIdValid(const std::string &paiment_id)
Definition: wallet.cpp:324
Definition: wallet2_api.h:245
Definition: wallet2_api.h:1259
virtual int autoRefreshInterval() const =0
autoRefreshInterval - returns automatic refresh interval in millis
optional()
Definition: wallet2_api.h:59
virtual bool init(const std::string &daemon_address, uint64_t upper_transaction_size_limit=0, const std::string &daemon_username="", const std::string &daemon_password="", bool use_ssl=false, bool lightWallet=false)=0
init - initializes wallet with daemon connection params. if daemon_address is local address...
Definition: wallet2_api.h:441
double m_progress
Definition: wallet2_api.h:337
virtual bool exportKeyImages(const std::string &filename)=0
exportKeyImages - exports key images to file
virtual ~PendingTransaction()=0
Definition: pending_transaction.cpp:49
virtual double miningHashRate()=0
returns current mining hash rate (0 if not mining)
static void debug(const std::string &category, const std::string &str)
Definition: wallet.cpp:402
virtual std::vector< uint64_t > fee() const =0
virtual std::string errorString() const =0
virtual std::string paymentId() const =0
std::string m_balance
Definition: wallet2_api.h:299
static void add(ge_p3 &p3, const ge_cached &other)
Definition: multiexp.cc:143
Definition: wallet2_api.h:46
AddressBookRow(std::size_t _rowId, const std::string &_address, const std::string &_paymentId, const std::string &_description)
Definition: wallet2_api.h:218
virtual void statusWithErrorString(int &status, std::string &errorString) const =0
returns both error and error string atomically. suggested to use in instead of status() and errorStri...
Definition: wallet2_api.h:171
virtual bool parse_uri(const std::string &uri, std::string &address, std::string &payment_id, uint64_t &amount, std::string &tx_description, std::string &recipient_name, std::vector< std::string > &unknown_parameters, std::string &error)=0
virtual TransactionInfo * transaction(int index) const =0
virtual void addRow(uint32_t accountIndex, const std::string &label)=0
Definition: wallet2_api.h:1264
Definition: wallet2_api.h:433
virtual AddressBook * addressBook()=0
Interface for wallet operations. TODO: check if /include/IWallet.h is still actual.
Definition: wallet2_api.h:424
virtual std::string publicMultisigSignerKey() const =0
publicMultisigSignerKey - returns public signer key
virtual uint64_t balance(uint32_t accountIndex=0) const =0
virtual uint64_t fee() const =0
virtual bool setDevicePassphrase(const std::string &passphrase)
Definition: wallet2_api.h:456
virtual std::string getSubaddressLabel(uint32_t accountIndex, uint32_t addressIndex) const =0
getSubaddressLabel - gets the label of the specified subaddress
virtual std::vector< std::set< uint32_t > > subaddrIndices() const =0
std::string m_address
Definition: wallet2_api.h:268
virtual bool connectToDaemon()=0
connectToDaemon - connects to the daemon. TODO: check if it can be removed
Transaction-like interface for sending money.
Definition: wallet2_api.h:72
virtual std::string path() const =0
virtual bool verifyMessageWithPublicKey(const std::string &message, const std::string &publicKey, const std::string &signature) const =0
verifyMessageWithPublicKey verifies that message was signed with the given public key ...
virtual void refresh(uint32_t accountIndex)=0
virtual bool refresh()=0
refresh - refreshes the wallet, updating transactions from daemon
virtual bool setDevicePin(const std::string &pin)
Definition: wallet2_api.h:455
Definition: wallet2_api.h:48
virtual bool walletExists(const std::string &path)=0
TODO: delme walletExists - check if the given filename is the wallet.
virtual void setAutoRefreshInterval(int millis)=0
setAutoRefreshInterval - setup interval for automatic refresh.
virtual std::vector< std::string > txid() const =0
virtual Device getDeviceType() const =0
Queries backing device for wallet keys.
virtual bool rescanSpent()=0
virtual bool hasMultisigPartialKeyImages() const =0
hasMultisigPartialKeyImages - checks if wallet needs to import multisig key images from other partici...
virtual uint64_t confirmations() const =0
static std::string paymentIdFromAddress(const std::string &str, NetworkType nettype)
Definition: wallet.cpp:377
#define false
Definition: stdbool.h:38
Definition: wallet2_api.h:85
Definition: wallet2_api.h:1258
virtual bool blackballOutputs(const std::vector< std::string > &outputs, bool add)=0
blackballs a set of outputs
Definition: address_book.cpp:41
virtual NetworkType nettype() const =0
std::string getAddress() const
Definition: wallet2_api.h:231
virtual ~Subaddress()=0
Definition: subaddress.cpp:39
static std::tuple< bool, std::string, std::string, std::string, std::string > checkUpdates(const std::string &software, std::string subdir)
checks for an update and returns version, hash and url
Definition: wallet_manager.cpp:348
virtual void onSetWallet(Wallet *wallet)
If the listener is created before the wallet this enables to set created wallet object.
Definition: wallet2_api.h:416
const T & operator*() const
Definition: wallet2_api.h:61
virtual bool trustedDaemon() const =0
virtual void pauseRefresh()=0
pauseRefresh - pause refresh thread
virtual std::string signMultisigParticipant(const std::string &message) const =0
signMultisigParticipant signs given message with the multisig public signer key
Definition: wallet2_api.h:84
Transfer(uint64_t _amount, const std::string &address)
Definition: transaction_info.cpp:41
Status
Definition: wallet2_api.h:432
Definition: wallet2_api.h:247
virtual bool finalizeMultisig(const std::vector< std::string > &extraMultisigInfo)=0
finalizeMultisig - finalizes N - 1 / N multisig wallets creation
virtual std::string getUserNote(const std::string &txid) const =0
getUserNote - return an arbitrary string note attached to a txid
virtual ~SubaddressAccount()=0
Definition: subaddress_account.cpp:39
std::string getUnlockedBalance() const
Definition: wallet2_api.h:306
std::string getAddress() const
Definition: wallet2_api.h:303
std::size_t getRowId() const
Definition: wallet2_api.h:234
virtual void onDeviceProgress(const DeviceProgress &event)
Signalizes device operation progress.
Definition: wallet2_api.h:411
virtual uint32_t defaultMixin() const =0
defaultMixin - returns number of mixins used in transactions
virtual bool watchOnly() const =0
watchOnly - checks if wallet is watch only
const uint64_t amount
Definition: wallet2_api.h:177
virtual std::string publicViewKey() const =0
publicViewKey - returns public view key
virtual MultisigState multisig() const =0
multisig - returns current state of multisig wallet creation process
uint8_t version
Definition: blockchain.cpp:90
virtual uint64_t blockChainHeight() const =0
blockChainHeight - returns current blockchain height
DeviceProgress()
Definition: wallet2_api.h:330
void onStartup()
Definition: utils.cpp:52
static bool keyValid(const std::string &secret_key_string, const std::string &address_string, bool isViewKey, NetworkType nettype, std::string &error)
Definition: wallet.cpp:341
virtual ~AddressBook()=0
Definition: address_book.cpp:43
virtual double progress() const
Definition: wallet2_api.h:333
virtual bool unblackballOutput(const std::string &amount, const std::string &offset)=0
unblackballs an output
virtual std::string getTxKey(const std::string &txid) const =0
virtual std::vector< std::string > paymentId() const =0
virtual size_t numSubaddresses(uint32_t accountIndex) const =0
numSubaddresses - returns the number of existing subaddresses associated with the specified subaddres...
virtual std::vector< TransactionInfo * > getAll() const =0
std::string m_label
Definition: wallet2_api.h:298
static void setLogLevel(int level)
Definition: wallet_manager.cpp:387
POD_CLASS signature
Definition: crypto.h:108
virtual void setSubaddressLookahead(uint32_t major, uint32_t minor)=0
setSubaddressLookahead - set size of subaddress lookahead
virtual void segregationHeight(uint64_t height)=0
sets the height where segregation should occur
virtual void startRefresh()=0
StartRefresh - Start/resume refresh thread (refresh every 10 seconds)
virtual ~TransactionInfo()=0
Definition: transaction_info.cpp:39
Definition: wallet2_api.h:427
virtual bool sign(const std::string &signedFileName)=0
sign - Sign txs and saves to file
virtual bool unlockKeysFile()=0
std::string mainAddress() const
Definition: wallet2_api.h:458
virtual std::string label() const =0
Wallet * recoveryWallet(const std::string &path, const std::string &mnemonic, bool testnet=false, uint64_t restoreHeight=0)
Definition: wallet2_api.h:1072
Wallet * recoveryWallet(const std::string &path, const std::string &password, const std::string &mnemonic, bool testnet=false, uint64_t restoreHeight=0)
Definition: wallet2_api.h:1056
AddressBookRow - provides functions to manage address book.
Definition: wallet2_api.h:216
virtual bool store(const std::string &path)=0
store - stores wallet to file.
virtual std::string errorString() const =0
virtual void moneyReceived(const std::string &txId, uint64_t amount)=0
moneyReceived - called when money received
virtual TransactionHistory * history()=0
POD_CLASS key_image
Definition: crypto.h:102
Definition: wallet2_api.h:439
std::string getBalance() const
Definition: wallet2_api.h:305
virtual std::vector< std::string > findWallets(const std::string &path)=0
findWallets - searches for the wallet files by given path name recursively
virtual uint64_t txCount() const =0
txCount - number of transactions current transaction will be splitted to
virtual std::string multisigSignData()=0
multisigSignData
virtual void setListener(WalletListener *)=0
Definition: wallet2_api.h:342
Wallet * createWalletFromKeys(const std::string &path, const std::string &language, bool testnet, uint64_t restoreHeight, const std::string &addressString, const std::string &viewKeyString, const std::string &spendKeyString="")
Definition: wallet2_api.h:1130
virtual std::string keysFilename() const =0
keysFilename - returns keys filename. usually this formed as "wallet_filename".keys ...
bool testnet() const
Definition: wallet2_api.h:462
virtual void disposeTransaction(PendingTransaction *t)=0
disposeTransaction - destroys transaction object
Definition: wallet2_api.h:1254
virtual Wallet * createWalletFromDevice(const std::string &path, const std::string &password, NetworkType nettype, const std::string &deviceName, uint64_t restoreHeight=0, const std::string &subaddressLookahead="", uint64_t kdf_rounds=1, WalletListener *listener=nullptr)=0
creates wallet using hardware device.
virtual std::string resolveOpenAlias(const std::string &address, bool &dnssec_valid) const =0
resolves an OpenAlias address to a electroneum address
Definition: wallet2_api.h:47
virtual int lookupPaymentID(const std::string &payment_id) const =0
int bool
Definition: stdbool.h:36
Definition: wallet2_api.h:137
virtual uint64_t blockchainTargetHeight()=0
returns current blockchain target height
virtual uint64_t txCount() const =0
txCount - number of transactions current transaction will be splitted to
static std::string displayAmount(uint64_t amount)
Definition: wallet.cpp:298
virtual std::string getSpendProof(const std::string &txid, const std::string &message) const =0
virtual uint64_t minMixinCount() const =0
static bool keyValid(const std::string &secret_key_string, const std::string &address_string, bool isViewKey, bool testnet, std::string &error)
Definition: wallet2_api.h:667
Definition: wallet2_api.h:434
Definition: wallet2_api.h:428
virtual std::vector< AddressBookRow * > getAll() const =0
virtual Wallet * createWallet(const std::string &path, const std::string &password, const std::string &language, NetworkType nettype, uint64_t kdf_rounds=1)=0
Creates new wallet.
static uint64_t amountFromDouble(double amount)
Definition: wallet.cpp:310
virtual bool blackballOutput(const std::string &amount, const std::string &offset)=0
blackballs an output
virtual bool setUserNote(const std::string &txid, const std::string ¬e)=0
setUserNote - attach an arbitrary string note to a txid
The TransactionHistory - interface for displaying transaction history.
Definition: wallet2_api.h:203
std::string extra
Definition: wallet2_api.h:230
virtual int status() const =0
returns wallet status (Status_Ok | Status_Error)
virtual std::string getMultisigInfo() const =0
getMultisigInfo
virtual void setDaemonAddress(const std::string &address)=0
set the daemon address (hostname and port)
virtual bool setPassword(const std::string &password)=0
uint32_t threshold
Definition: wallet2_api.h:324
virtual std::string secretViewKey() const =0
secretViewKey - returns secret view key
virtual std::string errorString() const =0
in case error status, returns error string
virtual std::vector< uint32_t > subaddrAccount() const =0
static void init(const char *argv0, const char *default_log_base_name)
Definition: wallet2_api.h:678
virtual UnsignedTransaction * loadUnsignedTx(const std::string &unsigned_filename)=0
loadUnsignedTx - creates transaction from unsigned tx file
virtual bool deleteRow(std::size_t rowId)=0
virtual std::string exchangeMultisigKeys(const std::vector< std::string > &info)=0
exchange_multisig_keys - provides additional key exchange round for arbitrary multisig schemes (like ...
virtual bool startMining(const std::string &address, uint32_t threads=1, bool background_mining=false, bool ignore_battery=true)=0
starts mining with the set number of threads
virtual std::string publicSpendKey() const =0
publicSpendKey - returns public spend key
virtual std::string makeMultisig(const std::vector< std::string > &info, uint32_t threshold)=0
makeMultisig - switches wallet in multisig state. The one and only creation phase for N / N wallets ...
virtual uint64_t getRefreshFromBlockHeight() const =0
getRestoreHeight - get wallet creation height
static void warning(const std::string &category, const std::string &str)
Definition: wallet.cpp:410
Device
Definition: wallet2_api.h:426
std::string m_unlockedBalance
Definition: wallet2_api.h:300
virtual Subaddress * subaddress()=0
virtual size_t numSubaddressAccounts() const =0
numSubaddressAccounts - returns the number of existing subaddress accounts
virtual bool addRow(const std::string &dst_addr, const std::string &payment_id, const std::string &description)=0
Status
Definition: wallet2_api.h:74
virtual bool getRing(const std::string &key_image, std::vector< uint64_t > &ring) const =0
gets the ring used for a key image, if any
virtual uint64_t dust() const =0
The TransactionInfo - interface for displaying transaction information.
Definition: wallet2_api.h:168
virtual void setRefreshFromBlockHeight(uint64_t refresh_from_block_height)=0
setRefreshFromBlockHeight - start refresh from block height on recover
virtual size_t importMultisigImages(const std::vector< std::string > &images)=0
importMultisigImages - imports other participants' multisig images
virtual optional< std::string > onDevicePinRequest()
called by device when PIN is needed
Definition: wallet2_api.h:396
virtual std::string errorString() const =0
returns verbose error string regarding last error;
static std::string paymentIdFromAddress(const std::string &str, bool testnet)
Definition: wallet2_api.h:672
uint64_t balanceAll() const
Definition: wallet2_api.h:598
std::size_t m_rowId
Definition: wallet2_api.h:296
WalletManager - provides functions to manage wallets.
Definition: wallet2_api.h:1011
virtual std::string getSeedLanguage() const =0
virtual uint64_t amount() const =0
Definition: wallet2_api.h:1260
virtual bool setRing(const std::string &key_image, const std::vector< uint64_t > &ring, bool relative)=0
sets the ring used for a key image
virtual uint64_t blockTarget()=0
returns current block target
Definition: wallet2_api.h:259
virtual uint64_t unlockTime() const =0
virtual uint64_t blockchainHeight()=0
returns current blockchain height
virtual std::vector< uint64_t > mixin() const =0
virtual std::vector< std::string > recipientAddress() const =0
Definition: wallet2_api.h:83
SubaddressAccountRow(std::size_t _rowId, const std::string &_address, const std::string &_label, const std::string &_balance, const std::string &_unlockedBalance)
Definition: wallet2_api.h:288
virtual std::vector< std::string > signersKeys() const =0
signersKeys
virtual std::vector< SubaddressRow * > getAll() const =0
virtual void setTrustedDaemon(bool arg)=0
virtual std::time_t timestamp() const =0
virtual uint64_t fee() const =0
Definition: wallet2_api.h:172
virtual Wallet * recoveryWallet(const std::string &path, const std::string &password, const std::string &mnemonic, NetworkType nettype=MAINNET, uint64_t restoreHeight=0, uint64_t kdf_rounds=1)=0
recovers existing wallet using mnemonic (electrum seed)
std::string getDescription() const
Definition: wallet2_api.h:232
virtual uint32_t subaddrAccount() const =0
bool m_indeterminate
Definition: wallet2_api.h:338
Definition: wallet2_api.h:244
virtual PendingTransaction * restoreMultisigTransaction(const std::string &signData)=0
restoreMultisigTransaction creates PendingTransaction from signData
virtual std::string getReserveProof(bool all, uint32_t account_index, uint64_t amount, const std::string &message) const =0
getReserveProof - Generates a proof that proves the reserve of unspent funds Parameters account_index...
virtual bool stopMining()=0
stops mining
#define true
Definition: stdbool.h:37
Definition: wallet2_api.h:138
virtual std::string getTxProof(const std::string &txid, const std::string &address, const std::string &message) const =0
virtual void refreshAsync()=0
refreshAsync - refreshes wallet asynchronously.
Definition: wallet2_api.h:81
virtual bool createWatchOnly(const std::string &path, const std::string &password, const std::string &language) const =0
createWatchOnly - Creates a watch only wallet
virtual ~TransactionHistory()=0
Definition: transaction_history.cpp:48
virtual bool isMining()=0
returns true iff mining
Transaction-like interface for sending money.
Definition: wallet2_api.h:133
Definition: wallet2_api.h:246
Direction
Definition: wallet2_api.h:170
virtual optional< std::string > onDevicePassphraseRequest(bool on_device)
called by device when passphrase entry is needed
Definition: wallet2_api.h:403
bool isMultisig
Definition: wallet2_api.h:322
The AddressBook - interface for Book.
Definition: wallet2_api.h:241
virtual ~WalletListener()=0
Definition: wallet.cpp:295
virtual void setDefaultMixin(uint32_t arg)=0
setDefaultMixin - setum number of mixins to be used for new transactions
virtual PendingTransaction * createTransaction(const std::string &dst_addr, const std::string &payment_id, optional< uint64_t > amount, uint32_t mixin_count, PendingTransaction::Priority=PendingTransaction::Priority_Low, uint32_t subaddr_account=0, std::set< uint32_t > subaddr_indices={})=0
createTransaction creates transaction. if dst_addr is an integrated address, payment_id is ignored ...
virtual bool closeWallet(Wallet *wallet, bool store=true)=0
Closes wallet. In case operation succeeded, wallet object deleted. in case operation failed...
uint8_t threshold
Definition: blockchain.cpp:92