Commit Graph

186 Commits

Author SHA1 Message Date
ass3rt 7db03f27e4 Disable Serde's default-features
We do not need serde/std, only serde/alloc. Serde/std breaks no-std
builds, but serde/alloc does not. Depending on serde/alloc is the more
compatible approach, as the entire library already depends on alloc.
2022-04-25 09:51:02 -05:00
Andrew Poelstra 785be0e27a release 0.28.0 2022-04-05 20:39:13 +00:00
sanket1729 0d29c8388d rust-bitcoin 0.28.0-rc.2 2022-03-28 10:42:22 -07:00
Tobin Harding d68531d815
Update secp256k1 dependency
Update our `rust-secp256k1` dependency to the latest version.

Requires doing:

- Add a new variant to `Error` for the case where parity of the internal
  key is an invalid value (not 0 or 1).
- Use non-deprecated const
2022-03-12 08:12:42 +11:00
Dr Maxim Orlovsky 1b2dbd7c08
0.28.0-rc.1 release 2022-01-17 20:57:27 +01:00
Andrew Poelstra f332a1967e
Merge rust-bitcoin/rust-bitcoin#750: Use `test_data` for big objects, add big block for benchmarking
247a14f4c3 Use test big block for bench_stream_reader instead of making one (Riccardo Casatta)
b92dfbb63f exclude test_data when publishing the crate (Riccardo Casatta)
f5a9681a2a include a big block in test_data, use it for ser/de benchmark (Riccardo Casatta)
09dada55d6 Move bip158 test vectors to test_data (Riccardo Casatta)
06d1a820c3 Remove testnet block hex from tests, use test_data with include_bytes! (Riccardo Casatta)

