Merge pull request #1249 from dimxy/decode-token-unmarshal-fix

Decode token unmarshal fix
This commit is contained in:
jl777
2019-02-14 07:51:39 -11:00
committed by GitHub

View File

@@ -327,27 +327,28 @@ uint8_t _DecodeHeirEitherOpRet(CScript scriptPubKey, uint256 &tokenid, CPubKey&
{ {
uint8_t evalCodeTokens = 0; uint8_t evalCodeTokens = 0;
std::vector<CPubKey> voutPubkeysDummy; std::vector<CPubKey> voutPubkeysDummy;
std::vector<uint8_t> vopretExtra, vopretStripped; std::vector<uint8_t> vopretExtra /*, vopretStripped*/;
if (DecodeTokenOpRet(scriptPubKey, evalCodeTokens, tokenid, voutPubkeysDummy, vopretExtra) != 0) { if (DecodeTokenOpRet(scriptPubKey, evalCodeTokens, tokenid, voutPubkeysDummy, vopretExtra) != 0) {
if (vopretExtra.size() > 1) { /* if (vopretExtra.size() > 1) {
// restore the second opret: // restore the second opret:
if (!E_UNMARSHAL(vopretExtra, { ss >> vopretStripped; })) { //strip string size /* unmarshalled in DecodeTokenOpRet:
if (!noLogging) std::cerr << "_DecodeHeirEitherOpret() could not unmarshal vopretStripped" << std::endl; if (!E_UNMARSHAL(vopretExtra, { ss >> vopretStripped; })) { //strip string size
return (uint8_t)0; if (!noLogging) std::cerr << "_DecodeHeirEitherOpret() could not unmarshal vopretStripped" << std::endl;
} return (uint8_t)0;
} }
else { } */
if (vopretExtra.size() < 1) {
if (!noLogging) std::cerr << "_DecodeHeirEitherOpret() empty vopretExtra" << std::endl; if (!noLogging) std::cerr << "_DecodeHeirEitherOpret() empty vopretExtra" << std::endl;
return (uint8_t)0; return (uint8_t)0;
} }
} }
else { else {
GetOpReturnData(scriptPubKey, vopretStripped); GetOpReturnData(scriptPubKey, vopretExtra);
} }
return _DecodeHeirOpRet(vopretStripped, ownerPubkey, heirPubkey, inactivityTime, heirName, memo, fundingTxidInOpret, hasHeirSpendingBegun, noLogging); return _DecodeHeirOpRet(vopretExtra, ownerPubkey, heirPubkey, inactivityTime, heirName, memo, fundingTxidInOpret, hasHeirSpendingBegun, noLogging);
} }
// overload to decode opret in fundingtxid: // overload to decode opret in fundingtxid: