From 6290afba297034798616e7d735fad34428a9e1c1 Mon Sep 17 00:00:00 2001 From: Augusto Hack Date: Mon, 26 Feb 2024 17:33:57 +0100 Subject: [PATCH] clippy: fix String/Vec unecessary import (#479) --- miden-lib/Cargo.toml | 1 + miden-lib/src/accounts/faucets/mod.rs | 2 +- miden-lib/src/accounts/wallets/mod.rs | 7 ++----- miden-lib/src/lib.rs | 4 ++++ miden-lib/src/notes/mod.rs | 4 ++-- miden-lib/src/tests/test_note.rs | 2 +- miden-lib/src/tests/test_prologue.rs | 2 +- miden-lib/src/transaction/errors.rs | 2 +- miden-lib/src/transaction/inputs.rs | 2 +- miden-lib/src/transaction/mod.rs | 3 ++- miden-lib/src/transaction/outputs.rs | 2 +- miden-tx/Cargo.toml | 2 +- miden-tx/src/compiler/mod.rs | 5 +++-- miden-tx/src/error.rs | 1 + miden-tx/src/executor/mod.rs | 1 + miden-tx/src/host/account_delta.rs | 8 ++++---- miden-tx/src/host/mod.rs | 3 ++- miden-tx/src/lib.rs | 10 +++++++++- miden-tx/tests/integration/scripts/p2id.rs | 2 +- miden-tx/tests/integration/scripts/p2idr.rs | 2 +- mock/Cargo.toml | 8 +++++--- mock/src/builders/account.rs | 5 +---- mock/src/builders/account_id.rs | 2 +- mock/src/builders/account_storage.rs | 2 +- mock/src/builders/note.rs | 5 +---- mock/src/lib.rs | 5 +++++ mock/src/mock/block.rs | 6 ++++-- mock/src/mock/chain.rs | 2 +- mock/src/mock/host/mod.rs | 3 ++- mock/src/mock/notes.rs | 2 +- mock/src/mock/transaction.rs | 2 +- mock/src/utils.rs | 10 ++-------- objects/Cargo.toml | 2 +- objects/src/accounts/account_id.rs | 8 ++++++-- objects/src/accounts/code.rs | 4 ++-- objects/src/accounts/data.rs | 1 + objects/src/accounts/delta/mod.rs | 5 ++--- objects/src/accounts/delta/storage.rs | 3 ++- objects/src/accounts/delta/vault.rs | 3 ++- objects/src/accounts/mod.rs | 15 ++++++++------- objects/src/accounts/seed.rs | 5 +++-- objects/src/accounts/storage/mod.rs | 9 ++++++--- objects/src/accounts/storage/slot.rs | 3 ++- objects/src/assets/fungible.rs | 3 ++- objects/src/assets/mod.rs | 4 ++-- objects/src/assets/nonfungible.rs | 5 ++--- objects/src/assets/token_symbol.rs | 4 ++-- objects/src/assets/vault.rs | 8 ++++++-- objects/src/block/header.rs | 7 ++++--- objects/src/block/mod.rs | 2 +- objects/src/errors.rs | 2 +- objects/src/lib.rs | 3 +-- objects/src/notes/assets.rs | 7 +++++-- objects/src/notes/envelope.rs | 3 ++- objects/src/notes/inputs.rs | 7 +++++-- objects/src/notes/mod.rs | 10 ++++------ objects/src/notes/note_id.rs | 2 +- objects/src/notes/nullifier.rs | 4 ++-- objects/src/notes/origin.rs | 7 +++++-- objects/src/transaction/chain_mmr.rs | 5 +++-- objects/src/transaction/inputs.rs | 6 +++--- objects/src/transaction/outputs.rs | 6 +++--- objects/src/transaction/transaction_id.rs | 2 +- objects/src/transaction/tx_args.rs | 2 +- 64 files changed, 156 insertions(+), 118 deletions(-) diff --git a/miden-lib/Cargo.toml b/miden-lib/Cargo.toml index 7c8c08c1e..5b4fcda3f 100644 --- a/miden-lib/Cargo.toml +++ b/miden-lib/Cargo.toml @@ -5,6 +5,7 @@ authors = ["miden contributors"] readme = "README.md" license = "MIT" repository = "https://github.com/0xPolygonMiden/miden-base" +categories = ["no-std"] keywords = ["miden", "program", "stdlib", "transaction", "kernel"] edition = "2021" rust-version = "1.75" diff --git a/miden-lib/src/accounts/faucets/mod.rs b/miden-lib/src/accounts/faucets/mod.rs index fcc2a661d..7316138a5 100644 --- a/miden-lib/src/accounts/faucets/mod.rs +++ b/miden-lib/src/accounts/faucets/mod.rs @@ -2,11 +2,11 @@ use miden_objects::{ accounts::{Account, AccountCode, AccountId, AccountStorage, AccountType, StorageSlotType}, assembly::LibraryPath, assets::{AssetVault, TokenSymbol}, - utils::{string::ToString, vec}, AccountError, Felt, Word, ZERO, }; use super::{AuthScheme, Library, MidenLib, TransactionKernel}; +use crate::utils::{string::*, vec}; // FUNGIBLE FAUCET // ================================================================================================ diff --git a/miden-lib/src/accounts/wallets/mod.rs b/miden-lib/src/accounts/wallets/mod.rs index 3141b2079..f6edae32b 100644 --- a/miden-lib/src/accounts/wallets/mod.rs +++ b/miden-lib/src/accounts/wallets/mod.rs @@ -2,15 +2,12 @@ use miden_objects::{ accounts::{Account, AccountCode, AccountId, AccountStorage, AccountType, StorageSlotType}, assembly::ModuleAst, assets::AssetVault, - utils::{ - format, - string::{String, ToString}, - vec, - }, + utils::format, AccountError, Word, ZERO, }; use super::{AuthScheme, TransactionKernel}; +use crate::utils::{string::*, vec}; // BASIC WALLET // ================================================================================================ diff --git a/miden-lib/src/lib.rs b/miden-lib/src/lib.rs index a2ff6e550..4a066f8a6 100644 --- a/miden-lib/src/lib.rs +++ b/miden-lib/src/lib.rs @@ -18,6 +18,10 @@ pub mod transaction; #[cfg(test)] mod tests; +// RE-EXPORTS +// ================================================================================================ +pub use miden_objects::utils; + // STANDARD LIBRARY // ================================================================================================ diff --git a/miden-lib/src/notes/mod.rs b/miden-lib/src/notes/mod.rs index 05b2befdb..70f2dd28e 100644 --- a/miden-lib/src/notes/mod.rs +++ b/miden-lib/src/notes/mod.rs @@ -1,6 +1,6 @@ use miden_objects::{ - accounts::AccountId, assets::Asset, crypto::rand::FeltRng, notes::Note, - utils::collections::Vec, Felt, NoteError, Word, + accounts::AccountId, assets::Asset, crypto::rand::FeltRng, notes::Note, utils::collections::*, + Felt, NoteError, Word, }; use self::utils::build_note_script; diff --git a/miden-lib/src/tests/test_note.rs b/miden-lib/src/tests/test_note.rs index e1bbc8e71..bd7bf45c6 100644 --- a/miden-lib/src/tests/test_note.rs +++ b/miden-lib/src/tests/test_note.rs @@ -1,7 +1,7 @@ use miden_objects::{ notes::Note, transaction::{PreparedTransaction, TransactionArgs}, - utils::collections::BTreeMap, + utils::collections::*, WORD_SIZE, }; use mock::{ diff --git a/miden-lib/src/tests/test_prologue.rs b/miden-lib/src/tests/test_prologue.rs index c5b494fc0..b0f3026a2 100644 --- a/miden-lib/src/tests/test_prologue.rs +++ b/miden-lib/src/tests/test_prologue.rs @@ -1,7 +1,7 @@ use miden_objects::{ assembly::ProgramAst, transaction::{PreparedTransaction, TransactionArgs, TransactionScript}, - utils::collections::BTreeMap, + utils::collections::*, Digest, }; use mock::{ diff --git a/miden-lib/src/transaction/errors.rs b/miden-lib/src/transaction/errors.rs index 2589b12bc..8db132490 100644 --- a/miden-lib/src/transaction/errors.rs +++ b/miden-lib/src/transaction/errors.rs @@ -1,6 +1,6 @@ use core::fmt; -use miden_objects::{accounts::AccountStorage, utils::string::String, AssetError, Digest}; +use miden_objects::{accounts::AccountStorage, utils::string::*, AssetError, Digest}; // TRANSACTION KERNEL ERROR // ================================================================================================ diff --git a/miden-lib/src/transaction/inputs.rs b/miden-lib/src/transaction/inputs.rs index f91b480a6..98e2524a2 100644 --- a/miden-lib/src/transaction/inputs.rs +++ b/miden-lib/src/transaction/inputs.rs @@ -4,12 +4,12 @@ use miden_objects::{ ChainMmr, ExecutedTransaction, InputNotes, PreparedTransaction, TransactionArgs, TransactionInputs, TransactionScript, TransactionWitness, }, - utils::{collections::Vec, vec}, vm::{AdviceInputs, StackInputs}, Felt, Word, ZERO, }; use super::TransactionKernel; +use crate::utils::{collections::*, vec}; // TRANSACTION KERNEL INPUTS // ================================================================================================ diff --git a/miden-lib/src/transaction/mod.rs b/miden-lib/src/transaction/mod.rs index f736431fa..48d9f5bd2 100644 --- a/miden-lib/src/transaction/mod.rs +++ b/miden-lib/src/transaction/mod.rs @@ -2,13 +2,14 @@ use miden_objects::{ accounts::AccountId, assembly::{Assembler, AssemblyContext, ProgramAst}, transaction::{OutputNotes, TransactionOutputs}, - utils::{collections::Vec, group_slice_elements, serde::DeserializationError}, + utils::{group_slice_elements, serde::DeserializationError}, vm::{AdviceMap, ProgramInfo, StackInputs, StackOutputs}, Digest, Felt, TransactionOutputError, Word, }; use miden_stdlib::StdLibrary; use super::MidenLib; +use crate::utils::collections::*; pub mod memory; diff --git a/miden-lib/src/transaction/outputs.rs b/miden-lib/src/transaction/outputs.rs index 8483289a9..2d3aafa3a 100644 --- a/miden-lib/src/transaction/outputs.rs +++ b/miden-lib/src/transaction/outputs.rs @@ -3,7 +3,7 @@ use miden_objects::{ assets::Asset, notes::{NoteAssets, NoteId, NoteMetadata}, transaction::OutputNote, - utils::collections::Vec, + utils::collections::*, AccountError, Digest, NoteError, Word, WORD_SIZE, }; diff --git a/miden-tx/Cargo.toml b/miden-tx/Cargo.toml index 3365d2cab..7a48fa240 100644 --- a/miden-tx/Cargo.toml +++ b/miden-tx/Cargo.toml @@ -7,7 +7,7 @@ readme = "README.md" license = "MIT" repository = "https://github.com/0xPolygonMiden/miden-base" categories = ["no-std"] -keywords = [] +keywords = ["miden", "transaction"] edition = "2021" rust-version = "1.75" diff --git a/miden-tx/src/compiler/mod.rs b/miden-tx/src/compiler/mod.rs index c73ea9450..ce8d4a60e 100644 --- a/miden-tx/src/compiler/mod.rs +++ b/miden-tx/src/compiler/mod.rs @@ -5,9 +5,10 @@ use miden_objects::{ }; use super::{ - AccountCode, AccountId, BTreeMap, CodeBlock, Digest, NoteScript, Program, - TransactionCompilerError, TransactionKernel, + AccountCode, AccountId, CodeBlock, Digest, NoteScript, Program, TransactionCompilerError, + TransactionKernel, }; +use crate::utils::{collections::*, vec}; #[cfg(test)] mod tests; diff --git a/miden-tx/src/error.rs b/miden-tx/src/error.rs index c93bfd3f5..54b4bd1f8 100644 --- a/miden-tx/src/error.rs +++ b/miden-tx/src/error.rs @@ -7,6 +7,7 @@ use miden_objects::{ use miden_verifier::VerificationError; use super::{AccountError, AccountId, Digest, ExecutionError}; +use crate::utils::string::*; // TRANSACTION COMPILER ERROR // ================================================================================================ diff --git a/miden-tx/src/executor/mod.rs b/miden-tx/src/executor/mod.rs index d85a8f944..a9e4d7335 100644 --- a/miden-tx/src/executor/mod.rs +++ b/miden-tx/src/executor/mod.rs @@ -12,6 +12,7 @@ use super::{ RecAdviceProvider, ScriptTarget, TransactionCompiler, TransactionExecutorError, TransactionHost, }; +use crate::utils::collections::*; mod data; pub use data::DataStore; diff --git a/miden-tx/src/host/account_delta.rs b/miden-tx/src/host/account_delta.rs index 2521fab59..1f7d3ff63 100644 --- a/miden-tx/src/host/account_delta.rs +++ b/miden-tx/src/host/account_delta.rs @@ -5,15 +5,15 @@ use miden_objects::{ AccountVaultDelta, }, assets::{Asset, FungibleAsset, NonFungibleAsset}, - utils::{ - collections::{btree_map::Entry, BTreeMap}, - string::ToString, - }, Digest, Felt, Word, EMPTY_WORD, ZERO, }; use vm_processor::{ContextId, ProcessState}; use super::{AdviceProvider, TransactionHost}; +use crate::utils::{ + collections::{btree_map::*, *}, + string::*, +}; // CONSTANTS // ================================================================================================ diff --git a/miden-tx/src/host/mod.rs b/miden-tx/src/host/mod.rs index 1ef52a49e..9aac13e72 100644 --- a/miden-tx/src/host/mod.rs +++ b/miden-tx/src/host/mod.rs @@ -1,7 +1,6 @@ use miden_lib::transaction::{TransactionEvent, TransactionKernelError}; use miden_objects::{ accounts::{AccountDelta, AccountStub}, - utils::{collections::BTreeMap, string::ToString}, Digest, }; use vm_processor::{ @@ -9,6 +8,8 @@ use vm_processor::{ ExecutionError, Host, HostResponse, ProcessState, }; +use crate::utils::{collections::*, format, string::*}; + mod account_delta; use account_delta::AccountDeltaTracker; diff --git a/miden-tx/src/lib.rs b/miden-tx/src/lib.rs index a42fad344..efd50f03c 100644 --- a/miden-tx/src/lib.rs +++ b/miden-tx/src/lib.rs @@ -1,10 +1,14 @@ +#![cfg_attr(not(feature = "std"), no_std)] + +#[cfg(not(feature = "std"))] +extern crate alloc; + use miden_lib::transaction::TransactionKernel; pub use miden_objects::transaction::TransactionInputs; use miden_objects::{ accounts::{AccountCode, AccountId}, notes::{NoteId, NoteScript}, transaction::{ExecutedTransaction, PreparedTransaction}, - utils::collections::BTreeMap, vm::{CodeBlock, Program}, AccountError, Digest, }; @@ -33,3 +37,7 @@ pub use error::{ #[cfg(test)] mod tests; + +// RE-EXPORTS +// ================================================================================================ +pub use miden_objects::utils; diff --git a/miden-tx/tests/integration/scripts/p2id.rs b/miden-tx/tests/integration/scripts/p2id.rs index b03f82487..84fac3fa4 100644 --- a/miden-tx/tests/integration/scripts/p2id.rs +++ b/miden-tx/tests/integration/scripts/p2id.rs @@ -5,7 +5,7 @@ use miden_objects::{ assets::{Asset, AssetVault, FungibleAsset}, crypto::rand::RpoRandomCoin, transaction::TransactionArgs, - utils::collections::Vec, + utils::collections::*, Felt, }; use miden_tx::TransactionExecutor; diff --git a/miden-tx/tests/integration/scripts/p2idr.rs b/miden-tx/tests/integration/scripts/p2idr.rs index d72900f46..7b500ada3 100644 --- a/miden-tx/tests/integration/scripts/p2idr.rs +++ b/miden-tx/tests/integration/scripts/p2idr.rs @@ -5,7 +5,7 @@ use miden_objects::{ assets::{Asset, AssetVault, FungibleAsset}, crypto::rand::RpoRandomCoin, transaction::TransactionArgs, - utils::collections::Vec, + utils::collections::*, Felt, }; use miden_tx::TransactionExecutor; diff --git a/mock/Cargo.toml b/mock/Cargo.toml index e683d0a57..dd6bd7735 100644 --- a/mock/Cargo.toml +++ b/mock/Cargo.toml @@ -6,8 +6,8 @@ authors = ["miden contributors"] readme = "README.md" license = "MIT" repository = "https://github.com/0xPolygonMiden/miden-base" -categories = [] -keywords = [] +categories = ["no-std"] +keywords = ["miden", "mock"] edition = "2021" rust-version = "1.75" @@ -17,8 +17,10 @@ path = "src/main.rs" required-features = ["executable"] [features] -serde = ["dep:serde", "miden-objects/serde"] +default = ["std"] executable = ["dep:clap", "serde"] +serde = ["dep:serde", "miden-objects/serde"] +std = ["miden-lib/std", "miden-objects/std"] [dependencies] clap = { version = "4.4", features = ["derive"], optional = true } diff --git a/mock/src/builders/account.rs b/mock/src/builders/account.rs index 11469ec50..a96711b30 100644 --- a/mock/src/builders/account.rs +++ b/mock/src/builders/account.rs @@ -1,10 +1,6 @@ use miden_objects::{ accounts::{Account, AccountStorage, AccountType, SlotItem}, assets::{Asset, AssetVault}, - utils::{ - collections::Vec, - string::{String, ToString}, - }, Felt, Word, ZERO, }; use rand::Rng; @@ -12,6 +8,7 @@ use rand::Rng; use crate::{ builders::{str_to_account_code, AccountBuilderError, AccountIdBuilder, AccountStorageBuilder}, constants::DEFAULT_ACCOUNT_CODE, + utils::{collections::*, string::*}, }; /// Builder for an `Account`, the builder allows for a fluent API to construct an account. Each diff --git a/mock/src/builders/account_id.rs b/mock/src/builders/account_id.rs index e7792b77f..451fe6812 100644 --- a/mock/src/builders/account_id.rs +++ b/mock/src/builders/account_id.rs @@ -1,6 +1,6 @@ use miden_objects::{ accounts::{AccountId, AccountType}, - utils::string::{String, ToString}, + utils::string::*, Digest, Word, }; use rand::Rng; diff --git a/mock/src/builders/account_storage.rs b/mock/src/builders/account_storage.rs index a420a65cb..dec02878c 100644 --- a/mock/src/builders/account_storage.rs +++ b/mock/src/builders/account_storage.rs @@ -1,6 +1,6 @@ use miden_objects::{ accounts::{AccountStorage, SlotItem}, - utils::collections::Vec, + utils::collections::*, }; #[derive(Default, Debug, Clone)] diff --git a/mock/src/builders/note.rs b/mock/src/builders/note.rs index 58f2dba5e..fe907310f 100644 --- a/mock/src/builders/note.rs +++ b/mock/src/builders/note.rs @@ -3,15 +3,12 @@ use miden_objects::{ assembly::ProgramAst, assets::Asset, notes::{Note, NoteInclusionProof, NoteInputs, NoteScript}, - utils::{ - collections::Vec, - string::{String, ToString}, - }, Felt, NoteError, Word, }; use rand::Rng; use super::TransactionKernel; +use crate::utils::{collections::*, string::*}; const DEFAULT_NOTE_CODE: &str = "\ begin diff --git a/mock/src/lib.rs b/mock/src/lib.rs index 86825609c..cd16df689 100644 --- a/mock/src/lib.rs +++ b/mock/src/lib.rs @@ -1,3 +1,8 @@ +#![cfg_attr(not(feature = "std"), no_std)] + +#[cfg(not(feature = "std"))] +extern crate alloc; + use std::{fs::File, io::Read, path::PathBuf}; use miden_lib::transaction::{memory, ToTransactionKernelInputs, TransactionKernel}; diff --git a/mock/src/mock/block.rs b/mock/src/mock/block.rs index 299e21f31..768232e56 100644 --- a/mock/src/mock/block.rs +++ b/mock/src/mock/block.rs @@ -1,9 +1,11 @@ use miden_objects::{ - accounts::Account, crypto::merkle::SimpleSmt, utils::collections::Vec, BlockHeader, Digest, - Felt, ACCOUNT_TREE_DEPTH, ZERO, + accounts::Account, crypto::merkle::SimpleSmt, BlockHeader, Digest, Felt, ACCOUNT_TREE_DEPTH, + ZERO, }; use miden_test_utils::rand; +use crate::utils::collections::*; + pub fn mock_block_header( block_num: u32, chain_root: Option, diff --git a/mock/src/mock/chain.rs b/mock/src/mock/chain.rs index 2e6222b53..c52c43447 100644 --- a/mock/src/mock/chain.rs +++ b/mock/src/mock/chain.rs @@ -6,7 +6,7 @@ use miden_objects::{ crypto::merkle::{LeafIndex, Mmr, PartialMmr, SimpleSmt, Smt}, notes::{Note, NoteInclusionProof}, transaction::{ChainMmr, InputNote}, - utils::collections::Vec, + utils::collections::*, BlockHeader, Digest, Felt, FieldElement, Word, ACCOUNT_TREE_DEPTH, NOTE_TREE_DEPTH, }; use rand::{Rng, SeedableRng}; diff --git a/mock/src/mock/host/mod.rs b/mock/src/mock/host/mod.rs index 29fb4871e..a33fa8484 100644 --- a/mock/src/mock/host/mod.rs +++ b/mock/src/mock/host/mod.rs @@ -1,7 +1,6 @@ use miden_lib::transaction::TransactionEvent; use miden_objects::{ accounts::{delta::AccountVaultDelta, AccountStub}, - utils::{collections::BTreeMap, string::ToString}, Digest, }; use vm_processor::{ @@ -9,6 +8,8 @@ use vm_processor::{ ContextId, ExecutionError, Host, HostResponse, MemAdviceProvider, ProcessState, }; +use crate::utils::{collections::*, string::*}; + mod account_procs; use account_procs::AccountProcedureIndexMap; diff --git a/mock/src/mock/notes.rs b/mock/src/mock/notes.rs index 3e8494d40..9efe9abd5 100644 --- a/mock/src/mock/notes.rs +++ b/mock/src/mock/notes.rs @@ -3,7 +3,7 @@ use miden_objects::{ assembly::{Assembler, ProgramAst}, assets::{Asset, FungibleAsset}, notes::{Note, NoteScript}, - utils::collections::Vec, + utils::collections::*, Felt, Word, ZERO, }; diff --git a/mock/src/mock/transaction.rs b/mock/src/mock/transaction.rs index 7456076b2..585d8f2b1 100644 --- a/mock/src/mock/transaction.rs +++ b/mock/src/mock/transaction.rs @@ -5,7 +5,7 @@ use miden_objects::{ ChainMmr, ExecutedTransaction, InputNote, InputNotes, OutputNote, OutputNotes, TransactionArgs, TransactionInputs, TransactionOutputs, }, - utils::collections::Vec, + utils::collections::*, BlockHeader, Felt, FieldElement, }; use vm_processor::{AdviceInputs, Operation, Program, Word}; diff --git a/mock/src/utils.rs b/mock/src/utils.rs index d38d2fc13..eb9cb841e 100644 --- a/mock/src/utils.rs +++ b/mock/src/utils.rs @@ -1,11 +1,5 @@ -use miden_objects::{ - notes::NoteAssets, - utils::{ - collections::Vec, - string::{String, ToString}, - }, - Word, -}; +pub use miden_objects::utils::*; +use miden_objects::{notes::NoteAssets, Word}; // TODO: These functions are duplicates from miden-lib/test/common/procedures.rs pub fn prepare_word(word: &Word) -> String { diff --git a/objects/Cargo.toml b/objects/Cargo.toml index 7b190165a..7f7b59deb 100644 --- a/objects/Cargo.toml +++ b/objects/Cargo.toml @@ -7,7 +7,7 @@ readme = "README.md" license = "MIT" repository = "https://github.com/0xPolygonMiden/miden-base" categories = ["no-std"] -keywords = [] +keywords = ["miden", "objects"] edition = "2021" rust-version = "1.75" diff --git a/objects/src/accounts/account_id.rs b/objects/src/accounts/account_id.rs index 4b0adcc75..5f8e44b6d 100644 --- a/objects/src/accounts/account_id.rs +++ b/objects/src/accounts/account_id.rs @@ -2,9 +2,13 @@ use core::fmt; use super::{ get_account_seed, Account, AccountError, ByteReader, Deserializable, DeserializationError, - Digest, Felt, FieldElement, Hasher, Serializable, String, ToString, Vec, Word, + Digest, Felt, FieldElement, Hasher, Serializable, Word, +}; +use crate::{ + crypto::merkle::LeafIndex, + utils::{collections::*, format, hex_to_bytes, string::*}, + ACCOUNT_TREE_DEPTH, }; -use crate::{crypto::merkle::LeafIndex, utils::hex_to_bytes, ACCOUNT_TREE_DEPTH}; // ACCOUNT ID // ================================================================================================ diff --git a/objects/src/accounts/code.rs b/objects/src/accounts/code.rs index 0a58e1b31..ae4e996d7 100644 --- a/objects/src/accounts/code.rs +++ b/objects/src/accounts/code.rs @@ -4,9 +4,9 @@ use assembly::ast::AstSerdeOptions; use super::{ AccountError, Assembler, AssemblyContext, ByteReader, ByteWriter, Deserializable, - DeserializationError, Digest, ModuleAst, Serializable, Vec, + DeserializationError, Digest, ModuleAst, Serializable, }; -use crate::crypto::merkle::SimpleSmt; +use crate::{crypto::merkle::SimpleSmt, utils::collections::*}; // CONSTANTS // ================================================================================================ diff --git a/objects/src/accounts/data.rs b/objects/src/accounts/data.rs index ee52515ab..007ac9f39 100644 --- a/objects/src/accounts/data.rs +++ b/objects/src/accounts/data.rs @@ -13,6 +13,7 @@ use super::{ }, Account, Word, }; +use crate::utils::format; // ACCOUNT DATA // ================================================================================================ diff --git a/objects/src/accounts/delta/mod.rs b/objects/src/accounts/delta/mod.rs index 21baec52c..578c796fc 100644 --- a/objects/src/accounts/delta/mod.rs +++ b/objects/src/accounts/delta/mod.rs @@ -1,8 +1,7 @@ use super::{ - ByteReader, ByteWriter, Deserializable, DeserializationError, Felt, Serializable, ToString, - Vec, Word, ZERO, + ByteReader, ByteWriter, Deserializable, DeserializationError, Felt, Serializable, Word, ZERO, }; -use crate::{assets::Asset, AccountDeltaError}; +use crate::{assets::Asset, utils::string::*, AccountDeltaError}; mod storage; pub use storage::AccountStorageDelta; diff --git a/objects/src/accounts/delta/storage.rs b/objects/src/accounts/delta/storage.rs index 3a00f16b4..6ee73a259 100644 --- a/objects/src/accounts/delta/storage.rs +++ b/objects/src/accounts/delta/storage.rs @@ -1,7 +1,8 @@ use super::{ AccountDeltaError, ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable, - ToString, Vec, Word, + Word, }; +use crate::utils::{collections::*, string::*}; // CONSTANTS // ================================================================================================ diff --git a/objects/src/accounts/delta/vault.rs b/objects/src/accounts/delta/vault.rs index 4291b8ec0..a7ae266d4 100644 --- a/objects/src/accounts/delta/vault.rs +++ b/objects/src/accounts/delta/vault.rs @@ -1,7 +1,8 @@ use super::{ AccountDeltaError, Asset, ByteReader, ByteWriter, Deserializable, DeserializationError, - Serializable, ToString, Vec, + Serializable, }; +use crate::utils::{collections::*, string::*}; // ACCOUNT VAULT DELTA // ================================================================================================ diff --git a/objects/src/accounts/mod.rs b/objects/src/accounts/mod.rs index 365cdd1be..c31c8f020 100644 --- a/objects/src/accounts/mod.rs +++ b/objects/src/accounts/mod.rs @@ -1,11 +1,7 @@ -use super::{ +use crate::{ assembly::{Assembler, AssemblyContext, ModuleAst}, assets::AssetVault, - utils::{ - collections::{BTreeMap, Vec}, - serde::{ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable}, - string::{String, ToString}, - }, + utils::serde::{ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable}, AccountError, Digest, Felt, FieldElement, Hasher, Word, ZERO, }; @@ -277,6 +273,8 @@ impl serde::Serialize for Account { #[cfg(feature = "serde")] impl<'de> serde::Deserialize<'de> for Account { fn deserialize>(deserializer: D) -> Result { + use crate::utils::collections::*; + let bytes: Vec = as serde::Deserialize>::deserialize(deserializer)?; Self::read_from_bytes(&bytes).map_err(serde::de::Error::custom) } @@ -316,7 +314,10 @@ mod tests { ACCOUNT_ID_FUNGIBLE_FAUCET_ON_CHAIN, ACCOUNT_ID_FUNGIBLE_FAUCET_ON_CHAIN_2, ACCOUNT_ID_REGULAR_ACCOUNT_IMMUTABLE_CODE_ON_CHAIN, }; - use crate::assets::{Asset, AssetVault, FungibleAsset}; + use crate::{ + assets::{Asset, AssetVault, FungibleAsset}, + utils::collections::*, + }; fn build_account(assets: Vec, nonce: Felt, storage_items: Vec) -> Account { // build account code diff --git a/objects/src/accounts/seed.rs b/objects/src/accounts/seed.rs index 5f8f8cdbc..613ae86ec 100644 --- a/objects/src/accounts/seed.rs +++ b/objects/src/accounts/seed.rs @@ -7,7 +7,8 @@ use std::{ thread::{self, spawn}, }; -use super::{compute_digest, AccountError, AccountId, AccountType, Digest, Felt, Vec, Word}; +use super::{compute_digest, AccountError, AccountId, AccountType, Digest, Felt, Word}; +use crate::utils::collections::*; // SEED GENERATORS // -------------------------------------------------------------------------------------------- @@ -177,7 +178,7 @@ mod log { super::{digest_pow, Digest, FieldElement, Word}, AccountId, AccountType, }; - use crate::utils::string::String; + use crate::utils::string::*; /// Keeps track of the best digest found so far and count how many iterations have been done. pub struct Log { diff --git a/objects/src/accounts/storage/mod.rs b/objects/src/accounts/storage/mod.rs index cbe782d17..e0c50a4cc 100644 --- a/objects/src/accounts/storage/mod.rs +++ b/objects/src/accounts/storage/mod.rs @@ -1,8 +1,11 @@ use super::{ - AccountError, AccountStorageDelta, BTreeMap, ByteReader, ByteWriter, Deserializable, - DeserializationError, Digest, Felt, Hasher, Serializable, String, ToString, Vec, Word, + AccountError, AccountStorageDelta, ByteReader, ByteWriter, Deserializable, + DeserializationError, Digest, Felt, Hasher, Serializable, Word, +}; +use crate::{ + crypto::merkle::{LeafIndex, NodeIndex, SimpleSmt}, + utils::{collections::*, string::*, vec}, }; -use crate::crypto::merkle::{LeafIndex, NodeIndex, SimpleSmt}; mod slot; pub use slot::StorageSlotType; diff --git a/objects/src/accounts/storage/slot.rs b/objects/src/accounts/storage/slot.rs index f1be73c1e..1ca2d48db 100644 --- a/objects/src/accounts/storage/slot.rs +++ b/objects/src/accounts/storage/slot.rs @@ -1,4 +1,5 @@ -use super::{Felt, String, ToString}; +use super::Felt; +use crate::utils::string::*; // CONSTANTS // ================================================================================================ diff --git a/objects/src/assets/fungible.rs b/objects/src/assets/fungible.rs index 39e287a2b..3af9ae471 100644 --- a/objects/src/assets/fungible.rs +++ b/objects/src/assets/fungible.rs @@ -1,6 +1,7 @@ use core::fmt; -use super::{parse_word, AccountId, AccountType, Asset, AssetError, Felt, ToString, Word, ZERO}; +use super::{parse_word, AccountId, AccountType, Asset, AssetError, Felt, Word, ZERO}; +use crate::utils::string::*; // FUNGIBLE ASSET // ================================================================================================ diff --git a/objects/src/assets/mod.rs b/objects/src/assets/mod.rs index 5c15ba0c8..a0b11deb3 100644 --- a/objects/src/assets/mod.rs +++ b/objects/src/assets/mod.rs @@ -1,12 +1,12 @@ use super::{ accounts::{AccountId, AccountType}, utils::{ - collections::Vec, serde::{ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable}, - string::ToString, + string::*, }, AssetError, Felt, Hasher, Word, ZERO, }; +use crate::utils::format; mod fungible; pub use fungible::FungibleAsset; diff --git a/objects/src/assets/nonfungible.rs b/objects/src/assets/nonfungible.rs index 0916db743..e9ba2601f 100644 --- a/objects/src/assets/nonfungible.rs +++ b/objects/src/assets/nonfungible.rs @@ -1,8 +1,7 @@ use core::fmt; -use super::{ - parse_word, AccountId, AccountType, Asset, AssetError, Felt, Hasher, ToString, Vec, Word, -}; +use super::{parse_word, AccountId, AccountType, Asset, AssetError, Felt, Hasher, Word}; +use crate::utils::{collections::*, string::*}; /// Position of the faucet_id inside the [NonFungibleAsset] word. const FAUCET_ID_POS: usize = 1; diff --git a/objects/src/assets/token_symbol.rs b/objects/src/assets/token_symbol.rs index 326bf7ca4..1bae8d33a 100644 --- a/objects/src/assets/token_symbol.rs +++ b/objects/src/assets/token_symbol.rs @@ -1,5 +1,5 @@ -use super::{AssetError, Felt, ToString}; -use crate::utils::string::String; +use super::{AssetError, Felt}; +use crate::utils::string::*; #[derive(Clone, Copy, Debug)] pub struct TokenSymbol(Felt); diff --git a/objects/src/assets/vault.rs b/objects/src/assets/vault.rs index 9b5b7c301..6244416ad 100644 --- a/objects/src/assets/vault.rs +++ b/objects/src/assets/vault.rs @@ -1,8 +1,12 @@ use super::{ AccountId, AccountType, Asset, ByteReader, ByteWriter, Deserializable, DeserializationError, - FungibleAsset, NonFungibleAsset, Serializable, ToString, Vec, ZERO, + FungibleAsset, NonFungibleAsset, Serializable, ZERO, +}; +use crate::{ + crypto::merkle::Smt, + utils::{collections::*, string::*}, + AssetVaultError, Digest, }; -use crate::{crypto::merkle::Smt, AssetVaultError, Digest}; // ASSET VAULT // ================================================================================================ diff --git a/objects/src/block/header.rs b/objects/src/block/header.rs index b28a8fda5..13675048d 100644 --- a/objects/src/block/header.rs +++ b/objects/src/block/header.rs @@ -1,6 +1,7 @@ -use super::{Digest, Felt, Hasher, Vec, ZERO}; -use crate::utils::serde::{ - ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable, +use super::{Digest, Felt, Hasher, ZERO}; +use crate::utils::{ + collections::*, + serde::{ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable}, }; /// The header of a block. It contains metadata about the block, commitments to the current diff --git a/objects/src/block/mod.rs b/objects/src/block/mod.rs index 08a3f4ac5..fb9ea1af0 100644 --- a/objects/src/block/mod.rs +++ b/objects/src/block/mod.rs @@ -1,4 +1,4 @@ -use super::{utils::collections::Vec, Digest, Felt, Hasher, ZERO}; +use super::{Digest, Felt, Hasher, ZERO}; mod header; pub use header::BlockHeader; diff --git a/objects/src/errors.rs b/objects/src/errors.rs index cd277f04f..095cf446b 100644 --- a/objects/src/errors.rs +++ b/objects/src/errors.rs @@ -8,7 +8,7 @@ use super::{ assets::{Asset, FungibleAsset, NonFungibleAsset}, crypto::merkle::MerkleError, notes::NoteId, - utils::string::String, + utils::string::*, Digest, Word, }; diff --git a/objects/src/lib.rs b/objects/src/lib.rs index 4ea45564f..65632941c 100644 --- a/objects/src/lib.rs +++ b/objects/src/lib.rs @@ -1,7 +1,6 @@ #![cfg_attr(not(feature = "std"), no_std)] #[cfg(not(feature = "std"))] -#[macro_use] extern crate alloc; pub mod accounts; @@ -39,7 +38,7 @@ pub mod crypto { pub mod utils { pub use miden_crypto::utils::{bytes_to_hex_string, format, hex_to_bytes, vec, HexParseError}; - pub use vm_core::utils::{collections, group_slice_elements, string, IntoBytes}; + pub use vm_core::utils::*; pub mod serde { pub use miden_crypto::utils::{ diff --git a/objects/src/notes/assets.rs b/objects/src/notes/assets.rs index a9f475eaa..0e343d2d5 100644 --- a/objects/src/notes/assets.rs +++ b/objects/src/notes/assets.rs @@ -2,9 +2,12 @@ use core::cell::OnceCell; use super::{ Asset, ByteReader, ByteWriter, Deserializable, DeserializationError, Digest, Felt, Hasher, - NoteError, Serializable, Vec, Word, WORD_SIZE, ZERO, + NoteError, Serializable, Word, WORD_SIZE, ZERO, +}; +use crate::{ + utils::{collections::*, format}, + MAX_ASSETS_PER_NOTE, }; -use crate::MAX_ASSETS_PER_NOTE; // NOTE ASSETS // ================================================================================================ diff --git a/objects/src/notes/envelope.rs b/objects/src/notes/envelope.rs index 0fdec428b..77a6efc4a 100644 --- a/objects/src/notes/envelope.rs +++ b/objects/src/notes/envelope.rs @@ -1,7 +1,8 @@ use super::{ ByteReader, ByteWriter, Deserializable, DeserializationError, Felt, Note, NoteId, NoteMetadata, - Serializable, Vec, Word, + Serializable, Word, }; +use crate::utils::collections::*; // NOTE ENVELOPE // ================================================================================================ diff --git a/objects/src/notes/inputs.rs b/objects/src/notes/inputs.rs index c368a0c68..fec4d5a0b 100644 --- a/objects/src/notes/inputs.rs +++ b/objects/src/notes/inputs.rs @@ -2,9 +2,12 @@ use core::cell::OnceCell; use super::{ ByteReader, ByteWriter, Deserializable, DeserializationError, Digest, Felt, Hasher, NoteError, - Serializable, Vec, WORD_SIZE, ZERO, + Serializable, WORD_SIZE, ZERO, +}; +use crate::{ + utils::{collections::*, format}, + MAX_INPUTS_PER_NOTE, }; -use crate::MAX_INPUTS_PER_NOTE; // NOTE INPUTS // ================================================================================================ diff --git a/objects/src/notes/mod.rs b/objects/src/notes/mod.rs index 63704d9d1..64e73e7b1 100644 --- a/objects/src/notes/mod.rs +++ b/objects/src/notes/mod.rs @@ -1,14 +1,10 @@ use core::cell::OnceCell; -use super::{ +use crate::{ accounts::AccountId, assembly::{Assembler, AssemblyContext, ProgramAst}, assets::Asset, - utils::{ - collections::Vec, - serde::{ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable}, - string::{String, ToString}, - }, + utils::serde::{ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable}, vm::CodeBlock, Digest, Felt, Hasher, NoteError, Word, NOTE_TREE_DEPTH, WORD_SIZE, ZERO, }; @@ -232,6 +228,8 @@ impl serde::Serialize for Note { #[cfg(feature = "serde")] impl<'de> serde::Deserialize<'de> for Note { fn deserialize>(deserializer: D) -> Result { + use crate::utils::collections::*; + let bytes: Vec = as serde::Deserialize>::deserialize(deserializer)?; Self::read_from_bytes(&bytes).map_err(serde::de::Error::custom) } diff --git a/objects/src/notes/note_id.rs b/objects/src/notes/note_id.rs index ab1c12cf2..fa88ed55c 100644 --- a/objects/src/notes/note_id.rs +++ b/objects/src/notes/note_id.rs @@ -1,7 +1,7 @@ use super::{Digest, Felt, Hasher, Note, Word}; use crate::utils::{ serde::{ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable}, - string::String, + string::*, HexParseError, }; diff --git a/objects/src/notes/nullifier.rs b/objects/src/notes/nullifier.rs index cf219ed4e..081d4987e 100644 --- a/objects/src/notes/nullifier.rs +++ b/objects/src/notes/nullifier.rs @@ -2,9 +2,9 @@ use core::fmt::{Debug, Display, Formatter}; use super::{ ByteReader, ByteWriter, Deserializable, DeserializationError, Digest, Felt, Hasher, Note, - Serializable, String, Word, WORD_SIZE, ZERO, + Serializable, Word, WORD_SIZE, ZERO, }; -use crate::utils::{hex_to_bytes, HexParseError}; +use crate::utils::{hex_to_bytes, string::*, HexParseError}; // NULLIFIER // ================================================================================================ diff --git a/objects/src/notes/origin.rs b/objects/src/notes/origin.rs index 255b9c795..188cefb57 100644 --- a/objects/src/notes/origin.rs +++ b/objects/src/notes/origin.rs @@ -1,8 +1,11 @@ use super::{ ByteReader, ByteWriter, Deserializable, DeserializationError, Digest, NoteError, Serializable, - ToString, NOTE_TREE_DEPTH, + NOTE_TREE_DEPTH, +}; +use crate::{ + crypto::merkle::{MerklePath, NodeIndex}, + utils::string::*, }; -use crate::crypto::merkle::{MerklePath, NodeIndex}; /// Contains information about the origin of a note. #[derive(Clone, Debug, PartialEq, Eq)] diff --git a/objects/src/transaction/chain_mmr.rs b/objects/src/transaction/chain_mmr.rs index 6686ad347..4af2a1154 100644 --- a/objects/src/transaction/chain_mmr.rs +++ b/objects/src/transaction/chain_mmr.rs @@ -1,6 +1,6 @@ use crate::{ crypto::merkle::{InnerNodeInfo, MmrPeaks, PartialMmr}, - utils::collections::{BTreeMap, Vec}, + utils::collections::*, BlockHeader, ChainMmrError, }; @@ -117,9 +117,10 @@ impl ChainMmr { #[cfg(test)] mod tests { - use super::{ChainMmr, Vec}; + use super::ChainMmr; use crate::{ crypto::merkle::{Mmr, PartialMmr}, + utils::collections::*, BlockHeader, Digest, ZERO, }; diff --git a/objects/src/transaction/inputs.rs b/objects/src/transaction/inputs.rs index 960f98a3c..2d3e2988e 100644 --- a/objects/src/transaction/inputs.rs +++ b/objects/src/transaction/inputs.rs @@ -5,9 +5,9 @@ use crate::{ accounts::{validate_account_seed, Account}, notes::{Note, NoteId, NoteInclusionProof, NoteOrigin, Nullifier}, utils::{ - collections::{self, BTreeSet, Vec}, + collections::*, serde::{ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable}, - string::ToString, + string::*, }, TransactionInputError, MAX_INPUT_NOTES_PER_TX, }; @@ -270,7 +270,7 @@ impl InputNotes { impl IntoIterator for InputNotes { type Item = T; - type IntoIter = collections::vec::IntoIter; + type IntoIter = vec::IntoIter; fn into_iter(self) -> Self::IntoIter { self.notes.into_iter() diff --git a/objects/src/transaction/outputs.rs b/objects/src/transaction/outputs.rs index 7d05bbaaa..c543ef8fc 100644 --- a/objects/src/transaction/outputs.rs +++ b/objects/src/transaction/outputs.rs @@ -4,9 +4,9 @@ use crate::{ accounts::AccountStub, notes::{Note, NoteAssets, NoteEnvelope, NoteId, NoteMetadata}, utils::{ - collections::{self, BTreeSet, Vec}, + collections::*, serde::{ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable}, - string::ToString, + string::*, }, Digest, Felt, Hasher, TransactionOutputError, Word, MAX_OUTPUT_NOTES_PER_TX, }; @@ -144,7 +144,7 @@ impl OutputNotes { impl IntoIterator for OutputNotes { type Item = T; - type IntoIter = collections::vec::IntoIter; + type IntoIter = vec::IntoIter; fn into_iter(self) -> Self::IntoIter { self.notes.into_iter() diff --git a/objects/src/transaction/transaction_id.rs b/objects/src/transaction/transaction_id.rs index 158bb2c11..2ca53281c 100644 --- a/objects/src/transaction/transaction_id.rs +++ b/objects/src/transaction/transaction_id.rs @@ -3,7 +3,7 @@ use core::fmt::{Debug, Display}; use super::{Digest, ExecutedTransaction, Felt, Hasher, ProvenTransaction, Word, WORD_SIZE, ZERO}; use crate::utils::{ serde::{ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable}, - string::String, + string::*, }; // TRANSACTION ID diff --git a/objects/src/transaction/tx_args.rs b/objects/src/transaction/tx_args.rs index 3365f0cdf..c908db3e6 100644 --- a/objects/src/transaction/tx_args.rs +++ b/objects/src/transaction/tx_args.rs @@ -2,7 +2,7 @@ use super::{Digest, Felt, Word}; use crate::{ assembly::{Assembler, AssemblyContext, ProgramAst}, notes::NoteId, - utils::collections::{BTreeMap, Vec}, + utils::collections::*, vm::CodeBlock, TransactionScriptError, };