Skip to content

Commit 81a9692

Browse files
committed
Merge #51: Fix CI
3473b7c Fix CI (sanket1729) e64594b rustfmt (sanket1729) Pull request description: ACKs for top commit: apoelstra: ACK 3473b7c Tree-SHA512: 0aff33c2245293dd99f03bb9d985f21947f74c7b7132494efaf25ac0b98e55672519160eeb8024386da808b1aaf1dd2ba977408ddc0fcee449362be4475176df
2 parents a6a9d34 + 3473b7c commit 81a9692

File tree

9 files changed

+81
-72
lines changed

9 files changed

+81
-72
lines changed

bitcoind-tests/Cargo.toml

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

99
[dependencies]
10-
elements-miniscript = {path = "../"}
11-
elementsd = {version = "0.6.0"}
12-
actual-rand = { package = "rand", version = "0.8.4"}
13-
secp256k1 = {version = "0.27.0", features = ["rand-std"]}
10+
elements-miniscript = { path = "../" }
11+
elementsd = { version = "0.8.0" }
12+
actual-rand = { package = "rand", version = "0.8.4" }
13+
secp256k1 = { version = "0.27.0", features = ["rand-std"] }

bitcoind-tests/tests/setup/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
pub extern crate elements_miniscript;
22

33
use std::str::FromStr;
4-
use miniscript::elements;
4+
55
use elements::encode::{deserialize, serialize_hex};
66
use elements::hex::FromHex;
77
use elements::BlockHash;
@@ -10,6 +10,7 @@ use elementsd::bitcoincore_rpc::jsonrpc::serde_json::{json, Value};
1010
use elementsd::bitcoind::bitcoincore_rpc::RpcApi;
1111
use elementsd::bitcoind::{self, BitcoinD};
1212
use elementsd::ElementsD;
13+
use miniscript::elements;
1314

1415
pub mod test_util;
1516

bitcoind-tests/tests/setup/test_util.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,15 @@
2020
use std::collections::HashMap;
2121
use std::str::FromStr;
2222

23-
use miniscript::{elements, bitcoin};
24-
use elements::hex::{FromHex, ToHex};
2523
use elements::hashes::{hash160, ripemd160, sha256, Hash};
26-
use elements::secp256k1_zkp as secp256k1;
27-
use elements::{confidential, encode, AddressParams, BlockHash};
24+
use elements::hex::{FromHex, ToHex};
25+
use elements::{confidential, encode, secp256k1_zkp as secp256k1, AddressParams, BlockHash};
2826
use miniscript::descriptor::{SinglePub, SinglePubKey};
2927
use miniscript::extensions::param::ExtParamTranslator;
3028
use miniscript::extensions::{CovExtArgs, CsfsKey, CsfsMsg};
3129
use miniscript::{
32-
hash256, CovenantExt, Descriptor, DescriptorPublicKey, Error, Miniscript, ScriptContext,
33-
TranslateExt, TranslatePk, Translator,
30+
bitcoin, elements, hash256, CovenantExt, Descriptor, DescriptorPublicKey, Error, Miniscript,
31+
ScriptContext, TranslateExt, TranslatePk, Translator,
3432
};
3533
use rand::RngCore;
3634
use {actual_rand as rand, elements_miniscript as miniscript};
@@ -138,7 +136,7 @@ impl TestData {
138136
assets: HashMap::new(),
139137
spks: HashMap::new(),
140138
timestamp: 414315315u64, // Some dummy time
141-
price: 50_000i64, // Some dummy price
139+
price: 50_000i64, // Some dummy price
142140
};
143141
let secretdata = SecretData {
144142
sks,

bitcoind-tests/tests/test_arith.rs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,16 @@
33
//! Arith expression fragment integration tests
44
//!
55
6-
use miniscript::elements;
76
use elements::pset::PartiallySignedTransaction as Psbt;
87
use elements::sighash::SigHashCache;
98
use elements::taproot::{LeafVersion, TapLeafHash};
109
use elements::{
11-
confidential, pset as psbt, secp256k1_zkp as secp256k1, sighash, OutPoint, Script,
12-
Sequence, TxIn, TxOut, Txid,
10+
confidential, pset as psbt, secp256k1_zkp as secp256k1, sighash, OutPoint, Script, Sequence,
11+
TxIn, TxOut, Txid,
1312
};
1413
use elementsd::ElementsD;
1514
use miniscript::psbt::{PsbtExt, PsbtInputExt};
16-
use miniscript::{Descriptor, ToPublicKey};
15+
use miniscript::{elements, Descriptor, ToPublicKey};
1716
use rand::RngCore;
1817
mod setup;
1918
use setup::test_util::{self, TestData, PARAMS};
@@ -136,10 +135,7 @@ pub fn test_desc_satisfy(cl: &ElementsD, testdata: &TestData, desc: &str) -> Vec
136135
let x_only_pk = secp256k1::XOnlyPublicKey::from_keypair(&keypair).0;
137136
psbt.inputs_mut()[0].tap_script_sigs.insert(
138137
(x_only_pk, leaf_hash),
139-
elements::SchnorrSig {
140-
sig,
141-
hash_ty,
142-
},
138+
elements::SchnorrSig { sig, hash_ty },
143139
);
144140
}
145141
}

