diff --git a/src/RPCServer.cpp b/src/RPCServer.cpp index 3ea55211c6..77e2ff81cb 100644 --- a/src/RPCServer.cpp +++ b/src/RPCServer.cpp @@ -429,7 +429,7 @@ Json::Value RPCServer::doSend(Json::Value& params) } else { - STPath spPaths; + STPathSet spPaths; Transaction::pointer trans = Transaction::sharedPayment( naAccountPublic, naAccountPrivate, naSrcAccountID, diff --git a/src/SerializedObject.cpp b/src/SerializedObject.cpp index 620c87eba2..672c17fd4f 100644 --- a/src/SerializedObject.cpp +++ b/src/SerializedObject.cpp @@ -564,12 +564,12 @@ void STObject::setValueFieldAmount(SOE_Field field, const STAmount &v) (*cf) = v; } -void STObject::setValueFieldPath(SOE_Field field, const STPath &v) +void STObject::setValueFieldPathSet(SOE_Field field, const STPathSet &v) { SerializedType* rf = getPField(field); if (!rf) throw std::runtime_error("Field not found"); if (rf->getSType() == STI_NOTPRESENT) rf = makeFieldPresent(field); - STPath* cf = dynamic_cast(rf); + STPathSet* cf = dynamic_cast(rf); if (!cf) throw std::runtime_error("Wrong field type"); (*cf) = v; } diff --git a/src/SerializedObject.h b/src/SerializedObject.h index 29881b8a69..60f8c3c75c 100644 --- a/src/SerializedObject.h +++ b/src/SerializedObject.h @@ -161,7 +161,7 @@ public: void setValueFieldAccount(SOE_Field field, const NewcoinAddress& addr) { setValueFieldAccount(field, addr.getAccountID()); } void setValueFieldAmount(SOE_Field field, const STAmount&); - void setValueFieldPath(SOE_Field field, const STPath&); + void setValueFieldPathSet(SOE_Field field, const STPathSet&); bool isFieldPresent(SOE_Field field) const; SerializedType* makeFieldPresent(SOE_Field field); diff --git a/src/SerializedTransaction.h b/src/SerializedTransaction.h index ba516ecf40..ed6300815b 100644 --- a/src/SerializedTransaction.h +++ b/src/SerializedTransaction.h @@ -101,8 +101,8 @@ public: { return mInnerTxn.setValueFieldAccount(field, v); } void setITFieldAmount(SOE_Field field, const STAmount& v) { return mInnerTxn.setValueFieldAmount(field, v); } - void setITFieldPath(SOE_Field field, const STPath& v) - { return mInnerTxn.setValueFieldPath(field, v); } + void setITFieldPathSet(SOE_Field field, const STPathSet& v) + { return mInnerTxn.setValueFieldPathSet(field, v); } // optional field functions bool getITFieldPresent(SOE_Field field) const; diff --git a/src/SerializedTypes.cpp b/src/SerializedTypes.cpp index d6cce1cacd..c5fd60b8a9 100644 --- a/src/SerializedTypes.cpp +++ b/src/SerializedTypes.cpp @@ -406,3 +406,4 @@ void STPathSet::add(Serializer& s) const } s.add8(STPathElement::typeEnd); } +// vim:ts=4 diff --git a/src/SerializedTypes.h b/src/SerializedTypes.h index a05b4c9c45..a525402ecf 100644 --- a/src/SerializedTypes.h +++ b/src/SerializedTypes.h @@ -469,8 +469,8 @@ public: bool isEmpty() const { return mPath.empty(); } const STPathElement& getElement(int offset) const { return mPath[offset]; } const STPathElement& getElemet(int offset) { return mPath[offset]; } - void addElement(const STPathElement& e) { mPath.push_back(e); } - void clear() { mPath.clear(); } + void addElement(const STPathElement& e) { mPath.push_back(e); } + void clear() { mPath.clear(); } int getSerializeSize() const { return 1 + mPath.size() * 21; } std::string getText() const; Json::Value getJson(int) const; diff --git a/src/Transaction.cpp b/src/Transaction.cpp index d2ae2f3459..d60939eb5b 100644 --- a/src/Transaction.cpp +++ b/src/Transaction.cpp @@ -191,21 +191,19 @@ Transaction::pointer Transaction::setPayment( const NewcoinAddress& toAccount, const STAmount& saAmount, const STAmount& saSendMax, - const STPath& spPaths) + const STPathSet& spPaths) { mTransaction->setITFieldAccount(sfDestination, toAccount); mTransaction->setITFieldAmount(sfAmount, saAmount); if (saAmount != saSendMax) { - mTransaction->makeITFieldPresent(sfSendMax); mTransaction->setITFieldAmount(sfSendMax, saSendMax); } - if (!spPaths.emptyPath()) + if (spPaths.getPathCount()) { - mTransaction->makeITFieldPresent(sfPaths); - mTransaction->setITFieldPath(sfPaths, spPaths); + mTransaction->setITFieldPathSet(sfPaths, spPaths); } sign(naPrivateKey); @@ -222,7 +220,7 @@ Transaction::pointer Transaction::sharedPayment( const NewcoinAddress& toAccount, const STAmount& saAmount, const STAmount& saSendMax, - const STPath& saPaths) + const STPathSet& saPaths) { pointer tResult = boost::make_shared(ttPAYMENT, naPublicKey, naSourceAccount, diff --git a/src/Transaction.h b/src/Transaction.h index 48273aa218..475f5faac4 100644 --- a/src/Transaction.h +++ b/src/Transaction.h @@ -62,7 +62,7 @@ private: const NewcoinAddress& toAccount, const STAmount& saAmount, const STAmount& saSendMax, - const STPath& spPaths); + const STPathSet& spPaths); public: Transaction(const SerializedTransaction::pointer st, bool bValidate); @@ -106,7 +106,7 @@ public: const NewcoinAddress& toAccount, const STAmount& saAmount, const STAmount& saSendMax, - const STPath& saPaths); + const STPathSet& saPaths); bool sign(const NewcoinAddress& naAccountPrivate); bool checkSign() const; diff --git a/src/TransactionFormats.cpp b/src/TransactionFormats.cpp index 03c3d3dd92..06f833ea29 100644 --- a/src/TransactionFormats.cpp +++ b/src/TransactionFormats.cpp @@ -10,7 +10,7 @@ TransactionFormat InnerTxnFormats[]= { S_FIELD(Destination), STI_ACCOUNT, SOE_REQUIRED, 0 }, { S_FIELD(Amount), STI_AMOUNT, SOE_REQUIRED, 0 }, { S_FIELD(SendMax), STI_AMOUNT, SOE_IFFLAG, 1 }, - { S_FIELD(Paths), STI_PATH, SOE_IFFLAG, 2 }, + { S_FIELD(Paths), STI_PATHSET, SOE_IFFLAG, 2 }, { S_FIELD(SourceTag), STI_UINT32, SOE_IFFLAG, 4 }, { S_FIELD(InvoiceID), STI_HASH256, SOE_IFFLAG, 8 }, { S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },