key_io.h raw

   1  // Copyright (c) 2009-2010 Satoshi Nakamoto
   2  // Copyright (c) 2009-present 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
  31