From 80620166e6372b0801850edcd6c103718467ebfe Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Tue, 10 May 2022 14:26:16 +1000 Subject: [PATCH] Configure imports_granularity Configure `imports_granularity = "Module"`. The benefit of this option is that it increases uniformity in the code base over the default "Preserve" and also, from my personal experience, it tends to reduce the noise in diffs from adding/removing imports. --- examples/parse.rs | 3 ++- rustfmt.toml | 2 +- src/descriptor/bare.rs | 12 ++++++------ src/descriptor/key.rs | 18 ++++++++---------- src/descriptor/mod.rs | 18 +++++++----------- src/descriptor/pretaproot.rs | 15 ++++++--------- src/descriptor/segwitv0.rs | 9 ++++----- src/descriptor/sh.rs | 17 ++++++++--------- src/descriptor/sortedmulti.rs | 16 ++++++++-------- src/descriptor/tr.rs | 12 ++++++------ src/expression.rs | 4 +--- src/interpreter/error.rs | 3 ++- src/interpreter/inner.rs | 3 +-- src/interpreter/mod.rs | 8 ++------ src/lib.rs | 3 ++- src/miniscript/analyzable.rs | 3 +-- src/miniscript/astelem.rs | 6 ++---- src/miniscript/context.rs | 3 +-- src/miniscript/decode.rs | 8 ++------ src/miniscript/mod.rs | 14 ++++++-------- src/miniscript/ms_tests.rs | 3 ++- src/miniscript/satisfy.rs | 5 +---- src/miniscript/types/extra_props.rs | 4 +--- src/miniscript/types/mod.rs | 6 +++--- src/policy/compiler.rs | 3 +-- src/policy/concrete.rs | 3 +-- src/policy/mod.rs | 11 ++++------- src/policy/semantic.rs | 4 +--- src/psbt/finalizer.rs | 9 ++------- src/psbt/mod.rs | 11 +++-------- 30 files changed, 95 insertions(+), 141 deletions(-) diff --git a/examples/parse.rs b/examples/parse.rs index 017d0c91c..3e1db2172 100644 --- a/examples/parse.rs +++ b/examples/parse.rs @@ -16,7 +16,8 @@ use std::str::FromStr; -use miniscript::{descriptor::DescriptorType, Descriptor, DescriptorTrait}; +use miniscript::descriptor::DescriptorType; +use miniscript::{Descriptor, DescriptorTrait}; fn main() { let desc = miniscript::Descriptor::::from_str( 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 ed8407e7c..bb1ee4702 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 9621fe106..bf6ecafc3 100644 --- a/src/descriptor/key.rs +++ b/src/descriptor/key.rs @@ -1,13 +1,11 @@ -use std::{error, fmt, str::FromStr}; - -use bitcoin::{ - self, - hashes::{hash160, Hash}, - hashes::{hex::FromHex, HashEngine}, - secp256k1::{Secp256k1, Signing, Verification}, - util::bip32, - XOnlyPublicKey, XpubIdentifier, -}; +use std::str::FromStr; +use std::{error, fmt}; + +use bitcoin::hashes::hex::FromHex; +use bitcoin::hashes::{hash160, Hash, HashEngine}; +use bitcoin::secp256k1::{Secp256k1, Signing, Verification}; +use bitcoin::util::bip32; +use bitcoin::{self, XOnlyPublicKey, XpubIdentifier}; use crate::{MiniscriptKey, ToPublicKey}; diff --git a/src/descriptor/mod.rs b/src/descriptor/mod.rs index 65a42a3f0..fb6a04c65 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 @@ -874,10 +871,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 8330d2d85..e8c67ff5c 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 c9b2ea5da..4c8d8d003 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 b433fd65d..5f834ea92 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 2ab1a9b48..6ac746042 100644 --- a/src/descriptor/sortedmulti.rs +++ b/src/descriptor/sortedmulti.rs @@ -16,18 +16,18 @@ //! 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::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, miniscript, 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 50d745951..4a3e6a166 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 cc515f241..edab011b7 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 32607f2a9..62f031327 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 828ebbeb4..83657b698 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 56f88916e..6a8019b33 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -114,7 +114,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 2eb2bb2c5..a0dca9d6a 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 diff --git a/src/miniscript/astelem.rs b/src/miniscript/astelem.rs index 07d8bc29e..ea5c2d30c 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 fef238839..fa9c1fd7d 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 3d01d62f4..87ae40fdf 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 9f6ecb0a7..d72a51d9a 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; @@ -479,15 +478,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 05bc46ac4..db24e4c8b 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 9c04f41e0..3979b1de2 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, Default, Hash)] diff --git a/src/miniscript/types/mod.rs b/src/miniscript/types/mod.rs index 507ef28e2..0643b74be 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 77c53171e..a86f56146 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 0dc00ab79..7fb48a1f0 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 0920a136b..220caa223 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; @@ -230,10 +228,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 00bd8580e..de60a3bf4 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 ce17e99f1..bc95bf3be 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 1994310f7..9c23bdf0e 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;