Skip to content

fedimint/rust-secp256k1-zkp

 
 

Repository files navigation

Continuous integration

rust-secp256k1-zkp

rust-secp256k1-zkp is a wrapper around libsecp256k1-zkp that also re-exports all bindings from rust-secp256k1. As such, all of its types - SecretKey, Context, etc - are interoperable with the ones defined in rust-secp256k1.

In addition to everything from rust-secp256k1, this library adds type-safe Rust bindings for the following modules:

  • generators
  • range proofs
  • pedersen commitments
  • adaptor signatures

Contributing

Contributions to this library are welcome. A few guidelines:

  • Any breaking changes must have an accompanied entry in CHANGELOG.md
  • No new dependencies, please.
  • No crypto should be implemented in Rust, with the possible exception of hash functions. Cryptographic contributions should be directed upstream to libsecp256k1.
  • This library should always compile with any combination of features on Rust 1.29.

A note on Rust 1.29 support

The build dependency cc might require a more recent version of the Rust compiler. To ensure compilation with Rust 1.29.0, pin its version in your Cargo.lock with cargo update -p cc --precise 1.0.41. If you're using secp256k1 in a library, to make sure it compiles in CI, you'll need to generate a lockfile first. Example for Travis CI:

before_script:
  - if [ "$TRAVIS_RUST_VERSION" == "1.29.0" ]; then
    cargo generate-lockfile --verbose && cargo update -p cc --precise "1.0.41" --verbose;
    fi

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 85.6%
  • Rust 8.8%
  • Sage 2.0%
  • Assembly 1.4%
  • M4 1.2%
  • Shell 0.5%
  • Other 0.5%