data parsing issues
This commit is contained in:
@@ -96,8 +96,7 @@ bool CScriptExt::ExtractVoutDestination(const CTransaction& tx, int32_t voutNum,
|
||||
// if this is a timelocked transaction, get the destination behind the time lock
|
||||
if (tx.IsCoinBase() && tx.vout.size() == 2 && voutNum == 0 &&
|
||||
spk.IsPayToScriptHash(&scriptHash) &&
|
||||
tx.vout[1].scriptPubKey.size() >= 7 && // minimum for any possible future to prevent out of bounds
|
||||
tx.vout[1].scriptPubKey[0] == OP_RETURN)
|
||||
tx.vout[1].scriptPubKey.IsOpReturn())
|
||||
{
|
||||
opcodetype op;
|
||||
std::vector<uint8_t> opretData = std::vector<uint8_t>();
|
||||
|
||||
@@ -191,16 +191,11 @@ bool Solver(const CScript& scriptPubKey, txnouttype& typeRet, vector<vector<unsi
|
||||
if (vParams.size())
|
||||
{
|
||||
COptCCParams cp = COptCCParams(vParams[0]);
|
||||
if (cp.IsValid() && vParams.size() > cp.n)
|
||||
if (cp.IsValid())
|
||||
{
|
||||
// all addresses that should be there must be 33 byte pub keys
|
||||
for (int i = 1; i <= cp.n; i++)
|
||||
for (auto k : cp.vKeys)
|
||||
{
|
||||
if (vParams[i].size() != 33)
|
||||
{
|
||||
// we accept no errors
|
||||
return false;
|
||||
}
|
||||
vSolutionsRet.push_back(std::vector<unsigned char>(k.begin(), k.end()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user