bitcoind-tests/tests/test_cpp.rs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,18 @@
77
use std::fs::File;
88
use std::io::{self, BufRead};
99
use std::path::Path;
10-
use miniscript::{elements, bitcoin};
1110

1211
use bitcoin::hashes::{sha256d, Hash};
1312
use bitcoin::secp256k1::{self, Secp256k1};
1413
use elements::pset::PartiallySignedTransaction as Psbt;
1514
use elements::{
16-
confidential, pset as psbt, secp256k1_zkp, AssetIssuance, LockTime, OutPoint, Script,
17-
Sequence, TxIn, TxInWitness, TxOut, TxOutWitness, Txid,
15+
confidential, pset as psbt, secp256k1_zkp, AssetIssuance, LockTime, OutPoint, Script, Sequence,
16+
TxIn, TxInWitness, TxOut, TxOutWitness, Txid,
1817
};
1918
use elements_miniscript as miniscript;
2019
use elementsd::ElementsD;
2120
use miniscript::psbt::PsbtExt;
22-
use miniscript::{elementssig_to_rawsig, Descriptor};
21+
use miniscript::{bitcoin, elements, elementssig_to_rawsig, Descriptor};
2322

2423
mod setup;
2524
use setup::test_util::{self, PubData, TestData, PARAMS};
@@ -90,10 +89,8 @@ pub fn test_from_cpp_ms(cl: &ElementsD, testdata: &TestData) {
9089
let mut psbts = vec![];
9190
for (desc, txid) in desc_vec.iter().zip(txids) {
9291
let mut psbt = Psbt::new_v2();
93-
psbt.global.tx_data.fallback_locktime = Some(
94-
LockTime::from_time(1_603_866_330)
95-
.expect("valid timestamp"),
96-
); // 10/28/2020 @ 6:25am (UTC)
92+
psbt.global.tx_data.fallback_locktime =
93+
Some(LockTime::from_time(1_603_866_330).expect("valid timestamp")); // 10/28/2020 @ 6:25am (UTC)
9794
let (outpoint, witness_utxo) = get_vout(cl, txid, 100_000_000);
9895
let txin = TxIn {
9996
previous_output: outpoint,

bitcoind-tests/tests/test_csfs.rs

Lines changed: 43 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,17 @@
33
//! CheckSigFromStack integration tests
44
//!
55
6-
use miniscript::extensions::{sighash_msg_price_oracle_1, check_sig_price_oracle_1};
7-
use miniscript::{elements, bitcoin, TxEnv};
86
use elements::pset::PartiallySignedTransaction as Psbt;
97
use elements::sighash::SigHashCache;
108
use elements::taproot::{LeafVersion, TapLeafHash};
119
use elements::{
12-
confidential, pset as psbt, secp256k1_zkp as secp256k1, sighash, OutPoint, Script,
13-
Sequence, TxIn, TxOut, Txid,
10+
confidential, pset as psbt, secp256k1_zkp as secp256k1, sighash, OutPoint, Script, Sequence,
11+
TxIn, TxOut, Txid,
1412
};
1513
use elementsd::ElementsD;
14+
use miniscript::extensions::{check_sig_price_oracle_1, sighash_msg_price_oracle_1};
1615
use miniscript::psbt::{PsbtInputExt, PsbtInputSatisfier};
17-
use miniscript::{Descriptor, Satisfier, ToPublicKey};
16+
use miniscript::{bitcoin, elements, Descriptor, Satisfier, ToPublicKey, TxEnv};
1817
use rand::RngCore;
1918
mod setup;
2019
use setup::test_util::{self, TestData, PARAMS};
@@ -137,10 +136,7 @@ pub fn test_desc_satisfy(cl: &ElementsD, testdata: &TestData, desc: &str) -> Vec
137136
let x_only_pk = secp256k1::XOnlyPublicKey::from_keypair(&keypair).0;
138137
psbt.inputs_mut()[0].tap_script_sigs.insert(
139138
(x_only_pk, leaf_hash),
140-
elements::SchnorrSig {
141-
sig,
142-
hash_ty,
143-
},
139+
elements::SchnorrSig { sig, hash_ty },
144140
);
145141
}
146142
}
@@ -181,10 +177,10 @@ pub fn test_desc_satisfy(cl: &ElementsD, testdata: &TestData, desc: &str) -> Vec
181177
}
182178

