From 06971a69a75e327f5bf98ea71ca4490e6426beeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Mon, 24 Apr 2017 11:48:27 +0200 Subject: [PATCH] Remove more code --- libdevcore/CMakeLists.txt | 29 +++-------- libdevcore/CommonJS.cpp | 103 -------------------------------------- libdevcore/CommonJS.h | 69 ------------------------- libdevcore/SHA3.cpp | 7 +-- libethcore/BlockInfo.h | 2 - 5 files changed, 7 insertions(+), 203 deletions(-) delete mode 100644 libdevcore/CommonJS.cpp diff --git a/libdevcore/CMakeLists.txt b/libdevcore/CMakeLists.txt index 3fb79cbea..0fbec77d2 100644 --- a/libdevcore/CMakeLists.txt +++ b/libdevcore/CMakeLists.txt @@ -1,26 +1,9 @@ -cmake_policy(SET CMP0015 NEW) - -aux_source_directory(. SOURCES) - -include_directories(BEFORE ${JSONCPP_INCLUDE_DIRS}) -include_directories(BEFORE ..) - -set(EXECUTABLE devcore) - +file(GLOB SOURCES "*.cpp") file(GLOB HEADERS "*.h") -add_library(devcore ${SOURCES} ${HEADERS}) - -target_link_libraries(devcore PUBLIC ${JSONCPP_LIBRARIES} Boost::boost) - -if (APPLE) - find_package(Threads REQUIRED) - target_link_libraries(${EXECUTABLE} PRIVATE ${CMAKE_THREAD_LIBS_INIT}) -elseif (UNIX) - find_package(Threads REQUIRED) - target_link_libraries(${EXECUTABLE} PRIVATE ${CMAKE_THREAD_LIBS_INIT}) -endif() - -install( TARGETS ${EXECUTABLE} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib ) -install( FILES ${HEADERS} DESTINATION include/${EXECUTABLE} ) +find_package(Threads) +add_library(devcore ${SOURCES} ${HEADERS}) +target_link_libraries(devcore PUBLIC Boost::boost) +target_link_libraries(devcore PRIVATE ${CMAKE_THREAD_LIBS_INIT}) +#target_include_directories(devcore PRIVATE ..) \ No newline at end of file diff --git a/libdevcore/CommonJS.cpp b/libdevcore/CommonJS.cpp deleted file mode 100644 index 262944b65..000000000 --- a/libdevcore/CommonJS.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/* - This file is part of cpp-ethereum. - - cpp-ethereum is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - cpp-ethereum is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with cpp-ethereum. If not, see . -*/ -/** @file CommonJS.cpp - * @authors: - * Gav Wood - * Marek Kotewicz - * @date 2014 - */ - -#include "CommonJS.h" - -using namespace std; - -namespace dev -{ - -bytes jsToBytes(string const& _s) -{ - if (_s.substr(0, 2) == "0x") - // Hex - return fromHex(_s.substr(2)); - else if (_s.find_first_not_of("0123456789") == string::npos) - // Decimal - return toCompactBigEndian(bigint(_s)); - else - return bytes(); -} - -bytes padded(bytes _b, unsigned _l) -{ - while (_b.size() < _l) - _b.insert(_b.begin(), 0); - return asBytes(asString(_b).substr(_b.size() - max(_l, _l))); -} - -bytes paddedRight(bytes _b, unsigned _l) -{ - _b.resize(_l); - return _b; -} - -bytes unpadded(bytes _b) -{ - auto p = asString(_b).find_last_not_of((char)0); - _b.resize(p == string::npos ? 0 : (p + 1)); - return _b; -} - -bytes unpadLeft(bytes _b) -{ - unsigned int i = 0; - if (_b.size() == 0) - return _b; - - while (i < _b.size() && _b[i] == byte(0)) - i++; - - if (i != 0) - _b.erase(_b.begin(), _b.begin() + i); - return _b; -} - -string fromRaw(h256 _n, unsigned* _inc) -{ - if (_n) - { - string s((char const*)_n.data(), 32); - auto l = s.find_first_of('\0'); - if (!l) - return ""; - if (l != string::npos) - { - auto p = s.find_first_not_of('\0', l); - if (!(p == string::npos || (_inc && p == 31))) - return ""; - if (_inc) - *_inc = (byte)s[31]; - s.resize(l); - } - for (auto i: s) - if (i < 32) - return ""; - return s; - } - return ""; -} - -} - diff --git a/libdevcore/CommonJS.h b/libdevcore/CommonJS.h index 02b9496a2..e48d24df5 100644 --- a/libdevcore/CommonJS.h +++ b/libdevcore/CommonJS.h @@ -30,11 +30,6 @@ namespace dev { -template std::string toJS(FixedHash const& _h) -{ - return "0x" + toHex(_h.ref()); -} - template std::string toJS(boost::multiprecision::number> const& _n) { std::string h = toHex(toCompactBigEndian(_n, 1)); @@ -43,58 +38,6 @@ template std::string toJS(boost::multiprecision::number(n.size(), _padding)); - return "0x" + toHex(n); -} - -template std::string toJS(SecureFixedHash const& _i) -{ - std::stringstream stream; - stream << "0x" << _i.makeInsecure().hex(); - return stream.str(); -} - -template std::string toJS(T const& _i) -{ - std::stringstream stream; - stream << "0x" << std::hex << _i; - return stream.str(); -} - -/// Convert string to byte array. Input parameters can be hex or dec. Returns empty array if invalid input e.g neither dec or hex. -bytes jsToBytes(std::string const& _s); -/// Add '0' on, or remove items from, the front of @a _b until it is of length @a _l. -bytes padded(bytes _b, unsigned _l); -/// Add '0' on, or remove items from, the back of @a _b until it is of length @a _l. -bytes paddedRight(bytes _b, unsigned _l); -/// Removing all trailing '0'. Returns empty array if input contains only '0' char. -bytes unpadded(bytes _s); -/// Remove all 0 byte on the head of @a _s. -bytes unpadLeft(bytes _s); -/// Convert h256 into user-readable string (by directly using std::string constructor). -std::string fromRaw(h256 _n, unsigned* _inc = nullptr); - -template FixedHash jsToFixed(std::string const& _s) -{ - if (_s.substr(0, 2) == "0x") - // Hex - return FixedHash(_s.substr(2 + std::max(N * 2, _s.size() - 2) - N * 2)); - else if (_s.find_first_not_of("0123456789") == std::string::npos) - // Decimal - return (typename FixedHash::Arith)(_s); - else - // Binary - return FixedHash(); // FAIL -} - -inline std::string jsToFixed(double _s) -{ - return toJS(u256(_s * (double)(u256(1) << 128))); -} - template boost::multiprecision::number> jsToInt(std::string const& _s) { if (_s.substr(0, 2) == "0x") @@ -108,16 +51,4 @@ template boost::multiprecision::number(_s); } - -inline int jsToInt(std::string const& _s) -{ - return std::stoi(_s, nullptr, 0); -} - -inline std::string jsToDecimal(std::string const& _s) -{ - return toString(jsToU256(_s)); -} - } diff --git a/libdevcore/SHA3.cpp b/libdevcore/SHA3.cpp index d2cd40b16..3f4fd2c96 100644 --- a/libdevcore/SHA3.cpp +++ b/libdevcore/SHA3.cpp @@ -20,18 +20,13 @@ */ #include "SHA3.h" -#include -#include -#include -#include -#include +#include "RLP.h" using namespace std; using namespace dev; namespace dev { -h256 EmptySHA3 = sha3(bytesConstRef()); h256 EmptyListSHA3 = sha3(rlpList()); namespace keccak diff --git a/libethcore/BlockInfo.h b/libethcore/BlockInfo.h index 93ffac14c..c0082d7cb 100644 --- a/libethcore/BlockInfo.h +++ b/libethcore/BlockInfo.h @@ -111,8 +111,6 @@ public: } bool operator!=(BlockInfo const& _cmp) const { return !operator==(_cmp); } - u256 calculateDifficulty(BlockInfo const& _parent) const; - u256 childGasLimit(u256 const& _gasFloorTarget = UndefinedU256) const; h256 const& boundary() const; h256 const& parentHash() const { return m_parentHash; }