Skip to content

Commit dd1a688

Browse files
committed
remove some no-op covenant conversions
It doesn't make sense to impl TranslateExt on objects that don't even have any extensions in them.
1 parent b3e88cd commit dd1a688

File tree

4 files changed

+12
-114
lines changed

4 files changed

+12
-114
lines changed

src/descriptor/bare.rs

Lines changed: 2 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,12 @@ use elements::{self, script, secp256k1_zkp, Script};
2525
use super::checksum::{desc_checksum, verify_checksum};
2626
use super::ELMTS_STR;
2727
use crate::expression::{self, FromTree};
28-
use crate::extensions::ExtParam;
2928
use crate::miniscript::context::ScriptContext;
3029
use crate::policy::{semantic, Liftable};
3130
use crate::util::{varint_len, witness_to_scriptsig};
3231
use crate::{
33-
elementssig_to_rawsig, BareCtx, Error, Extension, ForEach, ForEachKey, Miniscript,
34-
MiniscriptKey, Satisfier, ToPublicKey, TranslateExt, TranslatePk, Translator,
32+
elementssig_to_rawsig, BareCtx, Error, ForEach, ForEachKey, Miniscript,
33+
MiniscriptKey, Satisfier, ToPublicKey, TranslatePk, Translator,
3534
};
3635

3736
/// Create a Bare Descriptor. That is descriptor that is
@@ -193,24 +192,6 @@ impl<P: MiniscriptKey, Q: MiniscriptKey> TranslatePk<P, Q> for Bare<P> {
193192
}
194193
}
195194

196-
impl<PExt, QExt, PArg, QArg, Pk> TranslateExt<PExt, QExt, PArg, QArg> for Bare<Pk>
197-
where
198-
PExt: Extension,
199-
QExt: Extension,
200-
PArg: ExtParam,
201-
QArg: ExtParam,
202-
Pk: MiniscriptKey,
203-
{
204-
type Output = Bare<Pk>;
205-
206-
fn translate_ext<T, E>(&self, _translator: &mut T) -> Result<Self::Output, E>
207-
where
208-
T: crate::ExtTranslator<PArg, QArg, E>,
209-
{
210-
Ok(self.clone())
211-
}
212-
}
213-
214195
/// A bare PkH descriptor at top level
215196
#[derive(Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
216197
pub struct Pkh<Pk: MiniscriptKey> {
@@ -377,20 +358,3 @@ impl<P: MiniscriptKey, Q: MiniscriptKey> TranslatePk<P, Q> for Pkh<P> {
377358
}
378359
}
379360

380-
impl<PExt, QExt, PArg, QArg, Pk> TranslateExt<PExt, QExt, PArg, QArg> for Pkh<Pk>
381-
where
382-
PExt: Extension,
383-
QExt: Extension,
384-
PArg: ExtParam,
385-
QArg: ExtParam,
386-
Pk: MiniscriptKey,
387-
{
388-
type Output = Pkh<Pk>;
389-
390-
fn translate_ext<T, E>(&self, _translator: &mut T) -> Result<Self::Output, E>
391-
where
392-
T: crate::ExtTranslator<PArg, QArg, E>,
393-
{
394-
Ok(self.clone())
395-
}
396-
}

