From 54303d3681542e2c5055528c87400f09d939b3f2 Mon Sep 17 00:00:00 2001 From: Peponks9 Date: Thu, 18 Dec 2025 13:32:09 -0600 Subject: [PATCH 1/2] expos errors module and remove error re-exports --- .../src/account/auth/ecdsa_k256_keccak_acl.rs | 3 +- .../auth/ecdsa_k256_keccak_multisig.rs | 3 +- .../src/account/auth/rpo_falcon_512_acl.rs | 3 +- .../account/auth/rpo_falcon_512_multisig.rs | 3 +- crates/miden-lib/src/account/faucets/mod.rs | 3 +- .../miden-lib/src/account/interface/test.rs | 3 +- crates/miden-lib/src/account/wallets/mod.rs | 3 +- crates/miden-lib/src/block/mod.rs | 2 +- crates/miden-lib/src/note/mint_inputs.rs | 3 +- crates/miden-lib/src/note/mod.rs | 3 +- crates/miden-lib/src/note/utils.rs | 3 +- crates/miden-lib/src/testing/note.rs | 3 +- crates/miden-lib/src/transaction/mod.rs | 3 +- crates/miden-lib/src/transaction/outputs.rs | 3 +- .../src/account/account_id/mod.rs | 4 +-- .../src/account/account_id/seed.rs | 3 +- .../src/account/account_id/v0/mod.rs | 4 +-- crates/miden-objects/src/account/auth.rs | 3 +- .../miden-objects/src/account/builder/mod.rs | 3 +- crates/miden-objects/src/account/code/mod.rs | 2 +- .../src/account/component/mod.rs | 3 +- .../src/account/component/template/mod.rs | 6 ++-- .../account/component/template/storage/mod.rs | 4 +-- crates/miden-objects/src/account/delta/mod.rs | 6 ++-- .../src/account/delta/storage.rs | 3 +- crates/miden-objects/src/account/mod.rs | 5 ++-- crates/miden-objects/src/account/partial.rs | 3 +- .../src/account/storage/header.rs | 3 +- .../src/account/storage/map/mod.rs | 4 +-- .../miden-objects/src/account/storage/mod.rs | 2 +- .../src/account/storage/partial.rs | 2 +- .../src/account/storage/slot/type.rs | 3 +- .../miden-objects/src/address/address_id.rs | 3 +- crates/miden-objects/src/address/interface.rs | 2 +- crates/miden-objects/src/address/mod.rs | 5 ++-- .../src/address/routing_parameters.rs | 3 +- crates/miden-objects/src/address/type.rs | 3 +- crates/miden-objects/src/asset/mod.rs | 3 +- .../src/asset/vault/asset_witness.rs | 2 +- crates/miden-objects/src/asset/vault/mod.rs | 3 +- .../src/batch/input_output_note_tracker.rs | 4 +-- .../src/block/account_tree/witness.rs | 3 +- crates/miden-objects/src/block/header.rs | 3 +- .../src/block/nullifier_tree/mod.rs | 3 +- crates/miden-objects/src/lib.rs | 29 +------------------ .../miden-objects/src/note/execution_hint.rs | 3 +- crates/miden-objects/src/note/mod.rs | 3 +- crates/miden-objects/src/note/note_tag.rs | 2 +- crates/miden-objects/src/note/note_type.rs | 3 +- crates/miden-objects/src/note/script.rs | 3 +- crates/miden-objects/src/testing/asset.rs | 2 +- .../src/testing/partial_blockchain.rs | 2 +- .../src/transaction/inputs/mod.rs | 2 +- .../src/transaction/inputs/notes.rs | 4 +-- .../miden-objects/src/transaction/outputs.rs | 6 ++-- .../src/transaction/partial_blockchain.rs | 5 ++-- .../src/transaction/proven_tx.rs | 13 +++------ .../src/kernel_tests/batch/proposed_batch.rs | 3 +- .../src/kernel_tests/block/header_errors.rs | 3 +- .../block/proposed_block_errors.rs | 3 +- .../src/kernel_tests/tx/test_asset_vault.rs | 3 +- .../src/mock_chain/chain_builder.rs | 3 +- crates/miden-testing/tests/scripts/swap.rs | 3 +- .../src/local_batch_prover.rs | 2 +- crates/miden-tx/src/errors/mod.rs | 9 +++--- 65 files changed, 125 insertions(+), 122 deletions(-) diff --git a/crates/miden-lib/src/account/auth/ecdsa_k256_keccak_acl.rs b/crates/miden-lib/src/account/auth/ecdsa_k256_keccak_acl.rs index 834222c7f6..a59cf0def3 100644 --- a/crates/miden-lib/src/account/auth/ecdsa_k256_keccak_acl.rs +++ b/crates/miden-lib/src/account/auth/ecdsa_k256_keccak_acl.rs @@ -1,5 +1,6 @@ use alloc::vec::Vec; +use miden_objects::Word; use miden_objects::account::auth::PublicKeyCommitment; use miden_objects::account::{ AccountCode, @@ -8,8 +9,8 @@ use miden_objects::account::{ StorageSlot, StorageSlotName, }; +use miden_objects::errors::AccountError; use miden_objects::utils::sync::LazyLock; -use miden_objects::{AccountError, Word}; use crate::account::components::ecdsa_k256_keccak_acl_library; diff --git a/crates/miden-lib/src/account/auth/ecdsa_k256_keccak_multisig.rs b/crates/miden-lib/src/account/auth/ecdsa_k256_keccak_multisig.rs index 233a0b1006..fe285b2963 100644 --- a/crates/miden-lib/src/account/auth/ecdsa_k256_keccak_multisig.rs +++ b/crates/miden-lib/src/account/auth/ecdsa_k256_keccak_multisig.rs @@ -1,10 +1,11 @@ use alloc::collections::BTreeSet; use alloc::vec::Vec; +use miden_objects::Word; use miden_objects::account::auth::PublicKeyCommitment; use miden_objects::account::{AccountComponent, StorageMap, StorageSlot, StorageSlotName}; +use miden_objects::errors::AccountError; use miden_objects::utils::sync::LazyLock; -use miden_objects::{AccountError, Word}; use crate::account::components::ecdsa_k256_keccak_multisig_library; diff --git a/crates/miden-lib/src/account/auth/rpo_falcon_512_acl.rs b/crates/miden-lib/src/account/auth/rpo_falcon_512_acl.rs index 10c27a140f..54c5c2de9c 100644 --- a/crates/miden-lib/src/account/auth/rpo_falcon_512_acl.rs +++ b/crates/miden-lib/src/account/auth/rpo_falcon_512_acl.rs @@ -1,5 +1,6 @@ use alloc::vec::Vec; +use miden_objects::Word; use miden_objects::account::auth::PublicKeyCommitment; use miden_objects::account::{ AccountCode, @@ -8,8 +9,8 @@ use miden_objects::account::{ StorageSlot, StorageSlotName, }; +use miden_objects::errors::AccountError; use miden_objects::utils::sync::LazyLock; -use miden_objects::{AccountError, Word}; use crate::account::components::rpo_falcon_512_acl_library; diff --git a/crates/miden-lib/src/account/auth/rpo_falcon_512_multisig.rs b/crates/miden-lib/src/account/auth/rpo_falcon_512_multisig.rs index ac484892f7..14d72970f7 100644 --- a/crates/miden-lib/src/account/auth/rpo_falcon_512_multisig.rs +++ b/crates/miden-lib/src/account/auth/rpo_falcon_512_multisig.rs @@ -1,10 +1,11 @@ use alloc::collections::BTreeSet; use alloc::vec::Vec; +use miden_objects::Word; use miden_objects::account::auth::PublicKeyCommitment; use miden_objects::account::{AccountComponent, StorageMap, StorageSlot, StorageSlotName}; +use miden_objects::errors::AccountError; use miden_objects::utils::sync::LazyLock; -use miden_objects::{AccountError, Word}; use crate::account::components::rpo_falcon_512_multisig_library; diff --git a/crates/miden-lib/src/account/faucets/mod.rs b/crates/miden-lib/src/account/faucets/mod.rs index 4b89f0af31..ba70fb42d5 100644 --- a/crates/miden-lib/src/account/faucets/mod.rs +++ b/crates/miden-lib/src/account/faucets/mod.rs @@ -1,8 +1,9 @@ use alloc::string::String; +use miden_objects::Felt; use miden_objects::account::{Account, AccountStorage, AccountType, StorageSlotName}; +use miden_objects::errors::{AccountError, TokenSymbolError}; use miden_objects::utils::sync::LazyLock; -use miden_objects::{AccountError, Felt, TokenSymbolError}; use thiserror::Error; mod basic_fungible; diff --git a/crates/miden-lib/src/account/interface/test.rs b/crates/miden-lib/src/account/interface/test.rs index a574e03284..01f366b1fb 100644 --- a/crates/miden-lib/src/account/interface/test.rs +++ b/crates/miden-lib/src/account/interface/test.rs @@ -3,6 +3,7 @@ use miden_objects::account::auth::PublicKeyCommitment; use miden_objects::account::{AccountBuilder, AccountComponent, AccountType}; use miden_objects::asset::{FungibleAsset, NonFungibleAsset, TokenSymbol}; use miden_objects::crypto::rand::{FeltRng, RpoRandomCoin}; +use miden_objects::errors::NoteError; use miden_objects::note::{ Note, NoteAssets, @@ -17,7 +18,7 @@ use miden_objects::testing::account_id::{ ACCOUNT_ID_REGULAR_PUBLIC_ACCOUNT_IMMUTABLE_CODE, ACCOUNT_ID_REGULAR_PUBLIC_ACCOUNT_IMMUTABLE_CODE_2, }; -use miden_objects::{Felt, NoteError, Word, ZERO}; +use miden_objects::{Felt, Word, ZERO}; use crate::AuthScheme; use crate::account::auth::{ diff --git a/crates/miden-lib/src/account/wallets/mod.rs b/crates/miden-lib/src/account/wallets/mod.rs index 3fc7851efd..3aa3cf8634 100644 --- a/crates/miden-lib/src/account/wallets/mod.rs +++ b/crates/miden-lib/src/account/wallets/mod.rs @@ -1,5 +1,6 @@ use alloc::string::String; +use miden_objects::Word; use miden_objects::account::{ Account, AccountBuilder, @@ -7,7 +8,7 @@ use miden_objects::account::{ AccountStorageMode, AccountType, }; -use miden_objects::{AccountError, Word}; +use miden_objects::errors::AccountError; use thiserror::Error; use super::AuthScheme; diff --git a/crates/miden-lib/src/block/mod.rs b/crates/miden-lib/src/block/mod.rs index d3db8b80e8..7bb059bc55 100644 --- a/crates/miden-lib/src/block/mod.rs +++ b/crates/miden-lib/src/block/mod.rs @@ -1,5 +1,5 @@ -use miden_objects::ProposedBlockError; use miden_objects::block::{BlockBody, BlockHeader, ProposedBlock}; +use miden_objects::errors::ProposedBlockError; use crate::transaction::TransactionKernel; diff --git a/crates/miden-lib/src/note/mint_inputs.rs b/crates/miden-lib/src/note/mint_inputs.rs index 2588aa3a7a..10aa6be25d 100644 --- a/crates/miden-lib/src/note/mint_inputs.rs +++ b/crates/miden-lib/src/note/mint_inputs.rs @@ -1,5 +1,6 @@ +use miden_objects::errors::NoteError; use miden_objects::note::{NoteExecutionHint, NoteInputs, NoteRecipient}; -use miden_objects::{Felt, MAX_INPUTS_PER_NOTE, NoteError, Word}; +use miden_objects::{Felt, MAX_INPUTS_PER_NOTE, Word}; /// Represents the different input formats for MINT notes. /// - Private: Creates a private output note using a precomputed recipient digest (8 MINT note diff --git a/crates/miden-lib/src/note/mod.rs b/crates/miden-lib/src/note/mod.rs index 67f12bf539..62c4a0f794 100644 --- a/crates/miden-lib/src/note/mod.rs +++ b/crates/miden-lib/src/note/mod.rs @@ -4,6 +4,7 @@ use miden_objects::account::AccountId; use miden_objects::asset::Asset; use miden_objects::block::BlockNumber; use miden_objects::crypto::rand::FeltRng; +use miden_objects::errors::NoteError; use miden_objects::note::{ Note, NoteAssets, @@ -15,7 +16,7 @@ use miden_objects::note::{ NoteTag, NoteType, }; -use miden_objects::{Felt, NoteError, Word}; +use miden_objects::{Felt, Word}; use utils::build_swap_tag; pub mod mint_inputs; diff --git a/crates/miden-lib/src/note/utils.rs b/crates/miden-lib/src/note/utils.rs index 0968a042a0..0269cf18c3 100644 --- a/crates/miden-lib/src/note/utils.rs +++ b/crates/miden-lib/src/note/utils.rs @@ -1,8 +1,9 @@ use miden_objects::account::AccountId; use miden_objects::asset::Asset; use miden_objects::block::BlockNumber; +use miden_objects::errors::NoteError; use miden_objects::note::{NoteExecutionMode, NoteInputs, NoteRecipient, NoteTag, NoteType}; -use miden_objects::{Felt, NoteError, Word}; +use miden_objects::{Felt, Word}; use super::well_known_note::WellKnownNote; diff --git a/crates/miden-lib/src/testing/note.rs b/crates/miden-lib/src/testing/note.rs index f6d590a008..110fb4874b 100644 --- a/crates/miden-lib/src/testing/note.rs +++ b/crates/miden-lib/src/testing/note.rs @@ -6,6 +6,7 @@ use miden_objects::account::AccountId; use miden_objects::assembly::debuginfo::{SourceLanguage, SourceManagerSync, Uri}; use miden_objects::assembly::{DefaultSourceManager, Library}; use miden_objects::asset::Asset; +use miden_objects::errors::NoteError; use miden_objects::note::{ Note, NoteAssets, @@ -17,7 +18,7 @@ use miden_objects::note::{ NoteType, }; use miden_objects::testing::note::DEFAULT_NOTE_CODE; -use miden_objects::{Felt, NoteError, Word, ZERO}; +use miden_objects::{Felt, Word, ZERO}; use rand::Rng; use crate::utils::CodeBuilder; diff --git a/crates/miden-lib/src/transaction/mod.rs b/crates/miden-lib/src/transaction/mod.rs index 2c592597fb..055cad4c78 100644 --- a/crates/miden-lib/src/transaction/mod.rs +++ b/crates/miden-lib/src/transaction/mod.rs @@ -10,11 +10,12 @@ use miden_objects::assembly::{Assembler, DefaultSourceManager, KernelLibrary}; use miden_objects::asset::FungibleAsset; use miden_objects::block::BlockNumber; use miden_objects::crypto::SequentialCommit; +use miden_objects::errors::TransactionOutputError; use miden_objects::transaction::{OutputNote, OutputNotes, TransactionInputs, TransactionOutputs}; use miden_objects::utils::serde::Deserializable; use miden_objects::utils::sync::LazyLock; use miden_objects::vm::{AdviceInputs, Program, ProgramInfo, StackInputs, StackOutputs}; -use miden_objects::{Felt, Hasher, TransactionOutputError, Word}; +use miden_objects::{Felt, Hasher, Word}; use miden_stdlib::StdLibrary; use super::MidenLib; diff --git a/crates/miden-lib/src/transaction/outputs.rs b/crates/miden-lib/src/transaction/outputs.rs index bb28b753a8..f813b96993 100644 --- a/crates/miden-lib/src/transaction/outputs.rs +++ b/crates/miden-lib/src/transaction/outputs.rs @@ -1,5 +1,6 @@ use miden_objects::account::{AccountHeader, AccountId}; -use miden_objects::{AccountError, Felt, WORD_SIZE, Word, WordError}; +use miden_objects::errors::AccountError; +use miden_objects::{Felt, WORD_SIZE, Word, WordError}; use super::memory::{ ACCT_CODE_COMMITMENT_OFFSET, diff --git a/crates/miden-objects/src/account/account_id/mod.rs b/crates/miden-objects/src/account/account_id/mod.rs index 2c94bb9850..9114f02b4b 100644 --- a/crates/miden-objects/src/account/account_id/mod.rs +++ b/crates/miden-objects/src/account/account_id/mod.rs @@ -23,9 +23,9 @@ use miden_core::utils::{ByteReader, Deserializable, Serializable}; use miden_crypto::utils::hex_to_bytes; use miden_processor::DeserializationError; +use crate::Word; use crate::address::NetworkId; -use crate::errors::AccountIdError; -use crate::{AccountError, Word}; +use crate::errors::{AccountError, AccountIdError}; /// The identifier of an [`Account`](crate::account::Account). /// diff --git a/crates/miden-objects/src/account/account_id/seed.rs b/crates/miden-objects/src/account/account_id/seed.rs index c472695dfb..8ad1be02a7 100644 --- a/crates/miden-objects/src/account/account_id/seed.rs +++ b/crates/miden-objects/src/account/account_id/seed.rs @@ -3,7 +3,8 @@ use alloc::vec::Vec; use crate::account::account_id::AccountIdVersion; use crate::account::account_id::v0::{compute_digest, validate_prefix}; use crate::account::{AccountStorageMode, AccountType}; -use crate::{AccountError, Felt, Word}; +use crate::errors::AccountError; +use crate::{Felt, Word}; /// Finds and returns a seed suitable for creating an account ID for the specified account type /// using the provided initial seed as a starting point. diff --git a/crates/miden-objects/src/account/account_id/v0/mod.rs b/crates/miden-objects/src/account/account_id/v0/mod.rs index c14095819d..34ad3ebbb9 100644 --- a/crates/miden-objects/src/account/account_id/v0/mod.rs +++ b/crates/miden-objects/src/account/account_id/v0/mod.rs @@ -19,9 +19,9 @@ use crate::account::account_id::account_type::{ use crate::account::account_id::storage_mode::{NETWORK, PRIVATE, PUBLIC}; use crate::account::{AccountIdVersion, AccountStorageMode, AccountType}; use crate::address::AddressType; -use crate::errors::{AccountIdError, Bech32Error}; +use crate::errors::{AccountError, AccountIdError, Bech32Error}; use crate::utils::{ByteReader, Deserializable, DeserializationError, Serializable}; -use crate::{AccountError, EMPTY_WORD, Felt, Hasher, Word}; +use crate::{EMPTY_WORD, Felt, Hasher, Word}; // ACCOUNT ID VERSION 0 // ================================================================================================ diff --git a/crates/miden-objects/src/account/auth.rs b/crates/miden-objects/src/account/auth.rs index ea1c7f550c..779739e1be 100644 --- a/crates/miden-objects/src/account/auth.rs +++ b/crates/miden-objects/src/account/auth.rs @@ -3,6 +3,7 @@ use alloc::vec::Vec; use rand::{CryptoRng, Rng}; use crate::crypto::dsa::{ecdsa_k256_keccak, rpo_falcon512}; +use crate::errors::AuthSchemeError; use crate::utils::serde::{ ByteReader, ByteWriter, @@ -10,7 +11,7 @@ use crate::utils::serde::{ DeserializationError, Serializable, }; -use crate::{AuthSchemeError, Felt, Hasher, Word}; +use crate::{Felt, Hasher, Word}; // AUTH SCHEME // ================================================================================================ diff --git a/crates/miden-objects/src/account/builder/mod.rs b/crates/miden-objects/src/account/builder/mod.rs index 1f43367d7d..0f030a49dc 100644 --- a/crates/miden-objects/src/account/builder/mod.rs +++ b/crates/miden-objects/src/account/builder/mod.rs @@ -15,7 +15,8 @@ use crate::account::{ AccountType, }; use crate::asset::AssetVault; -use crate::{AccountError, Felt, Word}; +use crate::errors::AccountError; +use crate::{Felt, Word}; /// A convenient builder for an [`Account`] allowing for safe construction of an account by /// combining multiple [`AccountComponent`]s. diff --git a/crates/miden-objects/src/account/code/mod.rs b/crates/miden-objects/src/account/code/mod.rs index a548921b5a..4bce6f808f 100644 --- a/crates/miden-objects/src/account/code/mod.rs +++ b/crates/miden-objects/src/account/code/mod.rs @@ -410,9 +410,9 @@ mod tests { use miden_assembly::Assembler; use super::{AccountCode, Deserializable, Serializable}; - use crate::AccountError; use crate::account::code::build_procedure_commitment; use crate::account::{AccountComponent, AccountType}; + use crate::errors::AccountError; use crate::testing::account_code::CODE; use crate::testing::noop_auth_component::NoopAuthComponent; diff --git a/crates/miden-objects/src/account/component/mod.rs b/crates/miden-objects/src/account/component/mod.rs index 6211584d7e..c1bac839a0 100644 --- a/crates/miden-objects/src/account/component/mod.rs +++ b/crates/miden-objects/src/account/component/mod.rs @@ -9,7 +9,8 @@ pub use code::AccountComponentCode; use crate::account::{AccountType, StorageSlot}; use crate::assembly::QualifiedProcedureName; -use crate::{AccountError, MastForest, Word}; +use crate::errors::AccountError; +use crate::{MastForest, Word}; // ACCOUNT COMPONENT // ================================================================================================ diff --git a/crates/miden-objects/src/account/component/template/mod.rs b/crates/miden-objects/src/account/component/template/mod.rs index 5a75e41584..034f328b48 100644 --- a/crates/miden-objects/src/account/component/template/mod.rs +++ b/crates/miden-objects/src/account/component/template/mod.rs @@ -9,8 +9,7 @@ use miden_processor::DeserializationError; use semver::Version; use super::AccountType; -use crate::AccountError; -use crate::errors::AccountComponentTemplateError; +use crate::errors::{AccountComponentTemplateError, AccountError}; mod storage; pub use storage::*; @@ -336,12 +335,11 @@ mod tests { use semver::Version; use super::{FeltRepresentation, test_package_with_metadata}; - use crate::AccountError; use crate::account::component::FieldIdentifier; use crate::account::component::template::storage::StorageEntry; use crate::account::component::template::{AccountComponentMetadata, InitStorageData}; use crate::account::{AccountComponent, StorageValueName}; - use crate::errors::AccountComponentTemplateError; + use crate::errors::{AccountComponentTemplateError, AccountError}; use crate::testing::account_code::CODE; fn default_felt_array() -> [FeltRepresentation; 4] { diff --git a/crates/miden-objects/src/account/component/template/storage/mod.rs b/crates/miden-objects/src/account/component/template/storage/mod.rs index 4b4fb1d0e7..ce0f46cb9e 100644 --- a/crates/miden-objects/src/account/component/template/storage/mod.rs +++ b/crates/miden-objects/src/account/component/template/storage/mod.rs @@ -401,9 +401,9 @@ mod tests { TemplateTypeError, WordRepresentation, }; - use crate::errors::AccountComponentTemplateError; + use crate::errors::{AccountComponentTemplateError, AccountError}; use crate::testing::account_code::CODE; - use crate::{AccountError, word}; + use crate::word; #[test] fn test_storage_entry_serialization() { diff --git a/crates/miden-objects/src/account/delta/mod.rs b/crates/miden-objects/src/account/delta/mod.rs index 178f3a8020..1b8d13d1f5 100644 --- a/crates/miden-objects/src/account/delta/mod.rs +++ b/crates/miden-objects/src/account/delta/mod.rs @@ -11,8 +11,9 @@ use crate::account::{ }; use crate::asset::AssetVault; use crate::crypto::SequentialCommit; +use crate::errors::{AccountDeltaError, AccountError}; use crate::utils::{ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable}; -use crate::{AccountDeltaError, AccountError, Felt, Word, ZERO}; +use crate::{Felt, Word, ZERO}; mod storage; pub use storage::{AccountStorageDelta, StorageMapDelta, StorageSlotDelta}; @@ -608,12 +609,13 @@ mod tests { NonFungibleAsset, NonFungibleAssetDetails, }; + use crate::errors::AccountDeltaError; use crate::testing::account_id::{ ACCOUNT_ID_PRIVATE_SENDER, ACCOUNT_ID_REGULAR_PRIVATE_ACCOUNT_UPDATABLE_CODE, AccountIdBuilder, }; - use crate::{AccountDeltaError, ONE, Word, ZERO}; + use crate::{ONE, Word, ZERO}; #[test] fn account_delta_nonce_validation() { diff --git a/crates/miden-objects/src/account/delta/storage.rs b/crates/miden-objects/src/account/delta/storage.rs index c8f9a852de..bd600ac0e0 100644 --- a/crates/miden-objects/src/account/delta/storage.rs +++ b/crates/miden-objects/src/account/delta/storage.rs @@ -618,7 +618,8 @@ mod tests { use super::{AccountStorageDelta, Deserializable, Serializable}; use crate::account::{StorageMapDelta, StorageSlotDelta, StorageSlotName}; - use crate::{AccountDeltaError, ONE, Word}; + use crate::errors::AccountDeltaError; + use crate::{ONE, Word}; #[test] fn account_storage_delta_returns_err_on_slot_type_mismatch() { diff --git a/crates/miden-objects/src/account/mod.rs b/crates/miden-objects/src/account/mod.rs index 2f38dab713..b264e4d233 100644 --- a/crates/miden-objects/src/account/mod.rs +++ b/crates/miden-objects/src/account/mod.rs @@ -2,6 +2,7 @@ use alloc::string::ToString; use alloc::vec::Vec; use crate::asset::{Asset, AssetVault}; +use crate::errors::AccountError; use crate::utils::serde::{ ByteReader, ByteWriter, @@ -9,7 +10,7 @@ use crate::utils::serde::{ DeserializationError, Serializable, }; -use crate::{AccountError, Felt, Hasher, Word, ZERO}; +use crate::{Felt, Hasher, Word, ZERO}; mod account_id; pub use account_id::{ @@ -608,7 +609,6 @@ mod tests { AccountStorageDelta, AccountVaultDelta, }; - use crate::AccountError; use crate::account::AccountStorageMode::Network; use crate::account::{ Account, @@ -624,6 +624,7 @@ mod tests { StorageSlotName, }; use crate::asset::{Asset, AssetVault, FungibleAsset, NonFungibleAsset}; + use crate::errors::AccountError; use crate::testing::account_id::{ ACCOUNT_ID_PRIVATE_SENDER, ACCOUNT_ID_REGULAR_PUBLIC_ACCOUNT_IMMUTABLE_CODE, diff --git a/crates/miden-objects/src/account/partial.rs b/crates/miden-objects/src/account/partial.rs index fd1161f07e..f7ae354dae 100644 --- a/crates/miden-objects/src/account/partial.rs +++ b/crates/miden-objects/src/account/partial.rs @@ -4,10 +4,11 @@ use miden_core::utils::{Deserializable, Serializable}; use miden_core::{Felt, ZERO}; use super::{Account, AccountCode, AccountId, PartialStorage}; +use crate::Word; use crate::account::{hash_account, validate_account_seed}; use crate::asset::PartialVault; +use crate::errors::AccountError; use crate::utils::serde::DeserializationError; -use crate::{AccountError, Word}; /// A partial representation of an account. /// diff --git a/crates/miden-objects/src/account/storage/header.rs b/crates/miden-objects/src/account/storage/header.rs index 8f48bfe646..1401f452a8 100644 --- a/crates/miden-objects/src/account/storage/header.rs +++ b/crates/miden-objects/src/account/storage/header.rs @@ -5,6 +5,7 @@ use super::map::EMPTY_STORAGE_MAP_ROOT; use super::{AccountStorage, Felt, StorageSlotType, Word}; use crate::account::{StorageSlot, StorageSlotId, StorageSlotName}; use crate::crypto::SequentialCommit; +use crate::errors::AccountError; use crate::utils::serde::{ ByteReader, ByteWriter, @@ -12,7 +13,7 @@ use crate::utils::serde::{ DeserializationError, Serializable, }; -use crate::{AccountError, FieldElement, ZERO}; +use crate::{FieldElement, ZERO}; // ACCOUNT STORAGE HEADER // ================================================================================================ diff --git a/crates/miden-objects/src/account/storage/map/mod.rs b/crates/miden-objects/src/account/storage/map/mod.rs index 4b262f88ed..9041e3285a 100644 --- a/crates/miden-objects/src/account/storage/map/mod.rs +++ b/crates/miden-objects/src/account/storage/map/mod.rs @@ -6,8 +6,8 @@ use miden_crypto::merkle::EmptySubtreeRoots; use super::{ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable, Word}; use crate::account::StorageMapDelta; use crate::crypto::merkle::{InnerNodeInfo, LeafIndex, SMT_DEPTH, Smt, SmtLeaf}; -use crate::errors::StorageMapError; -use crate::{AccountError, Felt, Hasher}; +use crate::errors::{AccountError, StorageMapError}; +use crate::{Felt, Hasher}; mod partial; pub use partial::PartialStorageMap; diff --git a/crates/miden-objects/src/account/storage/mod.rs b/crates/miden-objects/src/account/storage/mod.rs index 6109a2c8a3..43ca716610 100644 --- a/crates/miden-objects/src/account/storage/mod.rs +++ b/crates/miden-objects/src/account/storage/mod.rs @@ -393,8 +393,8 @@ mod tests { use assert_matches::assert_matches; use super::{AccountStorage, Deserializable, Serializable}; - use crate::AccountError; use crate::account::{AccountStorageHeader, StorageSlot, StorageSlotHeader, StorageSlotName}; + use crate::errors::AccountError; #[test] fn test_serde_account_storage() -> anyhow::Result<()> { diff --git a/crates/miden-objects/src/account/storage/partial.rs b/crates/miden-objects/src/account/storage/partial.rs index 755f867d4e..bdd1ee54fe 100644 --- a/crates/miden-objects/src/account/storage/partial.rs +++ b/crates/miden-objects/src/account/storage/partial.rs @@ -5,8 +5,8 @@ use miden_crypto::Word; use miden_crypto::merkle::{InnerNodeInfo, SmtLeaf}; use super::{AccountStorage, AccountStorageHeader, StorageSlotContent}; -use crate::AccountError; use crate::account::PartialStorageMap; +use crate::errors::AccountError; /// A partial representation of an account storage, containing only a subset of the storage data. /// diff --git a/crates/miden-objects/src/account/storage/slot/type.rs b/crates/miden-objects/src/account/storage/slot/type.rs index 9fac8cada1..5270f95ebf 100644 --- a/crates/miden-objects/src/account/storage/slot/type.rs +++ b/crates/miden-objects/src/account/storage/slot/type.rs @@ -1,6 +1,8 @@ use alloc::string::ToString; use core::fmt::Display; +use crate::Felt; +use crate::errors::AccountError; use crate::utils::serde::{ ByteReader, ByteWriter, @@ -8,7 +10,6 @@ use crate::utils::serde::{ DeserializationError, Serializable, }; -use crate::{AccountError, Felt}; // STORAGE SLOT TYPE // ================================================================================================ diff --git a/crates/miden-objects/src/address/address_id.rs b/crates/miden-objects/src/address/address_id.rs index 2974e66ac3..e1491411b8 100644 --- a/crates/miden-objects/src/address/address_id.rs +++ b/crates/miden-objects/src/address/address_id.rs @@ -4,10 +4,9 @@ use bech32::Bech32m; use bech32::primitives::decode::CheckedHrpstring; use miden_processor::DeserializationError; -use crate::AddressError; use crate::account::{AccountId, AccountStorageMode}; use crate::address::{AddressType, NetworkId}; -use crate::errors::Bech32Error; +use crate::errors::{AddressError, Bech32Error}; use crate::note::NoteTag; use crate::utils::serde::{ByteWriter, Deserializable, Serializable}; diff --git a/crates/miden-objects/src/address/interface.rs b/crates/miden-objects/src/address/interface.rs index 562feb2585..9884ebdc00 100644 --- a/crates/miden-objects/src/address/interface.rs +++ b/crates/miden-objects/src/address/interface.rs @@ -1,6 +1,6 @@ use core::fmt::{self, Display, Formatter}; -use crate::AddressError; +use crate::errors::AddressError; /// The account interface of an [`Address`](super::Address). /// diff --git a/crates/miden-objects/src/address/mod.rs b/crates/miden-objects/src/address/mod.rs index 142dd9e8b8..ada92cb247 100644 --- a/crates/miden-objects/src/address/mod.rs +++ b/crates/miden-objects/src/address/mod.rs @@ -16,9 +16,9 @@ pub use interface::AddressInterface; use miden_processor::DeserializationError; pub use network_id::{CustomNetworkId, NetworkId}; -use crate::AddressError; use crate::account::AccountStorageMode; use crate::crypto::ies::SealingKey; +use crate::errors::AddressError; use crate::note::NoteTag; use crate::utils::serde::{ByteWriter, Deserializable, Serializable}; @@ -245,10 +245,9 @@ mod tests { use bech32::{Bech32, Bech32m, NoChecksum}; use super::*; - use crate::AccountIdError; use crate::account::{AccountId, AccountType}; use crate::address::CustomNetworkId; - use crate::errors::Bech32Error; + use crate::errors::{AccountIdError, Bech32Error}; use crate::testing::account_id::{ACCOUNT_ID_PUBLIC_FUNGIBLE_FAUCET, AccountIdBuilder}; /// Tests that an account ID address can be encoded and decoded. diff --git a/crates/miden-objects/src/address/routing_parameters.rs b/crates/miden-objects/src/address/routing_parameters.rs index 5d173f9ee6..89c5f2e9f6 100644 --- a/crates/miden-objects/src/address/routing_parameters.rs +++ b/crates/miden-objects/src/address/routing_parameters.rs @@ -5,11 +5,10 @@ use alloc::vec::Vec; use bech32::primitives::decode::CheckedHrpstring; use bech32::{Bech32m, Hrp}; -use crate::AddressError; use crate::address::AddressInterface; use crate::crypto::dsa::{ecdsa_k256_keccak, eddsa_25519}; use crate::crypto::ies::SealingKey; -use crate::errors::Bech32Error; +use crate::errors::{AddressError, Bech32Error}; use crate::note::NoteTag; use crate::utils::serde::{ ByteReader, diff --git a/crates/miden-objects/src/address/type.rs b/crates/miden-objects/src/address/type.rs index 188755e28d..e3ee4f8fed 100644 --- a/crates/miden-objects/src/address/type.rs +++ b/crates/miden-objects/src/address/type.rs @@ -1,5 +1,4 @@ -use crate::AddressError; -use crate::errors::Bech32Error; +use crate::errors::{AddressError, Bech32Error}; /// The type of an [`Address`](super::Address) in Miden. /// diff --git a/crates/miden-objects/src/asset/mod.rs b/crates/miden-objects/src/asset/mod.rs index 3c3fc7d73c..094fdeb0d0 100644 --- a/crates/miden-objects/src/asset/mod.rs +++ b/crates/miden-objects/src/asset/mod.rs @@ -6,8 +6,9 @@ use super::utils::serde::{ DeserializationError, Serializable, }; -use super::{AssetError, Felt, Hasher, TokenSymbolError, Word, ZERO}; +use super::{Felt, Hasher, Word, ZERO}; use crate::account::AccountIdPrefix; +use crate::errors::{AssetError, TokenSymbolError}; mod fungible; use alloc::boxed::Box; diff --git a/crates/miden-objects/src/asset/vault/asset_witness.rs b/crates/miden-objects/src/asset/vault/asset_witness.rs index a1f79c4342..d5533d954a 100644 --- a/crates/miden-objects/src/asset/vault/asset_witness.rs +++ b/crates/miden-objects/src/asset/vault/asset_witness.rs @@ -3,8 +3,8 @@ use alloc::string::ToString; use miden_crypto::merkle::{InnerNodeInfo, SmtLeaf, SmtProof}; use super::vault_key::AssetVaultKey; -use crate::AssetError; use crate::asset::Asset; +use crate::errors::AssetError; use crate::utils::serde::{Deserializable, DeserializationError, Serializable}; /// A witness of an asset in an [`AssetVault`](super::AssetVault). diff --git a/crates/miden-objects/src/asset/vault/mod.rs b/crates/miden-objects/src/asset/vault/mod.rs index 88b57e0dcf..b8e72648f8 100644 --- a/crates/miden-objects/src/asset/vault/mod.rs +++ b/crates/miden-objects/src/asset/vault/mod.rs @@ -14,9 +14,10 @@ use super::{ NonFungibleAsset, Serializable, }; +use crate::Word; use crate::account::{AccountId, AccountVaultDelta, NonFungibleDeltaAction}; use crate::crypto::merkle::Smt; -use crate::{AssetVaultError, Word}; +use crate::errors::AssetVaultError; mod partial; pub use partial::PartialVault; diff --git a/crates/miden-objects/src/batch/input_output_note_tracker.rs b/crates/miden-objects/src/batch/input_output_note_tracker.rs index d18d3fe92e..296cf021e6 100644 --- a/crates/miden-objects/src/batch/input_output_note_tracker.rs +++ b/crates/miden-objects/src/batch/input_output_note_tracker.rs @@ -1,10 +1,11 @@ use alloc::collections::BTreeMap; use alloc::vec::Vec; +use crate::Word; use crate::batch::{BatchId, ProvenBatch}; use crate::block::{BlockHeader, BlockNumber}; use crate::crypto::merkle::MerkleError; -use crate::errors::ProposedBatchError; +use crate::errors::{ProposedBatchError, ProposedBlockError}; use crate::note::{NoteHeader, NoteId, NoteInclusionProof, Nullifier}; use crate::transaction::{ InputNoteCommitment, @@ -13,7 +14,6 @@ use crate::transaction::{ ProvenTransaction, TransactionId, }; -use crate::{ProposedBlockError, Word}; type BatchInputNotes = Vec; type BlockInputNotes = Vec; diff --git a/crates/miden-objects/src/block/account_tree/witness.rs b/crates/miden-objects/src/block/account_tree/witness.rs index 16ca22f451..1a18efcae6 100644 --- a/crates/miden-objects/src/block/account_tree/witness.rs +++ b/crates/miden-objects/src/block/account_tree/witness.rs @@ -10,10 +10,11 @@ use miden_crypto::merkle::{ SparseMerklePath, }; +use crate::Word; use crate::account::AccountId; use crate::block::account_tree::{account_id_to_smt_key, smt_key_to_account_id}; +use crate::errors::AccountTreeError; use crate::utils::{ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable}; -use crate::{AccountTreeError, Word}; // ACCOUNT WITNESS // ================================================================================================ diff --git a/crates/miden-objects/src/block/header.rs b/crates/miden-objects/src/block/header.rs index fec485c164..33b5f0f8dd 100644 --- a/crates/miden-objects/src/block/header.rs +++ b/crates/miden-objects/src/block/header.rs @@ -4,6 +4,7 @@ use alloc::vec::Vec; use crate::account::{AccountId, AccountType}; use crate::block::BlockNumber; use crate::crypto::dsa::ecdsa_k256_keccak::PublicKey; +use crate::errors::FeeError; use crate::utils::serde::{ ByteReader, ByteWriter, @@ -11,7 +12,7 @@ use crate::utils::serde::{ DeserializationError, Serializable, }; -use crate::{FeeError, Felt, Hasher, Word, ZERO}; +use crate::{Felt, Hasher, Word, ZERO}; // BLOCK HEADER // ================================================================================================ diff --git a/crates/miden-objects/src/block/nullifier_tree/mod.rs b/crates/miden-objects/src/block/nullifier_tree/mod.rs index ee8226a6b8..1e8d8a00b3 100644 --- a/crates/miden-objects/src/block/nullifier_tree/mod.rs +++ b/crates/miden-objects/src/block/nullifier_tree/mod.rs @@ -328,10 +328,11 @@ mod tests { use assert_matches::assert_matches; use super::NullifierTree; + use crate::Word; use crate::block::BlockNumber; use crate::block::nullifier_tree::NullifierBlock; + use crate::errors::NullifierTreeError; use crate::note::Nullifier; - use crate::{NullifierTreeError, Word}; #[test] fn leaf_value_encode_decode() { diff --git a/crates/miden-objects/src/lib.rs b/crates/miden-objects/src/lib.rs index d1ed2d7faf..ea116a2d4e 100644 --- a/crates/miden-objects/src/lib.rs +++ b/crates/miden-objects/src/lib.rs @@ -18,39 +18,12 @@ pub mod transaction; pub mod testing; mod constants; -mod errors; +pub mod errors; // RE-EXPORTS // ================================================================================================ pub use constants::*; -pub use errors::{ - AccountDeltaError, - AccountError, - AccountIdError, - AccountTreeError, - AddressError, - AssetError, - AssetVaultError, - AuthSchemeError, - BatchAccountUpdateError, - FeeError, - NetworkIdError, - NoteError, - NullifierTreeError, - PartialAssetVaultError, - PartialBlockchainError, - ProposedBatchError, - ProposedBlockError, - ProvenBatchError, - ProvenTransactionError, - StorageMapError, - StorageSlotNameError, - TokenSymbolError, - TransactionInputError, - TransactionOutputError, - TransactionScriptError, -}; pub use miden_core::mast::{MastForest, MastNodeId}; pub use miden_core::prettier::PrettyPrint; pub use miden_core::{EMPTY_WORD, Felt, FieldElement, ONE, StarkField, WORD_SIZE, ZERO}; diff --git a/crates/miden-objects/src/note/execution_hint.rs b/crates/miden-objects/src/note/execution_hint.rs index 90572de305..f7d57e5d6f 100644 --- a/crates/miden-objects/src/note/execution_hint.rs +++ b/crates/miden-objects/src/note/execution_hint.rs @@ -1,8 +1,9 @@ // NOTE EXECUTION HINT // ================================================================================================ +use crate::Felt; use crate::block::BlockNumber; -use crate::{Felt, NoteError}; +use crate::errors::NoteError; /// Specifies the conditions under which a note is ready to be consumed. /// These conditions are meant to be encoded in the note script as well. diff --git a/crates/miden-objects/src/note/mod.rs b/crates/miden-objects/src/note/mod.rs index 1ecf14bfa9..c64e02406c 100644 --- a/crates/miden-objects/src/note/mod.rs +++ b/crates/miden-objects/src/note/mod.rs @@ -3,7 +3,8 @@ use miden_crypto::utils::{ByteReader, ByteWriter, Deserializable, Serializable}; use miden_processor::DeserializationError; use crate::account::AccountId; -use crate::{Felt, Hasher, NoteError, WORD_SIZE, ZERO}; +use crate::errors::NoteError; +use crate::{Felt, Hasher, WORD_SIZE, ZERO}; mod assets; pub use assets::NoteAssets; diff --git a/crates/miden-objects/src/note/note_tag.rs b/crates/miden-objects/src/note/note_tag.rs index 4da8f012fb..abbae3101d 100644 --- a/crates/miden-objects/src/note/note_tag.rs +++ b/crates/miden-objects/src/note/note_tag.rs @@ -390,8 +390,8 @@ mod tests { use assert_matches::assert_matches; use super::{NoteExecutionMode, NoteTag}; - use crate::NoteError; use crate::account::AccountId; + use crate::errors::NoteError; use crate::note::NoteType; use crate::note::note_tag::{ LOCAL_ANY, diff --git a/crates/miden-objects/src/note/note_type.rs b/crates/miden-objects/src/note/note_type.rs index 9a5871da0d..f426ea58ab 100644 --- a/crates/miden-objects/src/note/note_type.rs +++ b/crates/miden-objects/src/note/note_type.rs @@ -1,6 +1,8 @@ use core::fmt::Display; use core::str::FromStr; +use crate::Felt; +use crate::errors::NoteError; use crate::utils::serde::{ ByteReader, ByteWriter, @@ -8,7 +10,6 @@ use crate::utils::serde::{ DeserializationError, Serializable, }; -use crate::{Felt, NoteError}; // CONSTANTS // ================================================================================================ diff --git a/crates/miden-objects/src/note/script.rs b/crates/miden-objects/src/note/script.rs index 457d72cfb5..eb11c82e0b 100644 --- a/crates/miden-objects/src/note/script.rs +++ b/crates/miden-objects/src/note/script.rs @@ -6,6 +6,7 @@ use miden_processor::MastNodeExt; use super::Felt; use crate::assembly::mast::{MastForest, MastNodeId}; +use crate::errors::NoteError; use crate::utils::serde::{ ByteReader, ByteWriter, @@ -14,7 +15,7 @@ use crate::utils::serde::{ Serializable, }; use crate::vm::Program; -use crate::{NoteError, PrettyPrint, Word}; +use crate::{PrettyPrint, Word}; // NOTE SCRIPT // ================================================================================================ diff --git a/crates/miden-objects/src/testing/asset.rs b/crates/miden-objects/src/testing/asset.rs index 1f6964d2aa..b1b12223bd 100644 --- a/crates/miden-objects/src/testing/asset.rs +++ b/crates/miden-objects/src/testing/asset.rs @@ -1,9 +1,9 @@ use rand::Rng; use rand::distr::StandardUniform; -use crate::AssetError; use crate::account::{AccountId, AccountIdPrefix, AccountType}; use crate::asset::{Asset, FungibleAsset, NonFungibleAsset, NonFungibleAssetDetails}; +use crate::errors::AssetError; use crate::testing::account_id::{ ACCOUNT_ID_PUBLIC_FUNGIBLE_FAUCET, ACCOUNT_ID_PUBLIC_NON_FUNGIBLE_FAUCET, diff --git a/crates/miden-objects/src/testing/partial_blockchain.rs b/crates/miden-objects/src/testing/partial_blockchain.rs index 4497abbdf3..325c12566e 100644 --- a/crates/miden-objects/src/testing/partial_blockchain.rs +++ b/crates/miden-objects/src/testing/partial_blockchain.rs @@ -1,7 +1,7 @@ use alloc::vec::Vec; -use crate::PartialBlockchainError; use crate::block::{BlockHeader, BlockNumber, Blockchain}; +use crate::errors::PartialBlockchainError; use crate::transaction::PartialBlockchain; impl PartialBlockchain { diff --git a/crates/miden-objects/src/transaction/inputs/mod.rs b/crates/miden-objects/src/transaction/inputs/mod.rs index 7e131e360a..6a0cd4af2a 100644 --- a/crates/miden-objects/src/transaction/inputs/mod.rs +++ b/crates/miden-objects/src/transaction/inputs/mod.rs @@ -4,10 +4,10 @@ use core::fmt::Debug; use miden_core::utils::{Deserializable, Serializable}; use super::PartialBlockchain; -use crate::TransactionInputError; use crate::account::{AccountCode, PartialAccount}; use crate::asset::AssetWitness; use crate::block::{BlockHeader, BlockNumber}; +use crate::errors::TransactionInputError; use crate::note::{Note, NoteInclusionProof}; use crate::transaction::{TransactionArgs, TransactionScript}; diff --git a/crates/miden-objects/src/transaction/inputs/notes.rs b/crates/miden-objects/src/transaction/inputs/notes.rs index 72cad6931f..6117ed88f1 100644 --- a/crates/miden-objects/src/transaction/inputs/notes.rs +++ b/crates/miden-objects/src/transaction/inputs/notes.rs @@ -1,7 +1,7 @@ use alloc::collections::BTreeSet; use alloc::vec::Vec; -use super::TransactionInputError; +use crate::errors::TransactionInputError; use crate::note::{Note, NoteId, NoteInclusionProof, NoteLocation, Nullifier}; use crate::transaction::InputNoteCommitment; use crate::utils::serde::{ @@ -373,7 +373,7 @@ mod input_notes_tests { use miden_core::Word; use super::InputNotes; - use crate::TransactionInputError; + use crate::errors::TransactionInputError; use crate::note::Note; use crate::transaction::InputNote; diff --git a/crates/miden-objects/src/transaction/outputs.rs b/crates/miden-objects/src/transaction/outputs.rs index f45e313a54..b4e6ac460e 100644 --- a/crates/miden-objects/src/transaction/outputs.rs +++ b/crates/miden-objects/src/transaction/outputs.rs @@ -6,6 +6,7 @@ use core::fmt::Debug; use crate::account::AccountHeader; use crate::asset::FungibleAsset; use crate::block::BlockNumber; +use crate::errors::TransactionOutputError; use crate::note::{ Note, NoteAssets, @@ -23,7 +24,7 @@ use crate::utils::serde::{ DeserializationError, Serializable, }; -use crate::{Felt, Hasher, MAX_OUTPUT_NOTES_PER_TX, TransactionOutputError, Word}; +use crate::{Felt, Hasher, MAX_OUTPUT_NOTES_PER_TX, Word}; // TRANSACTION OUTPUTS // ================================================================================================ @@ -336,9 +337,10 @@ mod output_notes_tests { use assert_matches::assert_matches; use super::OutputNotes; + use crate::Word; + use crate::errors::TransactionOutputError; use crate::note::Note; use crate::transaction::OutputNote; - use crate::{TransactionOutputError, Word}; #[test] fn test_duplicate_output_notes() -> anyhow::Result<()> { diff --git a/crates/miden-objects/src/transaction/partial_blockchain.rs b/crates/miden-objects/src/transaction/partial_blockchain.rs index 4fcf3d0d94..1a99214ed6 100644 --- a/crates/miden-objects/src/transaction/partial_blockchain.rs +++ b/crates/miden-objects/src/transaction/partial_blockchain.rs @@ -2,9 +2,9 @@ use alloc::collections::BTreeMap; use alloc::vec::Vec; use core::ops::RangeTo; -use crate::PartialBlockchainError; use crate::block::{BlockHeader, BlockNumber}; use crate::crypto::merkle::{InnerNodeInfo, MmrPeaks, PartialMmr}; +use crate::errors::PartialBlockchainError; use crate::utils::serde::{Deserializable, Serializable}; // PARTIAL BLOCKCHAIN @@ -281,12 +281,13 @@ mod tests { use rand_chacha::ChaCha20Rng; use super::PartialBlockchain; + use crate::Word; use crate::alloc::vec::Vec; use crate::block::{BlockHeader, BlockNumber, FeeParameters}; use crate::crypto::dsa::ecdsa_k256_keccak::SecretKey; use crate::crypto::merkle::{Mmr, PartialMmr}; + use crate::errors::PartialBlockchainError; use crate::testing::account_id::ACCOUNT_ID_PUBLIC_FUNGIBLE_FAUCET; - use crate::{PartialBlockchainError, Word}; #[test] fn test_partial_blockchain_add() { diff --git a/crates/miden-objects/src/transaction/proven_tx.rs b/crates/miden-objects/src/transaction/proven_tx.rs index 0e25ba6e5d..3354b5a8c5 100644 --- a/crates/miden-objects/src/transaction/proven_tx.rs +++ b/crates/miden-objects/src/transaction/proven_tx.rs @@ -7,6 +7,7 @@ use crate::account::Account; use crate::account::delta::AccountUpdateDetails; use crate::asset::FungibleAsset; use crate::block::BlockNumber; +use crate::errors::ProvenTransactionError; use crate::note::NoteHeader; use crate::transaction::{ AccountId, @@ -24,7 +25,7 @@ use crate::utils::serde::{ Serializable, }; use crate::vm::ExecutionProof; -use crate::{ACCOUNT_UPDATE_MAX_SIZE, ProvenTransactionError, Word}; +use crate::{ACCOUNT_UPDATE_MAX_SIZE, Word}; // PROVEN TRANSACTION // ================================================================================================ @@ -705,6 +706,7 @@ mod tests { }; use crate::asset::FungibleAsset; use crate::block::BlockNumber; + use crate::errors::ProvenTransactionError; use crate::testing::account_id::{ ACCOUNT_ID_PRIVATE_SENDER, ACCOUNT_ID_REGULAR_PUBLIC_ACCOUNT_IMMUTABLE_CODE, @@ -713,14 +715,7 @@ mod tests { use crate::testing::noop_auth_component::NoopAuthComponent; use crate::transaction::{ProvenTransactionBuilder, TxAccountUpdate}; use crate::utils::Serializable; - use crate::{ - ACCOUNT_UPDATE_MAX_SIZE, - EMPTY_WORD, - LexicographicWord, - ONE, - ProvenTransactionError, - Word, - }; + use crate::{ACCOUNT_UPDATE_MAX_SIZE, EMPTY_WORD, LexicographicWord, ONE, Word}; fn check_if_sync() {} fn check_if_send() {} diff --git a/crates/miden-testing/src/kernel_tests/batch/proposed_batch.rs b/crates/miden-testing/src/kernel_tests/batch/proposed_batch.rs index 78b1d61eb3..ee842899d8 100644 --- a/crates/miden-testing/src/kernel_tests/batch/proposed_batch.rs +++ b/crates/miden-testing/src/kernel_tests/batch/proposed_batch.rs @@ -5,14 +5,15 @@ use anyhow::Context; use assert_matches::assert_matches; use miden_lib::testing::account_component::MockAccountComponent; use miden_lib::testing::note::NoteBuilder; +use miden_objects::Word; use miden_objects::account::{Account, AccountId, AccountStorageMode}; use miden_objects::batch::ProposedBatch; use miden_objects::block::BlockNumber; use miden_objects::crypto::merkle::MerkleError; +use miden_objects::errors::{BatchAccountUpdateError, ProposedBatchError}; use miden_objects::note::{Note, NoteType}; use miden_objects::testing::account_id::AccountIdBuilder; use miden_objects::transaction::{InputNote, InputNoteCommitment, OutputNote, PartialBlockchain}; -use miden_objects::{BatchAccountUpdateError, ProposedBatchError, Word}; use rand::rngs::SmallRng; use rand::{Rng, SeedableRng}; diff --git a/crates/miden-testing/src/kernel_tests/block/header_errors.rs b/crates/miden-testing/src/kernel_tests/block/header_errors.rs index 21c4d9f66c..e7bb65cc69 100644 --- a/crates/miden-testing/src/kernel_tests/block/header_errors.rs +++ b/crates/miden-testing/src/kernel_tests/block/header_errors.rs @@ -5,6 +5,7 @@ use assert_matches::assert_matches; use miden_lib::block::build_block; use miden_lib::testing::account_component::{IncrNonceAuthComponent, MockAccountComponent}; use miden_lib::testing::mock_account::MockAccountExt; +use miden_objects::Word; use miden_objects::account::delta::AccountUpdateDetails; use miden_objects::account::{ Account, @@ -17,10 +18,10 @@ use miden_objects::account::{ use miden_objects::asset::FungibleAsset; use miden_objects::batch::ProvenBatch; use miden_objects::block::{BlockInputs, BlockNumber, ProposedBlock}; +use miden_objects::errors::{AccountTreeError, NullifierTreeError, ProposedBlockError}; use miden_objects::note::NoteType; use miden_objects::transaction::ProvenTransactionBuilder; use miden_objects::vm::ExecutionProof; -use miden_objects::{AccountTreeError, NullifierTreeError, ProposedBlockError, Word}; use miden_tx::LocalTransactionProver; use crate::kernel_tests::block::utils::MockChainBlockExt; diff --git a/crates/miden-testing/src/kernel_tests/block/proposed_block_errors.rs b/crates/miden-testing/src/kernel_tests/block/proposed_block_errors.rs index b2b0b879fa..aee4d31ecb 100644 --- a/crates/miden-testing/src/kernel_tests/block/proposed_block_errors.rs +++ b/crates/miden-testing/src/kernel_tests/block/proposed_block_errors.rs @@ -7,8 +7,9 @@ use miden_lib::note::create_p2id_note; use miden_objects::asset::FungibleAsset; use miden_objects::block::{BlockInputs, BlockNumber, ProposedBlock}; use miden_objects::crypto::merkle::SparseMerklePath; +use miden_objects::errors::ProposedBlockError; use miden_objects::note::{NoteInclusionProof, NoteType}; -use miden_objects::{MAX_BATCHES_PER_BLOCK, ProposedBlockError, ZERO}; +use miden_objects::{MAX_BATCHES_PER_BLOCK, ZERO}; use miden_processor::crypto::MerklePath; use miden_tx::LocalTransactionProver; diff --git a/crates/miden-testing/src/kernel_tests/tx/test_asset_vault.rs b/crates/miden-testing/src/kernel_tests/tx/test_asset_vault.rs index 37b492d8cc..b1f47386c4 100644 --- a/crates/miden-testing/src/kernel_tests/tx/test_asset_vault.rs +++ b/crates/miden-testing/src/kernel_tests/tx/test_asset_vault.rs @@ -9,13 +9,14 @@ use miden_lib::errors::tx_kernel_errors::{ use miden_lib::transaction::memory; use miden_objects::account::AccountId; use miden_objects::asset::{Asset, FungibleAsset, NonFungibleAsset, NonFungibleAssetDetails}; +use miden_objects::errors::AssetVaultError; use miden_objects::testing::account_id::{ ACCOUNT_ID_PUBLIC_FUNGIBLE_FAUCET, ACCOUNT_ID_PUBLIC_NON_FUNGIBLE_FAUCET, ACCOUNT_ID_PUBLIC_NON_FUNGIBLE_FAUCET_1, }; use miden_objects::testing::constants::{FUNGIBLE_ASSET_AMOUNT, NON_FUNGIBLE_ASSET_DATA}; -use miden_objects::{AssetVaultError, Felt, ONE, Word, ZERO}; +use miden_objects::{Felt, ONE, Word, ZERO}; use crate::kernel_tests::tx::ExecutionOutputExt; use crate::{TransactionContextBuilder, assert_execution_error}; diff --git a/crates/miden-testing/src/mock_chain/chain_builder.rs b/crates/miden-testing/src/mock_chain/chain_builder.rs index f3adace37b..324d7fbaff 100644 --- a/crates/miden-testing/src/mock_chain/chain_builder.rs +++ b/crates/miden-testing/src/mock_chain/chain_builder.rs @@ -46,11 +46,12 @@ use miden_objects::block::{ }; use miden_objects::crypto::dsa::ecdsa_k256_keccak::SecretKey; use miden_objects::crypto::merkle::Smt; +use miden_objects::errors::NoteError; use miden_objects::note::{Note, NoteDetails, NoteType}; use miden_objects::testing::account_id::ACCOUNT_ID_NATIVE_ASSET_FAUCET; use miden_objects::testing::random_signer::RandomBlockSigner; use miden_objects::transaction::{OrderedTransactionHeaders, OutputNote}; -use miden_objects::{Felt, FieldElement, MAX_OUTPUT_NOTES_PER_BATCH, NoteError, Word, ZERO}; +use miden_objects::{Felt, FieldElement, MAX_OUTPUT_NOTES_PER_BATCH, Word, ZERO}; use miden_processor::crypto::RpoRandomCoin; use rand::Rng; diff --git a/crates/miden-testing/tests/scripts/swap.rs b/crates/miden-testing/tests/scripts/swap.rs index 748b641421..3ac7e59494 100644 --- a/crates/miden-testing/tests/scripts/swap.rs +++ b/crates/miden-testing/tests/scripts/swap.rs @@ -3,6 +3,7 @@ use miden_lib::note::utils; use miden_lib::utils::CodeBuilder; use miden_objects::account::{Account, AccountId, AccountStorageMode, AccountType}; use miden_objects::asset::{Asset, FungibleAsset, NonFungibleAsset}; +use miden_objects::errors::NoteError; use miden_objects::note::{ Note, NoteAssets, @@ -18,7 +19,7 @@ use miden_objects::testing::account_id::{ AccountIdBuilder, }; use miden_objects::transaction::OutputNote; -use miden_objects::{Felt, NoteError, Word}; +use miden_objects::{Felt, Word}; use miden_testing::{Auth, MockChain}; use crate::prove_and_verify_transaction; diff --git a/crates/miden-tx-batch-prover/src/local_batch_prover.rs b/crates/miden-tx-batch-prover/src/local_batch_prover.rs index 3636f61ac5..aa8ca92abd 100644 --- a/crates/miden-tx-batch-prover/src/local_batch_prover.rs +++ b/crates/miden-tx-batch-prover/src/local_batch_prover.rs @@ -1,7 +1,7 @@ use alloc::boxed::Box; -use miden_objects::ProvenBatchError; use miden_objects::batch::{ProposedBatch, ProvenBatch}; +use miden_objects::errors::ProvenBatchError; use miden_tx::TransactionVerifier; // LOCAL BATCH PROVER diff --git a/crates/miden-tx/src/errors/mod.rs b/crates/miden-tx/src/errors/mod.rs index 3b51d5ee1d..01c35632b9 100644 --- a/crates/miden-tx/src/errors/mod.rs +++ b/crates/miden-tx/src/errors/mod.rs @@ -9,19 +9,18 @@ use miden_objects::assembly::diagnostics::reporting::PrintDiagnostic; use miden_objects::asset::AssetVaultKey; use miden_objects::block::BlockNumber; use miden_objects::crypto::merkle::SmtProofError; -use miden_objects::note::{NoteId, NoteMetadata}; -use miden_objects::transaction::TransactionSummary; -use miden_objects::{ +use miden_objects::errors::{ AccountDeltaError, AccountError, AssetError, - Felt, NoteError, ProvenTransactionError, TransactionInputError, TransactionOutputError, - Word, }; +use miden_objects::note::{NoteId, NoteMetadata}; +use miden_objects::transaction::TransactionSummary; +use miden_objects::{Felt, Word}; use miden_processor::{DeserializationError, ExecutionError}; use miden_verifier::VerificationError; use thiserror::Error; From 19a61c1c73413bcf5e737e6fbc2a55dc8c88e916 Mon Sep 17 00:00:00 2001 From: Peponks9 Date: Thu, 18 Dec 2025 13:43:00 -0600 Subject: [PATCH 2/2] CHANGELOG.md entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index baa11c1f57..82800a04a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ - [BREAKING] Made `AccountProcedureIndexMap` construction infallible ([#2163](https://github.com/0xMiden/miden-base/pull/2163)). - [BREAKING] Renamed `tracked_procedure_roots_slot` to `trigger_procedure_roots_slot` in ACL auth components for naming consistency ([#2166](https://github.com/0xMiden/miden-base/pull/2166)). - [BREAKING] Refactored `AccountStorageDelta` to use a new `StorageSlotDelta` type ([#2182](https://github.com/0xMiden/miden-base/pull/2182)). +- Exposed the `errors` module from `miden-objects` and removed the root-level error re-exports ([#2196](https://github.com/0xMiden/miden-base/issues/2196)). ## 0.12.4 (2025-11-26)