mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-20 02:55:50 +00:00
Starting tying into serializer code.
This commit is contained in:
@@ -21,36 +21,36 @@ Transaction::Transaction(TransStatus status, LocalAccount &fromLocalAccount, con
|
||||
assert((fromSeq+1)==fromLocalAccount.mSeqNum);
|
||||
|
||||
mAccountFrom=fromAccount.GetAddress();
|
||||
Sign(fromLocalAccount, fromAccount);
|
||||
sign(fromLocalAccount, fromAccount);
|
||||
}
|
||||
|
||||
bool Transaction::Sign(LocalAccount &fromLocalAccount, const Account &fromAccount)
|
||||
bool Transaction::sign(LocalAccount &fromLocalAccount, const Account &fromAccount)
|
||||
{
|
||||
if( (mAmount==0) || (mSourceLedger==0) || (mAccountTo==0) )
|
||||
return false;
|
||||
if((mAccountFrom!=fromLocalAccount.mAddress)||(mAccountFrom!=fromAccount.GetAddress()))
|
||||
return false;
|
||||
|
||||
UpdateHash();
|
||||
updateHash();
|
||||
|
||||
std::vector<unsigned char> toSign, Signature;
|
||||
if(!GetRawUnsigned(toSign, fromAccount)) return false;
|
||||
if(!getRawUnsigned(toSign, fromAccount)) return false;
|
||||
if(!fromLocalAccount.SignRaw(toSign, Signature)) return false;
|
||||
mSignature=Signature;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Transaction::CheckSign(const Account &fromAccount) const
|
||||
bool Transaction::checkSign(const Account &fromAccount) const
|
||||
{
|
||||
if(mAccountFrom!=fromAccount.GetAddress()) return false;
|
||||
|
||||
std::vector<unsigned char> toSign;
|
||||
if(!GetRawUnsigned(toSign, fromAccount)) return false;
|
||||
if(!getRawUnsigned(toSign, fromAccount)) return false;
|
||||
|
||||
return fromAccount.CheckSignRaw(toSign, mSignature);
|
||||
}
|
||||
|
||||
bool Transaction::GetRawUnsigned(std::vector<unsigned char> &raw, const Account &fromAccount) const
|
||||
bool Transaction::getRawUnsigned(std::vector<unsigned char> &raw, const Account &fromAccount) const
|
||||
{
|
||||
raw.clear();
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "uint256.h"
|
||||
#include "newcoin.pb.h"
|
||||
#include "Hanko.h"
|
||||
#include "Serializer.h"
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <boost/enable_shared_from_this.hpp>
|
||||
#include <boost/cstdint.hpp>
|
||||
@@ -46,28 +47,28 @@ public:
|
||||
Transaction();
|
||||
Transaction(const std::vector<unsigned char> rawTransaction);
|
||||
Transaction(const std::string sqlReply);
|
||||
Transaction(TransStatus Status, LocalAccount &fromLocal, const Account &from,
|
||||
uint32 fromSeq, const uint160 &to, uint64 amount, uint32 ident, uint32 ledger);
|
||||
Transaction(TransStatus Status, LocalAccount& fromLocal, const Account& from,
|
||||
uint32 fromSeq, const uint160& to, uint64 amount, uint32 ident, uint32 ledger);
|
||||
|
||||
bool Sign(LocalAccount &fromLocalAccount, const Account &fromAccount);
|
||||
bool CheckSign(const Account &fromAccount) const;
|
||||
bool sign(LocalAccount& fromLocalAccount, const Account& fromAccount);
|
||||
bool checkSign(const Account& fromAccount) const;
|
||||
|
||||
bool GetRawUnsigned(std::vector<unsigned char> &raw, const Account &from) const;
|
||||
bool GetRawSigned(std::vector<unsigned char> &raw, const Account &from) const;
|
||||
Serializer::pointer getRawUnsigned(const Account& from) const;
|
||||
Serializer::pointer getRawSigned(const Account& from) const;
|
||||
|
||||
const uint256& GetID() const { return mTransactionID; }
|
||||
const uint160& GetFromAccount() const { return mAccountFrom; }
|
||||
const uint160& GetToAccount() const { return mAccountTo; }
|
||||
uint64 GetAmount() const { return mAmount; }
|
||||
uint32 GetFromAccountSeq() const { return mFromAccountSeq; }
|
||||
uint32 GetSourceLedger() const { return mSourceLedger; }
|
||||
uint32 GetIdent() const { return mIdent; }
|
||||
const std::vector<unsigned char>& GetSignature() const { return mSignature; }
|
||||
uint32 GetLedger() const { return mInLedger; }
|
||||
TransStatus GetStatus() const { return mStatus; }
|
||||
const uint256& getID() const { return mTransactionID; }
|
||||
const uint160& getFromAccount() const { return mAccountFrom; }
|
||||
const uint160& getToAccount() const { return mAccountTo; }
|
||||
uint64 getAmount() const { return mAmount; }
|
||||
uint32 getFromAccountSeq() const { return mFromAccountSeq; }
|
||||
uint32 getSourceLedger() const { return mSourceLedger; }
|
||||
uint32 getIdent() const { return mIdent; }
|
||||
const std::vector<unsigned char>& getSignature() const { return mSignature; }
|
||||
uint32 getLedger() const { return mInLedger; }
|
||||
TransStatus getStatus() const { return mStatus; }
|
||||
|
||||
void SetStatus(TransStatus st);
|
||||
void SetLedger(uint32 Ledger);
|
||||
void setStatus(TransStatus st);
|
||||
void setLedger(uint32 Ledger);
|
||||
|
||||
bool operator<(const Transaction &) const;
|
||||
bool operator>(const Transaction &) const;
|
||||
|
||||
Reference in New Issue
Block a user