From c6d407e32dbb5c0c905e936080d6a0ffb043afe6 Mon Sep 17 00:00:00 2001 From: clemahieu Date: Mon, 13 Oct 2014 19:33:44 -0500 Subject: [PATCH] Moving random_pool in to secure. --- ed25519-donna/ed25519-randombytes-custom.h | 5 ++++- rai/core/core.cpp | 12 ------------ rai/core/core.hpp | 14 -------------- rai/secure.cpp | 14 +++++++++++++- rai/secure.hpp | 18 +++++++++++++++++- 5 files changed, 34 insertions(+), 29 deletions(-) diff --git a/ed25519-donna/ed25519-randombytes-custom.h b/ed25519-donna/ed25519-randombytes-custom.h index ad833877..2133ba97 100644 --- a/ed25519-donna/ed25519-randombytes-custom.h +++ b/ed25519-donna/ed25519-randombytes-custom.h @@ -9,9 +9,12 @@ #include +namespace rai +{ extern CryptoPP::AutoSeededRandomPool random_pool; +} void ed25519_randombytes_unsafe (void * out, size_t outlen) { - random_pool.GenerateBlock (reinterpret_cast (out), outlen); + rai::random_pool.GenerateBlock (reinterpret_cast (out), outlen); } \ No newline at end of file diff --git a/rai/core/core.cpp b/rai/core/core.cpp index d232c268..27884d02 100644 --- a/rai/core/core.cpp +++ b/rai/core/core.cpp @@ -1,7 +1,5 @@ #include -#include - #include #include @@ -55,18 +53,8 @@ namespace } } -CryptoPP::AutoSeededRandomPool random_pool; std::chrono::seconds constexpr rai::processor::period; std::chrono::seconds constexpr rai::processor::cutoff; -namespace { - std::string rai_test_private_key = "E49C03BB7404C10B388AE56322217306B57F3DCBB3A5F060A2F420AD7AA3F034"; - std::string rai_test_public_key = "1149338F7D0DA66D7ED0DAA4F1F72431831B3D06AFC704F3224D68B317CC41B2"; - std::string rai_live_public_key = "0"; -} -rai::keypair rai::test_genesis_key (rai_test_private_key); -rai::address rai::rai_test_address (rai_test_public_key); -rai::address rai::rai_live_address (rai_live_public_key); -rai::address rai::genesis_address (GENESIS_KEY); void hash_number (CryptoPP::SHA3 & hash_a, boost::multiprecision::uint256_t const & number_a) { diff --git a/rai/core/core.hpp b/rai/core/core.hpp index c38e7903..b83aea9e 100644 --- a/rai/core/core.hpp +++ b/rai/core/core.hpp @@ -556,20 +556,6 @@ namespace rai { > > peers; }; - extern rai::keypair test_genesis_key; - extern rai::address rai_test_address; - extern rai::address rai_live_address; - extern rai::address genesis_address; - class genesis - { - public: - explicit genesis (); - void initialize (rai::block_store &) const; - rai::block_hash hash () const; - rai::send_block send1; - rai::send_block send2; - rai::open_block open; - }; class log { public: diff --git a/rai/secure.cpp b/rai/secure.cpp index 2b3f0621..fcfa6b7b 100644 --- a/rai/secure.cpp +++ b/rai/secure.cpp @@ -3,6 +3,8 @@ #include #include +CryptoPP::AutoSeededRandomPool rai::random_pool; + void rai::uint256_union::digest_password (std::string const & password_a) { CryptoPP::SHA3 hash (32); @@ -1861,4 +1863,14 @@ rai::uint256_union rai::vote::hash () const rai::uint256_t rai::votes::flip_threshold () { return ledger.supply () / 2; -} \ No newline at end of file +} + +namespace { + std::string rai_test_private_key = "E49C03BB7404C10B388AE56322217306B57F3DCBB3A5F060A2F420AD7AA3F034"; + std::string rai_test_public_key = "1149338F7D0DA66D7ED0DAA4F1F72431831B3D06AFC704F3224D68B317CC41B2"; + std::string rai_live_public_key = "0"; +} +rai::keypair rai::test_genesis_key (rai_test_private_key); +rai::address rai::rai_test_address (rai_test_public_key); +rai::address rai::rai_live_address (rai_live_public_key); +rai::address rai::genesis_address (GENESIS_KEY); \ No newline at end of file diff --git a/rai/secure.hpp b/rai/secure.hpp index 6134a4ae..f0eda265 100644 --- a/rai/secure.hpp +++ b/rai/secure.hpp @@ -3,6 +3,7 @@ #include #include +#include #include #include @@ -13,6 +14,7 @@ namespace rai { + extern CryptoPP::AutoSeededRandomPool random_pool; using stream = std::basic_streambuf ; using bufferstream = boost::iostreams::stream_buffer >; using vectorstream = boost::iostreams::stream_buffer >>; @@ -453,5 +455,19 @@ namespace rai std::unique_ptr last_winner; uint64_t sequence; std::unordered_map >> rep_votes; - }; + }; + extern rai::keypair test_genesis_key; + extern rai::address rai_test_address; + extern rai::address rai_live_address; + extern rai::address genesis_address; + class genesis + { + public: + explicit genesis (); + void initialize (rai::block_store &) const; + rai::block_hash hash () const; + rai::send_block send1; + rai::send_block send2; + rai::open_block open; + }; } \ No newline at end of file