diff --git a/src/miniscript/decode.rs b/src/miniscript/decode.rs index 409563b04..950612881 100644 --- a/src/miniscript/decode.rs +++ b/src/miniscript/decode.rs @@ -228,12 +228,7 @@ impl TerminalStack { let top = self.pop().unwrap(); let wrapped_ms = wrap(Arc::new(top)); - let ty = Type::type_check(&wrapped_ms)?; - let ext = ExtData::type_check(&wrapped_ms)?; - let ms = Miniscript { node: wrapped_ms, ty, ext, phantom: PhantomData }; - Ctx::check_global_validity(&ms)?; - self.0.push(ms); - Ok(()) + self.reduce0(wrapped_ms) } ///reduce, type check and push a 2-arg node @@ -246,12 +241,7 @@ impl TerminalStack { let wrapped_ms = wrap(Arc::new(left), Arc::new(right)); - let ty = Type::type_check(&wrapped_ms)?; - let ext = ExtData::type_check(&wrapped_ms)?; - let ms = Miniscript { node: wrapped_ms, ty, ext, phantom: PhantomData }; - Ctx::check_global_validity(&ms)?; - self.0.push(ms); - Ok(()) + self.reduce0(wrapped_ms) } }