From 7b41038aed56cee7e1de1dd70cd00836d3e1f4ca Mon Sep 17 00:00:00 2001 From: Marti Date: Thu, 19 Feb 2026 15:53:00 +0000 Subject: [PATCH 1/8] chore: migrate to base 0904e2c61 Co-authored-by: marti --- Cargo.lock | 114 ++++++++------- bin/network-monitor/src/counter.rs | 12 +- bin/network-monitor/src/deploy/counter.rs | 6 +- bin/stress-test/src/seeding/mod.rs | 15 +- crates/block-producer/src/server/tests.rs | 7 +- crates/ntx-builder/src/actor/account_state.rs | 6 +- crates/proto/src/domain/note.rs | 2 +- crates/rpc/src/tests.rs | 2 +- .../store/src/db/models/queries/accounts.rs | 6 +- .../src/db/models/queries/accounts/tests.rs | 61 +++++--- crates/store/src/db/models/queries/notes.rs | 2 +- crates/store/src/db/tests.rs | 135 ++++++++++-------- crates/store/src/genesis/config/mod.rs | 31 ++-- crates/store/src/genesis/config/tests.rs | 2 +- crates/store/src/genesis/mod.rs | 13 +- crates/store/src/inner_forest/tests.rs | 10 +- 16 files changed, 241 insertions(+), 183 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 77b90c989b..479bf95be9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,6 +27,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom 0.2.17", + "once_cell", + "version_check", +] + [[package]] name = "ahash" version = "0.8.12" @@ -121,7 +132,7 @@ version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -132,7 +143,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -1737,7 +1748,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -2107,6 +2118,9 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.8", +] [[package]] name = "hashbrown" @@ -2599,7 +2613,7 @@ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi 0.5.2", "libc", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -2970,12 +2984,13 @@ dependencies = [ [[package]] name = "miden-agglayer" version = "0.14.0" -source = "git+https://github.com/0xMiden/miden-base?branch=next#33eabfe45ab67bdfb9f7d8907b8d50298c6b182e" +source = "git+https://github.com/0xMiden/miden-base?branch=next#0904e2c610ab49bf6ee13cf349c05c8621f23cd2" dependencies = [ "fs-err", "miden-assembly", "miden-core", "miden-core-lib", + "miden-crypto", "miden-protocol", "miden-standards", "miden-utils-sync", @@ -2985,9 +3000,9 @@ dependencies = [ [[package]] name = "miden-air" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab2f1db9cdbd5da3eaf07fa0a8122d27b575f96b0699388c98f6c0e468cb9c1f" +checksum = "5cca9632323bd4e32ae5b21b101ed417a646f5d72196b1bf3f1ca889a148322a" dependencies = [ "miden-core", "miden-utils-indexing", @@ -2998,9 +3013,9 @@ dependencies = [ [[package]] name = "miden-assembly" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4aba6bc5cfda2393ecc032b55caabde289fb980650560f8333803db4e48f09" +checksum = "2395b2917aea613a285d3425d1ca07e6c45442e2b34febdea2081db555df62fc" dependencies = [ "env_logger", "log", @@ -3013,9 +3028,9 @@ dependencies = [ [[package]] name = "miden-assembly-syntax" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23eae66f2a55c2a0666f4ed896b61797845b528435ad2bae41fd9a221f94bad7" +checksum = "1f9bed037d137f209b9e7b28811ec78c0536b3f9259d6f4ceb5823c87513b346" dependencies = [ "aho-corasick", "env_logger", @@ -3038,7 +3053,7 @@ dependencies = [ [[package]] name = "miden-block-prover" version = "0.14.0" -source = "git+https://github.com/0xMiden/miden-base?branch=next#33eabfe45ab67bdfb9f7d8907b8d50298c6b182e" +source = "git+https://github.com/0xMiden/miden-base?branch=next#0904e2c610ab49bf6ee13cf349c05c8621f23cd2" dependencies = [ "miden-protocol", "thiserror 2.0.18", @@ -3046,9 +3061,9 @@ dependencies = [ [[package]] name = "miden-core" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2716bb01f07f0b19398e3d9785e23a724b89aef64d614a9073c1d44c6898a9a9" +checksum = "8714aa5f86c59e647b7417126b32adc4ef618f835964464f5425549df76b6d03" dependencies = [ "derive_more", "itertools 0.14.0", @@ -3068,9 +3083,9 @@ dependencies = [ [[package]] name = "miden-core-lib" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ac97f4fb334ee842663f99f33677beacc7bdf4b7d4eeff419c2cd98a5a68bfa" +checksum = "1bb16a4d39202c59a7964d3585cd5af21a46a759ff6452cb5f20723ed5af4362" dependencies = [ "env_logger", "fs-err", @@ -3130,9 +3145,9 @@ dependencies = [ [[package]] name = "miden-debug-types" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b421786850ce05627355ee616c4a5fdc4a9ad1591859ede5e5564ab74aa4abd2" +checksum = "cd1494f102ad5b9fa43e391d2601186dc601f41ab7dcd8a23ecca9bf3ef930f4" dependencies = [ "memchr", "miden-crypto", @@ -3157,9 +3172,9 @@ dependencies = [ [[package]] name = "miden-mast-package" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "169025a61c2ca2e8a0f53f20a7bdcbdd1f8e34f528676137208bff64944652bb" +checksum = "692185bfbe0ecdb28bf623f1f8c88282cd6727ba081a28e23b301bdde1b45be4" dependencies = [ "derive_more", "miden-assembly-syntax", @@ -3548,9 +3563,9 @@ dependencies = [ [[package]] name = "miden-processor" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18a6a5eebe64e81a29be6321ee8f4478c6bfaf619b7689825884e8cd308c044" +checksum = "0e09f7916b1e7505f74a50985a185fdea4c0ceb8f854a34c90db28e3f7da7ab6" dependencies = [ "itertools 0.14.0", "miden-air", @@ -3569,7 +3584,7 @@ dependencies = [ [[package]] name = "miden-protocol" version = "0.14.0" -source = "git+https://github.com/0xMiden/miden-base?branch=next#33eabfe45ab67bdfb9f7d8907b8d50298c6b182e" +source = "git+https://github.com/0xMiden/miden-base?branch=next#0904e2c610ab49bf6ee13cf349c05c8621f23cd2" dependencies = [ "bech32", "fs-err", @@ -3599,7 +3614,7 @@ dependencies = [ [[package]] name = "miden-protocol-macros" version = "0.14.0" -source = "git+https://github.com/0xMiden/miden-base?branch=next#33eabfe45ab67bdfb9f7d8907b8d50298c6b182e" +source = "git+https://github.com/0xMiden/miden-base?branch=next#0904e2c610ab49bf6ee13cf349c05c8621f23cd2" dependencies = [ "proc-macro2", "quote", @@ -3608,9 +3623,9 @@ dependencies = [ [[package]] name = "miden-prover" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83070f0ca1a08235362e990238b6487191f814054aaebcc40883a073fdcd18f9" +checksum = "d45e30526be72b8af0fd1d8b24c9cba8ac1187ca335dcee38b8e5e20234e7698" dependencies = [ "miden-air", "miden-debug-types", @@ -3690,7 +3705,7 @@ dependencies = [ [[package]] name = "miden-standards" version = "0.14.0" -source = "git+https://github.com/0xMiden/miden-base?branch=next#33eabfe45ab67bdfb9f7d8907b8d50298c6b182e" +source = "git+https://github.com/0xMiden/miden-base?branch=next#0904e2c610ab49bf6ee13cf349c05c8621f23cd2" dependencies = [ "fs-err", "miden-assembly", @@ -3707,7 +3722,7 @@ dependencies = [ [[package]] name = "miden-testing" version = "0.14.0" -source = "git+https://github.com/0xMiden/miden-base?branch=next#33eabfe45ab67bdfb9f7d8907b8d50298c6b182e" +source = "git+https://github.com/0xMiden/miden-base?branch=next#0904e2c610ab49bf6ee13cf349c05c8621f23cd2" dependencies = [ "anyhow", "itertools 0.14.0", @@ -3715,6 +3730,7 @@ dependencies = [ "miden-assembly", "miden-block-prover", "miden-core-lib", + "miden-crypto", "miden-processor", "miden-protocol", "miden-standards", @@ -3729,7 +3745,7 @@ dependencies = [ [[package]] name = "miden-tx" version = "0.14.0" -source = "git+https://github.com/0xMiden/miden-base?branch=next#33eabfe45ab67bdfb9f7d8907b8d50298c6b182e" +source = "git+https://github.com/0xMiden/miden-base?branch=next#0904e2c610ab49bf6ee13cf349c05c8621f23cd2" dependencies = [ "miden-processor", "miden-protocol", @@ -3742,7 +3758,7 @@ dependencies = [ [[package]] name = "miden-tx-batch-prover" version = "0.14.0" -source = "git+https://github.com/0xMiden/miden-base?branch=next#33eabfe45ab67bdfb9f7d8907b8d50298c6b182e" +source = "git+https://github.com/0xMiden/miden-base?branch=next#0904e2c610ab49bf6ee13cf349c05c8621f23cd2" dependencies = [ "miden-protocol", "miden-tx", @@ -3750,9 +3766,9 @@ dependencies = [ [[package]] name = "miden-utils-core-derive" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9fc6d350fb9ad44797e8d0a1feaacaa6ee4079ef752d9ababc101ffc40ec354" +checksum = "a1b1d490e6d7b509622d3c2cc69ffd66ad48bf953dc614579b568fe956ce0a6c" dependencies = [ "proc-macro2", "quote", @@ -3761,9 +3777,9 @@ dependencies = [ [[package]] name = "miden-utils-diagnostics" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af2462fb2e750247a56264eddf40e2e1c8d96ff9379abe73acbcbe81e530e1d5" +checksum = "52658f6dc091c1c78e8b35ee3e7ff3dad53051971a3c514e461f581333758fe7" dependencies = [ "miden-crypto", "miden-debug-types", @@ -3774,18 +3790,18 @@ dependencies = [ [[package]] name = "miden-utils-indexing" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57046b5c263b78e7fa5a6e328ca852e6319cf844faa26fbdcbb128ec555deb2a" +checksum = "eeff7bcb7875b222424bdfb657a7cf21a55e036aa7558ebe1f5d2e413b440d0d" dependencies = [ "thiserror 2.0.18", ] [[package]] name = "miden-utils-sync" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d3e129b62099672a1ffc012ab2e26ee7f2b35e4ca18ca1f726b88c53546ddd" +checksum = "41d53d1ab5b275d8052ad9c4121071cb184bc276ee74354b0d8a2075e5c1d1f0" dependencies = [ "lock_api", "loom", @@ -3794,9 +3810,9 @@ dependencies = [ [[package]] name = "miden-verifier" -version = "0.20.3" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe033af062937938ded511e5238db3bf8e0c1a30205850d62fb23271b3c96f85" +checksum = "b13816663794beb15c8a4721c15252eb21f3b3233525684f60c7888837a98ff4" dependencies = [ "miden-air", "miden-core", @@ -3995,7 +4011,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -4388,7 +4404,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ef622051fbb2cb98a524df3a8112f02d0919ccda600a44d705ec550f1a28fe2" dependencies = [ - "ahash", + "ahash 0.8.12", "async-trait", "blake2", "bytes", @@ -4424,7 +4440,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76f63d3f67d99c95a1f85623fc43242fd644dd12ccbaa18c38a54e1580c6846a" dependencies = [ - "ahash", + "ahash 0.8.12", "async-trait", "brotli", "bytes", @@ -4514,7 +4530,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b93c897e8cc04ff0d077ee2a655142910618222aeefc83f7f99f5b9fc59ccb13" dependencies = [ - "ahash", + "ahash 0.8.12", ] [[package]] @@ -4546,7 +4562,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba89e4400cb978f0d7be1c14bd7ab4168c8e2c00d97ff19f964fc0048780237c" dependencies = [ "arrayvec", - "hashbrown 0.16.1", + "hashbrown 0.12.3", "parking_lot", "rand 0.8.5", ] @@ -5382,7 +5398,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.11.0", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -6058,7 +6074,7 @@ dependencies = [ "getrandom 0.3.4", "once_cell", "rustix 1.1.3", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -6067,7 +6083,7 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8c27177b12a6399ffc08b98f76f7c9a1f4fe9fc967c784c5a071fa8d93cf7e1" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -7053,7 +7069,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] diff --git a/bin/network-monitor/src/counter.rs b/bin/network-monitor/src/counter.rs index c2b9d0835a..b1633b218a 100644 --- a/bin/network-monitor/src/counter.rs +++ b/bin/network-monitor/src/counter.rs @@ -21,12 +21,10 @@ use miden_protocol::note::{ Note, NoteAssets, NoteAttachment, - NoteExecutionHint, NoteMetadata, NoteRecipient, NoteScript, NoteStorage, - NoteTag, NoteType, }; use miden_protocol::transaction::{InputNotes, PartialBlockchain, TransactionArgs}; @@ -34,7 +32,7 @@ use miden_protocol::utils::Deserializable; use miden_protocol::{Felt, Word}; use miden_standards::account::interface::{AccountInterface, AccountInterfaceExt}; use miden_standards::code_builder::CodeBuilder; -use miden_standards::note::NetworkAccountTarget; +use miden_standards::note::{NetworkAccountTarget, NoteExecutionHint}; use miden_tx::auth::BasicAuthenticator; use miden_tx::utils::Serializable; use miden_tx::{LocalTransactionProver, TransactionExecutor}; @@ -858,12 +856,8 @@ fn create_network_note( .context("Failed to create NetworkAccountTarget for counter account")?; let attachment: NoteAttachment = target.into(); - let metadata = NoteMetadata::new( - wallet_account.id(), - NoteType::Public, - NoteTag::with_account_target(counter_account.id()), - ) - .with_attachment(attachment); + let metadata = + NoteMetadata::new(wallet_account.id(), NoteType::Public).with_attachment(attachment); let serial_num = Word::new([ Felt::new(rng.random()), diff --git a/bin/network-monitor/src/deploy/counter.rs b/bin/network-monitor/src/deploy/counter.rs index a5ab3d3638..e517beb063 100644 --- a/bin/network-monitor/src/deploy/counter.rs +++ b/bin/network-monitor/src/deploy/counter.rs @@ -3,6 +3,7 @@ use std::path::Path; use anyhow::Result; +use miden_protocol::account::component::AccountComponentMetadata; use miden_protocol::account::{ Account, AccountBuilder, @@ -53,8 +54,9 @@ pub fn create_counter_account(owner_account_id: AccountId) -> Result { let component_code = CodeBuilder::default().compile_component_code("counter::program", script)?; - let account_code = AccountComponent::new(component_code, vec![counter_slot, owner_id_slot])? - .with_supports_all_types(); + let metadata = AccountComponentMetadata::new("counter::program").with_supports_all_types(); + let account_code = + AccountComponent::new(component_code, vec![counter_slot, owner_id_slot], metadata)?; let incr_nonce_auth: AccountComponent = IncrNonceAuthComponent.into(); diff --git a/bin/stress-test/src/seeding/mod.rs b/bin/stress-test/src/seeding/mod.rs index c77d50c776..70cbf04fda 100644 --- a/bin/stress-test/src/seeding/mod.rs +++ b/bin/stress-test/src/seeding/mod.rs @@ -16,7 +16,6 @@ use miden_protocol::account::{ AccountBuilder, AccountDelta, AccountId, - AccountStorage, AccountStorageMode, AccountType, }; @@ -50,7 +49,7 @@ use miden_protocol::{Felt, ONE, Word}; use miden_standards::account::auth::AuthFalcon512Rpo; use miden_standards::account::faucets::BasicFungibleFaucet; use miden_standards::account::wallets::BasicWallet; -use miden_standards::note::create_p2id_note; +use miden_standards::note::P2idNote; use rand::Rng; use rayon::iter::{IntoParallelIterator, ParallelIterator}; use rayon::prelude::ParallelSlice; @@ -308,7 +307,7 @@ fn create_accounts_and_notes( /// specified `faucet_id` and sent to the specified target account. fn create_note(faucet_id: AccountId, target_id: AccountId, rng: &mut RpoRandomCoin) -> Note { let asset = Asset::Fungible(FungibleAsset::new(faucet_id, 10).unwrap()); - create_p2id_note( + P2idNote::create( faucet_id, target_id, vec![asset], @@ -418,7 +417,7 @@ fn create_consume_note_tx( ProvenTransactionBuilder::new( account.id(), init_hash, - account.commitment(), + account.to_commitment(), account_delta_commitment, block_ref.block_num(), block_ref.commitment(), @@ -439,13 +438,13 @@ fn create_emit_note_tx( faucet: &mut Account, output_notes: Vec, ) -> ProvenTransaction { - let initial_account_hash = faucet.commitment(); + let initial_account_hash = faucet.to_commitment(); - let metadata_slot_name = AccountStorage::faucet_sysdata_slot(); + let metadata_slot_name = BasicFungibleFaucet::metadata_slot(); let slot = faucet.storage().get_item(metadata_slot_name).unwrap(); faucet .storage_mut() - .set_item(metadata_slot_name, [slot[0], slot[1], slot[2], slot[3] + Felt::new(10)].into()) + .set_item(metadata_slot_name, [slot[0] + Felt::new(10), slot[1], slot[2], slot[3]].into()) .unwrap(); faucet.increment_nonce(ONE).unwrap(); @@ -453,7 +452,7 @@ fn create_emit_note_tx( ProvenTransactionBuilder::new( faucet.id(), initial_account_hash, - faucet.commitment(), + faucet.to_commitment(), Word::empty(), block_ref.block_num(), block_ref.commitment(), diff --git a/crates/block-producer/src/server/tests.rs b/crates/block-producer/src/server/tests.rs index b97a946a90..63aa983db2 100644 --- a/crates/block-producer/src/server/tests.rs +++ b/crates/block-producer/src/server/tests.rs @@ -5,8 +5,7 @@ use miden_node_proto::generated::block_producer::api_client as block_producer_cl use miden_node_store::{GenesisState, Store}; use miden_node_utils::fee::test_fee_params; use miden_node_validator::{Validator, ValidatorSigner}; -use miden_protocol::crypto::dsa::ecdsa_k256_keccak::SecretKey; -use miden_protocol::testing::random_signer::RandomBlockSigner as _; +use miden_protocol::testing::random_secret_key::random_secret_key; use tokio::net::TcpListener; use tokio::time::sleep; use tokio::{runtime, task}; @@ -49,7 +48,7 @@ async fn block_producer_startup_is_robust_to_network_failures() { Validator { address: validator_addr, grpc_timeout, - signer: ValidatorSigner::new_local(SecretKey::random()), + signer: ValidatorSigner::new_local(random_secret_key()), data_directory, } .serve() @@ -130,7 +129,7 @@ async fn start_store( store_addr: std::net::SocketAddr, data_directory: &std::path::Path, ) -> runtime::Runtime { - let genesis_state = GenesisState::new(vec![], test_fee_params(), 1, 1, SecretKey::random()); + let genesis_state = GenesisState::new(vec![], test_fee_params(), 1, 1, random_secret_key()); Store::bootstrap(genesis_state.clone(), data_directory) .await .expect("store should bootstrap"); diff --git a/crates/ntx-builder/src/actor/account_state.rs b/crates/ntx-builder/src/actor/account_state.rs index b58cfd6928..61a7977122 100644 --- a/crates/ntx-builder/src/actor/account_state.rs +++ b/crates/ntx-builder/src/actor/account_state.rs @@ -378,11 +378,11 @@ mod tests { use miden_protocol::account::{AccountBuilder, AccountStorageMode, AccountType}; use miden_protocol::asset::{Asset, FungibleAsset}; use miden_protocol::crypto::rand::RpoRandomCoin; - use miden_protocol::note::{Note, NoteAttachment, NoteExecutionHint, NoteType}; + use miden_protocol::note::{Note, NoteAttachment, NoteType}; use miden_protocol::testing::account_id::AccountIdBuilder; use miden_protocol::transaction::TransactionId; use miden_protocol::{EMPTY_WORD, Felt, Hasher}; - use miden_standards::note::{NetworkAccountTarget, create_p2id_note}; + use miden_standards::note::{NetworkAccountTarget, NoteExecutionHint, P2idNote}; use super::*; @@ -427,7 +427,7 @@ mod tests { .expect("NetworkAccountTarget creation should succeed for network account"); let attachment: NoteAttachment = target.into(); - create_p2id_note( + P2idNote::create( target_account_id, target_account_id, vec![Asset::Fungible(FungibleAsset::new(faucet_id, 10).unwrap())], diff --git a/crates/proto/src/domain/note.rs b/crates/proto/src/domain/note.rs index 1f7c9cb0db..fa8425d987 100644 --- a/crates/proto/src/domain/note.rs +++ b/crates/proto/src/domain/note.rs @@ -71,7 +71,7 @@ impl TryFrom for NoteMetadata { .map_err(|err| ConversionError::deserialization_error("NoteAttachment", err))? }; - Ok(NoteMetadata::new(sender, note_type, tag).with_attachment(attachment)) + Ok(NoteMetadata::new(sender, note_type).with_tag(tag).with_attachment(attachment)) } } diff --git a/crates/rpc/src/tests.rs b/crates/rpc/src/tests.rs index 9c69d28185..172f2266ad 100644 --- a/crates/rpc/src/tests.rs +++ b/crates/rpc/src/tests.rs @@ -74,7 +74,7 @@ fn build_test_proven_tx(account: &Account, delta: &AccountDelta) -> ProvenTransa ProvenTransactionBuilder::new( account_id, [8; 32].try_into().unwrap(), - account.commitment(), + account.to_commitment(), delta.to_commitment(), 0.into(), Word::default(), diff --git a/crates/store/src/db/models/queries/accounts.rs b/crates/store/src/db/models/queries/accounts.rs index 06a58bd7fd..326b43a7a4 100644 --- a/crates/store/src/db/models/queries/accounts.rs +++ b/crates/store/src/db/models/queries/accounts.rs @@ -990,9 +990,9 @@ pub(crate) fn upsert_accounts( let account = Account::try_from(delta)?; debug_assert_eq!(account_id, account.id()); - if account.commitment() != update.final_state_commitment() { + if account.to_commitment() != update.final_state_commitment() { return Err(DatabaseError::AccountCommitmentsMismatch { - calculated: account.commitment(), + calculated: account.to_commitment(), expected: update.final_state_commitment(), }); } @@ -1135,7 +1135,7 @@ pub(crate) fn apply_delta( ) -> crate::db::Result { account.apply_delta(delta)?; - let actual_commitment = account.commitment(); + let actual_commitment = account.to_commitment(); if &actual_commitment != final_state_commitment { return Err(DatabaseError::AccountCommitmentsMismatch { calculated: actual_commitment, diff --git a/crates/store/src/db/models/queries/accounts/tests.rs b/crates/store/src/db/models/queries/accounts/tests.rs index fa1e77e85f..1bace8694e 100644 --- a/crates/store/src/db/models/queries/accounts/tests.rs +++ b/crates/store/src/db/models/queries/accounts/tests.rs @@ -14,6 +14,7 @@ use diesel::{ use diesel_migrations::MigrationHarness; use miden_node_utils::fee::test_fee_params; use miden_protocol::account::auth::PublicKeyCommitment; +use miden_protocol::account::component::AccountComponentMetadata; use miden_protocol::account::delta::AccountUpdateDetails; use miden_protocol::account::{ Account, @@ -143,9 +144,13 @@ fn create_test_account_with_storage() -> (Account, AccountId) { .compile_component_code("test::interface", "pub proc foo push.1 end") .unwrap(); - let component = AccountComponent::new(account_component_code, component_storage) - .unwrap() - .with_supported_type(AccountType::RegularAccountImmutableCode); + let component = AccountComponent::new( + account_component_code, + component_storage, + AccountComponentMetadata::new("test") + .with_supported_type(AccountType::RegularAccountImmutableCode), + ) + .unwrap(); let account = AccountBuilder::new([1u8; 32]) .account_type(AccountType::RegularAccountImmutableCode) @@ -225,7 +230,7 @@ fn test_select_account_header_at_block_returns_correct_header() { let delta = AccountDelta::try_from(account.clone()).unwrap(); let account_update = BlockAccountUpdate::new( account_id, - account.commitment(), + account.to_commitment(), AccountUpdateDetails::Delta(delta), ); @@ -262,7 +267,7 @@ fn test_select_account_header_at_block_historical_query() { let delta_1 = AccountDelta::try_from(account.clone()).unwrap(); let account_update_1 = BlockAccountUpdate::new( account_id, - account.commitment(), + account.to_commitment(), AccountUpdateDetails::Delta(delta_1), ); @@ -301,7 +306,7 @@ fn test_select_account_vault_at_block_empty() { let delta = AccountDelta::try_from(account.clone()).unwrap(); let account_update = BlockAccountUpdate::new( account_id, - account.commitment(), + account.to_commitment(), AccountUpdateDetails::Delta(delta), ); @@ -328,7 +333,7 @@ fn test_upsert_accounts_inserts_storage_header() { let storage_commitment_original = account.storage().to_commitment(); let storage_slots_len = account.storage().slots().len(); - let account_commitment = account.commitment(); + let account_commitment = account.to_commitment(); // Create full state delta from the account let delta = AccountDelta::try_from(account).unwrap(); @@ -382,7 +387,7 @@ fn test_upsert_accounts_updates_is_latest_flag() { // Save storage commitment before moving account let storage_commitment_1 = account.storage().to_commitment(); - let account_commitment_1 = account.commitment(); + let account_commitment_1 = account.to_commitment(); // First update with original account - full state delta let delta_1 = AccountDelta::try_from(account).unwrap(); @@ -405,9 +410,13 @@ fn test_upsert_accounts_updates_is_latest_flag() { .compile_component_code("test::interface", "pub proc foo push.1 end") .unwrap(); - let component_2 = AccountComponent::new(account_component_code, component_storage_modified) - .unwrap() - .with_supported_type(AccountType::RegularAccountImmutableCode); + let component_2 = AccountComponent::new( + account_component_code, + component_storage_modified, + AccountComponentMetadata::new("test") + .with_supported_type(AccountType::RegularAccountImmutableCode), + ) + .unwrap(); let account_2 = AccountBuilder::new([1u8; 32]) .account_type(AccountType::RegularAccountImmutableCode) @@ -418,7 +427,7 @@ fn test_upsert_accounts_updates_is_latest_flag() { .unwrap(); let storage_commitment_2 = account_2.storage().to_commitment(); - let account_commitment_2 = account_2.commitment(); + let account_commitment_2 = account_2.to_commitment(); // Second update with modified account - full state delta let delta_2 = AccountDelta::try_from(account_2).unwrap(); @@ -498,9 +507,13 @@ fn test_upsert_accounts_with_multiple_storage_slots() { .compile_component_code("test::interface", "pub proc foo push.1 end") .unwrap(); - let component = AccountComponent::new(account_component_code, component_storage) - .unwrap() - .with_supported_type(AccountType::RegularAccountImmutableCode); + let component = AccountComponent::new( + account_component_code, + component_storage, + AccountComponentMetadata::new("test") + .with_supported_type(AccountType::RegularAccountImmutableCode), + ) + .unwrap(); let account = AccountBuilder::new([2u8; 32]) .account_type(AccountType::RegularAccountImmutableCode) @@ -514,7 +527,7 @@ fn test_upsert_accounts_with_multiple_storage_slots() { insert_block_header(&mut conn, block_num); let storage_commitment = account.storage().to_commitment(); - let account_commitment = account.commitment(); + let account_commitment = account.to_commitment(); let delta = AccountDelta::try_from(account).unwrap(); let account_update = @@ -560,9 +573,13 @@ fn test_upsert_accounts_with_empty_storage() { .compile_component_code("test::interface", "pub proc foo push.1 end") .unwrap(); - let component = AccountComponent::new(account_component_code, vec![]) - .unwrap() - .with_supported_type(AccountType::RegularAccountImmutableCode); + let component = AccountComponent::new( + account_component_code, + vec![], + AccountComponentMetadata::new("test") + .with_supported_type(AccountType::RegularAccountImmutableCode), + ) + .unwrap(); let account = AccountBuilder::new([3u8; 32]) .account_type(AccountType::RegularAccountImmutableCode) @@ -576,7 +593,7 @@ fn test_upsert_accounts_with_empty_storage() { insert_block_header(&mut conn, block_num); let storage_commitment = account.storage().to_commitment(); - let account_commitment = account.commitment(); + let account_commitment = account.to_commitment(); let delta = AccountDelta::try_from(account).unwrap(); let account_update = @@ -649,7 +666,7 @@ fn test_select_account_vault_at_block_historical_with_updates() { let delta = AccountDelta::try_from(account.clone()).unwrap(); let account_update = BlockAccountUpdate::new( account_id, - account.commitment(), + account.to_commitment(), AccountUpdateDetails::Delta(delta), ); @@ -755,7 +772,7 @@ fn test_select_account_vault_at_block_with_deletion() { let delta = AccountDelta::try_from(account.clone()).unwrap(); let account_update = BlockAccountUpdate::new( account_id, - account.commitment(), + account.to_commitment(), AccountUpdateDetails::Delta(delta), ); diff --git a/crates/store/src/db/models/queries/notes.rs b/crates/store/src/db/models/queries/notes.rs index 67b3a708b2..49bdce4198 100644 --- a/crates/store/src/db/models/queries/notes.rs +++ b/crates/store/src/db/models/queries/notes.rs @@ -752,7 +752,7 @@ impl TryInto for NoteMetadataRawRow { .map_err(miden_node_db::DatabaseError::conversiont_from_sql::)?; let tag = NoteTag::new(self.tag as u32); let attachment = NoteAttachment::read_from_bytes(&self.attachment)?; - Ok(NoteMetadata::new(sender, note_type, tag).with_attachment(attachment)) + Ok(NoteMetadata::new(sender, note_type).with_tag(tag).with_attachment(attachment)) } } diff --git a/crates/store/src/db/tests.rs b/crates/store/src/db/tests.rs index a56522d476..4415d84e33 100644 --- a/crates/store/src/db/tests.rs +++ b/crates/store/src/db/tests.rs @@ -5,6 +5,7 @@ use diesel::{Connection, SqliteConnection}; use miden_node_proto::domain::account::AccountSummary; use miden_node_utils::fee::{test_fee, test_fee_params}; use miden_protocol::account::auth::PublicKeyCommitment; +use miden_protocol::account::component::AccountComponentMetadata; use miden_protocol::account::delta::AccountUpdateDetails; use miden_protocol::account::{ Account, @@ -38,7 +39,6 @@ use miden_protocol::note::{ Note, NoteAttachment, NoteDetails, - NoteExecutionHint, NoteHeader, NoteId, NoteMetadata, @@ -52,7 +52,7 @@ use miden_protocol::testing::account_id::{ ACCOUNT_ID_REGULAR_PUBLIC_ACCOUNT_IMMUTABLE_CODE, ACCOUNT_ID_REGULAR_PUBLIC_ACCOUNT_IMMUTABLE_CODE_2, }; -use miden_protocol::testing::random_signer::RandomBlockSigner; +use miden_protocol::testing::random_secret_key::random_secret_key; use miden_protocol::transaction::{ InputNoteCommitment, InputNotes, @@ -64,7 +64,7 @@ use miden_protocol::utils::{Deserializable, Serializable}; use miden_protocol::{EMPTY_WORD, Felt, FieldElement, Word}; use miden_standards::account::auth::AuthFalcon512Rpo; use miden_standards::code_builder::CodeBuilder; -use miden_standards::note::{NetworkAccountTarget, create_p2id_note}; +use miden_standards::note::{NetworkAccountTarget, NoteExecutionHint, P2idNote}; use pretty_assertions::assert_eq; use rand::Rng; @@ -192,7 +192,7 @@ pub fn create_note(account_id: AccountId) -> Note { let coin_seed: [u64; 4] = rand::rng().random(); let rng = Arc::new(Mutex::new(RpoRandomCoin::new(coin_seed.map(Felt::new).into()))); let mut rng = rng.lock().unwrap(); - create_p2id_note( + P2idNote::create( account_id, account_id, vec![Asset::Fungible( @@ -312,7 +312,7 @@ fn make_account_and_note( conn, &[BlockAccountUpdate::new( account_id, - account.commitment(), + account.to_commitment(), AccountUpdateDetails::Delta(AccountDelta::try_from(account).unwrap()), )], block_num, @@ -350,12 +350,8 @@ fn sql_unconsumed_network_notes() { note_index: BlockNoteIndex::new(0, i as usize).unwrap(), note_id: num_to_word(i.into()), note_commitment: num_to_word(i.into()), - metadata: NoteMetadata::new( - account_note.0, - NoteType::Public, - NoteTag::with_account_target(account_note.0), - ) - .with_attachment(attachment.clone()), + metadata: NoteMetadata::new(account_note.0, NoteType::Public) + .with_attachment(attachment.clone()), details: None, inclusion_path: SparseMerklePath::default(), }; @@ -820,7 +816,7 @@ fn notes() { let new_note = create_note(sender); let note_index = BlockNoteIndex::new(0, 2).unwrap(); let tag = 5u32; - let note_metadata = NoteMetadata::new(sender, NoteType::Public, tag.into()); + let note_metadata = NoteMetadata::new(sender, NoteType::Public).with_tag(tag.into()); let values = [(note_index, new_note.id(), ¬e_metadata)]; let notes_db = BlockNoteTree::with_entries(values).unwrap(); @@ -831,7 +827,7 @@ fn notes() { note_index, note_id: new_note.id().as_word(), note_commitment: new_note.commitment(), - metadata: NoteMetadata::new(sender, NoteType::Public, tag.into()), + metadata: NoteMetadata::new(sender, NoteType::Public).with_tag(tag.into()), details: Some(NoteDetails::from(&new_note)), inclusion_path: inclusion_path.clone(), }; @@ -1140,9 +1136,13 @@ fn create_account_with_code(code_str: &str, seed: [u8; 32]) -> Account { .compile_component_code("test::interface", code_str) .unwrap(); - let component = AccountComponent::new(account_component_code, component_storage) - .unwrap() - .with_supported_type(AccountType::RegularAccountUpdatableCode); + let component = AccountComponent::new( + account_component_code, + component_storage, + AccountComponentMetadata::new("test") + .with_supported_type(AccountType::RegularAccountUpdatableCode), + ) + .unwrap(); AccountBuilder::new(seed) .account_type(AccountType::RegularAccountUpdatableCode) @@ -1167,7 +1167,7 @@ fn mock_block_transaction(account_id: AccountId, num: u64) -> TransactionHeader Word::try_from([num, num, 0, 0]).unwrap(), Word::try_from([0, 0, num, num]).unwrap(), ), - NoteMetadata::new(account_id, NoteType::Public, NoteTag::new(num as u32)), + NoteMetadata::new(account_id, NoteType::Public).with_tag(NoteTag::new(num as u32)), )]; TransactionHeader::new_unchecked( @@ -1234,9 +1234,12 @@ fn mock_account_code_and_storage( let account_component_code = CodeBuilder::default() .compile_component_code("counter_contract::interface", component_code) .unwrap(); - let account_component = AccountComponent::new(account_component_code, component_storage) - .unwrap() - .with_supports_all_types(); + let account_component = AccountComponent::new( + account_component_code, + component_storage, + AccountComponentMetadata::new("counter_contract").with_supports_all_types(), + ) + .unwrap(); AccountBuilder::new(init_seed.unwrap_or([0; 32])) .account_type(account_type) @@ -1277,7 +1280,7 @@ fn test_select_account_code_by_commitment() { &mut conn, &[BlockAccountUpdate::new( account.id(), - account.commitment(), + account.to_commitment(), AccountUpdateDetails::Delta(AccountDelta::try_from(account).unwrap()), )], block_num_1, @@ -1325,7 +1328,7 @@ fn test_select_account_code_by_commitment_multiple_codes() { &mut conn, &[BlockAccountUpdate::new( account_v1.id(), - account_v1.commitment(), + account_v1.to_commitment(), AccountUpdateDetails::Delta(AccountDelta::try_from(account_v1).unwrap()), )], block_num_1, @@ -1358,7 +1361,7 @@ fn test_select_account_code_by_commitment_multiple_codes() { &mut conn, &[BlockAccountUpdate::new( account_v2.id(), - account_v2.commitment(), + account_v2.to_commitment(), AccountUpdateDetails::Delta(AccountDelta::try_from(account_v2).unwrap()), )], block_num_2, @@ -1392,9 +1395,12 @@ async fn genesis_with_account_assets() { let account_component_code = CodeBuilder::default() .compile_component_code("foo::interface", component_code) .unwrap(); - let account_component = AccountComponent::new(account_component_code, Vec::new()) - .unwrap() - .with_supports_all_types(); + let account_component = AccountComponent::new( + account_component_code, + Vec::new(), + AccountComponentMetadata::new("foo").with_supports_all_types(), + ) + .unwrap(); let faucet_id = AccountId::try_from(ACCOUNT_ID_PUBLIC_FUNGIBLE_FAUCET).unwrap(); let fungible_asset = FungibleAsset::new(faucet_id, 1000).unwrap(); @@ -1409,7 +1415,7 @@ async fn genesis_with_account_assets() { .unwrap(); let genesis_state = - GenesisState::new(vec![account], test_fee_params(), 1, 0, SecretKey::random()); + GenesisState::new(vec![account], test_fee_params(), 1, 0, random_secret_key()); let genesis_block = genesis_state.into_block().await.unwrap(); crate::db::Db::bootstrap(":memory:".into(), &genesis_block).unwrap(); @@ -1445,9 +1451,12 @@ async fn genesis_with_account_storage_map() { let account_component_code = CodeBuilder::default() .compile_component_code("foo::interface", component_code) .unwrap(); - let account_component = AccountComponent::new(account_component_code, component_storage) - .unwrap() - .with_supports_all_types(); + let account_component = AccountComponent::new( + account_component_code, + component_storage, + AccountComponentMetadata::new("foo").with_supports_all_types(), + ) + .unwrap(); let account = AccountBuilder::new([2u8; 32]) .account_type(AccountType::RegularAccountImmutableCode) @@ -1458,7 +1467,7 @@ async fn genesis_with_account_storage_map() { .unwrap(); let genesis_state = - GenesisState::new(vec![account], test_fee_params(), 1, 0, SecretKey::random()); + GenesisState::new(vec![account], test_fee_params(), 1, 0, random_secret_key()); let genesis_block = genesis_state.into_block().await.unwrap(); crate::db::Db::bootstrap(":memory:".into(), &genesis_block).unwrap(); @@ -1491,9 +1500,12 @@ async fn genesis_with_account_assets_and_storage() { let account_component_code = CodeBuilder::default() .compile_component_code("foo::interface", component_code) .unwrap(); - let account_component = AccountComponent::new(account_component_code, component_storage) - .unwrap() - .with_supports_all_types(); + let account_component = AccountComponent::new( + account_component_code, + component_storage, + AccountComponentMetadata::new("foo").with_supports_all_types(), + ) + .unwrap(); let account = AccountBuilder::new([3u8; 32]) .account_type(AccountType::RegularAccountImmutableCode) @@ -1505,7 +1517,7 @@ async fn genesis_with_account_assets_and_storage() { .unwrap(); let genesis_state = - GenesisState::new(vec![account], test_fee_params(), 1, 0, SecretKey::random()); + GenesisState::new(vec![account], test_fee_params(), 1, 0, random_secret_key()); let genesis_block = genesis_state.into_block().await.unwrap(); crate::db::Db::bootstrap(":memory:".into(), &genesis_block).unwrap(); @@ -1523,9 +1535,12 @@ async fn genesis_with_multiple_accounts() { let account_component_code = CodeBuilder::default() .compile_component_code("foo::interface", "pub proc foo push.1 end") .unwrap(); - let account_component1 = AccountComponent::new(account_component_code, Vec::new()) - .unwrap() - .with_supports_all_types(); + let account_component1 = AccountComponent::new( + account_component_code, + Vec::new(), + AccountComponentMetadata::new("foo").with_supports_all_types(), + ) + .unwrap(); let account1 = AccountBuilder::new([1u8; 32]) .account_type(AccountType::RegularAccountImmutableCode) @@ -1541,9 +1556,12 @@ async fn genesis_with_multiple_accounts() { let account_component_code = CodeBuilder::default() .compile_component_code("bar::interface", "pub proc bar push.2 end") .unwrap(); - let account_component2 = AccountComponent::new(account_component_code, Vec::new()) - .unwrap() - .with_supports_all_types(); + let account_component2 = AccountComponent::new( + account_component_code, + Vec::new(), + AccountComponentMetadata::new("bar").with_supports_all_types(), + ) + .unwrap(); let account2 = AccountBuilder::new([2u8; 32]) .account_type(AccountType::RegularAccountImmutableCode) @@ -1565,9 +1583,12 @@ async fn genesis_with_multiple_accounts() { let account_component_code = CodeBuilder::default() .compile_component_code("baz::interface", "pub proc baz push.3 end") .unwrap(); - let account_component3 = AccountComponent::new(account_component_code, component_storage) - .unwrap() - .with_supports_all_types(); + let account_component3 = AccountComponent::new( + account_component_code, + component_storage, + AccountComponentMetadata::new("baz").with_supports_all_types(), + ) + .unwrap(); let account3 = AccountBuilder::new([3u8; 32]) .account_type(AccountType::RegularAccountUpdatableCode) @@ -1582,7 +1603,7 @@ async fn genesis_with_multiple_accounts() { test_fee_params(), 1, 0, - SecretKey::random(), + random_secret_key(), ); let genesis_block = genesis_state.into_block().await.unwrap(); @@ -1613,7 +1634,7 @@ fn regression_1461_full_state_delta_inserts_vault_assets() { let block_update = BlockAccountUpdate::new( account_id, - account.commitment(), + account.to_commitment(), AccountUpdateDetails::Delta(account_delta), ); @@ -1737,7 +1758,7 @@ fn serialization_symmetry_note_metadata() { // Use a tag that roundtrips properly - NoteTag::LocalAny stores the full u32 including type // bits let tag = NoteTag::with_account_target(sender); - let metadata = NoteMetadata::new(sender, NoteType::Public, tag); + let metadata = NoteMetadata::new(sender, NoteType::Public).with_tag(tag); let bytes = metadata.to_bytes(); let restored = NoteMetadata::read_from_bytes(&bytes).unwrap(); @@ -1830,7 +1851,7 @@ fn db_roundtrip_account() { Some([99u8; 32]), ); let account_id = account.id(); - let account_commitment = account.commitment(); + let account_commitment = account.to_commitment(); // Insert with full delta (like genesis) let account_delta = AccountDelta::try_from(account.clone()).unwrap(); @@ -2026,9 +2047,12 @@ fn db_roundtrip_account_storage_with_maps() { let account_component_code = CodeBuilder::default() .compile_component_code("test::interface", component_code) .unwrap(); - let account_component = AccountComponent::new(account_component_code, component_storage) - .unwrap() - .with_supports_all_types(); + let account_component = AccountComponent::new( + account_component_code, + component_storage, + AccountComponentMetadata::new("test").with_supports_all_types(), + ) + .unwrap(); let account = AccountBuilder::new([50u8; 32]) .account_type(AccountType::RegularAccountUpdatableCode) @@ -2046,7 +2070,7 @@ fn db_roundtrip_account_storage_with_maps() { let account_delta = AccountDelta::try_from(account.clone()).unwrap(); let block_update = BlockAccountUpdate::new( account_id, - account.commitment(), + account.to_commitment(), AccountUpdateDetails::Delta(account_delta), ); queries::upsert_accounts(&mut conn, &[block_update], block_num).unwrap(); @@ -2097,8 +2121,8 @@ fn db_roundtrip_account_storage_with_maps() { assert!(account_info.details.is_some(), "Public account should have details"); let retrieved_account = account_info.details.unwrap(); assert_eq!( - account.commitment(), - retrieved_account.commitment(), + account.to_commitment(), + retrieved_account.to_commitment(), "Full account commitment must match after DB roundtrip" ); } @@ -2119,8 +2143,7 @@ fn db_roundtrip_note_metadata_attachment() { // Create NoteMetadata with the attachment let metadata = - NoteMetadata::new(account_id, NoteType::Public, NoteTag::with_account_target(account_id)) - .with_attachment(attachment.clone()); + NoteMetadata::new(account_id, NoteType::Public).with_attachment(attachment.clone()); let note = NoteRecord { block_num, diff --git a/crates/store/src/genesis/config/mod.rs b/crates/store/src/genesis/config/mod.rs index 2832081829..1a11eb406d 100644 --- a/crates/store/src/genesis/config/mod.rs +++ b/crates/store/src/genesis/config/mod.rs @@ -12,7 +12,6 @@ use miden_protocol::account::{ AccountDelta, AccountFile, AccountId, - AccountStorage, AccountStorageDelta, AccountStorageMode, AccountType, @@ -22,9 +21,10 @@ use miden_protocol::account::{ }; use miden_protocol::asset::{FungibleAsset, TokenSymbol}; use miden_protocol::block::FeeParameters; +use miden_protocol::crypto::dsa::ecdsa_k256_keccak::SecretKey; use miden_protocol::crypto::dsa::falcon512_rpo::SecretKey as RpoSecretKey; use miden_protocol::errors::TokenSymbolError; -use miden_protocol::{Felt, FieldElement, ONE, ZERO}; +use miden_protocol::{Felt, FieldElement, ONE, Word}; use miden_standards::AuthScheme; use miden_standards::account::auth::AuthFalcon512Rpo; use miden_standards::account::faucets::BasicFungibleFaucet; @@ -97,10 +97,10 @@ impl GenesisConfig { /// /// Also returns the set of secrets for the generated accounts. #[expect(clippy::too_many_lines)] - pub fn into_state( + pub fn into_state( self, - signer: S, - ) -> Result<(GenesisState, AccountSecrets), GenesisConfigError> { + signer: SecretKey, + ) -> Result<(GenesisState, AccountSecrets), GenesisConfigError> { let GenesisConfig { version, timestamp, @@ -220,11 +220,16 @@ impl GenesisConfig { let mut storage_delta = AccountStorageDelta::default(); if total_issuance != 0 { - // slot 0 - storage_delta.set_item( - AccountStorage::faucet_sysdata_slot().clone(), - [ZERO, ZERO, ZERO, Felt::new(total_issuance)].into(), - )?; + let metadata_slot_name = BasicFungibleFaucet::metadata_slot(); + let current_metadata = + faucet_account.storage().get_item(metadata_slot_name).unwrap(); + let updated_metadata = Word::from([ + Felt::new(total_issuance), + current_metadata[1], + current_metadata[2], + current_metadata[3], + ]); + storage_delta.set_item(metadata_slot_name.clone(), updated_metadata)?; tracing::debug!( "Reducing faucet account {faucet} for {symbol} by {amount}", faucet = faucet_id.to_hex(), @@ -442,10 +447,10 @@ impl AccountSecrets { /// /// If no name is present, a new one is generated based on the current time /// and the index in - pub fn as_account_files( + pub fn as_account_files( &self, - genesis_state: &GenesisState, - ) -> impl Iterator> + use<'_, S> { + genesis_state: &GenesisState, + ) -> impl Iterator> + use<'_> { let account_lut = IndexMap::::from_iter( genesis_state.accounts.iter().map(|account| (account.id(), account.clone())), ); diff --git a/crates/store/src/genesis/config/tests.rs b/crates/store/src/genesis/config/tests.rs index fdb3307b2f..b4eb0d4449 100644 --- a/crates/store/src/genesis/config/tests.rs +++ b/crates/store/src/genesis/config/tests.rs @@ -45,7 +45,7 @@ fn parsing_yields_expected_default_values() -> TestResult { // check total issuance of the faucet assert_eq!( - native_faucet.storage().get_item(AccountStorage::faucet_sysdata_slot()).unwrap()[3], + native_faucet.storage().get_item(BasicFungibleFaucet::metadata_slot()).unwrap()[3], Felt::new(999_777), "Issuance mismatch" ); diff --git a/crates/store/src/genesis/mod.rs b/crates/store/src/genesis/mod.rs index ac24fe21eb..75770ec564 100644 --- a/crates/store/src/genesis/mod.rs +++ b/crates/store/src/genesis/mod.rs @@ -13,6 +13,7 @@ use miden_protocol::block::{ FeeParameters, ProvenBlock, }; +use miden_protocol::crypto::dsa::ecdsa_k256_keccak::SecretKey; use miden_protocol::crypto::merkle::mmr::{Forest, MmrPeaks}; use miden_protocol::crypto::merkle::smt::{LargeSmt, MemoryStorage, Smt}; use miden_protocol::errors::AccountError; @@ -26,12 +27,12 @@ pub mod config; /// Represents the state at genesis, which will be used to derive the genesis block. #[derive(Clone, Debug, PartialEq, Eq)] -pub struct GenesisState { +pub struct GenesisState { pub accounts: Vec, pub fee_parameters: FeeParameters, pub version: u32, pub timestamp: u32, - pub block_signer: S, + pub block_signer: SecretKey, } /// A type-safety wrapper ensuring that genesis block data can only be created from @@ -48,13 +49,13 @@ impl GenesisBlock { } } -impl GenesisState { +impl GenesisState { pub fn new( accounts: Vec, fee_parameters: FeeParameters, version: u32, timestamp: u32, - signer: S, + signer: SecretKey, ) -> Self { Self { accounts, @@ -64,9 +65,7 @@ impl GenesisState { block_signer: signer, } } -} -impl GenesisState { /// Returns the block header and the account SMT pub async fn into_block(self) -> anyhow::Result { let accounts: Vec = self @@ -81,7 +80,7 @@ impl GenesisState { Ok(BlockAccountUpdate::new( account.id(), - account.commitment(), + account.to_commitment(), account_update_details, )) }) diff --git a/crates/store/src/inner_forest/tests.rs b/crates/store/src/inner_forest/tests.rs index 5fc0cc6c0c..9e90bfa29d 100644 --- a/crates/store/src/inner_forest/tests.rs +++ b/crates/store/src/inner_forest/tests.rs @@ -448,6 +448,7 @@ fn test_storage_map_incremental_updates() { #[test] fn test_empty_storage_map_entries_query() { use miden_protocol::account::auth::PublicKeyCommitment; + use miden_protocol::account::component::AccountComponentMetadata; use miden_protocol::account::{ AccountBuilder, AccountComponent, @@ -470,9 +471,12 @@ fn test_empty_storage_map_entries_query() { let component_code = CodeBuilder::default() .compile_component_code("test::interface", "pub proc test push.1 end") .unwrap(); - let account_component = AccountComponent::new(component_code, component_storage) - .unwrap() - .with_supports_all_types(); + let account_component = AccountComponent::new( + component_code, + component_storage, + AccountComponentMetadata::new("test").with_supports_all_types(), + ) + .unwrap(); let account = AccountBuilder::new([1u8; 32]) .account_type(AccountType::RegularAccountImmutableCode) From 77a4db7e8dab564d51cce745b433b81a02cf22fd Mon Sep 17 00:00:00 2001 From: Marti Date: Thu, 19 Feb 2026 17:04:50 +0000 Subject: [PATCH 2/8] fix: token supply at idx 0 --- crates/store/src/genesis/config/tests.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/store/src/genesis/config/tests.rs b/crates/store/src/genesis/config/tests.rs index b4eb0d4449..12fbf4ecd8 100644 --- a/crates/store/src/genesis/config/tests.rs +++ b/crates/store/src/genesis/config/tests.rs @@ -45,7 +45,7 @@ fn parsing_yields_expected_default_values() -> TestResult { // check total issuance of the faucet assert_eq!( - native_faucet.storage().get_item(BasicFungibleFaucet::metadata_slot()).unwrap()[3], + native_faucet.storage().get_item(BasicFungibleFaucet::metadata_slot()).unwrap()[0], Felt::new(999_777), "Issuance mismatch" ); From fb7329d78461d06637b2c45e504f4be945ae7b6a Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Fri, 20 Feb 2026 09:07:10 +0000 Subject: [PATCH 3/8] fix: restore GenesisState generics for BlockSigner compatibility Co-authored-by: marti --- crates/store/src/genesis/config/mod.rs | 11 +++++------ crates/store/src/genesis/mod.rs | 11 ++++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/crates/store/src/genesis/config/mod.rs b/crates/store/src/genesis/config/mod.rs index 1a11eb406d..9447f9763d 100644 --- a/crates/store/src/genesis/config/mod.rs +++ b/crates/store/src/genesis/config/mod.rs @@ -21,7 +21,6 @@ use miden_protocol::account::{ }; use miden_protocol::asset::{FungibleAsset, TokenSymbol}; use miden_protocol::block::FeeParameters; -use miden_protocol::crypto::dsa::ecdsa_k256_keccak::SecretKey; use miden_protocol::crypto::dsa::falcon512_rpo::SecretKey as RpoSecretKey; use miden_protocol::errors::TokenSymbolError; use miden_protocol::{Felt, FieldElement, ONE, Word}; @@ -97,10 +96,10 @@ impl GenesisConfig { /// /// Also returns the set of secrets for the generated accounts. #[expect(clippy::too_many_lines)] - pub fn into_state( + pub fn into_state( self, - signer: SecretKey, - ) -> Result<(GenesisState, AccountSecrets), GenesisConfigError> { + signer: S, + ) -> Result<(GenesisState, AccountSecrets), GenesisConfigError> { let GenesisConfig { version, timestamp, @@ -449,8 +448,8 @@ impl AccountSecrets { /// and the index in pub fn as_account_files( &self, - genesis_state: &GenesisState, - ) -> impl Iterator> + use<'_> { + genesis_state: &GenesisState, + ) -> impl Iterator> + '_ { let account_lut = IndexMap::::from_iter( genesis_state.accounts.iter().map(|account| (account.id(), account.clone())), ); diff --git a/crates/store/src/genesis/mod.rs b/crates/store/src/genesis/mod.rs index 75770ec564..0db8afdcee 100644 --- a/crates/store/src/genesis/mod.rs +++ b/crates/store/src/genesis/mod.rs @@ -13,7 +13,6 @@ use miden_protocol::block::{ FeeParameters, ProvenBlock, }; -use miden_protocol::crypto::dsa::ecdsa_k256_keccak::SecretKey; use miden_protocol::crypto::merkle::mmr::{Forest, MmrPeaks}; use miden_protocol::crypto::merkle::smt::{LargeSmt, MemoryStorage, Smt}; use miden_protocol::errors::AccountError; @@ -27,12 +26,12 @@ pub mod config; /// Represents the state at genesis, which will be used to derive the genesis block. #[derive(Clone, Debug, PartialEq, Eq)] -pub struct GenesisState { +pub struct GenesisState { pub accounts: Vec, pub fee_parameters: FeeParameters, pub version: u32, pub timestamp: u32, - pub block_signer: SecretKey, + pub block_signer: S, } /// A type-safety wrapper ensuring that genesis block data can only be created from @@ -49,13 +48,13 @@ impl GenesisBlock { } } -impl GenesisState { +impl GenesisState { pub fn new( accounts: Vec, fee_parameters: FeeParameters, version: u32, timestamp: u32, - signer: SecretKey, + signer: S, ) -> Self { Self { accounts, @@ -65,7 +64,9 @@ impl GenesisState { block_signer: signer, } } +} +impl GenesisState { /// Returns the block header and the account SMT pub async fn into_block(self) -> anyhow::Result { let accounts: Vec = self From e70dfd54341079727bada790d4045c4abfa2bb2e Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Fri, 20 Feb 2026 10:54:00 +0000 Subject: [PATCH 4/8] refactor: use TokenMetadata instead of raw Word manipulation in genesis config - Import BlockSigner at top of config/mod.rs and simplify as_account_files signature - Replace manual Word construction with TokenMetadata::try_from and with_token_supply - Use TokenMetadata::token_supply() in tests instead of raw Word indexing Co-authored-by: marti --- crates/store/src/genesis/config/mod.rs | 24 +++++++++++------------- crates/store/src/genesis/config/tests.rs | 7 ++----- 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/crates/store/src/genesis/config/mod.rs b/crates/store/src/genesis/config/mod.rs index 9447f9763d..2581074ee5 100644 --- a/crates/store/src/genesis/config/mod.rs +++ b/crates/store/src/genesis/config/mod.rs @@ -5,6 +5,7 @@ use std::str::FromStr; use indexmap::IndexMap; use miden_node_utils::crypto::get_rpo_random_coin; +use miden_node_utils::signer::BlockSigner; use miden_protocol::account::auth::AuthSecretKey; use miden_protocol::account::{ Account, @@ -23,10 +24,10 @@ use miden_protocol::asset::{FungibleAsset, TokenSymbol}; use miden_protocol::block::FeeParameters; use miden_protocol::crypto::dsa::falcon512_rpo::SecretKey as RpoSecretKey; use miden_protocol::errors::TokenSymbolError; -use miden_protocol::{Felt, FieldElement, ONE, Word}; +use miden_protocol::{Felt, FieldElement, ONE}; use miden_standards::AuthScheme; use miden_standards::account::auth::AuthFalcon512Rpo; -use miden_standards::account::faucets::BasicFungibleFaucet; +use miden_standards::account::faucets::{BasicFungibleFaucet, TokenMetadata}; use miden_standards::account::wallets::create_basic_wallet; use rand::distr::weighted::Weight; use rand::{Rng, SeedableRng}; @@ -219,16 +220,13 @@ impl GenesisConfig { let mut storage_delta = AccountStorageDelta::default(); if total_issuance != 0 { - let metadata_slot_name = BasicFungibleFaucet::metadata_slot(); - let current_metadata = - faucet_account.storage().get_item(metadata_slot_name).unwrap(); - let updated_metadata = Word::from([ - Felt::new(total_issuance), - current_metadata[1], - current_metadata[2], - current_metadata[3], - ]); - storage_delta.set_item(metadata_slot_name.clone(), updated_metadata)?; + let current_metadata = TokenMetadata::try_from(faucet_account.storage())?; + let updated_metadata = + current_metadata.with_token_supply(Felt::new(total_issuance))?; + storage_delta.set_item( + TokenMetadata::metadata_slot().clone(), + updated_metadata.into(), + )?; tracing::debug!( "Reducing faucet account {faucet} for {symbol} by {amount}", faucet = faucet_id.to_hex(), @@ -448,7 +446,7 @@ impl AccountSecrets { /// and the index in pub fn as_account_files( &self, - genesis_state: &GenesisState, + genesis_state: &GenesisState, ) -> impl Iterator> + '_ { let account_lut = IndexMap::::from_iter( genesis_state.accounts.iter().map(|account| (account.id(), account.clone())), diff --git a/crates/store/src/genesis/config/tests.rs b/crates/store/src/genesis/config/tests.rs index 12fbf4ecd8..3db68d3a4f 100644 --- a/crates/store/src/genesis/config/tests.rs +++ b/crates/store/src/genesis/config/tests.rs @@ -44,11 +44,8 @@ fn parsing_yields_expected_default_values() -> TestResult { }); // check total issuance of the faucet - assert_eq!( - native_faucet.storage().get_item(BasicFungibleFaucet::metadata_slot()).unwrap()[0], - Felt::new(999_777), - "Issuance mismatch" - ); + let metadata = TokenMetadata::try_from(native_faucet.storage()).unwrap(); + assert_eq!(metadata.token_supply(), Felt::new(999_777), "Issuance mismatch"); Ok(()) } From b145efd77a016a463c1aacac6dfb6b4ba31e3b02 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Fri, 20 Feb 2026 11:06:18 +0000 Subject: [PATCH 5/8] style: fix rustfmt formatting Co-authored-by: marti --- crates/store/src/genesis/config/mod.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/crates/store/src/genesis/config/mod.rs b/crates/store/src/genesis/config/mod.rs index 2581074ee5..d7d12be44c 100644 --- a/crates/store/src/genesis/config/mod.rs +++ b/crates/store/src/genesis/config/mod.rs @@ -223,10 +223,8 @@ impl GenesisConfig { let current_metadata = TokenMetadata::try_from(faucet_account.storage())?; let updated_metadata = current_metadata.with_token_supply(Felt::new(total_issuance))?; - storage_delta.set_item( - TokenMetadata::metadata_slot().clone(), - updated_metadata.into(), - )?; + storage_delta + .set_item(TokenMetadata::metadata_slot().clone(), updated_metadata.into())?; tracing::debug!( "Reducing faucet account {faucet} for {symbol} by {amount}", faucet = faucet_id.to_hex(), From d970008d4fbd790ceb4d2ecc5e3b709b02f6c930 Mon Sep 17 00:00:00 2001 From: Serge Radinovich <47865535+sergerad@users.noreply.github.com> Date: Tue, 24 Feb 2026 15:53:30 +1300 Subject: [PATCH 6/8] ci: RM dry run workflow (#1690) --- .github/workflows/publish-dry-run.yml | 44 --------------------------- 1 file changed, 44 deletions(-) delete mode 100644 .github/workflows/publish-dry-run.yml diff --git a/.github/workflows/publish-dry-run.yml b/.github/workflows/publish-dry-run.yml deleted file mode 100644 index c84a08d34e..0000000000 --- a/.github/workflows/publish-dry-run.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Publish (dry-run) - -permissions: - contents: read - -on: - push: - branches: [main, next] - -concurrency: - group: "${{ github.workflow }} @ ${{ github.ref }}" - cancel-in-progress: true - -jobs: - publish-dry-run: - name: Cargo publish dry-run - runs-on: Linux-ARM64-Runner - if: ${{ github.repository_owner == '0xMiden' }} - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Cleanup large tools for build space - uses: ./.github/actions/cleanup-runner - - name: Install RocksDB - uses: ./.github/actions/install-rocksdb - - name: Install dependencies - run: sudo apt-get update && sudo apt-get install -y jq - - name: Update Rust toolchain - run: rustup update --no-self-update - - uses: taiki-e/install-action@v2 - with: - tool: cargo-binstall@1.16.6 - - name: Install cargo-msrv - run: cargo binstall --no-confirm --force cargo-msrv - - name: Check MSRV for each workspace member - run: | - export PATH="$HOME/.cargo/bin:$PATH" - ./scripts/check-msrv.sh - - name: Run cargo publish dry-run - run: cargo publish --workspace --dry-run - env: - CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} From 0504583fb9e40d11515ce46d65747087bb9320d8 Mon Sep 17 00:00:00 2001 From: juan518munoz <62400508+juan518munoz@users.noreply.github.com> Date: Tue, 24 Feb 2026 12:05:46 -0300 Subject: [PATCH 7/8] fix: TransactionHeader serialization (#1701) * fix: TransactionHeader db serialization fix * docs: update changelog --- CHANGELOG.md | 1 + .../src/db/models/queries/transactions.rs | 34 ++++---- crates/store/src/db/tests.rs | 78 +++++++++++++++++++ 3 files changed, 100 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 829d43dc1e..7133c5973c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Validator now persists validated transactions ([#1614](https://github.com/0xMiden/miden-node/pull/1614)). - [BREAKING] Remove `SynState` and introduce `SyncChainMmr` ([#1591](https://github.com/0xMiden/miden-node/issues/1591)). - Introduce `SyncChainMmr` RPC endpoint to sync chain MMR deltas within specified block ranges ([#1591](https://github.com/0xMiden/miden-node/issues/1591)). +- Fixed `TransactionHeader` serialization for row insertion on database & fixed transaction cursor on retrievals ([#1701](https://github.com/0xMiden/miden-node/issues/1701)). ### Changes diff --git a/crates/store/src/db/models/queries/transactions.rs b/crates/store/src/db/models/queries/transactions.rs index 3e7e30df2c..72bdcaea16 100644 --- a/crates/store/src/db/models/queries/transactions.rs +++ b/crates/store/src/db/models/queries/transactions.rs @@ -125,11 +125,25 @@ impl TransactionSummaryRowInsert { ) -> Self { const HEADER_BASE_SIZE: usize = 4 + 32 + 16 + 64; // block_num + tx_id + account_id + commitments - // Serialize input notes using binary format (store nullifiers) - let nullifiers_binary = transaction_header.input_notes().to_bytes(); + // Extract nullifiers from input notes and serialize them. + // We only store the nullifiers (not the full `InputNoteCommitment`) since + // that's all that's needed when reading back `TransactionRecords`. + let nullifiers: Vec = transaction_header + .input_notes() + .iter() + .map(miden_protocol::transaction::InputNoteCommitment::nullifier) + .collect(); + let nullifiers_binary = nullifiers.to_bytes(); - // Serialize output notes using binary format (store note IDs) - let output_notes_binary = transaction_header.output_notes().to_bytes(); + // Extract note IDs from output note headers and serialize them. + // We only store the `NoteId`s (not the full `NoteHeader` with metadata) since + // that's all that's needed when reading back `TransactionRecords`. + let output_note_ids: Vec = transaction_header + .output_notes() + .iter() + .map(miden_protocol::note::NoteHeader::id) + .collect(); + let output_notes_binary = output_note_ids.to_bytes(); // Manually calculate the estimated size of the transaction header to avoid // the cost of serialization. The size estimation includes: @@ -269,12 +283,13 @@ pub fn select_transactions_records( // Add transactions from this chunk one by one until we hit the limit let mut added_from_chunk = 0; - let mut last_added_tx: Option = None; for tx in chunk { if total_size + tx.size_in_bytes <= max_payload_bytes { total_size += tx.size_in_bytes; - last_added_tx = Some(tx); + last_block_num = Some(tx.block_num); + last_transaction_id = Some(tx.transaction_id.clone()); + all_transactions.push(tx); added_from_chunk += 1; } else { // Can't fit this transaction, stop here @@ -282,13 +297,6 @@ pub fn select_transactions_records( } } - // Update cursor position only for the last transaction that was actually added - if let Some(tx) = last_added_tx { - last_block_num = Some(tx.block_num); - last_transaction_id = Some(tx.transaction_id.clone()); - all_transactions.push(tx); - } - // Break if chunk incomplete (size limit hit or data exhausted) if added_from_chunk < NUM_TXS_PER_CHUNK { break; diff --git a/crates/store/src/db/tests.rs b/crates/store/src/db/tests.rs index 4c8a9f915d..2154af4c3c 100644 --- a/crates/store/src/db/tests.rs +++ b/crates/store/src/db/tests.rs @@ -2398,3 +2398,81 @@ fn test_prune_history() { "is_latest=true entry should be retained even if old" ); } + +#[test] +#[miden_node_test_macro::enable_logging] +fn db_roundtrip_transactions() { + let mut conn = create_db(); + let block_num = BlockNumber::from(1); + create_block(&mut conn, block_num); + + let account_id = AccountId::try_from(ACCOUNT_ID_PRIVATE_SENDER).unwrap(); + queries::upsert_accounts(&mut conn, &[mock_block_account_update(account_id, 0)], block_num) + .unwrap(); + + // Build two transaction headers with distinct data + let tx1 = mock_block_transaction(account_id, 1); + let tx2 = mock_block_transaction(account_id, 2); + let ordered = OrderedTransactionHeaders::new_unchecked(vec![tx1.clone(), tx2.clone()]); + + // Insert + let count = queries::insert_transactions(&mut conn, block_num, &ordered).unwrap(); + assert_eq!(count, 2, "Should insert 2 transactions"); + + // Retrieve + let (last_block, records) = queries::select_transactions_records( + &mut conn, + &[account_id], + BlockNumber::GENESIS..=block_num, + ) + .unwrap(); + assert_eq!(last_block, block_num, "Last block should match"); + assert_eq!(records.len(), 2, "Should retrieve 2 transactions"); + + // Verify each transaction roundtrips correctly. + // Records are ordered by (block_num, transaction_id), so match by ID. + let originals = [&tx1, &tx2]; + for record in &records { + let original = originals + .iter() + .find(|tx| tx.id() == record.transaction_id) + .expect("Retrieved transaction should match one of the originals"); + assert_eq!( + record.transaction_id, + original.id(), + "TransactionId DB roundtrip must be symmetric" + ); + assert_eq!( + record.account_id, + original.account_id(), + "AccountId DB roundtrip must be symmetric" + ); + assert_eq!(record.block_num, block_num, "Block number must match"); + assert_eq!( + record.initial_state_commitment, + original.initial_state_commitment(), + "Initial state commitment DB roundtrip must be symmetric" + ); + assert_eq!( + record.final_state_commitment, + original.final_state_commitment(), + "Final state commitment DB roundtrip must be symmetric" + ); + + // Input notes are stored as nullifiers only + let expected_nullifiers: Vec = + original.input_notes().iter().map(InputNoteCommitment::nullifier).collect(); + assert_eq!( + record.nullifiers, expected_nullifiers, + "Nullifiers (from input notes) DB roundtrip must be symmetric" + ); + + // Output notes are stored as note IDs only + let expected_note_ids: Vec = + original.output_notes().iter().map(NoteHeader::id).collect(); + assert_eq!( + record.output_notes, expected_note_ids, + "Output note IDs DB roundtrip must be symmetric" + ); + } +} From b4cac6b315d9f54bcbaaef4b5f26a22e7ebfdcc6 Mon Sep 17 00:00:00 2001 From: Juan Munoz Date: Tue, 24 Feb 2026 16:42:23 -0300 Subject: [PATCH 8/8] chore: update lockfile --- Cargo.lock | 1268 +++++----------------------------------------------- 1 file changed, 115 insertions(+), 1153 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 479bf95be9..b857c7dc30 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,30 +27,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom 0.2.17", - "once_cell", - "version_check", -] - -[[package]] -name = "ahash" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" -dependencies = [ - "cfg-if", - "getrandom 0.3.4", - "once_cell", - "version_check", - "zerocopy", -] - [[package]] name = "aho-corasick" version = "1.1.4" @@ -60,21 +36,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "alloc-no-stdlib" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" - -[[package]] -name = "alloc-stdlib" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" -dependencies = [ - "alloc-no-stdlib", -] - [[package]] name = "allocator-api2" version = "0.2.21" @@ -155,15 +116,6 @@ dependencies = [ "backtrace", ] -[[package]] -name = "arc-swap" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d03449bb8ca2cc2ef70869af31463d1ae5ccc8fa3e334b307203fbf815207e" -dependencies = [ - "rustversion", -] - [[package]] name = "arrayref" version = "0.3.9" @@ -217,17 +169,6 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "autocfg" version = "1.5.0" @@ -758,7 +699,7 @@ version = "0.72.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" dependencies = [ - "bitflags 2.10.0", + "bitflags", "cexpr", "clang-sys", "itertools 0.10.5", @@ -785,27 +726,12 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - [[package]] name = "bitflags" version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest", -] - [[package]] name = "blake3" version = "1.8.3" @@ -829,27 +755,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "brotli" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "2.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - [[package]] name = "bumpalo" version = "3.19.1" @@ -921,34 +826,6 @@ dependencies = [ "nom", ] -[[package]] -name = "cf-rustracing" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f85c3824e4191621dec0551e3cef3d511f329da9a8990bf3e450a85651d97e" -dependencies = [ - "backtrace", - "rand 0.8.5", - "tokio", - "trackable", -] - -[[package]] -name = "cf-rustracing-jaeger" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a5f80d44c257c3300a7f45ada676c211e64bbbac591bbec19344a8f61fbcab" -dependencies = [ - "cf-rustracing", - "hostname", - "local-ip-address", - "percent-encoding", - "rand 0.9.2", - "thrift_codec", - "tokio", - "trackable", -] - [[package]] name = "cfg-if" version = "1.0.4" @@ -1041,23 +918,6 @@ dependencies = [ "libloading", ] -[[package]] -name = "clap" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" -dependencies = [ - "atty", - "bitflags 1.3.2", - "clap_derive 3.2.25", - "clap_lex 0.2.4", - "indexmap 1.9.3", - "once_cell", - "strsim 0.10.0", - "termcolor", - "textwrap", -] - [[package]] name = "clap" version = "4.5.55" @@ -1065,7 +925,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e34525d5bbbd55da2bb745d34b36121baac88d07619a9a09cfcf4a6c0832785" dependencies = [ "clap_builder", - "clap_derive 4.5.55", + "clap_derive", ] [[package]] @@ -1076,21 +936,8 @@ checksum = "59a20016a20a3da95bef50ec7238dbd09baeef4311dcdd38ec15aba69812fb61" dependencies = [ "anstream", "anstyle", - "clap_lex 0.7.7", - "strsim 0.11.1", -] - -[[package]] -name = "clap_derive" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" -dependencies = [ - "heck 0.4.1", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", + "clap_lex", + "strsim", ] [[package]] @@ -1099,21 +946,12 @@ version = "4.5.55" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "syn 2.0.114", ] -[[package]] -name = "clap_lex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -dependencies = [ - "os_str_bytes", -] - [[package]] name = "clap_lex" version = "0.7.7" @@ -1182,15 +1020,6 @@ dependencies = [ "libc", ] -[[package]] -name = "crc32fast" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" -dependencies = [ - "cfg-if", -] - [[package]] name = "criterion" version = "0.5.1" @@ -1200,7 +1029,7 @@ dependencies = [ "anes", "cast", "ciborium", - "clap 4.5.55", + "clap", "criterion-plot", "is-terminal", "itertools 0.10.5", @@ -1246,15 +1075,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "crossbeam-queue" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-utils" version = "0.8.21" @@ -1317,47 +1137,14 @@ dependencies = [ "syn 2.0.114", ] -[[package]] -name = "daemonize" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8bfdaacb3c887a54d41bdf48d3af8873b3f5566469f8ba21b92057509f116e" -dependencies = [ - "libc", -] - -[[package]] -name = "darling" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" -dependencies = [ - "darling_core 0.20.11", - "darling_macro 0.20.11", -] - [[package]] name = "darling" version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" dependencies = [ - "darling_core 0.21.3", - "darling_macro 0.21.3", -] - -[[package]] -name = "darling_core" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.11.1", - "syn 2.0.114", + "darling_core", + "darling_macro", ] [[package]] @@ -1370,18 +1157,7 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim 0.11.1", - "syn 2.0.114", -] - -[[package]] -name = "darling_macro" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" -dependencies = [ - "darling_core 0.20.11", - "quote", + "strsim", "syn 2.0.114", ] @@ -1391,7 +1167,7 @@ version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ - "darling_core 0.21.3", + "darling_core", "quote", "syn 2.0.114", ] @@ -1456,48 +1232,6 @@ dependencies = [ "powerfmt", ] -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "derive_builder" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" -dependencies = [ - "derive_builder_macro", -] - -[[package]] -name = "derive_builder_core" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" -dependencies = [ - "darling 0.20.11", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "derive_builder_macro" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" -dependencies = [ - "derive_builder_core", - "syn 2.0.114", -] - [[package]] name = "derive_more" version = "2.1.1" @@ -1616,9 +1350,9 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd122633e4bef06db27737f21d3738fb89c8f6d5360d6d9d7635dda142a7757e" dependencies = [ - "darling 0.21.3", + "darling", "either", - "heck 0.5.0", + "heck", "proc-macro2", "quote", "syn 2.0.114", @@ -1801,17 +1535,6 @@ version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" -[[package]] -name = "flate2" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369" -dependencies = [ - "crc32fast", - "libz-ng-sys", - "miniz_oxide", -] - [[package]] name = "flume" version = "0.11.1" @@ -1830,12 +1553,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - [[package]] name = "foldhash" version = "0.2.0" @@ -2029,18 +1746,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "getset" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf0fc11e47561d47397154977bc219f4cf809b2974facc3ccb3b89e2436f912" -dependencies = [ - "proc-macro-error2", - "proc-macro2", - "quote", - "syn 2.0.114", -] - [[package]] name = "gimli" version = "0.32.3" @@ -2076,7 +1781,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.13.0", + "indexmap", "slab", "tokio", "tokio-util", @@ -2095,7 +1800,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.4.0", - "indexmap 2.13.0", + "indexmap", "slab", "tokio", "tokio-util", @@ -2113,26 +1818,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.8", -] - -[[package]] -name = "hashbrown" -version = "0.15.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash 0.1.5", -] - [[package]] name = "hashbrown" version = "0.16.1" @@ -2141,33 +1826,18 @@ checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" dependencies = [ "allocator-api2", "equivalent", - "foldhash 0.2.0", + "foldhash", "rayon", "serde", "serde_core", ] -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - [[package]] name = "heck" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.5.2" @@ -2198,17 +1868,6 @@ dependencies = [ "digest", ] -[[package]] -name = "hostname" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd" -dependencies = [ - "cfg-if", - "libc", - "windows-link", -] - [[package]] name = "http" version = "0.2.12" @@ -2554,16 +2213,6 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "964de6e86d545b246d84badc0fef527924ace5134f30641c203ef52ba83f58d5" -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - [[package]] name = "indexmap" version = "2.13.0" @@ -2571,7 +2220,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", - "hashbrown 0.16.1", + "hashbrown", ] [[package]] @@ -2611,7 +2260,7 @@ version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ - "hermit-abi 0.5.2", + "hermit-abi", "libc", "windows-sys 0.59.0", ] @@ -2802,16 +2451,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "libz-ng-sys" -version = "1.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bf914b7dd154ca9193afec311d8e39345c1bd93b48b3faa77329f0db8f553c0" -dependencies = [ - "cmake", - "libc", -] - [[package]] name = "libz-sys" version = "1.1.23" @@ -2823,12 +2462,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -2847,17 +2480,6 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" -[[package]] -name = "local-ip-address" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92488bc8a0f99ee9f23577bdd06526d49657df8bd70504c61f812337cdad01ab" -dependencies = [ - "libc", - "neli", - "windows-sys 0.61.2", -] - [[package]] name = "lock_api" version = "0.4.14" @@ -2920,15 +2542,6 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "lru" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f8cc7106155f10bdf99a6f379688f543ad6596a415375b36a59a054ceda1198" -dependencies = [ - "hashbrown 0.15.5", -] - [[package]] name = "lru" version = "0.16.3" @@ -2972,15 +2585,6 @@ version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "miden-agglayer" version = "0.14.0" @@ -3006,7 +2610,7 @@ checksum = "5cca9632323bd4e32ae5b21b101ed417a646f5d72196b1bf3f1ca889a148322a" dependencies = [ "miden-core", "miden-utils-indexing", - "thiserror 2.0.18", + "thiserror", "winter-air", "winter-prover", ] @@ -3023,7 +2627,7 @@ dependencies = [ "miden-core", "miden-mast-package", "smallvec", - "thiserror 2.0.18", + "thiserror", ] [[package]] @@ -3047,7 +2651,7 @@ dependencies = [ "rustc_version 0.4.1", "semver 1.0.27", "smallvec", - "thiserror 2.0.18", + "thiserror", ] [[package]] @@ -3056,7 +2660,7 @@ version = "0.14.0" source = "git+https://github.com/0xMiden/miden-base?branch=next#0904e2c610ab49bf6ee13cf349c05c8621f23cd2" dependencies = [ "miden-protocol", - "thiserror 2.0.18", + "thiserror", ] [[package]] @@ -3076,7 +2680,7 @@ dependencies = [ "num-traits", "proptest", "proptest-derive", - "thiserror 2.0.18", + "thiserror", "winter-math", "winter-utils", ] @@ -3095,7 +2699,7 @@ dependencies = [ "miden-processor", "miden-utils-sync", "sha2", - "thiserror 2.0.18", + "thiserror", ] [[package]] @@ -3111,14 +2715,14 @@ dependencies = [ "ed25519-dalek", "flume", "glob", - "hashbrown 0.16.1", + "hashbrown", "hkdf", "k256", "miden-crypto-derive", "num", "num-complex", - "rand 0.9.2", - "rand_chacha 0.9.0", + "rand", + "rand_chacha", "rand_core 0.9.5", "rand_hc", "rayon", @@ -3126,7 +2730,7 @@ dependencies = [ "sha2", "sha3", "subtle", - "thiserror 2.0.18", + "thiserror", "winter-crypto", "winter-math", "winter-utils", @@ -3158,7 +2762,7 @@ dependencies = [ "paste", "serde", "serde_spanned 1.0.4", - "thiserror 2.0.18", + "thiserror", ] [[package]] @@ -3179,7 +2783,7 @@ dependencies = [ "derive_more", "miden-assembly-syntax", "miden-core", - "thiserror 2.0.18", + "thiserror", ] [[package]] @@ -3208,7 +2812,7 @@ dependencies = [ "syn 2.0.114", "terminal_size 0.3.0", "textwrap", - "thiserror 2.0.18", + "thiserror", "trybuild", "unicode-width 0.1.14", ] @@ -3230,7 +2834,7 @@ version = "0.14.0" dependencies = [ "anyhow", "axum", - "clap 4.5.55", + "clap", "hex", "humantime", "miden-node-proto", @@ -3240,8 +2844,8 @@ dependencies = [ "miden-standards", "miden-testing", "miden-tx", - "rand 0.9.2", - "rand_chacha 0.9.0", + "rand", + "rand_chacha", "reqwest", "serde", "serde_json", @@ -3258,7 +2862,7 @@ name = "miden-node" version = "0.14.0" dependencies = [ "anyhow", - "clap 4.5.55", + "clap", "figment", "fs-err", "hex", @@ -3295,12 +2899,12 @@ dependencies = [ "miden-tx", "miden-tx-batch-prover", "pretty_assertions", - "rand 0.9.2", - "rand_chacha 0.9.0", + "rand", + "rand_chacha", "rstest", "serial_test", "tempfile", - "thiserror 2.0.18", + "thiserror", "tokio", "tokio-stream", "tonic", @@ -3320,7 +2924,7 @@ dependencies = [ "deadpool-sync", "diesel", "miden-protocol", - "thiserror 2.0.18", + "thiserror", "tracing", ] @@ -3340,7 +2944,6 @@ dependencies = [ "diesel", "diesel_migrations", "futures", - "indexmap 2.13.0", "libsqlite3-sys", "miden-node-db", "miden-node-proto", @@ -3350,8 +2953,11 @@ dependencies = [ "miden-remote-prover-client", "miden-standards", "miden-tx", + "prost", + "rand_chacha", "rstest", - "thiserror 2.0.18", + "tempfile", + "thiserror", "tokio", "tokio-stream", "tokio-util", @@ -3378,7 +2984,7 @@ dependencies = [ "miette", "proptest", "prost", - "thiserror 2.0.18", + "thiserror", "tonic", "tonic-prost", "tonic-prost-build", @@ -3419,7 +3025,7 @@ dependencies = [ "rstest", "semver 1.0.27", "tempfile", - "thiserror 2.0.18", + "thiserror", "tokio", "tokio-stream", "tonic", @@ -3445,8 +3051,9 @@ dependencies = [ "fs-err", "futures", "hex", - "indexmap 2.13.0", + "indexmap", "libsqlite3-sys", + "miden-agglayer", "miden-block-prover", "miden-crypto", "miden-node-db", @@ -3459,12 +3066,13 @@ dependencies = [ "miden-remote-prover-client", "miden-standards", "pretty_assertions", - "rand 0.9.2", - "rand_chacha 0.9.0", + "rand", + "rand_chacha", "regex", "serde", + "tempfile", "termtree", - "thiserror 2.0.18", + "thiserror", "tokio", "tokio-stream", "toml 0.9.11+spec-1.1.0", @@ -3479,7 +3087,7 @@ dependencies = [ name = "miden-node-stress-test" version = "0.14.0" dependencies = [ - "clap 4.5.55", + "clap", "fs-err", "futures", "miden-air", @@ -3490,7 +3098,7 @@ dependencies = [ "miden-node-utils", "miden-protocol", "miden-standards", - "rand 0.9.2", + "rand", "rayon", "tokio", "tonic", @@ -3516,15 +3124,15 @@ dependencies = [ "http 1.4.0", "http-body-util", "itertools 0.14.0", - "lru 0.16.3", + "lru", "miden-node-rocksdb-cxx-linkage-fix", "miden-protocol", "opentelemetry", "opentelemetry-otlp", "opentelemetry_sdk", - "rand 0.9.2", + "rand", "serde", - "thiserror 2.0.18", + "thiserror", "tokio", "tonic", "tower-http", @@ -3552,7 +3160,7 @@ dependencies = [ "miden-node-utils", "miden-protocol", "miden-tx", - "thiserror 2.0.18", + "thiserror", "tokio", "tokio-stream", "tonic", @@ -3575,7 +3183,7 @@ dependencies = [ "miden-utils-indexing", "paste", "rayon", - "thiserror 2.0.18", + "thiserror", "tokio", "tracing", "winter-prover", @@ -3599,13 +3207,13 @@ dependencies = [ "miden-protocol-macros", "miden-utils-sync", "miden-verifier", - "rand 0.9.2", - "rand_chacha 0.9.0", + "rand", + "rand_chacha", "rand_xoshiro", "regex", "semver 1.0.27", "serde", - "thiserror 2.0.18", + "thiserror", "toml 0.9.11+spec-1.1.0", "walkdir", "winter-rand-utils", @@ -3641,9 +3249,7 @@ version = "0.14.0" dependencies = [ "anyhow", "async-trait", - "axum", - "bytes", - "clap 4.5.55", + "clap", "http 1.4.0", "humantime", "miden-block-prover", @@ -3658,28 +3264,17 @@ dependencies = [ "miden-tx-batch-prover", "miette", "opentelemetry", - "pingora", - "pingora-core", - "pingora-limits", - "pingora-proxy", - "prometheus 0.14.0", "prost", - "reqwest", - "semver 1.0.27", - "serde", - "serde_qs", - "thiserror 2.0.18", "tokio", "tokio-stream", "tonic", "tonic-health", "tonic-prost", "tonic-prost-build", + "tonic-reflection", "tonic-web", "tower-http", "tracing", - "tracing-opentelemetry", - "uuid", ] [[package]] @@ -3693,7 +3288,7 @@ dependencies = [ "miden-tx", "miette", "prost", - "thiserror 2.0.18", + "thiserror", "tokio", "tonic", "tonic-prost", @@ -3713,9 +3308,9 @@ dependencies = [ "miden-core-lib", "miden-processor", "miden-protocol", - "rand 0.9.2", + "rand", "regex", - "thiserror 2.0.18", + "thiserror", "walkdir", ] @@ -3736,9 +3331,9 @@ dependencies = [ "miden-standards", "miden-tx", "miden-tx-batch-prover", - "rand 0.9.2", - "rand_chacha 0.9.0", - "thiserror 2.0.18", + "rand", + "rand_chacha", + "thiserror", "winterfell", ] @@ -3752,7 +3347,7 @@ dependencies = [ "miden-prover", "miden-standards", "miden-verifier", - "thiserror 2.0.18", + "thiserror", ] [[package]] @@ -3794,7 +3389,7 @@ version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eeff7bcb7875b222424bdfb657a7cf21a55e036aa7558ebe1f5d2e413b440d0d" dependencies = [ - "thiserror 2.0.18", + "thiserror", ] [[package]] @@ -3816,7 +3411,7 @@ checksum = "b13816663794beb15c8a4721c15252eb21f3b3233525684f60c7888837a98ff4" dependencies = [ "miden-air", "miden-core", - "thiserror 2.0.18", + "thiserror", "tracing", "winter-verifier", ] @@ -3829,7 +3424,7 @@ checksum = "9d4cfab04baffdda3fb9eafa5f873604059b89a1699aa95e4f1057397a69f0b5" dependencies = [ "miden-formatting", "smallvec", - "thiserror 2.0.18", + "thiserror", ] [[package]] @@ -3902,7 +3497,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", - "simd-adler32", ] [[package]] @@ -3948,53 +3542,12 @@ dependencies = [ "tempfile", ] -[[package]] -name = "neli" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e23bebbf3e157c402c4d5ee113233e5e0610cc27453b2f07eefce649c7365dcc" -dependencies = [ - "bitflags 2.10.0", - "byteorder", - "derive_builder", - "getset", - "libc", - "log", - "neli-proc-macros", - "parking_lot", -] - -[[package]] -name = "neli-proc-macros" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05d8d08c6e98f20a62417478ebf7be8e1425ec9acecc6f63e22da633f6b71609" -dependencies = [ - "either", - "proc-macro2", - "quote", - "serde", - "syn 2.0.114", -] - [[package]] name = "new_debug_unreachable" version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" -[[package]] -name = "nix" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset", -] - [[package]] name = "nom" version = "7.1.3" @@ -4111,7 +3664,7 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ - "hermit-abi 0.5.2", + "hermit-abi", "libc", ] @@ -4154,7 +3707,7 @@ version = "0.10.75" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" dependencies = [ - "bitflags 2.10.0", + "bitflags", "cfg-if", "foreign-types", "libc", @@ -4208,7 +3761,7 @@ dependencies = [ "futures-sink", "js-sys", "pin-project-lite", - "thiserror 2.0.18", + "thiserror", "tracing", ] @@ -4223,7 +3776,7 @@ dependencies = [ "opentelemetry-proto", "opentelemetry_sdk", "prost", - "thiserror 2.0.18", + "thiserror", "tokio", "tonic", ] @@ -4252,18 +3805,12 @@ dependencies = [ "futures-util", "opentelemetry", "percent-encoding", - "rand 0.9.2", - "thiserror 2.0.18", + "rand", + "thiserror", "tokio", "tokio-stream", ] -[[package]] -name = "os_str_bytes" -version = "6.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" - [[package]] name = "outref" version = "0.5.2" @@ -4341,7 +3888,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ "fixedbitset", - "indexmap 2.13.0", + "indexmap", ] [[package]] @@ -4366,269 +3913,24 @@ dependencies = [ name = "pin-project-internal" version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pingora" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a1f02a6347e81953ab831fdcf090a028db12d67ec3badf47831d1299dac6e20" -dependencies = [ - "pingora-core", - "pingora-http", - "pingora-load-balancing", - "pingora-proxy", - "pingora-timeout", -] - -[[package]] -name = "pingora-cache" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef622051fbb2cb98a524df3a8112f02d0919ccda600a44d705ec550f1a28fe2" -dependencies = [ - "ahash 0.8.12", - "async-trait", - "blake2", - "bytes", - "cf-rustracing", - "cf-rustracing-jaeger", - "hex", - "http 1.4.0", - "httparse", - "httpdate", - "indexmap 1.9.3", - "log", - "lru 0.14.0", - "once_cell", - "parking_lot", - "pingora-core", - "pingora-error", - "pingora-header-serde", - "pingora-http", - "pingora-lru", - "pingora-timeout", - "rand 0.8.5", - "regex", - "rmp", - "rmp-serde", - "serde", - "strum", - "tokio", -] - -[[package]] -name = "pingora-core" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f63d3f67d99c95a1f85623fc43242fd644dd12ccbaa18c38a54e1580c6846a" -dependencies = [ - "ahash 0.8.12", - "async-trait", - "brotli", - "bytes", - "chrono", - "clap 3.2.25", - "daemonize", - "derivative", - "flate2", - "futures", - "h2 0.4.13", - "http 1.4.0", - "httparse", - "httpdate", - "libc", - "log", - "nix", - "once_cell", - "openssl-probe 0.1.6", - "parking_lot", - "percent-encoding", - "pingora-error", - "pingora-http", - "pingora-pool", - "pingora-runtime", - "pingora-timeout", - "prometheus 0.13.4", - "rand 0.8.5", - "regex", - "serde", - "serde_yaml", - "sfv", - "socket2 0.6.2", - "strum", - "strum_macros", - "tokio", - "tokio-test", - "unicase", - "windows-sys 0.59.0", - "zstd", -] - -[[package]] -name = "pingora-error" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52119570d3f4644e09654ad24df2b7d851bf12eaa8c4148b4674c7f90916598e" - -[[package]] -name = "pingora-header-serde" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "252a16def05c7adbbdda776e87b2be36e9481c8a77249207a2f3b563e8933b35" -dependencies = [ - "bytes", - "http 1.4.0", - "httparse", - "pingora-error", - "pingora-http", - "thread_local", - "zstd", - "zstd-safe", -] - -[[package]] -name = "pingora-http" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3542fd0fd0a83212882c5066ae739ba51804f20d624ff7e12ec85113c5c89a" -dependencies = [ - "bytes", - "http 1.4.0", - "pingora-error", -] - -[[package]] -name = "pingora-ketama" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f5dd8546b1874d5cfca594375c1cfb852c3dffd4f060428fa031a6e790dea18" -dependencies = [ - "crc32fast", -] - -[[package]] -name = "pingora-limits" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b93c897e8cc04ff0d077ee2a655142910618222aeefc83f7f99f5b9fc59ccb13" -dependencies = [ - "ahash 0.8.12", -] - -[[package]] -name = "pingora-load-balancing" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b5bb0314830a64b73b50b3782f3089f87947b61b4324c804d6f8d4ff9ce1c70" -dependencies = [ - "arc-swap", - "async-trait", - "derivative", - "fnv", - "futures", - "http 1.4.0", - "log", - "pingora-core", - "pingora-error", - "pingora-http", - "pingora-ketama", - "pingora-runtime", - "rand 0.8.5", - "tokio", -] - -[[package]] -name = "pingora-lru" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba89e4400cb978f0d7be1c14bd7ab4168c8e2c00d97ff19f964fc0048780237c" -dependencies = [ - "arrayvec", - "hashbrown 0.12.3", - "parking_lot", - "rand 0.8.5", -] - -[[package]] -name = "pingora-pool" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "996c574f30a6e1ad10b47ac1626a86e0e47d5075953dd049d60df16ba5f7076e" -dependencies = [ - "crossbeam-queue", - "log", - "lru 0.14.0", - "parking_lot", - "pingora-timeout", - "thread_local", - "tokio", -] - -[[package]] -name = "pingora-proxy" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c4097fd2639905bf5b81f3618551cd826d5e03aac063e17fd7a4137f19c1a5b" -dependencies = [ - "async-trait", - "bytes", - "clap 3.2.25", - "futures", - "h2 0.4.13", - "http 1.4.0", - "log", - "once_cell", - "pingora-cache", - "pingora-core", - "pingora-error", - "pingora-http", - "rand 0.8.5", - "regex", - "tokio", +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] -name = "pingora-runtime" -version = "0.6.0" +name = "pin-project-lite" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccc165021cf55a39b9e760121b22c4260b17a0b2c530d5b93092fc5bc765b94" -dependencies = [ - "once_cell", - "rand 0.8.5", - "thread_local", - "tokio", -] +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] -name = "pingora-timeout" -version = "0.6.0" +name = "pin-utils" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "548cd21d41611c725827677937e68f2cd008bbfa09f3416d3fbad07e1e42f6d7" -dependencies = [ - "once_cell", - "parking_lot", - "pin-project-lite", - "thread_local", - "tokio", -] +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" @@ -4759,52 +4061,6 @@ dependencies = [ "toml_edit 0.23.10+spec-1.0.0", ] -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" -dependencies = [ - "proc-macro2", - "quote", -] - -[[package]] -name = "proc-macro-error2" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" -dependencies = [ - "proc-macro-error-attr2", - "proc-macro2", - "quote", - "syn 2.0.114", -] - [[package]] name = "proc-macro2" version = "1.0.106" @@ -4827,36 +4083,6 @@ dependencies = [ "yansi", ] -[[package]] -name = "prometheus" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" -dependencies = [ - "cfg-if", - "fnv", - "lazy_static", - "memchr", - "parking_lot", - "protobuf 2.28.0", - "thiserror 1.0.69", -] - -[[package]] -name = "prometheus" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ca5326d8d0b950a9acd87e6a3f94745394f62e4dae1b1ee22b2bc0c394af43a" -dependencies = [ - "cfg-if", - "fnv", - "lazy_static", - "memchr", - "parking_lot", - "protobuf 3.7.2", - "thiserror 2.0.18", -] - [[package]] name = "proptest" version = "1.9.0" @@ -4865,10 +4091,10 @@ checksum = "bee689443a2bd0a16ab0348b52ee43e3b2d1b1f931c8aa5c9f8de4c86fbe8c40" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.10.0", + "bitflags", "num-traits", - "rand 0.9.2", - "rand_chacha 0.9.0", + "rand", + "rand_chacha", "rand_xorshift", "regex-syntax", "rusty-fork", @@ -4903,7 +4129,7 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac6c3320f9abac597dcbc668774ef006702672474aad53c6d596b62e487b40b1" dependencies = [ - "heck 0.5.0", + "heck", "itertools 0.14.0", "log", "multimap", @@ -4953,32 +4179,6 @@ dependencies = [ "prost", ] -[[package]] -name = "protobuf" -version = "2.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" - -[[package]] -name = "protobuf" -version = "3.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d65a1d4ddae7d8b5de68153b48f6aa3bba8cb002b243dbdbc55a5afbc98f99f4" -dependencies = [ - "once_cell", - "protobuf-support", - "thiserror 1.0.69", -] - -[[package]] -name = "protobuf-support" -version = "3.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e36c2f31e0a47f9280fb347ef5e461ffcd2c52dd520d8e216b52f93b0b0d7d6" -dependencies = [ - "thiserror 1.0.69", -] - [[package]] name = "protox" version = "0.9.1" @@ -4991,7 +4191,7 @@ dependencies = [ "prost-reflect", "prost-types", "protox-parse", - "thiserror 2.0.18", + "thiserror", ] [[package]] @@ -5003,7 +4203,7 @@ dependencies = [ "logos", "miette", "prost-types", - "thiserror 2.0.18", + "thiserror", ] [[package]] @@ -5012,7 +4212,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e8bbe1a966bd2f362681a44f6edce3c2310ac21e4d5067a6e7ec396297a6ea0" dependencies = [ - "bitflags 2.10.0", + "bitflags", "memchr", "unicase", ] @@ -5047,37 +4247,16 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - [[package]] name = "rand" version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ - "rand_chacha 0.9.0", + "rand_chacha", "rand_core 0.9.5", ] -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - [[package]] name = "rand_chacha" version = "0.9.0" @@ -5159,7 +4338,7 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.10.0", + "bitflags", ] [[package]] @@ -5267,25 +4446,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rmp" -version = "0.8.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ba8be72d372b2c9b35542551678538b562e7cf86c3315773cae48dfbfe7790c" -dependencies = [ - "num-traits", -] - -[[package]] -name = "rmp-serde" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f81bee8c8ef9b577d1681a70ebbc962c232461e397b22c208c43c04b67a155" -dependencies = [ - "rmp", - "serde", -] - [[package]] name = "rocksdb" version = "0.24.0" @@ -5302,8 +4462,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8a1f2315036ef6b1fbacd1972e8ee7688030b0a2121edfc2a6550febd41574d" dependencies = [ - "hashbrown 0.16.1", - "thiserror 2.0.18", + "hashbrown", + "thiserror", ] [[package]] @@ -5335,16 +4495,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "rust_decimal" -version = "1.40.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f703d19852dbf87cbc513643fa81428361eb6940f1ac14fd58155d295a3eb0" -dependencies = [ - "arrayvec", - "num-traits", -] - [[package]] name = "rustc-demangle" version = "0.1.27" @@ -5381,7 +4531,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.10.0", + "bitflags", "errno", "libc", "linux-raw-sys 0.4.15", @@ -5394,7 +4544,7 @@ version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" dependencies = [ - "bitflags 2.10.0", + "bitflags", "errno", "libc", "linux-raw-sys 0.11.0", @@ -5571,7 +4721,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.10.0", + "bitflags", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -5584,7 +4734,7 @@ version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" dependencies = [ - "bitflags 2.10.0", + "bitflags", "core-foundation 0.10.1", "core-foundation-sys", "libc", @@ -5680,17 +4830,6 @@ dependencies = [ "serde_core", ] -[[package]] -name = "serde_qs" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3faaf9e727533a19351a43cc5a8de957372163c7d35cc48c90b75cdda13c352" -dependencies = [ - "percent-encoding", - "serde", - "thiserror 2.0.18", -] - [[package]] name = "serde_spanned" version = "0.6.9" @@ -5721,18 +4860,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_yaml" -version = "0.8.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" -dependencies = [ - "indexmap 1.9.3", - "ryu", - "serde", - "yaml-rust", -] - [[package]] name = "serial_test" version = "3.3.1" @@ -5759,17 +4886,6 @@ dependencies = [ "syn 2.0.114", ] -[[package]] -name = "sfv" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fa1f336066b758b7c9df34ed049c0e693a426afe2b27ff7d5b14f410ab1a132" -dependencies = [ - "base64", - "indexmap 2.13.0", - "rust_decimal", -] - [[package]] name = "sha2" version = "0.10.9" @@ -5826,12 +4942,6 @@ dependencies = [ "rand_core 0.6.4", ] -[[package]] -name = "simd-adler32" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" - [[package]] name = "siphasher" version = "1.0.2" @@ -5934,40 +5044,12 @@ dependencies = [ "vte", ] -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - [[package]] name = "strsim" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.114", -] - [[package]] name = "subtle" version = "2.6.1" @@ -6043,7 +5125,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.10.0", + "bitflags", "core-foundation 0.9.4", "system-configuration-sys", ] @@ -6132,33 +5214,13 @@ dependencies = [ "unicode-width 0.2.2", ] -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", -] - [[package]] name = "thiserror" version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.18", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", + "thiserror-impl", ] [[package]] @@ -6181,16 +5243,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "thrift_codec" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83d957f535b242b91aa9f47bde08080f9a6fef276477e55b0079979d002759d5" -dependencies = [ - "byteorder", - "trackable", -] - [[package]] name = "time" version = "0.3.47" @@ -6312,17 +5364,6 @@ dependencies = [ "tokio-util", ] -[[package]] -name = "tokio-test" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f6d24790a10a7af737693a3e8f1d03faef7e6ca0cc99aae5066f533766de545" -dependencies = [ - "futures-core", - "tokio", - "tokio-stream", -] - [[package]] name = "tokio-util" version = "0.7.18" @@ -6354,7 +5395,7 @@ version = "0.9.11+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3afc9a848309fe1aaffaed6e1546a7a14de1f935dc9d89d32afd9a44bab7c46" dependencies = [ - "indexmap 2.13.0", + "indexmap", "serde_core", "serde_spanned 1.0.4", "toml_datetime 0.7.5+spec-1.1.0", @@ -6387,7 +5428,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.13.0", + "indexmap", "serde", "serde_spanned 0.6.9", "toml_datetime 0.6.11", @@ -6401,7 +5442,7 @@ version = "0.23.10+spec-1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" dependencies = [ - "indexmap 2.13.0", + "indexmap", "toml_datetime 0.7.5+spec-1.1.0", "toml_parser", "winnow", @@ -6559,7 +5600,7 @@ dependencies = [ "httparse", "js-sys", "pin-project", - "thiserror 2.0.18", + "thiserror", "tonic", "tower-service", "wasm-bindgen", @@ -6576,7 +5617,7 @@ checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" dependencies = [ "futures-core", "futures-util", - "indexmap 2.13.0", + "indexmap", "pin-project-lite", "slab", "sync_wrapper", @@ -6593,7 +5634,7 @@ version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ - "bitflags 2.10.0", + "bitflags", "bytes", "futures-util", "http 1.4.0", @@ -6660,7 +5701,7 @@ checksum = "3298fe855716711a00474eceb89cc7dc254bbe67f6bc4afafdeec5f0c538771c" dependencies = [ "chrono", "smallvec", - "thiserror 2.0.18", + "thiserror", "tracing", "tracing-subscriber", ] @@ -6723,25 +5764,6 @@ dependencies = [ "tracing-serde", ] -[[package]] -name = "trackable" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15bd114abb99ef8cee977e517c8f37aee63f184f2d08e3e6ceca092373369ae" -dependencies = [ - "trackable_derive", -] - -[[package]] -name = "trackable_derive" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebeb235c5847e2f82cfe0f07eb971d1e5f6804b18dac2ae16349cc604380f82f" -dependencies = [ - "quote", - "syn 1.0.109", -] - [[package]] name = "try-lock" version = "0.2.5" @@ -6874,7 +5896,6 @@ version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" dependencies = [ - "getrandom 0.3.4", "js-sys", "wasm-bindgen", ] @@ -7047,22 +6068,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - [[package]] name = "winapi-util" version = "0.1.11" @@ -7072,12 +6077,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - [[package]] name = "windows-core" version = "0.62.2" @@ -7464,7 +6463,7 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4ff3b651754a7bd216f959764d0a5ab6f4b551c9a3a08fb9ccecbed594b614a" dependencies = [ - "rand 0.9.2", + "rand", "winter-utils", ] @@ -7529,15 +6528,6 @@ version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" -[[package]] -name = "yaml-rust" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" -dependencies = [ - "linked-hash-map", -] - [[package]] name = "yansi" version = "1.0.1" @@ -7652,31 +6642,3 @@ name = "zmij" version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439" - -[[package]] -name = "zstd" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "7.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" -dependencies = [ - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.16+zstd.1.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" -dependencies = [ - "cc", - "pkg-config", -]