util: make EncodeBase58Check consume Spans
This commit is contained in:
parent
f0fce0675d
commit
356988e200
|
@ -132,10 +132,10 @@ bool DecodeBase58(const std::string& str, std::vector<unsigned char>& vchRet, in
|
||||||
return DecodeBase58(str.c_str(), vchRet, max_ret_len);
|
return DecodeBase58(str.c_str(), vchRet, max_ret_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string EncodeBase58Check(const std::vector<unsigned char>& vchIn)
|
std::string EncodeBase58Check(Span<const unsigned char> input)
|
||||||
{
|
{
|
||||||
// add 4-byte hash check to the end
|
// add 4-byte hash check to the end
|
||||||
std::vector<unsigned char> vch(vchIn);
|
std::vector<unsigned char> vch(input.begin(), input.end());
|
||||||
uint256 hash = Hash(vch);
|
uint256 hash = Hash(vch);
|
||||||
vch.insert(vch.end(), (unsigned char*)&hash, (unsigned char*)&hash + 4);
|
vch.insert(vch.end(), (unsigned char*)&hash, (unsigned char*)&hash + 4);
|
||||||
return EncodeBase58(vch);
|
return EncodeBase58(vch);
|
||||||
|
|
|
@ -39,9 +39,9 @@ NODISCARD bool DecodeBase58(const char* psz, std::vector<unsigned char>& vchRet,
|
||||||
NODISCARD bool DecodeBase58(const std::string& str, std::vector<unsigned char>& vchRet, int max_ret_len);
|
NODISCARD bool DecodeBase58(const std::string& str, std::vector<unsigned char>& vchRet, int max_ret_len);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Encode a byte vector into a base58-encoded string, including checksum
|
* Encode a byte span into a base58-encoded string, including checksum
|
||||||
*/
|
*/
|
||||||
std::string EncodeBase58Check(const std::vector<unsigned char>& vchIn);
|
std::string EncodeBase58Check(Span<const unsigned char> input);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decode a base58-encoded string (psz) that includes a checksum into a byte
|
* Decode a base58-encoded string (psz) that includes a checksum into a byte
|
||||||
|
|
|
@ -34,10 +34,8 @@ static void Base58CheckEncode(benchmark::Bench& bench)
|
||||||
200, 24
|
200, 24
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
std::vector<unsigned char> vch;
|
|
||||||
vch.assign(buff.begin(), buff.end());
|
|
||||||
bench.batch(buff.size()).unit("byte").run([&] {
|
bench.batch(buff.size()).unit("byte").run([&] {
|
||||||
EncodeBase58Check(vch);
|
EncodeBase58Check(buff);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue