diff --git a/Confirmation.h b/Confirmation.h new file mode 100644 index 0000000000..665e7a3cd3 --- /dev/null +++ b/Confirmation.h @@ -0,0 +1,44 @@ +#ifndef __CONFIRMATION__ +#define __CONFIRMATION__ + +#include "newcoin.pb.h" +#include "uint256.h" +#include + +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 pointer; + +private: + uint256 mTransactionID; + uint160 mHanko; + uint64 mTimestamp; + ConfirmationStatus mStatus; + bool mConflicts; + std::vector mSignature; + +public: + Transaction(); + Transaction(const uint256 &id); + Transaction(const std::vector 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