Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/fuzz.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ roundtrip_confidential,
key: cache-${{ matrix.target }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }}
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.65
toolchain: 1.74.0
override: true
profile: minimal
- name: fuzz
Expand Down
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
# 0.5.0 - Sep 20, 2026

- Update rust-elements to 0.27.0 and simplicity-lang to 0.9.0.
- Raise MSRV to Rust 1.74.0.
- Adapt hash, hex, witness, asset and PSET handling to the updated Elements APIs.
- Report Simplicity leaves as unsatisfiable until their descriptor integration is rewritten.

# 0.4.0 - Oct 8, 2024

- Use rust-bitcoin 0.32.0 and rust-elements 0.25.0 [#90](https://github.com/ElementsProject/elements-miniscript/pull/90)
Expand All @@ -22,4 +29,3 @@
# 0.2.0 - June 15, 2023

- Still rapid iteration, very unstable.

130 changes: 81 additions & 49 deletions Cargo-latest.lock
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,11 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"

[[package]]
name = "base58ck"
version = "0.1.0"
version = "0.1.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c8d66485a3a2ea485c1913c4572ce0256067a5377ac8c75c4960e1cda98605f"
checksum = "365c0acd5b2e8dd0111a46c4faea83fb3cfb6e39a49a7c73a06e090db7b2eff0"
dependencies = [
"bitcoin-internals 0.3.0",
"bitcoin_hashes 0.14.0",
"bitcoin_hashes 0.14.101",
]

[[package]]
Expand Down Expand Up @@ -74,46 +73,57 @@ dependencies = [

[[package]]
name = "bitcoin"
version = "0.32.7"
version = "0.32.102"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fda569d741b895131a88ee5589a467e73e9c4718e958ac9308e4f7dc44b6945"
checksum = "bb0ce8bd5baaa0d303a19915a6d93afed161f528654e42da2a7a97d05c59499a"
dependencies = [
"base58ck",
"base64 0.21.7",
"bech32 0.11.0",
"bitcoin-internals 0.3.0",
"bitcoin-consensus-encoding",
"bitcoin-io",
"bitcoin-units",
"bitcoin_hashes 0.14.0",
"hex-conservative 0.2.1",
"bitcoin_hashes 0.14.101",
"hex-conservative 0.2.2",
"hex_lit",
"secp256k1 0.29.1",
"serde",
]

[[package]]
name = "bitcoin-internals"
version = "0.2.0"
name = "bitcoin-consensus-encoding"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb"
checksum = "6712f9c6fd6785b3b270884e57c441c403dc5d7e19ca45368c97c7a1de3000ec"
dependencies = [
"bitcoin-internals 0.6.0",
"hex-conservative 1.2.0",
"serde",
]

[[package]]
name = "bitcoin-internals"
version = "0.3.0"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30bdbe14aa07b06e6cfeffc529a1f099e5fbe249524f8125358604df99a4bed2"
checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb"
dependencies = [
"serde",
]

[[package]]
name = "bitcoin-internals"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d573f4cf32996a8dce612e4348cece65a241f1882ed594047c9ba348e8869fa5"

[[package]]
name = "bitcoin-io"
version = "0.1.3"
version = "0.1.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf"
checksum = "bb5de036369d1ac59d3c1819ebc4d850f89466f5401c571a285b6ed564a4cb78"
dependencies = [
"bitcoin-consensus-encoding",
]

[[package]]
name = "bitcoin-private"
Expand All @@ -123,11 +133,11 @@ checksum = "73290177011694f38ec25e165d0387ab7ea749a4b81cd4c80dae5988229f7a57"

[[package]]
name = "bitcoin-units"
version = "0.1.2"
version = "0.1.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5285c8bcaa25876d07f37e3d30c303f2609179716e11d688f51e8f1fe70063e2"
checksum = "9cb95693f371d089a4b5b6fc41c6f3ea6e01ee8c15388335dfac8ea685173b51"
dependencies = [
"bitcoin-internals 0.3.0",
"bitcoin-consensus-encoding",
"serde",
]

Expand All @@ -144,12 +154,24 @@ dependencies = [

[[package]]
name = "bitcoin_hashes"
version = "0.14.0"
version = "0.14.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16"
checksum = "bca4c7abb40c8817d77403c880988cfd484f23ab2365726afb2f798363e2c4a2"
dependencies = [
"bitcoin-io",
"hex-conservative 0.2.1",
"hex-conservative 0.2.2",
"serde",
]

[[package]]
name = "bitcoin_hashes"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5304e53726dbe5f93141535e102ed97b5bf4714fbecefdda8f9fb98d7fdaff0e"
dependencies = [
"bitcoin-consensus-encoding",
"bitcoin-internals 0.6.0",
"hex-conservative 1.2.0",
"serde",
]

Expand Down Expand Up @@ -256,23 +278,27 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"

[[package]]
name = "elements"
version = "0.25.2"
version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81b2569d3495bfdfce36c504fd4d78752ff4a7699f8a33e6f3ee523bddf9f6ad"
checksum = "34e00f7ddcd826d2f4c9bd72d79a6b6991a0ac4286e7e2b2ff8eecd130549073"
dependencies = [
"bech32 0.11.0",
"bitcoin 0.32.7",
"bitcoin 0.32.102",
"bitcoin-consensus-encoding",
"bitcoin-internals 0.6.0",
"bitcoin_hashes 1.2.0",
"hex-conservative 1.2.0",
"secp256k1-zkp",
"serde",
"serde_json",
]

[[package]]
name = "elements-miniscript"
version = "0.4.0"
version = "0.5.0"
dependencies = [
"base64 0.13.1",
"bitcoin 0.32.7",
"bitcoin 0.32.102",
"elements",
"getrandom",
"miniscript",
Expand Down Expand Up @@ -316,6 +342,12 @@ dependencies = [
"wasm-bindgen",
]

[[package]]
name = "ghost-cell"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8449d342b1c67f49169e92e71deb7b9b27f30062301a16dbc27a4cc8d2351b7"

[[package]]
name = "hex-conservative"
version = "0.1.2"
Expand All @@ -324,9 +356,18 @@ checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20"

[[package]]
name = "hex-conservative"
version = "0.2.1"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5313b072ce3c597065a808dbf612c4c8e8590bdbf8b579508bf7a762c5eae6cd"
checksum = "fda06d18ac606267c40c04e41b9947729bf8b9efe74bd4e82b61a5f26a510b9f"
dependencies = [
"arrayvec",
]

[[package]]
name = "hex-conservative"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "35431185f361ccf3ffc58254628af5f1f5d5f28531da2e02e5d6c82bbc282a10"
dependencies = [
"arrayvec",
]
Expand Down Expand Up @@ -431,7 +472,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "487906208f38448e186e3deb02f2b8ef046a9078b0de00bdb28bf4fb9b76951c"
dependencies = [
"bech32 0.11.0",
"bitcoin 0.32.7",
"bitcoin 0.32.102",
]

[[package]]
Expand Down Expand Up @@ -560,15 +601,6 @@ version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"

[[package]]
name = "santiago"
version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de36022292bc2086eb8f55bffa460fef3475e4459b478820711f4c421feb87ec"
dependencies = [
"regex",
]

[[package]]
name = "secp256k1"
version = "0.28.2"
Expand All @@ -587,7 +619,7 @@ version = "0.29.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113"
dependencies = [
"bitcoin_hashes 0.14.0",
"bitcoin_hashes 0.14.101",
"rand",
"secp256k1-sys 0.10.1",
"serde",
Expand Down Expand Up @@ -689,28 +721,28 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"

[[package]]
name = "simplicity-lang"
version = "0.3.1"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d75c8fb4a18e63fbce4cf16026c36a6c38066e4f4a09ce5e81be817d0e36d8f8"
checksum = "cff7b10251528d46d9cf60238267911984fedbb0948cccea98dd74fc6bf9f729"
dependencies = [
"bitcoin 0.32.7",
"bitcoin_hashes 0.14.0",
"bitcoin 0.32.102",
"bitcoin_hashes 1.2.0",
"byteorder",
"elements",
"getrandom",
"hex-conservative 0.1.2",
"ghost-cell",
"hex-conservative 1.2.0",
"miniscript",
"santiago",
"simplicity-sys",
]

[[package]]
name = "simplicity-sys"
version = "0.3.0"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4cd2cc5d458a8032d328ea85e824f54f61664ab84c3d42b3b7f8804fb9b81572"
checksum = "955935733b2735665b4735d9b1361eade6be4c7aea6bca2640345e4c81756f58"
dependencies = [
"bitcoin_hashes 0.14.0",
"bitcoin_hashes 1.2.0",
"cc",
]

Expand Down
8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "elements-miniscript"
version = "0.4.0"
version = "0.5.0"
authors = ["Andrew Poelstra <apoelstra@wpsoftware.net>, Sanket Kanjalkar <sanket1729@gmail.com>"]
repository = "https://github.com/ElementsProject/elements-miniscript"
description = "Elements Miniscript: Miniscript, but for elements"
Expand All @@ -9,7 +9,7 @@ keywords = [ "crypto", "bitcoin", "miniscript", "script" ]
readme = "README.md"
homepage = "https://github.com/rust-bitcoin/rust-miniscript/"
edition = "2018"
rust-version = "1.63.0"
rust-version = "1.74.0"

[features]
compiler = []
Expand All @@ -21,9 +21,9 @@ base64 = ["bitcoin/base64", "elements/base64"]

[dependencies]
bitcoin = "0.32.0"
elements = "0.25.0"
elements = "0.27.0"
bitcoin-miniscript = { package = "miniscript", version = "12.0" }
simplicity = { package = "simplicity-lang", version = "0.3.0", optional = true }
simplicity = { package = "simplicity-lang", version = "0.9.0", optional = true }

# Do NOT use this as a feature! Use the `serde` feature instead.
actual-serde = { package = "serde", version = "1.0", optional = true }
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
![Build](https://github.com/ElementsProject/elements-miniscript/workflows/Continuous%20integration/badge.svg)

**Minimum Supported Rust Version:** 1.63.0
**Minimum Supported Rust Version:** 1.74.0

*This crate uses "2018" edition

Expand Down Expand Up @@ -40,7 +40,7 @@ Enabling the `no-std` feature does not disable `std`. To disable the `std` featu
To run the benchmarks run `RUSTFLAGS=--cfg=miniscript_bench cargo +nightly bench --all-features`.

## Minimum Supported Rust Version (MSRV)
This library should always compile with any combination of features on **Rust 1.63.0**.
This library should always compile with any combination of features on **Rust 1.74.0**.


Some dependencies do not play nicely with our MSRV, if you are running the tests
Expand Down
2 changes: 1 addition & 1 deletion bitcoind-tests/tests/setup/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ pub extern crate elements_miniscript;
use std::str::FromStr;

use elements::encode::{deserialize, serialize_hex};
use elements::hex::FromHex;
use elements::BlockHash;
pub use elements_miniscript as miniscript;
use elements_miniscript::bitcoin::hex::FromHex;
use elementsd::bitcoincore_rpc::jsonrpc::serde_json::{json, Value};
use elementsd::bitcoind::bitcoincore_rpc::RpcApi;
use elementsd::bitcoind::{self, BitcoinD};
Expand Down
Loading
Loading