We aint got no JoinSplits around here
This commit is contained in:
@@ -624,7 +624,7 @@ CAmount CCoinsViewCache::GetValueIn(int32_t nHeight,int64_t *interestp,const CTr
|
||||
}
|
||||
|
||||
|
||||
bool CCoinsViewCache::HaveJoinSplitRequirements(const CTransaction& tx) const
|
||||
bool CCoinsViewCache::HaveShieldedRequirements(const CTransaction& tx) const
|
||||
{
|
||||
for (const SpendDescription &spendDescription : tx.vShieldedSpend) {
|
||||
if (GetNullifier(spendDescription.nullifier, SAPLING)) { // Prevent double spends
|
||||
|
||||
@@ -563,7 +563,7 @@ public:
|
||||
bool HaveInputs(const CTransaction& tx) const;
|
||||
|
||||
//! Check whether all joinsplit requirements (anchors/nullifiers) are satisfied
|
||||
bool HaveJoinSplitRequirements(const CTransaction& tx) const;
|
||||
bool HaveShieldedRequirements(const CTransaction& tx) const;
|
||||
|
||||
//! Return priority of tx at height nHeight
|
||||
double GetPriority(const CTransaction &tx, int nHeight) const;
|
||||
|
||||
@@ -1894,7 +1894,7 @@ bool AcceptToMemoryPool(CTxMemPool& pool, CValidationState &state, const CTransa
|
||||
}
|
||||
|
||||
// are the joinsplit's requirements met?
|
||||
if (!view.HaveJoinSplitRequirements(tx))
|
||||
if (!view.HaveShieldedRequirements(tx))
|
||||
{
|
||||
//fprintf(stderr,"accept failure.2\n");
|
||||
return state.Invalid(error("AcceptToMemoryPool: joinsplit requirements not met"),REJECT_DUPLICATE, "bad-txns-joinsplit-requirements-not-met");
|
||||
@@ -2719,7 +2719,7 @@ namespace Consensus {
|
||||
return state.Invalid(error("CheckInputs(): %s inputs unavailable", tx.GetHash().ToString()));
|
||||
|
||||
// are the JoinSplit's requirements met?
|
||||
if (!inputs.HaveJoinSplitRequirements(tx))
|
||||
if (!inputs.HaveShieldedRequirements(tx))
|
||||
return state.Invalid(error("CheckInputs(): %s JoinSplit requirements not met", tx.GetHash().ToString()));
|
||||
|
||||
CAmount nValueIn = 0;
|
||||
@@ -3536,7 +3536,7 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin
|
||||
REJECT_INVALID, "bad-txns-inputs-missingorspent");
|
||||
}
|
||||
// are the JoinSplit's requirements met?
|
||||
if (!view.HaveJoinSplitRequirements(tx))
|
||||
if (!view.HaveShieldedRequirements(tx))
|
||||
return state.DoS(100, error("ConnectBlock(): JoinSplit requirements not met"),
|
||||
REJECT_INVALID, "bad-txns-joinsplit-requirements-not-met");
|
||||
|
||||
|
||||
@@ -632,7 +632,7 @@ BOOST_AUTO_TEST_CASE(chained_joinsplits)
|
||||
CMutableTransaction mtx;
|
||||
mtx.vjoinsplit.push_back(js2);
|
||||
|
||||
BOOST_CHECK(!cache.HaveJoinSplitRequirements(mtx));
|
||||
BOOST_CHECK(!cache.HaveShieldedRequirements(mtx));
|
||||
}
|
||||
|
||||
{
|
||||
@@ -642,7 +642,7 @@ BOOST_AUTO_TEST_CASE(chained_joinsplits)
|
||||
mtx.vjoinsplit.push_back(js2);
|
||||
mtx.vjoinsplit.push_back(js1);
|
||||
|
||||
BOOST_CHECK(!cache.HaveJoinSplitRequirements(mtx));
|
||||
BOOST_CHECK(!cache.HaveShieldedRequirements(mtx));
|
||||
}
|
||||
|
||||
{
|
||||
@@ -650,7 +650,7 @@ BOOST_AUTO_TEST_CASE(chained_joinsplits)
|
||||
mtx.vjoinsplit.push_back(js1);
|
||||
mtx.vjoinsplit.push_back(js2);
|
||||
|
||||
BOOST_CHECK(cache.HaveJoinSplitRequirements(mtx));
|
||||
BOOST_CHECK(cache.HaveShieldedRequirements(mtx));
|
||||
}
|
||||
|
||||
{
|
||||
@@ -659,7 +659,7 @@ BOOST_AUTO_TEST_CASE(chained_joinsplits)
|
||||
mtx.vjoinsplit.push_back(js2);
|
||||
mtx.vjoinsplit.push_back(js3);
|
||||
|
||||
BOOST_CHECK(cache.HaveJoinSplitRequirements(mtx));
|
||||
BOOST_CHECK(cache.HaveShieldedRequirements(mtx));
|
||||
}
|
||||
|
||||
{
|
||||
@@ -669,7 +669,7 @@ BOOST_AUTO_TEST_CASE(chained_joinsplits)
|
||||
mtx.vjoinsplit.push_back(js2);
|
||||
mtx.vjoinsplit.push_back(js3);
|
||||
|
||||
BOOST_CHECK(cache.HaveJoinSplitRequirements(mtx));
|
||||
BOOST_CHECK(cache.HaveShieldedRequirements(mtx));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user