@@ -239,7 +239,7 @@ pub trait ScriptContext:
239
239
/// To be used as P2SH scripts
240
240
/// For creation of Bare scriptpubkeys, construct the Miniscript
241
241
/// under `Bare` ScriptContext
242
- #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd ) ]
242
+ #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd , Hash ) ]
243
243
pub enum Legacy { }
244
244
245
245
impl ScriptContext for Legacy {
@@ -310,7 +310,7 @@ impl ScriptContext for Legacy {
310
310
}
311
311
312
312
/// Segwitv0 ScriptContext
313
- #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd ) ]
313
+ #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd , Hash ) ]
314
314
pub enum Segwitv0 { }
315
315
316
316
impl ScriptContext for Segwitv0 {
@@ -395,7 +395,7 @@ impl ScriptContext for Segwitv0 {
395
395
/// To be used as raw script pubkeys
396
396
/// In general, it is not recommended to use Bare descriptors
397
397
/// as they as strongly limited by standardness policies.
398
- #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd ) ]
398
+ #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd , Hash ) ]
399
399
pub enum BareCtx { }
400
400
401
401
impl ScriptContext for BareCtx {
@@ -457,7 +457,7 @@ impl ScriptContext for BareCtx {
457
457
/// Used by the "satisified constraints" iterator, which is intended to read
458
458
/// scripts off of the blockchain without doing any sanity checks on them.
459
459
/// This context should not be used unless you know what you are doing.
460
- #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd ) ]
460
+ #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd , Hash ) ]
461
461
pub enum NoChecks { }
462
462
impl ScriptContext for NoChecks {
463
463
fn check_terminal_non_malleable < Pk : MiniscriptKey , Ctx : ScriptContext > (
0 commit comments