@@ -26,11 +26,11 @@ use expression::{self, FromTree};
2626use miniscript:: context:: ScriptContext ;
2727use policy:: { semantic, Liftable } ;
2828use util:: { varint_len, witness_to_scriptsig} ;
29- use { BareCtx , Error , Miniscript , MiniscriptKey , Satisfier , ToPublicKey } ;
29+ use { BareCtx , Error , Miniscript , MiniscriptKey , Satisfier , ToPublicKey , TranslatePk } ;
3030
3131use super :: {
3232 checksum:: { desc_checksum, verify_checksum} ,
33- DescriptorTrait , PkTranslate ,
33+ DescriptorTrait ,
3434} ;
3535
3636/// Create a Bare Descriptor. That is descriptor that is
@@ -111,49 +111,40 @@ where
111111 Ok ( ( ) )
112112 }
113113
114- fn address < ToPkCtx : Copy > (
115- & self ,
116- _to_pk_ctx : ToPkCtx ,
117- _network : bitcoin:: Network ,
118- ) -> Option < bitcoin:: Address >
114+ fn address ( & self , _network : bitcoin:: Network ) -> Option < bitcoin:: Address >
119115 where
120- Pk : ToPublicKey < ToPkCtx > ,
116+ Pk : ToPublicKey ,
121117 {
122118 None
123119 }
124120
125- fn script_pubkey < ToPkCtx : Copy > ( & self , to_pk_ctx : ToPkCtx ) -> Script
121+ fn script_pubkey ( & self ) -> Script
126122 where
127- Pk : ToPublicKey < ToPkCtx > ,
123+ Pk : ToPublicKey ,
128124 {
129- self . ms . encode ( to_pk_ctx )
125+ self . ms . encode ( )
130126 }
131127
132- fn unsigned_script_sig < ToPkCtx : Copy > ( & self , _to_pk_ctx : ToPkCtx ) -> Script
128+ fn unsigned_script_sig ( & self ) -> Script
133129 where
134- Pk : ToPublicKey < ToPkCtx > ,
130+ Pk : ToPublicKey ,
135131 {
136132 Script :: new ( )
137133 }
138134
139- fn explicit_script < ToPkCtx : Copy > ( & self , to_pk_ctx : ToPkCtx ) -> Script
135+ fn explicit_script ( & self ) -> Script
140136 where
141- Pk : ToPublicKey < ToPkCtx > ,
137+ Pk : ToPublicKey ,
142138 {
143- self . ms . encode ( to_pk_ctx )
139+ self . ms . encode ( )
144140 }
145141
146- fn get_satisfaction < ToPkCtx , S > (
147- & self ,
148- satisfier : S ,
149- to_pk_ctx : ToPkCtx ,
150- ) -> Result < ( Vec < Vec < u8 > > , Script ) , Error >
142+ fn get_satisfaction < S > ( & self , satisfier : S ) -> Result < ( Vec < Vec < u8 > > , Script ) , Error >
151143 where
152- ToPkCtx : Copy ,
153- Pk : ToPublicKey < ToPkCtx > ,
154- S : Satisfier < ToPkCtx , Pk > ,
144+ Pk : ToPublicKey ,
145+ S : Satisfier < Pk > ,
155146 {
156- let ms = self . ms . satisfy ( satisfier, to_pk_ctx ) ?;
147+ let ms = self . ms . satisfy ( satisfier) ?;
157148 let script_sig = witness_to_scriptsig ( & ms) ;
158149 let witness = vec ! [ ] ;
159150 Ok ( ( witness, script_sig) )
@@ -164,15 +155,15 @@ where
164155 Some ( 4 * ( varint_len ( scriptsig_len) + scriptsig_len) )
165156 }
166157
167- fn script_code < ToPkCtx : Copy > ( & self , to_pk_ctx : ToPkCtx ) -> Script
158+ fn script_code ( & self ) -> Script
168159 where
169- Pk : ToPublicKey < ToPkCtx > ,
160+ Pk : ToPublicKey ,
170161 {
171- self . script_pubkey ( to_pk_ctx )
162+ self . script_pubkey ( )
172163 }
173164}
174165
175- impl < P : MiniscriptKey , Q : MiniscriptKey > PkTranslate < P , Q > for Bare < P > {
166+ impl < P : MiniscriptKey , Q : MiniscriptKey > TranslatePk < P , Q > for Bare < P > {
176167 type Output = Bare < Q > ;
177168
178169 fn translate_pk < Fpk , Fpkh , E > (
@@ -276,80 +267,67 @@ where
276267 Ok ( ( ) )
277268 }
278269
279- fn address < ToPkCtx : Copy > (
280- & self ,
281- to_pk_ctx : ToPkCtx ,
282- network : bitcoin:: Network ,
283- ) -> Option < bitcoin:: Address >
270+ fn address ( & self , network : bitcoin:: Network ) -> Option < bitcoin:: Address >
284271 where
285- Pk : ToPublicKey < ToPkCtx > ,
272+ Pk : ToPublicKey ,
286273 {
287- Some ( bitcoin:: Address :: p2pkh (
288- & self . pk . to_public_key ( to_pk_ctx) ,
289- network,
290- ) )
274+ Some ( bitcoin:: Address :: p2pkh ( & self . pk . to_public_key ( ) , network) )
291275 }
292276
293- fn script_pubkey < ToPkCtx : Copy > ( & self , to_pk_ctx : ToPkCtx ) -> Script
277+ fn script_pubkey ( & self ) -> Script
294278 where
295- Pk : ToPublicKey < ToPkCtx > ,
279+ Pk : ToPublicKey ,
296280 {
297- let addr =
298- bitcoin:: Address :: p2pkh ( & self . pk . to_public_key ( to_pk_ctx) , bitcoin:: Network :: Bitcoin ) ;
281+ let addr = bitcoin:: Address :: p2pkh ( & self . pk . to_public_key ( ) , bitcoin:: Network :: Bitcoin ) ;
299282 addr. script_pubkey ( )
300283 }
301284
302- fn unsigned_script_sig < ToPkCtx : Copy > ( & self , _to_pk_ctx : ToPkCtx ) -> Script
285+ fn unsigned_script_sig ( & self ) -> Script
303286 where
304- Pk : ToPublicKey < ToPkCtx > ,
287+ Pk : ToPublicKey ,
305288 {
306289 Script :: new ( )
307290 }
308291
309- fn explicit_script < ToPkCtx : Copy > ( & self , to_pk_ctx : ToPkCtx ) -> Script
292+ fn explicit_script ( & self ) -> Script
310293 where
311- Pk : ToPublicKey < ToPkCtx > ,
294+ Pk : ToPublicKey ,
312295 {
313- self . script_pubkey ( to_pk_ctx )
296+ self . script_pubkey ( )
314297 }
315298
316- fn get_satisfaction < ToPkCtx , S > (
317- & self ,
318- satisfier : S ,
319- to_pk_ctx : ToPkCtx ,
320- ) -> Result < ( Vec < Vec < u8 > > , Script ) , Error >
299+ fn get_satisfaction < S > ( & self , satisfier : S ) -> Result < ( Vec < Vec < u8 > > , Script ) , Error >
321300 where
322- ToPkCtx : Copy ,
323- Pk : ToPublicKey < ToPkCtx > ,
324- S : Satisfier < ToPkCtx , Pk > ,
301+ Pk : ToPublicKey ,
302+ S : Satisfier < Pk > ,
325303 {
326- if let Some ( sig) = satisfier. lookup_sig ( & self . pk , to_pk_ctx ) {
304+ if let Some ( sig) = satisfier. lookup_sig ( & self . pk ) {
327305 let mut sig_vec = sig. 0 . serialize_der ( ) . to_vec ( ) ;
328306 sig_vec. push ( sig. 1 . as_u32 ( ) as u8 ) ;
329307 let script_sig = script:: Builder :: new ( )
330308 . push_slice ( & sig_vec[ ..] )
331- . push_key ( & self . pk . to_public_key ( to_pk_ctx ) )
309+ . push_key ( & self . pk . to_public_key ( ) )
332310 . into_script ( ) ;
333311 let witness = vec ! [ ] ;
334312 Ok ( ( witness, script_sig) )
335313 } else {
336- Err ( Error :: MissingSig ( self . pk . to_public_key ( to_pk_ctx ) ) )
314+ Err ( Error :: MissingSig ( self . pk . to_public_key ( ) ) )
337315 }
338316 }
339317
340318 fn max_satisfaction_weight ( & self ) -> Option < usize > {
341319 Some ( 4 * ( 1 + 73 + self . pk . serialized_len ( ) ) )
342320 }
343321
344- fn script_code < ToPkCtx : Copy > ( & self , to_pk_ctx : ToPkCtx ) -> Script
322+ fn script_code ( & self ) -> Script
345323 where
346- Pk : ToPublicKey < ToPkCtx > ,
324+ Pk : ToPublicKey ,
347325 {
348- self . script_pubkey ( to_pk_ctx )
326+ self . script_pubkey ( )
349327 }
350328}
351329
352- impl < P : MiniscriptKey , Q : MiniscriptKey > PkTranslate < P , Q > for Pkh < P > {
330+ impl < P : MiniscriptKey , Q : MiniscriptKey > TranslatePk < P , Q > for Pkh < P > {
353331 type Output = Pkh < Q > ;
354332
355333 fn translate_pk < Fpk , Fpkh , E > (
0 commit comments