diff --git a/examples/parse.rs b/examples/parse.rs index 439a7c572..103574725 100644 --- a/examples/parse.rs +++ b/examples/parse.rs @@ -16,9 +16,9 @@ use std::str::FromStr; -use bitcoin; -use miniscript; -use miniscript::{descriptor::DescriptorType, Descriptor, DescriptorTrait}; +use miniscript::descriptor::DescriptorType; +use miniscript::{Descriptor, DescriptorTrait}; +use {bitcoin, miniscript}; fn main() { let my_descriptor = miniscript::Descriptor::::from_str( diff --git a/examples/sign_multisig.rs b/examples/sign_multisig.rs index bac191df3..20e53721a 100644 --- a/examples/sign_multisig.rs +++ b/examples/sign_multisig.rs @@ -17,11 +17,10 @@ use std::collections::HashMap; use std::str::FromStr; -use bitcoin; use bitcoin::blockdata::witness::Witness; use bitcoin::secp256k1; // secp256k1 re-exported from rust-bitcoin -use miniscript; use miniscript::DescriptorTrait; +use {bitcoin, miniscript}; fn main() { // Avoid repeatedly typing a pretty-common descriptor type diff --git a/examples/verify_tx.rs b/examples/verify_tx.rs index c9f753ac6..3c6aff50a 100644 --- a/examples/verify_tx.rs +++ b/examples/verify_tx.rs @@ -16,12 +16,11 @@ use std::str::FromStr; -use bitcoin; use bitcoin::consensus::Decodable; use bitcoin::util::sighash; use bitcoin::{secp256k1, TxOut}; // secp256k1 re-exported from rust-bitcoin -use miniscript; use miniscript::interpreter::KeySigPair; +use {bitcoin, miniscript}; fn main() { // tx `f27eba163c38ad3f34971198687a3f1882b7ec818599ffe469a8440d82261c98` diff --git a/rustfmt.toml b/rustfmt.toml index f61bac29a..f3bff64fa 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -27,7 +27,7 @@ fn_single_line = false where_single_line = false imports_indent = "Block" imports_layout = "Mixed" -imports_granularity = "Preserve" +imports_granularity = "Module" # Default "Preserve" group_imports = "StdExternalCrate" # Default "Preserve" reorder_imports = true reorder_modules = true diff --git a/src/descriptor/bare.rs b/src/descriptor/bare.rs index c8969b61a..045de5c48 100644 --- a/src/descriptor/bare.rs +++ b/src/descriptor/bare.rs @@ -18,14 +18,14 @@ //! Also includes pk, and pkh descriptors //! -use std::{fmt, str::FromStr}; +use std::fmt; +use std::str::FromStr; -use bitcoin::{self, blockdata::script, Script}; +use bitcoin::blockdata::script; +use bitcoin::{self, Script}; -use super::{ - checksum::{desc_checksum, verify_checksum}, - DescriptorTrait, -}; +use super::checksum::{desc_checksum, verify_checksum}; +use super::DescriptorTrait; use crate::expression::{self, FromTree}; use crate::miniscript::context::ScriptContext; use crate::policy::{semantic, Liftable}; diff --git a/src/descriptor/key.rs b/src/descriptor/key.rs index 5866f29b1..e3c5d6daa 100644 --- a/src/descriptor/key.rs +++ b/src/descriptor/key.rs @@ -1,14 +1,11 @@ -use std::{error, fmt, str::FromStr}; - -use bitcoin::{ - self, - hashes::Hash, - hashes::{hex::FromHex, HashEngine}, - secp256k1, - secp256k1::{Secp256k1, Signing}, - util::bip32, - XOnlyPublicKey, XpubIdentifier, -}; +use std::str::FromStr; +use std::{error, fmt}; + +use bitcoin::hashes::hex::FromHex; +use bitcoin::hashes::{Hash, HashEngine}; +use bitcoin::secp256k1::{Secp256k1, Signing}; +use bitcoin::util::bip32; +use bitcoin::{self, secp256k1, XOnlyPublicKey, XpubIdentifier}; use crate::{MiniscriptKey, ToPublicKey}; diff --git a/src/descriptor/mod.rs b/src/descriptor/mod.rs index ffd1e0679..3a3d26b7a 100644 --- a/src/descriptor/mod.rs +++ b/src/descriptor/mod.rs @@ -23,24 +23,21 @@ //! these with BIP32 paths, pay-to-contract instructions, etc. //! +use std::collections::HashMap; +use std::fmt; use std::ops::Range; -use std::{collections::HashMap, sync::Arc}; -use std::{ - fmt, - str::{self, FromStr}, -}; +use std::str::{self, FromStr}; +use std::sync::Arc; use bitcoin::blockdata::witness::Witness; use bitcoin::util::address::WitnessVersion; use bitcoin::{self, secp256k1, Script}; use self::checksum::verify_checksum; -use crate::expression; -use crate::miniscript; use crate::miniscript::{Legacy, Miniscript, Segwitv0}; use crate::{ - BareCtx, Error, ForEach, ForEachKey, MiniscriptKey, Satisfier, ToPublicKey, TranslatePk, - TranslatePk2, + expression, miniscript, BareCtx, Error, ForEach, ForEachKey, MiniscriptKey, Satisfier, + ToPublicKey, TranslatePk, TranslatePk2, }; // Directly export from lib.rs, exporting the trait here causes conflicts in this file @@ -884,10 +881,9 @@ mod tests { use super::*; use crate::descriptor::key::Wildcard; use crate::descriptor::{DescriptorPublicKey, DescriptorSecretKey, DescriptorXKey, SinglePub}; - use crate::hex_script; #[cfg(feature = "compiler")] use crate::policy; - use crate::{Descriptor, DummyKey, Error, Miniscript, Satisfier, TranslatePk2}; + use crate::{hex_script, Descriptor, DummyKey, Error, Miniscript, Satisfier, TranslatePk2}; type StdDescriptor = Descriptor; const TEST_PK: &'static str = diff --git a/src/descriptor/pretaproot.rs b/src/descriptor/pretaproot.rs index f866b5b81..2e7925921 100644 --- a/src/descriptor/pretaproot.rs +++ b/src/descriptor/pretaproot.rs @@ -1,11 +1,10 @@ -use std::{ - fmt, - str::{self, FromStr}, -}; +use std::fmt; +use std::str::{self, FromStr}; use bitcoin::{self, Script}; -use super::{checksum::verify_checksum, Bare, Pkh, Sh, Wpkh, Wsh}; +use super::checksum::verify_checksum; +use super::{Bare, Pkh, Sh, Wpkh, Wsh}; use crate::{expression, DescriptorTrait, Error, MiniscriptKey, Satisfier, ToPublicKey}; /// Script descriptor @@ -242,10 +241,8 @@ pub(crate) mod traits { use bitcoin::Script; use super::PreTaprootDescriptor; - use crate::{ - descriptor::{Pkh, Sh, Wpkh, Wsh}, - DescriptorTrait, MiniscriptKey, ToPublicKey, - }; + use crate::descriptor::{Pkh, Sh, Wpkh, Wsh}; + use crate::{DescriptorTrait, MiniscriptKey, ToPublicKey}; /// A general trait for Pre taproot bitcoin descriptor. /// Similar to [`DescriptorTrait`], but `explicit_script` and `script_code` methods cannot fail diff --git a/src/descriptor/segwitv0.rs b/src/descriptor/segwitv0.rs index 0ba78ee7b..5afe2e87f 100644 --- a/src/descriptor/segwitv0.rs +++ b/src/descriptor/segwitv0.rs @@ -16,14 +16,13 @@ //! Implementation of Segwit Descriptors. Contains the implementation //! of wsh, wpkh and sortedmulti inside wsh. -use std::{fmt, str::FromStr}; +use std::fmt; +use std::str::FromStr; use bitcoin::{self, Script}; -use super::{ - checksum::{desc_checksum, verify_checksum}, - DescriptorTrait, SortedMultiVec, -}; +use super::checksum::{desc_checksum, verify_checksum}; +use super::{DescriptorTrait, SortedMultiVec}; use crate::expression::{self, FromTree}; use crate::miniscript::context::{ScriptContext, ScriptContextError}; use crate::policy::{semantic, Liftable}; diff --git a/src/descriptor/sh.rs b/src/descriptor/sh.rs index 7bafd1a04..9e94cc20d 100644 --- a/src/descriptor/sh.rs +++ b/src/descriptor/sh.rs @@ -18,22 +18,21 @@ //! sh(miniscript), and sh(wpkh) //! -use std::{fmt, str::FromStr}; +use std::fmt; +use std::str::FromStr; -use bitcoin::{self, blockdata::script, Script}; +use bitcoin::blockdata::script; +use bitcoin::{self, Script}; -use super::{ - checksum::{desc_checksum, verify_checksum}, - DescriptorTrait, SortedMultiVec, Wpkh, Wsh, -}; +use super::checksum::{desc_checksum, verify_checksum}; +use super::{DescriptorTrait, SortedMultiVec, Wpkh, Wsh}; use crate::expression::{self, FromTree}; use crate::miniscript::context::ScriptContext; use crate::policy::{semantic, Liftable}; -use crate::push_opcode_size; use crate::util::{varint_len, witness_to_scriptsig}; use crate::{ - Error, ForEach, ForEachKey, Legacy, Miniscript, MiniscriptKey, Satisfier, Segwitv0, - ToPublicKey, TranslatePk, + push_opcode_size, Error, ForEach, ForEachKey, Legacy, Miniscript, MiniscriptKey, Satisfier, + Segwitv0, ToPublicKey, TranslatePk, }; /// A Legacy p2sh Descriptor diff --git a/src/descriptor/sortedmulti.rs b/src/descriptor/sortedmulti.rs index d62b838a7..d127cb0ef 100644 --- a/src/descriptor/sortedmulti.rs +++ b/src/descriptor/sortedmulti.rs @@ -16,18 +16,19 @@ //! Implementation of sorted multi primitive for descriptors //! -use std::{fmt, marker::PhantomData, str::FromStr}; +use std::fmt; +use std::marker::PhantomData; +use std::str::FromStr; use bitcoin::blockdata::script; -use crate::expression; -use crate::miniscript::{ - self, context::ScriptContext, decode::Terminal, limits::MAX_PUBKEYS_PER_MULTISIG, -}; -use crate::policy; -use crate::script_num_size; +use crate::miniscript::self; +use crate::miniscript::context::ScriptContext; +use crate::miniscript::decode::Terminal; +use crate::miniscript::limits::MAX_PUBKEYS_PER_MULTISIG; use crate::{ - errstr, Error, ForEach, ForEachKey, Miniscript, MiniscriptKey, Satisfier, ToPublicKey, + errstr, expression, policy, script_num_size, Error, ForEach, ForEachKey, Miniscript, + MiniscriptKey, Satisfier, ToPublicKey, }; /// Contents of a "sortedmulti" descriptor diff --git a/src/descriptor/tr.rs b/src/descriptor/tr.rs index acedebb8c..2661bae26 100644 --- a/src/descriptor/tr.rs +++ b/src/descriptor/tr.rs @@ -1,9 +1,9 @@ // Tapscript use std::cmp::{self, max}; -use std::hash; +use std::str::FromStr; use std::sync::{Arc, Mutex}; -use std::{fmt, str::FromStr}; +use std::{fmt, hash}; use bitcoin::blockdata::opcodes; use bitcoin::util::taproot::{ @@ -13,15 +13,15 @@ use bitcoin::util::taproot::{ use bitcoin::{self, secp256k1, Script}; use super::checksum::{desc_checksum, verify_checksum}; -use crate::errstr; use crate::expression::{self, FromTree}; use crate::miniscript::Miniscript; use crate::policy::semantic::Policy; use crate::policy::Liftable; use crate::util::{varint_len, witness_size}; -use crate::Tap; -use crate::{DescriptorTrait, ForEach, ForEachKey, Satisfier, ToPublicKey, TranslatePk}; -use crate::{Error, MiniscriptKey}; +use crate::{ + errstr, DescriptorTrait, Error, ForEach, ForEachKey, MiniscriptKey, Satisfier, Tap, + ToPublicKey, TranslatePk, +}; /// A Taproot Tree representation. // Hidden leaves are not yet supported in descriptor spec. Conceptually, it should diff --git a/src/expression.rs b/src/expression.rs index 0271bd093..49ebe9e23 100644 --- a/src/expression.rs +++ b/src/expression.rs @@ -17,9 +17,7 @@ use std::str::FromStr; -use crate::errstr; -use crate::Error; -use crate::MAX_RECURSION_DEPTH; +use crate::{errstr, Error, MAX_RECURSION_DEPTH}; #[derive(Debug)] /// A token of the form `x(...)` or `x` diff --git a/src/interpreter/error.rs b/src/interpreter/error.rs index 2c24069ad..b9041809f 100644 --- a/src/interpreter/error.rs +++ b/src/interpreter/error.rs @@ -14,7 +14,8 @@ use std::{error, fmt}; -use bitcoin::hashes::{hash160, hex::ToHex}; +use bitcoin::hashes::hash160; +use bitcoin::hashes::hex::ToHex; use bitcoin::util::taproot; use bitcoin::{self, secp256k1}; diff --git a/src/interpreter/inner.rs b/src/interpreter/inner.rs index 21815e636..cb720f873 100644 --- a/src/interpreter/inner.rs +++ b/src/interpreter/inner.rs @@ -19,8 +19,7 @@ use bitcoin::util::taproot::{ControlBlock, TAPROOT_ANNEX_PREFIX}; use super::{stack, BitcoinKey, Error, Stack, TypedHash160}; use crate::miniscript::context::{NoChecks, ScriptContext}; -use crate::{BareCtx, Legacy, Segwitv0, Tap}; -use crate::{Miniscript, MiniscriptKey}; +use crate::{BareCtx, Legacy, Miniscript, MiniscriptKey, Segwitv0, Tap}; /// Attempts to parse a slice as a Bitcoin public key, checking compressedness /// if asked to, but otherwise dropping it diff --git a/src/interpreter/mod.rs b/src/interpreter/mod.rs index 5e33b91c2..8f1214150 100644 --- a/src/interpreter/mod.rs +++ b/src/interpreter/mod.rs @@ -30,9 +30,7 @@ use bitcoin::{self, secp256k1, TxOut}; use crate::miniscript::context::NoChecks; use crate::miniscript::ScriptContext; -use crate::Miniscript; -use crate::Terminal; -use crate::{Descriptor, ToPublicKey}; +use crate::{Descriptor, Miniscript, Terminal, ToPublicKey}; mod error; mod inner; @@ -1037,9 +1035,7 @@ mod tests { use super::inner::ToNoChecks; use super::*; use crate::miniscript::context::NoChecks; - use crate::Miniscript; - use crate::MiniscriptKey; - use crate::ToPublicKey; + use crate::{Miniscript, MiniscriptKey, ToPublicKey}; fn setup_keys_sigs( n: usize, diff --git a/src/lib.rs b/src/lib.rs index fd3b9d7b8..78351068d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -122,7 +122,8 @@ use std::{error, fmt, hash, str}; use bitcoin::blockdata::{opcodes, script}; use bitcoin::hashes::{hash160, sha256, Hash}; -pub use crate::descriptor::pretaproot::{traits::PreTaprootDescriptorTrait, PreTaprootDescriptor}; +pub use crate::descriptor::pretaproot::traits::PreTaprootDescriptorTrait; +pub use crate::descriptor::pretaproot::PreTaprootDescriptor; pub use crate::descriptor::{Descriptor, DescriptorPublicKey, DescriptorTrait}; pub use crate::interpreter::Interpreter; pub use crate::miniscript::context::{BareCtx, Legacy, ScriptContext, Segwitv0, Tap}; diff --git a/src/miniscript/analyzable.rs b/src/miniscript/analyzable.rs index 03e40f0de..161cfb54c 100644 --- a/src/miniscript/analyzable.rs +++ b/src/miniscript/analyzable.rs @@ -20,9 +20,8 @@ use std::collections::HashSet; use std::fmt; -use crate::error; use crate::miniscript::iter::PkPkh; -use crate::{Miniscript, MiniscriptKey, ScriptContext}; +use crate::{error, Miniscript, MiniscriptKey, ScriptContext}; /// Possible reasons Miniscript guarantees can fail /// We currently mark Miniscript as Non-Analyzable if /// 1. It is unsafe(does not require a digital signature to spend it) diff --git a/src/miniscript/astelem.rs b/src/miniscript/astelem.rs index 515e81cdf..0d43f9928 100644 --- a/src/miniscript/astelem.rs +++ b/src/miniscript/astelem.rs @@ -27,15 +27,13 @@ use bitcoin::blockdata::{opcodes, script}; use bitcoin::hashes::hex::FromHex; use bitcoin::hashes::{hash160, ripemd160, sha256, sha256d, Hash}; -use crate::errstr; -use crate::expression; use crate::miniscript::context::SigType; use crate::miniscript::types::{self, Property}; use crate::miniscript::ScriptContext; -use crate::script_num_size; use crate::util::MsKeyBuilder; use crate::{ - Error, ForEach, ForEachKey, Miniscript, MiniscriptKey, Terminal, ToPublicKey, TranslatePk, + errstr, expression, script_num_size, Error, ForEach, ForEachKey, Miniscript, MiniscriptKey, + Terminal, ToPublicKey, TranslatePk, }; impl Terminal { diff --git a/src/miniscript/context.rs b/src/miniscript/context.rs index ea78a6952..72dc503e4 100644 --- a/src/miniscript/context.rs +++ b/src/miniscript/context.rs @@ -25,8 +25,7 @@ use crate::miniscript::limits::{ }; use crate::miniscript::types; use crate::util::witness_to_scriptsig; -use crate::Error; -use crate::{Miniscript, MiniscriptKey, Terminal}; +use crate::{Error, Miniscript, MiniscriptKey, Terminal}; /// Error for Script Context #[derive(Clone, PartialEq, Eq, Debug)] diff --git a/src/miniscript/decode.rs b/src/miniscript/decode.rs index 5ab28053b..a63401cf2 100644 --- a/src/miniscript/decode.rs +++ b/src/miniscript/decode.rs @@ -27,13 +27,9 @@ use bitcoin::hashes::{hash160, ripemd160, sha256, sha256d, Hash}; use crate::miniscript::lex::{Token as Tk, TokenIter}; use crate::miniscript::limits::MAX_PUBKEYS_PER_MULTISIG; use crate::miniscript::types::extra_props::ExtData; -use crate::miniscript::types::Property; -use crate::miniscript::types::Type; +use crate::miniscript::types::{Property, Type}; use crate::miniscript::ScriptContext; -use crate::Error; -use crate::MiniscriptKey; -use crate::ToPublicKey; -use crate::{bitcoin, Miniscript}; +use crate::{bitcoin, Error, Miniscript, MiniscriptKey, ToPublicKey}; fn return_none(_: usize) -> Option { None diff --git a/src/miniscript/mod.rs b/src/miniscript/mod.rs index 42267ab80..3ade842d8 100644 --- a/src/miniscript/mod.rs +++ b/src/miniscript/mod.rs @@ -51,8 +51,7 @@ pub use crate::miniscript::context::ScriptContext; use crate::miniscript::decode::Terminal; use crate::miniscript::types::extra_props::ExtData; use crate::miniscript::types::Type; -use crate::MiniscriptKey; -use crate::{expression, Error, ForEach, ForEachKey, ToPublicKey, TranslatePk}; +use crate::{expression, Error, ForEach, ForEachKey, MiniscriptKey, ToPublicKey, TranslatePk}; #[cfg(test)] mod ms_tests; @@ -473,15 +472,14 @@ mod tests { use bitcoin::util::taproot::TapLeafHash; use bitcoin::{self, secp256k1}; - use super::{Miniscript, ScriptContext}; - use super::{Segwitv0, Tap}; - use crate::hex_script; + use super::{Miniscript, ScriptContext, Segwitv0, Tap}; use crate::miniscript::types::{self, ExtData, Property, Type}; use crate::miniscript::Terminal; use crate::policy::Liftable; - use crate::TranslatePk2; - use crate::{DummyKey, DummyKeyHash, MiniscriptKey, TranslatePk, TranslatePk1}; - use crate::{Satisfier, ToPublicKey}; + use crate::{ + hex_script, DummyKey, DummyKeyHash, MiniscriptKey, Satisfier, ToPublicKey, TranslatePk, + TranslatePk1, TranslatePk2, + }; type Segwitv0Script = Miniscript; type Tapscript = Miniscript; diff --git a/src/miniscript/ms_tests.rs b/src/miniscript/ms_tests.rs index ee09fc424..ac456aaf4 100644 --- a/src/miniscript/ms_tests.rs +++ b/src/miniscript/ms_tests.rs @@ -20,7 +20,8 @@ mod tests { use std::fmt; - use crate::{miniscript::types, Miniscript, Segwitv0}; + use crate::miniscript::types; + use crate::{Miniscript, Segwitv0}; struct TestType(types::Type); diff --git a/src/miniscript/satisfy.rs b/src/miniscript/satisfy.rs index c0d29e1cd..b82010054 100644 --- a/src/miniscript/satisfy.rs +++ b/src/miniscript/satisfy.rs @@ -31,10 +31,7 @@ use crate::miniscript::limits::{ HEIGHT_TIME_THRESHOLD, SEQUENCE_LOCKTIME_DISABLE_FLAG, SEQUENCE_LOCKTIME_TYPE_FLAG, }; use crate::util::witness_size; -use crate::Miniscript; -use crate::ScriptContext; -use crate::Terminal; -use crate::{MiniscriptKey, ToPublicKey}; +use crate::{Miniscript, MiniscriptKey, ScriptContext, Terminal, ToPublicKey}; /// Type alias for 32 byte Preimage. pub type Preimage32 = [u8; 32]; diff --git a/src/miniscript/types/extra_props.rs b/src/miniscript/types/extra_props.rs index 02c0187d1..bd7b51840 100644 --- a/src/miniscript/types/extra_props.rs +++ b/src/miniscript/types/extra_props.rs @@ -8,9 +8,7 @@ use super::{Error, ErrorKind, Property, ScriptContext}; use crate::miniscript::limits::{ HEIGHT_TIME_THRESHOLD, SEQUENCE_LOCKTIME_DISABLE_FLAG, SEQUENCE_LOCKTIME_TYPE_FLAG, }; -use crate::script_num_size; -use crate::MiniscriptKey; -use crate::Terminal; +use crate::{script_num_size, MiniscriptKey, Terminal}; /// Helper struct Whether any satisfaction of this fragment contains any timelocks #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Debug, Hash)] diff --git a/src/miniscript/types/mod.rs b/src/miniscript/types/mod.rs index ffc88b5fc..304cff302 100644 --- a/src/miniscript/types/mod.rs +++ b/src/miniscript/types/mod.rs @@ -25,9 +25,9 @@ use std::{error, fmt}; pub use self::correctness::{Base, Correctness, Input}; pub use self::extra_props::ExtData; pub use self::malleability::{Dissat, Malleability}; -use super::{limits::SEQUENCE_LOCKTIME_DISABLE_FLAG, ScriptContext}; -use crate::MiniscriptKey; -use crate::Terminal; +use super::limits::SEQUENCE_LOCKTIME_DISABLE_FLAG; +use super::ScriptContext; +use crate::{MiniscriptKey, Terminal}; /// None-returning function to help type inference when we need a /// closure that simply returns `None` diff --git a/src/policy/compiler.rs b/src/policy/compiler.rs index a9c2bffc3..9a7b988d0 100644 --- a/src/policy/compiler.rs +++ b/src/policy/compiler.rs @@ -20,10 +20,9 @@ use std::collections::vec_deque::VecDeque; use std::collections::BTreeMap; use std::convert::From; -use std::hash; use std::marker::PhantomData; use std::sync::Arc; -use std::{cmp, error, f64, fmt, mem}; +use std::{cmp, error, f64, fmt, hash, mem}; use crate::miniscript::limits::MAX_PUBKEYS_PER_MULTISIG; use crate::miniscript::types::{self, ErrorKind, ExtData, Property, Type}; diff --git a/src/policy/concrete.rs b/src/policy/concrete.rs index bd7852739..c488f4f24 100644 --- a/src/policy/concrete.rs +++ b/src/policy/concrete.rs @@ -22,7 +22,6 @@ use bitcoin::hashes::hex::FromHex; use bitcoin::hashes::{hash160, ripemd160, sha256, sha256d}; use super::ENTAILMENT_MAX_TERMINALS; -use crate::errstr; use crate::expression::{self, FromTree}; use crate::miniscript::limits::{HEIGHT_TIME_THRESHOLD, SEQUENCE_LOCKTIME_TYPE_FLAG}; use crate::miniscript::types::extra_props::TimeLockInfo; @@ -34,7 +33,7 @@ use crate::policy::compiler; use crate::policy::compiler::CompilerError; #[cfg(feature = "compiler")] use crate::Miniscript; -use crate::{Error, ForEach, ForEachKey, MiniscriptKey}; +use crate::{errstr, Error, ForEach, ForEachKey, MiniscriptKey}; /// Concrete policy which corresponds directly to a Miniscript structure, /// and whose disjunctions are annotated with satisfaction probabilities /// to assist the compiler diff --git a/src/policy/mod.rs b/src/policy/mod.rs index 253c37385..5c3c48d8d 100644 --- a/src/policy/mod.rs +++ b/src/policy/mod.rs @@ -34,9 +34,7 @@ pub use self::concrete::Policy as Concrete; pub use self::semantic::Policy as Semantic; use crate::descriptor::Descriptor; use crate::miniscript::{Miniscript, ScriptContext}; -use crate::Error; -use crate::MiniscriptKey; -use crate::Terminal; +use crate::{Error, MiniscriptKey, Terminal}; /// Policy entailment algorithm maximum number of terminals allowed const ENTAILMENT_MAX_TERMINALS: usize = 20; @@ -231,10 +229,9 @@ mod tests { use bitcoin; - use super::{ - super::miniscript::{context::Segwitv0, Miniscript}, - Concrete, Liftable, Semantic, - }; + use super::super::miniscript::context::Segwitv0; + use super::super::miniscript::Miniscript; + use super::{Concrete, Liftable, Semantic}; use crate::DummyKey; type ConcretePol = Concrete; diff --git a/src/policy/semantic.rs b/src/policy/semantic.rs index 8738b6bcb..69b0eff34 100644 --- a/src/policy/semantic.rs +++ b/src/policy/semantic.rs @@ -22,9 +22,7 @@ use bitcoin::hashes::{hash160, ripemd160, sha256, sha256d}; use super::concrete::PolicyError; use super::ENTAILMENT_MAX_TERMINALS; -use crate::errstr; -use crate::Error; -use crate::{expression, ForEach, ForEachKey, MiniscriptKey}; +use crate::{errstr, expression, Error, ForEach, ForEachKey, MiniscriptKey}; /// Abstract policy which corresponds to the semantics of a Miniscript /// and which allows complex forms of analysis, e.g. filtering and diff --git a/src/psbt/finalizer.rs b/src/psbt/finalizer.rs index 5bfbfed8a..a0aa840bd 100644 --- a/src/psbt/finalizer.rs +++ b/src/psbt/finalizer.rs @@ -28,15 +28,10 @@ use bitcoin::util::sighash::Prevouts; use bitcoin::util::taproot::LeafVersion; use bitcoin::{self, PublicKey, Script, TxOut}; -use super::{sanity_check, Psbt}; -use super::{Error, InputError, PsbtInputSatisfier}; +use super::{sanity_check, Error, InputError, Psbt, PsbtInputSatisfier}; use crate::descriptor::DescriptorTrait; -use crate::interpreter; use crate::util::witness_size; -use crate::Descriptor; -use crate::Miniscript; -use crate::Satisfier; -use crate::{BareCtx, Legacy, Segwitv0, Tap}; +use crate::{interpreter, BareCtx, Descriptor, Legacy, Miniscript, Satisfier, Segwitv0, Tap}; // Satisfy the taproot descriptor. It is not possible to infer the complete // descriptor from psbt because the information about all the scripts might not diff --git a/src/psbt/mod.rs b/src/psbt/mod.rs index 9df061701..c9cb7df42 100644 --- a/src/psbt/mod.rs +++ b/src/psbt/mod.rs @@ -28,19 +28,14 @@ use bitcoin::secp256k1::{self, Secp256k1}; use bitcoin::util::psbt::{self, PartiallySignedTransaction as Psbt}; use bitcoin::util::sighash::SighashCache; use bitcoin::util::taproot::{self, ControlBlock, LeafVersion, TapLeafHash}; -use bitcoin::{self, SchnorrSighashType}; -use bitcoin::{EcdsaSighashType, Script}; +use bitcoin::{self, EcdsaSighashType, SchnorrSighashType, Script}; -use crate::descriptor; -use crate::interpreter; use crate::miniscript::iter::PkPkh; use crate::miniscript::limits::SEQUENCE_LOCKTIME_DISABLE_FLAG; use crate::miniscript::satisfy::{After, Older}; -use crate::Preimage32; -use crate::Satisfier; use crate::{ - Descriptor, DescriptorPublicKey, DescriptorTrait, MiniscriptKey, ToPublicKey, TranslatePk, - TranslatePk2, + descriptor, interpreter, Descriptor, DescriptorPublicKey, DescriptorTrait, MiniscriptKey, + Preimage32, Satisfier, ToPublicKey, TranslatePk, TranslatePk2, }; mod finalizer;