Bitcoin Core  27.99.0
P2P Digital Currency
key_io.h
Go to the documentation of this file.
1 // Copyright (c) 2009-2010 Satoshi Nakamoto
2 // Copyright (c) 2009-2021 The Bitcoin Core developers
3 // Distributed under the MIT software license, see the accompanying
4 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 
6 #ifndef BITCOIN_KEY_IO_H
7 #define BITCOIN_KEY_IO_H
8 
9 #include <addresstype.h>
10 #include <chainparams.h>
11 #include <key.h>
12 #include <pubkey.h>
13 
14 #include <string>
15 
16 CKey DecodeSecret(const std::string& str);
17 std::string EncodeSecret(const CKey& key);
18 
19 CExtKey DecodeExtKey(const std::string& str);
20 std::string EncodeExtKey(const CExtKey& extkey);
21 CExtPubKey DecodeExtPubKey(const std::string& str);
22 std::string EncodeExtPubKey(const CExtPubKey& extpubkey);
23 
24 std::string EncodeDestination(const CTxDestination& dest);
25 CTxDestination DecodeDestination(const std::string& str);
26 CTxDestination DecodeDestination(const std::string& str, std::string& error_msg, std::vector<int>* error_locations = nullptr);
27 bool IsValidDestinationString(const std::string& str);
28 bool IsValidDestinationString(const std::string& str, const CChainParams& params);
29 
30 #endif // BITCOIN_KEY_IO_H
std::variant< CNoDestination, PubKeyDestination, PKHash, ScriptHash, WitnessV0ScriptHash, WitnessV0KeyHash, WitnessV1Taproot, WitnessUnknown > CTxDestination
A txout script categorized into standard templates.
Definition: addresstype.h:131
CChainParams defines various tweakable parameters of a given instance of the Bitcoin system.
Definition: chainparams.h:81
An encapsulated private key.
Definition: key.h:33
bool IsValidDestinationString(const std::string &str)
Definition: key_io.cpp:309
CExtPubKey DecodeExtPubKey(const std::string &str)
Definition: key_io.cpp:240
std::string EncodeExtPubKey(const CExtPubKey &extpubkey)
Definition: key_io.cpp:253
std::string EncodeSecret(const CKey &key)
Definition: key_io.cpp:227
std::string EncodeExtKey(const CExtKey &extkey)
Definition: key_io.cpp:276
std::string EncodeDestination(const CTxDestination &dest)
Definition: key_io.cpp:287
CKey DecodeSecret(const std::string &str)
Definition: key_io.cpp:209
CTxDestination DecodeDestination(const std::string &str)
Definition: key_io.cpp:297
CExtKey DecodeExtKey(const std::string &str)
Definition: key_io.cpp:263
Definition: key.h:210