X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fwallet.h;h=9789c51d1c84a3fbdfff0cd42008e4539b2255c5;hb=126e51d5d96f8bc2c900df18af5827c279967dcc;hp=803c273c0aa5d7adb7030dc61d7640fdb2e7192d;hpb=b032c4a33e27deebe9210347048998ecc4624ee4;p=novacoin.git diff --git a/src/wallet.h b/src/wallet.h index 803c273..9789c51 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -30,11 +30,6 @@ class CCoinControl; // Set of selected transactions typedef std::set > CoinsSet; -// Preloaded coins metadata -// (txid, vout.n) => ((txindex, (tx, vout.n)), (block, modifier)) -typedef std::map, std::pair >, std::pair > > MetaMap; - - /** (client) version numbers for particular wallet features */ enum WalletFeature { @@ -78,7 +73,6 @@ public: class CWallet : public CCryptoKeyStore { private: - bool SelectCoinsSimple(int64_t nTargetValue, int64_t nMinValue, int64_t nMaxValue, unsigned int nSpendTime, int nMinConf, std::set >& setCoinsRet, int64_t& nValueRet) const; bool SelectCoins(int64_t nTargetValue, unsigned int nSpendTime, std::set >& setCoinsRet, int64_t& nValueRet, const CCoinControl *coinControl=NULL) const; CWalletDB *pwalletdbEncryption, *pwalletdbDecryption; @@ -89,9 +83,6 @@ private: // the maximum wallet format version: memory-only variable that specifies to what version this wallet may be upgraded int nWalletMaxVersion; - // selected coins metadata - std::map, std::pair >, std::pair > > mapMeta; - // stake mining statistics uint64_t nKernelsTried; uint64_t nCoinDaysTried; @@ -105,7 +96,6 @@ public: std::set setKeyPool; std::map mapKeyMetadata; - typedef std::map MasterKeyMap; MasterKeyMap mapMasterKeys; unsigned int nMasterKeyMaxID; @@ -152,6 +142,10 @@ public: void AvailableCoinsMinConf(std::vector& vCoins, int nConf, int64_t nMinValue, int64_t nMaxValue) const; void AvailableCoins(std::vector& vCoins, bool fOnlyConfirmed=true, const CCoinControl *coinControl=NULL) const; bool SelectCoinsMinConf(int64_t nTargetValue, unsigned int nSpendTime, int nConfMine, int nConfTheirs, std::vector vCoins, std::set >& setCoinsRet, int64_t& nValueRet) const; + + // Simple select (without randomization) + bool SelectCoinsSimple(int64_t nTargetValue, int64_t nMinValue, int64_t nMaxValue, unsigned int nSpendTime, int nMinConf, std::set >& setCoinsRet, int64_t& nValueRet) const; + // keystore implementation // Generate a new key CPubKey GenerateNewKey(); @@ -225,7 +219,7 @@ public: void GetStakeStats(float &nKernelsRate, float &nCoinDaysRate); void GetStakeWeightFromValue(const int64_t& nTime, const int64_t& nValue, uint64_t& nWeight); - bool CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, uint32_t nSearchInterval, CTransaction& txNew, CKey& key); + bool CreateCoinStake(uint256 &hashTx, uint32_t nOut, uint32_t nTime, uint32_t nBits, CTransaction &txNew, CKey& key); bool MergeCoins(const int64_t& nAmount, const int64_t& nMinValue, const int64_t& nMaxValue, std::list& listMerged); std::string SendMoney(CScript scriptPubKey, int64_t nValue, CWalletTx& wtxNew, bool fAskFee=false); @@ -311,6 +305,8 @@ public: DBErrors LoadWallet(bool& fFirstRunRet); + DBErrors ZapWalletTx(); + bool SetAddressBookName(const CTxDestination& address, const std::string& strName); bool DelAddressBookName(const CTxDestination& address);