645271dd74 Upgrade hashes dependency (Tobin C. Harding)
Pull request description:
Keep the range versioning but increase the threshold to include the latest `v0.14.0` release.
ACKs for top commit:
apoelstra:
ACK 645271dd74
Tree-SHA512: 46c93e4ad4077cc164e546fd9621f18ec34c2e110f9c763e8252d3ee92174e9efb5a20eea6169f62d5397fcbab5799dd8d9c88577bbf246e9aa4c2b2282c2266
2d0c7835f1 Tighten the version grep in vendor script (Tobin C. Harding)
a2b78f4022 Bump MSRV to 1.56.1 (Tobin C. Harding)
Pull request description:
As we have done in other parts of the ecosystem bump the MSRV to Rust `v1.56.1`.
Done for `secp256k1` and `secp256k1-sys`.
This was originally in #688 but there are too many things going on so here it is separately.
ACKs for top commit:
apoelstra:
ACK 2d0c7835f1
Tree-SHA512: 35ac5632428211b02f5b25780c3a680d8c9a68b238de7299242510091f9243fe2f6718817c865c3420e3afb64b32d52daf2cf372706067204e7de42e188c31c6
We just added `rust-version = ` to the `secp256k1-sys` manifest, doing
so causes a grep statement from the vendor script to match this line -
we don't want that.
Tighten up the grep statement by only matching on `version` at the start
of the line.
0da394e648 Remove wildcard re-exports of key types (Tobin C. Harding)
d63e95b99b Remove wildcard re-exports of context types (Tobin C. Harding)
Pull request description:
Wildcards make it hard to grep for where stuff comes from, explicit imports and re-exports are ... more explicit.
- Patch 1: Re-export the `context` types explicitly.
- Patch 2: Re-export the `key` types explicitly.
Fix: #681
ACKs for top commit:
apoelstra:
ACK 0da394e648
Tree-SHA512: ac92baa9b9abaaff436223bf1d18d286825dbfc8eef401c714314902ff471db4830dce360138845efd781bcb883676d0cbc3db8d691476403eb487a0585edeaa
7b6a13b004 CI: Revert cc pin in ASAN job (Tobin C. Harding)
Pull request description:
Revert commit: 92778efe92
We can't use git to revert it because the code has now moved from `test.sh` to `_test.sh`.
I don't remember the problem but lets just use CI to see if its fixed.
ACKs for top commit:
sanket1729:
utACK 7b6a13b004
apoelstra:
ACK 7b6a13b004
Tree-SHA512: d804c73152b3d8b14e8f13e64066c33e2dfbdef8b184d55672638df6b468a6f636e632c5e1a0b09e617534aaf466b1c719c6df16952aaf8a51cb2659bed1d0ef
65d54e7bbe Add script to update-lock-files (Tobin C. Harding)
c61db1b44f CI: Check for API changes (Tobin C. Harding)
53d34d5ee0 Update the API files (Tobin C. Harding)
c3f2c59db1 just: Add a command to check for API changes (Tobin C. Harding)
1e22d74270 Add a justfile (Tobin C. Harding)
Pull request description:
This PR is not just CI, it does a few clean up chores:
- Add a `justfile` (including command to check the API)
- Update the API files
- Add a script to update the lock files
ACKs for top commit:
apoelstra:
ACK 65d54e7bbe
Tree-SHA512: c799200dc761cb4367904346024834caf52e9a549aed5741263429d0bd297858c5293bfdb4bdf83fffb063060f7f251c9c1956659bd50867b09fafddb3c54880
Wildcards make it hard to grep for where stuff comes from, explicit
imports and re-exports are ... more explicit.
Re-export the `key` types explicitly.
Wildcards make it hard to grep for where stuff comes from, explicit
imports and re-exports are ... more explicit.
Import and re-export explicitly instead of by using wildcards.
Revert commit: 92778efe92
We can't use git to revert it because the code has now moved from
`test.sh` to `_test.sh`.
I don't remember the problem but lets just use CI to see if its fixed.
The `just` command makes scripts and commands discoverable for new devs
and old devs alike when switching between repos.
Add a justfile copied from bitcoin with changes as required.
873ad47343 Allow dead_code on AlignedType (Tobin C. Harding)
Pull request description:
We use the `AlignedType` and take a pointer to its inner data, never access the data directly - this confuses clippy causing a "field is never used" warning.
Shoosh the lint and add a code comment explaining why.
ACKs for top commit:
apoelstra:
ACK 873ad47343
Tree-SHA512: 2a383aed169edf247def5c291bc2d8177cc09412b82bb47bb514e0929ae89d689102e646dcbbffc6fd4caa1ce1430420a63c7ceb3428ad9b05230a93b7f14d16
We use the `AlignedType` and take a pointer to its inner data, never
access the data directly - this confuses clippy causing a "field is
never used" warning.
Shoosh the lint and add a code comment explaining why.
1a162faf40 bump version to 0.28.2 (Andrew Poelstra)
Pull request description:
Minor version which just adds some methods to various types.
ACKs for top commit:
Kixunil:
ACK 1a162faf40
Tree-SHA512: d93b1abc04d6165bf121f9385683178ada0103501a3de198772b992e2c01e8d9e742f7cd111fdaef825be4fd989d01b6928f2dece4fd78e286798ee905ce9e42
7fe89c488b Add byte accessors to `ElligatorSwiftSharedSecret` (Martin Habovstiak)
Pull request description:
The inner bytes of `ElligatorSwiftSharedSecret` were almost inaccessible making the type almost useless, so this commit adds methods to access inner bytes.
Closes#675
ACKs for top commit:
apoelstra:
ACK 7fe89c488b
Tree-SHA512: 5ec457401c83423b180f7a6f28048f93040c39129050707b981d1c113e3daa85a37b3f848e61cd3230cc26db4a783e561b77e09b766fd8193d8f7bf187214091
The inner bytes of `ElligatorSwiftSharedSecret` were almost inaccessible
making the type almost useless, so this commit adds methods to access
inner bytes.
Closes#675
dbc546596f Impl Ord and PartialOrd for RecoverableSignature (benthecarman)
Pull request description:
ACKs for top commit:
apoelstra:
ACK dbc546596f oops, sorry!
Tree-SHA512: decda6b6e7a4929147f5ca00cb2802037c6a297aa816c253e181f1a85ec9e46958469b9d481e2b4aba2c6d86def80bba33a62c507459d82c86cfed4271a23eea
f87dc91151 Derive Hash for Scalar (Jiri Jakes)
Pull request description:
Unless there is some safety concern I cannot see, having Scalar implementing Hash would be useful.
ACKs for top commit:
Kixunil:
ACK f87dc91151
apoelstra:
ACK f87dc91151
Tree-SHA512: 276670a3d938fade3828123547b01e38b1a3c56775fb3c545d2c392622de808cf2bf8125925c7896ee27bacd5897d88908384d8c157dc8ec7d605781475964fd
0ed5a55829 release 0.28.1 (Andrew Poelstra)
Pull request description:
We need a new rust-secp release to deal with the new rust-secp-sys release.
ACKs for top commit:
sanket1729:
utACK 0ed5a55829
Kixunil:
ACK 0ed5a55829
Tree-SHA512: 6d54acce52acc03d09272a20242e9a086783e471153d77d10f21bf8924595d43717fd85e8aa4a9b7075c93a04ad88404377e06ca5200b1c9b45c08c01d6f77a8
c1ccda18b6 secp256k1-sys: Bump version to 0.9.1 (Tobin C. Harding)
Pull request description:
In preparation for doing a point release add a changelog entry, bump the version, and update all the `0_9_0` identifiers in the vendored code.
Done so we can release the wasm-build bug fix.
Fix: #667
ACKs for top commit:
apoelstra:
ACK c1ccda18b6
Tree-SHA512: 4fda58bd2d97b73280c00f06109d4ecf913e87ecbd1e31465efe94b96589c819ffda0ae5c622428f0a7f2e09ec45033a0e683dfd954cf06369aac6b9369471c1
In preparation for doing a point release add a changelog entry, bump the
version, and update all the `0_9_0` identifiers in the vendored code.
Done so we can release the wasm-build bug fix.
7a0c60edcd secp256k1-sys: patch out checked_malloc (Andrew Poelstra)
942a0e5e2c build.rs: patch out any calls to `printf` (Andrew Poelstra)
51dab7ac04 vendor-libsecp: remove util.h patch (Andrew Poelstra)
Pull request description:
Rather than using a new patchfile, just `#define` it away. Also includes a commit which removes one of the existing patchfiles, which I discovered was out of date while auditing the others to see if they could be replaced by `#define`s. (No, they cannot.)
Fixes#660
ACKs for top commit:
tcharding:
AFAICT this is right to go, ACK 7a0c60edcd
Kixunil:
ACK 7a0c60edcd
Tree-SHA512: 83ba70b000919fb8a929804c9d5929a9929b80515f0594925d3789ef896889d3c909f9fa920bac45470611607b84f509723544fa442ff1a51eefba0de75bf68f
458712212d Improve code comments (Tobin C. Harding)
Pull request description:
These comments say what the code is doing, they add no value.
ACKs for top commit:
Kixunil:
ACK 458712212d
apoelstra:
ACK 458712212d
Tree-SHA512: 0f31d36d7dfbde5bf32d622c3ba1845d5c6989c3eff0e520b77eeee595453299551172331851176e50aef4f78eacb7033c0ff798077e44e1c63313013b073f0b
dd6bf7c10d Fix unit test import statements (Tobin C. Harding)
Pull request description:
In `lib.rs` unit tests we are getting build warnings because of how we are importing things, just import with `super::*` unconditionally and be done with it.
This patch is the only good one out of #661.
ACKs for top commit:
apoelstra:
ACK dd6bf7c10d
Kixunil:
ACK dd6bf7c10d
Tree-SHA512: 3970f4c1374ec6de4798bfb52b561e9ac4611ec3a3885edc79639566f777e1fbb502cb36fa7abd015f3fd4a9ca4b6a4931b4ecb2e629e967b4e49391db97a97f
This patch adds a declaration of the `ecdsa_parse_compact` function to
util.h. This function isn't called from within libsecp proper; it is
called in lax_der_parse.c (which we patch separately with a declaration)
and in example code (which we don't compile at all).
In `lib.rs` unit tests we are getting build warnings because of how we
are importing things, just import with `super::*` unconditionally and be
done with it.
e9e17a0039 Check for changes to the public API (Tobin C. Harding)
Pull request description:
We would like to get to a stage where we can commit to the public API. To help us achieve this add a script that generates the public API and checks it against three committed files, one for each feature set: no features, alloc, std.
The idea is that with this applied any PR that changes the public API should include a final patch that is just the changes to the api/*.txt files, that way reviewers can discuss the changes without even needing to look at the code, quickly giving concept ACK/NACKs. We also run the script in CI to make sure we have not accidentally changed the public API so that we can be confident that don't break semver during releases. The script can also be used to diff between two release versions to get a complete list of API changes, useful for writing release notes and for users upgrading.
There is a development burden involved if we apply this patch.
ACKs for top commit:
apoelstra:
ACK e9e17a0039
Tree-SHA512: 94a2cedb132db457b67b3c60cde8843d9db1d2bc8dba0530cd5c518ebed955bd66a1649c61e0cb96b6f293ce6b9b0395582877ce9f1de003e0020a66100d172f