@@ -37,6 +37,8 @@ use Terminal;
37
37
38
38
/// Type alias for a signature/hashtype pair
39
39
pub type BitcoinSig = ( secp256k1:: Signature , bitcoin:: SigHashType ) ;
40
+ /// Type alias for 32 byte Preimage.
41
+ pub type Preimage32 = [ u8 ; 32 ] ;
40
42
41
43
/// Helper function to create BitcoinSig from Rawsig
42
44
/// Useful for downstream when implementing Satisfier.
@@ -71,22 +73,22 @@ pub trait Satisfier<Pk: MiniscriptKey + ToPublicKey> {
71
73
}
72
74
73
75
/// Given a SHA256 hash, look up its preimage
74
- fn lookup_sha256 ( & self , _: sha256:: Hash ) -> Option < [ u8 ; 32 ] > {
76
+ fn lookup_sha256 ( & self , _: sha256:: Hash ) -> Option < Preimage32 > {
75
77
None
76
78
}
77
79
78
80
/// Given a HASH256 hash, look up its preimage
79
- fn lookup_hash256 ( & self , _: sha256d:: Hash ) -> Option < [ u8 ; 32 ] > {
81
+ fn lookup_hash256 ( & self , _: sha256d:: Hash ) -> Option < Preimage32 > {
80
82
None
81
83
}
82
84
83
85
/// Given a RIPEMD160 hash, look up its preimage
84
- fn lookup_ripemd160 ( & self , _: ripemd160:: Hash ) -> Option < [ u8 ; 32 ] > {
86
+ fn lookup_ripemd160 ( & self , _: ripemd160:: Hash ) -> Option < Preimage32 > {
85
87
None
86
88
}
87
89
88
90
/// Given a HASH160 hash, look up its preimage
89
- fn lookup_hash160 ( & self , _: hash160:: Hash ) -> Option < [ u8 ; 32 ] > {
91
+ fn lookup_hash160 ( & self , _: hash160:: Hash ) -> Option < Preimage32 > {
90
92
None
91
93
}
92
94
@@ -181,19 +183,19 @@ impl<'a, Pk: MiniscriptKey + ToPublicKey, S: Satisfier<Pk>> Satisfier<Pk> for &'
181
183
( * * self ) . lookup_pkh_sig ( pkh)
182
184
}
183
185
184
- fn lookup_sha256 ( & self , h : sha256:: Hash ) -> Option < [ u8 ; 32 ] > {
186
+ fn lookup_sha256 ( & self , h : sha256:: Hash ) -> Option < Preimage32 > {
185
187
( * * self ) . lookup_sha256 ( h)
186
188
}
187
189
188
- fn lookup_hash256 ( & self , h : sha256d:: Hash ) -> Option < [ u8 ; 32 ] > {
190
+ fn lookup_hash256 ( & self , h : sha256d:: Hash ) -> Option < Preimage32 > {
189
191
( * * self ) . lookup_hash256 ( h)
190
192
}
191
193
192
- fn lookup_ripemd160 ( & self , h : ripemd160:: Hash ) -> Option < [ u8 ; 32 ] > {
194
+ fn lookup_ripemd160 ( & self , h : ripemd160:: Hash ) -> Option < Preimage32 > {
193
195
( * * self ) . lookup_ripemd160 ( h)
194
196
}
195
197
196
- fn lookup_hash160 ( & self , h : hash160:: Hash ) -> Option < [ u8 ; 32 ] > {
198
+ fn lookup_hash160 ( & self , h : hash160:: Hash ) -> Option < Preimage32 > {
197
199
( * * self ) . lookup_hash160 ( h)
198
200
}
199
201
@@ -219,19 +221,19 @@ impl<'a, Pk: MiniscriptKey + ToPublicKey, S: Satisfier<Pk>> Satisfier<Pk> for &'
219
221
( * * self ) . lookup_pkh_sig ( pkh)
220
222
}
221
223
222
- fn lookup_sha256 ( & self , h : sha256:: Hash ) -> Option < [ u8 ; 32 ] > {
224
+ fn lookup_sha256 ( & self , h : sha256:: Hash ) -> Option < Preimage32 > {
223
225
( * * self ) . lookup_sha256 ( h)
224
226
}
225
227
226
- fn lookup_hash256 ( & self , h : sha256d:: Hash ) -> Option < [ u8 ; 32 ] > {
228
+ fn lookup_hash256 ( & self , h : sha256d:: Hash ) -> Option < Preimage32 > {
227
229
( * * self ) . lookup_hash256 ( h)
228
230
}
229
231
230
- fn lookup_ripemd160 ( & self , h : ripemd160:: Hash ) -> Option < [ u8 ; 32 ] > {
232
+ fn lookup_ripemd160 ( & self , h : ripemd160:: Hash ) -> Option < Preimage32 > {
231
233
( * * self ) . lookup_ripemd160 ( h)
232
234
}
233
235
234
- fn lookup_hash160 ( & self , h : hash160:: Hash ) -> Option < [ u8 ; 32 ] > {
236
+ fn lookup_hash160 ( & self , h : hash160:: Hash ) -> Option < Preimage32 > {
235
237
( * * self ) . lookup_hash160 ( h)
236
238
}
237
239
@@ -288,7 +290,7 @@ macro_rules! impl_tuple_satisfier {
288
290
None
289
291
}
290
292
291
- fn lookup_sha256( & self , h: sha256:: Hash ) -> Option <[ u8 ; 32 ] > {
293
+ fn lookup_sha256( & self , h: sha256:: Hash ) -> Option <Preimage32 > {
292
294
let & ( $( ref $ty, ) * ) = self ;
293
295
$(
294
296
if let Some ( result) = $ty. lookup_sha256( h) {
@@ -298,7 +300,7 @@ macro_rules! impl_tuple_satisfier {
298
300
None
299
301
}
300
302
301
- fn lookup_hash256( & self , h: sha256d:: Hash ) -> Option <[ u8 ; 32 ] > {
303
+ fn lookup_hash256( & self , h: sha256d:: Hash ) -> Option <Preimage32 > {
302
304
let & ( $( ref $ty, ) * ) = self ;
303
305
$(
304
306
if let Some ( result) = $ty. lookup_hash256( h) {
@@ -308,7 +310,7 @@ macro_rules! impl_tuple_satisfier {
308
310
None
309
311
}
310
312
311
- fn lookup_ripemd160( & self , h: ripemd160:: Hash ) -> Option <[ u8 ; 32 ] > {
313
+ fn lookup_ripemd160( & self , h: ripemd160:: Hash ) -> Option <Preimage32 > {
312
314
let & ( $( ref $ty, ) * ) = self ;
313
315
$(
314
316
if let Some ( result) = $ty. lookup_ripemd160( h) {
@@ -318,7 +320,7 @@ macro_rules! impl_tuple_satisfier {
318
320
None
319
321
}
320
322
321
- fn lookup_hash160( & self , h: hash160:: Hash ) -> Option <[ u8 ; 32 ] > {
323
+ fn lookup_hash160( & self , h: hash160:: Hash ) -> Option <Preimage32 > {
322
324
let & ( $( ref $ty, ) * ) = self ;
323
325
$(
324
326
if let Some ( result) = $ty. lookup_hash160( h) {
0 commit comments