diff --git a/examples/cookbook/src/lib.rs b/examples/cookbook/src/lib.rs index d1962a4b36..79cbace5ba 100644 --- a/examples/cookbook/src/lib.rs +++ b/examples/cookbook/src/lib.rs @@ -87,10 +87,8 @@ mod tests { #[tokio::test] async fn custom_chain() -> Result<()> { - use fuels::prelude::*; // ANCHOR: custom_chain_import - use fuels::fuel_node::ChainConfig; - use fuels::tx::ConsensusParameters; + use fuels::{fuel_node::ChainConfig, prelude::*, tx::ConsensusParameters}; // ANCHOR_END: custom_chain_import // ANCHOR: custom_chain_consensus @@ -188,9 +186,10 @@ mod tests { #[tokio::test] #[cfg(any(not(feature = "fuel-core-lib"), feature = "rocksdb"))] async fn create_or_use_rocksdb() -> Result<()> { - use fuels::prelude::*; use std::path::PathBuf; + use fuels::prelude::*; + // ANCHOR: create_or_use_rocksdb let provider_config = Config { database_path: PathBuf::from("/tmp/.spider/db"), diff --git a/packages/fuels-accounts/src/lib.rs b/packages/fuels-accounts/src/lib.rs index 57dbfa0162..956f13113b 100644 --- a/packages/fuels-accounts/src/lib.rs +++ b/packages/fuels-accounts/src/lib.rs @@ -318,9 +318,9 @@ pub trait Account: ViewOnlyAccount { #[cfg(test)] mod tests { - use fuel_core_client::client::FuelClient; use std::str::FromStr; + use fuel_core_client::client::FuelClient; use fuel_crypto::{Message, SecretKey}; use fuel_tx::{Address, ConsensusParameters, Output}; use fuels_core::types::transaction::Transaction; diff --git a/packages/fuels-code-gen/src/program_bindings/abigen.rs b/packages/fuels-code-gen/src/program_bindings/abigen.rs index cc6b9364b7..71209b06de 100644 --- a/packages/fuels-code-gen/src/program_bindings/abigen.rs +++ b/packages/fuels-code-gen/src/program_bindings/abigen.rs @@ -1,6 +1,7 @@ -use std::collections::HashSet; +use std::{collections::HashSet, path::PathBuf}; pub use abigen_target::{AbigenTarget, ProgramType}; +use fuel_abi_types::abi::full_program::FullTypeDeclaration; use inflector::Inflector; use itertools::Itertools; use proc_macro2::TokenStream; @@ -17,8 +18,6 @@ use crate::{ utils::ident, }; -use fuel_abi_types::abi::full_program::FullTypeDeclaration; - mod abigen_target; mod bindings; mod configurables; @@ -103,10 +102,30 @@ impl Abigen { ) -> Result { let mod_name = ident(&format!("{}_mod", &target.name.to_snake_case())); - let types = generate_types(&target.source.types, shared_types, no_std)?; + let recompile_trigger = + Self::generate_macro_recompile_trigger(target.source.path.as_ref(), no_std); + let types = generate_types(&target.source.abi.types, shared_types, no_std)?; let bindings = generate_bindings(target, no_std)?; + Ok(recompile_trigger + .merge(types) + .merge(bindings) + .wrap_in_mod(mod_name)) + } - Ok(types.merge(bindings).wrap_in_mod(mod_name)) + /// Any changes to the file pointed to by `path` will cause the reevaluation of the current + /// procedural macro. This is a hack until https://github.com/rust-lang/rust/issues/99515 + /// lands. + fn generate_macro_recompile_trigger(path: Option<&PathBuf>, no_std: bool) -> GeneratedCode { + let code = path + .as_ref() + .map(|path| { + let stringified_path = path.display().to_string(); + quote! { + const _: &[u8] = include_bytes!(#stringified_path); + } + }) + .unwrap_or_default(); + GeneratedCode::new(code, Default::default(), no_std) } fn parse_targets(targets: Vec) -> Result> { @@ -135,7 +154,7 @@ impl Abigen { ) -> impl Iterator { all_types .iter() - .flat_map(|target| &target.source.types) + .flat_map(|target| &target.source.abi.types) .filter(|ttype| ttype.is_custom_type()) } diff --git a/packages/fuels-code-gen/src/program_bindings/abigen/abigen_target.rs b/packages/fuels-code-gen/src/program_bindings/abigen/abigen_target.rs index 3dc4f1d1fc..d8a1595b8f 100644 --- a/packages/fuels-code-gen/src/program_bindings/abigen/abigen_target.rs +++ b/packages/fuels-code-gen/src/program_bindings/abigen/abigen_target.rs @@ -1,5 +1,6 @@ -use std::{convert::TryFrom, str::FromStr}; +use std::{convert::TryFrom, path::PathBuf, str::FromStr}; +use fuel_abi_types::abi::full_program::FullProgramABI; use proc_macro2::Ident; use crate::{ @@ -8,8 +9,6 @@ use crate::{ utils::Source, }; -use fuel_abi_types::abi::full_program::FullProgramABI; - #[derive(Debug, Clone)] pub struct AbigenTarget { pub name: String, @@ -17,9 +16,14 @@ pub struct AbigenTarget { pub program_type: ProgramType, } +pub(crate) struct Abi { + pub(crate) path: Option, + pub(crate) abi: FullProgramABI, +} + pub(crate) struct ParsedAbigenTarget { pub name: String, - pub source: FullProgramABI, + pub source: Abi, pub program_type: ProgramType, } @@ -35,10 +39,13 @@ impl TryFrom for ParsedAbigenTarget { } } -fn parse_program_abi(abi_source: &str) -> Result { +fn parse_program_abi(abi_source: &str) -> Result { let source = Source::parse(abi_source).expect("failed to parse JSON ABI"); + let json_abi_str = source.get().expect("failed to parse JSON ABI from string"); - FullProgramABI::from_json_abi(&json_abi_str).map_err(|e| e.into()) + let abi = FullProgramABI::from_json_abi(&json_abi_str)?; + let path = source.path(); + Ok(Abi { path, abi }) } #[derive(Debug, Clone, Copy, PartialEq, Eq)] diff --git a/packages/fuels-code-gen/src/program_bindings/abigen/bindings.rs b/packages/fuels-code-gen/src/program_bindings/abigen/bindings.rs index 864a9c3544..68a85d697e 100644 --- a/packages/fuels-code-gen/src/program_bindings/abigen/bindings.rs +++ b/packages/fuels-code-gen/src/program_bindings/abigen/bindings.rs @@ -27,6 +27,6 @@ pub(crate) fn generate_bindings(target: ParsedAbigenTarget, no_std: bool) -> Res }; let name = ident(&target.name); - let abi = target.source; + let abi = target.source.abi; bindings_generator(&name, abi, no_std) } diff --git a/packages/fuels-code-gen/src/program_bindings/abigen/bindings/contract.rs b/packages/fuels-code-gen/src/program_bindings/abigen/bindings/contract.rs index 4e8996bde6..1aa7f2d755 100644 --- a/packages/fuels-code-gen/src/program_bindings/abigen/bindings/contract.rs +++ b/packages/fuels-code-gen/src/program_bindings/abigen/bindings/contract.rs @@ -1,3 +1,4 @@ +use fuel_abi_types::abi::full_program::{FullABIFunction, FullProgramABI}; use itertools::Itertools; use proc_macro2::{Ident, TokenStream}; use quote::{quote, TokenStreamExt}; @@ -15,8 +16,6 @@ use crate::{ utils::{ident, TypePath}, }; -use fuel_abi_types::abi::full_program::{FullABIFunction, FullProgramABI}; - pub(crate) fn contract_bindings( name: &Ident, abi: FullProgramABI, diff --git a/packages/fuels-code-gen/src/program_bindings/abigen/bindings/function_generator.rs b/packages/fuels-code-gen/src/program_bindings/abigen/bindings/function_generator.rs index 37f3a2d5ae..9304a9ffa2 100644 --- a/packages/fuels-code-gen/src/program_bindings/abigen/bindings/function_generator.rs +++ b/packages/fuels-code-gen/src/program_bindings/abigen/bindings/function_generator.rs @@ -1,3 +1,4 @@ +use fuel_abi_types::abi::full_program::{FullABIFunction, FullTypeApplication}; use proc_macro2::TokenStream; use quote::{quote, ToTokens}; @@ -10,8 +11,6 @@ use crate::{ utils::{safe_ident, TypePath}, }; -use fuel_abi_types::abi::full_program::{FullABIFunction, FullTypeApplication}; - #[derive(Debug)] pub(crate) struct FunctionGenerator { name: String, diff --git a/packages/fuels-code-gen/src/program_bindings/abigen/bindings/predicate.rs b/packages/fuels-code-gen/src/program_bindings/abigen/bindings/predicate.rs index 6fe41983e1..57a50452ed 100644 --- a/packages/fuels-code-gen/src/program_bindings/abigen/bindings/predicate.rs +++ b/packages/fuels-code-gen/src/program_bindings/abigen/bindings/predicate.rs @@ -1,3 +1,4 @@ +use fuel_abi_types::abi::full_program::FullProgramABI; use proc_macro2::{Ident, TokenStream}; use quote::quote; @@ -13,8 +14,6 @@ use crate::{ utils::{ident, TypePath}, }; -use fuel_abi_types::abi::full_program::FullProgramABI; - pub(crate) fn predicate_bindings( name: &Ident, abi: FullProgramABI, diff --git a/packages/fuels-code-gen/src/program_bindings/abigen/bindings/script.rs b/packages/fuels-code-gen/src/program_bindings/abigen/bindings/script.rs index e4d36aaff6..47d7e9cd57 100644 --- a/packages/fuels-code-gen/src/program_bindings/abigen/bindings/script.rs +++ b/packages/fuels-code-gen/src/program_bindings/abigen/bindings/script.rs @@ -1,3 +1,4 @@ +use fuel_abi_types::abi::full_program::FullProgramABI; use proc_macro2::{Ident, TokenStream}; use quote::quote; @@ -14,8 +15,6 @@ use crate::{ utils::{ident, TypePath}, }; -use fuel_abi_types::abi::full_program::FullProgramABI; - pub(crate) fn script_bindings( name: &Ident, abi: FullProgramABI, diff --git a/packages/fuels-code-gen/src/program_bindings/abigen/bindings/utils.rs b/packages/fuels-code-gen/src/program_bindings/abigen/bindings/utils.rs index 424d69e823..8b17b50c8c 100644 --- a/packages/fuels-code-gen/src/program_bindings/abigen/bindings/utils.rs +++ b/packages/fuels-code-gen/src/program_bindings/abigen/bindings/utils.rs @@ -1,7 +1,7 @@ -use crate::error::{error, Result}; - use fuel_abi_types::abi::full_program::FullABIFunction; +use crate::error::{error, Result}; + pub(crate) fn extract_main_fn(abi: &[FullABIFunction]) -> Result<&FullABIFunction> { let candidates = abi .iter() @@ -24,9 +24,10 @@ pub(crate) fn extract_main_fn(abi: &[FullABIFunction]) -> Result<&FullABIFunctio #[cfg(test)] mod tests { - use super::*; use fuel_abi_types::abi::full_program::{FullTypeApplication, FullTypeDeclaration}; + use super::*; + #[test] fn correctly_extracts_the_main_fn() { let functions = ["fn_1", "main", "fn_2"].map(given_a_fun_named); diff --git a/packages/fuels-code-gen/src/program_bindings/abigen/configurables.rs b/packages/fuels-code-gen/src/program_bindings/abigen/configurables.rs index 4c139b7ed5..b42eee5eb4 100644 --- a/packages/fuels-code-gen/src/program_bindings/abigen/configurables.rs +++ b/packages/fuels-code-gen/src/program_bindings/abigen/configurables.rs @@ -1,3 +1,4 @@ +use fuel_abi_types::abi::full_program::FullConfigurable; use proc_macro2::{Ident, TokenStream}; use quote::quote; @@ -7,8 +8,6 @@ use crate::{ utils::safe_ident, }; -use fuel_abi_types::abi::full_program::FullConfigurable; - #[derive(Debug)] pub(crate) struct ResolvedConfigurable { pub name: Ident, diff --git a/packages/fuels-code-gen/src/program_bindings/abigen/logs.rs b/packages/fuels-code-gen/src/program_bindings/abigen/logs.rs index 61c3587abd..15b476029c 100644 --- a/packages/fuels-code-gen/src/program_bindings/abigen/logs.rs +++ b/packages/fuels-code-gen/src/program_bindings/abigen/logs.rs @@ -1,10 +1,9 @@ +use fuel_abi_types::abi::full_program::FullLoggedType; use proc_macro2::TokenStream; use quote::quote; use crate::program_bindings::resolved_type::TypeResolver; -use fuel_abi_types::abi::full_program::FullLoggedType; - pub(crate) fn log_formatters_instantiation_code( contract_id: TokenStream, logged_types: &[FullLoggedType], diff --git a/packages/fuels-code-gen/src/program_bindings/custom_types.rs b/packages/fuels-code-gen/src/program_bindings/custom_types.rs index b78c12c3c9..bbd5706165 100644 --- a/packages/fuels-code-gen/src/program_bindings/custom_types.rs +++ b/packages/fuels-code-gen/src/program_bindings/custom_types.rs @@ -1,5 +1,6 @@ use std::collections::HashSet; +use fuel_abi_types::abi::full_program::FullTypeDeclaration; use itertools::Itertools; use quote::quote; @@ -13,8 +14,6 @@ use crate::{ utils::TypePath, }; -use fuel_abi_types::abi::full_program::FullTypeDeclaration; - mod enums; mod structs; mod utils; diff --git a/packages/fuels-code-gen/src/program_bindings/custom_types/enums.rs b/packages/fuels-code-gen/src/program_bindings/custom_types/enums.rs index 0a6c1cf8a9..4c03d7a713 100644 --- a/packages/fuels-code-gen/src/program_bindings/custom_types/enums.rs +++ b/packages/fuels-code-gen/src/program_bindings/custom_types/enums.rs @@ -1,5 +1,6 @@ use std::collections::HashSet; +use fuel_abi_types::abi::full_program::FullTypeDeclaration; use proc_macro2::{Ident, TokenStream}; use quote::quote; @@ -12,8 +13,6 @@ use crate::{ }, }; -use fuel_abi_types::abi::full_program::FullTypeDeclaration; - /// Returns a TokenStream containing the declaration, `Parameterize`, /// `Tokenizable` and `TryFrom` implementations for the enum described by the /// given TypeDeclaration. diff --git a/packages/fuels-code-gen/src/program_bindings/custom_types/structs.rs b/packages/fuels-code-gen/src/program_bindings/custom_types/structs.rs index 01f8e26dde..07e90960fa 100644 --- a/packages/fuels-code-gen/src/program_bindings/custom_types/structs.rs +++ b/packages/fuels-code-gen/src/program_bindings/custom_types/structs.rs @@ -1,5 +1,6 @@ use std::collections::HashSet; +use fuel_abi_types::abi::full_program::FullTypeDeclaration; use proc_macro2::{Ident, TokenStream}; use quote::quote; @@ -12,8 +13,6 @@ use crate::{ }, }; -use fuel_abi_types::abi::full_program::FullTypeDeclaration; - /// Returns a TokenStream containing the declaration, `Parameterize`, /// `Tokenizable` and `TryFrom` implementations for the struct described by the /// given TypeDeclaration. diff --git a/packages/fuels-code-gen/src/program_bindings/custom_types/utils.rs b/packages/fuels-code-gen/src/program_bindings/custom_types/utils.rs index 1b99581928..03bdd2885a 100644 --- a/packages/fuels-code-gen/src/program_bindings/custom_types/utils.rs +++ b/packages/fuels-code-gen/src/program_bindings/custom_types/utils.rs @@ -1,14 +1,12 @@ -use fuel_abi_types::utils::extract_generic_name; +use fuel_abi_types::{ + abi::full_program::FullTypeDeclaration, + utils::{extract_generic_name, ident, TypePath}, +}; use proc_macro2::TokenStream; use quote::quote; use crate::{error::Result, program_bindings::utils::Component}; -use fuel_abi_types::{ - abi::full_program::FullTypeDeclaration, - utils::{ident, TypePath}, -}; - /// Transforms components from inside the given `FullTypeDeclaration` into a vector /// of `Components`. Will fail if there are no components. pub(crate) fn extract_components( diff --git a/packages/fuels-code-gen/src/program_bindings/utils.rs b/packages/fuels-code-gen/src/program_bindings/utils.rs index a5f42ed882..c0295a8e68 100644 --- a/packages/fuels-code-gen/src/program_bindings/utils.rs +++ b/packages/fuels-code-gen/src/program_bindings/utils.rs @@ -1,5 +1,6 @@ use std::collections::HashMap; +use fuel_abi_types::abi::full_program::FullTypeApplication; use inflector::Inflector; use proc_macro2::{Ident, TokenStream}; use quote::{quote, ToTokens}; @@ -10,8 +11,6 @@ use crate::{ utils::{safe_ident, TypePath}, }; -use fuel_abi_types::abi::full_program::FullTypeApplication; - // Represents a component of either a struct(field name) or an enum(variant // name). #[derive(Debug)] @@ -69,9 +68,10 @@ pub(crate) fn single_param_type_call(field_type: &ResolvedType) -> TokenStream { #[cfg(test)] mod tests { - use super::*; use fuel_abi_types::abi::full_program::FullTypeDeclaration; + use super::*; + #[test] fn respects_snake_case_flag() -> Result<()> { let type_application = type_application_named("WasNotSnakeCased"); diff --git a/packages/fuels-code-gen/src/utils/source.rs b/packages/fuels-code-gen/src/utils/source.rs index 2b4b9e1b04..63d479ef2c 100644 --- a/packages/fuels-code-gen/src/utils/source.rs +++ b/packages/fuels-code-gen/src/utils/source.rs @@ -64,13 +64,20 @@ impl Source { /// Retrieves the source JSON of the artifact this will either read the JSON /// from the file system or retrieve a contract ABI from the network - /// dependending on the source type. + /// depending on the source type. pub fn get(&self) -> Result { match self { Source::Local(path) => get_local_contract(path), Source::String(abi) => Ok(abi.clone()), } } + + pub fn path(&self) -> Option { + match self { + Source::Local(path) => Some(path.clone()), + _ => None, + } + } } fn get_local_contract(path: &Path) -> Result { diff --git a/packages/fuels-core/src/types.rs b/packages/fuels-core/src/types.rs index 298a4352f0..ece05d48ff 100644 --- a/packages/fuels-core/src/types.rs +++ b/packages/fuels-core/src/types.rs @@ -1,10 +1,8 @@ use std::fmt; pub use fuel_tx::{Address, AssetId, ContractId, TxPointer, UtxoId}; -pub use fuel_types::Nonce; - use fuel_types::bytes::padded_len; -pub use fuel_types::MessageId; +pub use fuel_types::{MessageId, Nonce}; pub use crate::types::{core::*, wrappers::*}; use crate::types::{ diff --git a/packages/fuels-core/src/types/wrappers/block.rs b/packages/fuels-core/src/types/wrappers/block.rs index 6f2a66f5de..c9a4e65fb7 100644 --- a/packages/fuels-core/src/types/wrappers/block.rs +++ b/packages/fuels-core/src/types/wrappers/block.rs @@ -1,8 +1,10 @@ #![cfg(feature = "std")] use chrono::{DateTime, NaiveDateTime, Utc}; -use fuel_core_client::client::types::block::{Block as ClientBlock, Header as ClientHeader}; -use fuel_core_client::client::types::primitives::Bytes32; +use fuel_core_client::client::types::{ + block::{Block as ClientBlock, Header as ClientHeader}, + primitives::Bytes32, +}; #[derive(Debug)] pub struct Header { diff --git a/packages/fuels-core/src/types/wrappers/chain_info.rs b/packages/fuels-core/src/types/wrappers/chain_info.rs index 8c31f117ec..5e9d04e400 100644 --- a/packages/fuels-core/src/types/wrappers/chain_info.rs +++ b/packages/fuels-core/src/types/wrappers/chain_info.rs @@ -1,8 +1,10 @@ #![cfg(feature = "std")] +use fuel_core_client::client::types::{ + chain_info::ChainInfo as ClientChainInfo, ConsensusParameters, +}; + use crate::types::block::Block; -use fuel_core_client::client::types::chain_info::ChainInfo as ClientChainInfo; -use fuel_core_client::client::types::ConsensusParameters; #[derive(Debug)] pub struct ChainInfo { diff --git a/packages/fuels-core/src/types/wrappers/message_proof.rs b/packages/fuels-core/src/types/wrappers/message_proof.rs index e48b53bc8e..abdc93e394 100644 --- a/packages/fuels-core/src/types/wrappers/message_proof.rs +++ b/packages/fuels-core/src/types/wrappers/message_proof.rs @@ -1,8 +1,7 @@ #![cfg(feature = "std")] -use fuel_core_client::client::types::primitives::Nonce; use fuel_core_client::client::types::{ - MerkleProof as ClientMerkleProof, MessageProof as ClientMessageProof, + primitives::Nonce, MerkleProof as ClientMerkleProof, MessageProof as ClientMessageProof, }; use fuel_types::Bytes32; diff --git a/packages/fuels-core/src/types/wrappers/transaction_response.rs b/packages/fuels-core/src/types/wrappers/transaction_response.rs index 8b4daf8755..9b3a6e592b 100644 --- a/packages/fuels-core/src/types/wrappers/transaction_response.rs +++ b/packages/fuels-core/src/types/wrappers/transaction_response.rs @@ -7,9 +7,9 @@ use fuel_core_client::client::types::{ TransactionResponse as ClientTransactionResponse, TransactionStatus as ClientTransactionStatus, }; use fuel_tx::Transaction; +use fuel_types::Bytes32; use crate::types::transaction::{CreateTransaction, ScriptTransaction, TransactionType}; -use fuel_types::Bytes32; #[derive(Debug, Clone)] pub struct TransactionResponse { diff --git a/packages/fuels-macros/src/derive/utils.rs b/packages/fuels-macros/src/derive/utils.rs index dc7f8f2adb..e0a078d046 100644 --- a/packages/fuels-macros/src/derive/utils.rs +++ b/packages/fuels-macros/src/derive/utils.rs @@ -13,11 +13,21 @@ pub(crate) fn get_path_from_attr_or( }; let Meta::NameValue(name_value) = &attr.meta else { - return Err(Error::new_spanned(attr.meta.path(), "Expected name='value'")); + return Err(Error::new_spanned( + attr.meta.path(), + "Expected name='value'", + )); }; - let Expr::Lit(ExprLit{lit: Lit::Str(lit_str),..}) = &name_value.value else { - return Err(Error::new_spanned(&name_value.value, "Expected string literal")); + let Expr::Lit(ExprLit { + lit: Lit::Str(lit_str), + .. + }) = &name_value.value + else { + return Err(Error::new_spanned( + &name_value.value, + "Expected string literal", + )); }; TypePath::new(lit_str.value()) diff --git a/packages/fuels-test-helpers/src/node.rs b/packages/fuels-test-helpers/src/node.rs index ce37862a8b..57d4829db8 100644 --- a/packages/fuels-test-helpers/src/node.rs +++ b/packages/fuels-test-helpers/src/node.rs @@ -10,8 +10,7 @@ use std::{ pub use fuel_core_chain_config::ChainConfig; use fuel_core_chain_config::StateConfig; use fuel_core_client::client::FuelClient; -use fuel_types::BlockHeight; -use fuel_types::Word; +use fuel_types::{BlockHeight, Word}; use fuels_core::{ constants::WORD_SIZE, types::{ diff --git a/packages/fuels/tests/contracts.rs b/packages/fuels/tests/contracts.rs index d308de5e69..a86c17d640 100644 --- a/packages/fuels/tests/contracts.rs +++ b/packages/fuels/tests/contracts.rs @@ -1,8 +1,8 @@ -use fuel_core::chain_config::ChainConfig; #[allow(unused_imports)] use std::future::Future; use std::vec; +use fuel_core::chain_config::ChainConfig; use fuels::{ accounts::{predicate::Predicate, Account}, core::codec::{calldata, fn_selector}, @@ -1324,13 +1324,13 @@ async fn low_level_call() -> Result<()> { #[cfg(any(not(feature = "fuel-core-lib"), feature = "rocksdb"))] #[test] fn db_rocksdb() { - use fuels::accounts::fuel_crypto::SecretKey; - use fuels::accounts::wallet::WalletUnlocked; - use fuels::client::{PageDirection, PaginationRequest}; - use fuels::prelude::DEFAULT_COIN_AMOUNT; - use fuels::prelude::{setup_test_provider, Config, DbType, ViewOnlyAccount}; - use std::fs; - use std::str::FromStr; + use std::{fs, str::FromStr}; + + use fuels::{ + accounts::{fuel_crypto::SecretKey, wallet::WalletUnlocked}, + client::{PageDirection, PaginationRequest}, + prelude::{setup_test_provider, Config, DbType, ViewOnlyAccount, DEFAULT_COIN_AMOUNT}, + }; let temp_dir = tempfile::tempdir() .expect("Failed to make tempdir") diff --git a/packages/fuels/tests/providers.rs b/packages/fuels/tests/providers.rs index d10734c41d..d235d78df5 100644 --- a/packages/fuels/tests/providers.rs +++ b/packages/fuels/tests/providers.rs @@ -1,5 +1,4 @@ -use std::ops::Add; -use std::{iter, str::FromStr, vec}; +use std::{iter, ops::Add, str::FromStr, vec}; use chrono::{DateTime, Duration, NaiveDateTime, TimeZone, Utc}; use fuel_core::service::{Config as CoreConfig, FuelService, ServiceTrait}; diff --git a/packages/fuels/tests/wallets.rs b/packages/fuels/tests/wallets.rs index 759b2dd66e..a576e2e7de 100644 --- a/packages/fuels/tests/wallets.rs +++ b/packages/fuels/tests/wallets.rs @@ -1,9 +1,7 @@ use std::iter::repeat; -use fuel_tx::input::coin::CoinSigned; -use fuel_tx::{Bytes32, Input, Output, TxPointer, UtxoId}; -use fuels::prelude::*; -use fuels::types::transaction_builders::ScriptTransactionBuilder; +use fuel_tx::{input::coin::CoinSigned, Bytes32, Input, Output, TxPointer, UtxoId}; +use fuels::{prelude::*, types::transaction_builders::ScriptTransactionBuilder}; use fuels_accounts::wallet::{Wallet, WalletUnlocked}; use fuels_test_helpers::setup_test_provider;