Skip to content

Commit f89cf25

Browse files
committed
descriptor: stop using TranslatePk in sh.rs
1 parent 4654b98 commit f89cf25

File tree

1 file changed

+16
-22
lines changed

1 file changed

+16
-22
lines changed

src/descriptor/sh.rs

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use crate::prelude::*;
2525
use crate::util::{varint_len, witness_to_scriptsig};
2626
use crate::{
2727
push_opcode_size, Error, ForEachKey, FromStrKey, Legacy, Miniscript, MiniscriptKey, Satisfier,
28-
Segwitv0, ToPublicKey, TranslateErr, TranslatePk, Translator,
28+
Segwitv0, ToPublicKey, TranslateErr, Translator,
2929
};
3030

3131
/// A Legacy p2sh Descriptor
@@ -259,6 +259,21 @@ impl<Pk: MiniscriptKey> Sh<Pk> {
259259
}
260260
})
261261
}
262+
263+
/// Converts the keys in a script from one type to another.
264+
pub fn translate_pk<Q, T, E>(&self, t: &mut T) -> Result<Sh<Q>, TranslateErr<E>>
265+
where
266+
T: Translator<Pk, Q, E>,
267+
Q: MiniscriptKey,
268+
{
269+
let inner = match self.inner {
270+
ShInner::Wsh(ref wsh) => ShInner::Wsh(wsh.translate_pk(t)?),
271+
ShInner::Wpkh(ref wpkh) => ShInner::Wpkh(wpkh.translate_pk(t)?),
272+
ShInner::SortedMulti(ref smv) => ShInner::SortedMulti(smv.translate_pk(t)?),
273+
ShInner::Ms(ref ms) => ShInner::Ms(ms.translate_pk(t)?),
274+
};
275+
Ok(Sh { inner })
276+
}
262277
}
263278

264279
impl<Pk: MiniscriptKey + ToPublicKey> Sh<Pk> {
@@ -444,24 +459,3 @@ impl<Pk: MiniscriptKey> ForEachKey<Pk> for Sh<Pk> {
444459
}
445460
}
446461
}
447-
448-
impl<P, Q> TranslatePk<P, Q> for Sh<P>
449-
where
450-
P: MiniscriptKey,
451-
Q: MiniscriptKey,
452-
{
453-
type Output = Sh<Q>;
454-
455-
fn translate_pk<T, E>(&self, t: &mut T) -> Result<Self::Output, TranslateErr<E>>
456-
where
457-
T: Translator<P, Q, E>,
458-
{
459-
let inner = match self.inner {
460-
ShInner::Wsh(ref wsh) => ShInner::Wsh(wsh.translate_pk(t)?),
461-
ShInner::Wpkh(ref wpkh) => ShInner::Wpkh(wpkh.translate_pk(t)?),
462-
ShInner::SortedMulti(ref smv) => ShInner::SortedMulti(smv.translate_pk(t)?),
463-
ShInner::Ms(ref ms) => ShInner::Ms(ms.translate_pk(t)?),
464-
};
465-
Ok(Sh { inner })
466-
}
467-
}

0 commit comments

Comments
 (0)