UltrafastSecp256k1 3.50.0
Ultra high-performance secp256k1 elliptic curve cryptography library
Loading...
Searching...
No Matches
address.hpp File Reference
#include <array>
#include <cstdint>
#include <cstddef>
#include <string>
#include <vector>
#include <utility>
#include "secp256k1/scalar.hpp"
#include "secp256k1/point.hpp"

Go to the source code of this file.

Classes

struct  secp256k1::Bech32DecodeResult
 
struct  secp256k1::WIFDecodeResult
 
struct  secp256k1::SilentPaymentAddress
 

Namespaces

namespace  secp256k1
 

Enumerations

enum class  secp256k1::Network : std::uint8_t { secp256k1::Mainnet = 0 , secp256k1::Testnet = 1 }
 
enum class  secp256k1::Bech32Encoding { secp256k1::BECH32 , secp256k1::BECH32M }
 

Functions

std::string secp256k1::base58check_encode (const std::uint8_t *data, std::size_t len)
 
std::pair< std::vector< std::uint8_t >, bool > secp256k1::base58check_decode (const std::string &encoded)
 
std::string secp256k1::bech32_encode (const std::string &hrp, std::uint8_t witness_version, const std::uint8_t *witness_program, std::size_t prog_len)
 
Bech32DecodeResult secp256k1::bech32_decode (const std::string &addr)
 
std::array< std::uint8_t, 20 > secp256k1::hash160 (const std::uint8_t *data, std::size_t len)
 
std::string secp256k1::address_p2pkh (const fast::Point &pubkey, Network net=Network::Mainnet)
 
std::string secp256k1::address_p2wpkh (const fast::Point &pubkey, Network net=Network::Mainnet)
 
std::string secp256k1::address_p2tr (const fast::Point &internal_key, Network net=Network::Mainnet)
 
std::string secp256k1::address_p2tr_raw (const std::array< std::uint8_t, 32 > &output_key_x, Network net=Network::Mainnet)
 
std::string secp256k1::address_p2sh_p2wpkh (const fast::Point &pubkey, Network net=Network::Mainnet)
 
std::string secp256k1::address_p2sh (const std::array< std::uint8_t, 20 > &script_hash, Network net=Network::Mainnet)
 
std::string secp256k1::address_p2wsh (const std::array< std::uint8_t, 32 > &witness_script_hash, Network net=Network::Mainnet)
 
std::string secp256k1::cashaddr_encode (const std::array< std::uint8_t, 20 > &hash, const std::string &prefix, std::uint8_t type=0)
 
std::string secp256k1::address_cashaddr (const fast::Point &pubkey, const std::string &prefix="bitcoincash")
 
std::string secp256k1::wif_encode (const fast::Scalar &private_key, bool compressed=true, Network net=Network::Mainnet)
 
WIFDecodeResult secp256k1::wif_decode (const std::string &wif)
 
SilentPaymentAddress secp256k1::silent_payment_address (const fast::Scalar &scan_privkey, const fast::Scalar &spend_privkey)
 
std::pair< fast::Point, fast::Scalarsecp256k1::silent_payment_create_output (const std::vector< fast::Scalar > &input_privkeys, const SilentPaymentAddress &recipient, std::uint32_t k=0)
 
std::vector< std::pair< std::uint32_t, fast::Scalar > > secp256k1::silent_payment_scan (const fast::Scalar &scan_privkey, const fast::Scalar &spend_privkey, const std::vector< fast::Point > &input_pubkeys, const std::vector< std::array< std::uint8_t, 32 > > &output_pubkeys)