std::cerr<<indentStr<<"IsTokensvout() this is dual-eval token vout, eval2="<<evalCodeInOpret<<", returning nValue="<<tx.vout[v].nValue<<" for txid="<<tx.GetHash().GetHex()<<" for tokenid="<<reftokenid.GetHex()<<std::endl;
std::cerr<<indentStr<<"IsTokensvout() this is dual-eval token vout, eval2="<<(int)evalCodeInOpret<<", returning nValue="<<tx.vout[v].nValue<<" for txid="<<tx.GetHash().GetHex()<<" for tokenid="<<reftokenid.GetHex()<<std::endl;
else
std::cerr<<indentStr<<"IsTokensvout() this is dual-eval token 1of2 vout or change, eval2="<<evalCodeInOpret<<", returning nValue="<<tx.vout[v].nValue<<" for txid="<<tx.GetHash().GetHex()<<" for tokenid="<<reftokenid.GetHex()<<std::endl;
std::cerr<<indentStr<<"IsTokensvout() this is dual-eval token 1of2 vout or change, eval2="<<(int)evalCodeInOpret<<", returning nValue="<<tx.vout[v].nValue<<" for txid="<<tx.GetHash().GetHex()<<" for tokenid="<<reftokenid.GetHex()<<std::endl;
Helper::makeClaimOpRet(tokenid,voutTokenPubkeys,fundingtxid,(myPubkey==heirPubkey)?1:hasHeirSpendingBegun));// forward isHeirSpending to the next latest tx
result.push_back(Pair("result","success"));
result.push_back(Pair("hextx",rawhextx));
if(!rawhextx.empty()){
result.push_back(Pair("result","success"));
result.push_back(Pair("hextx",rawhextx));
}
else{
std::cerr<<"HeirAdd error in FinalizeCCtx"<<std::endl;
result.push_back(Pair("result","error"));
result.push_back(Pair("error","sign error"));
}
}else{
fprintf(stderr,"HeirClaim() cant find Heir CC inputs\n");