From 9ef28e85f48d0a3c26e2f7bf697b9f576e1f911c Mon Sep 17 00:00:00 2001 From: Samuel Vanderwaal Date: Thu, 22 Oct 2026 15:08:57 -0800 Subject: [PATCH 1/8] test: load the rebranded program binary in the test validator The crate rename to spherenet-stake-program changed the SBF output to target/deploy/spherenet_stake_program.so, but the validator script still pointed at solana_stake_program.so, so the JS tests could not start. Co-Authored-By: Claude Opus 5.5 --- scripts/restart-test-validator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/restart-test-validator.sh b/scripts/restart-test-validator.sh index 287cd962..7b3f8572 100755 --- a/scripts/restart-test-validator.sh +++ b/scripts/restart-test-validator.sh @@ -7,7 +7,7 @@ cd "${src_root}" ARGS=( -r -q - --bpf-program Stake11111111111111111111111111111111111111 ./target/deploy/solana_stake_program.so + --bpf-program Stake11111111111111111111111111111111111111 ./target/deploy/spherenet_stake_program.so ) PORT=8899 PID=$(lsof -t -i:$PORT) From 17df007c6270a890502e73db40e6306ca27da12d Mon Sep 17 00:00:00 2001 From: Samuel Vanderwaal Date: Thu, 22 Oct 2026 15:08:57 -0800 Subject: [PATCH 2/8] build: enable getrandom's js backend for wasm32-unknown-unknown spherenet-validator-whitelist-interface (via solana-program) and solana-keypair pull getrandom 0.2 into the interface and program crates. On wasm32-unknown-unknown it needs the `js` feature, so the WASM builds failed. Add a target-specific getrandom dependency with `js` enabled. Co-Authored-By: Claude Opus 5.5 --- Cargo.lock | 2 ++ interface/Cargo.toml | 5 +++++ program/Cargo.toml | 5 +++++ 3 files changed, 12 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index bfe8f242..fe65d764 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7481,6 +7481,7 @@ dependencies = [ "borsh", "codama", "codama-macros", + "getrandom 0.2.15", "num-traits", "serde", "serde_derive", @@ -7520,6 +7521,7 @@ dependencies = [ "arbitrary", "assert_matches", "bincode", + "getrandom 0.2.15", "mollusk-svm", "proptest", "rand 0.9.2", diff --git a/interface/Cargo.toml b/interface/Cargo.toml index d408d37d..d0608050 100644 --- a/interface/Cargo.toml +++ b/interface/Cargo.toml @@ -45,6 +45,11 @@ solana-signer = { version = "3.0.0", optional = true } [target.'cfg(not(target_os = "solana"))'.dependencies] serde_json = { version = "1.0", optional = true } +# solana-program (via spherenet-validator-whitelist-interface) and solana-keypair +# pull in getrandom 0.2, which needs its `js` backend on wasm32-unknown-unknown. +[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies] +getrandom = { version = "0.2", features = ["js"] } + [dev-dependencies] anyhow = "1" assert_matches = "1.5.0" diff --git a/program/Cargo.toml b/program/Cargo.toml index 1320a09c..dae1df83 100644 --- a/program/Cargo.toml +++ b/program/Cargo.toml @@ -35,6 +35,11 @@ solana-keypair = { version = "3.0.0", optional = true } solana-signer = { version = "3.0.0", optional = true } solana-instruction = { version = "3.0.0", optional = true } +# solana-program (via spherenet-validator-whitelist-interface) and solana-keypair +# pull in getrandom 0.2, which needs its `js` backend on wasm32-unknown-unknown. +[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies] +getrandom = { version = "0.2", features = ["js"] } + [dev-dependencies] agave-feature-set = "3.0.0" arbitrary = { version = "1.4.2", features = ["derive"] } From 7e005b651fcf3daaa37d24674c770451a44c0bea Mon Sep 17 00:00:00 2001 From: Samuel Vanderwaal Date: Thu, 22 Oct 2026 15:08:57 -0800 Subject: [PATCH 3/8] idl: regenerate for the spherenet-stake-interface crate The committed IDL still carried the upstream program name and version (solanaStakeInterface 2.0.2). Regenerate it (spherenetStakeInterface 0.2.2) and map the new name to `stake` in the client generator, so the generated JS and Rust clients are unchanged. Co-Authored-By: Claude Opus 5.5 --- interface/idl.json | 4 ++-- scripts/generate-clients.mts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/interface/idl.json b/interface/idl.json index b329bed8..9e34208f 100644 --- a/interface/idl.json +++ b/interface/idl.json @@ -1843,10 +1843,10 @@ } ], "kind": "programNode", - "name": "solanaStakeInterface", + "name": "spherenetStakeInterface", "pdas": [], "publicKey": "Stake11111111111111111111111111111111111111", - "version": "2.0.2" + "version": "0.2.2" }, "standard": "codama", "version": "1.0.0" diff --git a/scripts/generate-clients.mts b/scripts/generate-clients.mts index 15714949..d925fc79 100644 --- a/scripts/generate-clients.mts +++ b/scripts/generate-clients.mts @@ -14,7 +14,7 @@ const codama = c.createFromRoot(idl); // Rename the program. codama.update( c.updateProgramsVisitor({ - solanaStakeInterface: { name: 'stake' }, + spherenetStakeInterface: { name: 'stake' }, }) ); From 12a61a6ca18bc7cc3883254b5ba96885fb8d01f7 Mon Sep 17 00:00:00 2001 From: Samuel Vanderwaal Date: Thu, 22 Oct 2026 15:21:15 -0800 Subject: [PATCH 4/8] chore: add SphereNet terms to the spellcheck dictionary cargo-spellcheck flagged "validator", "whitelist" and "PDA" in the doc comments of program/src/instruction_builders.rs. Co-Authored-By: Claude Opus 5.5 --- scripts/solana.dic | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/solana.dic b/scripts/solana.dic index 6c0dd4f2..35ab80d5 100644 --- a/scripts/solana.dic +++ b/scripts/solana.dic @@ -10,6 +10,7 @@ fn IDL lamports mergeable +PDA pubkey pubkeys redelegate @@ -24,5 +25,7 @@ undelegate undelegated unstake unstaked +validator warmup +whitelist withdrawer From 21f32824b8b8f2a29bc1a6b17738fbb9bbf6b175 Mon Sep 17 00:00:00 2001 From: Samuel Vanderwaal Date: Thu, 22 Oct 2026 15:21:15 -0800 Subject: [PATCH 5/8] style: apply rustfmt to the SphereNet additions Run `make format-rust` (nightly-2025-02-16, as in CI) over the code added for the SphereNet mod so the Format & Lint jobs pass. No functional change. Co-Authored-By: Claude Opus 5.5 --- interface/src/helpers/genesis.rs | 21 +++++++++--------- interface/src/lib.rs | 4 ++-- program/src/instruction_builders.rs | 2 +- program/src/lib.rs | 3 +-- program/src/processor.rs | 16 +++++++++----- program/tests/interface.rs | 28 +++++++++++++++--------- program/tests/program_test.rs | 34 +++++++++++++++++++---------- program/tests/stake_instruction.rs | 10 ++++----- 8 files changed, 70 insertions(+), 48 deletions(-) diff --git a/interface/src/helpers/genesis.rs b/interface/src/helpers/genesis.rs index cf94a539..8ec2797f 100644 --- a/interface/src/helpers/genesis.rs +++ b/interface/src/helpers/genesis.rs @@ -1,15 +1,16 @@ -use solana_keypair::Keypair; -use solana_pubkey::Pubkey; -use solana_rent::Rent; -use solana_signer::Signer; -use spherenet_validator_whitelist_interface::state::{ - account::ValidatorWhitelistAccount, whitelist_entry::ValidatorWhitelistEntry, AccountState, - SizeOf, +use { + solana_account::AccountSharedData, + solana_genesis_config::GenesisConfig, + solana_keypair::Keypair, + solana_pubkey::Pubkey, + solana_rent::Rent, + solana_signer::Signer, + spherenet_validator_whitelist_interface::state::{ + account::ValidatorWhitelistAccount, whitelist_entry::ValidatorWhitelistEntry, AccountState, + SizeOf, + }, }; -use solana_account::AccountSharedData; -use solana_genesis_config::GenesisConfig; - pub fn add_validator_whitelist_account_to_genesis_config( genesis_config: &mut GenesisConfig, authority: &Pubkey, diff --git a/interface/src/lib.rs b/interface/src/lib.rs index c57c1304..a20e894e 100644 --- a/interface/src/lib.rs +++ b/interface/src/lib.rs @@ -6,6 +6,8 @@ #[allow(deprecated)] pub mod config; pub mod error; +#[cfg(feature = "helpers")] +pub mod helpers; pub mod instruction; pub mod stake_flags; pub mod stake_history; @@ -13,8 +15,6 @@ pub mod state; #[cfg(feature = "sysvar")] pub mod sysvar; pub mod tools; -#[cfg(feature = "helpers")] -pub mod helpers; #[cfg(feature = "codama")] use codama_macros::codama; diff --git a/program/src/instruction_builders.rs b/program/src/instruction_builders.rs index 6ee73cd9..3b2da3d0 100644 --- a/program/src/instruction_builders.rs +++ b/program/src/instruction_builders.rs @@ -10,6 +10,7 @@ use { solana_instruction::{AccountMeta, Instruction}, + solana_pubkey::Pubkey, spherenet_stake_interface::{ instruction::{create_account, create_account_with_seed, StakeInstruction}, program::ID, @@ -17,7 +18,6 @@ use { }, spherenet_validator_whitelist_interface::program_solana::ID as WHITELIST_PROGRAM_ID, }; -use solana_pubkey::Pubkey; // Inline some constants to avoid dependencies. // diff --git a/program/src/lib.rs b/program/src/lib.rs index 0bc1f19c..c8a56fe9 100644 --- a/program/src/lib.rs +++ b/program/src/lib.rs @@ -14,8 +14,7 @@ pub mod instruction_builders; // Re-export commonly used functions when helpers feature enabled #[cfg(feature = "helpers")] pub use instruction_builders::{ - create_account_and_delegate_stake, create_account_with_seed_and_delegate_stake, - delegate_stake, + create_account_and_delegate_stake, create_account_with_seed_and_delegate_stake, delegate_stake, }; solana_pubkey::declare_id!("Stake11111111111111111111111111111111111111"); diff --git a/program/src/processor.rs b/program/src/processor.rs index c5198933..abda0008 100644 --- a/program/src/processor.rs +++ b/program/src/processor.rs @@ -7,6 +7,9 @@ use { solana_program_error::{ProgramError, ProgramResult}, solana_pubkey::Pubkey, solana_rent::Rent, + solana_sysvar::{epoch_rewards::EpochRewards, Sysvar}, + solana_sysvar_id::SysvarId, + solana_vote_interface::{program as solana_vote_program, state::VoteStateV4}, spherenet_stake_interface::{ error::StakeError, instruction::{ @@ -18,9 +21,6 @@ use { sysvar::stake_history::StakeHistorySysvar, tools::{acceptable_reference_epoch_credits, eligible_for_deactivate_delinquent}, }, - solana_sysvar::{epoch_rewards::EpochRewards, Sysvar}, - solana_sysvar_id::SysvarId, - solana_vote_interface::{program as solana_vote_program, state::VoteStateV4}, spherenet_validator_whitelist_interface::onchain::WhitelistEntryInformation, std::{collections::HashSet, mem::MaybeUninit}, }; @@ -1263,7 +1263,9 @@ impl Processor { delisted_vote_account_info.key, ) .map_err(|e| match e { - solana_instruction_error::InstructionError::Custom(code) => ProgramError::Custom(code), + solana_instruction_error::InstructionError::Custom(code) => { + ProgramError::Custom(code) + } _ => ProgramError::InvalidInstructionData, })?; @@ -1299,8 +1301,10 @@ impl Processor { &clock, ) } - owner if owner == spherenet_validator_whitelist_interface::program_solana::id() - || owner == solana_sdk_ids::system_program::id() => { + owner + if owner == spherenet_validator_whitelist_interface::program_solana::id() + || owner == solana_sdk_ids::system_program::id() => + { // Delisted delinquent: whitelist entry (active or tombstone) Self::deactivate_delisted_delinquent( stake_account_info, diff --git a/program/tests/interface.rs b/program/tests/interface.rs index 92509b39..08a7cb7e 100644 --- a/program/tests/interface.rs +++ b/program/tests/interface.rs @@ -14,6 +14,12 @@ use { solana_sdk_ids::system_program, // Mollusk depends on solana-stake-interface, so we need to use its StakeHistoryEntry for test setup solana_stake_interface::stake_history::StakeHistoryEntry, + solana_svm_log_collector::LogCollector, + solana_sysvar_id::SysvarId, + solana_vote_interface::{ + program as vote_program, + state::{VoteStateV4, VoteStateVersions}, + }, spherenet_stake_interface::{ instruction::{self, LockupArgs}, stake_flags::StakeFlags, @@ -24,12 +30,6 @@ use { }, }, spherenet_stake_program::{get_minimum_delegation, id}, - solana_svm_log_collector::LogCollector, - solana_sysvar_id::SysvarId, - solana_vote_interface::{ - program as vote_program, - state::{VoteStateV4, VoteStateVersions}, - }, spherenet_validator_whitelist_interface::state::{ whitelist_entry::ValidatorWhitelistEntry, AccountState, SizeOf, }, @@ -231,9 +231,12 @@ impl Env { base_accounts.insert(VOTE_ACCOUNT_GOLD, vote_account); // create whitelist entries for all vote accounts - let (whitelist_red, whitelist_red_account) = create_whitelist_entry_account(&VOTE_ACCOUNT_RED); - let (whitelist_blue, whitelist_blue_account) = create_whitelist_entry_account(&VOTE_ACCOUNT_BLUE); - let (whitelist_gold, whitelist_gold_account) = create_whitelist_entry_account(&VOTE_ACCOUNT_GOLD); + let (whitelist_red, whitelist_red_account) = + create_whitelist_entry_account(&VOTE_ACCOUNT_RED); + let (whitelist_blue, whitelist_blue_account) = + create_whitelist_entry_account(&VOTE_ACCOUNT_BLUE); + let (whitelist_gold, whitelist_gold_account) = + create_whitelist_entry_account(&VOTE_ACCOUNT_GOLD); base_accounts.insert(whitelist_red, whitelist_red_account); base_accounts.insert(whitelist_blue, whitelist_blue_account); base_accounts.insert(whitelist_gold, whitelist_gold_account); @@ -576,7 +579,12 @@ impl StakeInterface { // Create instruction with whitelist entry let whitelist_entry_pubkey = spherenet_validator_whitelist_interface::state::whitelist_entry::get_whitelist_entry_pubkey(&VOTE_ACCOUNT_RED).unwrap(); - instruction::delegate_stake(&STAKE_ACCOUNT_BLACK, &STAKER_BLACK, &VOTE_ACCOUNT_RED, &whitelist_entry_pubkey) + instruction::delegate_stake( + &STAKE_ACCOUNT_BLACK, + &STAKER_BLACK, + &VOTE_ACCOUNT_RED, + &whitelist_entry_pubkey, + ) } Self::Split { lockup_state, diff --git a/program/tests/program_test.rs b/program/tests/program_test.rs index 662ce82d..a8e2ee40 100644 --- a/program/tests/program_test.rs +++ b/program/tests/program_test.rs @@ -12,6 +12,12 @@ use { solana_rent::Rent, solana_sdk_ids::system_program, solana_signer::Signer, + solana_system_interface::instruction as system_instruction, + solana_transaction::{Signers, Transaction, TransactionError}, + solana_vote_interface::{ + instruction as vote_instruction, + state::{VoteInit, VoteStateV4}, + }, spherenet_stake_interface::{ error::StakeError, instruction::{self as ixn, LockupArgs}, @@ -19,12 +25,6 @@ use { stake_history::StakeHistory, state::{Authorized, Delegation, Lockup, Meta, Stake, StakeAuthorize, StakeStateV2}, }, - solana_system_interface::instruction as system_instruction, - solana_transaction::{Signers, Transaction, TransactionError}, - solana_vote_interface::{ - instruction as vote_instruction, - state::{VoteInit, VoteStateV4}, - }, spherenet_validator_whitelist_interface::state::whitelist_entry::get_whitelist_entry_pubkey, test_case::{test_case, test_matrix}, }; @@ -39,7 +39,12 @@ pub fn delegate_stake_with_whitelist( vote_pubkey: &Pubkey, ) -> Instruction { let whitelist_entry_pubkey = get_whitelist_entry_pubkey(vote_pubkey).unwrap(); - ixn::delegate_stake(stake_pubkey, authorized_pubkey, vote_pubkey, &whitelist_entry_pubkey) + ixn::delegate_stake( + stake_pubkey, + authorized_pubkey, + vote_pubkey, + &whitelist_entry_pubkey, + ) } pub fn program_test() -> ProgramTest { @@ -815,7 +820,8 @@ async fn program_test_stake_delegate() { let stake = create_independent_stake_account(&mut context, &authorized, minimum_delegation).await; - let instruction = delegate_stake_with_whitelist(&stake, &staker, &accounts.vote_account.pubkey()); + let instruction = + delegate_stake_with_whitelist(&stake, &staker, &accounts.vote_account.pubkey()); process_instruction_test_missing_signers(&mut context, &instruction, &vec![&staker_keypair]) .await; @@ -839,7 +845,8 @@ async fn program_test_stake_delegate() { // verify that delegate fails as stake is active and not deactivating advance_epoch(&mut context).await; - let instruction = delegate_stake_with_whitelist(&stake, &staker, &accounts.vote_account.pubkey()); + let instruction = + delegate_stake_with_whitelist(&stake, &staker, &accounts.vote_account.pubkey()); let e = process_instruction(&mut context, &instruction, &vec![&staker_keypair]) .await .unwrap_err(); @@ -860,7 +867,8 @@ async fn program_test_stake_delegate() { // verify that delegate succeeds to same vote account when stake is deactivating refresh_blockhash(&mut context).await; - let instruction = delegate_stake_with_whitelist(&stake, &staker, &accounts.vote_account.pubkey()); + let instruction = + delegate_stake_with_whitelist(&stake, &staker, &accounts.vote_account.pubkey()); process_instruction(&mut context, &instruction, &vec![&staker_keypair]) .await .unwrap(); @@ -1002,7 +1010,8 @@ impl StakeLifecycle { } if self >= StakeLifecycle::Activating { - let instruction = delegate_stake_with_whitelist(&stake, &staker_keypair.pubkey(), vote_account); + let instruction = + delegate_stake_with_whitelist(&stake, &staker_keypair.pubkey(), vote_account); process_instruction(context, &instruction, &vec![staker_keypair]) .await .unwrap(); @@ -1400,7 +1409,8 @@ async fn program_test_deactivate(activate: bool) { assert_eq!(e, ProgramError::InvalidAccountData); // delegate - let instruction = delegate_stake_with_whitelist(&stake, &staker, &accounts.vote_account.pubkey()); + let instruction = + delegate_stake_with_whitelist(&stake, &staker, &accounts.vote_account.pubkey()); process_instruction(&mut context, &instruction, &vec![&staker_keypair]) .await .unwrap(); diff --git a/program/tests/stake_instruction.rs b/program/tests/stake_instruction.rs index 6190e751..ebd0f4be 100644 --- a/program/tests/stake_instruction.rs +++ b/program/tests/stake_instruction.rs @@ -6,8 +6,8 @@ use { bincode::serialize, mollusk_svm::{result::Check, Mollusk}, solana_account::{ - create_account_shared_data_for_test, state_traits::StateMut, Account, - AccountSharedData, ReadableAccount, WritableAccount, + create_account_shared_data_for_test, state_traits::StateMut, Account, AccountSharedData, + ReadableAccount, WritableAccount, }, solana_clock::{Clock, Epoch}, solana_epoch_rewards::EpochRewards, @@ -17,6 +17,9 @@ use { solana_pubkey::Pubkey, solana_rent::Rent, solana_sdk_ids::system_program, + solana_sysvar::{clock, epoch_rewards, epoch_schedule, rent, rewards}, + solana_sysvar_id::SysvarId, + solana_vote_interface::state::{VoteStateV4, VoteStateVersions, MAX_EPOCH_CREDITS_HISTORY}, spherenet_stake_interface::{ config as stake_config, error::StakeError, @@ -34,9 +37,6 @@ use { MINIMUM_DELINQUENT_EPOCHS_FOR_DEACTIVATION, }, spherenet_stake_program::{get_minimum_delegation, id}, - solana_sysvar::{clock, epoch_rewards, epoch_schedule, rent, rewards}, - solana_sysvar_id::SysvarId, - solana_vote_interface::state::{VoteStateV4, VoteStateVersions, MAX_EPOCH_CREDITS_HISTORY}, spherenet_validator_whitelist_interface::state::{ whitelist_entry::ValidatorWhitelistEntry, AccountState, SizeOf, }, From 93bd3ec34aca32ec136d8b8e3842f72eeac93d91 Mon Sep 17 00:00:00 2001 From: Samuel Vanderwaal Date: Thu, 22 Oct 2026 15:37:40 -0800 Subject: [PATCH 6/8] deps: move test dependencies to agave 3.1 to clear cargo audit The remaining cargo-audit advisories (rustls 0.21, rustls-webpki 0.101, webpki-roots 0.24/0.25 via tungstenite 0.20, plus quinn-proto, tar, time, crossbeam-epoch and rustls 0.23) all came from the agave 3.0 test stack. - program dev-deps: mollusk-svm 0.7 -> 0.12, solana-program-test 3.0 -> 3.1.12 (with `agave-unstable-api`), agave-feature-set 3.0 -> 3.1, and solana-program-binaries for the loader-v3 account helper. - Cargo.lock: targeted updates for the advisory crates, and imbl 7.0.2 (pulls the patched imbl-sized-chunks 0.2). - program_test: ProgramTest 3.1 stores its bundled core BPF stake program at the stake program ID after genesis, which replaced our build when it was added with add_upgradeable_program_to_genesis. Register the build with add_account instead, which is applied after that step. - agave 3.1 needs rustc 1.89, so the fmt/lint/test nightly moves from nightly-2025-02-16 to nightly-2025-09-18. - WASM: solana-frozen-abi (interface `frozen-abi` feature) now pulls in getrandom 0.3; enable its wasm_js backend and set the matching cfg in `make build-wasm-%`. Co-Authored-By: Claude Opus 5.5 --- Cargo.lock | 2437 ++++++++++++++++++++++----------- Cargo.toml | 6 +- Makefile | 6 +- interface/Cargo.toml | 3 + program/Cargo.toml | 7 +- program/tests/program_test.rs | 22 +- 6 files changed, 1640 insertions(+), 841 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fe65d764..2b30c817 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3,12 +3,13 @@ version = 4 [[package]] -name = "addr2line" -version = "0.24.2" +name = "Inflector" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" dependencies = [ - "gimli", + "lazy_static", + "regex", ] [[package]] @@ -35,7 +36,7 @@ checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher", - "cpufeatures", + "cpufeatures 0.2.17", ] [[package]] @@ -55,23 +56,37 @@ dependencies = [ [[package]] name = "agave-feature-set" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be80c9787c7f30819e2999987cc6208c1ec6f775d7ed2b70f61a00a6e8acc0c8" +checksum = "6200f3b8cfbe5992fde00d443f60e62a79d2d8f6a658af1ffb7c4f0baa3c7028" dependencies = [ "ahash 0.8.11", "solana-epoch-schedule", "solana-hash 3.1.0", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sha256-hasher", "solana-svm-feature-set", ] +[[package]] +name = "agave-fs" +version = "3.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52914a4a42e83ba41aa04c7db20eca446e441b8c50f45f7fea5f83c64655c06a" +dependencies = [ + "agave-io-uring", + "io-uring", + "libc", + "log", + "slab", + "smallvec", +] + [[package]] name = "agave-io-uring" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81f299d8f456e09697966c084619935966c8e0cab4cb2aaf6529f80bd2e359c7" +checksum = "f413bd15f8ec5c983ee8a84586aa276ebf5278154344aefadebc2fc3d19fdc73" dependencies = [ "io-uring", "libc", @@ -80,11 +95,23 @@ dependencies = [ "smallvec", ] +[[package]] +name = "agave-logger" +version = "3.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ab27ea965d7b0b0725a049b2c07a6b5700f37d095765718f3101824701536e4" +dependencies = [ + "env_logger", + "libc", + "log", + "signal-hook", +] + [[package]] name = "agave-precompiles" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1a2453f1454c71842928844613289c9d6869ea46faaa30e7c7649e432a429" +checksum = "5c0fa80ea1037091eff64931fc53b6a89f153f5a88c33035cedfa79265b985cb" dependencies = [ "agave-feature-set", "bincode", @@ -96,7 +123,7 @@ dependencies = [ "solana-ed25519-program", "solana-message", "solana-precompile-error", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sdk-ids", "solana-secp256k1-program", "solana-secp256r1-program", @@ -104,20 +131,50 @@ dependencies = [ [[package]] name = "agave-reserved-account-keys" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efb2704410f79989956488f49d6f48fcc4f66e2e6c11d8b5f40e0e01bfbd6b91" +checksum = "2c3998a6ec388df954d8f78eeaf73ff487b50a8bdaebd48c8573af22c7b6db72" dependencies = [ "agave-feature-set", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sdk-ids", ] +[[package]] +name = "agave-snapshots" +version = "3.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe3356a36f262ea9fd2405c6a06953aca6f02e4d33040d3ae45e2a4d81d705ca" +dependencies = [ + "agave-fs", + "bincode", + "bzip2", + "crossbeam-channel", + "log", + "lz4", + "rand 0.8.5", + "regex", + "semver", + "solana-accounts-db", + "solana-clock", + "solana-genesis-config", + "solana-hash 3.1.0", + "solana-lattice-hash", + "solana-measure", + "solana-metrics", + "strum 0.24.1", + "symlink", + "tar", + "tempfile", + "thiserror 2.0.18", + "zstd", +] + [[package]] name = "agave-syscalls" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8605fba7ba3e97426ab19179d565a7cd9d6b5566ff49004784c99e302ac7953" +checksum = "5212f0b24fc37d4c844ae25b563d0cf5587d092912820c40f88d4b9b301148f8" dependencies = [ "bincode", "libsecp256k1", @@ -131,13 +188,13 @@ dependencies = [ "solana-cpi", "solana-curve25519", "solana-hash 3.1.0", - "solana-instruction", + "solana-instruction 3.5.1", "solana-keccak-hasher", "solana-loader-v3-interface", "solana-poseidon", "solana-program-entrypoint", "solana-program-runtime", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sbpf", "solana-sdk-ids", "solana-secp256k1-recover", @@ -158,18 +215,32 @@ dependencies = [ [[package]] name = "agave-transaction-view" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d04daeab9de8d1098156d2a73ec5e8dd019b628884c201e5af3f1e8baeffd1b0" +checksum = "e9b36ce7792c4e48140ee2f9ef4eaa289fab1c383a0670588a6c7c755947608c" dependencies = [ "solana-hash 3.1.0", "solana-message", "solana-packet", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sdk-ids", "solana-short-vec", "solana-signature", "solana-svm-transaction", + "solana-transaction-context", +] + +[[package]] +name = "agave-votor-messages" +version = "3.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aabbb79ba0e6169080fd8d57e72c8d07d99ed78cfd6212943288e59b6c9ce568" +dependencies = [ + "agave-logger", + "serde", + "solana-bls-signatures", + "solana-clock", + "solana-hash 3.1.0", ] [[package]] @@ -220,6 +291,12 @@ dependencies = [ "alloc-no-stdlib", ] +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + [[package]] name = "android-tzdata" version = "0.1.1" @@ -291,6 +368,49 @@ version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +[[package]] +name = "anza-quinn" +version = "0.11.9-rustsec20260037" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91bfa08f6e7e4187354ff4f793b81cc08218a6a95cc48f5de7616d44452bf6e0" +dependencies = [ + "anza-quinn-proto", + "bytes", + "cfg_aliases", + "pin-project-lite", + "quinn-udp", + "rustc-hash", + "rustls", + "socket2 0.5.10", + "thiserror 2.0.18", + "tokio", + "tracing", + "web-time", +] + +[[package]] +name = "anza-quinn-proto" +version = "0.11.13-rustsec20260037" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d00a4d8cf8d72ee56e0ee20d3b4eef4785ce1b05299c4982c6de7f251c458efe" +dependencies = [ + "bytes", + "fastbloom", + "getrandom 0.3.1", + "lru-slab", + "rand 0.9.2", + "ring", + "rustc-hash", + "rustls", + "rustls-pki-types", + "rustls-platform-verifier", + "slab", + "thiserror 2.0.18", + "tinyvec", + "tracing", + "web-time", +] + [[package]] name = "aquamarine" version = "0.6.0" @@ -302,7 +422,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -320,15 +440,32 @@ version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" +[[package]] +name = "archery" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ca55ee147b1926dbea904f50fe4902494e97bc742205abbbf10c709e43815f" + [[package]] name = "ark-bn254" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" dependencies = [ - "ark-ec", - "ark-ff", - "ark-std", + "ark-ec 0.4.2", + "ark-ff 0.4.2", + "ark-std 0.4.0", +] + +[[package]] +name = "ark-bn254" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc" +dependencies = [ + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-std 0.5.0", ] [[package]] @@ -337,10 +474,10 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" dependencies = [ - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", + "ark-ff 0.4.2", + "ark-poly 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", "derivative", "hashbrown 0.13.2", "itertools 0.10.5", @@ -348,16 +485,37 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ark-ec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" +dependencies = [ + "ahash 0.8.11", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe 0.6.0", + "fnv", + "hashbrown 0.15.2", + "itertools 0.13.0", + "num-bigint 0.4.6", + "num-integer", + "num-traits", + "zeroize", +] + [[package]] name = "ark-ff" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" dependencies = [ - "ark-ff-asm", - "ark-ff-macros", - "ark-serialize", - "ark-std", + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", "derivative", "digest 0.10.7", "itertools 0.10.5", @@ -368,6 +526,26 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ark-ff" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" +dependencies = [ + "ark-ff-asm 0.5.0", + "ark-ff-macros 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "arrayvec", + "digest 0.10.7", + "educe 0.6.0", + "itertools 0.13.0", + "num-bigint 0.4.6", + "num-traits", + "paste", + "zeroize", +] + [[package]] name = "ark-ff-asm" version = "0.4.2" @@ -378,6 +556,16 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-ff-asm" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" +dependencies = [ + "quote", + "syn 2.0.119", +] + [[package]] name = "ark-ff-macros" version = "0.4.2" @@ -391,27 +579,68 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-ff-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" +dependencies = [ + "num-bigint 0.4.6", + "num-traits", + "proc-macro2", + "quote", + "syn 2.0.119", +] + [[package]] name = "ark-poly" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", + "ark-ff 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", "derivative", "hashbrown 0.13.2", ] +[[package]] +name = "ark-poly" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" +dependencies = [ + "ahash 0.8.11", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe 0.6.0", + "fnv", + "hashbrown 0.15.2", +] + [[package]] name = "ark-serialize" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" dependencies = [ - "ark-serialize-derive", - "ark-std", + "ark-serialize-derive 0.4.2", + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint 0.4.6", +] + +[[package]] +name = "ark-serialize" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" +dependencies = [ + "ark-serialize-derive 0.5.0", + "ark-std 0.5.0", + "arrayvec", "digest 0.10.7", "num-bigint 0.4.6", ] @@ -427,6 +656,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-serialize-derive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + [[package]] name = "ark-std" version = "0.4.0" @@ -437,6 +677,16 @@ dependencies = [ "rand 0.8.5", ] +[[package]] +name = "ark-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + [[package]] name = "arrayref" version = "0.3.9" @@ -500,17 +750,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" -[[package]] -name = "async-channel" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" -dependencies = [ - "concurrent-queue", - "event-listener 2.5.3", - "futures-core", -] - [[package]] name = "async-compression" version = "0.4.18" @@ -531,7 +770,7 @@ version = "3.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc" dependencies = [ - "event-listener 5.4.0", + "event-listener", "event-listener-strategy", "pin-project-lite", ] @@ -544,7 +783,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -553,21 +792,6 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" -[[package]] -name = "backtrace" -version = "0.3.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets 0.52.6", -] - [[package]] name = "base16ct" version = "0.2.0" @@ -624,9 +848,9 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitflags" -version = "2.10.0" +version = "2.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06" dependencies = [ "serde_core", ] @@ -640,6 +864,18 @@ dependencies = [ "typenum", ] +[[package]] +name = "bitvec" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddcec3d12c579d40898fe0a9a358a803c23e9c52ca3c425707f81c9436211837" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + [[package]] name = "blake3" version = "1.8.2" @@ -672,6 +908,34 @@ dependencies = [ "generic-array", ] +[[package]] +name = "blst" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20659f9bbee16cbbd2f7393e40ab6309f5a98f76a2eb57a995ec508b72387fe" +dependencies = [ + "cc", + "glob", + "threadpool", + "zeroize", +] + +[[package]] +name = "blstrs" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a8a8ed6fefbeef4a8c7b460e4110e12c5e22a5b7cf32621aae6ad650c4dcf29" +dependencies = [ + "blst", + "byte-slice-cast", + "ff", + "group", + "pairing", + "rand_core 0.6.4", + "serde", + "subtle", +] + [[package]] name = "borsh" version = "1.6.0" @@ -692,7 +956,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -747,6 +1011,12 @@ dependencies = [ "serde", ] +[[package]] +name = "byte-slice-cast" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" + [[package]] name = "bytemuck" version = "1.25.0" @@ -764,7 +1034,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -842,9 +1112,9 @@ checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" [[package]] name = "cfg_aliases" @@ -860,7 +1130,18 @@ checksum = "45565fc9416b9896014f5732ac776f810ee53a66730c17e4020c3ec064a8f88f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", +] + +[[package]] +name = "chacha20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.1", + "rand_core 0.10.1", ] [[package]] @@ -923,7 +1204,7 @@ dependencies = [ "derive_more", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -935,7 +1216,7 @@ dependencies = [ "cargo_toml", "proc-macro2", "serde_json", - "syn 2.0.114", + "syn 2.0.119", "thiserror 2.0.18", ] @@ -963,7 +1244,7 @@ dependencies = [ "codama-nodes", "codama-syn-helpers", "serde_json", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -979,7 +1260,7 @@ dependencies = [ "codama-syn-helpers", "derive_more", "proc-macro2", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -994,7 +1275,7 @@ dependencies = [ "codama-stores", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -1021,7 +1302,7 @@ dependencies = [ "derive_more", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -1033,7 +1314,7 @@ dependencies = [ "cargo_toml", "codama-errors", "proc-macro2", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -1046,7 +1327,7 @@ dependencies = [ "derive_more", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -1137,6 +1418,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566" +dependencies = [ + "libc", +] + [[package]] name = "crc32fast" version = "1.4.2" @@ -1167,9 +1457,9 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.18" +version = "0.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +checksum = "dc74980687109a3b14c72fd458107bf0baa1da1a1a805e178d15501ba9b86d9d" dependencies = [ "crossbeam-utils", ] @@ -1248,7 +1538,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", @@ -1267,7 +1557,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -1276,8 +1566,18 @@ version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" dependencies = [ - "darling_core", - "darling_macro", + "darling_core 0.21.3", + "darling_macro 0.21.3", +] + +[[package]] +name = "darling" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" +dependencies = [ + "darling_core 0.23.0", + "darling_macro 0.23.0", ] [[package]] @@ -1291,7 +1591,20 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.114", + "syn 2.0.119", +] + +[[package]] +name = "darling_core" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" +dependencies = [ + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.119", ] [[package]] @@ -1300,9 +1613,20 @@ version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ - "darling_core", + "darling_core 0.21.3", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "darling_macro" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" +dependencies = [ + "darling_core 0.23.0", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -1352,12 +1676,11 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9e9de72ce2ad1f90dc62fa25f0f430ef85eb4b0d8fa0be4f30373bc40a21d28e" dependencies = [ - "powerfmt", - "serde", + "serde_core", ] [[package]] @@ -1385,7 +1708,7 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -1405,7 +1728,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -1452,7 +1775,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -1475,7 +1798,7 @@ checksum = "a6cbae11b3de8fce2a456e8ea3dada226b35fe791f0dc1d360c0941f0bb681f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -1576,12 +1899,24 @@ version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f0042ff8246a363dbe77d2ceedb073339e85a804b9a47636c6e016a9a32c05f" dependencies = [ - "enum-ordinalize", + "enum-ordinalize 3.1.15", "proc-macro2", "quote", "syn 1.0.109", ] +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize 4.4.2", + "proc-macro2", + "quote", + "syn 2.0.119", +] + [[package]] name = "either" version = "1.13.0" @@ -1630,7 +1965,7 @@ checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -1643,7 +1978,27 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", +] + +[[package]] +name = "enum-ordinalize" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89dd01549b09589510cf0647475075d12071456586d70f5c75c98ae2a5537677" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a65863d15a4ce2888bd2f0f543cc963d3879c3a022c8ee43f6141d479a3ac815" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.9", ] [[package]] @@ -1671,9 +2026,9 @@ dependencies = [ [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "00d174d5400e5e8fd687ad1049e2f578285fa914201b1af7e8b112a4546bd826" [[package]] name = "errno" @@ -1682,15 +2037,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - [[package]] name = "event-listener" version = "5.4.0" @@ -1708,20 +2057,20 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ - "event-listener 5.4.0", + "event-listener", "pin-project-lite", ] [[package]] name = "fastbloom" -version = "0.9.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27cea6e7f512d43b098939ff4d5a5d6fe3db07971e1d05176fe26c642d33f5b8" +checksum = "4e7f34442dbe69c60fe8eaf58a8cafff81a1f278816d8ab4db255b3bef4ac3c4" dependencies = [ "getrandom 0.3.1", + "libm", "rand 0.9.2", "siphasher 1.0.1", - "wide", ] [[package]] @@ -1742,6 +2091,7 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ + "bitvec", "rand_core 0.6.4", "subtle", ] @@ -1786,7 +2136,16 @@ dependencies = [ name = "five8_const" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26dec3da8bc3ef08f2c04f61eab298c3ab334523e55f076354d6d6f613799a7b" +checksum = "26dec3da8bc3ef08f2c04f61eab298c3ab334523e55f076354d6d6f613799a7b" +dependencies = [ + "five8_core", +] + +[[package]] +name = "five8_const" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a0f1728185f277989ca573a402716ae0beaaea3f76a8ff87ef9dd8fb19436c5" dependencies = [ "five8_core", ] @@ -1839,9 +2198,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -1852,6 +2211,12 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + [[package]] name = "futures" version = "0.3.31" @@ -1908,7 +2273,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -2007,10 +2372,24 @@ dependencies = [ ] [[package]] -name = "gimli" -version = "0.31.1" +name = "getrandom" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi", + "rand_core 0.10.1", + "wasm-bindgen", +] + +[[package]] +name = "glob" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +checksum = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b" [[package]] name = "governor" @@ -2039,7 +2418,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", + "rand 0.8.5", "rand_core 0.6.4", + "rand_xorshift 0.3.0", "subtle", ] @@ -2081,6 +2462,15 @@ name = "hashbrown" version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "allocator-api2", +] + +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" [[package]] name = "heck" @@ -2227,12 +2617,12 @@ dependencies = [ "http 1.3.1", "hyper", "hyper-util", - "rustls 0.23.32", + "rustls", "rustls-pki-types", "tokio", - "tokio-rustls 0.26.2", + "tokio-rustls", "tower-service", - "webpki-roots 1.0.2", + "webpki-roots 1.0.10", ] [[package]] @@ -2253,7 +2643,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.0", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -2397,7 +2787,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -2408,9 +2798,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -2435,7 +2825,7 @@ checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9" dependencies = [ "bitmaps", "rand_core 0.6.4", - "rand_xoshiro", + "rand_xoshiro 0.6.0", "rayon", "serde", "sized-chunks", @@ -2443,6 +2833,29 @@ dependencies = [ "version_check", ] +[[package]] +name = "imbl" +version = "7.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46bad832b9b463ed9398b8506488cc2e3b897a9d44f13af115f382aac71f4fec" +dependencies = [ + "archery", + "equivalent", + "imbl-sized-chunks", + "rand_core 0.9.3", + "rand_xoshiro 0.7.0", + "rayon", + "serde_core", + "version_check", + "wide", +] + +[[package]] +name = "imbl-sized-chunks" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a0813be332553f857953298749fa19549e8b61b80589757c29b4e2a804fa9c6" + [[package]] name = "include_dir" version = "0.7.4" @@ -2475,13 +2888,14 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.10.0" +version = "2.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.17.1", "serde", + "serde_core", ] [[package]] @@ -2508,9 +2922,9 @@ dependencies = [ [[package]] name = "io-uring" -version = "0.7.9" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4" +checksum = "ed3bd0ecfbb87805f538bb7b32e5239ca0763890c623e349860ecba69469f2bb" dependencies = [ "bitflags", "cfg-if", @@ -2523,16 +2937,6 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" -[[package]] -name = "iri-string" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" -dependencies = [ - "memchr", - "serde", -] - [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -2557,6 +2961,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.14" @@ -2584,7 +2997,7 @@ checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -2663,7 +3076,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ - "cpufeatures", + "cpufeatures 0.2.17", ] [[package]] @@ -2674,9 +3087,15 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.176" +version = "0.2.191" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a" + +[[package]] +name = "libm" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libredox" @@ -2743,8 +3162,20 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c9a85a9752c549ceb7578064b4ed891179d20acd85f27318573b64d2d7ee7ee" dependencies = [ - "ark-bn254", - "ark-ff", + "ark-bn254 0.4.0", + "ark-ff 0.4.2", + "num-bigint 0.4.6", + "thiserror 1.0.69", +] + +[[package]] +name = "light-poseidon" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29d3992daf44efce5f36b8e61dc5373ee5ff7485cc59d02f5d8afac8a57067eb" +dependencies = [ + "ark-bn254 0.5.0", + "ark-ff 0.5.0", "num-bigint 0.4.6", "thiserror 1.0.69", ] @@ -2757,9 +3188,9 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "linux-raw-sys" -version = "0.9.4" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" @@ -2779,9 +3210,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.27" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6" [[package]] name = "lru" @@ -2834,9 +3265,9 @@ dependencies = [ [[package]] name = "memmap2" -version = "0.9.7" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "483758ad303d734cec05e5c12b41d7e93e6a6390c5e9dae6bdeb7c1259012d28" +checksum = "6b0ca1155a9ecc25aa12e8313a119f32edf0255fea2f44839c4ac0a12b2ac157" dependencies = [ "libc", ] @@ -2879,13 +3310,13 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.3" +version = "1.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "1788edb87fdc09c7e26304471e2f5be8cdefb1b6930d6e3985fc02ff53bf86ee" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "windows-sys 0.61.1", ] [[package]] @@ -2917,9 +3348,9 @@ dependencies = [ [[package]] name = "modular-bitfield" -version = "0.11.2" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a53d79ba8304ac1c4f9eb3b9d281f21f7be9d4626f72ce7df4ad8fbde4f38a74" +checksum = "2956e537fc68236d2aa048f55704f231cc93f1c4de42fe1ecb5bd7938061fc4a" dependencies = [ "modular-bitfield-impl", "static_assertions", @@ -2927,92 +3358,85 @@ dependencies = [ [[package]] name = "modular-bitfield-impl" -version = "0.11.2" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" +checksum = "59b43b4fd69e3437618106f7754f34021b831a514f9e1a98ae863cabcd8d8dad" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.119", ] [[package]] name = "mollusk-svm" -version = "0.7.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa2a9a8f63c0ba125cbfb934a6180b321f41ee61f1de96b8b6c081aa1772805" +checksum = "9506b7859ad9716fff8c5fcdb23abf9801793571e6106c29dd74a10374aa7d93" dependencies = [ "agave-feature-set", "agave-syscalls", "bincode", "mollusk-svm-error", - "mollusk-svm-keys", "mollusk-svm-result", "solana-account", "solana-bpf-loader-program", "solana-clock", "solana-compute-budget", + "solana-compute-budget-program", "solana-epoch-rewards", "solana-epoch-schedule", "solana-hash 3.1.0", - "solana-instruction", + "solana-instruction 3.5.1", "solana-instruction-error", + "solana-instructions-sysvar", "solana-loader-v3-interface", "solana-loader-v4-interface", "solana-loader-v4-program", "solana-logger", + "solana-message", "solana-precompile-error", "solana-program-error", "solana-program-runtime", - "solana-pubkey", + "solana-pubkey 4.4.0", "solana-rent", "solana-sdk-ids", "solana-slot-hashes", "solana-stake-interface", - "solana-stake-program", "solana-svm-callback", "solana-svm-log-collector", "solana-svm-timings", + "solana-svm-transaction", "solana-system-program", "solana-sysvar", "solana-sysvar-id", "solana-transaction-context", + "solana-transaction-error", + "solana-vote-program", + "solana-zk-elgamal-proof-program", ] [[package]] name = "mollusk-svm-error" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea155b60511338a5a39c077a457baa8268c229629f091e3281f499b0ab3a96b4" -dependencies = [ - "solana-pubkey", - "thiserror 1.0.69", -] - -[[package]] -name = "mollusk-svm-keys" -version = "0.7.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7849281d0ce4f3894742cf508a98b33c3bb284eb7df9d66476ab2168945f128" +checksum = "ff7c52dc834fc5962f54c7ffcb61a73b9f0ae0ab63b5e84043fa387b751254c2" dependencies = [ - "mollusk-svm-error", - "solana-account", - "solana-instruction", - "solana-pubkey", - "solana-transaction-context", + "solana-pubkey 4.4.0", + "thiserror 2.0.18", ] [[package]] name = "mollusk-svm-result" -version = "0.7.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f50b90812979ca5bb440f0a86e970355853d0e9466b939f88ad30af188e20525" +checksum = "92376062d0cad8a3b28f86e57b58c8949302aa6eaed518f584fdfc2f75d8face" dependencies = [ "solana-account", - "solana-instruction", + "solana-instruction 3.5.1", "solana-program-error", - "solana-pubkey", + "solana-pubkey 4.4.0", "solana-rent", + "solana-transaction-error", ] [[package]] @@ -3103,9 +3527,9 @@ dependencies = [ [[package]] name = "num-conv" -version = "0.1.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" [[package]] name = "num-derive" @@ -3115,7 +3539,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -3171,9 +3595,9 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a" +checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" dependencies = [ "num_enum_derive", "rustversion", @@ -3181,23 +3605,14 @@ dependencies = [ [[package]] name = "num_enum_derive" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" +checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.114", -] - -[[package]] -name = "object" -version = "0.36.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" -dependencies = [ - "memchr", + "syn 2.0.119", ] [[package]] @@ -3250,7 +3665,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -3300,6 +3715,15 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "pairing" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fec4625e73cf41ef4bb6846cafa6d44736525f442ba45e407c4a000a13996f" +dependencies = [ + "group", +] + [[package]] name = "parking" version = "2.2.1" @@ -3335,6 +3759,12 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +[[package]] +name = "pastey" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4" + [[package]] name = "pbkdf2" version = "0.11.0" @@ -3355,9 +3785,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "percentage" @@ -3385,7 +3815,7 @@ checksum = "f6e859e6e5bd50440ab63c47e3ebabc90f26251f7c73c3d3e837b74a1cc3fa67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -3432,7 +3862,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb0225638cadcbebae8932cb7f49cb5da7c15c21beb19f048f05a5ca7d93f065" dependencies = [ - "five8_const", + "five8_const 0.1.4", "pinocchio", "sha2-const-stable", ] @@ -3460,7 +3890,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "opaque-debug", "universal-hash", ] @@ -3576,7 +4006,7 @@ dependencies = [ "num-traits", "rand 0.9.2", "rand_chacha 0.9.0", - "rand_xorshift", + "rand_xorshift 0.4.0", "regex-syntax", "rusty-fork", "tempfile", @@ -3600,7 +4030,7 @@ checksum = "9e2e25ee72f5b24d773cae88422baddefff7714f97aab68d96fe2b6fc4a28fb2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -3636,7 +4066,7 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash", - "rustls 0.23.32", + "rustls", "socket2 0.5.10", "thiserror 2.0.18", "tokio", @@ -3646,20 +4076,19 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.12" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" +checksum = "0e750cca55fe4f0439a15d0bb529da9651e79993e8e72c61a899a36d462befbe" dependencies = [ "bytes", - "fastbloom", - "getrandom 0.3.1", + "getrandom 0.4.3", "lru-slab", - "rand 0.9.2", + "rand 0.10.3", + "rand_pcg", "ring", "rustc-hash", - "rustls 0.23.32", + "rustls", "rustls-pki-types", - "rustls-platform-verifier", "slab", "thiserror 2.0.18", "tinyvec", @@ -3678,18 +4107,30 @@ dependencies = [ "once_cell", "socket2 0.5.10", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] name = "quote" -version = "1.0.44" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + [[package]] name = "rand" version = "0.7.3" @@ -3724,6 +4165,17 @@ dependencies = [ "rand_core 0.9.3", ] +[[package]] +name = "rand" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65c9fb96cbc91e3478eaae79a69fcd3f1ae4ad052e471fe6732fff548984b4af" +dependencies = [ + "chacha20", + "getrandom 0.4.3", + "rand_core 0.10.1", +] + [[package]] name = "rand_chacha" version = "0.2.2" @@ -3781,6 +4233,12 @@ dependencies = [ "getrandom 0.3.1", ] +[[package]] +name = "rand_core" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" + [[package]] name = "rand_hc" version = "0.2.0" @@ -3790,6 +4248,24 @@ dependencies = [ "rand_core 0.5.1", ] +[[package]] +name = "rand_pcg" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caa0f4137e1c0a72f4c651489402276c8e8e1cf081f3b0ba156d2cbeef09e86a" +dependencies = [ + "rand_core 0.10.1", +] + +[[package]] +name = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core 0.6.4", +] + [[package]] name = "rand_xorshift" version = "0.4.0" @@ -3808,6 +4284,15 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand_xoshiro" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f703f4665700daf5512dcca5f43afa6af89f09db47fb56be587f80636bda2d41" +dependencies = [ + "rand_core 0.9.3", +] + [[package]] name = "raw-cpuid" version = "11.3.0" @@ -3819,9 +4304,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" dependencies = [ "either", "rayon-core", @@ -3829,9 +4314,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -3863,14 +4348,14 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] name = "regex" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" dependencies = [ "aho-corasick", "memchr", @@ -3880,9 +4365,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" dependencies = [ "aho-corasick", "memchr", @@ -3891,17 +4376,16 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.5" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "reqwest" -version = "0.12.23" +version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ - "async-compression", "base64 0.22.1", "bytes", "futures-channel", @@ -3918,15 +4402,14 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.32", + "rustls", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper", "tokio", - "tokio-rustls 0.26.2", - "tokio-util 0.7.16", + "tokio-rustls", "tower", "tower-http", "tower-service", @@ -3934,7 +4417,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots 1.0.2", + "webpki-roots 1.0.10", ] [[package]] @@ -4016,44 +4499,32 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] name = "rustix" -version = "1.0.8" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" +checksum = "891efababe418670775f199f0d233d84843c227a0949a883ce15b37c78d6629d" dependencies = [ "bitflags", "errno", "libc", - "linux-raw-sys 0.9.4", - "windows-sys 0.60.2", -] - -[[package]] -name = "rustls" -version = "0.21.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" -dependencies = [ - "log", - "ring", - "rustls-webpki 0.101.7", - "sct", + "linux-raw-sys 0.12.1", + "windows-sys 0.61.1", ] [[package]] name = "rustls" -version = "0.23.32" +version = "0.23.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3c25631629d034ce7cd9940adc9d45762d46de2b0f57193c4443b92c6d4d40" +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf" dependencies = [ "once_cell", "ring", "rustls-pki-types", - "rustls-webpki 0.103.7", + "rustls-webpki", "subtle", "zeroize", ] @@ -4082,23 +4553,23 @@ dependencies = [ [[package]] name = "rustls-platform-verifier" -version = "0.5.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1" +checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784" dependencies = [ "core-foundation", "core-foundation-sys", "jni", "log", "once_cell", - "rustls 0.23.32", + "rustls", "rustls-native-certs", "rustls-platform-verifier-android", - "rustls-webpki 0.103.7", + "rustls-webpki", "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.59.0", + "windows-sys 0.61.1", ] [[package]] @@ -4109,19 +4580,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "rustls-webpki" -version = "0.103.7" +version = "0.103.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10b3f4191e8a80e6b43eebabfac91e5dcecebb27a71f04e820c47ec41d314bf" +checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281" dependencies = [ "ring", "rustls-pki-types", @@ -4218,16 +4679,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "sdd" version = "3.0.10" @@ -4250,9 +4701,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.2.0" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" +checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ "bitflags", "core-foundation", @@ -4263,9 +4714,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.14.0" +version = "2.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" dependencies = [ "core-foundation-sys", "libc", @@ -4273,9 +4724,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.26" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" [[package]] name = "seqlock" @@ -4331,7 +4782,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -4378,7 +4829,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.10.0", + "indexmap 2.14.2", "schemars 0.9.0", "schemars 1.0.4", "serde_core", @@ -4393,10 +4844,10 @@ version = "3.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b91a903660542fced4e99881aa481bdbaec1634568ee02e0b8bd57c64cb38955" dependencies = [ - "darling", + "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -4421,7 +4872,7 @@ checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -4431,7 +4882,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest 0.10.7", ] @@ -4443,7 +4894,7 @@ checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest 0.9.0", "opaque-debug", ] @@ -4455,7 +4906,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest 0.10.7", ] @@ -4617,12 +5068,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.6.0" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.1", ] [[package]] @@ -4639,63 +5090,101 @@ dependencies = [ "solana-account-info", "solana-clock", "solana-instruction-error", - "solana-pubkey", + "solana-pubkey 3.0.0", + "solana-sdk-ids", + "solana-sysvar", +] + +[[package]] +name = "solana-account-decoder" +version = "3.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dbde78ccf7c3e14bc5ab230da1dfadfc2dc84b860cd2ffa39d0fd3030f7df4a" +dependencies = [ + "Inflector", + "base64 0.22.1", + "bincode", + "bs58", + "bv", + "serde", + "serde_json", + "solana-account", + "solana-account-decoder-client-types", + "solana-address-lookup-table-interface", + "solana-clock", + "solana-config-interface", + "solana-epoch-schedule", + "solana-fee-calculator", + "solana-instruction 3.5.1", + "solana-loader-v3-interface", + "solana-nonce", + "solana-program-option", + "solana-program-pack", + "solana-pubkey 3.0.0", + "solana-rent", "solana-sdk-ids", + "solana-slot-hashes", + "solana-slot-history", + "solana-stake-interface", "solana-sysvar", + "solana-vote-interface", + "spl-generic-token", + "spl-token-2022-interface", + "spl-token-group-interface", + "spl-token-interface", + "spl-token-metadata-interface", + "thiserror 2.0.18", + "zstd", ] [[package]] name = "solana-account-decoder-client-types" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a254419b647ca675bd0d55749c24a3383691a00e633e38ae58d070223ac01bf2" +checksum = "22302265956e8f403cb0721bef0a79137dc1a9a25c95d732d101877629510700" dependencies = [ "base64 0.22.1", "bs58", "serde", - "serde_derive", "serde_json", "solana-account", - "solana-pubkey", + "solana-pubkey 3.0.0", "zstd", ] [[package]] name = "solana-account-info" -version = "3.0.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82f4691b69b172c687d218dd2f1f23fc7ea5e9aa79df9ac26dab3d8dd829ce48" +checksum = "a9cf16495d9eb53e3d04e72366a33bb1c20c24e78c171d8b8f5978357b63ae95" dependencies = [ "bincode", - "serde", + "serde_core", + "solana-address 2.9.0", "solana-program-error", "solana-program-memory", - "solana-pubkey", ] [[package]] name = "solana-accounts-db" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81e38e11de48b1f91fcf918bede16d56c961cdbb465dbd7d83d56ac45f4999f4" +checksum = "7c1b9b25dbe0ae7f7df8a578a8a99418720ddab92a0bac8ac11f4af7a91889c6" dependencies = [ - "agave-io-uring", + "agave-fs", "ahash 0.8.11", "bincode", "blake3", "bv", "bytemuck", "bytemuck_derive", - "bzip2", "crossbeam-channel", "dashmap", - "indexmap 2.10.0", - "io-uring", + "indexmap 2.14.2", "itertools 0.12.1", - "libc", "log", "lz4", - "memmap2 0.9.7", + "memmap2 0.9.12", "modular-bitfield", "num_cpus", "num_enum", @@ -4703,8 +5192,6 @@ dependencies = [ "rayon", "seqlock", "serde", - "serde_derive", - "slab", "smallvec", "solana-account", "solana-address-lookup-table-interface", @@ -4719,7 +5206,7 @@ dependencies = [ "solana-message", "solana-metrics", "solana-nohash-hasher", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rayon-threadlimit", "solana-reward-info", "solana-sha256-hasher", @@ -4733,33 +5220,44 @@ dependencies = [ "solana-transaction-error", "spl-generic-token", "static_assertions", - "tar", "tempfile", "thiserror 2.0.18", ] [[package]] name = "solana-address" -version = "1.0.0" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2ecac8e1b7f74c2baa9e774c42817e3e75b20787134b76cc4d45e8a604488f5" +dependencies = [ + "solana-address 2.9.0", +] + +[[package]] +name = "solana-address" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a7a457086457ea9db9a5199d719dc8734dc2d0342fad0d8f77633c31eb62f19" +checksum = "451294fdd4dde59ae27213695e2333eaaa39035e1f099f68644d2aa3ca0e2edd" dependencies = [ "borsh", "bytemuck", "bytemuck_derive", "curve25519-dalek 4.1.3", - "five8 0.2.1", - "five8_const", - "rand 0.8.5", + "five8 1.0.0", + "five8_const 1.0.0", + "rand 0.9.2", "serde", "serde_derive", + "sha2-const-stable", "solana-atomic-u64", - "solana-define-syscall", + "solana-define-syscall 5.3.0", "solana-frozen-abi", "solana-frozen-abi-macro", + "solana-nullable", "solana-program-error", "solana-sanitize", "solana-sha256-hasher", + "wincode 0.6.3", ] [[package]] @@ -4773,9 +5271,9 @@ dependencies = [ "serde", "serde_derive", "solana-clock", - "solana-instruction", + "solana-instruction 3.5.1", "solana-instruction-error", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sdk-ids", "solana-slot-hashes", ] @@ -4791,9 +5289,9 @@ dependencies = [ [[package]] name = "solana-banks-client" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac0c8780d1c4216925f72d28d809b172ab83466b687e8110154f39066e228c3d" +checksum = "16034da9477c2ceb6bf03a04389d68f463fb9e09a7641b4517af4177976c5f59" dependencies = [ "borsh", "futures", @@ -4804,7 +5302,7 @@ dependencies = [ "solana-hash 3.1.0", "solana-message", "solana-program-pack", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rent", "solana-signature", "solana-sysvar", @@ -4819,18 +5317,17 @@ dependencies = [ [[package]] name = "solana-banks-interface" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0114282a0c18cdca6beae1d5cd9c92be7b8a2140aa92e3f0a2536f86303b05d8" +checksum = "aeed8b00c1b30e10cada0de485c4c7aa2805bc54587d7fbfd4c89b9a6a2b7bb5" dependencies = [ "serde", - "serde_derive", "solana-account", "solana-clock", "solana-commitment-config", "solana-hash 3.1.0", "solana-message", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-signature", "solana-transaction", "solana-transaction-context", @@ -4840,9 +5337,9 @@ dependencies = [ [[package]] name = "solana-banks-server" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aa01a4c68080b6e91a4d236300612631185a5e0f421caacdf2e53f1ba74fb2a" +checksum = "6d24b007191bac5046513d8b642ff554a9413a270fbf78ab416e5ecc1b9eea11" dependencies = [ "agave-feature-set", "bincode", @@ -4855,7 +5352,7 @@ dependencies = [ "solana-commitment-config", "solana-hash 3.1.0", "solana-message", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-runtime", "solana-runtime-transaction", "solana-send-transaction-service", @@ -4876,7 +5373,7 @@ checksum = "30c80fb6d791b3925d5ec4bf23a7c169ef5090c013059ec3ed7d0b2c04efa085" dependencies = [ "num-bigint 0.4.6", "num-traits", - "solana-define-syscall", + "solana-define-syscall 3.0.0", ] [[package]] @@ -4897,22 +5394,46 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffa2e3bdac3339c6d0423275e45dafc5ac25f4d43bf344d026a3cc9a85e244a6" dependencies = [ "blake3", - "solana-define-syscall", + "solana-define-syscall 3.0.0", "solana-hash 3.1.0", ] +[[package]] +name = "solana-bls-signatures" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c75573697bbb148afa8209aa3ce228ca0754584c9a8a91e818db0f706ae4fb" +dependencies = [ + "base64 0.22.1", + "blst", + "blstrs", + "bytemuck", + "cfg_eval", + "ff", + "group", + "pairing", + "rand 0.8.5", + "serde", + "serde_json", + "serde_with", + "solana-signature", + "solana-signer", + "subtle", + "thiserror 2.0.18", +] + [[package]] name = "solana-bn254" -version = "3.0.0" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20a5f01e99addb316d95d4ed31aa6eacfda557fffc00ae316b919e8ba0fc5b91" +checksum = "62ff13a8867fcc7b0f1114764e1bf6191b4551dcaf93729ddc676cd4ec6abc9f" dependencies = [ - "ark-bn254", - "ark-ec", - "ark-ff", - "ark-serialize", + "ark-bn254 0.5.0", + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", "bytemuck", - "solana-define-syscall", + "solana-define-syscall 5.3.0", "thiserror 2.0.18", ] @@ -4927,9 +5448,9 @@ dependencies = [ [[package]] name = "solana-bpf-loader-program" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5a2b7914cebd827003d2a1c21cc48bcad2c1857a9ec34656a2caa578707f53a" +checksum = "044a6c5327755992853454ea5ec495edd987dab53a6f9029e695bf0d43ab55dc" dependencies = [ "agave-syscalls", "bincode", @@ -4937,13 +5458,13 @@ dependencies = [ "solana-account", "solana-bincode", "solana-clock", - "solana-instruction", + "solana-instruction 3.5.1", "solana-loader-v3-interface", "solana-loader-v4-interface", "solana-packet", "solana-program-entrypoint", "solana-program-runtime", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sbpf", "solana-sdk-ids", "solana-svm-feature-set", @@ -4956,28 +5477,28 @@ dependencies = [ [[package]] name = "solana-bucket-map" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96189a1964ca8a8eba213ad3f81a88012a95b5e237aa0a4620b10259371e48a6" +checksum = "86498fab926fe0989217966e6cae4d871152e94abdbaa47db5989fd94094cbca" dependencies = [ "bv", "bytemuck", "bytemuck_derive", - "memmap2 0.9.7", + "memmap2 0.9.12", "modular-bitfield", "num_enum", "rand 0.8.5", "solana-clock", "solana-measure", - "solana-pubkey", + "solana-pubkey 3.0.0", "tempfile", ] [[package]] name = "solana-builtins" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf88128e19b680ac1dee682e3271e39d7176db8e2345c3fd19799f4e58889155" +checksum = "eaf44075aa3dbe16ce0112314d0dfd2435a18ddfd96f53e5269879f4006eb60d" dependencies = [ "agave-feature-set", "solana-bpf-loader-program", @@ -4985,9 +5506,8 @@ dependencies = [ "solana-hash 3.1.0", "solana-loader-v4-program", "solana-program-runtime", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sdk-ids", - "solana-stake-program", "solana-system-program", "solana-vote-program", "solana-zk-elgamal-proof-program", @@ -4996,9 +5516,9 @@ dependencies = [ [[package]] name = "solana-builtins-default-costs" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ac0ed2127d61fa4be2978cf692a04106b1e868d9f700d63a7e5934330b8e061" +checksum = "5c6cd4d41f391f427e64e03fb00fb0c93443f18464dafd71e06f996ac03a3982" dependencies = [ "agave-feature-set", "ahash 0.8.11", @@ -5006,28 +5526,27 @@ dependencies = [ "solana-bpf-loader-program", "solana-compute-budget-program", "solana-loader-v4-program", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sdk-ids", - "solana-stake-program", "solana-system-program", "solana-vote-program", ] [[package]] name = "solana-client" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29482023b8e799e02b35bff330e1cbe963bd7e0cdd20eb1941bede9a66b944d" +checksum = "44eb63815525a855b1f6d41a6b929d51c9fe8079b844075a48c645315ba01b60" dependencies = [ + "anza-quinn", "async-trait", "bincode", "dashmap", "futures", "futures-util", - "indexmap 2.10.0", + "indexmap 2.14.2", "indicatif", "log", - "quinn", "rayon", "solana-account", "solana-client-traits", @@ -5035,11 +5554,12 @@ dependencies = [ "solana-connection-cache", "solana-epoch-info", "solana-hash 3.1.0", - "solana-instruction", + "solana-instruction 3.5.1", "solana-keypair", "solana-measure", "solana-message", - "solana-pubkey", + "solana-net-utils", + "solana-pubkey 3.0.0", "solana-pubsub-client", "solana-quic-client", "solana-quic-definitions", @@ -5057,6 +5577,7 @@ dependencies = [ "solana-udp-client", "thiserror 2.0.18", "tokio", + "tokio-util 0.7.16", ] [[package]] @@ -5069,10 +5590,10 @@ dependencies = [ "solana-commitment-config", "solana-epoch-info", "solana-hash 3.1.0", - "solana-instruction", + "solana-instruction 3.5.1", "solana-keypair", "solana-message", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-signature", "solana-signer", "solana-system-interface", @@ -5116,9 +5637,9 @@ dependencies = [ [[package]] name = "solana-compute-budget" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b2d4cca7050320d13653ab369e21a0573b4a4f5dd82c509b0640e87f34d84" +checksum = "55267bed68ed018f6b2fd5e2f7ae694cbcb1a9bfd98b749803e94be7b5f08774" dependencies = [ "solana-fee-structure", "solana-program-runtime", @@ -5126,9 +5647,9 @@ dependencies = [ [[package]] name = "solana-compute-budget-instruction" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ac29452169f23259fa6c60ff4be6dd389d45458256a1d74efa62e22cc169f05" +checksum = "d6bf47dcc57b770cee0432899ac89cd7e85896f9e28e3d5e5542a0b8a8f5839f" dependencies = [ "agave-feature-set", "log", @@ -5136,9 +5657,9 @@ dependencies = [ "solana-builtins-default-costs", "solana-compute-budget", "solana-compute-budget-interface", - "solana-instruction", + "solana-instruction 3.5.1", "solana-packet", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sdk-ids", "solana-svm-transaction", "solana-transaction-error", @@ -5152,15 +5673,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8292c436b269ad23cecc8b24f7da3ab07ca111661e25e00ce0e1d22771951ab9" dependencies = [ "borsh", - "solana-instruction", + "solana-instruction 3.5.1", "solana-sdk-ids", ] [[package]] name = "solana-compute-budget-program" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2c1993650e417ef1ee1fc9e81ef5d7704cee080a5cff0de429c2ce187b5a505" +checksum = "bcc87532d1ca1b871204cdb103514182bd9460cea403c16f22ca49e1ba063ea1" dependencies = [ "solana-program-runtime", ] @@ -5175,8 +5696,8 @@ dependencies = [ "serde", "serde_derive", "solana-account", - "solana-instruction", - "solana-pubkey", + "solana-instruction 3.5.1", + "solana-pubkey 3.0.0", "solana-sdk-ids", "solana-short-vec", "solana-system-interface", @@ -5184,15 +5705,15 @@ dependencies = [ [[package]] name = "solana-connection-cache" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0432922673ca595f778e1895497020291fdb59aa9098b5a93b99f132d439299f" +checksum = "ba5aa88d3ead799eec9580bf9c3d3ca1ae966430809fdf565a407abdc90798b6" dependencies = [ "async-trait", "bincode", "crossbeam-channel", "futures-util", - "indexmap 2.10.0", + "indexmap 2.14.2", "log", "rand 0.8.5", "rayon", @@ -5207,9 +5728,9 @@ dependencies = [ [[package]] name = "solana-cost-model" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "377e2608100cf9d7ec21db895f67b9f0822471848a76374fe84065b9ece7f93c" +checksum = "daa79df27ff7b933c4cb7612340d9af3b4f49b0219bec81ad6826e9352ad054f" dependencies = [ "agave-feature-set", "ahash 0.8.11", @@ -5224,7 +5745,7 @@ dependencies = [ "solana-fee-structure", "solana-metrics", "solana-packet", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-runtime-transaction", "solana-sdk-ids", "solana-svm-transaction", @@ -5240,23 +5761,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16238feb63d1cbdf915fb287f29ef7a7ebf81469bd6214f8b72a53866b593f8f" dependencies = [ "solana-account-info", - "solana-define-syscall", - "solana-instruction", + "solana-define-syscall 3.0.0", + "solana-instruction 3.5.1", "solana-program-error", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-stable-layout", ] [[package]] name = "solana-curve25519" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be2ca224d51d8a1cc20f221706968d8f851586e6b05937cb518bedc156596dee" +checksum = "2eb091ac9c1e4d51c3cd1893444aee607cd1b0173c4ba0b557f8960844f44a1b" dependencies = [ "bytemuck", "bytemuck_derive", "curve25519-dalek 4.1.3", - "solana-define-syscall", + "solana-define-syscall 3.0.0", "subtle", "thiserror 2.0.18", ] @@ -5267,6 +5788,18 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9697086a4e102d28a156b8d6b521730335d6951bd39a5e766512bbe09007cee" +[[package]] +name = "solana-define-syscall" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57e5b1c0bc1d4a4d10c88a4100499d954c09d3fecfae4912c1a074dff68b1738" + +[[package]] +name = "solana-define-syscall" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4d02bb1453b6f9e1e705383a44b98a8722669b44adcdfe3643183987fdad72e" + [[package]] name = "solana-derivation-path" version = "3.0.0" @@ -5286,7 +5819,7 @@ checksum = "e1419197f1c06abf760043f6d64ba9d79a03ad5a43f18c7586471937122094da" dependencies = [ "bytemuck", "bytemuck_derive", - "solana-instruction", + "solana-instruction 3.5.1", "solana-sdk-ids", ] @@ -5322,7 +5855,7 @@ checksum = "e507099d0c2c5d7870c9b1848281ea67bbeee80d171ca85003ee5767994c9c38" dependencies = [ "siphasher 0.3.11", "solana-hash 3.1.0", - "solana-pubkey", + "solana-pubkey 3.0.0", ] [[package]] @@ -5344,8 +5877,8 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc6693d0ea833b880514b9b88d95afb80b42762dca98b0712465d1fcbbcb89e" dependencies = [ - "solana-define-syscall", - "solana-pubkey", + "solana-define-syscall 3.0.0", + "solana-pubkey 3.0.0", ] [[package]] @@ -5359,11 +5892,11 @@ dependencies = [ "solana-address-lookup-table-interface", "solana-clock", "solana-hash 3.1.0", - "solana-instruction", + "solana-instruction 3.5.1", "solana-keccak-hasher", "solana-message", "solana-nonce", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sdk-ids", "solana-system-interface", "thiserror 2.0.18", @@ -5380,9 +5913,9 @@ dependencies = [ "serde_derive", "solana-account", "solana-account-info", - "solana-instruction", + "solana-instruction 3.5.1", "solana-program-error", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rent", "solana-sdk-ids", "solana-system-interface", @@ -5390,9 +5923,9 @@ dependencies = [ [[package]] name = "solana-fee" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b438bf9ad402491785a4195bc1bc26ca6c01903ef19e94e6c12a8ac29f0267e8" +checksum = "f0c7ab7f31d404a130c78c29a7a845cd599b2623fa335e5fcaef2bd7b3be83e6" dependencies = [ "agave-feature-set", "solana-fee-structure", @@ -5422,35 +5955,40 @@ dependencies = [ [[package]] name = "solana-frozen-abi" -version = "3.0.1" +version = "3.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497caf6b5b0ad5fbf3879d4417cd520e11f19c34f183d052e42370d9a585c79a" +checksum = "14408f7b17b6012a21075ffcada1dbc226078214a2566dc49e47f6c19a3bc7b3" dependencies = [ + "bincode", "boxcar", "bs58", "bv", "bytes", "dashmap", "im", + "imbl", "log", "memmap2 0.5.10", + "rand 0.9.2", + "rand_chacha 0.9.0", "serde", "serde_derive", "serde_with", "sha2 0.10.8", "solana-frozen-abi-macro", "thiserror 2.0.18", + "wincode 0.6.3", ] [[package]] name = "solana-frozen-abi-macro" -version = "3.0.1" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e4bb0f5232668866a7f6f5cbc3222bbd9eebbff6afe392e3394498e8c9b1fa" +checksum = "e1b9977653cc6841a1a1192dc1e864226248a43dce611cb8186634b37eb65df7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -5473,7 +6011,7 @@ dependencies = [ "solana-inflation", "solana-keypair", "solana-poh-config", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rent", "solana-sdk-ids", "solana-sha256-hasher", @@ -5498,14 +6036,14 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "337c246447142f660f778cf6cb582beba8e28deb05b3b24bfb9ffd7c562e5f41" dependencies = [ - "solana-hash 4.0.1", + "solana-hash 4.7.0", ] [[package]] name = "solana-hash" -version = "4.0.1" +version = "4.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a5d48a6ee7b91fc7b998944ab026ed7b3e2fc8ee3bc58452644a86c2648152f" +checksum = "c7507df0d2c6350053d125e3df200976fdc68d2a942637d11ac657fe7220949a" dependencies = [ "borsh", "bytemuck", @@ -5529,26 +6067,33 @@ dependencies = [ [[package]] name = "solana-instruction" -version = "3.0.0" +version = "3.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d8f113d1312870e2d8698033e9d153d3329c520e1065f05145a55a889e21c91" +dependencies = [ + "solana-instruction 4.0.0", + "solana-instruction-error", +] + +[[package]] +name = "solana-instruction" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8df4e8fcba01d7efa647ed20a081c234475df5e11a93acb4393cc2c9a7b99bab" +checksum = "1ea8442b67a58dd54d5497bfc6cd3106b00f9fe6f6877d33c271c3ec4672eedc" dependencies = [ "bincode", "borsh", "serde", "serde_derive", - "solana-define-syscall", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-instruction-error", - "solana-pubkey", + "solana-define-syscall 5.3.0", + "solana-pubkey 4.4.0", ] [[package]] name = "solana-instruction-error" -version = "2.0.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f0d483b8ae387178d9210e0575b666b05cdd4bd0f2f188128249f6e454d39d" +checksum = "e8e7db78c122d02189619490b1fef04a2a042c389662920617c0e6381fdf8fdd" dependencies = [ "num-traits", "serde", @@ -5564,10 +6109,10 @@ checksum = "7ddf67876c541aa1e21ee1acae35c95c6fbc61119814bfef70579317a5e26955" dependencies = [ "bitflags", "solana-account-info", - "solana-instruction", + "solana-instruction 3.5.1", "solana-instruction-error", "solana-program-error", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sanitize", "solana-sdk-ids", "solana-serialize-utils", @@ -5581,7 +6126,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57eebd3012946913c8c1b8b43cdf8a6249edb09c0b6be3604ae910332a3acd97" dependencies = [ "sha3", - "solana-define-syscall", + "solana-define-syscall 3.0.0", "solana-hash 3.1.0", ] @@ -5596,7 +6141,7 @@ dependencies = [ "five8 0.2.1", "rand 0.8.5", "solana-derivation-path", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-seed-derivable", "solana-seed-phrase", "solana-signature", @@ -5618,9 +6163,9 @@ dependencies = [ [[package]] name = "solana-lattice-hash" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30443bf8af65ad7ec2a7493d14e70b2d26b925fd0750fa9048a44a441b0a23bf" +checksum = "61adccfdcbb8d847813ebf2805bc51d3d05cf51af243d52712bf88e39660c965" dependencies = [ "base64 0.22.1", "blake3", @@ -5637,8 +6182,8 @@ dependencies = [ "serde", "serde_bytes", "serde_derive", - "solana-instruction", - "solana-pubkey", + "solana-instruction 3.5.1", + "solana-pubkey 3.0.0", "solana-sdk-ids", "solana-system-interface", ] @@ -5652,29 +6197,28 @@ dependencies = [ "serde", "serde_bytes", "serde_derive", - "solana-instruction", - "solana-pubkey", + "solana-instruction 3.5.1", + "solana-pubkey 3.0.0", "solana-sdk-ids", "solana-system-interface", ] [[package]] name = "solana-loader-v4-program" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b4ce5ca27d4b16be527583738bac230fa0e62867e6c8b4bd6345cf09a3c941c" +checksum = "1e88b98ba6b408fe6fcf180784fc378d07ae63100c7dd413ff97474b6de30c5d" dependencies = [ "log", - "qualifier_attr", "solana-account", "solana-bincode", "solana-bpf-loader-program", - "solana-instruction", + "solana-instruction 3.5.1", "solana-loader-v3-interface", "solana-loader-v4-interface", "solana-packet", "solana-program-runtime", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sbpf", "solana-sdk-ids", "solana-svm-log-collector", @@ -5698,24 +6242,24 @@ dependencies = [ [[package]] name = "solana-measure" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec1c31d6a2213afe934a46f61a2f7512d32dab05247efca046d0713fdc0c8a9e" +checksum = "de496c3f0e0cee33abd4ae958a8703e04ae1011f3c3e73b641bf319a18301c01" [[package]] name = "solana-message" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c33e9fa7871147ac3235a7320386afa2dc64bbb21ca3cf9d79a6f6827313176" +checksum = "0448b1fd891c5f46491e5dc7d9986385ba3c852c340db2911dd29faa01d2b08d" dependencies = [ "bincode", "blake3", "lazy_static", "serde", "serde_derive", - "solana-hash 3.1.0", - "solana-instruction", - "solana-pubkey", + "solana-address 2.9.0", + "solana-hash 4.7.0", + "solana-instruction 3.5.1", "solana-sanitize", "solana-sdk-ids", "solana-short-vec", @@ -5724,9 +6268,9 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb5c1cc9f378f38108827a50d7e7c988915c855378c99443728e852b5d3e5ee9" +checksum = "6c410a6dcc5e1d564bc7b6e3b361ecf9106d99535db74f27326e22f7ab7d6151" dependencies = [ "crossbeam-channel", "gethostname", @@ -5744,7 +6288,7 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "264275c556ea7e22b9d3f87d56305546a38d4eee8ec884f3b126236cb7dcbbb4" dependencies = [ - "solana-define-syscall", + "solana-define-syscall 3.0.0", ] [[package]] @@ -5755,21 +6299,23 @@ checksum = "ae8dd4c280dca9d046139eb5b7a5ac9ad10403fbd64964c7d7571214950d758f" [[package]] name = "solana-net-utils" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccd09673923a9766a43d540eb10ed62e598582039178a71ec4ba9a7be237c83" +checksum = "62092362c96ef693c50f00d98932eb3fca99efba0261bee18d57c71264befdb2" dependencies = [ "anyhow", "bincode", "bytes", + "cfg-if", + "dashmap", "itertools 0.12.1", "log", "nix", "rand 0.8.5", "serde", - "serde_derive", - "socket2 0.6.0", + "socket2 0.6.5", "solana-serde", + "solana-svm-type-overrides", "tokio", "url", ] @@ -5790,7 +6336,7 @@ dependencies = [ "serde_derive", "solana-fee-calculator", "solana-hash 3.1.0", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sha256-hasher", ] @@ -5806,6 +6352,15 @@ dependencies = [ "solana-sdk-ids", ] +[[package]] +name = "solana-nullable" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "889194d8c5faec648f2f6fadddb60566249921ebb074e2707e7095458d5864e2" +dependencies = [ + "bytemuck", +] + [[package]] name = "solana-packet" version = "3.0.0" @@ -5822,9 +6377,9 @@ dependencies = [ [[package]] name = "solana-perf" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acd85605438c9eaae275815ae34c56e4dc2c1e35a4156d4fd66873a1045c382e" +checksum = "6efdfcbe201b25d6c30a69bb27201867d3da3c945dd06b181e61d5b956280663" dependencies = [ "ahash 0.8.11", "bincode", @@ -5844,12 +6399,13 @@ dependencies = [ "solana-message", "solana-metrics", "solana-packet", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rayon-threadlimit", "solana-sdk-ids", "solana-short-vec", "solana-signature", "solana-time-utils", + "solana-transaction-context", ] [[package]] @@ -5864,13 +6420,15 @@ dependencies = [ [[package]] name = "solana-poseidon" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794ff76c70d6f4c5d9c86c626069225c0066043405c0c9d6b96f00c8525dade5" +checksum = "a44739c6c9f717fd057f7c16fba65fdd3628d4918c61c399520e6f4fba5ad854" dependencies = [ - "ark-bn254", - "light-poseidon", - "solana-define-syscall", + "ark-bn254 0.4.0", + "ark-bn254 0.5.0", + "light-poseidon 0.2.0", + "light-poseidon 0.4.1", + "solana-define-syscall 3.0.0", "thiserror 2.0.18", ] @@ -5896,14 +6454,14 @@ dependencies = [ "solana-borsh", "solana-clock", "solana-cpi", - "solana-define-syscall", + "solana-define-syscall 3.0.0", "solana-epoch-rewards", "solana-epoch-schedule", "solana-epoch-stake", "solana-example-mocks", "solana-fee-calculator", "solana-hash 3.1.0", - "solana-instruction", + "solana-instruction 3.5.1", "solana-instruction-error", "solana-instructions-sysvar", "solana-keccak-hasher", @@ -5915,7 +6473,7 @@ dependencies = [ "solana-program-memory", "solana-program-option", "solana-program-pack", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rent", "solana-sdk-ids", "solana-secp256k1-recover", @@ -5930,6 +6488,22 @@ dependencies = [ "solana-sysvar-id", ] +[[package]] +name = "solana-program-binaries" +version = "3.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68d372660fc5c61b691279bcecb4bf92fa1a7cba3b357ef209404f425dafd394" +dependencies = [ + "bincode", + "serde", + "solana-account", + "solana-loader-v3-interface", + "solana-pubkey 3.0.0", + "solana-rent", + "solana-sdk-ids", + "spl-generic-token", +] + [[package]] name = "solana-program-entrypoint" version = "3.1.0" @@ -5937,10 +6511,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6557cf5b5e91745d1667447438a1baa7823c6086e4ece67f8e6ebfa7a8f72660" dependencies = [ "solana-account-info", - "solana-define-syscall", + "solana-define-syscall 3.0.0", "solana-msg", "solana-program-error", - "solana-pubkey", + "solana-pubkey 3.0.0", ] [[package]] @@ -5960,7 +6534,7 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10e5660c60749c7bfb30b447542529758e4dbcecd31b1e8af1fdc92e2bdde90a" dependencies = [ - "solana-define-syscall", + "solana-define-syscall 3.0.0", ] [[package]] @@ -5980,9 +6554,9 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d6ec3fec9e5f8c01aa76e0d63911af6acb4ee840b6f7ec5ddee284552c0de60" +checksum = "35a7bb03e9d73082c4eced105102b88f1d6ec6856b020f17ec89043bcf9dbdda" dependencies = [ "base64 0.22.1", "bincode", @@ -5992,19 +6566,22 @@ dependencies = [ "rand 0.8.5", "serde", "solana-account", + "solana-account-info", "solana-clock", "solana-epoch-rewards", "solana-epoch-schedule", "solana-fee-structure", "solana-hash 3.1.0", - "solana-instruction", + "solana-instruction 3.5.1", "solana-last-restart-slot", + "solana-loader-v3-interface", "solana-program-entrypoint", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rent", "solana-sbpf", "solana-sdk-ids", "solana-slot-hashes", + "solana-stable-layout", "solana-stake-interface", "solana-svm-callback", "solana-svm-feature-set", @@ -6017,15 +6594,17 @@ dependencies = [ "solana-sysvar", "solana-sysvar-id", "solana-transaction-context", + "thiserror 2.0.18", ] [[package]] name = "solana-program-test" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d828f0e8ff75dd2b745206ee4b965613a6f0caf7f502fc70d7c3e627abde46ff" +checksum = "3848324dae946ff709b78cf5599fc5fa17fb1877cf5c98e8167e2e0fd9e1990f" dependencies = [ "agave-feature-set", + "agave-logger", "assert_matches", "async-trait", "base64 0.22.1", @@ -6049,18 +6628,18 @@ dependencies = [ "solana-fee-calculator", "solana-genesis-config", "solana-hash 3.1.0", - "solana-instruction", + "solana-instruction 3.5.1", "solana-keypair", "solana-loader-v3-interface", - "solana-logger", "solana-message", "solana-msg", "solana-native-token", "solana-poh-config", + "solana-program-binaries", "solana-program-entrypoint", "solana-program-error", "solana-program-runtime", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rent", "solana-runtime", "solana-sbpf", @@ -6090,14 +6669,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8909d399deb0851aa524420beeb5646b115fd253ef446e35fe4504c904da3941" dependencies = [ "rand 0.8.5", - "solana-address", + "solana-address 1.1.0", +] + +[[package]] +name = "solana-pubkey" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2b8ba5d677d77a76d557b59ce7ecf9a8578743089cb25c73990752c5f005885" +dependencies = [ + "solana-address 2.9.0", ] [[package]] name = "solana-pubsub-client" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dc18dc70532b72eaa8df04683560b99b7177d1fea29f2f5bf3a4a79796df425" +checksum = "1109810209e87785ec378ed7ce50c83bb4a7dc26fa6a992299534c11e0c21b9c" dependencies = [ "crossbeam-channel", "futures-util", @@ -6105,11 +6693,10 @@ dependencies = [ "log", "semver", "serde", - "serde_derive", "serde_json", "solana-account-decoder-client-types", "solana-clock", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rpc-client-types", "solana-signature", "thiserror 2.0.18", @@ -6122,24 +6709,24 @@ dependencies = [ [[package]] name = "solana-quic-client" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "831453427ac891cba2eaa30051a8a1f1c0a7c8eb9d283cc75ee09ce16245d007" +checksum = "d54d9e4da86cd29814dd0c6f79e071d4539030af48ff71af49db9f6f1862b9c3" dependencies = [ + "anza-quinn", + "anza-quinn-proto", "async-lock", "async-trait", "futures", "itertools 0.12.1", "log", - "quinn", - "quinn-proto", - "rustls 0.23.32", + "rustls", "solana-connection-cache", "solana-keypair", "solana-measure", "solana-metrics", "solana-net-utils", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-quic-definitions", "solana-rpc-client-api", "solana-signer", @@ -6161,9 +6748,9 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d977cc0f8132e2f7c317a03bc8cec328a4eacccba231cf12d7624bb97cb39ae3" +checksum = "16d9e58c21eb661d6683510afcd60cc280b92bfc107944f69912aab51ace47a4" dependencies = [ "log", "num_cpus", @@ -6194,9 +6781,9 @@ dependencies = [ [[package]] name = "solana-rpc-client" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc97cd8bbbe8fb74a76b2812629dae284e6f5446f7e84a98c3f854e4dc2621b" +checksum = "e4cc64e78e25d5545c8c275c697168b331cf074983a9eff2ec67de2d8c584854" dependencies = [ "async-trait", "base64 0.22.1", @@ -6209,9 +6796,9 @@ dependencies = [ "reqwest-middleware", "semver", "serde", - "serde_derive", "serde_json", "solana-account", + "solana-account-decoder", "solana-account-decoder-client-types", "solana-clock", "solana-commitment-config", @@ -6219,31 +6806,30 @@ dependencies = [ "solana-epoch-schedule", "solana-feature-gate-interface", "solana-hash 3.1.0", - "solana-instruction", + "solana-instruction 3.5.1", "solana-message", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rpc-client-api", "solana-signature", "solana-transaction", "solana-transaction-error", "solana-transaction-status-client-types", "solana-version", - "solana-vote-interface 3.0.0", + "solana-vote-interface", "tokio", ] [[package]] name = "solana-rpc-client-api" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26e5f5a813f457dff5a66dfe83eaa7e0e766be5251fc99922e9f2e48a2ebca2e" +checksum = "657c1d331d8b0611327bbf3bf342d3b98ad7743a74cc59ddfcce2925a0d818fc" dependencies = [ "anyhow", "jsonrpc-core", "reqwest", "reqwest-middleware", "serde", - "serde_derive", "serde_json", "solana-account-decoder-client-types", "solana-clock", @@ -6256,16 +6842,16 @@ dependencies = [ [[package]] name = "solana-rpc-client-nonce-utils" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9902af67012d1e92b4a737e26329ae17c4678b5322ed841aa0018bfcfd7a033" +checksum = "b1fc7c6ad3eb7df35a1f97c820003439334ee0d5944b155e9cb78bf9e0ecce36" dependencies = [ "solana-account", "solana-commitment-config", "solana-hash 3.1.0", "solana-message", "solana-nonce", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rpc-client", "solana-sdk-ids", "thiserror 2.0.18", @@ -6273,23 +6859,24 @@ dependencies = [ [[package]] name = "solana-rpc-client-types" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a6d3a5969b7ccd2863012fa06daa35e152e264181d24b5153b974351faa9c40" +checksum = "727f7cc8e29432b7efad120558a883629332a72c9853f0506b0453a9f11be51a" dependencies = [ "base64 0.22.1", "bs58", "semver", "serde", - "serde_derive", "serde_json", "solana-account", "solana-account-decoder-client-types", + "solana-address 1.1.0", "solana-clock", "solana-commitment-config", "solana-fee-calculator", "solana-inflation", - "solana-pubkey", + "solana-reward-info", + "solana-transaction", "solana-transaction-error", "solana-transaction-status-client-types", "solana-version", @@ -6299,14 +6886,17 @@ dependencies = [ [[package]] name = "solana-runtime" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e92c3f0652c772afd524d91119b70a4163bbf3449cf867444cb0efbdc3c0ed" +checksum = "0eb482d0c82ee826621758e7fdba331cd78857a94107247a2674216abb4ff808" dependencies = [ "agave-feature-set", + "agave-fs", "agave-precompiles", "agave-reserved-account-keys", + "agave-snapshots", "agave-syscalls", + "agave-votor-messages", "ahash 0.8.11", "aquamarine", "arc-swap", @@ -6326,7 +6916,7 @@ dependencies = [ "libc", "log", "lz4", - "memmap2 0.9.7", + "memmap2 0.9.12", "mockall", "modular-bitfield", "num-derive", @@ -6338,14 +6928,15 @@ dependencies = [ "rand 0.8.5", "rayon", "regex", + "semver", "serde", - "serde_derive", "serde_json", "serde_with", "solana-account", "solana-account-info", "solana-accounts-db", "solana-address-lookup-table-interface", + "solana-bls-signatures", "solana-bpf-loader-program", "solana-bucket-map", "solana-builtins", @@ -6356,6 +6947,7 @@ dependencies = [ "solana-compute-budget", "solana-compute-budget-instruction", "solana-compute-budget-interface", + "solana-config-interface", "solana-cost-model", "solana-cpi", "solana-ed25519-program", @@ -6370,7 +6962,7 @@ dependencies = [ "solana-hard-forks", "solana-hash 3.1.0", "solana-inflation", - "solana-instruction", + "solana-instruction 3.5.1", "solana-keypair", "solana-lattice-hash", "solana-loader-v3-interface", @@ -6387,7 +6979,7 @@ dependencies = [ "solana-poh-config", "solana-precompile-error", "solana-program-runtime", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rayon-threadlimit", "solana-rent", "solana-reward-info", @@ -6402,7 +6994,6 @@ dependencies = [ "solana-slot-hashes", "solana-slot-history", "solana-stake-interface", - "solana-stake-program", "solana-svm", "solana-svm-callback", "solana-svm-timings", @@ -6419,24 +7010,22 @@ dependencies = [ "solana-unified-scheduler-logic", "solana-version", "solana-vote", - "solana-vote-interface 3.0.0", + "solana-vote-interface", "solana-vote-program", "spl-generic-token", "static_assertions", "strum 0.24.1", "strum_macros 0.24.3", "symlink", - "tar", "tempfile", "thiserror 2.0.18", - "zstd", ] [[package]] name = "solana-runtime-transaction" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eefe5fab5fd673124acd1445b25e69a86a35b4cc06c21f41d15e2c6389120ff0" +checksum = "ab8a63214f8959f5eb0b2d2a53497688be7cf7db23faae319864af5ffaa8b99e" dependencies = [ "agave-transaction-view", "log", @@ -6444,26 +7033,27 @@ dependencies = [ "solana-compute-budget-instruction", "solana-hash 3.1.0", "solana-message", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sdk-ids", "solana-signature", "solana-svm-transaction", "solana-transaction", + "solana-transaction-context", "solana-transaction-error", "thiserror 2.0.18", ] [[package]] name = "solana-sanitize" -version = "3.0.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927e833259588ac8f860861db0f6e2668c3cc46d917798ade116858960acfe8a" +checksum = "dcf09694a0fc14e5ffb18f9b7b7c0f15ecb6eac5b5610bf76a1853459d19daf9" [[package]] name = "solana-sbpf" -version = "0.12.2" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f224d906c14efc7ed7f42bc5fe9588f3f09db8cabe7f6023adda62a69678e1a" +checksum = "b15b079e08471a9dbfe1e48b2c7439c85aa2a055cbd54eddd8bd257b0a7dbb29" dependencies = [ "byteorder", "combine 3.8.1", @@ -6478,11 +7068,11 @@ dependencies = [ [[package]] name = "solana-sdk-ids" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1b6d6aaf60669c592838d382266b173881c65fb1cdec83b37cb8ce7cb89f9ad" +checksum = "def234c1956ff616d46c9dd953f251fa7096ddbaa6d52b165218de97882b7280" dependencies = [ - "solana-pubkey", + "solana-address 2.9.0", ] [[package]] @@ -6494,7 +7084,7 @@ dependencies = [ "bs58", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -6518,7 +7108,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "394a4470477d66296af5217970a905b1c5569032a7732c367fb69e5666c8607e" dependencies = [ "k256", - "solana-define-syscall", + "solana-define-syscall 3.0.0", "thiserror 2.0.18", ] @@ -6530,7 +7120,7 @@ checksum = "445d8e12592631d76fc4dc57858bae66c9fd7cc838c306c62a472547fc9d0ce6" dependencies = [ "bytemuck", "openssl", - "solana-instruction", + "solana-instruction 3.5.1", "solana-sdk-ids", ] @@ -6556,9 +7146,9 @@ dependencies = [ [[package]] name = "solana-send-transaction-service" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a9ef499f45da422018cb8d9274d7bb10b71115d728f10edc8352a5d79c7359b" +checksum = "a5a3f9c38ea9453eb16d65df9e6a35a63a1e5a58a1e23d74d0af4760b13ba4b0" dependencies = [ "async-trait", "crossbeam-channel", @@ -6572,7 +7162,7 @@ dependencies = [ "solana-measure", "solana-metrics", "solana-nonce-account", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-quic-definitions", "solana-runtime", "solana-signature", @@ -6607,28 +7197,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e41dd8feea239516c623a02f0a81c2367f4b604d7965237fed0751aeec33ed" dependencies = [ "solana-instruction-error", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sanitize", ] [[package]] name = "solana-sha256-hasher" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9b912ba6f71cb202c0c3773ec77bf898fa9fe0c78691a2d6859b3b5b8954719" +checksum = "db7dc3011ea4c0334aaaa7e7128cb390ecf546b28d412e9bf2064680f57f588f" dependencies = [ "sha2 0.10.8", - "solana-define-syscall", - "solana-hash 3.1.0", + "solana-define-syscall 4.0.1", + "solana-hash 4.7.0", ] [[package]] name = "solana-short-vec" -version = "3.0.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b69d029da5428fc1c57f7d49101b2077c61f049d4112cd5fb8456567cc7d2638" +checksum = "c75782529cc4521114c1ecd71c7e2cdebd41a6fe9844b5d088fd36ef08c57c36" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -6654,7 +7244,7 @@ dependencies = [ "serde-big-array", "serde_derive", "solana-sanitize", - "wincode", + "wincode 0.2.5", ] [[package]] @@ -6663,7 +7253,7 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5bfea97951fee8bae0d6038f39a5efcb6230ecdfe33425ac75196d1a1e3e3235" dependencies = [ - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-signature", "solana-transaction-error", ] @@ -6700,8 +7290,8 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1da74507795b6e8fb60b7c7306c0c36e2c315805d16eaaf479452661234685ac" dependencies = [ - "solana-instruction", - "solana-pubkey", + "solana-instruction 3.5.1", + "solana-pubkey 3.0.0", ] [[package]] @@ -6715,51 +7305,23 @@ dependencies = [ "serde_derive", "solana-clock", "solana-cpi", - "solana-instruction", + "solana-instruction 3.5.1", "solana-program-error", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-system-interface", "solana-sysvar", "solana-sysvar-id", ] -[[package]] -name = "solana-stake-program" -version = "3.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06f174d24c78d8874c4c28cb855bfe87f720c7e40362ea1b856c4a65abdc6209" -dependencies = [ - "agave-feature-set", - "bincode", - "log", - "solana-account", - "solana-bincode", - "solana-clock", - "solana-config-interface", - "solana-genesis-config", - "solana-instruction", - "solana-native-token", - "solana-packet", - "solana-program-runtime", - "solana-pubkey", - "solana-rent", - "solana-sdk-ids", - "solana-stake-interface", - "solana-svm-log-collector", - "solana-svm-type-overrides", - "solana-sysvar", - "solana-transaction-context", - "solana-vote-interface 3.0.0", -] - [[package]] name = "solana-streamer" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93b8636508e20281a495a33b213f2e19c6b6828419d5c2daa3766411355144e3" +checksum = "03cc4445ae5c1299b80cf54ef89c39fa7dbd3bcc2d388e842c8c2ab54c6e3f30" dependencies = [ + "anza-quinn", + "anza-quinn-proto", "arc-swap", - "async-channel", "bytes", "crossbeam-channel", "dashmap", @@ -6767,7 +7329,7 @@ dependencies = [ "futures-util", "governor", "histogram", - "indexmap 2.10.0", + "indexmap 2.14.2", "itertools 0.12.1", "libc", "log", @@ -6775,19 +7337,17 @@ dependencies = [ "num_cpus", "pem", "percentage", - "quinn", - "quinn-proto", "rand 0.8.5", - "rustls 0.23.32", + "rustls", "smallvec", - "socket2 0.6.0", + "socket2 0.6.5", "solana-keypair", "solana-measure", "solana-metrics", "solana-net-utils", "solana-packet", "solana-perf", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-quic-definitions", "solana-signature", "solana-signer", @@ -6803,20 +7363,19 @@ dependencies = [ [[package]] name = "solana-svm" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef1ffa2586ff7023f6dde1b8fd0523557938ef08ac0b7c19b092da2eea6e834" +checksum = "810c10b868df289fec4463840642c0263d59c75cec097d88e11a27c5ac91a61c" dependencies = [ "ahash 0.8.11", "log", "percentage", "serde", - "serde_derive", "solana-account", "solana-clock", "solana-fee-structure", "solana-hash 3.1.0", - "solana-instruction", + "solana-instruction 3.5.1", "solana-instructions-sysvar", "solana-loader-v3-interface", "solana-loader-v4-interface", @@ -6827,7 +7386,7 @@ dependencies = [ "solana-program-entrypoint", "solana-program-pack", "solana-program-runtime", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rent", "solana-sdk-ids", "solana-svm-callback", @@ -6847,57 +7406,57 @@ dependencies = [ [[package]] name = "solana-svm-callback" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d2211ecefc92a3d6db1206eca32aa579bb112eb1a2823ac227d8cbd5cdb0465" +checksum = "cb521c7f62db21661267a933f0d311a76b2b744a766b46f5a9a9395ce70f687c" dependencies = [ "solana-account", "solana-clock", "solana-precompile-error", - "solana-pubkey", + "solana-pubkey 3.0.0", ] [[package]] name = "solana-svm-feature-set" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a35cded5bc9e32d84c98d81bb9811239d3aea03d0f5ef09aa2f1e8cdaf2d0ff" +checksum = "08924d3b4918008d75a5807e73af8eb9f1c409067c772de518d1dd67dd4c03de" [[package]] name = "solana-svm-log-collector" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455455f9ef91bb738c2363284cd8b6f5956726b0a366ab85976dca23ee1611a4" +checksum = "26c071b3e4e9b2f19f15659abc74bd7fcc40cec6d60c1f6024384ff78cb49d40" dependencies = [ "log", ] [[package]] name = "solana-svm-measure" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e3c0ecb1caf08e9d70e41ca99bb18550e05e9a40dce8866fd1c360e67fa78c5" +checksum = "c5e4f9972c93d50eaa299fadf1bee9de2055d47eef26af589dcefb487f22e71d" [[package]] name = "solana-svm-timings" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62606f820fe99b72ee8e26b8e20eed3c2ccc2f6e3146f537c4cb22a442c69170" +checksum = "7c65d4887002f8105f8e49253d0956292c55d66a1a3ee3594e7f90e682ed9521" dependencies = [ "eager", "enum-iterator", - "solana-pubkey", + "solana-pubkey 3.0.0", ] [[package]] name = "solana-svm-transaction" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "336583f8418964f7050b98996e13151857995604fe057c0d8f2f3512a16d3a8b" +checksum = "3ef6ff55ce4c24e26ad8b0e67bc604cbd54eabfc94540c4c2c93e51fa087ead5" dependencies = [ "solana-hash 3.1.0", "solana-message", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sdk-ids", "solana-signature", "solana-transaction", @@ -6905,9 +7464,9 @@ dependencies = [ [[package]] name = "solana-svm-type-overrides" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f802b43ced1f9c6a2bf3b8c740dd43e194f33b3c98a6b3e3d0f989f632ec3ccc" +checksum = "fa888be46794b88f130508f694e989fb8802c823b9048acd4d0240e9818502fe" dependencies = [ "rand 0.8.5", ] @@ -6921,31 +7480,30 @@ dependencies = [ "num-traits", "serde", "serde_derive", - "solana-instruction", + "solana-instruction 3.5.1", "solana-msg", "solana-program-error", - "solana-pubkey", + "solana-pubkey 3.0.0", ] [[package]] name = "solana-system-program" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c68c4e74ea2d55e59cab3346781156c456850a781f07cb6bc0fdbd52fba55b" +checksum = "578e44e2abb14c34efbc0074f9009132f12ff66cc3ab1a7715d24b6801bb7f32" dependencies = [ "bincode", "log", "serde", - "serde_derive", "solana-account", "solana-bincode", "solana-fee-calculator", - "solana-instruction", + "solana-instruction 3.5.1", "solana-nonce", "solana-nonce-account", "solana-packet", "solana-program-runtime", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-sdk-ids", "solana-svm-log-collector", "solana-svm-type-overrides", @@ -6963,7 +7521,7 @@ dependencies = [ "solana-hash 3.1.0", "solana-keypair", "solana-message", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-signer", "solana-system-interface", "solana-transaction", @@ -6971,9 +7529,9 @@ dependencies = [ [[package]] name = "solana-sysvar" -version = "3.0.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63205e68d680bcc315337dec311b616ab32fea0a612db3b883ce4de02e0953f9" +checksum = "6690d3dd88f15c21edff68eb391ef8800df7a1f5cec84ee3e8d1abf05affdf74" dependencies = [ "base64 0.22.1", "bincode", @@ -6984,19 +7542,19 @@ dependencies = [ "serde_derive", "solana-account-info", "solana-clock", - "solana-define-syscall", + "solana-define-syscall 4.0.1", "solana-epoch-rewards", "solana-epoch-schedule", "solana-fee-calculator", "solana-frozen-abi", "solana-frozen-abi-macro", - "solana-hash 3.1.0", - "solana-instruction", + "solana-hash 4.7.0", + "solana-instruction 3.5.1", "solana-last-restart-slot", "solana-program-entrypoint", "solana-program-error", "solana-program-memory", - "solana-pubkey", + "solana-pubkey 4.4.0", "solana-rent", "solana-sdk-ids", "solana-sdk-macro", @@ -7007,11 +7565,11 @@ dependencies = [ [[package]] name = "solana-sysvar-id" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5051bc1a16d5d96a96bc33b5b2ec707495c48fe978097bdaba68d3c47987eb32" +checksum = "17358d1e9a13e5b9c2264d301102126cf11a47fd394cdf3dec174fe7bc96e1de" dependencies = [ - "solana-pubkey", + "solana-address 2.9.0", "solana-sdk-ids", ] @@ -7023,27 +7581,27 @@ checksum = "0ced92c60aa76ec4780a9d93f3bd64dfa916e1b998eacc6f1c110f3f444f02c9" [[package]] name = "solana-tls-utils" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213b0b783dc59c113821478ab18da70b7b143ef69b194b7975fcdda20372130c" +checksum = "57a74352404ca3378d3bc6586a9a1e0d7362b687ce2218a0b646dccb767c7ba2" dependencies = [ - "rustls 0.23.32", + "rustls", "solana-keypair", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-signer", "x509-parser", ] [[package]] name = "solana-tpu-client" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebf10061d061815585f32ea318e6dc71aa253dde5c4ad527bd973b71656c0b4" +checksum = "4fb908227ef3da285e4f12953075a83d06aabe53eab42364ea19c535bfe7c5aa" dependencies = [ "async-trait", "bincode", "futures-util", - "indexmap 2.10.0", + "indexmap 2.14.2", "indicatif", "log", "rayon", @@ -7055,7 +7613,7 @@ dependencies = [ "solana-measure", "solana-message", "solana-net-utils", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-pubsub-client", "solana-quic-definitions", "solana-rpc-client", @@ -7070,15 +7628,15 @@ dependencies = [ [[package]] name = "solana-tpu-client-next" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8091cd93c843a7a7d3496002590aea8796b7c5f55ffc03d34746fc0674804286" +checksum = "b89ee2f45432a017af38dee0f1e87537c87eb985790d824209fa19a3b57bf8f5" dependencies = [ + "anza-quinn", "async-trait", "log", "lru", - "quinn", - "rustls 0.23.32", + "rustls", "solana-clock", "solana-connection-cache", "solana-keypair", @@ -7097,16 +7655,16 @@ dependencies = [ [[package]] name = "solana-transaction" -version = "3.0.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64928e6af3058dcddd6da6680cbe08324b4e071ad73115738235bbaa9e9f72a5" +checksum = "96697cff5075a028265324255efed226099f6d761ca67342b230d09f72cc48d2" dependencies = [ "bincode", "serde", "serde_derive", - "solana-address", - "solana-hash 3.1.0", - "solana-instruction", + "solana-address 2.9.0", + "solana-hash 4.7.0", + "solana-instruction 3.5.1", "solana-instruction-error", "solana-message", "solana-sanitize", @@ -7119,18 +7677,17 @@ dependencies = [ [[package]] name = "solana-transaction-context" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9c6820c3a14bd07b2256640bd64af4a44ac49f505dca93cc11f77bc79cfd44a" +checksum = "077ee5d6af12af9747cb14255a92ab79e830c5dabf9baaa8f4196299f476dfa0" dependencies = [ "bincode", "qualifier_attr", "serde", - "serde_derive", "solana-account", - "solana-instruction", + "solana-instruction 3.5.1", "solana-instructions-sysvar", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rent", "solana-sbpf", "solana-sdk-ids", @@ -7150,9 +7707,9 @@ dependencies = [ [[package]] name = "solana-transaction-metrics-tracker" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f80e292c487f87712db7962dbe648054e362c37bd5dbdc7d28efcfc4d9ef1217" +checksum = "17327deb9accf25ebb25a0422ab228de5d92acecf2ec178fdf926ae5ccd3ace1" dependencies = [ "base64 0.22.1", "bincode", @@ -7166,21 +7723,20 @@ dependencies = [ [[package]] name = "solana-transaction-status-client-types" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42333c56ebbbaab0a354c0a5ad621c0640b136e4ba0db3ba56d12b0500b27071" +checksum = "cf6050ff0021c138fd522283a743b8a62e39e9710590c17873ec232054dbc03a" dependencies = [ "base64 0.22.1", "bincode", "bs58", "serde", - "serde_derive", "serde_json", "solana-account-decoder-client-types", "solana-commitment-config", - "solana-instruction", + "solana-instruction 3.5.1", "solana-message", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-reward-info", "solana-signature", "solana-transaction", @@ -7191,9 +7747,9 @@ dependencies = [ [[package]] name = "solana-udp-client" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f25cf8797c360193e9500aa8c96fa969cd27ac5f4a03928616bb45acedda391a" +checksum = "b32651092f28c7fa9fb622a055f21fcfb1a109e6851d964ce043336a0035a629" dependencies = [ "async-trait", "solana-connection-cache", @@ -7207,12 +7763,12 @@ dependencies = [ [[package]] name = "solana-unified-scheduler-logic" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9151a3f80cb570d848fe8ff2985d2e8f84df49b832a9434ed255065c5e670e9c" +checksum = "d6f50281f494e916386e99175eb4806fb9554db9e790d3d45fd4d39a42d6d010" dependencies = [ "assert_matches", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-runtime-transaction", "solana-transaction", "static_assertions", @@ -7221,71 +7777,43 @@ dependencies = [ [[package]] name = "solana-version" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44177fea32b10c8b9f3c19ba13ea21c5abc163d1cfb7a134fe16449f13f7c5b2" +checksum = "f697aacc5aa4ac5534abdde8a91afdcf18c24d28bd52768e8001445dbda078db" dependencies = [ "agave-feature-set", "rand 0.8.5", "semver", "serde", - "serde_derive", "solana-sanitize", "solana-serde-varint", ] [[package]] name = "solana-vote" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "073d95f8c00bc11ec692d3b3ce896f84e16e9ac107f32a73c9b2224d84b5fced" +checksum = "bb12447f1d5a08ce4d6d6b8e50d146393ab24dfcde6d64541db3bd7a3ec1af58" dependencies = [ "itertools 0.12.1", "log", "serde", - "serde_derive", "solana-account", "solana-bincode", "solana-clock", "solana-hash 3.1.0", - "solana-instruction", - "solana-keypair", - "solana-packet", - "solana-pubkey", - "solana-sdk-ids", - "solana-serialize-utils", - "solana-signature", - "solana-signer", - "solana-svm-transaction", - "solana-transaction", - "solana-vote-interface 3.0.0", - "thiserror 2.0.18", -] - -[[package]] -name = "solana-vote-interface" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66631ddbe889dab5ec663294648cd1df395ec9df7a4476e7b3e095604cfdb539" -dependencies = [ - "bincode", - "cfg_eval", - "num-derive", - "num-traits", - "serde", - "serde_derive", - "serde_with", - "solana-clock", - "solana-hash 3.1.0", - "solana-instruction", - "solana-instruction-error", - "solana-pubkey", - "solana-rent", + "solana-instruction 3.5.1", + "solana-keypair", + "solana-packet", + "solana-pubkey 3.0.0", "solana-sdk-ids", - "solana-serde-varint", "solana-serialize-utils", - "solana-short-vec", - "solana-system-interface", + "solana-signature", + "solana-signer", + "solana-svm-transaction", + "solana-transaction", + "solana-vote-interface", + "thiserror 2.0.18", ] [[package]] @@ -7303,9 +7831,9 @@ dependencies = [ "serde_with", "solana-clock", "solana-hash 3.1.0", - "solana-instruction", + "solana-instruction 3.5.1", "solana-instruction-error", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rent", "solana-sdk-ids", "solana-serde-varint", @@ -7316,9 +7844,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76271ecc50cdb46fd4c792f9d6078e60d1e2fb6ac2e21e3134085f9bf4159554" +checksum = "ac7f37540da27c0ec132ee1b5380ad32d98663afba7ade3581f2d963fd2f63c2" dependencies = [ "agave-feature-set", "bincode", @@ -7326,38 +7854,49 @@ dependencies = [ "num-derive", "num-traits", "serde", - "serde_derive", "solana-account", "solana-bincode", "solana-clock", "solana-epoch-schedule", "solana-hash 3.1.0", - "solana-instruction", + "solana-instruction 3.5.1", "solana-keypair", + "solana-metrics", "solana-packet", "solana-program-runtime", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rent", "solana-sdk-ids", "solana-signer", "solana-slot-hashes", "solana-transaction", "solana-transaction-context", - "solana-vote-interface 3.0.0", + "solana-vote-interface", "thiserror 2.0.18", ] +[[package]] +name = "solana-zero-copy" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "369c96063ef15bc310508155ad57bc527c64d814e46ac02d9ebb751a41eb8ea1" +dependencies = [ + "borsh", + "bytemuck", + "bytemuck_derive", +] + [[package]] name = "solana-zk-elgamal-proof-program" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27a10e5f73160da55ab35471443edfaa551503514571cc63c34a4d0a10b0ff45" +checksum = "cee65de587e6fe912668903e62f3f40c02a834f21967a18cc6c71f550c51a639" dependencies = [ "agave-feature-set", "bytemuck", "num-derive", "num-traits", - "solana-instruction", + "solana-instruction 3.5.1", "solana-program-runtime", "solana-sdk-ids", "solana-svm-log-collector", @@ -7388,8 +7927,8 @@ dependencies = [ "serde_json", "sha3", "solana-derivation-path", - "solana-instruction", - "solana-pubkey", + "solana-instruction 3.5.1", + "solana-pubkey 3.0.0", "solana-sdk-ids", "solana-seed-derivable", "solana-seed-phrase", @@ -7403,15 +7942,15 @@ dependencies = [ [[package]] name = "solana-zk-token-proof-program" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f48e57c79397d1c2bc34a5de7600ed09aad047958f1d36ba4aee4cb6993a5b01" +checksum = "56ecb5f2989632b030709c8aebdbc586a8c0f867d0ec154d0cb7feafb86f72fb" dependencies = [ "agave-feature-set", "bytemuck", "num-derive", "num-traits", - "solana-instruction", + "solana-instruction 3.5.1", "solana-program-runtime", "solana-sdk-ids", "solana-svm-log-collector", @@ -7420,9 +7959,9 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "3.0.10" +version = "3.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef89a6d71457129ed9686cd24018b86c10de0c07697b6b6a572fd0bbcb9bed94" +checksum = "c0d27bcbe061cc3d4f25527ee4f28b04a9408294d46dd9b817b93cd3dd98d72d" dependencies = [ "aes-gcm-siv", "base64 0.22.1", @@ -7436,13 +7975,12 @@ dependencies = [ "num-traits", "rand 0.8.5", "serde", - "serde_derive", "serde_json", "sha3", "solana-curve25519", "solana-derivation-path", - "solana-instruction", - "solana-pubkey", + "solana-instruction 3.5.1", + "solana-pubkey 3.0.0", "solana-sdk-ids", "solana-seed-derivable", "solana-seed-phrase", @@ -7465,9 +8003,9 @@ dependencies = [ "serde_with", "solana-account-info", "solana-cpi", - "solana-instruction", + "solana-instruction 3.5.1", "solana-program-error", - "solana-pubkey", + "solana-pubkey 3.0.0", "thiserror 2.0.18", ] @@ -7482,6 +8020,7 @@ dependencies = [ "codama", "codama-macros", "getrandom 0.2.15", + "getrandom 0.3.1", "num-traits", "serde", "serde_derive", @@ -7495,10 +8034,10 @@ dependencies = [ "solana-frozen-abi", "solana-frozen-abi-macro", "solana-genesis-config", - "solana-instruction", + "solana-instruction 3.5.1", "solana-keypair", "solana-program-error", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rent", "solana-sdk-ids", "solana-signer", @@ -7534,16 +8073,17 @@ dependencies = [ "solana-epoch-rewards", "solana-epoch-schedule", "solana-genesis-config", - "solana-instruction", + "solana-instruction 3.5.1", "solana-instruction-error", "solana-keypair", "solana-logger", "solana-msg", "solana-native-token", + "solana-program-binaries", "solana-program-entrypoint", "solana-program-error", "solana-program-test", - "solana-pubkey", + "solana-pubkey 3.0.0", "solana-rent", "solana-sdk-ids", "solana-signature", @@ -7554,7 +8094,7 @@ dependencies = [ "solana-sysvar", "solana-sysvar-id", "solana-transaction", - "solana-vote-interface 4.0.4", + "solana-vote-interface", "spherenet-stake-interface", "spherenet-validator-whitelist-interface", "test-case", @@ -7572,9 +8112,9 @@ dependencies = [ "pinocchio-log", "pinocchio-pubkey", "shank", - "solana-instruction", + "solana-instruction 3.5.1", "solana-program", - "solana-pubkey", + "solana-pubkey 3.0.0", "thiserror 2.0.18", ] @@ -7597,6 +8137,42 @@ dependencies = [ "der", ] +[[package]] +name = "spl-discriminator" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e597c5ff9ed7c74a54dbc47bae2f06e4db8c98f4356ad280200dc11878266db1" +dependencies = [ + "bytemuck", + "solana-program-error", + "solana-sha256-hasher", + "spl-discriminator-derive", +] + +[[package]] +name = "spl-discriminator-derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9e8418ea6269dcfb01c712f0444d2c75542c04448b480e87de59d2865edc750" +dependencies = [ + "quote", + "spl-discriminator-syn", + "syn 2.0.119", +] + +[[package]] +name = "spl-discriminator-syn" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d1dbc82ab91422345b6df40a79e2b78c7bce1ebb366da323572dd60b7076b67" +dependencies = [ + "proc-macro2", + "quote", + "sha2 0.10.8", + "syn 2.0.119", + "thiserror 1.0.69", +] + [[package]] name = "spl-generic-token" version = "2.0.1" @@ -7604,7 +8180,161 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "233df81b75ab99b42f002b5cdd6e65a7505ffa930624f7096a7580a56765e9cf" dependencies = [ "bytemuck", - "solana-pubkey", + "solana-pubkey 3.0.0", +] + +[[package]] +name = "spl-pod" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4efaa79ec81a614ae4263c92481ba1444d01e5e1efcdaf92b7f48a5b1b3e282d" +dependencies = [ + "borsh", + "bytemuck", + "bytemuck_derive", + "num-derive", + "num-traits", + "num_enum", + "solana-program-error", + "solana-program-option", + "solana-pubkey 3.0.0", + "solana-zero-copy", + "solana-zk-sdk", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-2022-interface" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fcd81188211f4b3c8a5eba7fd534c7142f9dd026123b3472492782cc72f4dc6" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive", + "num-traits", + "num_enum", + "solana-account-info", + "solana-instruction 3.5.1", + "solana-program-error", + "solana-program-option", + "solana-program-pack", + "solana-pubkey 3.0.0", + "solana-sdk-ids", + "solana-zk-sdk", + "spl-pod", + "spl-token-confidential-transfer-proof-extraction", + "spl-token-confidential-transfer-proof-generation", + "spl-token-group-interface", + "spl-token-metadata-interface", + "spl-type-length-value", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-confidential-transfer-proof-extraction" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879a9ebad0d77383d3ea71e7de50503554961ff0f4ef6cbca39ad126e6f6da3a" +dependencies = [ + "bytemuck", + "solana-account-info", + "solana-curve25519", + "solana-instruction 3.5.1", + "solana-instructions-sysvar", + "solana-msg", + "solana-program-error", + "solana-pubkey 3.0.0", + "solana-sdk-ids", + "solana-zk-sdk", + "spl-pod", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-confidential-transfer-proof-generation" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0cd59fce3dc00f563c6fa364d67c3f200d278eae681f4dc250240afcfe044b1" +dependencies = [ + "curve25519-dalek 4.1.3", + "solana-zk-sdk", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-group-interface" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841cbd6f2322d02719be4da1affedbe6495b1048b7b985ec9796032564026e22" +dependencies = [ + "bytemuck", + "num-derive", + "num-traits", + "num_enum", + "solana-address 2.9.0", + "solana-instruction 3.5.1", + "solana-nullable", + "solana-program-error", + "solana-zero-copy", + "spl-discriminator", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-interface" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c564ac05a7c8d8b12e988a37d82695b5ba4db376d07ea98bc4882c81f96c7f3" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive", + "num-traits", + "num_enum", + "solana-instruction 3.5.1", + "solana-program-error", + "solana-program-option", + "solana-program-pack", + "solana-pubkey 3.0.0", + "solana-sdk-ids", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-token-metadata-interface" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c467c7c3bd056f8fe60119e7ec34ddd6f23052c2fa8f1f51999098063b72676" +dependencies = [ + "borsh", + "num-derive", + "num-traits", + "solana-borsh", + "solana-instruction 3.5.1", + "solana-program-error", + "solana-pubkey 3.0.0", + "spl-discriminator", + "spl-pod", + "spl-type-length-value", + "thiserror 2.0.18", +] + +[[package]] +name = "spl-type-length-value" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2504631748c48d2a937414d64a12dcac4588d34bd07d355d648619c189d29435" +dependencies = [ + "bytemuck", + "num-derive", + "num-traits", + "num_enum", + "solana-account-info", + "solana-program-error", + "solana-zero-copy", + "spl-discriminator", + "thiserror 2.0.18", ] [[package]] @@ -7662,7 +8392,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -7690,9 +8420,20 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.114" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b" dependencies = [ "proc-macro2", "quote", @@ -7728,14 +8469,20 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + [[package]] name = "tar" -version = "0.4.44" +version = "0.4.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" +checksum = "3f6221d9a6003c78398e3b239969f352578258df48c8eb051caadae0015bc840" dependencies = [ "filetime", "libc", @@ -7779,15 +8526,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.20.0" +version = "3.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.3.1", + "getrandom 0.4.3", "once_cell", - "rustix 1.0.8", - "windows-sys 0.59.0", + "rustix 1.1.5", + "windows-sys 0.61.1", ] [[package]] @@ -7814,7 +8561,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -7825,7 +8572,7 @@ checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", "test-case-core", ] @@ -7855,7 +8602,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -7866,7 +8613,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -7879,32 +8626,40 @@ dependencies = [ "once_cell", ] +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + [[package]] name = "time" -version = "0.3.37" +version = "0.3.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" +checksum = "cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134" dependencies = [ "deranged", - "itoa", "num-conv", "powerfmt", - "serde", + "serde_core", "time-core", "time-macros", ] [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109" [[package]] name = "time-macros" -version = "0.2.19" +version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" +checksum = "7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85" dependencies = [ "num-conv", "time-core", @@ -7937,43 +8692,30 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.47.1" +version = "1.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" +checksum = "b52fd3255258d26fac7264ab5a76b53c13367136dc011d3d6ad4f8ed070396a3" dependencies = [ - "backtrace", "bytes", - "io-uring", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", - "slab", - "socket2 0.6.0", + "socket2 0.6.5", "tokio-macros", - "windows-sys 0.59.0", + "windows-sys 0.61.1", ] [[package]] name = "tokio-macros" -version = "2.5.0" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", -] - -[[package]] -name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls 0.21.12", - "tokio", + "syn 3.0.9", ] [[package]] @@ -7982,7 +8724,7 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ - "rustls 0.23.32", + "rustls", "tokio", ] @@ -7994,7 +8736,7 @@ checksum = "911a61637386b789af998ee23f50aa30d5fd7edcec8d6d3dedae5e5815205466" dependencies = [ "bincode", "bytes", - "educe", + "educe 0.4.23", "futures-core", "futures-sink", "pin-project", @@ -8015,17 +8757,18 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.20.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857" dependencies = [ "futures-util", "log", - "rustls 0.21.12", + "rustls", + "rustls-pki-types", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls", "tungstenite", - "webpki-roots 0.25.4", + "webpki-roots 0.26.11", ] [[package]] @@ -8052,6 +8795,7 @@ dependencies = [ "bytes", "futures-core", "futures-sink", + "futures-util", "pin-project-lite", "tokio", ] @@ -8083,7 +8827,7 @@ version = "0.22.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" dependencies = [ - "indexmap 2.10.0", + "indexmap 2.14.2", "serde", "serde_spanned", "toml_datetime", @@ -8107,20 +8851,25 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.6" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" dependencies = [ + "async-compression", "bitflags", "bytes", + "futures-core", "futures-util", "http 1.3.1", "http-body", - "iri-string", + "http-body-util", "pin-project-lite", + "tokio", + "tokio-util 0.7.16", "tower", "tower-layer", "tower-service", + "url", ] [[package]] @@ -8155,7 +8904,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -8200,23 +8949,22 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.20.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442" dependencies = [ - "byteorder", "bytes", "data-encoding", - "http 0.2.12", + "http 1.3.1", "httparse", "log", - "rand 0.8.5", - "rustls 0.21.12", + "rand 0.9.2", + "rustls", + "rustls-pki-types", "sha1", - "thiserror 1.0.69", - "url", + "thiserror 2.0.18", "utf-8", - "webpki-roots 0.24.0", + "webpki-roots 0.26.11", ] [[package]] @@ -8298,13 +9046,14 @@ dependencies = [ [[package]] name = "url" -version = "2.5.4" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] @@ -8426,7 +9175,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", "wasm-bindgen-shared", ] @@ -8461,7 +9210,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -8497,33 +9246,27 @@ dependencies = [ [[package]] name = "webpki-root-certs" -version = "0.26.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09aed61f5e8d2c18344b3faa33a4c837855fe56642757754775548fee21386c4" +checksum = "58ec80e73fd8baf57bf0d9615554c75348bda990d6d5bbeab964dd068319fecb" dependencies = [ "rustls-pki-types", ] [[package]] name = "webpki-roots" -version = "0.24.0" +version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "rustls-webpki 0.101.7", + "webpki-roots 1.0.10", ] [[package]] name = "webpki-roots" -version = "0.25.4" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" - -[[package]] -name = "webpki-roots" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" +checksum = "1c1c8e20c8a38fc7d65abfe74eb7280e4aa667e8eec8bc84996d2874810748d9" dependencies = [ "rustls-pki-types", ] @@ -8560,7 +9303,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -8578,7 +9321,20 @@ dependencies = [ "proc-macro2", "quote", "thiserror 2.0.18", - "wincode-derive", + "wincode-derive 0.2.3", +] + +[[package]] +name = "wincode" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063b5affe63fb4e584a33101d8808f01f2348b4f533db6223bf27263a0fdb9e9" +dependencies = [ + "pastey", + "proc-macro2", + "quote", + "thiserror 2.0.18", + "wincode-derive 0.5.1", ] [[package]] @@ -8587,10 +9343,22 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8961eb04054a1b2e026b5628e24da7e001350249a787e1a85aa961f33dc5f286" dependencies = [ - "darling", + "darling 0.21.3", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "wincode-derive" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d582d9fc9d813264407a9e16bfa16846ccf15ef032f9bbcd700741bdc00255" +dependencies = [ + "darling 0.23.0", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -8869,6 +9637,15 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + [[package]] name = "x509-parser" version = "0.14.0" @@ -8918,7 +9695,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", "synstructure 0.13.1", ] @@ -8940,7 +9717,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -8960,7 +9737,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", "synstructure 0.13.1", ] @@ -8981,7 +9758,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] @@ -9003,7 +9780,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.119", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 91d9661c..cb42049a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,9 +30,9 @@ check-cfg = [ [workspace.metadata.toolchains] build = "1.90.0" -format = "nightly-2025-02-16" -lint = "nightly-2025-02-16" -test = "nightly-2025-02-16" +format = "nightly-2025-09-18" +lint = "nightly-2025-09-18" +test = "nightly-2025-09-18" [workspace.metadata.spellcheck] config = "scripts/spellcheck.toml" diff --git a/Makefile b/Makefile index 047d2ffa..491ee9c6 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -RUST_TOOLCHAIN_NIGHTLY = nightly-2025-02-16 +RUST_TOOLCHAIN_NIGHTLY = nightly-2025-09-18 SOLANA_CLI_VERSION = 3.0.0 nightly = +${RUST_TOOLCHAIN_NIGHTLY} @@ -55,8 +55,10 @@ format-rust: build-sbf-%: cargo build-sbf --manifest-path $(call make-path,$*)/Cargo.toml $(ARGS) +# getrandom 0.3 (via solana-frozen-abi under `--all-features`) needs this cfg to +# select its wasm-bindgen backend on wasm32-unknown-unknown. build-wasm-%: - cargo $(nightly) build --target wasm32-unknown-unknown --manifest-path $(call make-path,$*)/Cargo.toml --all-features $(ARGS) + RUSTFLAGS='--cfg getrandom_backend="wasm_js"' cargo $(nightly) build --target wasm32-unknown-unknown --manifest-path $(call make-path,$*)/Cargo.toml --all-features $(ARGS) build-doc-%: RUSTDOCFLAGS="--cfg docsrs -D warnings" cargo $(nightly) doc --all-features --no-deps --manifest-path $(call make-path,$*)/Cargo.toml $(ARGS) diff --git a/interface/Cargo.toml b/interface/Cargo.toml index d0608050..9edc0645 100644 --- a/interface/Cargo.toml +++ b/interface/Cargo.toml @@ -49,6 +49,9 @@ serde_json = { version = "1.0", optional = true } # pull in getrandom 0.2, which needs its `js` backend on wasm32-unknown-unknown. [target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies] getrandom = { version = "0.2", features = ["js"] } +# solana-frozen-abi (`frozen-abi` feature) pulls in getrandom 0.3, which also +# needs `--cfg getrandom_backend="wasm_js"` (set by `make build-wasm-%`). +getrandom_03 = { package = "getrandom", version = "0.3", features = ["wasm_js"] } [dev-dependencies] anyhow = "1" diff --git a/program/Cargo.toml b/program/Cargo.toml index dae1df83..5cb7f1b8 100644 --- a/program/Cargo.toml +++ b/program/Cargo.toml @@ -41,10 +41,10 @@ solana-instruction = { version = "3.0.0", optional = true } getrandom = { version = "0.2", features = ["js"] } [dev-dependencies] -agave-feature-set = "3.0.0" +agave-feature-set = "3.1.0" arbitrary = { version = "1.4.2", features = ["derive"] } assert_matches = "1.5.0" -mollusk-svm = { version = "0.7.1", features = ["all-builtins"] } +mollusk-svm = { version = "0.12.0", features = ["all-builtins"] } proptest = "1.10.0" rand = "0.9.2" solana-account = { version = "3.2.0", features = ["bincode"] } @@ -54,7 +54,8 @@ solana-epoch-schedule = "3.0.0" solana-instruction = "3.0.0" solana-keypair = "3.0.0" solana-logger = "3.0.0" -solana-program-test = "3.0.10" +solana-program-binaries = "3.1.12" +solana-program-test = { version = "3.1.12", features = ["agave-unstable-api"] } solana-sdk-ids = "3.0.0" solana-signature = "3.2.0" solana-signer = "3.0.0" diff --git a/program/tests/program_test.rs b/program/tests/program_test.rs index a8e2ee40..f643220e 100644 --- a/program/tests/program_test.rs +++ b/program/tests/program_test.rs @@ -59,7 +59,21 @@ pub fn program_test_without_features(feature_ids: &[Pubkey]) -> ProgramTest { program_test.deactivate_feature(*feature_id); } - program_test.add_upgradeable_program_to_genesis("spherenet_stake_program", &id()); + // `ProgramTest::start` stores its bundled core BPF stake program at the + // stake program ID after genesis, so `add_upgradeable_program_to_genesis` + // would be overwritten by upstream's stake program. Accounts added with + // `add_account` are stored after that, so register our build that way. + let elf = read_file( + find_file("spherenet_stake_program.so") + .expect("spherenet_stake_program.so not found; run `make build-sbf-program`"), + ); + for (address, account) in solana_program_binaries::bpf_loader_upgradeable_program_accounts( + &id(), + &elf, + &Rent::default(), + ) { + program_test.add_account(address, account); + } program_test } @@ -375,8 +389,10 @@ pub async fn process_instruction( instruction: &Instruction, additional_signers: &T, ) -> ProgramResult { - let mut transaction = - Transaction::new_with_payer(&[instruction.clone()], Some(&context.payer.pubkey())); + let mut transaction = Transaction::new_with_payer( + std::slice::from_ref(instruction), + Some(&context.payer.pubkey()), + ); transaction.partial_sign(&[&context.payer], context.last_blockhash); transaction.sign(additional_signers, context.last_blockhash); From fbf8700a78c658ff1bb90fdec39209795f183840 Mon Sep 17 00:00:00 2001 From: Samuel Vanderwaal Date: Thu, 22 Oct 2026 15:37:40 -0800 Subject: [PATCH 7/8] chore: fix lints from the newer toolchain and solana crates - WritableAccount::create is deprecated in solana-account 3.3: build Account values directly in the tests. - Rent::lamports_per_byte_year is deprecated in solana-rent 3.1 with no 3.x replacement accessor: allow it where it is read or set. - Use u64::abs_diff (clippy::manual_abs_diff) and std::slice::from_ref (clippy::cloned_ref_to_slice_refs). No behavior change. Co-Authored-By: Claude Opus 5.5 --- interface/src/helpers/genesis.rs | 6 +++ interface/src/state.rs | 6 +-- program/tests/interface.rs | 62 ++++++++++++++++-------------- program/tests/stake_instruction.rs | 10 ++++- 4 files changed, 50 insertions(+), 34 deletions(-) diff --git a/interface/src/helpers/genesis.rs b/interface/src/helpers/genesis.rs index 8ec2797f..d1514183 100644 --- a/interface/src/helpers/genesis.rs +++ b/interface/src/helpers/genesis.rs @@ -18,6 +18,9 @@ pub fn add_validator_whitelist_account_to_genesis_config( ) { let data_size = ValidatorWhitelistAccount::SIZE_OF; + // `lamports_per_byte_year` is deprecated in solana-rent 3.1 (renamed in + // v4); there is no replacement accessor in 3.x, so read it directly. + #[allow(deprecated)] let non_zero_rent = match genesis_config.rent.lamports_per_byte_year { 0 => &Rent::default(), _ => &genesis_config.rent, @@ -65,6 +68,9 @@ pub fn add_validator_whitelist_entry_to_genesis_config( } .pack(); + // `lamports_per_byte_year` is deprecated in solana-rent 3.1 (renamed in + // v4); there is no replacement accessor in 3.x, so read it directly. + #[allow(deprecated)] let non_zero_rent = match genesis_config.rent.lamports_per_byte_year { 0 => &Rent::default(), _ => &genesis_config.rent, diff --git a/interface/src/state.rs b/interface/src/state.rs index 6b8e827b..966cb15c 100644 --- a/interface/src/state.rs +++ b/interface/src/state.rs @@ -1514,11 +1514,7 @@ mod tests { }) .sum::(); - let delta = if total_effective_stake > prev_total_effective_stake { - total_effective_stake - prev_total_effective_stake - } else { - prev_total_effective_stake - total_effective_stake - }; + let delta = total_effective_stake.abs_diff(prev_total_effective_stake); // uncomment and add ! for fun with graphing // eprint("{:8} {:8} {:8} ", epoch, total_effective_stake, delta); diff --git a/program/tests/interface.rs b/program/tests/interface.rs index 08a7cb7e..2915de72 100644 --- a/program/tests/interface.rs +++ b/program/tests/interface.rs @@ -136,13 +136,13 @@ fn create_whitelist_entry_account(vote_address: &Pubkey) -> (Pubkey, Account) { let lamports = Rent::default().minimum_balance(::SIZE_OF); - let account = Account::create( + let account = Account { lamports, - data.to_vec(), - spherenet_validator_whitelist_interface::program_solana::id(), - false, - u64::MAX, - ); + data: data.to_vec(), + owner: spherenet_validator_whitelist_interface::program_solana::id(), + executable: false, + rent_epoch: u64::MAX, + }; (entry_pubkey, account) } @@ -202,13 +202,13 @@ impl Env { let vote_rent_exemption = Rent::default().minimum_balance(VoteStateV4::size_of()); let vote_state_versions = VoteStateVersions::new_v4(VoteStateV4::default()); let vote_data = bincode::serialize(&vote_state_versions).unwrap(); - let vote_account = Account::create( - vote_rent_exemption, - vote_data, - vote_program::id(), - false, - u64::MAX, - ); + let vote_account = Account { + lamports: vote_rent_exemption, + data: vote_data, + owner: vote_program::id(), + executable: false, + rent_epoch: u64::MAX, + }; base_accounts.insert(VOTE_ACCOUNT_RED, vote_account.clone()); base_accounts.insert(VOTE_ACCOUNT_BLUE, vote_account); @@ -221,13 +221,13 @@ impl Env { } let vote_state_versions = VoteStateVersions::new_v4(reference_vote_state); let vote_data = bincode::serialize(&vote_state_versions).unwrap(); - let vote_account = Account::create( - vote_rent_exemption, - vote_data, - vote_program::id(), - false, - u64::MAX, - ); + let vote_account = Account { + lamports: vote_rent_exemption, + data: vote_data, + owner: vote_program::id(), + executable: false, + rent_epoch: u64::MAX, + }; base_accounts.insert(VOTE_ACCOUNT_GOLD, vote_account); // create whitelist entries for all vote accounts @@ -242,13 +242,13 @@ impl Env { base_accounts.insert(whitelist_gold, whitelist_gold_account); // create two blank stake accounts - let stake_account = Account::create( - STAKE_RENT_EXEMPTION, - vec![0; StakeStateV2::size_of()], - id(), - false, - u64::MAX, - ); + let stake_account = Account { + lamports: STAKE_RENT_EXEMPTION, + data: vec![0; StakeStateV2::size_of()], + owner: id(), + executable: false, + rent_epoch: u64::MAX, + }; base_accounts.insert(STAKE_ACCOUNT_BLACK, stake_account.clone()); base_accounts.insert(STAKE_ACCOUNT_WHITE, stake_account); @@ -1156,7 +1156,13 @@ fn test_no_use_dealloc() { .get(&stake_address) .unwrap_or_else(|| env.base_accounts.get(&stake_address).unwrap()) .lamports(); - let stake_account = Account::create(lamports, vec![], id(), false, u64::MAX); + let stake_account = Account { + lamports, + data: vec![], + owner: id(), + executable: false, + rent_epoch: u64::MAX, + }; env.override_accounts.insert(stake_address, stake_account); if is_withdraw { diff --git a/program/tests/stake_instruction.rs b/program/tests/stake_instruction.rs index ebd0f4be..c3019178 100644 --- a/program/tests/stake_instruction.rs +++ b/program/tests/stake_instruction.rs @@ -274,7 +274,13 @@ fn get_active_stake_for_tests( } fn create_empty_stake_history_for_test() -> AccountSharedData { - AccountSharedData::create(1, vec![0; 8], solana_sdk_ids::sysvar::id(), false, u64::MAX) + AccountSharedData::from(Account { + lamports: 1, + data: vec![0; 8], + owner: solana_sdk_ids::sysvar::id(), + executable: false, + rent_epoch: u64::MAX, + }) } fn new_stake_history_entry<'a, I>( @@ -1069,6 +1075,7 @@ fn test_stake_checked_instructions() { } #[test] +#[allow(deprecated)] // builds `Rent` with `lamports_per_byte_year` fn test_stake_initialize() { let mollusk = mollusk_bpf(); @@ -2247,6 +2254,7 @@ fn test_redelegate_consider_balance_changes() { } #[test] +#[allow(deprecated)] // builds `Rent` with `lamports_per_byte_year` fn test_split() { let mollusk = mollusk_bpf(); From 0858e9e119ef58328d50fbec2810cfc26a85f70c Mon Sep 17 00:00:00 2001 From: Samuel Vanderwaal Date: Thu, 22 Oct 2026 15:55:44 -0800 Subject: [PATCH 8/8] ci: build programs with Solana CLI 3.1.14 The agave 3.1 test dependencies share the lockfile with the program and move its on-chain dependencies forward (e.g. solana-address 2.9, solana-instruction 4.0), which need rustc 1.89. The Solana 3.0.0 platform-tools (v1.51) can't parse those manifests, so Build Programs failed. Solana 3.1.14 ships platform-tools v1.52 (rustc 1.89) and matches the agave 3.1 test stack. Verified locally with cargo-build-sbf 3.1.x (platform-tools v1.52): make build-sbf-program, make test-program (357 pass), make test-js-clients-js. Co-Authored-By: Claude Opus 5.5 --- Cargo.toml | 2 +- Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index cb42049a..ae555fa3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ edition = "2021" spherenet-stake-interface = { version = "^0", path = "interface" } [workspace.metadata.cli] -solana = "3.0.0" +solana = "3.1.14" [workspace.lints.rust.unexpected_cfgs] level = "warn" diff --git a/Makefile b/Makefile index 491ee9c6..e2ae75d0 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ RUST_TOOLCHAIN_NIGHTLY = nightly-2025-09-18 -SOLANA_CLI_VERSION = 3.0.0 +SOLANA_CLI_VERSION = 3.1.14 nightly = +${RUST_TOOLCHAIN_NIGHTLY}