Crate secp256k1_sys

source ·
Expand description

secp256k1-sys FFI bindings

Direct bindings to the underlying C library functions. These should not be needed for most users.

Modules

FFI of the recovery module

Macros

Structs

A Secp256k1 context, containing various precomputed values and such needed to do elliptic curve computations. If you create one of these with secp256k1_context_create you MUST destroy it with secp256k1_context_destroy, or else you will have a memory leak.
Library-internal representation of a Secp256k1 public key
Data structure that contains additional arguments for schnorrsig_sign_custom.
Library-internal representation of a Secp256k1 signature

Constants

Flag for keys to indicate compressed serialization format
Flag for keys to indicate uncompressed serialization format
Flag for context to enable no precomputation
Flag for context to enable signing precomputation
Flag for context to enable verification precomputation

Statics

Traits

A trait for producing pointers that will always be valid in C. (assuming NULL pointer is a valid no-op) Rust doesn’t promise what pointers does it give to ZST (https://doc.rust-lang.org/nomicon/exotic-sizes.html#zero-sized-types-zsts) In case the type is empty this trait will give a NULL pointer, which should be handled in C.

Functions

A reimplementation of the C function secp256k1_context_create in rust.
A reimplementation of the C function secp256k1_context_destroy in rust.
This function is an override for the C function, this is the an edited version of the original description:
This function is an override for the C function, this is the an edited version of the original description:

Type Definitions

Hash function to use to post-process an ECDH point to get a shared secret.
A nonce generation function. Ordinary users of the library never need to see this type; only if you need to control nonce generation do you need to use it. I have deliberately made this hard to do: you have to write your own wrapper around the FFI functions to use it. And it’s an unsafe type. Nonces are generated deterministically by RFC6979 by default; there should be no need to ever change this.
Same as secp256k1_nonce function with the exception of accepting an additional pubkey argument and not requiring an attempt argument. The pubkey argument can protect signature schemes with key-prefixed challenge hash inputs against reusing the nonce when signing with the wrong precomputed pubkey.