Transaction::pointer Transaction::transactionFromSQL ( boost::optional<std::uint64_t> const& ledgerSeq, boost::optional<std::string> const& status, Blob const& rawTxn, Validate validate) { std::uint32_t const inLedger = rangeCheckedCast<std::uint32_t>(ledgerSeq.value_or (0)); SerialIter it (makeSlice(rawTxn)); auto txn = std::make_shared<STTx> (it); std::string reason; auto tr = std::make_shared<Transaction> (txn, validate, reason); tr->setStatus (sqlTransactionStatus (status)); tr->setLedger (inLedger); return tr; }
void convertBlobsToTxResult ( NetworkOPs::AccountTxs& to, std::uint32_t ledger_index, std::string const& status, Blob const& rawTxn, Blob const& rawMeta, Application& app) { SerialIter it (makeSlice(rawTxn)); auto txn = std::make_shared<STTx const> (it); std::string reason; auto tr = std::make_shared<Transaction> (txn, reason, app); tr->setStatus (Transaction::sqlTransactionStatus(status)); tr->setLedger (ledger_index); auto metaset = std::make_shared<TxMeta> ( tr->getID (), tr->getLedger (), rawMeta); to.emplace_back(std::move(tr), metaset); };