Wallet::createTransaction API introduced

Transaction API continued

TODOs for Transaction/Transfer interface
This commit is contained in:
Ilya Kitaev
2016-04-05 15:24:44 +03:00
parent 7c51227f88
commit 951f3b5d83
3 changed files with 238 additions and 148 deletions

View File

@@ -39,16 +39,19 @@ namespace Bitmonero {
/**
* @brief Transaction interface
*/
struct Transaction
struct PendingTransaction
{
enum Status {
Status_Ok,
Status_Error
};
virtual ~PendingTransaction() = 0;
virtual int status() const = 0;
virtual std::string errorString() const = 0;
virtual bool commit() = 0;
virtual uint64_t amount() const = 0;
virtual uint64_t dust() const = 0;
virtual uint64_t fee() const = 0;
};
/**
@@ -57,17 +60,12 @@ struct Transaction
*/
struct Wallet
{
// TODO define wallet interface (decide what needed from wallet2)
enum Status {
Status_Ok,
Status_Error
};
struct Listener
{
// TODO
};
virtual ~Wallet() = 0;
virtual std::string seed() const = 0;
@@ -85,12 +83,15 @@ struct Wallet
virtual bool connectToDaemon() = 0;
virtual uint64_t balance() const = 0;
virtual uint64_t unlockedBalance() const = 0;
virtual std::string displayAmount(uint64_t amount) const = 0;
static std::string displayAmount(uint64_t amount);
// TODO?
// virtual uint64_t unlockedDustBalance() const = 0;
virtual bool refresh() = 0;
// TODO transfer
virtual bool transfer(const std::string &dst_addr, uint64_t amount) = 0;
virtual PendingTransaction * createTransaction(const std::string &dst_addr, uint64_t amount) = 0;
virtual void disposeTransaction(PendingTransaction * t) = 0;
// TODO
virtual void getPayments() const;
};