MCPcopy Create free account
hub / github.com/bitcoin/bitcoin / DecodeSecret

Function DecodeSecret

src/key_io.cpp:214–230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

212} // namespace
213
214CKey DecodeSecret(const std::string& str)
215{
216 CKey key;
217 std::vector<unsigned char> data;
218 if (DecodeBase58Check(str, data, 34)) {
219 const std::vector<unsigned char>& privkey_prefix = Params().Base58Prefix(CChainParams::SECRET_KEY);
220 if ((data.size() == 32 + privkey_prefix.size() || (data.size() == 33 + privkey_prefix.size() && data.back() == 1)) &&
221 std::equal(privkey_prefix.begin(), privkey_prefix.end(), data.begin())) {
222 bool compressed = data.size() == 33 + privkey_prefix.size();
223 key.Set(data.begin() + privkey_prefix.size(), data.begin() + privkey_prefix.size() + 32, compressed);
224 }
225 }
226 if (!data.empty()) {
227 memory_cleanse(data.data(), data.size());
228 }
229 return key;
230}
231
232std::string EncodeSecret(const CKey& key)
233{

Callers 9

MutateTxSignFunction · 0.85
ParsePubkeyInnerFunction · 0.85
BOOST_AUTO_TEST_CASEFunction · 0.85
BOOST_AUTO_TEST_CASEFunction · 0.85
BOOST_AUTO_TEST_CASEFunction · 0.85
key_io.cppFile · 0.85
key.cppFile · 0.85
signmessagewithprivkeyFunction · 0.85

Calls 10

DecodeBase58CheckFunction · 0.85
memory_cleanseFunction · 0.85
ParamsClass · 0.70
sizeMethod · 0.45
backMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
SetMethod · 0.45
emptyMethod · 0.45
dataMethod · 0.45

Tested by 3

BOOST_AUTO_TEST_CASEFunction · 0.68
BOOST_AUTO_TEST_CASEFunction · 0.68
BOOST_AUTO_TEST_CASEFunction · 0.68