From 75ae32c0aa866a4c1038b50ec9ce67dcc68cbcef Mon Sep 17 00:00:00 2001 From: blackjok3r Date: Fri, 4 Jan 2019 14:35:34 +0800 Subject: [PATCH] fix source chain display error --- src/importcoin.cpp | 12 +----------- src/rpc/crosschain.cpp | 16 +++------------- 2 files changed, 4 insertions(+), 24 deletions(-) diff --git a/src/importcoin.cpp b/src/importcoin.cpp index 8d08c2167..05fd79a95 100644 --- a/src/importcoin.cpp +++ b/src/importcoin.cpp @@ -69,20 +69,10 @@ bool UnmarshalBurnTx(const CTransaction &burnTx, std::string &targetSymbol, uint std::vector burnOpret; uint32_t ccid = 0; if (burnTx.vout.size() == 0) return false; GetOpReturnData(burnTx.vout.back().scriptPubKey, burnOpret); - //E_UNMARSHAL(burnOpret, ss >> VARINT(ccid)); - /*if ( ccid != 0xffffffff ) - { - return E_UNMARSHAL(burnOpret, ss >> VARINT(*targetCCid); - ss >> targetSymbol; - ss >> payoutsHash); - } - else - {*/ - return E_UNMARSHAL(burnOpret, ss >> VARINT(*targetCCid); + return E_UNMARSHAL(burnOpret, ss >> VARINT(*targetCCid); ss >> targetSymbol; ss >> payoutsHash; ss >> rawproof); - //} } diff --git a/src/rpc/crosschain.cpp b/src/rpc/crosschain.cpp index 49c506e78..5519f0e17 100644 --- a/src/rpc/crosschain.cpp +++ b/src/rpc/crosschain.cpp @@ -453,22 +453,12 @@ UniValue getimports(const UniValue& params, bool fHelp) objBurnTx.push_back(Pair("amount", ValueFromAmount(burnTx.vout.back().nValue))); // extract op_return to get burn source chain. std::vector burnOpret; std::string targetSymbol; uint32_t targetCCid; uint256 payoutsHash; std::vectorrawproof; - GetOpReturnData(burnTx.vout.back().scriptPubKey, burnOpret); - if (E_UNMARSHAL(burnOpret, ss >> VARINT(targetCCid); - ss >> targetSymbol; - ss >> payoutsHash; - ss >> rawproof)); + if (UnmarshalBurnTx(burnTx, targetSymbol, &targetCCid, payoutsHash, rawproof)) { if (rawproof.size() > 0) { - char *buffer; int32_t n; - buffer = (char*) malloc (65); - if (buffer!=NULL) - { - for (n=0; n<65; n++) - buffer[n]=rawproof[n]; - objBurnTx.push_back(Pair("source", buffer)); - } + std::string sourceSymbol(rawproof.begin(), rawproof.end()); + objBurnTx.push_back(Pair("source", sourceSymbol)); } } }