Includes: MOVEONLY: move more method definitions out of wallet.h
This commit is contained in:
parent
26c16d9de9
commit
eca0b1ea62
2 changed files with 76 additions and 60 deletions
|
@ -817,6 +817,18 @@ CAmount CWallet::GetDebit(const CTxIn &txin, const isminefilter& filter) const
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isminetype CWallet::IsMine(const CTxOut& txout) const
|
||||||
|
{
|
||||||
|
return ::IsMine(*this, txout.scriptPubKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
CAmount CWallet::GetCredit(const CTxOut& txout, const isminefilter& filter) const
|
||||||
|
{
|
||||||
|
if (!MoneyRange(txout.nValue))
|
||||||
|
throw std::runtime_error("CWallet::GetCredit(): value out of range");
|
||||||
|
return ((IsMine(txout) & filter) ? txout.nValue : 0);
|
||||||
|
}
|
||||||
|
|
||||||
bool CWallet::IsChange(const CTxOut& txout) const
|
bool CWallet::IsChange(const CTxOut& txout) const
|
||||||
{
|
{
|
||||||
// TODO: fix handling of 'change' outputs. The assumption is that any
|
// TODO: fix handling of 'change' outputs. The assumption is that any
|
||||||
|
@ -839,6 +851,62 @@ bool CWallet::IsChange(const CTxOut& txout) const
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CAmount CWallet::GetChange(const CTxOut& txout) const
|
||||||
|
{
|
||||||
|
if (!MoneyRange(txout.nValue))
|
||||||
|
throw std::runtime_error("CWallet::GetChange(): value out of range");
|
||||||
|
return (IsChange(txout) ? txout.nValue : 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CWallet::IsMine(const CTransaction& tx) const
|
||||||
|
{
|
||||||
|
BOOST_FOREACH(const CTxOut& txout, tx.vout)
|
||||||
|
if (IsMine(txout))
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CWallet::IsFromMe(const CTransaction& tx) const
|
||||||
|
{
|
||||||
|
return (GetDebit(tx, ISMINE_ALL) > 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
CAmount CWallet::GetDebit(const CTransaction& tx, const isminefilter& filter) const
|
||||||
|
{
|
||||||
|
CAmount nDebit = 0;
|
||||||
|
BOOST_FOREACH(const CTxIn& txin, tx.vin)
|
||||||
|
{
|
||||||
|
nDebit += GetDebit(txin, filter);
|
||||||
|
if (!MoneyRange(nDebit))
|
||||||
|
throw std::runtime_error("CWallet::GetDebit(): value out of range");
|
||||||
|
}
|
||||||
|
return nDebit;
|
||||||
|
}
|
||||||
|
|
||||||
|
CAmount CWallet::GetCredit(const CTransaction& tx, const isminefilter& filter) const
|
||||||
|
{
|
||||||
|
CAmount nCredit = 0;
|
||||||
|
BOOST_FOREACH(const CTxOut& txout, tx.vout)
|
||||||
|
{
|
||||||
|
nCredit += GetCredit(txout, filter);
|
||||||
|
if (!MoneyRange(nCredit))
|
||||||
|
throw std::runtime_error("CWallet::GetCredit(): value out of range");
|
||||||
|
}
|
||||||
|
return nCredit;
|
||||||
|
}
|
||||||
|
|
||||||
|
CAmount CWallet::GetChange(const CTransaction& tx) const
|
||||||
|
{
|
||||||
|
CAmount nChange = 0;
|
||||||
|
BOOST_FOREACH(const CTxOut& txout, tx.vout)
|
||||||
|
{
|
||||||
|
nChange += GetChange(txout);
|
||||||
|
if (!MoneyRange(nChange))
|
||||||
|
throw std::runtime_error("CWallet::GetChange(): value out of range");
|
||||||
|
}
|
||||||
|
return nChange;
|
||||||
|
}
|
||||||
|
|
||||||
int64_t CWalletTx::GetTxTime() const
|
int64_t CWalletTx::GetTxTime() const
|
||||||
{
|
{
|
||||||
int64_t n = nTimeSmart;
|
int64_t n = nTimeSmart;
|
||||||
|
|
|
@ -641,68 +641,16 @@ public:
|
||||||
|
|
||||||
isminetype IsMine(const CTxIn& txin) const;
|
isminetype IsMine(const CTxIn& txin) const;
|
||||||
CAmount GetDebit(const CTxIn& txin, const isminefilter& filter) const;
|
CAmount GetDebit(const CTxIn& txin, const isminefilter& filter) const;
|
||||||
isminetype IsMine(const CTxOut& txout) const
|
isminetype IsMine(const CTxOut& txout) const;
|
||||||
{
|
CAmount GetCredit(const CTxOut& txout, const isminefilter& filter) const;
|
||||||
return ::IsMine(*this, txout.scriptPubKey);
|
|
||||||
}
|
|
||||||
CAmount GetCredit(const CTxOut& txout, const isminefilter& filter) const
|
|
||||||
{
|
|
||||||
if (!MoneyRange(txout.nValue))
|
|
||||||
throw std::runtime_error("CWallet::GetCredit(): value out of range");
|
|
||||||
return ((IsMine(txout) & filter) ? txout.nValue : 0);
|
|
||||||
}
|
|
||||||
bool IsChange(const CTxOut& txout) const;
|
bool IsChange(const CTxOut& txout) const;
|
||||||
CAmount GetChange(const CTxOut& txout) const
|
CAmount GetChange(const CTxOut& txout) const;
|
||||||
{
|
bool IsMine(const CTransaction& tx) const;
|
||||||
if (!MoneyRange(txout.nValue))
|
|
||||||
throw std::runtime_error("CWallet::GetChange(): value out of range");
|
|
||||||
return (IsChange(txout) ? txout.nValue : 0);
|
|
||||||
}
|
|
||||||
bool IsMine(const CTransaction& tx) const
|
|
||||||
{
|
|
||||||
BOOST_FOREACH(const CTxOut& txout, tx.vout)
|
|
||||||
if (IsMine(txout))
|
|
||||||
return true;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
/** should probably be renamed to IsRelevantToMe */
|
/** should probably be renamed to IsRelevantToMe */
|
||||||
bool IsFromMe(const CTransaction& tx) const
|
bool IsFromMe(const CTransaction& tx) const;
|
||||||
{
|
CAmount GetDebit(const CTransaction& tx, const isminefilter& filter) const;
|
||||||
return (GetDebit(tx, ISMINE_ALL) > 0);
|
CAmount GetCredit(const CTransaction& tx, const isminefilter& filter) const;
|
||||||
}
|
CAmount GetChange(const CTransaction& tx) const;
|
||||||
CAmount GetDebit(const CTransaction& tx, const isminefilter& filter) const
|
|
||||||
{
|
|
||||||
CAmount nDebit = 0;
|
|
||||||
BOOST_FOREACH(const CTxIn& txin, tx.vin)
|
|
||||||
{
|
|
||||||
nDebit += GetDebit(txin, filter);
|
|
||||||
if (!MoneyRange(nDebit))
|
|
||||||
throw std::runtime_error("CWallet::GetDebit(): value out of range");
|
|
||||||
}
|
|
||||||
return nDebit;
|
|
||||||
}
|
|
||||||
CAmount GetCredit(const CTransaction& tx, const isminefilter& filter) const
|
|
||||||
{
|
|
||||||
CAmount nCredit = 0;
|
|
||||||
BOOST_FOREACH(const CTxOut& txout, tx.vout)
|
|
||||||
{
|
|
||||||
nCredit += GetCredit(txout, filter);
|
|
||||||
if (!MoneyRange(nCredit))
|
|
||||||
throw std::runtime_error("CWallet::GetCredit(): value out of range");
|
|
||||||
}
|
|
||||||
return nCredit;
|
|
||||||
}
|
|
||||||
CAmount GetChange(const CTransaction& tx) const
|
|
||||||
{
|
|
||||||
CAmount nChange = 0;
|
|
||||||
BOOST_FOREACH(const CTxOut& txout, tx.vout)
|
|
||||||
{
|
|
||||||
nChange += GetChange(txout);
|
|
||||||
if (!MoneyRange(nChange))
|
|
||||||
throw std::runtime_error("CWallet::GetChange(): value out of range");
|
|
||||||
}
|
|
||||||
return nChange;
|
|
||||||
}
|
|
||||||
void SetBestChain(const CBlockLocator& loc);
|
void SetBestChain(const CBlockLocator& loc);
|
||||||
|
|
||||||
DBErrors LoadWallet(bool& fFirstRunRet);
|
DBErrors LoadWallet(bool& fFirstRunRet);
|
||||||
|
|
Loading…
Reference in a new issue