fix source chain display error

This commit is contained in:
blackjok3r
2019-01-04 14:35:34 +08:00
parent 542607e4e2
commit 75ae32c0aa
2 changed files with 4 additions and 24 deletions

View File

@@ -69,20 +69,10 @@ bool UnmarshalBurnTx(const CTransaction &burnTx, std::string &targetSymbol, uint
std::vector<uint8_t> burnOpret; uint32_t ccid = 0; std::vector<uint8_t> burnOpret; uint32_t ccid = 0;
if (burnTx.vout.size() == 0) return false; if (burnTx.vout.size() == 0) return false;
GetOpReturnData(burnTx.vout.back().scriptPubKey, burnOpret); GetOpReturnData(burnTx.vout.back().scriptPubKey, burnOpret);
//E_UNMARSHAL(burnOpret, ss >> VARINT(ccid)); return E_UNMARSHAL(burnOpret, ss >> VARINT(*targetCCid);
/*if ( ccid != 0xffffffff )
{
return E_UNMARSHAL(burnOpret, ss >> VARINT(*targetCCid);
ss >> targetSymbol;
ss >> payoutsHash);
}
else
{*/
return E_UNMARSHAL(burnOpret, ss >> VARINT(*targetCCid);
ss >> targetSymbol; ss >> targetSymbol;
ss >> payoutsHash; ss >> payoutsHash;
ss >> rawproof); ss >> rawproof);
//}
} }

View File

@@ -453,22 +453,12 @@ UniValue getimports(const UniValue& params, bool fHelp)
objBurnTx.push_back(Pair("amount", ValueFromAmount(burnTx.vout.back().nValue))); objBurnTx.push_back(Pair("amount", ValueFromAmount(burnTx.vout.back().nValue)));
// extract op_return to get burn source chain. // extract op_return to get burn source chain.
std::vector<uint8_t> burnOpret; std::string targetSymbol; uint32_t targetCCid; uint256 payoutsHash; std::vector<uint8_t>rawproof; std::vector<uint8_t> burnOpret; std::string targetSymbol; uint32_t targetCCid; uint256 payoutsHash; std::vector<uint8_t>rawproof;
GetOpReturnData(burnTx.vout.back().scriptPubKey, burnOpret); if (UnmarshalBurnTx(burnTx, targetSymbol, &targetCCid, payoutsHash, rawproof))
if (E_UNMARSHAL(burnOpret, ss >> VARINT(targetCCid);
ss >> targetSymbol;
ss >> payoutsHash;
ss >> rawproof));
{ {
if (rawproof.size() > 0) if (rawproof.size() > 0)
{ {
char *buffer; int32_t n; std::string sourceSymbol(rawproof.begin(), rawproof.end());
buffer = (char*) malloc (65); objBurnTx.push_back(Pair("source", sourceSymbol));
if (buffer!=NULL)
{
for (n=0; n<65; n++)
buffer[n]=rawproof[n];
objBurnTx.push_back(Pair("source", buffer));
}
} }
} }
} }