@@ -45,77 +45,6 @@ impl<Pk: MiniscriptKey, Ctx: ScriptContext> Terminal<Pk, Ctx> {
4545 }
4646}
4747
48- impl < Pk : MiniscriptKey , Ctx : ScriptContext > Terminal < Pk , Ctx > {
49- /// Substitutes raw public keys hashes with the public keys as provided by map.
50- pub fn substitute_raw_pkh ( & self , pk_map : & BTreeMap < hash160:: Hash , Pk > ) -> Terminal < Pk , Ctx > {
51- match self {
52- Terminal :: RawPkH ( ref p) => match pk_map. get ( p) {
53- Some ( pk) => Terminal :: PkH ( pk. clone ( ) ) . into ( ) ,
54- None => Terminal :: RawPkH ( * p) . into ( ) ,
55- } ,
56- Terminal :: PkK ( ..)
57- | Terminal :: PkH ( ..)
58- | Terminal :: Multi ( ..)
59- | Terminal :: MultiA ( ..)
60- | Terminal :: After ( ..)
61- | Terminal :: Older ( ..)
62- | Terminal :: Sha256 ( ..)
63- | Terminal :: Hash256 ( ..)
64- | Terminal :: Ripemd160 ( ..)
65- | Terminal :: Hash160 ( ..)
66- | Terminal :: True
67- | Terminal :: False => self . clone ( ) . into ( ) ,
68- Terminal :: Alt ( ref sub) => Terminal :: Alt ( Arc :: new ( sub. substitute_raw_pkh ( pk_map) ) ) ,
69- Terminal :: Swap ( ref sub) => Terminal :: Swap ( Arc :: new ( sub. substitute_raw_pkh ( pk_map) ) ) ,
70- Terminal :: Check ( ref sub) => Terminal :: Check ( Arc :: new ( sub. substitute_raw_pkh ( pk_map) ) ) ,
71- Terminal :: DupIf ( ref sub) => Terminal :: DupIf ( Arc :: new ( sub. substitute_raw_pkh ( pk_map) ) ) ,
72- Terminal :: Verify ( ref sub) => Terminal :: Verify ( Arc :: new ( sub. substitute_raw_pkh ( pk_map) ) ) ,
73- Terminal :: NonZero ( ref sub) => {
74- Terminal :: NonZero ( Arc :: new ( sub. substitute_raw_pkh ( pk_map) ) )
75- }
76- Terminal :: ZeroNotEqual ( ref sub) => {
77- Terminal :: ZeroNotEqual ( Arc :: new ( sub. substitute_raw_pkh ( pk_map) ) )
78- }
79- Terminal :: AndV ( ref left, ref right) => Terminal :: AndV (
80- Arc :: new ( left. substitute_raw_pkh ( pk_map) ) ,
81- Arc :: new ( right. substitute_raw_pkh ( pk_map) ) ,
82- ) ,
83- Terminal :: AndB ( ref left, ref right) => Terminal :: AndB (
84- Arc :: new ( left. substitute_raw_pkh ( pk_map) ) ,
85- Arc :: new ( right. substitute_raw_pkh ( pk_map) ) ,
86- ) ,
87- Terminal :: AndOr ( ref a, ref b, ref c) => Terminal :: AndOr (
88- Arc :: new ( a. substitute_raw_pkh ( pk_map) ) ,
89- Arc :: new ( b. substitute_raw_pkh ( pk_map) ) ,
90- Arc :: new ( c. substitute_raw_pkh ( pk_map) ) ,
91- ) ,
92- Terminal :: OrB ( ref left, ref right) => Terminal :: OrB (
93- Arc :: new ( left. substitute_raw_pkh ( pk_map) ) ,
94- Arc :: new ( right. substitute_raw_pkh ( pk_map) ) ,
95- ) ,
96- Terminal :: OrD ( ref left, ref right) => Terminal :: OrD (
97- Arc :: new ( left. substitute_raw_pkh ( pk_map) ) ,
98- Arc :: new ( right. substitute_raw_pkh ( pk_map) ) ,
99- ) ,
100- Terminal :: OrC ( ref left, ref right) => Terminal :: OrC (
101- Arc :: new ( left. substitute_raw_pkh ( pk_map) ) ,
102- Arc :: new ( right. substitute_raw_pkh ( pk_map) ) ,
103- ) ,
104- Terminal :: OrI ( ref left, ref right) => Terminal :: OrI (
105- Arc :: new ( left. substitute_raw_pkh ( pk_map) ) ,
106- Arc :: new ( right. substitute_raw_pkh ( pk_map) ) ,
107- ) ,
108- Terminal :: Thresh ( k, ref subs) => {
109- let subs: Vec < Arc < Miniscript < _ , _ > > > = subs
110- . iter ( )
111- . map ( |s| Arc :: new ( s. substitute_raw_pkh ( pk_map) ) )
112- . collect ( ) ;
113- Terminal :: Thresh ( * k, subs)
114- }
115- }
116- }
117- }
118-
11948impl < Pk : MiniscriptKey , Ctx : ScriptContext > fmt:: Debug for Terminal < Pk , Ctx > {
12049 fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
12150 f. write_str ( "[" ) ?;
0 commit comments