Commit Graph

204 Commits

Author SHA1 Message Date
Tobin Harding a0465ea279 Remove feature global-context-less-secure
Instead of providing a mechanism for users to opt out of randomization
we can just feature gate the call site i.e., opportunistically randomize
the global context on creation if `rand-std` feature is enabled.
2022-02-04 08:34:39 +11:00
Tobin Harding a79840eca2 Be explicit about example feature requirements
The examples depend on having the "std" feature [1]. In preparation for
being able to run tests with `--no-default-features` add the "std"
feature as a requirement for all three examples. While we are at it use
the correct rand feature requirement: `rand-std`.

[1] Technically we only need "alloc" but "alloc" is not working with
Rust 1.29 currently so just use "std".
2022-02-01 15:20:06 +11:00
Martin Habovstiak d52ab85dd5 Added missing features to docs.rs config
These features were previously forgotten and without them the docs.rs
doc is not that great. :(
2022-01-07 01:12:41 +01:00
sanket1729 1671dfc2ed Release 0.21.2 2022-01-06 23:57:28 +05:30
Andrew Poelstra 74e8fc7699
Merge rust-bitcoin/rust-secp256k1#360: Re-export Parity struct
e595b39510 Re-export Parity struct (sanket1729)

Pull request description:

  pub struct Parity is under a private module key and not re-exported in lib.rs . It is therefore not
  possible to use it downstream.

ACKs for top commit:
  elichai:
    ACK e595b39510
  apoelstra:
    ACK e595b39510

Tree-SHA512: 2573689f9a08505c8dfe8f79cd921d5a2742a2a2f4f92cf4066fe6557c765c756531d13560fa4fe6461f094b0c11a52aca30b44542eb77eda7dd1ebd24d3b155
2022-01-06 15:46:18 +00:00
Andrew Poelstra 88f6baee73
Merge rust-bitcoin/rust-secp256k1#353: Documented features
18f74d5242 Clarify what does "less security" mean (Martin Habovstiak)
94c55b4d09 Fixed typos/grammar mistakes (Martin Habovštiak)
1bf05523f0 Documented features (Martin Habovstiak)

Pull request description:

  This documents the Cargo features making sure docs.rs shows warning for
  feature-gated items. They are also explicitly spelled out in the crate
  documentation.

  The PR is similar in spirit to https://github.com/rust-bitcoin/rust-bitcoin/pull/633

ACKs for top commit:
  apoelstra:
    ACK 18f74d5242

Tree-SHA512: 8aac3fc5fd8ee887d6b13606d66b3d11ce44662afb92228c4f8da6169e3f70ac6a005b328f427a91d307f8d36d091dcf24bfe4d17dfc034d02b578258719a90a
2022-01-06 15:42:32 +00:00
sanket1729 e595b39510 Re-export Parity struct
pub struct Parity is under a private module key. It is therefore not
possible to use it downstream.
2022-01-06 09:08:59 +05:30
Andrew Poelstra c50411f798 release secp256k1-sys 0.4.2; make new `ZERO` type publically accessible 2022-01-05 15:56:49 +00:00
Martin Habovstiak 1bf05523f0 Documented features
This documents the Cargo features making sure docs.rs shows warning for
feature-gated items. They are also explicitly spelled out in the crate
documentation.
2022-01-04 16:55:01 +01:00
Andrew Poelstra c3df9b89a2 Release 0.21.0 2022-01-04 14:30:00 +00:00
Andrew Poelstra cd62343407
Merge rust-bitcoin/rust-secp256k1#326: Bump bitcoin_hashes to version 0.10
bc42529a16 Rename `secp256k1::bitcoin_hashes` module to `secp256k1::hashes` (Thomas Eizinger)
ae1f8f4609 Bump bitcoin_hashes to version 0.10 (Thomas Eizinger)

Pull request description:

  Requires for interoperability of the `ThirtyTwoByteHash` trait with
  rust-bitcoin.

ACKs for top commit:
  apoelstra:
    ACK bc42529a16

Tree-SHA512: 85fcb284ff82b543a0c3ea2b568351b3af938a26ac42c6a975480ae97def84e4f0795105bd4572f930a7bf82654eba416cf0c5e25f62809e2ea331443ffb5807
2021-09-09 13:19:49 +00:00
Thomas Eizinger ae1f8f4609
Bump bitcoin_hashes to version 0.10
Requires for interoperability of the `ThirtyTwoByteHash` trait with
rust-bitcoin.
2021-09-08 15:40:47 +10:00
Dr Maxim Orlovsky 7e2f7fef72
Adding KeyPair::serialize_sec. Closes #298 2021-06-19 14:02:48 +02:00
Andrew Poelstra 05f4278499
Merge pull request #306 from LNP-BP/extrakeys/update-1
Extracting SecretKey and uncompressed PublicKey from BIP-350 KeyPair
2021-06-18 22:13:47 +00:00
Dr Maxim Orlovsky 455ee57ba4
Bump sys version to 0.4.1 2021-06-18 23:47:24 +02:00
Andrew Poelstra dce8a5d645 bump version to 0.20.3 2021-06-10 14:46:30 +00:00
Devrandom b5ff47a1a8 New alloc feature
Allows use of `Secp256k1::new` and related API if an allocator is available
2021-06-08 20:41:49 +02:00
Matt Corallo ce930ab6b7 Add a global-context-less-secure feature which skips randomization
This is useful for us downstream as we wish to target WASM with a
global context, and using rand in such a build doesn't seem like a
safe idea.
2021-06-08 01:48:50 +00:00
Andrew Poelstra 5307f9ba6c release secp256k1 0.20.2 2021-04-27 22:16:58 +00:00
Andrew Poelstra ca3caf9c94 bump version to 0.20.1 2021-01-11 19:15:10 +00:00
Andrew Poelstra c4d2fefa70 rust-secp 0.20.0 2020-12-29 19:31:24 +00:00
Andrew Poelstra e687622a81 bump secp-sys version; drop endomorphism flag 2020-12-29 17:15:56 +00:00
Elichai Turkel 21f231bf4d
Make test.sh test and build secp256k1-sys 2020-12-23 12:01:34 +02:00
Andrew Poelstra 85075a654c replace `fuzztarget` Cargo feature with a rustc --cfg flag
It's super dangerous to use Cargo features for this, since they can be set
accidentally (or maliciously by any crate in a user's entire dep tree). Instead
we can just require users set `RUSTFLAGS` appropriately, which we can easily
do in our fuzzing scripts.
2020-12-22 15:42:02 +00:00
Andrew Poelstra d77483f00e replace cargo `external-symbols` feature with a rustc --cfg flag
This feature was not useful for Cargo users, since Cargo does not give you
the kind of fine-grained control over C library linkage that you need. So
it was just unnecessarily confusing and would cause the build to break if
you enabled it accidentally, say, with --all-features.
2020-12-22 15:35:16 +00:00
Andrew Poelstra be9a78f39e
Merge pull request #237 from p2pderivatives/add-bip340-schnorr
Add bip340 schnorr
2020-11-27 18:04:44 +00:00
Tibo-lg 45a4459baf Update secp256k1-sys to add schnorr/extra-keys 2020-11-09 16:00:28 +09:00
Artem Vorotnikov bc81930a89
global-context depends on rand-std 2020-11-07 01:17:22 +03:00
Elichai Turkel 6511fad231
Sort Cargo.toml files 2020-08-27 22:58:00 +03:00
Andrew Poelstra 19f5138925 Update MSRV to 1.29; increase version to 0.19 and -sys version to 0.3 2020-08-27 14:18:06 +00:00
Andrew Poelstra 060648775e bump version to 0.18.0 2020-08-26 21:16:22 +00:00
Andrew Poelstra f19c6bbece bump secp-sys version to 0.2.0 2020-08-26 18:07:44 +00:00
Sebastian Geisler 2046a40905 Randomize context on initialization
Signed-off-by: Sebastian Geisler <sebastian@blockstream.io>
2020-08-03 12:07:26 +02:00
Sebastian Geisler a959de4174 Add an optional global, static context 2020-07-08 16:05:42 +02:00
Sebastian Geisler 0d857533fa Add optional bitcoin_hashes feature to implement ThirtyTwoByteHash 2020-05-14 18:24:39 +02:00
Matt Corallo d9d398ccc9 Re-support WASM via simple stub headers
libsecp256k1 really only barely uses libc at all, and in practice,
things like memcpy/memcmp get optimized into something other than a
libc call. Thus, if we provide simple stub headers, things seem to
work with wasm-pack just fine.
2020-04-29 15:32:54 -04:00
Elichai Turkel b2edf157cd
Fix broken benchmarks 2020-04-05 11:08:29 +03:00
Elichai Turkel 8f52bacb4a
Bump version to 0.17.2 2020-01-09 17:08:39 +02:00
Steven Roose ebc660bf94
Bump to v0.17.1 2019-12-11 18:57:21 +01:00
Steven Roose 18c511fd38
Bump version to v0.17.0 2019-11-27 21:04:34 +00:00
Steven Roose bf3fba71cb
Add external-symbols feature to support external libsecp
This feature disables using the bundles sources and will link into
existing libsecp256k1 symbols.
2019-11-27 21:04:32 +00:00
Steven Roose 724c49fff9
Add secp256k1-sys 2019-11-27 21:02:42 +00:00
Rodolfo Araujo 97f74c2c06 Libraries versions 2019-11-20 11:44:53 -03:00
Rodolfo Araujo a4ccab7431 Libraries. 2019-11-17 22:04:11 -03:00
Andrew Poelstra 5de62f80f3
Merge pull request #174 from elichai/2019-10-examples
Adding usage examples
2019-11-05 18:36:49 +00:00
Elichai Turkel 56753b1444
Bump version to 0.16 2019-10-29 11:13:06 +02:00
Elichai Turkel 2b50e02d7a
Add a rand-std feature 2019-10-29 11:13:05 +02:00
Elichai Turkel fe8ac1e583
Add warnings to Cargo.toml features 2019-10-28 23:23:46 +02:00
Elichai Turkel 349b2eac06
Add a 'dont_replace_c_symbols' feature for not replacing C's symbols with rust. isn't compatible with no-std 2019-10-28 23:05:38 +02:00
Elichai Turkel 7e5916b61f
Aded an example for recoverable signatures and recovering the pubkey 2019-10-28 22:23:56 +02:00
Elichai Turkel e28f756788
Added an example for signing and verification 2019-10-28 22:09:59 +02:00
Elichai Turkel 5ee0afbde4
Added an example for generating keys using OsRng 2019-10-28 22:09:18 +02:00
Andrew Poelstra 0c901db9d4 bump version to 0.15.5 2019-09-09 10:04:10 +00:00
Andrew Poelstra bbab1c271a
Revert "Add a rand-std feature" 2019-09-09 07:30:30 +00:00
Steven Roose 845bff25da
Bump version to 0.15.4 2019-09-06 17:15:49 +01:00
Steven Roose 07ef3a1f45
Pin version of build dependency cc to <1.0.42
Version 1.0.42 broke compatibility with rustc 1.22.0.
2019-09-06 17:11:18 +01:00
Elichai Turkel b59f4ff589
Add a rand-std feature 2019-08-21 20:16:11 -04:00
Elichai Turkel f75772b385
Bump version to 0.15.3 2019-08-16 14:15:31 -04:00
Wladimir J. van der Laan 62e5178638 Bump version to 0.15.2
And fill in release date for 0.15.2.
2019-08-12 19:21:28 +02:00
Wladimir J. van der Laan 62b9f06104 build.rs: Add feature 'lowmemory' to reduce memory usage
Currently, this only set `ECMULT_WINDOW_SIZE` to 4 instead of 15.

Fixes #139.

fixup
2019-08-12 19:21:22 +02:00
Elichai Turkel d820988d8b
Bump version to 0.15.1 2019-08-01 13:00:22 -04:00
Elichai Turkel 9fd088c21d
Removed the fuzztarget feature from the docs 2019-08-01 13:00:04 -04:00
Elichai Turkel e081a98005
Propagating std to rand dependency 2019-08-01 12:46:16 -04:00
Jonas Nick 58e820014e bump version to 0.15.0 2019-07-25 13:06:07 +00:00
Jonas Nick cf6f95d105
Merge pull request #131 from elichai/cc
Relax cc requirements more
2019-07-25 12:55:48 +00:00
Tim Ruffing 84345f2923
Merge pull request #129 from jonasnick/add-links
Add links manifest key to prevent cross-version linkage
2019-07-18 12:08:35 +02:00
Elichai Turkel c13183bc53
Relax cc requirements more 2019-07-16 16:46:28 -04:00
Elichai Turkel a4f6b2786a Bump version to 0.14.1 2019-07-14 16:35:51 -04:00
Jonas Nick d62c1371ef Add links manifest key to prevent cross-version linkage 2019-07-12 14:31:11 +00:00
Andrew Poelstra a92a63081b bump version to 0.14.0 2019-07-08 13:57:52 +00:00
Jonas Nick 179f35e0ba Move libsecp USE_ENDOMORPHISM option behind non-default feature flag 2019-06-13 06:38:18 +00:00
Jonas Nick ce7b03952b Bump version to 0.13.0 2019-05-21 18:35:28 +00:00
Jonas Nick c7eecd159e Feature gate recovery module 2019-05-21 07:02:11 +00:00
Tim Ruffing ab4320f8cc
Merge pull request #100 from elichai/master
Add no-std support
2019-05-10 23:32:52 +02:00
Andrew Poelstra 90faf434c9
Merge pull request #104 from alekseysidorov/fix_rand
Fix `Rand` trait bounds.
2019-05-01 01:47:43 +00:00
Aleksei Sidorov 733755d19e Relax cc dependency requirements.
- set allowed versions range for the `cc` dependency
2019-04-24 17:20:11 +03:00
Aleksei Sidorov 2536c5a3c4 Fix rand trait bounds. 2019-04-16 16:35:33 +03:00
Elichai Turkel 11ce86681f
Replaced std with core, and made std::error::Error optional through feature 2019-04-14 12:09:36 +03:00
François Garillot e69eabb36f
Bumping minimum Rust version 1.14.0 -> 1.22.0, as per https://git.io/fhDLO 2019-02-25 20:09:44 -08:00
François Garillot bafef68c56
Bumps rand to 0.6.3 & associated updates 2019-02-25 20:09:43 -08:00
Andrew Poelstra 432face734 bump version to 0.12.2 2019-01-18 15:35:44 +00:00
Andrew Poelstra 0466b5ed75
Merge pull request #93 from rust-bitcoin/2019-0.12.1
bump version to 0.12.1
2019-01-15 17:27:49 +00:00
Andrew Poelstra dd8866c144 bump version to 0.12.1 2019-01-15 16:32:55 +00:00
Pierre Krieger 9c45944a5f
Remove dependency on libc 2018-12-27 14:39:54 +01:00
Matt Corallo 34aadb72d4 Fix cc dep as the rust ecosystem is terrible 2018-12-19 15:25:47 -05:00
Andrew Poelstra 05885975ab bump version to 0.12 2018-12-03 13:54:17 +00:00
Andrew Poelstra 8986aa3d71 export `serde`, `rand` and `libc`; update version to 0.11.5 2018-11-07 20:18:55 +00:00
Andrew Poelstra 4819c5aabd bump version to 0.11.4 2018-11-06 20:38:09 +00:00
Andrew Poelstra f5e3e17be6 bump version to 0.11.3 2018-09-21 17:14:19 +00:00
Andrew Poelstra d41fc90972
Merge pull request #66 from rust-bitcoin/2018-09-docs-fix
attempt to fix docs.rs docs
2018-09-14 15:15:00 +00:00
Andrew Poelstra 4298438aaa bump version to 0.11.2 2018-09-11 18:06:30 +00:00
Andrew Poelstra d1e449a14b attempt to fix docs.rs docs 2018-09-04 14:28:15 +00:00
Andrew Poelstra 6f025a36a5 bump version to 0.11.1 2018-08-22 20:43:20 +00:00
Andrew Poelstra ce91fa0f38 bump version to 0.11 2018-08-22 16:40:05 +00:00
Andrew Poelstra 93d8249028 improve documentation 2018-08-20 17:56:46 +00:00
Andrew Poelstra d4149be931 update `rand` to 0.4 2018-07-30 03:03:20 +00:00
Andrew Poelstra 6f27422c4c update gcc 0.3 to cc 1.0 2018-07-30 02:53:35 +00:00
Andrew Poelstra 9fe5150480 bump version to 0.10.0; introduce CHANGELOG.md 2018-07-25 23:49:48 +00:00
Andrew Poelstra 2478930ec1 add feature-gated serde 1.0 support for Signature, SecretKey, PublicKey 2018-07-25 14:44:51 +00:00
Roman Zeyde 9a7cfd7072 Use latest version at docs.rs 2018-07-09 15:13:13 +03:00