183179
fn lookup_price_oracle_sig(
184-
&self,
185-
pk: &bitcoin::key::XOnlyPublicKey,
186-
time: u64,
187-
) -> Option<(secp256k1::schnorr::Signature, i64, u64)> {
180+
&self,
181+
pk: &bitcoin::key::XOnlyPublicKey,
182+
time: u64,
183+
) -> Option<(secp256k1::schnorr::Signature, i64, u64)> {
188184
let xpk = pk.to_x_only_pubkey();
189185
let known_xpks = &self.0.pubdata.x_only_pks;
190186
let i = known_xpks.iter().position(|&x| x == xpk).unwrap();
@@ -199,7 +195,13 @@ pub fn test_desc_satisfy(cl: &ElementsD, testdata: &TestData, desc: &str) -> Vec
199195

200196
let secp = secp256k1::Secp256k1::new();
201197
let sig = secp.sign_schnorr_with_aux_rand(&sighash_msg, keypair, &aux_rand);
202-
assert!(check_sig_price_oracle_1(&secp, &sig, &xpk, time_signed, price));
198+
assert!(check_sig_price_oracle_1(
199+
&secp,
200+
&sig,
201+
&xpk,
202+
time_signed,
203+
price
204+
));
203205
Some((sig, self.0.pubdata.price, time_signed))
204206
}
205207
}
@@ -210,7 +212,7 @@ pub fn test_desc_satisfy(cl: &ElementsD, testdata: &TestData, desc: &str) -> Vec
210212
let mut tx = psbt.extract_tx().unwrap();
211213
let txouts = vec![psbt.inputs()[0].witness_utxo.clone().unwrap()];
212214
let extracted_tx = tx.clone(); // Possible to optimize this, but we don't care for this
213-
// Env requires reference of tx, while satisfaction requires mutable access to inputs.
215+
// Env requires reference of tx, while satisfaction requires mutable access to inputs.
214216
let cov_sat = TxEnv::new(&extracted_tx, &txouts, 0).unwrap();
215217
derived_desc
216218
.satisfy(&mut tx.input[0], (psbt_sat, csfs_sat, cov_sat))
@@ -220,7 +222,6 @@ pub fn test_desc_satisfy(cl: &ElementsD, testdata: &TestData, desc: &str) -> Vec
220222
println!("Witness: {} {:x?}", wit.len(), wit);
221223
}
222224

