|
UltrafastSecp256k1 3.50.0
Ultra high-performance secp256k1 elliptic curve cryptography library
|
Namespaces | |
| namespace | coins |
| namespace | ct |
| namespace | detail |
| namespace | fast |
| namespace | hash |
| namespace | test |
| namespace | zk |
Typedefs | |
| using | WitnessItem = std::vector< std::uint8_t > |
| using | WitnessStack = std::vector< WitnessItem > |
| using | ParticipantId = std::uint32_t |
Enumerations | |
| enum class | Network : std::uint8_t { Mainnet = 0 , Testnet = 1 } |
| enum class | Bech32Encoding { BECH32 , BECH32M } |
| enum class | SighashType : std::uint32_t { ALL = 0x01 , NONE = 0x02 , SINGLE = 0x03 , ANYONECANPAY = 0x80 } |
| enum class | WitnessProgramType : std::uint8_t { NONE = 0 , P2WPKH = 1 , P2WSH = 2 , P2TR = 3 , UNKNOWN = 4 } |
Functions | |
| SchnorrAdaptorSig | schnorr_adaptor_sign (const fast::Scalar &private_key, const std::array< std::uint8_t, 32 > &msg, const fast::Point &adaptor_point, const std::array< std::uint8_t, 32 > &aux_rand) |
| bool | schnorr_adaptor_verify (const SchnorrAdaptorSig &pre_sig, const std::array< std::uint8_t, 32 > &pubkey_x, const std::array< std::uint8_t, 32 > &msg, const fast::Point &adaptor_point) |
| SchnorrSignature | schnorr_adaptor_adapt (const SchnorrAdaptorSig &pre_sig, const fast::Scalar &adaptor_secret) |
| std::pair< fast::Scalar, bool > | schnorr_adaptor_extract (const SchnorrAdaptorSig &pre_sig, const SchnorrSignature &sig) |
| ECDSAAdaptorSig | ecdsa_adaptor_sign (const fast::Scalar &private_key, const std::array< std::uint8_t, 32 > &msg_hash, const fast::Point &adaptor_point) |
| bool | ecdsa_adaptor_verify (const ECDSAAdaptorSig &pre_sig, const fast::Point &public_key, const std::array< std::uint8_t, 32 > &msg_hash, const fast::Point &adaptor_point) |
| ECDSASignature | ecdsa_adaptor_adapt (const ECDSAAdaptorSig &pre_sig, const fast::Scalar &adaptor_secret) |
| std::pair< fast::Scalar, bool > | ecdsa_adaptor_extract (const ECDSAAdaptorSig &pre_sig, const ECDSASignature &sig) |
| std::string | base58check_encode (const std::uint8_t *data, std::size_t len) |
| std::pair< std::vector< std::uint8_t >, bool > | base58check_decode (const std::string &encoded) |
| std::string | bech32_encode (const std::string &hrp, std::uint8_t witness_version, const std::uint8_t *witness_program, std::size_t prog_len) |
| Bech32DecodeResult | bech32_decode (const std::string &addr) |
| std::array< std::uint8_t, 20 > | hash160 (const std::uint8_t *data, std::size_t len) |
| std::string | address_p2pkh (const fast::Point &pubkey, Network net=Network::Mainnet) |
| std::string | address_p2wpkh (const fast::Point &pubkey, Network net=Network::Mainnet) |
| std::string | address_p2tr (const fast::Point &internal_key, Network net=Network::Mainnet) |
| std::string | address_p2tr_raw (const std::array< std::uint8_t, 32 > &output_key_x, Network net=Network::Mainnet) |
| std::string | address_p2sh_p2wpkh (const fast::Point &pubkey, Network net=Network::Mainnet) |
| std::string | address_p2sh (const std::array< std::uint8_t, 20 > &script_hash, Network net=Network::Mainnet) |
| std::string | address_p2wsh (const std::array< std::uint8_t, 32 > &witness_script_hash, Network net=Network::Mainnet) |
| std::string | cashaddr_encode (const std::array< std::uint8_t, 20 > &hash, const std::string &prefix, std::uint8_t type=0) |
| std::string | address_cashaddr (const fast::Point &pubkey, const std::string &prefix="bitcoincash") |
| std::string | wif_encode (const fast::Scalar &private_key, bool compressed=true, Network net=Network::Mainnet) |
| WIFDecodeResult | wif_decode (const std::string &wif) |
| SilentPaymentAddress | silent_payment_address (const fast::Scalar &scan_privkey, const fast::Scalar &spend_privkey) |
| std::pair< fast::Point, fast::Scalar > | 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 > > | 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) |
| bool | schnorr_batch_verify (const SchnorrBatchEntry *entries, std::size_t n) |
| bool | schnorr_batch_verify (const std::vector< SchnorrBatchEntry > &entries) |
| bool | schnorr_batch_verify (const SchnorrBatchCachedEntry *entries, std::size_t n) |
| bool | schnorr_batch_verify (const std::vector< SchnorrBatchCachedEntry > &entries) |
| bool | ecdsa_batch_verify (const ECDSABatchEntry *entries, std::size_t n) |
| bool | ecdsa_batch_verify (const std::vector< ECDSABatchEntry > &entries) |
| std::vector< std::size_t > | schnorr_batch_identify_invalid (const SchnorrBatchEntry *entries, std::size_t n) |
| std::vector< std::size_t > | schnorr_batch_identify_invalid (const SchnorrBatchCachedEntry *entries, std::size_t n) |
| std::vector< std::size_t > | ecdsa_batch_identify_invalid (const ECDSABatchEntry *entries, std::size_t n) |
| std::array< std::uint8_t, 32 > | bip143_hash_prevouts (const Outpoint *outpoints, std::size_t count) noexcept |
| std::array< std::uint8_t, 32 > | bip143_hash_sequence (const std::uint32_t *sequences, std::size_t count) noexcept |
| std::array< std::uint8_t, 32 > | bip143_hash_outputs (const TxOutput *outputs, std::size_t count) noexcept |
| Bip143Preimage | bip143_build_preimage (std::uint32_t version, const Outpoint *outpoints, std::size_t input_count, const std::uint32_t *sequences, const TxOutput *outputs, std::size_t output_count, std::uint32_t locktime) noexcept |
| std::array< std::uint8_t, 32 > | bip143_sighash (const Bip143Preimage &preimage, const Outpoint &outpoint, const std::uint8_t *script_code, std::size_t script_code_len, std::uint64_t value, std::uint32_t sequence, std::uint32_t sighash_type) noexcept |
| std::array< std::uint8_t, 25 > | bip143_p2wpkh_script_code (const std::uint8_t pubkey_hash[20]) noexcept |
| std::vector< std::uint8_t > | witness_serialize (const WitnessTx &tx) noexcept |
| std::vector< std::uint8_t > | legacy_serialize (const WitnessTx &tx) noexcept |
| std::array< std::uint8_t, 32 > | compute_txid (const WitnessTx &tx) noexcept |
| std::array< std::uint8_t, 32 > | compute_wtxid (const WitnessTx &tx) noexcept |
| std::array< std::uint8_t, 32 > | witness_commitment (const std::array< std::uint8_t, 32 > &witness_root, const std::array< std::uint8_t, 32 > &witness_nonce) noexcept |
| bool | has_witness (const WitnessTx &tx) noexcept |
| std::uint64_t | tx_weight (const WitnessTx &tx) noexcept |
| std::uint64_t | tx_vsize (const WitnessTx &tx) noexcept |
| std::pair< ExtendedKey, bool > | bip32_master_key (const std::uint8_t *seed, std::size_t seed_len) |
| std::pair< ExtendedKey, bool > | bip32_derive_path (const ExtendedKey &master, const std::string &path) |
| std::array< std::uint8_t, 64 > | hmac_sha512 (const std::uint8_t *key, std::size_t key_len, const std::uint8_t *data, std::size_t data_len) |
| std::pair< std::string, bool > | bip39_generate (std::size_t entropy_bytes, const std::uint8_t *entropy_in=nullptr) |
| bool | bip39_validate (const std::string &mnemonic) |
| std::pair< std::array< std::uint8_t, 64 >, bool > | bip39_mnemonic_to_seed (const std::string &mnemonic, const std::string &passphrase="") |
| std::pair< Bip39Entropy, bool > | bip39_mnemonic_to_entropy (const std::string &mnemonic) |
| void | pbkdf2_hmac_sha512 (const std::uint8_t *password, std::size_t password_len, const std::uint8_t *salt, std::size_t salt_len, std::uint32_t iterations, std::uint8_t *output, std::size_t output_len) |
| const char *const * | bip39_wordlist_english () |
| void | chacha20_crypt (const std::uint8_t key[32], const std::uint8_t nonce[12], std::uint32_t counter, std::uint8_t *data, std::size_t len) noexcept |
| void | chacha20_block (const std::uint8_t key[32], const std::uint8_t nonce[12], std::uint32_t counter, std::uint8_t out[64]) noexcept |
| std::array< std::uint8_t, 16 > | poly1305_mac (const std::uint8_t key[32], const std::uint8_t *data, std::size_t len) noexcept |
| void | aead_chacha20_poly1305_encrypt (const std::uint8_t key[32], const std::uint8_t nonce[12], const std::uint8_t *aad, std::size_t aad_len, const std::uint8_t *plaintext, std::size_t plaintext_len, std::uint8_t *out, std::uint8_t tag[16]) noexcept |
| bool | aead_chacha20_poly1305_decrypt (const std::uint8_t key[32], const std::uint8_t nonce[12], const std::uint8_t *aad, std::size_t aad_len, const std::uint8_t *ciphertext, std::size_t ciphertext_len, const std::uint8_t tag[16], std::uint8_t *out) noexcept |
| const fast::Point & | effective_generator (const CurveContext *ctx=nullptr) |
| fast::Point | derive_public_key (const fast::Scalar &private_key, const CurveContext *ctx=nullptr) |
| fast::Point | scalar_mul_G (const fast::Scalar &scalar, const CurveContext *ctx=nullptr) |
| std::array< std::uint8_t, 32 > | ecdh_compute (const Scalar &private_key, const Point &public_key) |
| std::array< std::uint8_t, 32 > | ecdh_compute_xonly (const Scalar &private_key, const Point &public_key) |
| std::array< std::uint8_t, 32 > | ecdh_compute_raw (const Scalar &private_key, const Point &public_key) |
| ECDSASignature | ecdsa_sign (const std::array< std::uint8_t, 32 > &msg_hash, const fast::Scalar &private_key) |
| ECDSASignature | ecdsa_sign_verified (const std::array< std::uint8_t, 32 > &msg_hash, const fast::Scalar &private_key) |
| ECDSASignature | ecdsa_sign_hedged (const std::array< std::uint8_t, 32 > &msg_hash, const fast::Scalar &private_key, const std::array< std::uint8_t, 32 > &aux_rand) |
| ECDSASignature | ecdsa_sign_hedged_verified (const std::array< std::uint8_t, 32 > &msg_hash, const fast::Scalar &private_key, const std::array< std::uint8_t, 32 > &aux_rand) |
| bool | ecdsa_verify (const std::uint8_t *msg_hash32, const fast::Point &public_key, const ECDSASignature &sig) |
| bool | ecdsa_verify (const std::array< std::uint8_t, 32 > &msg_hash, const fast::Point &public_key, const ECDSASignature &sig) |
| fast::Scalar | rfc6979_nonce (const fast::Scalar &private_key, const std::array< std::uint8_t, 32 > &msg_hash) |
| fast::Scalar | rfc6979_nonce_hedged (const fast::Scalar &private_key, const std::array< std::uint8_t, 32 > &msg_hash, const std::array< std::uint8_t, 32 > &aux_rand) |
| std::vector< std::uint8_t > | ecies_encrypt (const fast::Point &recipient_pubkey, const std::uint8_t *plaintext, std::size_t plaintext_len) |
| std::vector< std::uint8_t > | ecies_decrypt (const fast::Scalar &privkey, const std::uint8_t *envelope, std::size_t envelope_len) |
| FieldElement | ellswift_decode (const std::uint8_t encoding[64]) noexcept |
| std::array< std::uint8_t, 64 > | ellswift_create (const Scalar &privkey) |
| std::array< std::uint8_t, 32 > | ellswift_xdh (const std::uint8_t ell_a64[64], const std::uint8_t ell_b64[64], const Scalar &our_privkey, bool initiating) noexcept |
| std::pair< FrostCommitment, std::vector< FrostShare > > | frost_keygen_begin (ParticipantId participant_id, std::uint32_t threshold, std::uint32_t num_participants, const std::array< std::uint8_t, 32 > &secret_seed) |
| std::pair< FrostKeyPackage, bool > | frost_keygen_finalize (ParticipantId participant_id, const std::vector< FrostCommitment > &commitments, const std::vector< FrostShare > &received_shares, std::uint32_t threshold, std::uint32_t num_participants) |
| std::pair< FrostNonce, FrostNonceCommitment > | frost_sign_nonce_gen (ParticipantId participant_id, const std::array< std::uint8_t, 32 > &nonce_seed) |
| FrostPartialSig | frost_sign (const FrostKeyPackage &key_pkg, FrostNonce &nonce, const std::array< std::uint8_t, 32 > &msg, const std::vector< FrostNonceCommitment > &nonce_commitments) |
| bool | frost_verify_partial (const FrostPartialSig &partial_sig, const FrostNonceCommitment &signer_commitment, const fast::Point &verification_share, const std::array< std::uint8_t, 32 > &msg, const std::vector< FrostNonceCommitment > &nonce_commitments, const fast::Point &group_public_key) |
| SchnorrSignature | frost_aggregate (const std::vector< FrostPartialSig > &partial_sigs, const std::vector< FrostNonceCommitment > &nonce_commitments, const fast::Point &group_public_key, const std::array< std::uint8_t, 32 > &msg) |
| fast::Scalar | frost_lagrange_coefficient (ParticipantId i, const std::vector< ParticipantId > &signer_ids) |
| std::array< std::uint8_t, 32 > | hmac_sha256 (const std::uint8_t *key, std::size_t key_len, const std::uint8_t *data, std::size_t data_len) noexcept |
| std::array< std::uint8_t, 32 > | hkdf_sha256_extract (const std::uint8_t *salt, std::size_t salt_len, const std::uint8_t *ikm, std::size_t ikm_len) noexcept |
| bool | hkdf_sha256_expand (const std::uint8_t prk[32], const std::uint8_t *info, std::size_t info_len, std::uint8_t *out, std::size_t out_len) noexcept |
| fast::Point | shamir_trick (const fast::Scalar &a, const fast::Point &P, const fast::Scalar &b, const fast::Point &Q) |
| fast::Point | multi_scalar_mul (const fast::Scalar *scalars, const fast::Point *points, std::size_t n) |
| fast::Point | multi_scalar_mul (const std::vector< fast::Scalar > &scalars, const std::vector< fast::Point > &points) |
| unsigned | strauss_optimal_window (std::size_t n) |
| MuSig2KeyAggCtx | musig2_key_agg (const std::vector< std::array< std::uint8_t, 32 > > &pubkeys) |
| std::pair< MuSig2SecNonce, MuSig2PubNonce > | musig2_nonce_gen (const fast::Scalar &secret_key, const std::array< std::uint8_t, 32 > &pub_key, const std::array< std::uint8_t, 32 > &agg_pub_key, const std::array< std::uint8_t, 32 > &msg, const std::uint8_t *extra_input=nullptr) |
| MuSig2AggNonce | musig2_nonce_agg (const std::vector< MuSig2PubNonce > &pub_nonces) |
| MuSig2Session | musig2_start_sign_session (const MuSig2AggNonce &agg_nonce, const MuSig2KeyAggCtx &key_agg_ctx, const std::array< std::uint8_t, 32 > &msg) |
| fast::Scalar | musig2_partial_sign (MuSig2SecNonce &sec_nonce, const fast::Scalar &secret_key, const MuSig2KeyAggCtx &key_agg_ctx, const MuSig2Session &session, std::size_t signer_index) |
| bool | musig2_partial_verify (const fast::Scalar &partial_sig, const MuSig2PubNonce &pub_nonce, const std::array< std::uint8_t, 32 > &pubkey, const MuSig2KeyAggCtx &key_agg_ctx, const MuSig2Session &session, std::size_t signer_index) |
| std::array< std::uint8_t, 64 > | musig2_partial_sig_agg (const std::vector< fast::Scalar > &partial_sigs, const MuSig2Session &session) |
| const fast::Point & | pedersen_generator_H () |
| PedersenCommitment | pedersen_commit (const fast::Scalar &value, const fast::Scalar &blinding) |
| bool | pedersen_verify (const PedersenCommitment &commitment, const fast::Scalar &value, const fast::Scalar &blinding) |
| bool | pedersen_verify_sum (const PedersenCommitment *commitments_pos, std::size_t n_pos, const PedersenCommitment *commitments_neg, std::size_t n_neg) |
| fast::Scalar | pedersen_blind_sum (const fast::Scalar *blinds_in, std::size_t n_in, const fast::Scalar *blinds_out, std::size_t n_out) |
| const fast::Point & | pedersen_generator_J () |
| PedersenCommitment | pedersen_switch_commit (const fast::Scalar &value, const fast::Scalar &blinding, const fast::Scalar &switch_blind) |
| fast::Point | pippenger_msm (const fast::Scalar *scalars, const fast::Point *points, std::size_t n) |
| fast::Point | pippenger_msm (const std::vector< fast::Scalar > &scalars, const std::vector< fast::Point > &points) |
| unsigned | pippenger_optimal_window (std::size_t n) |
| fast::Point | msm (const fast::Scalar *scalars, const fast::Point *points, std::size_t n) |
| fast::Point | msm (const std::vector< fast::Scalar > &scalars, const std::vector< fast::Point > &points) |
| bool | operator== (const PrivateKey &a, const PrivateKey &b) noexcept |
| RecoverableSignature | ecdsa_sign_recoverable (const std::array< std::uint8_t, 32 > &msg_hash, const Scalar &private_key) |
| std::pair< Point, bool > | ecdsa_recover (const std::array< std::uint8_t, 32 > &msg_hash, const ECDSASignature &sig, int recid) |
| std::array< std::uint8_t, 65 > | recoverable_to_compact (const RecoverableSignature &rsig, bool compressed=true) |
| std::pair< RecoverableSignature, bool > | recoverable_from_compact (const std::array< std::uint8_t, 65 > &data) |
| SchnorrKeypair | schnorr_keypair_create (const fast::Scalar &private_key) |
| SchnorrSignature | schnorr_sign (const SchnorrKeypair &kp, const std::array< std::uint8_t, 32 > &msg, const std::array< std::uint8_t, 32 > &aux_rand) |
| SchnorrSignature | schnorr_sign_verified (const SchnorrKeypair &kp, const std::array< std::uint8_t, 32 > &msg, const std::array< std::uint8_t, 32 > &aux_rand) |
| SchnorrSignature | schnorr_sign (const fast::Scalar &private_key, const std::array< std::uint8_t, 32 > &msg, const std::array< std::uint8_t, 32 > &aux_rand) |
| SchnorrSignature | schnorr_sign_verified (const fast::Scalar &private_key, const std::array< std::uint8_t, 32 > &msg, const std::array< std::uint8_t, 32 > &aux_rand) |
| bool | schnorr_verify (const std::uint8_t *pubkey_x32, const std::uint8_t *msg32, const SchnorrSignature &sig) |
| bool | schnorr_verify (const std::array< std::uint8_t, 32 > &pubkey_x, const std::array< std::uint8_t, 32 > &msg, const SchnorrSignature &sig) |
| bool | schnorr_verify (const std::array< std::uint8_t, 32 > &pubkey_x, const std::uint8_t *msg32, const SchnorrSignature &sig) |
| bool | schnorr_xonly_pubkey_parse (SchnorrXonlyPubkey &out, const std::uint8_t *pubkey_x32) |
| bool | schnorr_xonly_pubkey_parse (SchnorrXonlyPubkey &out, const std::array< std::uint8_t, 32 > &pubkey_x) |
| SchnorrXonlyPubkey | schnorr_xonly_from_keypair (const SchnorrKeypair &kp) |
| bool | schnorr_verify (const SchnorrXonlyPubkey &pubkey, const std::array< std::uint8_t, 32 > &msg, const SchnorrSignature &sig) |
| bool | schnorr_verify (const SchnorrXonlyPubkey &pubkey, const std::uint8_t *msg32, const SchnorrSignature &sig) |
| std::array< std::uint8_t, 32 > | tagged_hash (const char *tag, const void *data, std::size_t len) |
| std::array< std::uint8_t, 32 > | schnorr_pubkey (const fast::Scalar &private_key) |
| std::array< std::uint8_t, 22 > | segwit_scriptpubkey_p2wpkh (const std::uint8_t pubkey_hash[20]) noexcept |
| std::array< std::uint8_t, 34 > | segwit_scriptpubkey_p2wsh (const std::uint8_t script_hash[32]) noexcept |
| std::array< std::uint8_t, 34 > | segwit_scriptpubkey_p2tr (const std::uint8_t output_key[32]) noexcept |
| std::vector< std::uint8_t > | segwit_scriptpubkey (std::uint8_t version, const std::uint8_t *program, std::size_t program_len) noexcept |
| bool | is_witness_program (const std::uint8_t *script, std::size_t script_len) noexcept |
| WitnessProgram | parse_witness_program (const std::uint8_t *script, std::size_t script_len) noexcept |
| std::array< std::uint8_t, 32 > | witness_script_hash (const std::uint8_t *script, std::size_t script_len) noexcept |
| std::array< std::uint8_t, 25 > | p2wpkh_script_code (const std::uint8_t pubkey_hash[20]) noexcept |
| bool | validate_p2wpkh_witness (const std::vector< std::vector< std::uint8_t > > &witness, const std::uint8_t program[20]) noexcept |
| bool | validate_p2wsh_witness (const std::vector< std::vector< std::uint8_t > > &witness, const std::uint8_t program[32]) noexcept |
| std::size_t | witness_weight (const std::vector< std::vector< std::uint8_t > > &witness) noexcept |
| std::array< std::uint8_t, 32 > | taproot_tweak_hash (const std::array< std::uint8_t, 32 > &internal_key_x, const std::uint8_t *merkle_root=nullptr, std::size_t merkle_root_len=0) |
| std::array< std::uint8_t, 32 > | taproot_leaf_hash (const std::uint8_t *script, std::size_t script_len, std::uint8_t leaf_version=0xC0) |
| std::array< std::uint8_t, 32 > | taproot_branch_hash (const std::array< std::uint8_t, 32 > &a, const std::array< std::uint8_t, 32 > &b) |
| std::pair< std::array< std::uint8_t, 32 >, int > | taproot_output_key (const std::array< std::uint8_t, 32 > &internal_key_x, const std::uint8_t *merkle_root=nullptr, std::size_t merkle_root_len=0) |
| Scalar | taproot_tweak_privkey (const Scalar &private_key, const std::uint8_t *merkle_root=nullptr, std::size_t merkle_root_len=0) |
| bool | taproot_verify_commitment (const std::array< std::uint8_t, 32 > &output_key_x, int output_key_parity, const std::array< std::uint8_t, 32 > &internal_key_x, const std::uint8_t *merkle_root=nullptr, std::size_t merkle_root_len=0) |
| std::array< std::uint8_t, 32 > | taproot_merkle_root_from_proof (const std::array< std::uint8_t, 32 > &leaf_hash, const std::vector< std::array< std::uint8_t, 32 > > &proof) |
| std::array< std::uint8_t, 32 > | taproot_merkle_root (const std::vector< std::array< std::uint8_t, 32 > > &leaf_hashes) |
| std::array< std::uint8_t, 32 > | tapscript_sighash (const TapSighashTxData &tx_data, std::size_t input_index, std::uint8_t hash_type, const std::array< std::uint8_t, 32 > &tapleaf_hash, std::uint8_t key_version, std::uint32_t code_separator_pos, const std::uint8_t *annex=nullptr, std::size_t annex_len=0) noexcept |
| std::array< std::uint8_t, 32 > | taproot_keypath_sighash (const TapSighashTxData &tx_data, std::size_t input_index, std::uint8_t hash_type, const std::uint8_t *annex=nullptr, std::size_t annex_len=0) noexcept |
| FieldElementData * | fe_to_data (void *fe) noexcept |
| const FieldElementData * | fe_to_data (const void *fe) noexcept |
| ScalarData * | sc_to_data (void *sc) noexcept |
| const ScalarData * | sc_to_data (const void *sc) noexcept |
| using secp256k1::ParticipantId = typedef std::uint32_t |
| using secp256k1::WitnessItem = typedef std::vector<std::uint8_t> |
Definition at line 29 of file bip144.hpp.
| using secp256k1::WitnessStack = typedef std::vector<WitnessItem> |
Definition at line 32 of file bip144.hpp.
|
strong |
| Enumerator | |
|---|---|
| BECH32 | |
| BECH32M | |
Definition at line 52 of file address.hpp.
|
strong |
| Enumerator | |
|---|---|
| Mainnet | |
| Testnet | |
Definition at line 36 of file address.hpp.
|
strong |
| Enumerator | |
|---|---|
| ALL | |
| NONE | |
| SINGLE | |
| ANYONECANPAY | |
Definition at line 31 of file bip143.hpp.
|
strong |
| Enumerator | |
|---|---|
| NONE | |
| P2WPKH | |
| P2WSH | |
| P2TR | |
| UNKNOWN | |
Definition at line 35 of file segwit.hpp.
| std::string secp256k1::address_cashaddr | ( | const fast::Point & | pubkey, |
| const std::string & | prefix = "bitcoincash" |
||
| ) |
| std::string secp256k1::address_p2pkh | ( | const fast::Point & | pubkey, |
| Network | net = Network::Mainnet |
||
| ) |
Referenced by ufsecp_addr_p2pkh().
| std::string secp256k1::address_p2sh | ( | const std::array< std::uint8_t, 20 > & | script_hash, |
| Network | net = Network::Mainnet |
||
| ) |
Referenced by ufsecp_addr_p2sh().
| std::string secp256k1::address_p2sh_p2wpkh | ( | const fast::Point & | pubkey, |
| Network | net = Network::Mainnet |
||
| ) |
Referenced by ufsecp_addr_p2sh_p2wpkh().
| 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 |
||
| ) |
Referenced by ufsecp_addr_p2tr().
| std::string secp256k1::address_p2wpkh | ( | const fast::Point & | pubkey, |
| Network | net = Network::Mainnet |
||
| ) |
Referenced by ufsecp_addr_p2wpkh().
| std::string secp256k1::address_p2wsh | ( | const std::array< std::uint8_t, 32 > & | witness_script_hash, |
| Network | net = Network::Mainnet |
||
| ) |
|
noexcept |
|
noexcept |
| std::pair< std::vector< std::uint8_t >, bool > secp256k1::base58check_decode | ( | const std::string & | encoded | ) |
Referenced by ufsecp_descriptor_parse().
| std::string secp256k1::base58check_encode | ( | const std::uint8_t * | data, |
| std::size_t | len | ||
| ) |
| Bech32DecodeResult secp256k1::bech32_decode | ( | const std::string & | addr | ) |
| 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 | ||
| ) |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
Referenced by ufsecp_bip143_p2wpkh_script_code().
|
noexcept |
Referenced by ufsecp_bip143_sighash().
| std::pair< ExtendedKey, bool > secp256k1::bip32_derive_path | ( | const ExtendedKey & | master, |
| const std::string & | path | ||
| ) |
Referenced by ufsecp_bip32_derive_path(), and ufsecp_bip85_entropy().
| std::pair< ExtendedKey, bool > secp256k1::bip32_master_key | ( | const std::uint8_t * | seed, |
| std::size_t | seed_len | ||
| ) |
Referenced by ufsecp_bip32_master(), and ufsecp_coin_derive_from_seed().
| std::pair< std::string, bool > secp256k1::bip39_generate | ( | std::size_t | entropy_bytes, |
| const std::uint8_t * | entropy_in = nullptr |
||
| ) |
Referenced by ufsecp_bip39_generate(), and ufsecp_bip85_bip39().
| std::pair< Bip39Entropy, bool > secp256k1::bip39_mnemonic_to_entropy | ( | const std::string & | mnemonic | ) |
Referenced by ufsecp_bip39_to_entropy().
| std::pair< std::array< std::uint8_t, 64 >, bool > secp256k1::bip39_mnemonic_to_seed | ( | const std::string & | mnemonic, |
| const std::string & | passphrase = "" |
||
| ) |
Referenced by ufsecp_bip39_to_seed().
| bool secp256k1::bip39_validate | ( | const std::string & | mnemonic | ) |
Referenced by ufsecp_bip39_validate().
| const char *const * secp256k1::bip39_wordlist_english | ( | ) |
| std::string secp256k1::cashaddr_encode | ( | const std::array< std::uint8_t, 20 > & | hash, |
| const std::string & | prefix, | ||
| std::uint8_t | type = 0 |
||
| ) |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
inline |
Definition at line 126 of file context.hpp.
References effective_generator(), and secp256k1::fast::Point::scalar_mul().
| std::array< std::uint8_t, 32 > secp256k1::ecdh_compute | ( | const Scalar & | private_key, |
| const Point & | public_key | ||
| ) |
Referenced by ufsecp_ecdh().
| std::array< std::uint8_t, 32 > secp256k1::ecdh_compute_raw | ( | const Scalar & | private_key, |
| const Point & | public_key | ||
| ) |
Referenced by ufsecp_ecdh_raw().
| std::array< std::uint8_t, 32 > secp256k1::ecdh_compute_xonly | ( | const Scalar & | private_key, |
| const Point & | public_key | ||
| ) |
Referenced by ufsecp_ecdh_xonly().
| ECDSASignature secp256k1::ecdsa_adaptor_adapt | ( | const ECDSAAdaptorSig & | pre_sig, |
| const fast::Scalar & | adaptor_secret | ||
| ) |
Referenced by ufsecp_ecdsa_adaptor_adapt().
| std::pair< fast::Scalar, bool > secp256k1::ecdsa_adaptor_extract | ( | const ECDSAAdaptorSig & | pre_sig, |
| const ECDSASignature & | sig | ||
| ) |
Referenced by ufsecp_ecdsa_adaptor_extract().
| ECDSAAdaptorSig secp256k1::ecdsa_adaptor_sign | ( | const fast::Scalar & | private_key, |
| const std::array< std::uint8_t, 32 > & | msg_hash, | ||
| const fast::Point & | adaptor_point | ||
| ) |
Referenced by ufsecp_ecdsa_adaptor_sign().
| bool secp256k1::ecdsa_adaptor_verify | ( | const ECDSAAdaptorSig & | pre_sig, |
| const fast::Point & | public_key, | ||
| const std::array< std::uint8_t, 32 > & | msg_hash, | ||
| const fast::Point & | adaptor_point | ||
| ) |
Referenced by ufsecp_ecdsa_adaptor_verify().
| std::vector< std::size_t > secp256k1::ecdsa_batch_identify_invalid | ( | const ECDSABatchEntry * | entries, |
| std::size_t | n | ||
| ) |
Referenced by ufsecp_ecdsa_batch_identify_invalid().
| bool secp256k1::ecdsa_batch_verify | ( | const ECDSABatchEntry * | entries, |
| std::size_t | n | ||
| ) |
Referenced by ufsecp_ecdsa_batch_verify().
| bool secp256k1::ecdsa_batch_verify | ( | const std::vector< ECDSABatchEntry > & | entries | ) |
| std::pair< Point, bool > secp256k1::ecdsa_recover | ( | const std::array< std::uint8_t, 32 > & | msg_hash, |
| const ECDSASignature & | sig, | ||
| int | recid | ||
| ) |
Referenced by ufsecp_ecdsa_recover().
| ECDSASignature secp256k1::ecdsa_sign | ( | const std::array< std::uint8_t, 32 > & | msg_hash, |
| const fast::Scalar & | private_key | ||
| ) |
Referenced by ufsecp_bip322_sign(), ufsecp_psbt_sign_legacy(), and ufsecp_psbt_sign_segwit().
| ECDSASignature secp256k1::ecdsa_sign_hedged | ( | const std::array< std::uint8_t, 32 > & | msg_hash, |
| const fast::Scalar & | private_key, | ||
| const std::array< std::uint8_t, 32 > & | aux_rand | ||
| ) |
| ECDSASignature secp256k1::ecdsa_sign_hedged_verified | ( | const std::array< std::uint8_t, 32 > & | msg_hash, |
| const fast::Scalar & | private_key, | ||
| const std::array< std::uint8_t, 32 > & | aux_rand | ||
| ) |
| RecoverableSignature secp256k1::ecdsa_sign_recoverable | ( | const std::array< std::uint8_t, 32 > & | msg_hash, |
| const Scalar & | private_key | ||
| ) |
Referenced by ufsecp_ecdsa_sign_recoverable().
| ECDSASignature secp256k1::ecdsa_sign_verified | ( | const std::array< std::uint8_t, 32 > & | msg_hash, |
| const fast::Scalar & | private_key | ||
| ) |
| bool secp256k1::ecdsa_verify | ( | const std::array< std::uint8_t, 32 > & | msg_hash, |
| const fast::Point & | public_key, | ||
| const ECDSASignature & | sig | ||
| ) |
| bool secp256k1::ecdsa_verify | ( | const std::uint8_t * | msg_hash32, |
| const fast::Point & | public_key, | ||
| const ECDSASignature & | sig | ||
| ) |
Referenced by ufsecp_bip322_verify(), and ufsecp_ecdsa_verify().
| std::vector< std::uint8_t > secp256k1::ecies_decrypt | ( | const fast::Scalar & | privkey, |
| const std::uint8_t * | envelope, | ||
| std::size_t | envelope_len | ||
| ) |
Referenced by ufsecp_ecies_decrypt().
| std::vector< std::uint8_t > secp256k1::ecies_encrypt | ( | const fast::Point & | recipient_pubkey, |
| const std::uint8_t * | plaintext, | ||
| std::size_t | plaintext_len | ||
| ) |
Referenced by ufsecp_ecies_encrypt().
|
inline |
Definition at line 117 of file context.hpp.
References secp256k1::CurveContext::generator, and secp256k1::fast::Point::generator().
Referenced by derive_public_key(), and scalar_mul_G().
| std::array< std::uint8_t, 64 > secp256k1::ellswift_create | ( | const Scalar & | privkey | ) |
|
noexcept |
|
noexcept |
|
inlinenoexcept |
|
inlinenoexcept |
| SchnorrSignature secp256k1::frost_aggregate | ( | const std::vector< FrostPartialSig > & | partial_sigs, |
| const std::vector< FrostNonceCommitment > & | nonce_commitments, | ||
| const fast::Point & | group_public_key, | ||
| const std::array< std::uint8_t, 32 > & | msg | ||
| ) |
Referenced by ufsecp_frost_aggregate().
| std::pair< FrostCommitment, std::vector< FrostShare > > secp256k1::frost_keygen_begin | ( | ParticipantId | participant_id, |
| std::uint32_t | threshold, | ||
| std::uint32_t | num_participants, | ||
| const std::array< std::uint8_t, 32 > & | secret_seed | ||
| ) |
Referenced by ufsecp_frost_keygen_begin().
| std::pair< FrostKeyPackage, bool > secp256k1::frost_keygen_finalize | ( | ParticipantId | participant_id, |
| const std::vector< FrostCommitment > & | commitments, | ||
| const std::vector< FrostShare > & | received_shares, | ||
| std::uint32_t | threshold, | ||
| std::uint32_t | num_participants | ||
| ) |
Referenced by ufsecp_frost_keygen_finalize().
| fast::Scalar secp256k1::frost_lagrange_coefficient | ( | ParticipantId | i, |
| const std::vector< ParticipantId > & | signer_ids | ||
| ) |
| FrostPartialSig secp256k1::frost_sign | ( | const FrostKeyPackage & | key_pkg, |
| FrostNonce & | nonce, | ||
| const std::array< std::uint8_t, 32 > & | msg, | ||
| const std::vector< FrostNonceCommitment > & | nonce_commitments | ||
| ) |
Referenced by ufsecp_frost_sign().
| std::pair< FrostNonce, FrostNonceCommitment > secp256k1::frost_sign_nonce_gen | ( | ParticipantId | participant_id, |
| const std::array< std::uint8_t, 32 > & | nonce_seed | ||
| ) |
Referenced by ufsecp_frost_sign_nonce_gen().
| bool secp256k1::frost_verify_partial | ( | const FrostPartialSig & | partial_sig, |
| const FrostNonceCommitment & | signer_commitment, | ||
| const fast::Point & | verification_share, | ||
| const std::array< std::uint8_t, 32 > & | msg, | ||
| const std::vector< FrostNonceCommitment > & | nonce_commitments, | ||
| const fast::Point & | group_public_key | ||
| ) |
Referenced by ufsecp_frost_verify_partial().
|
noexcept |
| std::array< std::uint8_t, 20 > secp256k1::hash160 | ( | const std::uint8_t * | data, |
| std::size_t | len | ||
| ) |
Referenced by ufsecp_addr_p2sh(), and ufsecp_hash160().
|
noexcept |
|
noexcept |
|
noexcept |
| std::array< std::uint8_t, 64 > secp256k1::hmac_sha512 | ( | const std::uint8_t * | key, |
| std::size_t | key_len, | ||
| const std::uint8_t * | data, | ||
| std::size_t | data_len | ||
| ) |
Referenced by ufsecp_bip85_entropy().
|
noexcept |
Referenced by ufsecp_segwit_is_witness_program().
|
noexcept |
| fast::Point secp256k1::msm | ( | const fast::Scalar * | scalars, |
| const fast::Point * | points, | ||
| std::size_t | n | ||
| ) |
| fast::Point secp256k1::msm | ( | const std::vector< fast::Scalar > & | scalars, |
| const std::vector< fast::Point > & | points | ||
| ) |
| fast::Point secp256k1::multi_scalar_mul | ( | const fast::Scalar * | scalars, |
| const fast::Point * | points, | ||
| std::size_t | n | ||
| ) |
Referenced by ufsecp_multi_scalar_mul().
| fast::Point secp256k1::multi_scalar_mul | ( | const std::vector< fast::Scalar > & | scalars, |
| const std::vector< fast::Point > & | points | ||
| ) |
| MuSig2KeyAggCtx secp256k1::musig2_key_agg | ( | const std::vector< std::array< std::uint8_t, 32 > > & | pubkeys | ) |
Referenced by ufsecp_musig2_key_agg().
| MuSig2AggNonce secp256k1::musig2_nonce_agg | ( | const std::vector< MuSig2PubNonce > & | pub_nonces | ) |
Referenced by ufsecp_musig2_nonce_agg().
| std::pair< MuSig2SecNonce, MuSig2PubNonce > secp256k1::musig2_nonce_gen | ( | const fast::Scalar & | secret_key, |
| const std::array< std::uint8_t, 32 > & | pub_key, | ||
| const std::array< std::uint8_t, 32 > & | agg_pub_key, | ||
| const std::array< std::uint8_t, 32 > & | msg, | ||
| const std::uint8_t * | extra_input = nullptr |
||
| ) |
Referenced by ufsecp_musig2_nonce_gen().
| std::array< std::uint8_t, 64 > secp256k1::musig2_partial_sig_agg | ( | const std::vector< fast::Scalar > & | partial_sigs, |
| const MuSig2Session & | session | ||
| ) |
Referenced by ufsecp_musig2_partial_sig_agg().
| fast::Scalar secp256k1::musig2_partial_sign | ( | MuSig2SecNonce & | sec_nonce, |
| const fast::Scalar & | secret_key, | ||
| const MuSig2KeyAggCtx & | key_agg_ctx, | ||
| const MuSig2Session & | session, | ||
| std::size_t | signer_index | ||
| ) |
Referenced by ufsecp_musig2_partial_sign().
| bool secp256k1::musig2_partial_verify | ( | const fast::Scalar & | partial_sig, |
| const MuSig2PubNonce & | pub_nonce, | ||
| const std::array< std::uint8_t, 32 > & | pubkey, | ||
| const MuSig2KeyAggCtx & | key_agg_ctx, | ||
| const MuSig2Session & | session, | ||
| std::size_t | signer_index | ||
| ) |
Referenced by ufsecp_musig2_partial_verify().
| MuSig2Session secp256k1::musig2_start_sign_session | ( | const MuSig2AggNonce & | agg_nonce, |
| const MuSig2KeyAggCtx & | key_agg_ctx, | ||
| const std::array< std::uint8_t, 32 > & | msg | ||
| ) |
Referenced by ufsecp_musig2_start_sign_session().
|
inlinenoexcept |
Definition at line 117 of file private_key.hpp.
|
noexcept |
|
noexcept |
Referenced by ufsecp_segwit_parse_program().
| void secp256k1::pbkdf2_hmac_sha512 | ( | const std::uint8_t * | password, |
| std::size_t | password_len, | ||
| const std::uint8_t * | salt, | ||
| std::size_t | salt_len, | ||
| std::uint32_t | iterations, | ||
| std::uint8_t * | output, | ||
| std::size_t | output_len | ||
| ) |
| fast::Scalar secp256k1::pedersen_blind_sum | ( | const fast::Scalar * | blinds_in, |
| std::size_t | n_in, | ||
| const fast::Scalar * | blinds_out, | ||
| std::size_t | n_out | ||
| ) |
Referenced by ufsecp_pedersen_blind_sum().
| PedersenCommitment secp256k1::pedersen_commit | ( | const fast::Scalar & | value, |
| const fast::Scalar & | blinding | ||
| ) |
Referenced by ufsecp_pedersen_commit().
| const fast::Point & secp256k1::pedersen_generator_H | ( | ) |
| const fast::Point & secp256k1::pedersen_generator_J | ( | ) |
| PedersenCommitment secp256k1::pedersen_switch_commit | ( | const fast::Scalar & | value, |
| const fast::Scalar & | blinding, | ||
| const fast::Scalar & | switch_blind | ||
| ) |
Referenced by ufsecp_pedersen_switch_commit().
| bool secp256k1::pedersen_verify | ( | const PedersenCommitment & | commitment, |
| const fast::Scalar & | value, | ||
| const fast::Scalar & | blinding | ||
| ) |
Referenced by ufsecp_pedersen_verify().
| bool secp256k1::pedersen_verify_sum | ( | const PedersenCommitment * | commitments_pos, |
| std::size_t | n_pos, | ||
| const PedersenCommitment * | commitments_neg, | ||
| std::size_t | n_neg | ||
| ) |
Referenced by ufsecp_pedersen_verify_sum().
| fast::Point secp256k1::pippenger_msm | ( | const fast::Scalar * | scalars, |
| const fast::Point * | points, | ||
| std::size_t | n | ||
| ) |
| fast::Point secp256k1::pippenger_msm | ( | const std::vector< fast::Scalar > & | scalars, |
| const std::vector< fast::Point > & | points | ||
| ) |
| unsigned secp256k1::pippenger_optimal_window | ( | std::size_t | n | ) |
|
noexcept |
| std::pair< RecoverableSignature, bool > secp256k1::recoverable_from_compact | ( | const std::array< std::uint8_t, 65 > & | data | ) |
| std::array< std::uint8_t, 65 > secp256k1::recoverable_to_compact | ( | const RecoverableSignature & | rsig, |
| bool | compressed = true |
||
| ) |
| fast::Scalar secp256k1::rfc6979_nonce | ( | const fast::Scalar & | private_key, |
| const std::array< std::uint8_t, 32 > & | msg_hash | ||
| ) |
| fast::Scalar secp256k1::rfc6979_nonce_hedged | ( | const fast::Scalar & | private_key, |
| const std::array< std::uint8_t, 32 > & | msg_hash, | ||
| const std::array< std::uint8_t, 32 > & | aux_rand | ||
| ) |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
Definition at line 132 of file context.hpp.
References effective_generator(), and secp256k1::fast::Point::scalar_mul().
| SchnorrSignature secp256k1::schnorr_adaptor_adapt | ( | const SchnorrAdaptorSig & | pre_sig, |
| const fast::Scalar & | adaptor_secret | ||
| ) |
Referenced by ufsecp_schnorr_adaptor_adapt().
| std::pair< fast::Scalar, bool > secp256k1::schnorr_adaptor_extract | ( | const SchnorrAdaptorSig & | pre_sig, |
| const SchnorrSignature & | sig | ||
| ) |
Referenced by ufsecp_schnorr_adaptor_extract().
| SchnorrAdaptorSig secp256k1::schnorr_adaptor_sign | ( | const fast::Scalar & | private_key, |
| const std::array< std::uint8_t, 32 > & | msg, | ||
| const fast::Point & | adaptor_point, | ||
| const std::array< std::uint8_t, 32 > & | aux_rand | ||
| ) |
Referenced by ufsecp_schnorr_adaptor_sign().
| bool secp256k1::schnorr_adaptor_verify | ( | const SchnorrAdaptorSig & | pre_sig, |
| const std::array< std::uint8_t, 32 > & | pubkey_x, | ||
| const std::array< std::uint8_t, 32 > & | msg, | ||
| const fast::Point & | adaptor_point | ||
| ) |
Referenced by ufsecp_schnorr_adaptor_verify().
| std::vector< std::size_t > secp256k1::schnorr_batch_identify_invalid | ( | const SchnorrBatchCachedEntry * | entries, |
| std::size_t | n | ||
| ) |
| std::vector< std::size_t > secp256k1::schnorr_batch_identify_invalid | ( | const SchnorrBatchEntry * | entries, |
| std::size_t | n | ||
| ) |
Referenced by ufsecp_schnorr_batch_identify_invalid().
| bool secp256k1::schnorr_batch_verify | ( | const SchnorrBatchCachedEntry * | entries, |
| std::size_t | n | ||
| ) |
| bool secp256k1::schnorr_batch_verify | ( | const SchnorrBatchEntry * | entries, |
| std::size_t | n | ||
| ) |
Referenced by ufsecp_schnorr_batch_verify().
| bool secp256k1::schnorr_batch_verify | ( | const std::vector< SchnorrBatchCachedEntry > & | entries | ) |
| bool secp256k1::schnorr_batch_verify | ( | const std::vector< SchnorrBatchEntry > & | entries | ) |
| SchnorrKeypair secp256k1::schnorr_keypair_create | ( | const fast::Scalar & | private_key | ) |
| std::array< std::uint8_t, 32 > secp256k1::schnorr_pubkey | ( | const fast::Scalar & | private_key | ) |
Referenced by ufsecp_pubkey_xonly().
| SchnorrSignature secp256k1::schnorr_sign | ( | const fast::Scalar & | private_key, |
| const std::array< std::uint8_t, 32 > & | msg, | ||
| const std::array< std::uint8_t, 32 > & | aux_rand | ||
| ) |
| SchnorrSignature secp256k1::schnorr_sign | ( | const SchnorrKeypair & | kp, |
| const std::array< std::uint8_t, 32 > & | msg, | ||
| const std::array< std::uint8_t, 32 > & | aux_rand | ||
| ) |
| SchnorrSignature secp256k1::schnorr_sign_verified | ( | const fast::Scalar & | private_key, |
| const std::array< std::uint8_t, 32 > & | msg, | ||
| const std::array< std::uint8_t, 32 > & | aux_rand | ||
| ) |
| SchnorrSignature secp256k1::schnorr_sign_verified | ( | const SchnorrKeypair & | kp, |
| const std::array< std::uint8_t, 32 > & | msg, | ||
| const std::array< std::uint8_t, 32 > & | aux_rand | ||
| ) |
| bool secp256k1::schnorr_verify | ( | const SchnorrXonlyPubkey & | pubkey, |
| const std::array< std::uint8_t, 32 > & | msg, | ||
| const SchnorrSignature & | sig | ||
| ) |
| bool secp256k1::schnorr_verify | ( | const SchnorrXonlyPubkey & | pubkey, |
| const std::uint8_t * | msg32, | ||
| const SchnorrSignature & | sig | ||
| ) |
| bool secp256k1::schnorr_verify | ( | const std::array< std::uint8_t, 32 > & | pubkey_x, |
| const std::array< std::uint8_t, 32 > & | msg, | ||
| const SchnorrSignature & | sig | ||
| ) |
| bool secp256k1::schnorr_verify | ( | const std::array< std::uint8_t, 32 > & | pubkey_x, |
| const std::uint8_t * | msg32, | ||
| const SchnorrSignature & | sig | ||
| ) |
| bool secp256k1::schnorr_verify | ( | const std::uint8_t * | pubkey_x32, |
| const std::uint8_t * | msg32, | ||
| const SchnorrSignature & | sig | ||
| ) |
Referenced by ufsecp_schnorr_verify().
| SchnorrXonlyPubkey secp256k1::schnorr_xonly_from_keypair | ( | const SchnorrKeypair & | kp | ) |
| bool secp256k1::schnorr_xonly_pubkey_parse | ( | SchnorrXonlyPubkey & | out, |
| const std::array< std::uint8_t, 32 > & | pubkey_x | ||
| ) |
| bool secp256k1::schnorr_xonly_pubkey_parse | ( | SchnorrXonlyPubkey & | out, |
| const std::uint8_t * | pubkey_x32 | ||
| ) |
|
noexcept |
|
noexcept |
Referenced by ufsecp_segwit_p2tr_spk().
|
noexcept |
Referenced by ufsecp_segwit_p2wpkh_spk().
|
noexcept |
Referenced by ufsecp_segwit_p2wsh_spk().
| fast::Point secp256k1::shamir_trick | ( | const fast::Scalar & | a, |
| const fast::Point & | P, | ||
| const fast::Scalar & | b, | ||
| const fast::Point & | Q | ||
| ) |
Referenced by ufsecp_shamir_trick().
| SilentPaymentAddress secp256k1::silent_payment_address | ( | const fast::Scalar & | scan_privkey, |
| const fast::Scalar & | spend_privkey | ||
| ) |
Referenced by ufsecp_silent_payment_address().
| std::pair< fast::Point, fast::Scalar > secp256k1::silent_payment_create_output | ( | const std::vector< fast::Scalar > & | input_privkeys, |
| const SilentPaymentAddress & | recipient, | ||
| std::uint32_t | k = 0 |
||
| ) |
Referenced by ufsecp_silent_payment_create_output().
| 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 | ||
| ) |
Referenced by ufsecp_silent_payment_scan().
| unsigned secp256k1::strauss_optimal_window | ( | std::size_t | n | ) |
| std::array< std::uint8_t, 32 > secp256k1::tagged_hash | ( | const char * | tag, |
| const void * | data, | ||
| std::size_t | len | ||
| ) |
Referenced by ufsecp_tagged_hash().
| std::array< std::uint8_t, 32 > secp256k1::taproot_branch_hash | ( | const std::array< std::uint8_t, 32 > & | a, |
| const std::array< std::uint8_t, 32 > & | b | ||
| ) |
|
noexcept |
Referenced by ufsecp_taproot_keypath_sighash().
| std::array< std::uint8_t, 32 > secp256k1::taproot_leaf_hash | ( | const std::uint8_t * | script, |
| std::size_t | script_len, | ||
| std::uint8_t | leaf_version = 0xC0 |
||
| ) |
| std::array< std::uint8_t, 32 > secp256k1::taproot_merkle_root | ( | const std::vector< std::array< std::uint8_t, 32 > > & | leaf_hashes | ) |
| std::array< std::uint8_t, 32 > secp256k1::taproot_merkle_root_from_proof | ( | const std::array< std::uint8_t, 32 > & | leaf_hash, |
| const std::vector< std::array< std::uint8_t, 32 > > & | proof | ||
| ) |
| std::pair< std::array< std::uint8_t, 32 >, int > secp256k1::taproot_output_key | ( | const std::array< std::uint8_t, 32 > & | internal_key_x, |
| const std::uint8_t * | merkle_root = nullptr, |
||
| std::size_t | merkle_root_len = 0 |
||
| ) |
Referenced by ufsecp_taproot_output_key().
| std::array< std::uint8_t, 32 > secp256k1::taproot_tweak_hash | ( | const std::array< std::uint8_t, 32 > & | internal_key_x, |
| const std::uint8_t * | merkle_root = nullptr, |
||
| std::size_t | merkle_root_len = 0 |
||
| ) |
| Scalar secp256k1::taproot_tweak_privkey | ( | const Scalar & | private_key, |
| const std::uint8_t * | merkle_root = nullptr, |
||
| std::size_t | merkle_root_len = 0 |
||
| ) |
Referenced by ufsecp_taproot_tweak_seckey().
| bool secp256k1::taproot_verify_commitment | ( | const std::array< std::uint8_t, 32 > & | output_key_x, |
| int | output_key_parity, | ||
| const std::array< std::uint8_t, 32 > & | internal_key_x, | ||
| const std::uint8_t * | merkle_root = nullptr, |
||
| std::size_t | merkle_root_len = 0 |
||
| ) |
Referenced by ufsecp_taproot_verify().
|
noexcept |
Referenced by ufsecp_tapscript_sighash().
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
| WIFDecodeResult secp256k1::wif_decode | ( | const std::string & | wif | ) |
Referenced by ufsecp_wif_decode().
| std::string secp256k1::wif_encode | ( | const fast::Scalar & | private_key, |
| bool | compressed = true, |
||
| Network | net = Network::Mainnet |
||
| ) |
Referenced by ufsecp_wif_encode().
|
noexcept |
Referenced by ufsecp_bip144_witness_commitment().
|
noexcept |
Referenced by ufsecp_segwit_witness_script_hash().
|
noexcept |
|
noexcept |