X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fwallet.h;h=e838834d7d4b2825b381cba3acfcbf53997a2315;hb=7ee562be0d193150f2e57787744175d017540f9e;hp=96fe239feac1189d63266cf247f2ab06dd79b482;hpb=c91b5231b5d85d235fbc455e2158d9e3a63e6c20;p=novacoin.git diff --git a/src/wallet.h b/src/wallet.h index 96fe239..e838834 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -69,7 +69,7 @@ public: class CWallet : public CCryptoKeyStore { private: - bool SelectCoinsSimple(int64 nTargetValue, unsigned int nSpendTime, int nMinConf, std::set >& setCoinsRet, int64& nValueRet) const; + bool SelectCoinsSimple(int64 nTargetValue, int64 nMinValue, int64 nMaxValue, unsigned int nSpendTime, int nMinConf, std::set >& setCoinsRet, int64& nValueRet) const; bool SelectCoins(int64 nTargetValue, unsigned int nSpendTime, std::set >& setCoinsRet, int64& nValueRet, const CCoinControl *coinControl=NULL) const; CWalletDB *pwalletdbEncryption; @@ -80,6 +80,9 @@ private: // the maximum wallet format version: memory-only variable that specifies to what version this wallet may be upgraded int nWalletMaxVersion; + // selected coins metadata + map >, pair > > mapMeta; + public: mutable CCriticalSection cs_wallet; @@ -126,7 +129,7 @@ public: // check whether we are allowed to upgrade (or already support) to the named feature bool CanSupportFeature(enum WalletFeature wf) { return nWalletMaxVersion >= wf; } - void AvailableCoinsMinConf(std::vector& vCoins, int nConf) const; + void AvailableCoinsMinConf(std::vector& vCoins, int nConf, int64 nMinValue, int64 nMaxValue) const; void AvailableCoins(std::vector& vCoins, bool fOnlyConfirmed=true, const CCoinControl *coinControl=NULL) const; bool SelectCoinsMinConf(int64 nTargetValue, unsigned int nSpendTime, int nConfMine, int nConfTheirs, std::vector vCoins, std::set >& setCoinsRet, int64& nValueRet) const; // keystore implementation @@ -200,6 +203,7 @@ public: bool GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight); void GetStakeWeightFromValue(const int64& nTime, const int64& nValue, uint64& nWeight); bool CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int64 nSearchInterval, CTransaction& txNew, CKey& key); + bool MergeCoins(const int64& nAmount, const int64& nMinValue, const int64& nMaxValue, list& listMerged); std::string SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false); std::string SendMoneyToDestination(const CTxDestination &address, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false); @@ -460,6 +464,8 @@ public: fWatchCreditCached = false; fAvailableCreditCached = false; fAvailableWatchCreditCached = false; + fImmatureCreditCached = false; + fImmatureWatchCreditCached = false; fChangeCached = false; nDebitCached = 0; nWatchDebitCached = 0; @@ -467,6 +473,8 @@ public: nWatchCreditCached = 0; nAvailableCreditCached = 0; nAvailableWatchCreditCached = 0; + nImmatureCreditCached = 0; + nImmatureWatchCreditCached = 0; nChangeCached = 0; nOrderPos = -1; }