diff --git a/src/SerializedTransaction.cpp b/src/SerializedTransaction.cpp index e4a4fefa44..99ceda0fb3 100644 --- a/src/SerializedTransaction.cpp +++ b/src/SerializedTransaction.cpp @@ -8,14 +8,13 @@ SerializedTransaction::SerializedTransaction(TransactionType type) : mType(type) mFormat = getTxnFormat(type); if (mFormat == NULL) throw std::runtime_error("invalid transaction type"); - mMiddleTxn.giveObject(new STUInt32("Magic", TransactionMagic)); mMiddleTxn.giveObject(new STVariableLength("SigningPubKey")); mMiddleTxn.giveObject(new STAccount("SourceAccount")); mMiddleTxn.giveObject(new STUInt32("Sequence")); mMiddleTxn.giveObject(new STUInt16("Type", static_cast(type))); mMiddleTxn.giveObject(new STAmount("Fee")); - mInnerTxn=STObject(mFormat->elements, "InnerTransaction"); + mInnerTxn = STObject(mFormat->elements, "InnerTransaction"); } SerializedTransaction::SerializedTransaction(SerializerIterator& sit, int length) @@ -27,10 +26,6 @@ SerializedTransaction::SerializedTransaction(SerializerIterator& sit, int length mSignature.setValue(sit.getVL()); - if (sit.get32() != TransactionMagic) - throw std::runtime_error("Transaction has invalid magic"); - - mMiddleTxn.giveObject(new STUInt32("Magic", TransactionMagic)); mMiddleTxn.giveObject(new STVariableLength("SigningPubKey", sit.getVL())); STAccount sa("SourceAccount", sit.getVL()); @@ -94,14 +89,11 @@ std::vector SerializedTransaction::getAffectedAccounts() const return accounts; } -int SerializedTransaction::getTransaction(Serializer& s, bool include_length) const +void SerializedTransaction::add(Serializer& s) const { - int l = getLength(); - if (include_length) s.add32(l); mSignature.add(s); mMiddleTxn.add(s); mInnerTxn.add(s); - return l; } bool SerializedTransaction::isEquivalent(const SerializedType& t) const @@ -117,6 +109,7 @@ bool SerializedTransaction::isEquivalent(const SerializedType& t) const uint256 SerializedTransaction::getSigningHash() const { Serializer s; + s.add32(TransactionMagic); mMiddleTxn.add(s); mInnerTxn.add(s); return s.getSHA512Half(); @@ -156,20 +149,6 @@ void SerializedTransaction::setSignature(const std::vector& sig) mSignature.setValue(sig); } -uint32 SerializedTransaction::getVersion() const -{ - const STUInt32* v = dynamic_cast(mMiddleTxn.peekAtPIndex(TransactionIVersion)); - if (!v) throw std::runtime_error("corrupt transaction"); - return v->getValue(); -} - -void SerializedTransaction::setVersion(uint32 ver) -{ - STUInt32* v = dynamic_cast(mMiddleTxn.getPIndex(TransactionIVersion)); - if (!v) throw std::runtime_error("corrupt transaction"); - v->setValue(ver); -} - STAmount SerializedTransaction::getTransactionFee() const { const STAmount* v = dynamic_cast(mMiddleTxn.peekAtPIndex(TransactionIFee)); diff --git a/src/SerializedTransaction.h b/src/SerializedTransaction.h index ed6300815b..53093fd38a 100644 --- a/src/SerializedTransaction.h +++ b/src/SerializedTransaction.h @@ -34,7 +34,7 @@ public: SerializedTypeID getSType() const { return STI_TRANSACTION; } std::string getFullText() const; std::string getText() const; - void add(Serializer& s) const { getTransaction(s, true); } + void add(Serializer& s) const; virtual bool isEquivalent(const SerializedType& t) const; // outer transaction functions / signature functions @@ -43,10 +43,6 @@ public: void setSignature(const std::vector& s); uint256 getSigningHash() const; - // middle transaction functions - uint32 getVersion() const; - void setVersion(uint32); - TransactionType getTxnType() const { return mType; } STAmount getTransactionFee() const; void setTransactionFee(STAmount saFee); @@ -111,8 +107,6 @@ public: std::vector getAffectedAccounts() const; - // whole transaction functions - int getTransaction(Serializer& s, bool include_length) const; uint256 getTransactionID() const; virtual Json::Value getJson(int options) const;