sapio-secp256k1 0.28.1

Rust wrapper library for Pieter Wuille's `libsecp256k1`. Implements ECDSA and BIP 340 signatures for the SECG elliptic curve group secp256k1 and related utilities. Extended edition for Sapio.
Documentation
[package]
name = "sapio-secp256k1"
version = "0.28.1"
authors = [ "Jeremy Rubin <jeremy.l.rubin@gmail.com>",
            "Dawid Ciężarkiewicz <dpc@ucore.info>",
            "Andrew Poelstra <apoelstra@wpsoftware.net>" ]
license = "CC0-1.0"
homepage = "https://github.com/sapio-lang/rust-secp256k1/"
repository = "https://github.com/sapio-lang/rust-secp256k1/"
documentation = "https://docs.rs/sapio-secp256k1/"
description = "Rust wrapper library for Pieter Wuille's `libsecp256k1`. Implements ECDSA and BIP 340 signatures for the SECG elliptic curve group secp256k1 and related utilities. Extended edition for Sapio."
keywords = [ "crypto", "ECDSA", "secp256k1", "libsecp256k1", "bitcoin" ]
readme = "README.md"
edition = "2018"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[features]
default = ["std"]
std = ["alloc", "secp256k1-sys/std"]
# allow use of Secp256k1::new and related API that requires an allocator
alloc = ["secp256k1-sys/alloc"]
hashes-std = ["std", "hashes/std"]
rand-std = ["std", "rand", "rand/std", "rand/std_rng"]
recovery = ["secp256k1-sys/recovery"]
lowmemory = ["secp256k1-sys/lowmemory"]
global-context = ["std"]
# disable re-randomization of the global context, which provides some
# defense-in-depth against sidechannel attacks. You should only use
# this feature if you expect the `rand` crate's thread_rng to panic.
# (If you are sure the `rand-std` feature will not be enabled, e.g.
# if you are doing a no-std build, then this feature does nothing
# and is not necessary.)
global-context-less-secure = ["global-context"]
json = ["schemars"]

[dependencies]
serde = { version = "1.0.103", default-features = false, optional = true }
secp256k1-sys = { version = "0.9.2", default-features = false, path = "./secp256k1-sys", package="sapio-secp256k1-sys" }

# You likely only want to enable these if you explicitly do not want to use "std", otherwise enable
# the respective -std feature e.g., hashes-std
hashes = { package = "bitcoin_hashes", version = ">= 0.12, <= 0.13", default-features = false, optional = true }
rand = { version = "0.8", default-features = false, optional = true }

[dependencies.schemars]
version = "0.8.0"
optional = true


[dev-dependencies]
rand_core = "0.6"
serde_cbor = "0.10.0"
serde_test = "1.0.19"
bincode = "1.3.3"
serde_json = "1.0"
jsonschema-valid = "0.4.0"

[target.wasm32-unknown-unknown.dev-dependencies]
wasm-bindgen-test = "0.3"
getrandom = { version = "0.2", features = ["js"] }


[[example]]
name = "sign_verify_recovery"
required-features = ["recovery", "hashes-std"]

[[example]]
name = "sign_verify"
required-features = ["hashes-std"]

[[example]]
name = "generate_keys"
required-features = ["rand-std"]

[workspace]
members = ["secp256k1-sys"]
exclude = ["no_std_test"]