1#ifndef SECP256K1_COINS_WALLET_HPP
2#define SECP256K1_COINS_WALLET_HPP
53 std::array<std::uint8_t, 32>
r;
54 std::array<std::uint8_t, 32>
s;
59 std::array<std::uint8_t, 65>
to_rsv()
const;
70 bool testnet =
false);
74 bool testnet =
false);
79 bool testnet =
false);
84 bool testnet =
false);
89 bool testnet =
false);
94 bool testnet =
false);
101 bool testnet =
false);
113 const std::uint8_t* msg, std::size_t msg_len);
117 const std::uint8_t* hash32);
123 const std::uint8_t* msg, std::size_t msg_len,
129std::pair<fast::Point, bool>
131 const std::uint8_t* msg, std::size_t msg_len,
135std::pair<std::string, bool>
137 const std::uint8_t* msg, std::size_t msg_len,
std::string get_address(const CoinParams &coin, const WalletKey &key, bool testnet=false)
std::string get_address_p2wpkh(const CoinParams &coin, const WalletKey &key, bool testnet=false)
std::string get_address_p2tr(const CoinParams &coin, const WalletKey &key, bool testnet=false)
std::pair< fast::Point, bool > recover_signer(const CoinParams &coin, const std::uint8_t *msg, std::size_t msg_len, const MessageSignature &sig)
std::string get_address_cashaddr(const CoinParams &coin, const WalletKey &key, bool testnet=false)
std::pair< WalletKey, bool > from_private_key(const std::uint8_t *priv32)
MessageSignature sign_hash(const CoinParams &coin, const WalletKey &key, const std::uint8_t *hash32)
std::string export_public_key_hex(const CoinParams &coin, const WalletKey &key)
std::string export_private_key(const CoinParams &coin, const WalletKey &key, bool testnet=false)
MessageSignature sign_message(const CoinParams &coin, const WalletKey &key, const std::uint8_t *msg, std::size_t msg_len)
bool verify_message(const CoinParams &coin, const fast::Point &pubkey, const std::uint8_t *msg, std::size_t msg_len, const MessageSignature &sig)
std::string get_address_p2pkh(const CoinParams &coin, const WalletKey &key, bool testnet=false)
std::string get_address_p2sh_p2wpkh(const CoinParams &coin, const WalletKey &key, bool testnet=false)
std::pair< std::string, bool > recover_address(const CoinParams &coin, const std::uint8_t *msg, std::size_t msg_len, const MessageSignature &sig)
std::array< std::uint8_t, 32 > r
std::array< std::uint8_t, 65 > to_rsv() const
std::array< std::uint8_t, 32 > s