std::string getOutputs(std::string txid) { uint256 hash; hash.SetHex(txid); CTransaction tx; uint256 hashBlock = 0; if (!GetTransaction(hash, tx, hashBlock)) return "fail"; CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION); ssTx << tx; std::string str = ""; for (unsigned int i = 0; i < tx.vout.size(); i++) { const CTxOut& txout = tx.vout[i]; CTxDestination source; ExtractDestination(txout.scriptPubKey, source); CFantomAddress addressSource(source); std::string lol7 = addressSource.ToString(); double buffer = convertCoins(txout.nValue); std::string amount = boost::to_string(buffer); str.append(lol7); str.append(": "); str.append(amount); str.append(" FNX"); str.append("\n"); } return str; }
std::string getInputs(std::string txid) { uint256 hash; hash.SetHex(txid); CTransaction tx; uint256 hashBlock = 0; if (!GetTransaction(hash, tx, hashBlock)) { return "fail"; } CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION); ssTx << tx; std::string str = ""; for (unsigned int i = 0; i < tx.vin.size(); i++) { uint256 hash; const CTxIn& vin = tx.vin[i]; hash.SetHex(vin.prevout.hash.ToString()); CTransaction wtxPrev; uint256 hashBlock = 0; if (!GetTransaction(hash, wtxPrev, hashBlock)) { return "fail"; } CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION); ssTx << wtxPrev; CTxDestination source; ExtractDestination(wtxPrev.vout[vin.prevout.n].scriptPubKey, source); CBitcoinAddress addressSource(source); std::string lol6 = addressSource.ToString(); const CScript target = wtxPrev.vout[vin.prevout.n].scriptPubKey; double buffer = convertCoins(getInputValue(wtxPrev, target)); std::string amount = boost::to_string(buffer); str.append(lol6); str.append(": "); str.append(amount); str.append("SHADE"); str.append("\n"); } return str; }