Skip to content

Commit 07a52c0

Browse files
authored
Merge pull request #188 from ElementsProject/2024-01--bitcoin31
Update rust-bitcoin to 0.31.0, and associated dependencies
2 parents 613204f + 092ae61 commit 07a52c0

File tree

23 files changed

+1206
-544
lines changed

23 files changed

+1206
-544
lines changed

.github/workflows/rust.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,15 @@ jobs:
4949
run: ./contrib/test.sh
5050

5151
MSRV:
52-
name: Test - 1.48.0 toolchain
52+
name: Test - 1.56.1 toolchain
5353
runs-on: ubuntu-latest
5454
strategy:
5555
fail-fast: false
5656
steps:
5757
- name: Checkout Crate
5858
uses: actions/checkout@v3
5959
- name: Checkout Toolchain
60-
uses: dtolnay/rust-toolchain@1.48.0
60+
uses: dtolnay/rust-toolchain@1.56.1
6161
- name: Running test script
6262
env:
6363
DO_DOCS: false

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ json-contract = [ "serde_json" ]
2222
base64 = ["bitcoin/base64"]
2323

2424
[dependencies]
25-
bitcoin = "0.30.0"
26-
secp256k1-zkp = { version = "0.9.2", features = [ "global-context", "bitcoin_hashes" ] }
25+
bitcoin = "0.31.0"
26+
secp256k1-zkp = { version = "0.10.0", features = [ "global-context", "hashes" ] }
2727

2828
# Used for ContractHash::from_json_contract.
2929
serde_json = { version = "1.0", optional = true }

clippy.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
msrv = "1.48.0"
1+
msrv = "1.56.1"

contrib/test.sh

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,10 @@
33
FEATURES="serde"
44

55
# Pin dependencies as required if we are using MSRV toolchain.
6-
if cargo --version | grep "1\.48"; then
7-
cargo update -p serde_json --precise 1.0.99
8-
# 1.0.157 uses syn 2.0 which requires edition 2018
9-
cargo update -p serde --precise 1.0.156
10-
cargo update -p once_cell --precise 1.13.1
11-
cargo update -p quote --precise 1.0.28
12-
cargo update -p proc-macro2 --precise 1.0.63
13-
cargo update -p serde_test --precise 1.0.156
14-
15-
cargo update -p log --precise 0.4.18
6+
if cargo --version | grep "1\.56"; then
167
cargo update -p tempfile --precise 3.6.0
8+
cargo update -p once_cell --precise 1.13.1
9+
cargo update -p which --precise 4.4.0
1710
cargo update -p byteorder --precise 1.4.3
1811
fi
1912

elementsd-tests/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10-
bitcoin = "0.30.0"
10+
bitcoin = "0.31.0"
1111
elements = {path = "../", features = ["base64"]}
12-
elementsd = "0.8.0"
12+
elementsd = "0.9.0"
1313
rand = "0.8"
1414

elementsd-tests/src/pset.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,12 @@ fn rtt(base64: &str) -> String {
136136
}
137137

138138
fn psbt_rtt(elementsd: &ElementsD, base64: &str) {
139+
use bitcoin::base64::prelude::{Engine as _, BASE64_STANDARD};
139140
let a = elementsd.decode_psbt(&base64).unwrap();
140141

141142
let b_psbt: PartiallySignedTransaction = base64.parse().unwrap();
142143
let mut b_bytes = serialize(&b_psbt);
143-
let b_base64 = bitcoin::base64::encode(&b_bytes);
144+
let b_base64 = BASE64_STANDARD.encode(&b_bytes);
144145
let b = elementsd.decode_psbt(&b_base64).unwrap();
145146

146147
assert_eq!(a, b);
@@ -152,7 +153,7 @@ fn psbt_rtt(elementsd: &ElementsD, base64: &str) {
152153
// ensuring decode prints all data inside psbt, randomly changing a byte,
153154
// if the results is still decodable it should not be equal to initial value
154155
b_bytes[i] = b_bytes[i].wrapping_add(1);
155-
let base64 = bitcoin::base64::encode(&b_bytes);
156+
let base64 = BASE64_STANDARD.encode(&b_bytes);
156157
if let Some(decoded) = elementsd.decode_psbt(&base64) {
157158
assert_ne!(a, decoded, "{} with changed byte {}", b_bytes.to_hex(), i);
158159
}

elementsd-tests/src/taproot.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ extern crate rand;
55

66
use crate::{Call, setup};
77

8-
use bitcoin::key::{XOnlyPublicKey, KeyPair};
8+
use bitcoin::key::{XOnlyPublicKey, Keypair};
99
use bitcoin::Amount;
1010
use elements::hex::FromHex;
1111
use elements::confidential::{AssetBlindingFactor, ValueBlindingFactor};
@@ -31,8 +31,8 @@ static PARAMS: AddressParams = AddressParams::ELEMENTS;
3131
fn gen_keypair(
3232
secp: &secp256k1_zkp::Secp256k1<secp256k1_zkp::All>,
3333
rng: &mut rngs::ThreadRng,
34-
) -> (XOnlyPublicKey, KeyPair) {
35-
let keypair = KeyPair::new(secp, rng);
34+
) -> (XOnlyPublicKey, Keypair) {
35+
let keypair = Keypair::new(secp, rng);
3636
let (pk, _) = XOnlyPublicKey::from_keypair(&keypair);
3737
(pk, keypair)
3838
}
@@ -42,10 +42,10 @@ fn gen_keypair(
4242
struct TapTxOutData {
4343
_blind_sk: Option<secp256k1_zkp::SecretKey>,
4444
_blind_pk: Option<secp256k1_zkp::PublicKey>,
45-
leaf1_keypair: KeyPair,
45+
leaf1_keypair: Keypair,
4646
_leaf1_pk: XOnlyPublicKey,
4747
leaf1_script: Script,
48-
internal_keypair: KeyPair,
48+
internal_keypair: Keypair,
4949
internal_pk: XOnlyPublicKey,
5050
spend_info: TaprootSpendInfo,
5151
utxo: TxOut,
@@ -215,7 +215,7 @@ fn taproot_spend_test(
215215
);
216216
let tweak = secp256k1_zkp::Scalar::from_be_bytes(tweak.to_byte_array()).expect("hash value greater than curve order");
217217
let sig = secp.sign_schnorr(
218-
&secp256k1_zkp::Message::from_slice(&sighash_msg[..]).unwrap(),
218+
&secp256k1_zkp::Message::from_digest_slice(&sighash_msg[..]).unwrap(),
219219
&output_keypair.add_xonly_tweak(&secp, &tweak).unwrap(),
220220
);
221221

@@ -239,7 +239,7 @@ fn taproot_spend_test(
239239
.unwrap();
240240

241241
let sig = secp.sign_schnorr(
242-
&secp256k1_zkp::Message::from_slice(&sighash_msg[..]).unwrap(),
242+
&secp256k1_zkp::Message::from_digest_slice(&sighash_msg[..]).unwrap(),
243243
&test_data.leaf1_keypair,
244244
);
245245

0 commit comments

Comments
 (0)