From 0e9d23086f177b796f111d7e27d6b8816b45fdfb Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Mon, 10 Feb 2020 16:58:08 +0100 Subject: [PATCH] Adding "eoskeygen" namespace. --- src/WIF.cpp | 4 ++++ src/WIF.h | 4 ++++ src/base58.cpp | 4 ++++ src/base58.h | 4 ++++ src/benchmark.cpp | 4 ++++ src/benchmark.h | 4 ++++ src/checksum.cpp | 4 ++++ src/checksum.h | 4 ++++ src/console.h | 4 ++++ src/console_ansi.cpp | 4 ++++ src/console_win32.cpp | 4 ++++ src/ec/generate.h | 4 ++++ src/ec/openssl.cpp | 4 ++++ src/ec/types.h | 4 ++++ src/key_search.cpp | 4 ++++ src/key_search.h | 4 ++++ src/key_search_helpers.cpp | 4 ++++ src/key_search_helpers.h | 4 ++++ src/key_search_mt.cpp | 4 ++++ src/main.cpp | 22 +++++++++++----------- src/string.cpp | 4 ++++ src/string.h | 4 ++++ 22 files changed, 95 insertions(+), 11 deletions(-) diff --git a/src/WIF.cpp b/src/WIF.cpp index 5577d8e..d31aff4 100644 --- a/src/WIF.cpp +++ b/src/WIF.cpp @@ -27,6 +27,8 @@ #include "checksum.h" #include "WIF.h" +namespace eoskeygen { + #define PRIV_KEY_PREFIX 0x80 /* 0x80 for "Bitcoin mainnet". Always used by EOS. */ std::string wif_priv_encode(ec_privkey_t priv) { @@ -60,3 +62,5 @@ void wif_print_key(const struct ec_keypair *key) { std::cout << "Public: " << wif_pub_encode(key->pub) << std::endl; std::cout << "Private: " << wif_priv_encode(key->secret) << std::endl; } + +} // namespace eoskeygen diff --git a/src/WIF.h b/src/WIF.h index 48eb6a8..55d6993 100644 --- a/src/WIF.h +++ b/src/WIF.h @@ -27,10 +27,14 @@ #include #include "ec/types.h" +namespace eoskeygen { + std::string wif_priv_encode(ec_privkey_t priv); std::string wif_pub_encode(ec_pubkey_t pub); void wif_print_key(const struct ec_keypair *key); +} // namespace eoskeygen + #endif /* WIF_H */ diff --git a/src/base58.cpp b/src/base58.cpp index cd3eccd..ad00911 100644 --- a/src/base58.cpp +++ b/src/base58.cpp @@ -28,6 +28,8 @@ #include #include "base58.h" +namespace eoskeygen { + static const char charmap[59] = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"; std::string base58_encode(const unsigned char* pbegin, const unsigned char* pend) { @@ -80,3 +82,5 @@ std::string base58_encode(const std::vector& vch) { return base58_encode(vch.data(), vch.data() + vch.size()); } + +} // namespace eoskeygen diff --git a/src/base58.h b/src/base58.h index 82039b5..59e269d 100644 --- a/src/base58.h +++ b/src/base58.h @@ -27,8 +27,12 @@ #include #include +namespace eoskeygen { + std::string base58_encode(const std::string& str); std::string base58_encode(const std::vector& vch); std::string base58_encode(const unsigned char* pbegin, const unsigned char* pend); +} //namespace eoskeygen + #endif /* BASE58_H */ diff --git a/src/benchmark.cpp b/src/benchmark.cpp index 228b045..42b6b20 100644 --- a/src/benchmark.cpp +++ b/src/benchmark.cpp @@ -29,6 +29,8 @@ using std::chrono::steady_clock; using std::chrono::duration; using std::chrono::time_point; +namespace eoskeygen { + void benchmark(size_t num_keys, struct benchmark_result* res) { time_point start; @@ -48,3 +50,5 @@ void benchmark(size_t num_keys, struct benchmark_result* res) { res->sec = duration(steady_clock::now() - start).count(); res->kps = static_cast(num_keys) / res->sec; } + +} // namespace eoskeygen diff --git a/src/benchmark.h b/src/benchmark.h index f001808..e21a178 100644 --- a/src/benchmark.h +++ b/src/benchmark.h @@ -26,6 +26,8 @@ #include +namespace eoskeygen { + struct benchmark_result { float sec; // elapsed seconds. float kps; // keys per second. @@ -33,4 +35,6 @@ struct benchmark_result { void benchmark(size_t num_keys, struct benchmark_result* res); +} // namespace eoskeygen + #endif /* BENCHMARK_H */ diff --git a/src/checksum.cpp b/src/checksum.cpp index 53c7e33..aed8deb 100644 --- a/src/checksum.cpp +++ b/src/checksum.cpp @@ -26,6 +26,8 @@ #include #include "checksum.h" +namespace eoskeygen { + inline void sha256d(const unsigned char *data, std::size_t len, unsigned char *out) { SHA256(data, len, out); SHA256(out, 32, out); @@ -46,3 +48,5 @@ inline void sha256d(const unsigned char *data, std::size_t len, unsigned char *o checksum_impl(sha256d, sha256d) checksum_impl(ripemd160, RIPEMD160) + +} // namespace eosio-keygen diff --git a/src/checksum.h b/src/checksum.h index 1ac08a2..49b27f4 100644 --- a/src/checksum.h +++ b/src/checksum.h @@ -27,6 +27,8 @@ #include #include +namespace eoskeygen { + #define CHECKSUM_SIZE 4 typedef std::array checksum_t; @@ -35,4 +37,6 @@ checksum_t checksum_sha256d(const unsigned char *data, std::size_t len); checksum_t checksum_ripemd160(const unsigned char *data, std::size_t len); +} // namespace eoskeygen + #endif /* CHECKSUM_H */ diff --git a/src/console.h b/src/console.h index c81a5b7..49932a7 100644 --- a/src/console.h +++ b/src/console.h @@ -26,6 +26,8 @@ #include +namespace eoskeygen { + namespace console { // enum for all supported colors. @@ -80,4 +82,6 @@ namespace console { } // namespace console +} // namespace eoskeygen + #endif /* CONSOLE_H */ diff --git a/src/console_ansi.cpp b/src/console_ansi.cpp index 3aab56b..272615a 100644 --- a/src/console_ansi.cpp +++ b/src/console_ansi.cpp @@ -24,6 +24,8 @@ #include #include "console.h" +namespace eoskeygen { + namespace console { std::ostream& reset(std::ostream& os) { @@ -69,3 +71,5 @@ std::ostream& operator<<(std::ostream& os, const fg& obj) { } } // namespace console + +} // namespace eoskeygen diff --git a/src/console_win32.cpp b/src/console_win32.cpp index 5f7e87d..a6c2800 100644 --- a/src/console_win32.cpp +++ b/src/console_win32.cpp @@ -25,6 +25,8 @@ #include #include "console.h" +namespace eoskeygen { + // WinAPI colors #define FG_BLACK 0 #define FG_BLUE FOREGROUND_BLUE @@ -88,3 +90,5 @@ std::ostream& operator<<(std::ostream& os, const fg& obj) { } } // namespace console + +} // namespace eoskeygen diff --git a/src/ec/generate.h b/src/ec/generate.h index ccde10c..c3f686c 100644 --- a/src/ec/generate.h +++ b/src/ec/generate.h @@ -26,10 +26,14 @@ #include "types.h" +namespace eoskeygen { + /** * Generates a keypair using the secp256k1 curve. * public key is in compressed format. */ int ec_generate_key(struct ec_keypair *pair); +} // namespace eoskeygen + #endif /* EC_GENERATE_H */ diff --git a/src/ec/openssl.cpp b/src/ec/openssl.cpp index 40e0cf3..563af41 100644 --- a/src/ec/openssl.cpp +++ b/src/ec/openssl.cpp @@ -26,6 +26,8 @@ #include #include "generate.h" +namespace eoskeygen { + static int ec_generate_pair(unsigned char *priv, unsigned char *pub) { int ret = -1; @@ -69,3 +71,5 @@ int ec_generate_key(struct ec_keypair *pair) { return ec_generate_pair(pair->secret.data(), pair->pub.data()); } + +} // namespace eoskeygen diff --git a/src/ec/types.h b/src/ec/types.h index 19a2312..a59cf7a 100644 --- a/src/ec/types.h +++ b/src/ec/types.h @@ -26,6 +26,8 @@ #include +namespace eoskeygen { + #define EC_PRIVKEY_SIZE 32 /* @@ -43,4 +45,6 @@ struct ec_keypair { ec_pubkey_t pub; }; +} // namespace eoskeygen + #endif /* EC_TYPES_H */ diff --git a/src/key_search.cpp b/src/key_search.cpp index 9e1a259..a6a190c 100644 --- a/src/key_search.cpp +++ b/src/key_search.cpp @@ -26,6 +26,8 @@ #include "key_search_helpers.h" #include "key_search.h" +namespace eoskeygen { + void KeySearch::addWord(const std::string& str) { std::string tmp = str; @@ -78,3 +80,5 @@ void KeySearch::find(size_t num_results) { _search_linear(num_results); } + +} // namespace eoskeygen diff --git a/src/key_search.h b/src/key_search.h index 6a6e5b3..c1210ea 100644 --- a/src/key_search.h +++ b/src/key_search.h @@ -26,6 +26,8 @@ #include "string.h" +namespace eoskeygen { + class KeySearch { public : @@ -67,4 +69,6 @@ protected : #endif /* HAVE_THREADS */ }; +} // namespace eoskeygen + #endif /* KEY_SEARCH_H */ diff --git a/src/key_search_helpers.cpp b/src/key_search_helpers.cpp index 32a7a21..b6aad5b 100644 --- a/src/key_search_helpers.cpp +++ b/src/key_search_helpers.cpp @@ -26,6 +26,8 @@ #include "console.h" #include "key_search_helpers.h" +namespace eoskeygen { + void key_search_result(const struct ec_keypair* key, const struct key_result* result) { std::string pub = wif_pub_encode(key->pub); @@ -59,3 +61,5 @@ bool key_contains_word(const struct ec_keypair* key, const strlist_t& word_list, } return false; } + +} // namespace eoskeygen diff --git a/src/key_search_helpers.h b/src/key_search_helpers.h index 1b80105..c688421 100644 --- a/src/key_search_helpers.h +++ b/src/key_search_helpers.h @@ -27,6 +27,8 @@ #include "string.h" #include "ec/types.h" +namespace eoskeygen { + struct key_result { size_t pos; // position where the word was found. size_t len; // the length of the word. @@ -38,4 +40,6 @@ void key_search_result(const struct ec_keypair* key, const struct key_result* re // returns true if a word was found (stored in ), false otherwise. bool key_contains_word(const struct ec_keypair* key, const strlist_t& word_list, struct key_result *result); +} // namespace eoskeygen + #endif /* KEY_SEARCH_HELPERS_H */ diff --git a/src/key_search_mt.cpp b/src/key_search_mt.cpp index 85f3e2a..2d01382 100644 --- a/src/key_search_mt.cpp +++ b/src/key_search_mt.cpp @@ -29,6 +29,8 @@ #include "key_search_helpers.h" #include "key_search.h" +namespace eoskeygen { + // Max keys to search for, std::size_t g_max; @@ -95,3 +97,5 @@ void KeySearch::_search_mt(size_t n) t[i].join(); } } + +} // namespace eoskeygen diff --git a/src/main.cpp b/src/main.cpp index 002c05d..2eed33c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -39,13 +39,13 @@ bool option_l33t = false; int option_num_threads = std::thread::hardware_concurrency(); #endif /* HAVE_THREADS */ -void cmd_search(const strlist_t& words, int count) { +void cmd_search(const eoskeygen::strlist_t& words, int count) { - KeySearch ks; + eoskeygen::KeySearch ks; if (option_l33t) { for(std::size_t i = 0; i < words.size(); i++) { - ks.addList(l33twords(words[i])); + ks.addList(eoskeygen::l33twords(words[i])); } } else { ks.addList(words); @@ -56,7 +56,7 @@ void cmd_search(const strlist_t& words, int count) { #endif /* HAVE_THREADS */ std::cout << "Searching for " << count - << " keys containing: " << strjoin(ks.getList(), ",") + << " keys containing: " << eoskeygen::strjoin(ks.getList(), ",") #ifdef HAVE_THREADS << ", Using: " << option_num_threads << " threads" #endif /* HAVE_THREADS */ @@ -106,12 +106,12 @@ void usage(const char *name) { void cmd_benchmark(size_t num_keys) { - struct benchmark_result res; + struct eoskeygen::benchmark_result res; std::cout << "Benchmark: Generating " << num_keys << " keys" << std::endl; - benchmark(num_keys, &res); + eoskeygen::benchmark(num_keys, &res); std::cout << "Result: Took " << res.sec << " seconds, " << res.kps << " keys per second." << std::endl; @@ -125,9 +125,9 @@ int main(int argc, char **argv) { // No args, just print a key. if (argc <= 1) { - struct ec_keypair pair; - ec_generate_key(&pair); - wif_print_key(&pair); + struct eoskeygen::ec_keypair pair; + eoskeygen::ec_generate_key(&pair); + eoskeygen::wif_print_key(&pair); return 0; } @@ -139,7 +139,7 @@ int main(int argc, char **argv) { if (!strcmp(argv[p], "search")) { int count = 10; - strlist_t words; + eoskeygen::strlist_t words; while(p++ < argc - 1) { if (!strcmp(argv[p], "--l33t")) { @@ -167,7 +167,7 @@ int main(int argc, char **argv) { } // wordlist and count else if (words.size() < 1) { - words = strsplitwords(std::string(argv[p])); + words = eoskeygen::strsplitwords(std::string(argv[p])); if (p + 1 < argc) { count = atoi(argv[++p]); diff --git a/src/string.cpp b/src/string.cpp index bee3330..477311c 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -26,6 +26,8 @@ #include #include "string.h" +namespace eoskeygen { + strlist_t strsplitwords(const std::string& str, const std::string& delim) { strlist_t words = strsplit(str, delim); @@ -156,3 +158,5 @@ strlist_t l33twords(std::string str) { _l33t(list, str, 0); return list; } + +} // namespace eoskeygen diff --git a/src/string.h b/src/string.h index b3f6300..a0b07fc 100644 --- a/src/string.h +++ b/src/string.h @@ -27,6 +27,8 @@ #include #include +namespace eoskeygen { + typedef std::vector strlist_t; strlist_t strsplitwords(const std::string& str, const std::string& delim = ","); @@ -46,4 +48,6 @@ strlist_t& base58_strip(strlist_t& list); strlist_t l33twords(std::string str); +} // namespace eoskeygen + #endif /* STRING_H */