223-
224225
// Send the transactions to bitcoin node for mining.
225226
// Regtest mode has standardness checks
226227
// Check whether the node accepts the transactions
@@ -258,14 +259,36 @@ fn test_descs(cl: &ElementsD, testdata: &TestData) {
258259

259260
// test price oracle 1
260261
let price = testdata.pubdata.price;
261-
let wit = test_desc_satisfy(cl, testdata, &format!("tr(X!,and_v(v:pk(X2),num64_eq(price_oracle1(X1,123213),{})))", price));
262+
let wit = test_desc_satisfy(
263+
cl,
264+
testdata,
265+
&format!(
266+
"tr(X!,and_v(v:pk(X2),num64_eq(price_oracle1(X1,123213),{})))",
267+
price
268+
),
269+
);
262270
assert_eq!(wit.len(), 4 + 2); // 4 witness elements + 1 for price oracle + 1 for time
263271

264272
// More complex tests
265-
test_desc_satisfy(cl, testdata, "tr(X!,and_v(v:pk(X1),num64_eq(price_oracle1(X2,1),price_oracle1_w(X3,2))))");
266-
test_desc_satisfy(cl, testdata, &format!("tr(X!,and_v(v:pk(X1),num64_eq({},price_oracle1_w(X3,2))))", price));
273+
test_desc_satisfy(
274+
cl,
275+
testdata,
276+
"tr(X!,and_v(v:pk(X1),num64_eq(price_oracle1(X2,1),price_oracle1_w(X3,2))))",
277+
);
278+
test_desc_satisfy(
279+
cl,
280+
testdata,
281+
&format!(
282+
"tr(X!,and_v(v:pk(X1),num64_eq({},price_oracle1_w(X3,2))))",
283+
price
284+
),
285+
);
267286
// Different keys and different times
268-
test_desc_satisfy(cl, testdata, "tr(X!,and_v(v:pk(X2),num64_eq(price_oracle1(X3,1),price_oracle1_w(X4,23))))");
287+
test_desc_satisfy(
288+
cl,
289+
testdata,
290+
"tr(X!,and_v(v:pk(X2),num64_eq(price_oracle1(X3,1),price_oracle1_w(X4,23))))",
291+
);
269292
// Combination with other arith fragments
270293
test_desc_satisfy(cl, testdata, "tr(X!,and_v(v:pk(X2),num64_eq(div(add(price_oracle1(X3,1),price_oracle1_w(X4,2)),2),price_oracle1_w(X5,2))))");
271294
}

bitcoind-tests/tests/test_desc.rs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,19 @@
66
77
use std::{error, fmt};
88

