diff --git a/src/base58.cpp b/src/base58.cpp index 715e4e789..18cd2090e 100644 --- a/src/base58.cpp +++ b/src/base58.cpp @@ -132,10 +132,10 @@ bool DecodeBase58(const std::string& str, std::vector& vchRet, in return DecodeBase58(str.c_str(), vchRet, max_ret_len); } -std::string EncodeBase58Check(const std::vector& vchIn) +std::string EncodeBase58Check(Span input) { // add 4-byte hash check to the end - std::vector vch(vchIn); + std::vector vch(input.begin(), input.end()); uint256 hash = Hash(vch); vch.insert(vch.end(), (unsigned char*)&hash, (unsigned char*)&hash + 4); return EncodeBase58(vch); diff --git a/src/base58.h b/src/base58.h index d9791d1db..b87664b78 100644 --- a/src/base58.h +++ b/src/base58.h @@ -39,9 +39,9 @@ NODISCARD bool DecodeBase58(const char* psz, std::vector& vchRet, NODISCARD bool DecodeBase58(const std::string& str, std::vector& 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& vchIn); +std::string EncodeBase58Check(Span input); /** * Decode a base58-encoded string (psz) that includes a checksum into a byte diff --git a/src/bench/base58.cpp b/src/bench/base58.cpp index dee3ffeb6..18cb5de19 100644 --- a/src/bench/base58.cpp +++ b/src/bench/base58.cpp @@ -34,10 +34,8 @@ static void Base58CheckEncode(benchmark::Bench& bench) 200, 24 } }; - std::vector vch; - vch.assign(buff.begin(), buff.end()); bench.batch(buff.size()).unit("byte").run([&] { - EncodeBase58Check(vch); + EncodeBase58Check(buff); }); }