mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Class for tracking conflicted/rejected transactions
This commit is contained in:
44
Confirmation.h
Normal file
44
Confirmation.h
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
#ifndef __CONFIRMATION__
|
||||||
|
#define __CONFIRMATION__
|
||||||
|
|
||||||
|
#include "newcoin.pb.h"
|
||||||
|
#include "uint256.h"
|
||||||
|
#include <boost/shared_ptr.hpp>
|
||||||
|
|
||||||
|
enum ConfirmationStatus
|
||||||
|
{
|
||||||
|
NEW, // first for this account/seq
|
||||||
|
CONFLICTED, // rejected as of this time
|
||||||
|
ACCEPTED, // in active bundle, has confirmations
|
||||||
|
COMMITTED
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class Confirmation
|
||||||
|
{ // used primarily to report conflicted or rejected transactions
|
||||||
|
public:
|
||||||
|
typedef boost::shared_ptr<Transaction> pointer;
|
||||||
|
|
||||||
|
private:
|
||||||
|
uint256 mTransactionID;
|
||||||
|
uint160 mHanko;
|
||||||
|
uint64 mTimestamp;
|
||||||
|
ConfirmationStatus mStatus;
|
||||||
|
bool mConflicts;
|
||||||
|
std::vector<unsigned char> mSignature;
|
||||||
|
|
||||||
|
public:
|
||||||
|
Transaction();
|
||||||
|
Transaction(const uint256 &id);
|
||||||
|
Transaction(const std::vector<unsigned char> rawTransaction);
|
||||||
|
|
||||||
|
const uint256& GetID() const { return mTransactionID; }
|
||||||
|
const uint160& GetHanko() const { return mHanko; }
|
||||||
|
uint64 GetTimestamp() const { return mTimestamp; }
|
||||||
|
ConfirmationStatus() const { return mStatus; }
|
||||||
|
bool HasConflicts() const { return mConflicts; }
|
||||||
|
|
||||||
|
bool save();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user