9-
use miniscript::{elements, bitcoin};
109
use elements::hashes::{sha256d, Hash};
1110
use elements::pset::PartiallySignedTransaction as Psbt;
1211
use elements::sighash::SigHashCache;
1312
use elements::taproot::{LeafVersion, TapLeafHash};
1413
use elements::{
15-
confidential, pset as psbt, secp256k1_zkp as secp256k1, sighash, OutPoint, SchnorrSig,
16-
Script, Sequence, TxIn, TxOut, Txid,
14+
confidential, pset as psbt, secp256k1_zkp as secp256k1, sighash, OutPoint, SchnorrSig, Script,
15+
Sequence, TxIn, TxOut, Txid,
1716
};
1817
use elementsd::ElementsD;
1918
use miniscript::psbt::{PsbtExt, PsbtInputExt};
20-
use miniscript::{elementssig_to_rawsig, Descriptor, Miniscript, ScriptContext, ToPublicKey};
19+
use miniscript::{
20+
bitcoin, elements, elementssig_to_rawsig, Descriptor, Miniscript, ScriptContext, ToPublicKey,
21+
};
2122
use rand::RngCore;
2223
mod setup;
2324
use ::secp256k1::Scalar;
@@ -205,10 +206,7 @@ pub fn test_desc_satisfy(
205206
let (x_only_pk, _parity) = secp256k1::XOnlyPublicKey::from_keypair(&keypair);
206207
psbt.inputs_mut()[0].tap_script_sigs.insert(
207208
(x_only_pk, leaf_hash),
208-
elements::SchnorrSig {
209-
sig,
210-
hash_ty,
211-
},
209+
elements::SchnorrSig { sig, hash_ty },
212210
);
213211
}
214212
}
@@ -286,7 +284,10 @@ pub fn test_desc_satisfy(
286284
println!("Testing descriptor: {}", definite_desc);
287285
// Finalize the transaction using psbt
288286
// Let miniscript do it's magic!
289-
if psbt.finalize_mut(&secp, testdata.pubdata.genesis_hash).is_err() {
287+
if psbt
288+
.finalize_mut(&secp, testdata.pubdata.genesis_hash)
289+
.is_err()
290+
{
290291
return Err(DescError::PsbtFinalizeError);
291292
}
292293
let tx = psbt

bitcoind-tests/tests/test_introspect.rs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,16 @@
33
//! Arith expression fragment integration tests
44
//!
55
6-
use miniscript::elements;
76
use elements::pset::PartiallySignedTransaction as Psbt;
87
use elements::sighash::SigHashCache;
98
use elements::taproot::{LeafVersion, TapLeafHash};
109
use elements::{
11-
confidential, pset as psbt, secp256k1_zkp as secp256k1, sighash, OutPoint, Script,
12-
Sequence, TxIn, TxOut, Txid,
10+
confidential, pset as psbt, secp256k1_zkp as secp256k1, sighash, OutPoint, Script, Sequence,
11+
TxIn, TxOut, Txid,
1312
};
1413
use elementsd::ElementsD;
1514
use miniscript::psbt::{PsbtExt, PsbtInputExt};
16-
use miniscript::{Descriptor, ToPublicKey};
15+
use miniscript::{elements, Descriptor, ToPublicKey};
1716
use rand::RngCore;
1817
mod setup;
1918
use setup::test_util::{self, TestData, PARAMS};
@@ -136,10 +135,7 @@ pub fn test_desc_satisfy(cl: &ElementsD, testdata: &TestData, desc: &str) -> Vec
136135
let x_only_pk = secp256k1::XOnlyPublicKey::from_keypair(&keypair).0;
137136
psbt.inputs_mut()[0].tap_script_sigs.insert(
138137
(x_only_pk, leaf_hash),
139-
elements::SchnorrSig {
140-
sig,
141-
hash_ty,
142-
},
138+
elements::SchnorrSig { sig, hash_ty },
143139
);
144140
}
145141
}

contrib/test.sh

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,11 @@ rustc --version
99

1010
# Pin dependencies required to build with Rust 1.48
1111
if cargo --version | grep "1\.48"; then
12+
cargo update -p quote --precise 1.0.28
13+
cargo update -p proc-macro2 --precise 1.0.63
1214
cargo update -p serde_json --precise 1.0.99
13-
cargo update -p serde --precise 1.0.156
14-
cargo update -p once_cell --precise 1.13.1
15-
cargo update -p regex --precise 1.7.0
16-
# These two needed for serde_derive with 1.48.0, *in addition*
17-
# to pinning serde itself above.
18-
cargo update -p quote --precise 1.0.30
19-
cargo update -p proc-macro2 --precise 1.0.65
15+
cargo update -p serde --precise 1.0.152
16+
cargo update -p serde_test --precise 1.0.152
2017
fi
2118

2219
# Format if told to

0 commit comments

Comments
 (0)