Pull request description:

  In the first two commits I moved some data from source files to the newly introduced `test_data` dir, including it with `include_[str|bytes]!` macro.

  The second-to-last commit introduces a big block in test_data which is very handy in ser/de benchmark (I used it for #672) because with smaller blocks you may not notice performance improvements.

  Since I don't want to pollute the package the last commit excludes the `test_data` dir from the published package. I think it's fine to do it because dependent packages don't run dependencies tests.

ACKs for top commit:
  apoelstra:
    ACK 247a14f4c3
  Kixunil:
    tACK 247a14f4c3

Tree-SHA512: a2beb635b0a358737d0b57d3e7205b1ddf87652b9a8c889ce63e2867659a8eaf7e43a5b87a453345d56d953745913f40b58596f449e5fbc87340e0dd2aef0727
2022-01-07 20:22:02 +00:00
sanket1729 2178c7367c Update to secp256k1 0.21.2 2022-01-07 04:45:40 +05:30
Riccardo Casatta b92dfbb63f
exclude test_data when publishing the crate 2022-01-06 13:48:05 +01:00
Martin Habovstiak 9ef1c1e64a Fixed docs.rs metadata
This changes `rustc-args`, which doesn't do what we want, to `rustdoc-args`,
which does.
2021-12-17 13:49:54 +01:00
Dr Maxim Orlovsky 4eedd46d58
Hotfix for secp256k1 alloc feature 2021-11-12 21:36:32 +01:00
Dr. Maxim Orlovsky ff1ed818b1
Merge pull request #637 from devrandom/2021-08-no-std-cleanup
no-std cleanup
2021-11-12 20:39:16 +01:00
Martin Habovstiak 95fb4e01f9 Document cargo features
This documents cargo features in two ways: explictly in text and in code
using `#[doc(cfg(...))]` attribute where possible. Notably, this is
impossible for `serde` derives. The attribute is contitional and only
activated for docs.rs or explicit local builds.

This change also adds `package.metadata.docs.rs` field to `Cargo.toml`
which instructs docs.rs to build with relevant features and with
`docsrs` config activated enabling `#[doc(cfg(...))] attributes.

I also took the opportunity to fix a few missing spaces in nearby code.
2021-09-14 12:24:57 +02:00
Devrandom 849ec3f2c8 Enable secp256k1/alloc for no-std 2021-08-02 22:09:14 +02:00
Martin Habovstiak a291fee23c Removed fuzztarget feature
It seems to be unused and when there's a need for it it's better to use
`--cfg fuzzing` as in `rust-secp256k1 ` and `bitcoin_hashes`.
2021-07-29 08:13:25 +02:00
Riccardo Casatta ef69f24fed
Bump version to 0.27.0 2021-07-21 08:53:51 +02:00
Devrandom 4826d0c6cc no_std support
Based on the original work by Justin Moon.

*MSRV unchanged from 1.29.0.*

When `std` is off, `no-std` must be on, and we use the [`alloc`](https://doc.rust-lang.org/alloc/) and core2 crates. The `alloc` crate requires the user define a global allocator.

* Import from `core` and `alloc` instead of `std`
* `alloc` only used if `no-std` is on
* Create `std` feature
* Create `no-std` feature which adds a core2 dependency to polyfill `std::io` features. This is an experimental feature and should be
used with caution.
* CI runs tests `no-std`
* MSRV for `no-std` is 1.51 or so
2021-07-15 09:04:49 +02:00
Andrew Poelstra abff973e83
Merge pull request #601 from LNP-BP/feat/bech32m-1
Bech32m adoption
2021-06-18 21:14:12 +00:00
Sebastian Geisler 055d0fb087 Prepare release 0.26.2 2021-06-08 15:34:27 +02:00
Dr Maxim Orlovsky c1fae03686
Non-API breaking Bech32m adoption 2021-06-08 08:43:39 +02:00
Dr Maxim Orlovsky d2ee8e81f3
Bump version to 0.26.1 2021-06-06 20:04:18 +02:00
Dr Maxim Orlovsky 5b962dc9a9
Updating dependency versions 2021-05-04 03:58:56 +02:00
Dr Maxim Orlovsky 122450b102
Fixing hashes core dependency and fuzz feature 2021-05-04 03:47:34 +02:00
Nadav Ivgi 4a7cf34eeb
Use efficient serialization for non-human-readable formats 2021-01-14 19:36:36 +02:00
Andrew Poelstra 010068ba32 bump version to 0.26 2021-01-12 23:26:10 +00:00
Thomas Eizinger e52e48eebb
Don't enable `recovery` of `secp256k1` in the dependency declaration
Enabling this feature in the dependency declaration defeats the point
of exposing a feature in rust-bitcoin that enables this because
cargo currently does not provide a way to disable a once activated feature.
2021-01-06 12:23:51 +11:00
Thomas Eizinger 68840b65f5
Bump to secp256k1 0.20
This version removes the fuzztarget and endomorphism features.
2021-01-04 15:25:45 +11:00
Steven Roose 94b7371424 Replace serde_struct_impl with derive-based impls 2020-12-30 16:32:52 +01:00
Steven Roose a56712befc
Create tagged taproot hashes 2020-11-30 20:13:11 +00:00
Steven Roose e07ee5165a
Bump version to v0.25.2 2020-10-26 15:44:19 +00:00
Andrew Poelstra cdb579c101
Merge pull request #491 from apoelstra/2020-10--0.25.1
bump version to 0.25.1
2020-10-20 13:37:31 +00:00
Steven Roose f7422fb8d1
Add MessageSignature type for dealing with signed messages 2020-10-11 22:44:00 +02:00
Andrew Poelstra 17e733d85b bump version to 0.25.1 2020-10-09 13:31:46 +00:00
Elichai Turkel eda47c31c9
Remove redundant code / configurations 2020-10-08 17:11:18 +03:00
Elichai Turkel ad0064db14
Remove hex as a dev-dependency 2020-10-08 17:08:48 +03:00
Riccardo Casatta 31e63cb1d2
Expose features of secp256k1 2020-10-02 09:18:33 +02:00
Andrew Poelstra 6138084c5b bump version to 0.25, MSRV to 1.29 2020-09-10 20:06:10 +00:00
Andrew Poelstra e2bef1c4a6 bump version to 0.24.0 2020-09-10 19:02:53 +00:00
Andrew Poelstra a1450058d9 bump major versions of rust-secp and bitcoin_hashes deps 2020-09-10 16:42:08 +00:00
Sebastian Geisler 139fc02592 Fix #430: ruy rust 1.22 inccompatibility 2020-06-04 22:05:16 +02:00
Andrew Poelstra 659f2edb3b
Merge pull request #381 from elichai/2020-01-hex
Remove the hex dependency
2020-01-24 19:14:20 +00:00
Elichai Turkel 399950bf71
Restrict serde-json dev dependency to less than 1.0.45 2020-01-23 11:45:59 +02:00
Elichai Turkel c19b736566
Remove the hex dependency 2020-01-20 18:50:02 +02:00
Steven Roose 2326dd6a82
Update secp256k1's rand feature to rand-std 2020-01-09 11:11:49 +00:00
Steven Roose 2f89c943e1
Release v0.23.0 2020-01-07 19:27:05 +00:00
Steven Roose 448b45a3ba
Bump version to v0.22.0 2020-01-06 22:36:15 +00:00
Dr Maxim Orlovsky 5fc24dea33 Multiple fixes for hash types and their computing
Unit test for wtxid and SegWit transactions
2020-01-01 13:54:23 +01:00
Matt Corallo acb43af981 Drop byteorder dependency
Taking an external dependency just to convert ints to byte arrays
is somewhat of a waste, especially when Rust isn't very aggressive
about doing cross-crate LTO.

Note that the latest LLVM pattern-matches this, and while I haven't
tested it, that should mean this means no loss of optimization.
2019-12-05 10:41:00 -05:00
Matt Corallo f1f7718b6c Drop (non-test/serde) hex dep in favor of bitcoin_hashes' fn's 2019-12-05 10:40:59 -05:00
Thomas Eizinger 7be4ac0403
Include secp256k1 'serde' feature flag in 'use-serde' feature 2019-11-21 12:06:06 +11:00
Thomas Eizinger 24bb6590d6
Expose secp256k1 'rand' feature flag
By exposing this, we can use the 'rand' dependency of secp256k1
in a project that only depends on rust-bitcoin without having to
add a separate dependency in order to activate the feature flag.
2019-11-21 12:05:46 +11:00