#include "keystore.h"
#include "script.h"
-extern bool fWalletUnlockStakeOnly;
+extern bool fWalletUnlockMintOnly;
class CWalletTx;
class CReserveKey;
// keystore implementation
// Generate a new key
- std::vector<unsigned char> GenerateNewKey();
+ std::vector<unsigned char> GenerateNewKey(bool bCompressed);
// Adds a key to the store, and saves it to disk.
bool AddKey(const CKey& key);
// Adds a key to the store, without saving it to disk (used by LoadWallet)
int64 GetNewMint() const;
bool CreateTransaction(const std::vector<std::pair<CScript, int64> >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet);
bool CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet);
- bool CreateCoinStake(unsigned int nBits, CTransaction& txNew);
+ bool CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int64 nSearchInterval, CTransaction& txNew);
bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey);
std::string SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false);
std::string SendMoneyToBitcoinAddress(const CBitcoinAddress& address, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false);
// get the current wallet format (the oldest client version guaranteed to understand this wallet)
int GetVersion() { return nWalletVersion; }
- bool CheckSpentCoins(int& nMismatchSpent, int64& nBalanceInQuestion);
- void FixSpentCoins(int& nMismatchSpent, int64& nBalanceInQuestion);
+ void FixSpentCoins(int& nMismatchSpent, int64& nBalanceInQuestion, bool fCheckOnly = false);
void DisableTransaction(const CTransaction &tx);
};