diff --git a/src/Serializer.cpp b/src/Serializer.cpp index b1803de4c8..91b8dcf755 100644 --- a/src/Serializer.cpp +++ b/src/Serializer.cpp @@ -4,6 +4,16 @@ #include #include +int Serializer::addZeros(size_t uBytes) +{ + int ret = mData.size(); + + while (uBytes--) + mData.push_back(0); + + return ret; +} + int Serializer::add16(uint16 i) { int ret = mData.size(); @@ -574,4 +584,13 @@ std::vector SerializerIterator::getTaggedList() mPos += length; return tl; } + +std::vector SerializerIterator::getRaw(int iLength) +{ + int iPos = mPos; + mPos += iLength; + + return mSerializer.getRaw(iPos, iLength); +} + // vim:ts=4 diff --git a/src/Serializer.h b/src/Serializer.h index e20be248a6..6000c4e89b 100644 --- a/src/Serializer.h +++ b/src/Serializer.h @@ -36,6 +36,7 @@ class Serializer int addRaw(const std::vector &vector); int addRaw(const void *ptr, int len); int addRaw(const Serializer& s); + int addZeros(size_t uBytes); int addVL(const std::vector &vector); int addVL(const void *ptr, int len); @@ -136,6 +137,8 @@ public: uint160 get160(); uint256 get256(); + std::vector getRaw(int iLength); + std::vector getVL(); std::vector getTaggedList(); };