From 9a50a0e4f1364a33adaa53bff31ffcd6352525d9 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Fri, 20 Apr 2012 20:21:27 -0700 Subject: [PATCH] Helper function for STAccount->uint160 inside an object. --- src/SerializedTransaction.cpp | 12 ++++++++++++ src/SerializedTransaction.h | 1 + 2 files changed, 13 insertions(+) diff --git a/src/SerializedTransaction.cpp b/src/SerializedTransaction.cpp index 2282f051d..fc785f4e3 100644 --- a/src/SerializedTransaction.cpp +++ b/src/SerializedTransaction.cpp @@ -210,6 +210,18 @@ void SerializedTransaction::setSigningAccount(const std::vector& updateSigningAccount(); } +uint160 SerializedTransaction::GetITFieldAccount(SOE_Field field) +{ + uint160 r; + SerializedType* st = mInnerTxn.getPField(field); + if (!st) return r; + + STAccount *ac = dynamic_cast(ac); + if (!ac) return r; + ac->getValueH160(r); + return r; +} + int SerializedTransaction::getITFieldIndex(SOE_Field field) const { return mInnerTxn.getFieldIndex(field); diff --git a/src/SerializedTransaction.h b/src/SerializedTransaction.h index 12dc81a59..452ba283f 100644 --- a/src/SerializedTransaction.h +++ b/src/SerializedTransaction.h @@ -76,6 +76,7 @@ public: uint32 getITFieldU32(SOE_Field field) const { return mInnerTxn.getValueFieldU32(field); } uint64 getITFieldU64(SOE_Field field) const { return mInnerTxn.getValueFieldU64(field); } uint160 getITFieldH160(SOE_Field field) const { return mInnerTxn.getValueFieldH160(field); } + uint160 getITFieldAccount(SOE_Field field) const; uint256 getITFieldH256(SOE_Field field) const { return mInnerTxn.getValueFieldH256(field); } std::vector getITFieldVL(SOE_Field field) const { return mInnerTxn.getValueFieldVL(field); } std::vector getITFieldTL(SOE_Field field) const { return mInnerTxn.getValueFieldTL(field); }