@@ -247,7 +247,7 @@ pub trait ScriptContext:
247
247
/// To be used as P2SH scripts
248
248
/// For creation of Bare scriptpubkeys, construct the Miniscript
249
249
/// under `Bare` ScriptContext
250
- #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd ) ]
250
+ #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd , Hash ) ]
251
251
pub enum Legacy { }
252
252
253
253
impl ScriptContext for Legacy {
@@ -318,7 +318,7 @@ impl ScriptContext for Legacy {
318
318
}
319
319
320
320
/// Segwitv0 ScriptContext
321
- #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd ) ]
321
+ #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd , Hash ) ]
322
322
pub enum Segwitv0 { }
323
323
324
324
impl ScriptContext for Segwitv0 {
@@ -404,7 +404,7 @@ impl ScriptContext for Segwitv0 {
404
404
/// To be used as raw script pubkeys
405
405
/// In general, it is not recommended to use Bare descriptors
406
406
/// as they as strongly limited by standardness policies.
407
- #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd ) ]
407
+ #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd , Hash ) ]
408
408
pub enum BareCtx { }
409
409
410
410
impl ScriptContext for BareCtx {
@@ -466,7 +466,7 @@ impl ScriptContext for BareCtx {
466
466
/// Used by the "satisified constraints" iterator, which is intended to read
467
467
/// scripts off of the blockchain without doing any sanity checks on them.
468
468
/// This context should not be used unless you know what you are doing.
469
- #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd ) ]
469
+ #[ derive( Debug , Clone , Eq , PartialEq , Ord , PartialOrd , Hash ) ]
470
470
pub enum NoChecks { }
471
471
impl ScriptContext for NoChecks {
472
472
fn check_terminal_non_malleable < Pk : MiniscriptKey , Ctx : ScriptContext > (
0 commit comments