1 // Copyright (c) 2009-2010 Satoshi Nakamoto
2 // Copyright (c) 2009-2018 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 <chainparams.h>
10 #include <key.h>
11 #include <pubkey.h>
12 #include <script/standard.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);
DestinationEncoder(const CChainParams & params)25 CTxDestination DecodeDestination(const std::string& str);
26 CTxDestination DecodeDestination(const std::string& str, std::string& error_msg);
operator ()(const PKHash & id) const27 bool IsValidDestinationString(const std::string& str);
28 bool IsValidDestinationString(const std::string& str, const CChainParams& params);
29 
30 #endif // BITCOIN_KEY_IO_H
31