File tree Expand file tree Collapse file tree 6 files changed +35
-5
lines changed Expand file tree Collapse file tree 6 files changed +35
-5
lines changed Original file line number Diff line number Diff line change
1
+ # 9.0.1 - March 8, 2023
2
+
3
+ - Fixed a typing rule in ` multi_a ` for taproot miniscript descriptors. Current typing rules
4
+ incorrectly tagged ` multi_a ` with the ` n ` property. Certain miniscripts of the form ` j:multi_a ` could
5
+ could not spent without the first key. We could not find any evidence of these scripts being used
6
+ in the wild. While this is technically a breaking change, any downstream users whose code would
7
+ break by this change are already vulnerable.
8
+
1
9
# 9.0.0 - November 5, 2022
2
10
3
11
- Fixed a bug dealing with dissatisfying pkh inside thresh
Original file line number Diff line number Diff line change 1
1
[package ]
2
2
name = " miniscript"
3
- version = " 9.0.0 "
3
+ version = " 9.0.1 "
4
4
authors = [
" Andrew Poelstra <[email protected] >, Sanket Kanjalkar <[email protected] >" ]
5
5
license = " CC0-1.0"
6
6
homepage = " https://github.com/rust-bitcoin/rust-miniscript/"
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ if [ "$MSRV" = true ]; then
25
25
cargo update -p url --precise 2.2.2
26
26
cargo update -p form_urlencoded --precise 1.0.1
27
27
cargo update -p once_cell --precise 1.13.1
28
+ cargo update -p syn --precise 1.0.107
28
29
fi
29
30
30
31
# Format if told to
Original file line number Diff line number Diff line change @@ -170,6 +170,15 @@ impl Property for Correctness {
170
170
}
171
171
}
172
172
173
+ fn from_multi_a ( _: usize , _: usize ) -> Self {
174
+ Correctness {
175
+ base : Base :: B ,
176
+ input : Input :: Any ,
177
+ dissatisfiable : true ,
178
+ unit : true ,
179
+ }
180
+ }
181
+
173
182
fn from_hash ( ) -> Self {
174
183
Correctness {
175
184
base : Base :: B ,
Original file line number Diff line number Diff line change @@ -119,6 +119,14 @@ impl Property for Malleability {
119
119
}
120
120
}
121
121
122
+ fn from_multi_a ( _: usize , _: usize ) -> Self {
123
+ Malleability {
124
+ dissat : Dissat :: Unique ,
125
+ safe : true ,
126
+ non_malleable : true ,
127
+ }
128
+ }
129
+
122
130
fn from_hash ( ) -> Self {
123
131
Malleability {
124
132
dissat : Dissat :: Unknown ,
Original file line number Diff line number Diff line change @@ -267,10 +267,7 @@ pub trait Property: Sized {
267
267
fn from_multi ( k : usize , n : usize ) -> Self ;
268
268
269
269
/// Type property of a `MultiA` fragment
270
- fn from_multi_a ( k : usize , n : usize ) -> Self {
271
- // default impl same as multi
272
- Self :: from_multi ( k, n)
273
- }
270
+ fn from_multi_a ( k : usize , n : usize ) -> Self ;
274
271
275
272
/// Type property of a hash fragment
276
273
fn from_hash ( ) -> Self ;
@@ -583,6 +580,13 @@ impl Property for Type {
583
580
}
584
581
}
585
582
583
+ fn from_multi_a ( k : usize , n : usize ) -> Self {
584
+ Type {
585
+ corr : Property :: from_multi_a ( k, n) ,
586
+ mall : Property :: from_multi_a ( k, n) ,
587
+ }
588
+ }
589
+
586
590
fn from_hash ( ) -> Self {
587
591
Type {
588
592
corr : Property :: from_hash ( ) ,
You can’t perform that action at this time.
0 commit comments