src/descriptor/mod.rs

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -738,24 +738,12 @@ where
738738
T: ExtTranslator<PArg, QArg, E>,
739739
{
740740
let desc = match *self {
741-
Descriptor::Bare(ref bare) => Descriptor::Bare(
742-
TranslateExt::<CovenantExt<PArg>, CovenantExt<QArg>, _, _>::translate_ext(bare, t)?,
743-
),
744-
Descriptor::Pkh(ref pk) => Descriptor::Pkh(
745-
TranslateExt::<CovenantExt<PArg>, CovenantExt<QArg>, _, _>::translate_ext(pk, t)?,
746-
),
747-
Descriptor::Wpkh(ref pk) => Descriptor::Wpkh(
748-
TranslateExt::<CovenantExt<PArg>, CovenantExt<QArg>, _, _>::translate_ext(pk, t)?,
749-
),
750-
Descriptor::Sh(ref sh) => Descriptor::Sh(
751-
TranslateExt::<CovenantExt<PArg>, CovenantExt<QArg>, _, _>::translate_ext(sh, t)?,
752-
),
753-
Descriptor::Wsh(ref wsh) => Descriptor::Wsh(
754-
TranslateExt::<CovenantExt<PArg>, CovenantExt<QArg>, _, _>::translate_ext(wsh, t)?,
755-
),
756-
Descriptor::Tr(ref tr) => Descriptor::Tr(
757-
TranslateExt::<NoExt, NoExt, _, _>::translate_ext(tr, t)?,
758-
),
741+
Descriptor::Bare(ref bare) => Descriptor::Bare(bare.clone()),
742+
Descriptor::Pkh(ref pk) => Descriptor::Pkh(pk.clone()),
743+
Descriptor::Wpkh(ref pk) => Descriptor::Wpkh(pk.clone()),
744+
Descriptor::Sh(ref sh) => Descriptor::Sh(sh.clone()),
745+
Descriptor::Wsh(ref wsh) => Descriptor::Wsh(wsh.clone()),
746+
Descriptor::Tr(ref tr) => Descriptor::Tr(tr.clone()),
759747
Descriptor::TrExt(ref tr) => Descriptor::TrExt(
760748
TranslateExt::<CovenantExt<PArg>, CovenantExt<QArg>, _, _>::translate_ext(tr, t)?,
761749
),

src/descriptor/segwitv0.rs

Lines changed: 2 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,12 @@ use elements::{self, secp256k1_zkp, Address, Script};
2424
use super::checksum::{desc_checksum, verify_checksum};
2525
use super::{SortedMultiVec, ELMTS_STR};
2626
use crate::expression::{self, FromTree};
27-
use crate::extensions::ExtParam;
2827
use crate::miniscript::context::{ScriptContext, ScriptContextError};
2928
use crate::policy::{semantic, Liftable};
3029
use crate::util::varint_len;
3130
use crate::{
32-
elementssig_to_rawsig, Error, Extension, ForEach, ForEachKey, Miniscript, MiniscriptKey,
33-
Satisfier, Segwitv0, ToPublicKey, TranslateExt, TranslatePk, Translator,
31+
elementssig_to_rawsig, Error, ForEach, ForEachKey, Miniscript, MiniscriptKey,
32+
Satisfier, Segwitv0, ToPublicKey, TranslatePk, Translator,
3433
};
3534
/// A Segwitv0 wsh descriptor
3635
#[derive(Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
@@ -310,24 +309,6 @@ impl<P: MiniscriptKey, Q: MiniscriptKey> TranslatePk<P, Q> for Wsh<P> {
310309
}
311310
}
312311

313-
impl<PExt, QExt, PArg, QArg, Pk> TranslateExt<PExt, QExt, PArg, QArg> for Wsh<Pk>
314-
where
315-
PExt: Extension,
316-
QExt: Extension,
317-
PArg: ExtParam,
318-
QArg: ExtParam,
319-
Pk: MiniscriptKey,
320-
{
321-
type Output = Wsh<Pk>;
322-
323-
fn translate_ext<T, E>(&self, _translator: &mut T) -> Result<Self::Output, E>
324-
where
325-
T: crate::ExtTranslator<PArg, QArg, E>,
326-
{
327-
Ok(self.clone())
328-
}
329-
}
330-
331312
/// A bare Wpkh descriptor at top level
332313
#[derive(Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
333314
pub struct Wpkh<Pk: MiniscriptKey> {
@@ -539,20 +520,3 @@ impl<P: MiniscriptKey, Q: MiniscriptKey> TranslatePk<P, Q> for Wpkh<P> {
539520
}
540521
}
541522

542-
impl<PExt, QExt, PArg, QArg, Pk> TranslateExt<PExt, QExt, PArg, QArg> for Wpkh<Pk>
543-
where
544-
PExt: Extension,
545-
QExt: Extension,
546-
PArg: ExtParam,
547-
QArg: ExtParam,
548-
Pk: MiniscriptKey,
549-
{
550-
type Output = Wpkh<Pk>;
551-
552-
fn translate_ext<T, E>(&self, _translator: &mut T) -> Result<Self::Output, E>
553-
where
554-
T: crate::ExtTranslator<PArg, QArg, E>,
555-
{
556-
Ok(self.clone())
557-
}
558-
}

src/descriptor/sh.rs

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,12 @@ use elements::{self, script, secp256k1_zkp, Script};
2525
use super::checksum::{desc_checksum, verify_checksum};
2626
use super::{SortedMultiVec, Wpkh, Wsh, ELMTS_STR};
2727
use crate::expression::{self, FromTree};
28-
use crate::extensions::ExtParam;
2928
use crate::miniscript::context::ScriptContext;
3029
use crate::policy::{semantic, Liftable};
3130
use crate::util::{varint_len, witness_to_scriptsig};
3231
use crate::{
33-
push_opcode_size, Error, Extension, ForEach, ForEachKey, Legacy, Miniscript, MiniscriptKey,
34-
Satisfier, Segwitv0, ToPublicKey, TranslateExt, TranslatePk, Translator,
32+
push_opcode_size, Error, ForEach, ForEachKey, Legacy, Miniscript, MiniscriptKey,
33+
Satisfier, Segwitv0, ToPublicKey, TranslatePk, Translator,
3534
};
3635

3736
/// A Legacy p2sh Descriptor
@@ -405,20 +404,3 @@ impl<P: MiniscriptKey, Q: MiniscriptKey> TranslatePk<P, Q> for Sh<P> {
405404
}
406405
}
407406

408-
impl<PExt, QExt, PArg, QArg, Pk> TranslateExt<PExt, QExt, PArg, QArg> for Sh<Pk>
409-
where
410-
PExt: Extension,
411-
QExt: Extension,
412-
PArg: ExtParam,
413-
QArg: ExtParam,
414-
Pk: MiniscriptKey,
415-
{
416-
type Output = Sh<Pk>;
417-
418-
fn translate_ext<T, E>(&self, _translator: &mut T) -> Result<Self::Output, E>
419-
where
420-
T: crate::ExtTranslator<PArg, QArg, E>,
421-
{
422-
Ok(self.clone())
423-
}
424-
}

0 commit comments

Comments
 (0)