#define WALLETMODEL_H
#include <QObject>
+#include <vector>
+#include <map>
#include "allocators.h" /* for SecureString */
class AddressTableModel;
class TransactionTableModel;
class CWallet;
+class CKeyID;
+class CPubKey;
+class COutput;
+class COutPoint;
+class uint256;
+class CCoinControl;
QT_BEGIN_NAMESPACE
class QTimer;
// Return status record for SendCoins, contains error id + information
struct SendCoinsReturn
{
- SendCoinsReturn(StatusCode status,
+ SendCoinsReturn(StatusCode status=Aborted,
qint64 fee=0,
QString hex=QString()):
status(status), fee(fee), hex(hex) {}
};
// Send coins to a list of recipients
- SendCoinsReturn sendCoins(const QList<SendCoinsRecipient> &recipients);
+ SendCoinsReturn sendCoins(const QList<SendCoinsRecipient> &recipients, const CCoinControl *coinControl=NULL);
// Wallet encryption
bool setWalletEncrypted(bool encrypted, const SecureString &passphrase);
UnlockContext requestUnlock();
+ bool getPubKey(const CKeyID &address, CPubKey& vchPubKeyOut) const;
+ void getOutputs(const std::vector<COutPoint>& vOutpoints, std::vector<COutput>& vOutputs);
+ void listCoins(std::map<QString, std::vector<COutput> >& mapCoins) const;
+ bool isLockedCoin(uint256 hash, unsigned int n) const;
+ void lockCoin(COutPoint& output);
+ void unlockCoin(COutPoint& output);
+ void listLockedCoins(std::vector<COutPoint>& vOutpts);
+
private:
CWallet *wallet;