From 0e898e3d6aedc475c39bd8df06bd4cfacaf470f9 Mon Sep 17 00:00:00 2001 From: Arthur Britto Date: Sat, 12 May 2012 18:28:16 -0700 Subject: [PATCH] Create uint160extend256. --- src/uint256.h | 1 + src/utils.cpp | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/uint256.h b/src/uint256.h index f94097f0ac..d526040996 100644 --- a/src/uint256.h +++ b/src/uint256.h @@ -709,6 +709,7 @@ inline const uint256 operator|(const uint256& a, const uint256& b) { return (b inline const uint256 operator+(const uint256& a, const uint256& b) { return (base_uint256)a + (base_uint256)b; } inline const uint256 operator-(const uint256& a, const uint256& b) { return (base_uint256)a - (base_uint256)b; } +uint256 uint160extend256(const uint160& uSource); inline int Testuint256AdHoc(std::vector vArg) { diff --git a/src/utils.cpp b/src/utils.cpp index 52bbd43cc3..3ae809de7e 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -1,4 +1,19 @@ #include "utils.h" +#include "uint256.h" + +uint256 uint160extend256(const uint160& uSource) +{ + uint256 uResult; + + memcpy(uResult.begin() + (uResult.size() - uSource.size()), uSource.begin(), uSource.size()); + + return uResult; +} + +// +// Time support +// We have our own epoch. +// boost::posix_time::ptime ptEpoch() { @@ -19,6 +34,10 @@ boost::posix_time::ptime ptFromSeconds(int iSeconds) : ptEpoch() + boost::posix_time::seconds(iSeconds); } +// +// Hex suport +// + char charHex(int iDigit) { return iDigit < 10 ? '0' + iDigit : 'A' - 10 + iDigit; @@ -45,6 +64,10 @@ void strUnHex(std::string& strDst, const std::string& strSrc) strDst[i] = (charUnHex(strSrc[i*2]) << 4) | charUnHex(strSrc[i*2+1]); } +// +// DH support +// + void DH_der_gen(std::string& strDer, int iKeyLength) { DH* dh = 0;