HomePhabricator

[ecash-secp256k1] Add `ecash-secp256k1-sys`

Description

[ecash-secp256k1] Add ecash-secp256k1-sys

Summary:
Import the secp256k1-sys crate from rust-secp256k1 repository, and apply the following modifications:

  • Removed the vendored secp256k1 library imported from bitcoin-core
  • Use our secp256k1 library of the monorepo
  • Add ABC's secp256k1_schnorr_sign and secp256k1_schnorr_verify, which are the Schnorr signatures used by ABC. These are distinct from the x-only pubkey BIP340 signatures from BTC, but we keep them to simplify backports, and to (in the future) allow eCash apps to also talk some BTC.
  • Port the GitHub CI from the repository to a test.sh. Those depend on https://github.com/rust-bitcoin/rust-bitcoin-maintainer-tools, so the relevant parts have been ported and cleaned up.
  • Adapt the Rust workspace structure to our workspace.
  • Reformat everything with our formatting rules.

Test Plan: ./modules/ecash-secp256k1/contrib/test.sh

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Differential Revision: https://reviews.bitcoinabc.org/D16953

Details

Provenance
tobias_ruckAuthored on Oct 22 2024, 11:41
tobias_ruckPushed on Wed, Oct 23, 20:30
Reviewer
Restricted Project
Differential Revision
D16953: [ecash-secp256k1] Add `ecash-secp256k1-sys`
Parents
rABC7539ac957131: Add a release note for the chronik fixes
Branches
Unknown
Tags
Unknown