mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
88 lines
1.7 KiB
C++
88 lines
1.7 KiB
C++
#pragma once
|
|
|
|
#include <xrpl/basics/CountedObject.h>
|
|
#include <xrpl/ledger/ReadView.h>
|
|
#include <xrpl/protocol/AccountID.h>
|
|
#include <xrpl/protocol/STTx.h>
|
|
#include <xrpl/protocol/TxMeta.h>
|
|
|
|
#include <boost/container/flat_set.hpp>
|
|
|
|
namespace xrpl {
|
|
|
|
/**
|
|
A transaction that is in a closed ledger.
|
|
|
|
Description
|
|
|
|
An accepted ledger transaction contains additional information that the
|
|
server needs to tell clients about the transaction. For example,
|
|
- The transaction in JSON form
|
|
- Which accounts are affected
|
|
* This is used by InfoSub to report to clients
|
|
- Cached stuff
|
|
*/
|
|
class AcceptedLedgerTx : public CountedObject<AcceptedLedgerTx>
|
|
{
|
|
public:
|
|
AcceptedLedgerTx(
|
|
std::shared_ptr<ReadView const> const& ledger,
|
|
std::shared_ptr<STTx const> const&,
|
|
std::shared_ptr<STObject const> const&);
|
|
|
|
std::shared_ptr<STTx const> const&
|
|
getTxn() const
|
|
{
|
|
return mTxn;
|
|
}
|
|
TxMeta const&
|
|
getMeta() const
|
|
{
|
|
return mMeta;
|
|
}
|
|
|
|
boost::container::flat_set<AccountID> const&
|
|
getAffected() const
|
|
{
|
|
return mAffected;
|
|
}
|
|
|
|
TxID
|
|
getTransactionID() const
|
|
{
|
|
return mTxn->getTransactionID();
|
|
}
|
|
TxType
|
|
getTxnType() const
|
|
{
|
|
return mTxn->getTxnType();
|
|
}
|
|
TER
|
|
getResult() const
|
|
{
|
|
return mMeta.getResultTER();
|
|
}
|
|
std::uint32_t
|
|
getTxnSeq() const
|
|
{
|
|
return mMeta.getIndex();
|
|
}
|
|
std::string
|
|
getEscMeta() const;
|
|
|
|
Json::Value const&
|
|
getJson() const
|
|
{
|
|
return mJson;
|
|
}
|
|
|
|
private:
|
|
std::shared_ptr<STTx const> mTxn;
|
|
TxMeta mMeta;
|
|
boost::container::flat_set<AccountID> mAffected;
|
|
Blob mRawMeta;
|
|
Json::Value mJson;
|
|
};
|
|
|
|
} // namespace xrpl
|