mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Rename TransactionEngineResult to TER & work on ripple.
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
#define __TRANSACTIONENGINE__
|
||||
|
||||
#include <boost/tuple/tuple.hpp>
|
||||
#include <boost/tuple/tuple_comparison.hpp>
|
||||
#include <boost/unordered_set.hpp>
|
||||
#include <boost/unordered_map.hpp>
|
||||
|
||||
@@ -13,7 +14,7 @@
|
||||
// A TransactionEngine applies serialized transactions to a ledger
|
||||
// It can also, verify signatures, verify fees, and give rejection reasons
|
||||
|
||||
enum TransactionEngineResult
|
||||
enum TER // aka TransactionEngineResult
|
||||
{
|
||||
// Note: Range is stable. Exact numbers are currently unstable. Use tokens.
|
||||
|
||||
@@ -84,7 +85,7 @@ enum TransactionEngineResult
|
||||
tepPATH_PARTIAL,
|
||||
};
|
||||
|
||||
bool transResultInfo(TransactionEngineResult terCode, std::string& strToken, std::string& strHuman);
|
||||
bool transResultInfo(TER terCode, std::string& strToken, std::string& strHuman);
|
||||
|
||||
enum TransactionEngineParams
|
||||
{
|
||||
@@ -122,6 +123,7 @@ typedef boost::unordered_map<aciSource, unsigned int> curIssuerNode; // Map
|
||||
typedef boost::unordered_map<aciSource, unsigned int>::const_iterator curIssuerNodeConstIterator;
|
||||
|
||||
extern std::size_t hash_value(const aciSource& asValue);
|
||||
// extern std::size_t hash_value(const boost::tuple<uint160, uint160, uint160>& bt);
|
||||
|
||||
// Hold a path state under incremental application.
|
||||
class PathState
|
||||
@@ -198,12 +200,12 @@ class TransactionEngine
|
||||
private:
|
||||
LedgerEntrySet mNodes;
|
||||
|
||||
TransactionEngineResult dirAdd(
|
||||
TER dirAdd(
|
||||
uint64& uNodeDir, // Node of entry.
|
||||
const uint256& uRootIndex,
|
||||
const uint256& uLedgerIndex);
|
||||
|
||||
TransactionEngineResult dirDelete(
|
||||
TER dirDelete(
|
||||
const bool bKeepRoot,
|
||||
const uint64& uNodeDir, // Node item is mentioned in.
|
||||
const uint256& uRootIndex,
|
||||
@@ -213,9 +215,9 @@ private:
|
||||
bool dirFirst(const uint256& uRootIndex, SLE::pointer& sleNode, unsigned int& uDirEntry, uint256& uEntryIndex);
|
||||
bool dirNext(const uint256& uRootIndex, SLE::pointer& sleNode, unsigned int& uDirEntry, uint256& uEntryIndex);
|
||||
|
||||
TransactionEngineResult setAuthorized(const SerializedTransaction& txn, bool bMustSetGenerator);
|
||||
TER setAuthorized(const SerializedTransaction& txn, bool bMustSetGenerator);
|
||||
|
||||
TransactionEngineResult takeOffers(
|
||||
TER takeOffers(
|
||||
bool bPassive,
|
||||
const uint256& uBookBase,
|
||||
const uint160& uTakerAccountID,
|
||||
@@ -246,8 +248,8 @@ protected:
|
||||
void entryDelete(SLE::pointer sleEntry, bool bUnfunded = false);
|
||||
void entryModify(SLE::pointer sleEntry);
|
||||
|
||||
TransactionEngineResult offerDelete(const uint256& uOfferIndex);
|
||||
TransactionEngineResult offerDelete(const SLE::pointer& sleOffer, const uint256& uOfferIndex, const uint160& uOwnerID);
|
||||
TER offerDelete(const uint256& uOfferIndex);
|
||||
TER offerDelete(const SLE::pointer& sleOffer, const uint256& uOfferIndex, const uint160& uOwnerID);
|
||||
|
||||
uint32 rippleTransferRate(const uint160& uIssuerID);
|
||||
STAmount rippleOwed(const uint160& uToAccountID, const uint160& uFromAccountID, const uint160& uCurrencyID);
|
||||
@@ -267,31 +269,31 @@ protected:
|
||||
|
||||
PathState::pointer pathCreate(const STPath& spPath);
|
||||
void pathNext(const PathState::pointer& pspCur, const int iPaths);
|
||||
bool calcNode(const unsigned int uIndex, const PathState::pointer& pspCur, const bool bMultiQuality);
|
||||
bool calcNodeOfferRev(const unsigned int uIndex, const PathState::pointer& pspCur, const bool bMultiQuality);
|
||||
bool calcNodeOfferFwd(const unsigned int uIndex, const PathState::pointer& pspCur, const bool bMultiQuality);
|
||||
bool calcNodeAccountRev(const unsigned int uIndex, const PathState::pointer& pspCur, const bool bMultiQuality);
|
||||
bool calcNodeAccountFwd(const unsigned int uIndex, const PathState::pointer& pspCur, const bool bMultiQuality);
|
||||
TER calcNode(const unsigned int uIndex, const PathState::pointer& pspCur, const bool bMultiQuality);
|
||||
TER calcNodeOfferRev(const unsigned int uIndex, const PathState::pointer& pspCur, const bool bMultiQuality);
|
||||
TER calcNodeOfferFwd(const unsigned int uIndex, const PathState::pointer& pspCur, const bool bMultiQuality);
|
||||
TER calcNodeAccountRev(const unsigned int uIndex, const PathState::pointer& pspCur, const bool bMultiQuality);
|
||||
TER calcNodeAccountFwd(const unsigned int uIndex, const PathState::pointer& pspCur, const bool bMultiQuality);
|
||||
void calcNodeRipple(const uint32 uQualityIn, const uint32 uQualityOut,
|
||||
const STAmount& saPrvReq, const STAmount& saCurReq,
|
||||
STAmount& saPrvAct, STAmount& saCurAct);
|
||||
|
||||
void txnWrite();
|
||||
|
||||
TransactionEngineResult doAccountSet(const SerializedTransaction& txn);
|
||||
TransactionEngineResult doClaim(const SerializedTransaction& txn);
|
||||
TransactionEngineResult doCreditSet(const SerializedTransaction& txn);
|
||||
TransactionEngineResult doDelete(const SerializedTransaction& txn);
|
||||
TransactionEngineResult doInvoice(const SerializedTransaction& txn);
|
||||
TransactionEngineResult doOfferCreate(const SerializedTransaction& txn);
|
||||
TransactionEngineResult doOfferCancel(const SerializedTransaction& txn);
|
||||
TransactionEngineResult doNicknameSet(const SerializedTransaction& txn);
|
||||
TransactionEngineResult doPasswordFund(const SerializedTransaction& txn);
|
||||
TransactionEngineResult doPasswordSet(const SerializedTransaction& txn);
|
||||
TransactionEngineResult doPayment(const SerializedTransaction& txn);
|
||||
TransactionEngineResult doStore(const SerializedTransaction& txn);
|
||||
TransactionEngineResult doTake(const SerializedTransaction& txn);
|
||||
TransactionEngineResult doWalletAdd(const SerializedTransaction& txn);
|
||||
TER doAccountSet(const SerializedTransaction& txn);
|
||||
TER doClaim(const SerializedTransaction& txn);
|
||||
TER doCreditSet(const SerializedTransaction& txn);
|
||||
TER doDelete(const SerializedTransaction& txn);
|
||||
TER doInvoice(const SerializedTransaction& txn);
|
||||
TER doOfferCreate(const SerializedTransaction& txn);
|
||||
TER doOfferCancel(const SerializedTransaction& txn);
|
||||
TER doNicknameSet(const SerializedTransaction& txn);
|
||||
TER doPasswordFund(const SerializedTransaction& txn);
|
||||
TER doPasswordSet(const SerializedTransaction& txn);
|
||||
TER doPayment(const SerializedTransaction& txn);
|
||||
TER doStore(const SerializedTransaction& txn);
|
||||
TER doTake(const SerializedTransaction& txn);
|
||||
TER doWalletAdd(const SerializedTransaction& txn);
|
||||
|
||||
public:
|
||||
TransactionEngine() { ; }
|
||||
@@ -300,7 +302,7 @@ public:
|
||||
Ledger::pointer getLedger() { return mLedger; }
|
||||
void setLedger(const Ledger::pointer& ledger) { assert(ledger); mLedger = ledger; }
|
||||
|
||||
TransactionEngineResult applyTransaction(const SerializedTransaction&, TransactionEngineParams);
|
||||
TER applyTransaction(const SerializedTransaction&, TransactionEngineParams);
|
||||
};
|
||||
|
||||
inline TransactionEngineParams operator|(const TransactionEngineParams& l1, const TransactionEngineParams& l2)
|
||||
|
||||
Reference in New Issue
Block a user