1
0
Fork 0
mirror of https://github.com/eosswedenorg/antelope-keygen synced 2026-06-20 09:56:45 +02:00

core/string.h: move base58 functions to crypto/base58.h

This commit is contained in:
Henrik Hautakoski 2020-02-26 12:23:53 +01:00
parent 040d3457ef
commit 4a64da310b
5 changed files with 23 additions and 13 deletions

View file

@ -24,6 +24,7 @@
*
* Based on code from https://github.com/bitcoin/bitcoin/blob/f1e2f2a85962c1664e4e55471061af0eaa798d40/src/base58.cpp
*/
#include <algorithm>
#include <cstddef>
#include <cassert>
#include "base58.h"
@ -83,4 +84,20 @@ std::string base58_encode(const std::vector<unsigned char>& vch) {
return base58_encode(vch.data(), vch.data() + vch.size());
}
bool is_base58(char ch) {
for(unsigned int i=0; i < sizeof(charmap); i++) {
if (ch == charmap[i]) {
return true;
}
}
return false;
}
std::string& base58_strip(std::string &str) {
str.erase(std::remove_if(str.begin(), str.end(), [] (std::string::value_type ch)
{ return is_base58(ch) == false; }
), str.end());
return str;
}
} // namespace eoskeygen

View file

@ -33,6 +33,10 @@ std::string base58_encode(const std::string& str);
std::string base58_encode(const std::vector<unsigned char>& vch);
std::string base58_encode(const unsigned char* pbegin, const unsigned char* pend);
bool is_base58(char ch);
std::string& base58_strip(std::string& str);
} //namespace eoskeygen
#endif /* EOSIOKEYGEN_CRYPTO_BASE58_H */