diff --git a/Cargo.lock b/Cargo.lock index dc69fdc2768e31..3d5bd15acdd46a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6844,14 +6844,18 @@ dependencies = [ "solana-account", "solana-banks-interface", "solana-banks-server", + "solana-clock", "solana-commitment-config", + "solana-hash", "solana-message", - "solana-program", + "solana-program-pack", "solana-pubkey", + "solana-rent", "solana-runtime", "solana-signature", "solana-signer", "solana-system-interface", + "solana-sysvar", "solana-transaction", "solana-transaction-context", "solana-transaction-error", @@ -7345,6 +7349,7 @@ dependencies = [ "serde_json", "solana-account", "solana-account-decoder", + "solana-address-lookup-table-interface", "solana-borsh", "solana-bpf-loader-program", "solana-clap-utils", @@ -7378,7 +7383,6 @@ dependencies = [ "solana-offchain-message", "solana-packet", "solana-presigner", - "solana-program", "solana-program-runtime", "solana-pubkey", "solana-pubsub-client", @@ -7458,12 +7462,12 @@ dependencies = [ "solana-message", "solana-native-token", "solana-packet", - "solana-program", "solana-pubkey", "solana-rpc-client-api", "solana-sdk-ids", "solana-signature", "solana-signer", + "solana-stake-interface", "solana-system-interface", "solana-sysvar", "solana-transaction", @@ -7640,10 +7644,10 @@ dependencies = [ "solana-keypair", "solana-message", "solana-packet", - "solana-program", "solana-pubkey", "solana-sdk-ids", "solana-signer", + "solana-stake-interface", "solana-svm-transaction", "solana-system-interface", "solana-transaction", @@ -9860,7 +9864,6 @@ dependencies = [ "solana-instruction", "solana-keypair", "solana-message", - "solana-program", "solana-pubkey", "solana-rpc-client-api", "solana-signature", @@ -9870,6 +9873,7 @@ dependencies = [ "solana-transaction-error", "solana-transaction-status-client-types", "solana-version", + "solana-vote-interface", "static_assertions", "tokio", ] @@ -10081,7 +10085,6 @@ dependencies = [ "solana-perf", "solana-poh-config", "solana-precompile-error", - "solana-program", "solana-program-runtime", "solana-pubkey", "solana-rayon-threadlimit", @@ -10152,7 +10155,6 @@ dependencies = [ "solana-instruction", "solana-keypair", "solana-message", - "solana-program", "solana-pubkey", "solana-sdk-ids", "solana-signature", @@ -10162,6 +10164,7 @@ dependencies = [ "solana-system-transaction", "solana-transaction", "solana-transaction-error", + "solana-vote-interface", "thiserror 2.0.12", ] @@ -11693,7 +11696,6 @@ dependencies = [ "solana-keypair", "solana-ledger", "solana-logger", - "solana-program", "solana-pubkey", "solana-runtime", "solana-shred-version", @@ -11702,6 +11704,7 @@ dependencies = [ "solana-time-utils", "solana-timings", "solana-vote", + "solana-vote-interface", "solana-vote-program", "tempfile", ] diff --git a/accounts-db/src/blockhash_queue.rs b/accounts-db/src/blockhash_queue.rs index ba6bc2d111a3b6..bc7ff77d4c145a 100644 --- a/accounts-db/src/blockhash_queue.rs +++ b/accounts-db/src/blockhash_queue.rs @@ -144,7 +144,7 @@ impl BlockhashQueue { #[deprecated( since = "2.0.0", - note = "Please use `solana_program::clock::MAX_PROCESSING_AGE`" + note = "Please use `solana_clock::MAX_PROCESSING_AGE`" )] pub fn get_max_age(&self) -> usize { self.max_age diff --git a/banks-client/Cargo.toml b/banks-client/Cargo.toml index cebe3d155d13cf..1108dd4286eb02 100644 --- a/banks-client/Cargo.toml +++ b/banks-client/Cargo.toml @@ -14,10 +14,15 @@ borsh = { workspace = true } futures = { workspace = true } solana-account = { workspace = true } solana-banks-interface = { workspace = true } +solana-clock = { workspace = true } solana-commitment-config = { workspace = true } +solana-hash = { workspace = true } solana-message = { workspace = true } -solana-program = { workspace = true } +solana-program-pack = { workspace = true } +solana-pubkey = { workspace = true } +solana-rent = { workspace = true } solana-signature = { workspace = true } +solana-sysvar = { workspace = true } solana-transaction = { workspace = true } solana-transaction-context = { workspace = true } solana-transaction-error = { workspace = true } diff --git a/banks-client/src/lib.rs b/banks-client/src/lib.rs index 9f5f22dce16acd..6068666f18f9fa 100644 --- a/banks-client/src/lib.rs +++ b/banks-client/src/lib.rs @@ -17,12 +17,15 @@ use { BanksRequest, BanksResponse, BanksTransactionResultWithMetadata, BanksTransactionResultWithSimulation, }, + solana_clock::Slot, solana_commitment_config::CommitmentLevel, + solana_hash::Hash, solana_message::Message, - solana_program::{ - clock::Slot, hash::Hash, program_pack::Pack, pubkey::Pubkey, rent::Rent, sysvar::Sysvar, - }, + solana_program_pack::Pack, + solana_pubkey::Pubkey, + solana_rent::Rent, solana_signature::Signature, + solana_sysvar::Sysvar, solana_transaction::versioned::VersionedTransaction, tarpc::{ client::{self, NewClient, RequestDispatch}, diff --git a/cli-output/Cargo.toml b/cli-output/Cargo.toml index 3cc8cd9bc270eb..17d0d6d23eff66 100644 --- a/cli-output/Cargo.toml +++ b/cli-output/Cargo.toml @@ -33,11 +33,11 @@ solana-hash = { workspace = true } solana-message = { workspace = true } solana-native-token = { workspace = true } solana-packet = { workspace = true } -solana-program = { workspace = true } solana-pubkey = { workspace = true } solana-rpc-client-api = { workspace = true } solana-sdk-ids = { workspace = true } solana-signature = { workspace = true } +solana-stake-interface = { workspace = true } solana-system-interface = { workspace = true } solana-sysvar = { workspace = true } solana-transaction = { workspace = true, features = ["verify"] } diff --git a/cli-output/src/cli_output.rs b/cli-output/src/cli_output.rs index a54baa18aaa521..4aad5021051af7 100644 --- a/cli-output/src/cli_output.rs +++ b/cli-output/src/cli_output.rs @@ -26,13 +26,13 @@ use { solana_epoch_info::EpochInfo, solana_hash::Hash, solana_native_token::lamports_to_sol, - solana_program::stake::state::{Authorized, Lockup}, solana_pubkey::Pubkey, solana_rpc_client_api::response::{ RpcAccountBalance, RpcContactInfo, RpcInflationGovernor, RpcInflationRate, RpcKeyedAccount, RpcSupply, RpcVoteAccountInfo, }, solana_signature::Signature, + solana_stake_interface::state::{Authorized, Lockup}, solana_sysvar::stake_history::StakeHistoryEntry, solana_transaction::{versioned::VersionedTransaction, Transaction}, solana_transaction_error::TransactionError, diff --git a/cli-output/src/display.rs b/cli-output/src/display.rs index f0d64c3087dcab..5613746c0fc1b4 100644 --- a/cli-output/src/display.rs +++ b/cli-output/src/display.rs @@ -11,9 +11,9 @@ use { solana_hash::Hash, solana_message::{compiled_instruction::CompiledInstruction, v0::MessageAddressTableLookup}, solana_native_token::lamports_to_sol, - solana_program::stake, solana_pubkey::Pubkey, solana_signature::Signature, + solana_stake_interface as stake, solana_transaction::versioned::{TransactionVersion, VersionedTransaction}, solana_transaction_error::TransactionError, solana_transaction_status::{ diff --git a/cli/Cargo.toml b/cli/Cargo.toml index fb4b15fb7c1d26..6daf5d8dc42f64 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -31,6 +31,7 @@ serde_derive = { workspace = true } serde_json = { workspace = true } solana-account = "=2.2.1" solana-account-decoder = { workspace = true } +solana-address-lookup-table-interface = { workspace = true } solana-borsh = "=2.2.1" solana-bpf-loader-program = { workspace = true } solana-clap-utils = { workspace = true } @@ -61,7 +62,6 @@ solana-native-token = "=2.2.2" solana-nonce = "=2.2.1" solana-offchain-message = { version = "=2.2.1", features = ["verify"] } solana-packet = "=2.2.1" -solana-program = { version = "=2.2.1", default-features = false } solana-program-runtime = { workspace = true } solana-pubkey = { version = "=2.4.0", default-features = false } solana-pubsub-client = { workspace = true } diff --git a/cli/src/address_lookup_table.rs b/cli/src/address_lookup_table.rs index 7dc861d13636f1..cb5f1a45b4c0aa 100644 --- a/cli/src/address_lookup_table.rs +++ b/cli/src/address_lookup_table.rs @@ -2,19 +2,19 @@ use { crate::cli::{CliCommand, CliCommandInfo, CliConfig, CliError, ProcessResult}, clap::{App, AppSettings, Arg, ArgMatches, SubCommand}, solana_account::from_account, - solana_clap_utils::{self, input_parsers::*, input_validators::*, keypair::*}, - solana_cli_output::{CliAddressLookupTable, CliAddressLookupTableCreated, CliSignature}, - solana_clock::Clock, - solana_commitment_config::CommitmentConfig, - solana_message::Message, - solana_program::address_lookup_table::{ - self, + solana_address_lookup_table_interface::{ + self as address_lookup_table, instruction::{ close_lookup_table, create_lookup_table, deactivate_lookup_table, extend_lookup_table, freeze_lookup_table, }, state::AddressLookupTable, }, + solana_clap_utils::{self, input_parsers::*, input_validators::*, keypair::*}, + solana_cli_output::{CliAddressLookupTable, CliAddressLookupTableCreated, CliSignature}, + solana_clock::Clock, + solana_commitment_config::CommitmentConfig, + solana_message::Message, solana_pubkey::Pubkey, solana_remote_wallet::remote_wallet::RemoteWalletManager, solana_rpc_client::rpc_client::RpcClient, diff --git a/cli/src/cli.rs b/cli/src/cli.rs index a7d5d5cbf8074f..5a8791a668db84 100644 --- a/cli/src/cli.rs +++ b/cli/src/cli.rs @@ -20,7 +20,6 @@ use { solana_instruction::error::InstructionError, solana_keypair::{read_keypair_file, Keypair}, solana_offchain_message::OffchainMessage, - solana_program::stake::{instruction::LockupArgs, state::Lockup}, solana_pubkey::Pubkey, solana_remote_wallet::remote_wallet::RemoteWalletManager, solana_rpc_client::rpc_client::RpcClient, @@ -31,6 +30,7 @@ use { solana_rpc_client_nonce_utils::blockhash_query::BlockhashQuery, solana_signature::Signature, solana_signer::{Signer, SignerError}, + solana_stake_interface::{instruction::LockupArgs, state::Lockup}, solana_tps_client::{utils::create_connection_cache, TpsClient}, solana_tpu_client::tpu_client::{ TpuClient, TpuClientConfig, DEFAULT_TPU_CONNECTION_POOL_SIZE, DEFAULT_TPU_ENABLE_UDP, diff --git a/cli/src/cluster_query.rs b/cli/src/cluster_query.rs index c0275d4b05d3d7..b74868ce8867c1 100644 --- a/cli/src/cluster_query.rs +++ b/cli/src/cluster_query.rs @@ -33,7 +33,6 @@ use { solana_message::Message, solana_native_token::lamports_to_sol, solana_nonce::state::State as NonceState, - solana_program::stake::{self, state::StakeStateV2}, solana_pubkey::Pubkey, solana_pubsub_client::pubsub_client::PubsubClient, solana_remote_wallet::remote_wallet::RemoteWalletManager, @@ -53,6 +52,7 @@ use { solana_sdk_ids::sysvar::{self, stake_history}, solana_signature::Signature, solana_slot_history::{self as slot_history, SlotHistory}, + solana_stake_interface::{self as stake, state::StakeStateV2}, solana_system_interface::{instruction as system_instruction, MAX_PERMITTED_DATA_LENGTH}, solana_tps_client::TpsClient, solana_transaction::Transaction, diff --git a/cli/src/stake.rs b/cli/src/stake.rs index bc5300f6345e55..a9667033ca7b7b 100644 --- a/cli/src/stake.rs +++ b/cli/src/stake.rs @@ -37,12 +37,6 @@ use { solana_epoch_schedule::EpochSchedule, solana_message::Message, solana_native_token::Sol, - solana_program::stake::{ - self, - instruction::{self as stake_instruction, LockupArgs, StakeError}, - state::{Authorized, Lockup, Meta, StakeActivationStatus, StakeAuthorize, StakeStateV2}, - tools::{acceptable_reference_epoch_credits, eligible_for_deactivate_delinquent}, - }, solana_pubkey::Pubkey, solana_remote_wallet::remote_wallet::RemoteWalletManager, solana_rpc_client::rpc_client::RpcClient, @@ -56,6 +50,13 @@ use { system_program, sysvar::{clock, stake_history}, }, + solana_stake_interface::{ + self as stake, + error::StakeError, + instruction::{self as stake_instruction, LockupArgs}, + state::{Authorized, Lockup, Meta, StakeActivationStatus, StakeAuthorize, StakeStateV2}, + tools::{acceptable_reference_epoch_credits, eligible_for_deactivate_delinquent}, + }, solana_system_interface::{error::SystemError, instruction as system_instruction}, solana_sysvar::stake_history::StakeHistory, solana_transaction::Transaction, diff --git a/compute-budget-instruction/Cargo.toml b/compute-budget-instruction/Cargo.toml index 779418adb2ec0e..37a9d2ff426c0e 100644 --- a/compute-budget-instruction/Cargo.toml +++ b/compute-budget-instruction/Cargo.toml @@ -36,8 +36,8 @@ solana-builtins-default-costs = { workspace = true, features = ["dev-context-onl solana-hash = { workspace = true } solana-keypair = { workspace = true } solana-message = { workspace = true } -solana-program = { workspace = true } solana-signer = { workspace = true } +solana-stake-interface = { workspace = true } solana-system-interface = { workspace = true } solana-transaction = { workspace = true, features = ["blake3"] } diff --git a/compute-budget-instruction/src/compute_budget_instruction_details.rs b/compute-budget-instruction/src/compute_budget_instruction_details.rs index 23a0b4bd234759..c25847bd238f8a 100644 --- a/compute-budget-instruction/src/compute_budget_instruction_details.rs +++ b/compute-budget-instruction/src/compute_budget_instruction_details.rs @@ -516,7 +516,7 @@ mod test { fn test_builtin_program_migration() { let tx = build_sanitized_transaction(&[ Instruction::new_with_bincode(Pubkey::new_unique(), &(), vec![]), - solana_program::stake::instruction::delegate_stake( + solana_stake_interface::instruction::delegate_stake( &Pubkey::new_unique(), &Pubkey::new_unique(), &Pubkey::new_unique(), diff --git a/program-test/Cargo.toml b/program-test/Cargo.toml index f7d25c07eb07c5..2ae9c86fab9663 100644 --- a/program-test/Cargo.toml +++ b/program-test/Cargo.toml @@ -27,7 +27,6 @@ solana-banks-server = { workspace = true } solana-clock = { workspace = true } solana-commitment-config = { workspace = true } solana-compute-budget = { workspace = true } -solana-cpi = { workspace = true } solana-epoch-rewards = { workspace = true } solana-epoch-schedule = { workspace = true } solana-fee-calculator = { workspace = true } @@ -67,6 +66,7 @@ thiserror = { workspace = true } tokio = { workspace = true, features = ["full"] } [dev-dependencies] +solana-cpi = { workspace = true } solana-program = { workspace = true } solana-stake-program = { workspace = true } test-case = { workspace = true } diff --git a/program-test/tests/cpi.rs b/program-test/tests/cpi.rs index 68caf9003f82d7..36feba6352a9b4 100644 --- a/program-test/tests/cpi.rs +++ b/program-test/tests/cpi.rs @@ -1,10 +1,9 @@ use { solana_account_info::{next_account_info, AccountInfo}, - solana_cpi::invoke, solana_instruction::{AccountMeta, Instruction}, solana_keypair::Keypair, solana_msg::msg, - solana_program::instruction::get_stack_height, + solana_program::{instruction::get_stack_height, program::invoke}, solana_program_entrypoint::{ProgramResult, MAX_PERMITTED_DATA_INCREASE}, solana_program_test::{processor, ProgramTest}, solana_pubkey::Pubkey, diff --git a/program-test/tests/realloc.rs b/program-test/tests/realloc.rs index 6fc6fffa3cd520..6b26c4b1fab73c 100644 --- a/program-test/tests/realloc.rs +++ b/program-test/tests/realloc.rs @@ -1,8 +1,8 @@ use { solana_account_info::{next_account_info, AccountInfo}, - solana_cpi::invoke, solana_instruction::{AccountMeta, Instruction}, solana_keypair::Keypair, + solana_program::program::invoke, solana_program_error::ProgramResult, solana_program_test::{processor, ProgramTest}, solana_pubkey::Pubkey, diff --git a/programs/bpf_loader/benches/bpf_loader_upgradeable.rs b/programs/bpf_loader/benches/bpf_loader_upgradeable.rs index efd8bada6904f9..23ee2f26ade4f5 100644 --- a/programs/bpf_loader/benches/bpf_loader_upgradeable.rs +++ b/programs/bpf_loader/benches/bpf_loader_upgradeable.rs @@ -3,12 +3,12 @@ use { solana_account::{state_traits::StateMut, AccountSharedData}, solana_bpf_loader_program::Entrypoint, solana_instruction::AccountMeta, - solana_program::{ - bpf_loader_upgradeable::{self, UpgradeableLoaderState}, - loader_upgradeable_instruction::UpgradeableLoaderInstruction, + solana_loader_v3_interface::{ + instruction::UpgradeableLoaderInstruction, state::UpgradeableLoaderState, }, solana_program_runtime::invoke_context::mock_process_instruction, solana_pubkey::Pubkey, + solana_sdk_ids::bpf_loader_upgradeable, }; #[derive(Default)] diff --git a/programs/bpf_loader/src/syscalls/cpi.rs b/programs/bpf_loader/src/syscalls/cpi.rs index 6d0d3f3cd461c7..ce92e6fa991e85 100644 --- a/programs/bpf_loader/src/syscalls/cpi.rs +++ b/programs/bpf_loader/src/syscalls/cpi.rs @@ -9,25 +9,10 @@ use { solana_transaction_context::BorrowedAccount, std::{mem, ptr}, }; -// consts inlined to avoid solana-program dep + const MAX_CPI_INSTRUCTION_DATA_LEN: u64 = 10 * 1024; -#[cfg(test)] -static_assertions::const_assert_eq!( - MAX_CPI_INSTRUCTION_DATA_LEN, - solana_program::syscalls::MAX_CPI_INSTRUCTION_DATA_LEN -); const MAX_CPI_INSTRUCTION_ACCOUNTS: u8 = u8::MAX; -#[cfg(test)] -static_assertions::const_assert_eq!( - MAX_CPI_INSTRUCTION_ACCOUNTS, - solana_program::syscalls::MAX_CPI_INSTRUCTION_ACCOUNTS -); const MAX_CPI_ACCOUNT_INFOS: usize = 128; -#[cfg(test)] -static_assertions::const_assert_eq!( - MAX_CPI_ACCOUNT_INFOS, - solana_program::syscalls::MAX_CPI_ACCOUNT_INFOS -); fn check_account_info_pointer( invoke_context: &InvokeContext, diff --git a/programs/bpf_loader/src/syscalls/mod.rs b/programs/bpf_loader/src/syscalls/mod.rs index 16583e5e75a2eb..b5c8bffb64345b 100644 --- a/programs/bpf_loader/src/syscalls/mod.rs +++ b/programs/bpf_loader/src/syscalls/mod.rs @@ -4533,7 +4533,7 @@ mod tests { #[test] fn test_create_program_address() { - // These tests duplicate the direct tests in solana_program::pubkey + // These tests duplicate the direct tests in solana_pubkey prepare_mockup!(invoke_context, program_id, bpf_loader::id()); let address = bpf_loader_upgradeable::id(); diff --git a/programs/sbf/Cargo.lock b/programs/sbf/Cargo.lock index 6bdadadf65a2cc..2dc79fb9528e00 100644 --- a/programs/sbf/Cargo.lock +++ b/programs/sbf/Cargo.lock @@ -5494,10 +5494,15 @@ dependencies = [ "futures 0.3.31", "solana-account", "solana-banks-interface", + "solana-clock", "solana-commitment-config", + "solana-hash", "solana-message", - "solana-program", + "solana-program-pack", + "solana-pubkey", + "solana-rent", "solana-signature", + "solana-sysvar", "solana-transaction", "solana-transaction-context", "solana-transaction-error", @@ -5791,11 +5796,11 @@ dependencies = [ "solana-message", "solana-native-token", "solana-packet", - "solana-program", "solana-pubkey", "solana-rpc-client-api", "solana-sdk-ids", "solana-signature", + "solana-stake-interface", "solana-system-interface", "solana-sysvar", "solana-transaction", @@ -7315,7 +7320,6 @@ dependencies = [ "solana-clock", "solana-commitment-config", "solana-compute-budget", - "solana-cpi", "solana-epoch-rewards", "solana-epoch-schedule", "solana-fee-calculator", @@ -7641,6 +7645,7 @@ dependencies = [ "solana-transaction-error", "solana-transaction-status-client-types", "solana-version", + "solana-vote-interface", "tokio", ] @@ -7789,7 +7794,6 @@ dependencies = [ "solana-perf", "solana-poh-config", "solana-precompile-error", - "solana-program", "solana-program-runtime", "solana-pubkey", "solana-rayon-threadlimit", @@ -7939,36 +7943,44 @@ dependencies = [ name = "solana-sbf-rust-128bit" version = "2.3.0" dependencies = [ - "solana-program", + "solana-program-entrypoint", "solana-sbf-rust-128bit-dep", ] [[package]] name = "solana-sbf-rust-128bit-dep" version = "2.3.0" -dependencies = [ - "solana-program", -] [[package]] name = "solana-sbf-rust-account-mem" version = "2.3.0" dependencies = [ - "solana-program", + "solana-account-info", + "solana-program-entrypoint", + "solana-program-error", + "solana-program-memory", + "solana-pubkey", ] [[package]] name = "solana-sbf-rust-account-mem-deprecated" version = "2.3.0" dependencies = [ + "solana-account-info", "solana-program", + "solana-program-error", + "solana-program-memory", + "solana-pubkey", ] [[package]] name = "solana-sbf-rust-alloc" version = "2.3.0" dependencies = [ + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-sysvar", ] [[package]] @@ -7977,7 +7989,8 @@ version = "2.3.0" dependencies = [ "array-bytes", "solana-bn254", - "solana-program", + "solana-msg", + "solana-program-entrypoint", ] [[package]] @@ -7986,7 +7999,8 @@ version = "2.3.0" dependencies = [ "array-bytes", "solana-bn254", - "solana-program", + "solana-msg", + "solana-program-entrypoint", ] [[package]] @@ -7997,7 +8011,9 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "solana-program", + "solana-big-mod-exp", + "solana-msg", + "solana-program-entrypoint", ] [[package]] @@ -8005,21 +8021,34 @@ name = "solana-sbf-rust-call-args" version = "2.3.0" dependencies = [ "borsh 1.5.7", + "solana-account-info", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] name = "solana-sbf-rust-call-depth" version = "2.3.0" dependencies = [ + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-sysvar", ] [[package]] name = "solana-sbf-rust-caller-access" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-instruction", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] @@ -8027,14 +8056,19 @@ name = "solana-sbf-rust-curve25519" version = "2.3.0" dependencies = [ "solana-curve25519", - "solana-program", + "solana-msg", + "solana-program-entrypoint", ] [[package]] name = "solana-sbf-rust-custom-heap" version = "2.3.0" dependencies = [ - "solana-program", + "solana-account-info", + "solana-msg", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] @@ -8042,30 +8076,46 @@ name = "solana-sbf-rust-dep-crate" version = "2.3.0" dependencies = [ "byteorder 1.5.0", - "solana-program", + "solana-program-entrypoint", ] [[package]] name = "solana-sbf-rust-deprecated-loader" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-instruction", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", "solana-sbf-rust-invoke-dep", "solana-sbf-rust-realloc-dep", + "solana-sdk-ids", ] [[package]] name = "solana-sbf-rust-divide-by-zero" version = "2.3.0" dependencies = [ - "solana-program", + "solana-account-info", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] name = "solana-sbf-rust-dup-accounts" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-instruction", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] @@ -8074,8 +8124,12 @@ version = "2.3.0" dependencies = [ "num-derive", "num-traits", + "solana-account-info", "solana-decode-error", - "solana-program", + "solana-msg", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", "thiserror 1.0.69", ] @@ -8083,59 +8137,105 @@ dependencies = [ name = "solana-sbf-rust-external-spend" version = "2.3.0" dependencies = [ - "solana-program", + "solana-account-info", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] name = "solana-sbf-rust-get-minimum-delegation" version = "2.3.0" dependencies = [ - "solana-program", + "solana-account-info", + "solana-msg", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", + "solana-stake-interface", ] [[package]] name = "solana-sbf-rust-inner_instruction_alignment_check" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-instruction", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] name = "solana-sbf-rust-instruction-introspection" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-instruction", + "solana-instructions-sysvar", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", + "solana-sysvar", ] [[package]] name = "solana-sbf-rust-invoke" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-instruction", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-program-memory", + "solana-pubkey", "solana-sbf-rust-invoke-dep", "solana-sbf-rust-invoked-dep", "solana-sbf-rust-realloc-dep", + "solana-sdk-ids", + "solana-system-interface", ] [[package]] name = "solana-sbf-rust-invoke-and-error" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-instruction", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] name = "solana-sbf-rust-invoke-and-ok" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-instruction", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] name = "solana-sbf-rust-invoke-and-return" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-instruction", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] @@ -8146,15 +8246,24 @@ version = "2.3.0" name = "solana-sbf-rust-invoked" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", "solana-sbf-rust-invoked-dep", + "solana-sdk-ids", + "solana-system-interface", + "solana-sysvar", ] [[package]] name = "solana-sbf-rust-invoked-dep" version = "2.3.0" dependencies = [ - "solana-program", + "solana-instruction", + "solana-pubkey", ] [[package]] @@ -8162,20 +8271,28 @@ name = "solana-sbf-rust-iter" version = "2.3.0" dependencies = [ "solana-program", + "solana-program-entrypoint", ] [[package]] name = "solana-sbf-rust-log-data" version = "2.3.0" dependencies = [ + "solana-account-info", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", + "solana-sysvar", ] [[package]] name = "solana-sbf-rust-many-args" version = "2.3.0" dependencies = [ + "solana-msg", "solana-program", + "solana-program-entrypoint", "solana-sbf-rust-many-args-dep", ] @@ -8183,6 +8300,7 @@ dependencies = [ name = "solana-sbf-rust-many-args-dep" version = "2.3.0" dependencies = [ + "solana-msg", "solana-program", ] @@ -8190,22 +8308,23 @@ dependencies = [ name = "solana-sbf-rust-mem" version = "2.3.0" dependencies = [ - "solana-program", + "solana-account-info", + "solana-program-entrypoint", + "solana-program-error", + "solana-program-memory", + "solana-pubkey", "solana-sbf-rust-mem-dep", ] [[package]] name = "solana-sbf-rust-mem-dep" version = "2.3.0" -dependencies = [ - "solana-program", -] [[package]] name = "solana-sbf-rust-membuiltins" version = "2.3.0" dependencies = [ - "solana-program", + "solana-program-entrypoint", "solana-sbf-rust-mem-dep", ] @@ -8213,14 +8332,21 @@ dependencies = [ name = "solana-sbf-rust-noop" version = "2.3.0" dependencies = [ - "solana-program", + "solana-account-info", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] name = "solana-sbf-rust-panic" version = "2.3.0" dependencies = [ - "solana-program", + "solana-account-info", + "solana-msg", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] @@ -8228,23 +8354,22 @@ name = "solana-sbf-rust-param-passing" version = "2.3.0" dependencies = [ "solana-program", + "solana-program-entrypoint", "solana-sbf-rust-param-passing-dep", ] [[package]] name = "solana-sbf-rust-param-passing-dep" version = "2.3.0" -dependencies = [ - "solana-program", -] [[package]] name = "solana-sbf-rust-poseidon" version = "2.3.0" dependencies = [ "array-bytes", + "solana-msg", "solana-poseidon", - "solana-program", + "solana-program-entrypoint", ] [[package]] @@ -8253,31 +8378,49 @@ version = "2.3.0" dependencies = [ "getrandom 0.2.10", "rand 0.8.5", - "solana-program", + "solana-account-info", + "solana-msg", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] name = "solana-sbf-rust-realloc" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", "solana-sbf-rust-realloc-dep", + "solana-system-interface", ] [[package]] name = "solana-sbf-rust-realloc-dep" version = "2.3.0" dependencies = [ - "solana-program", + "solana-instruction", + "solana-pubkey", ] [[package]] name = "solana-sbf-rust-realloc-invoke" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-instruction", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", "solana-sbf-rust-realloc-dep", "solana-sbf-rust-realloc-invoke-dep", + "solana-system-interface", ] [[package]] @@ -8288,28 +8431,51 @@ version = "2.3.0" name = "solana-sbf-rust-remaining-compute-units" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] name = "solana-sbf-rust-ro-account_modify" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-instruction", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] name = "solana-sbf-rust-ro-modify" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", + "solana-system-interface", ] [[package]] name = "solana-sbf-rust-sanity" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", + "solana-sdk-ids", ] [[package]] @@ -8317,7 +8483,9 @@ name = "solana-sbf-rust-secp256k1-recover" version = "2.3.0" dependencies = [ "libsecp256k1 0.7.0", - "solana-program", + "solana-keccak-hasher", + "solana-msg", + "solana-program-entrypoint", "solana-secp256k1-recover", ] @@ -8326,42 +8494,73 @@ name = "solana-sbf-rust-sha" version = "2.3.0" dependencies = [ "blake3", - "solana-program", + "solana-blake3-hasher", + "solana-keccak-hasher", + "solana-msg", + "solana-program-entrypoint", + "solana-sha256-hasher", ] [[package]] name = "solana-sbf-rust-sibling-inner-instructions" version = "2.3.0" dependencies = [ - "solana-program", + "solana-account-info", + "solana-instruction", + "solana-msg", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] name = "solana-sbf-rust-sibling-instructions" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-instruction", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] name = "solana-sbf-rust-simulation" version = "2.3.0" dependencies = [ - "solana-program", + "solana-account-info", + "solana-clock", + "solana-msg", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", + "solana-sysvar", ] [[package]] name = "solana-sbf-rust-spoof1" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-instruction", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", + "solana-system-interface", ] [[package]] name = "solana-sbf-rust-spoof1-system" version = "2.3.0" dependencies = [ - "solana-program", + "solana-account-info", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] @@ -8369,28 +8568,52 @@ name = "solana-sbf-rust-sysvar" version = "2.3.0" dependencies = [ "bincode", - "solana-program", + "solana-account-info", + "solana-define-syscall", + "solana-instruction", + "solana-instructions-sysvar", + "solana-msg", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", + "solana-sdk-ids", + "solana-sysvar", ] [[package]] name = "solana-sbf-rust-upgradeable" version = "2.3.0" dependencies = [ - "solana-program", + "solana-account-info", + "solana-msg", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", + "solana-sysvar", ] [[package]] name = "solana-sbf-rust-upgraded" version = "2.3.0" dependencies = [ - "solana-program", + "solana-account-info", + "solana-msg", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", + "solana-sysvar", ] [[package]] name = "solana-sbf-syscall-get-epoch-stake" version = "2.3.0" dependencies = [ + "solana-account-info", + "solana-msg", "solana-program", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] @@ -9519,13 +9742,13 @@ dependencies = [ "solana-gossip", "solana-hash", "solana-ledger", - "solana-program", "solana-pubkey", "solana-runtime", "solana-shred-version", "solana-time-utils", "solana-timings", "solana-vote", + "solana-vote-interface", "solana-vote-program", ] diff --git a/programs/sbf/Cargo.toml b/programs/sbf/Cargo.toml index f354918d3ffc54..5b9889b24c015f 100644 --- a/programs/sbf/Cargo.toml +++ b/programs/sbf/Cargo.toml @@ -37,6 +37,7 @@ serde = "1.0.112" serde_derive = "1.0.112" # must match the serde version, see https://github.com/serde-rs/serde/issues/2584#issuecomment-1685252251 serde_json = "1.0.56" solana-account-decoder = { path = "../../account-decoder", version = "=2.3.0" } +solana-account-info = "=2.2.1" solana-accounts-db = { path = "../../accounts-db", version = "=2.3.0" } solana-bn254 = "=2.2.2" solana-bpf-loader-program = { path = "../bpf_loader", version = "=2.3.0" } @@ -45,14 +46,21 @@ solana-compute-budget = { path = "../../compute-budget", version = "=2.3.0" } solana-compute-budget-instruction = { path = "../../compute-budget-instruction", version = "=2.3.0" } solana-curve25519 = { path = "../../curves/curve25519", version = "=2.3.0" } solana-decode-error = "=2.2.1" +solana-define-syscall = "=2.3.0" solana-fee = { path = "../../fee", version = "=2.3.0" } +solana-instruction = "=2.3.0" solana-ledger = { path = "../../ledger", version = "=2.3.0" } solana-log-collector = { path = "../../log-collector", version = "=2.3.0" } solana-logger = "=2.3.1" solana-measure = { path = "../../measure", version = "=2.3.0" } +solana-msg = "=2.2.1" solana-poseidon = { path = "../../poseidon/", version = "=2.3.0" } solana-program = "=2.2.1" +solana-program-entrypoint = "=2.2.1" +solana-program-error = "=2.2.1" +solana-program-memory = "=2.2.1" solana-program-runtime = { path = "../../program-runtime", version = "=2.3.0" } +solana-pubkey = { version = "=2.4.0", default-features = false } solana-runtime = { path = "../../runtime", version = "=2.3.0" } solana-runtime-transaction = { path = "../../runtime-transaction", version = "=2.3.0" } solana-sbf-rust-128bit-dep = { path = "rust/128bit_dep", version = "=2.3.0" } @@ -69,6 +77,7 @@ solana-svm = { path = "../../svm", version = "=2.3.0" } solana-svm-callback = { path = "../../svm-callback", version = "=2.3.0" } solana-svm-feature-set = { path = "../../svm-feature-set", version = "=2.3.0" } solana-svm-transaction = { path = "../../svm-transaction", version = "=2.3.0" } +solana-sysvar = "=2.2.2" solana-timings = { path = "../../timings", version = "=2.3.0" } solana-transaction-context = { path = "../../transaction-context", version = "=2.3.0" } solana-transaction-status = { path = "../../transaction-status", version = "=2.3.0" } @@ -78,6 +87,16 @@ solana-vote-program = { path = "../../programs/vote", version = "=2.3.0" } agave-validator = { path = "../../validator", version = "=2.3.0" } solana-zk-sdk = "=2.2.1" thiserror = "1.0" +solana-stake-interface = { version = "=1.2.1", features = ["bincode"] } +solana-clock = { version = "=2.2.2", features = ["serde", "sysvar"] } +solana-system-interface = { version = "=1.0", features = ["bincode"] } +solana-big-mod-exp = "=2.2.1" +solana-blake3-hasher = { version = "=2.2.1", features = ["blake3"] } +solana-hash = { version = "=2.3.0", features = ["bytemuck", "serde", "std"] } +solana-keccak-hasher = { version = "=2.2.1", features = ["sha3"] } +solana-sha256-hasher = { version = "=2.2.1", features = ["sha2"] } +solana-instructions-sysvar = "=2.2.2" +solana-sdk-ids = "=2.2.1" [package] name = "solana-sbf-programs" diff --git a/programs/sbf/rust/128bit/Cargo.toml b/programs/sbf/rust/128bit/Cargo.toml index c9b401344ae4d1..556899d5287a24 100644 --- a/programs/sbf/rust/128bit/Cargo.toml +++ b/programs/sbf/rust/128bit/Cargo.toml @@ -9,7 +9,7 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } solana-sbf-rust-128bit-dep = { workspace = true } [lib] diff --git a/programs/sbf/rust/128bit/src/lib.rs b/programs/sbf/rust/128bit/src/lib.rs index 55095c73977acc..a77e8e5e2e8a5b 100644 --- a/programs/sbf/rust/128bit/src/lib.rs +++ b/programs/sbf/rust/128bit/src/lib.rs @@ -2,8 +2,7 @@ #![allow(clippy::arithmetic_side_effects)] -extern crate solana_program; -use solana_program::{custom_heap_default, custom_panic_default, entrypoint::SUCCESS}; +use solana_program_entrypoint::{custom_heap_default, custom_panic_default, SUCCESS}; #[no_mangle] pub extern "C" fn entrypoint(_input: *mut u8) -> u64 { diff --git a/programs/sbf/rust/128bit_dep/Cargo.toml b/programs/sbf/rust/128bit_dep/Cargo.toml index 9fe86cf605f588..6015395f67b436 100644 --- a/programs/sbf/rust/128bit_dep/Cargo.toml +++ b/programs/sbf/rust/128bit_dep/Cargo.toml @@ -9,4 +9,3 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } diff --git a/programs/sbf/rust/128bit_dep/src/lib.rs b/programs/sbf/rust/128bit_dep/src/lib.rs index c78c13a357358a..ccb6942a858459 100644 --- a/programs/sbf/rust/128bit_dep/src/lib.rs +++ b/programs/sbf/rust/128bit_dep/src/lib.rs @@ -2,8 +2,6 @@ #![allow(clippy::arithmetic_side_effects)] -extern crate solana_program; - pub fn uadd(x: u128, y: u128) -> u128 { x + y } diff --git a/programs/sbf/rust/account_mem/Cargo.toml b/programs/sbf/rust/account_mem/Cargo.toml index 39f72a5ff71d66..084d392eb8e422 100644 --- a/programs/sbf/rust/account_mem/Cargo.toml +++ b/programs/sbf/rust/account_mem/Cargo.toml @@ -9,7 +9,11 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-account-info = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-program-memory = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/account_mem/src/lib.rs b/programs/sbf/rust/account_mem/src/lib.rs index c1ec61b29cb006..7d20446b9f0101 100644 --- a/programs/sbf/rust/account_mem/src/lib.rs +++ b/programs/sbf/rust/account_mem/src/lib.rs @@ -1,14 +1,13 @@ //! Test mem functions -use solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - program_error::ProgramError, - program_memory::{sol_memcmp, sol_memcpy, sol_memmove, sol_memset}, - pubkey::Pubkey, +use { + solana_account_info::AccountInfo, + solana_program_error::{ProgramError, ProgramResult}, + solana_program_memory::{sol_memcmp, sol_memcpy, sol_memmove, sol_memset}, + solana_pubkey::Pubkey, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); pub fn process_instruction( _program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/account_mem_deprecated/Cargo.toml b/programs/sbf/rust/account_mem_deprecated/Cargo.toml index 4ca338cde26e2f..5a9c5569cf59e9 100644 --- a/programs/sbf/rust/account_mem_deprecated/Cargo.toml +++ b/programs/sbf/rust/account_mem_deprecated/Cargo.toml @@ -9,7 +9,11 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } solana-program = { workspace = true } +solana-program-error = { workspace = true } +solana-program-memory = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/account_mem_deprecated/src/lib.rs b/programs/sbf/rust/account_mem_deprecated/src/lib.rs index efc7ef539a4f71..4a95e6b8202618 100644 --- a/programs/sbf/rust/account_mem_deprecated/src/lib.rs +++ b/programs/sbf/rust/account_mem_deprecated/src/lib.rs @@ -1,11 +1,10 @@ //! Test mem functions -use solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - program_error::ProgramError, - program_memory::{sol_memcmp, sol_memcpy, sol_memmove, sol_memset}, - pubkey::Pubkey, +use { + solana_account_info::AccountInfo, + solana_program_error::{ProgramError, ProgramResult}, + solana_program_memory::{sol_memcmp, sol_memcpy, sol_memmove, sol_memset}, + solana_pubkey::Pubkey, }; solana_program::entrypoint_deprecated!(process_instruction); diff --git a/programs/sbf/rust/alloc/Cargo.toml b/programs/sbf/rust/alloc/Cargo.toml index cddf373c236cea..1d7bb51d3a41ae 100644 --- a/programs/sbf/rust/alloc/Cargo.toml +++ b/programs/sbf/rust/alloc/Cargo.toml @@ -9,7 +9,10 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-sysvar = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/alloc/src/lib.rs b/programs/sbf/rust/alloc/src/lib.rs index 2ee3e72f8b5f62..5993eeedf77f98 100644 --- a/programs/sbf/rust/alloc/src/lib.rs +++ b/programs/sbf/rust/alloc/src/lib.rs @@ -5,9 +5,9 @@ #[macro_use] extern crate alloc; use { - solana_program::{ - custom_heap_default, custom_panic_default, entrypoint::SUCCESS, log::sol_log_64, msg, - }, + solana_msg::msg, + solana_program::log::sol_log_64, + solana_program_entrypoint::{custom_heap_default, custom_panic_default, SUCCESS}, std::{alloc::Layout, mem}, }; diff --git a/programs/sbf/rust/alt_bn128/Cargo.toml b/programs/sbf/rust/alt_bn128/Cargo.toml index f283ce759342bf..45d415ce0af37b 100644 --- a/programs/sbf/rust/alt_bn128/Cargo.toml +++ b/programs/sbf/rust/alt_bn128/Cargo.toml @@ -11,7 +11,8 @@ edition = { workspace = true } [dependencies] array-bytes = { workspace = true } solana-bn254 = { workspace = true } -solana-program = { workspace = true } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/alt_bn128/src/lib.rs b/programs/sbf/rust/alt_bn128/src/lib.rs index 7a546dc248fba3..ed0e90d1f2fa93 100644 --- a/programs/sbf/rust/alt_bn128/src/lib.rs +++ b/programs/sbf/rust/alt_bn128/src/lib.rs @@ -1,9 +1,9 @@ //! Alt_bn128 Syscalls tests -extern crate solana_program; use { solana_bn254::prelude::{alt_bn128_addition, alt_bn128_multiplication, alt_bn128_pairing}, - solana_program::{custom_heap_default, custom_panic_default, msg}, + solana_msg::msg, + solana_program_entrypoint::{custom_heap_default, custom_panic_default}, }; fn alt_bn128_addition_test() { diff --git a/programs/sbf/rust/alt_bn128_compression/Cargo.toml b/programs/sbf/rust/alt_bn128_compression/Cargo.toml index 7f52a923a1f53d..f367a9d267b711 100644 --- a/programs/sbf/rust/alt_bn128_compression/Cargo.toml +++ b/programs/sbf/rust/alt_bn128_compression/Cargo.toml @@ -11,7 +11,8 @@ edition = { workspace = true } [dependencies] array-bytes = { workspace = true } solana-bn254 = { workspace = true } -solana-program = { workspace = true } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/alt_bn128_compression/src/lib.rs b/programs/sbf/rust/alt_bn128_compression/src/lib.rs index a5ca6645142ec3..99e3e5ffe217b5 100644 --- a/programs/sbf/rust/alt_bn128_compression/src/lib.rs +++ b/programs/sbf/rust/alt_bn128_compression/src/lib.rs @@ -1,12 +1,12 @@ //! Alt_bn128 compression Syscalls tests -extern crate solana_program; use { solana_bn254::compression::prelude::{ alt_bn128_g1_compress, alt_bn128_g1_decompress, alt_bn128_g2_compress, alt_bn128_g2_decompress, }, - solana_program::{custom_heap_default, custom_panic_default, msg}, + solana_msg::msg, + solana_program_entrypoint::{custom_heap_default, custom_panic_default}, }; fn alt_bn128_compression_g1() { diff --git a/programs/sbf/rust/big_mod_exp/Cargo.toml b/programs/sbf/rust/big_mod_exp/Cargo.toml index a0567b3b7b18e2..7aab4107394c68 100644 --- a/programs/sbf/rust/big_mod_exp/Cargo.toml +++ b/programs/sbf/rust/big_mod_exp/Cargo.toml @@ -13,7 +13,9 @@ array-bytes = { workspace = true } serde = { workspace = true } serde_derive = { workspace = true } serde_json = { workspace = true } -solana-program = { workspace = true } +solana-big-mod-exp = { workspace = true } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/big_mod_exp/src/lib.rs b/programs/sbf/rust/big_mod_exp/src/lib.rs index 11a56d7ff17bbf..7f97a0e8335245 100644 --- a/programs/sbf/rust/big_mod_exp/src/lib.rs +++ b/programs/sbf/rust/big_mod_exp/src/lib.rs @@ -1,7 +1,9 @@ //! Big_mod_exp Syscall tests -extern crate solana_program; -use solana_program::{big_mod_exp::big_mod_exp, custom_panic_default, msg}; +use { + solana_big_mod_exp::big_mod_exp, solana_msg::msg, + solana_program_entrypoint::custom_panic_default, +}; fn big_mod_exp_test() { #[derive(serde_derive::Deserialize)] diff --git a/programs/sbf/rust/call_args/Cargo.toml b/programs/sbf/rust/call_args/Cargo.toml index 2d4a4ecd84db9d..8395b9db21f3cd 100644 --- a/programs/sbf/rust/call_args/Cargo.toml +++ b/programs/sbf/rust/call_args/Cargo.toml @@ -10,7 +10,11 @@ edition = { workspace = true } [dependencies] borsh = { workspace = true } +solana-account-info = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/call_args/src/lib.rs b/programs/sbf/rust/call_args/src/lib.rs index 43d61187110bce..8a9c50fa29fea3 100644 --- a/programs/sbf/rust/call_args/src/lib.rs +++ b/programs/sbf/rust/call_args/src/lib.rs @@ -1,9 +1,9 @@ use { borsh::{from_slice, to_vec, BorshDeserialize, BorshSerialize}, - solana_program::{ - account_info::AccountInfo, entrypoint::ProgramResult, program::set_return_data, - pubkey::Pubkey, - }, + solana_account_info::AccountInfo, + solana_program::program::set_return_data, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, }; #[derive(BorshSerialize, BorshDeserialize, Clone, Copy)] @@ -33,7 +33,7 @@ struct OutputData { many_args_2: i64, } -solana_program::entrypoint_no_alloc!(entry); +solana_program_entrypoint::entrypoint_no_alloc!(entry); pub fn entry(_program_id: &Pubkey, _accounts: &[AccountInfo], data: &[u8]) -> ProgramResult { // This code is supposed to occupy stack space. The purpose of this test is to make sure diff --git a/programs/sbf/rust/call_depth/Cargo.toml b/programs/sbf/rust/call_depth/Cargo.toml index 5d2f503234c026..43de27f3258c81 100644 --- a/programs/sbf/rust/call_depth/Cargo.toml +++ b/programs/sbf/rust/call_depth/Cargo.toml @@ -9,7 +9,10 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-sysvar = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/call_depth/src/lib.rs b/programs/sbf/rust/call_depth/src/lib.rs index 6f0052dbd34cf3..a97f34f2af7e5e 100644 --- a/programs/sbf/rust/call_depth/src/lib.rs +++ b/programs/sbf/rust/call_depth/src/lib.rs @@ -1,7 +1,9 @@ //! Example Rust-based SBF program that tests call depth and stack usage -use solana_program::{ - custom_heap_default, custom_panic_default, entrypoint::SUCCESS, log::sol_log_64, msg, +use { + solana_msg::msg, + solana_program::log::sol_log_64, + solana_program_entrypoint::{custom_heap_default, custom_panic_default, SUCCESS}, }; #[inline(never)] diff --git a/programs/sbf/rust/caller_access/Cargo.toml b/programs/sbf/rust/caller_access/Cargo.toml index e0b717927e5d7f..3fbfe678468999 100644 --- a/programs/sbf/rust/caller_access/Cargo.toml +++ b/programs/sbf/rust/caller_access/Cargo.toml @@ -9,7 +9,13 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-instruction = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/caller_access/src/lib.rs b/programs/sbf/rust/caller_access/src/lib.rs index b1c41ad6e1a9bb..69cee1fd8c570d 100644 --- a/programs/sbf/rust/caller_access/src/lib.rs +++ b/programs/sbf/rust/caller_access/src/lib.rs @@ -1,16 +1,14 @@ use { - solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - instruction::{AccountMeta, Instruction}, - msg, - program::invoke, - pubkey::Pubkey, - }, + solana_account_info::AccountInfo, + solana_instruction::{AccountMeta, Instruction}, + solana_msg::msg, + solana_program::program::invoke, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, std::convert::TryInto, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/curve25519/Cargo.toml b/programs/sbf/rust/curve25519/Cargo.toml index 936f30a645fa90..55a42b86ac150c 100644 --- a/programs/sbf/rust/curve25519/Cargo.toml +++ b/programs/sbf/rust/curve25519/Cargo.toml @@ -10,7 +10,8 @@ edition = { workspace = true } [dependencies] solana-curve25519 = { workspace = true } -solana-program = { workspace = true } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/curve25519/src/lib.rs b/programs/sbf/rust/curve25519/src/lib.rs index 42718278c2c685..a5ba54cd8a35e4 100644 --- a/programs/sbf/rust/curve25519/src/lib.rs +++ b/programs/sbf/rust/curve25519/src/lib.rs @@ -1,9 +1,9 @@ //! @brief curve25519 syscall tests -extern crate solana_program; use { solana_curve25519::{edwards, ristretto, scalar}, - solana_program::{custom_heap_default, custom_panic_default, msg}, + solana_msg::msg, + solana_program_entrypoint::{custom_heap_default, custom_panic_default}, }; #[no_mangle] diff --git a/programs/sbf/rust/custom_heap/Cargo.toml b/programs/sbf/rust/custom_heap/Cargo.toml index 3386d32547b31f..e40570f0c14662 100644 --- a/programs/sbf/rust/custom_heap/Cargo.toml +++ b/programs/sbf/rust/custom_heap/Cargo.toml @@ -9,7 +9,11 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-account-info = { workspace = true } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [features] default = ["custom-heap"] diff --git a/programs/sbf/rust/custom_heap/src/lib.rs b/programs/sbf/rust/custom_heap/src/lib.rs index 9738db15226335..ce648e6baffba7 100644 --- a/programs/sbf/rust/custom_heap/src/lib.rs +++ b/programs/sbf/rust/custom_heap/src/lib.rs @@ -2,18 +2,21 @@ #![allow(clippy::arithmetic_side_effects)] -#[cfg(target_os = "solana")] -use { - solana_program::entrypoint::{HEAP_LENGTH, HEAP_START_ADDRESS}, - std::{mem::size_of, ptr::null_mut}, -}; use { - solana_program::{account_info::AccountInfo, entrypoint::ProgramResult, msg, pubkey::Pubkey}, + solana_account_info::AccountInfo, + solana_msg::msg, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, std::{ alloc::{alloc, Layout}, mem::align_of, }, }; +#[cfg(target_os = "solana")] +use { + solana_program_entrypoint::{HEAP_LENGTH, HEAP_START_ADDRESS}, + std::{mem::size_of, ptr::null_mut}, +}; /// Developers can implement their own heap by defining their own /// `#[global_allocator]`. The following implements a dummy for test purposes @@ -55,7 +58,7 @@ unsafe impl std::alloc::GlobalAlloc for BumpAllocator { #[global_allocator] static A: BumpAllocator = BumpAllocator; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); pub fn process_instruction( _program_id: &Pubkey, _accounts: &[AccountInfo], diff --git a/programs/sbf/rust/dep_crate/Cargo.toml b/programs/sbf/rust/dep_crate/Cargo.toml index f583014cbac633..e941a23b98b1ef 100644 --- a/programs/sbf/rust/dep_crate/Cargo.toml +++ b/programs/sbf/rust/dep_crate/Cargo.toml @@ -10,7 +10,7 @@ edition = { workspace = true } [dependencies] byteorder = { workspace = true } -solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/dep_crate/src/lib.rs b/programs/sbf/rust/dep_crate/src/lib.rs index 9cdf32e2fcf991..e8b8365e1eaae6 100644 --- a/programs/sbf/rust/dep_crate/src/lib.rs +++ b/programs/sbf/rust/dep_crate/src/lib.rs @@ -1,9 +1,8 @@ //! Example Rust-based SBF program tests dependent crates -extern crate solana_program; use { byteorder::{ByteOrder, LittleEndian}, - solana_program::entrypoint::SUCCESS, + solana_program_entrypoint::SUCCESS, }; #[no_mangle] diff --git a/programs/sbf/rust/deprecated_loader/Cargo.toml b/programs/sbf/rust/deprecated_loader/Cargo.toml index a3dff0c68ed64f..c740d6814fe3bc 100644 --- a/programs/sbf/rust/deprecated_loader/Cargo.toml +++ b/programs/sbf/rust/deprecated_loader/Cargo.toml @@ -9,9 +9,16 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-instruction = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } solana-sbf-rust-invoke-dep = { workspace = true } solana-sbf-rust-realloc-dep = { workspace = true } +solana-sdk-ids = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/deprecated_loader/src/lib.rs b/programs/sbf/rust/deprecated_loader/src/lib.rs index 23578c57f78908..56a13a48cbbdba 100644 --- a/programs/sbf/rust/deprecated_loader/src/lib.rs +++ b/programs/sbf/rust/deprecated_loader/src/lib.rs @@ -3,20 +3,16 @@ #![allow(unreachable_code)] #![allow(clippy::arithmetic_side_effects)] -extern crate solana_program; use { - solana_program::{ - account_info::AccountInfo, - bpf_loader, - entrypoint_deprecated::ProgramResult, - instruction::{AccountMeta, Instruction}, - log::*, - msg, - program::invoke, - pubkey::Pubkey, - }, + solana_account_info::AccountInfo, + solana_instruction::{AccountMeta, Instruction}, + solana_msg::msg, + solana_program::{log::sol_log_params, program::invoke}, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, solana_sbf_rust_invoke_dep::*, solana_sbf_rust_realloc_dep::*, + solana_sdk_ids::bpf_loader, }; #[derive(Debug, PartialEq)] @@ -135,7 +131,7 @@ fn process_instruction( ) .unwrap(); - if !solana_program::bpf_loader_deprecated::check_id(realloc_program_owner) { + if !solana_sdk_ids::bpf_loader_deprecated::check_id(realloc_program_owner) { assert_eq!(&*account.data.borrow(), &expected); } } @@ -169,7 +165,7 @@ fn process_instruction( // deserialize_parameters_unaligned predates realloc support, and // hardcodes the account data length to the original length. - if !solana_program::bpf_loader_deprecated::check_id(realloc_program_owner) { + if !solana_sdk_ids::bpf_loader_deprecated::check_id(realloc_program_owner) { assert_eq!(&*account.data.borrow(), &expected); assert_eq!( unsafe { diff --git a/programs/sbf/rust/divide_by_zero/Cargo.toml b/programs/sbf/rust/divide_by_zero/Cargo.toml index eb4bf4e9f93f29..031da4f97b7e0f 100644 --- a/programs/sbf/rust/divide_by_zero/Cargo.toml +++ b/programs/sbf/rust/divide_by_zero/Cargo.toml @@ -9,7 +9,10 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-account-info = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/divide_by_zero/src/lib.rs b/programs/sbf/rust/divide_by_zero/src/lib.rs index 446faa0730dd2c..ad0f9f6e4f9c27 100644 --- a/programs/sbf/rust/divide_by_zero/src/lib.rs +++ b/programs/sbf/rust/divide_by_zero/src/lib.rs @@ -2,13 +2,12 @@ #![feature(asm_experimental_arch)] -extern crate solana_program; use { - solana_program::{account_info::AccountInfo, entrypoint::ProgramResult, pubkey::Pubkey}, + solana_account_info::AccountInfo, solana_program_error::ProgramResult, solana_pubkey::Pubkey, std::arch::asm, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( _program_id: &Pubkey, _accounts: &[AccountInfo], diff --git a/programs/sbf/rust/dup_accounts/Cargo.toml b/programs/sbf/rust/dup_accounts/Cargo.toml index 03c1c57264afcc..57cb8f016bac18 100644 --- a/programs/sbf/rust/dup_accounts/Cargo.toml +++ b/programs/sbf/rust/dup_accounts/Cargo.toml @@ -9,7 +9,13 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-instruction = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/dup_accounts/src/lib.rs b/programs/sbf/rust/dup_accounts/src/lib.rs index fb49994a79abf2..d12f8f797ef1eb 100644 --- a/programs/sbf/rust/dup_accounts/src/lib.rs +++ b/programs/sbf/rust/dup_accounts/src/lib.rs @@ -2,18 +2,16 @@ #![allow(clippy::arithmetic_side_effects)] -extern crate solana_program; -use solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - instruction::{AccountMeta, Instruction}, - msg, - program::invoke, - program_error::ProgramError, - pubkey::Pubkey, +use { + solana_account_info::AccountInfo, + solana_instruction::{AccountMeta, Instruction}, + solana_msg::msg, + solana_program::program::invoke, + solana_program_error::{ProgramError, ProgramResult}, + solana_pubkey::Pubkey, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/error_handling/Cargo.toml b/programs/sbf/rust/error_handling/Cargo.toml index f07ca571dbe37d..dfe14263d1e00f 100644 --- a/programs/sbf/rust/error_handling/Cargo.toml +++ b/programs/sbf/rust/error_handling/Cargo.toml @@ -11,8 +11,12 @@ edition = { workspace = true } [dependencies] num-derive = { workspace = true } num-traits = { workspace = true } +solana-account-info = { workspace = true } solana-decode-error = { workspace = true } -solana-program = { workspace = true } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } thiserror = { workspace = true } [lib] diff --git a/programs/sbf/rust/error_handling/src/lib.rs b/programs/sbf/rust/error_handling/src/lib.rs index b2c1a4d577e1dc..624eb8af8f073d 100644 --- a/programs/sbf/rust/error_handling/src/lib.rs +++ b/programs/sbf/rust/error_handling/src/lib.rs @@ -1,17 +1,13 @@ //! Example Rust-based SBF program that exercises error handling -extern crate solana_program; use { num_derive::FromPrimitive, num_traits::FromPrimitive, + solana_account_info::AccountInfo, solana_decode_error::DecodeError, - solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - msg, - program_error::{PrintProgramError, ProgramError}, - pubkey::{Pubkey, PubkeyError}, - }, + solana_msg::msg, + solana_program_error::{PrintProgramError, ProgramError, ProgramResult}, + solana_pubkey::{Pubkey, PubkeyError}, thiserror::Error, }; @@ -45,7 +41,7 @@ impl PrintProgramError for MyError { } } -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( _program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/external_spend/Cargo.toml b/programs/sbf/rust/external_spend/Cargo.toml index 37401ff9e4b6ff..a0b86dcb6d6276 100644 --- a/programs/sbf/rust/external_spend/Cargo.toml +++ b/programs/sbf/rust/external_spend/Cargo.toml @@ -9,7 +9,10 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-account-info = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/external_spend/src/lib.rs b/programs/sbf/rust/external_spend/src/lib.rs index ed5abce617f93c..b825ed21783760 100644 --- a/programs/sbf/rust/external_spend/src/lib.rs +++ b/programs/sbf/rust/external_spend/src/lib.rs @@ -2,10 +2,11 @@ #![allow(clippy::arithmetic_side_effects)] -extern crate solana_program; -use solana_program::{account_info::AccountInfo, entrypoint::ProgramResult, pubkey::Pubkey}; +use { + solana_account_info::AccountInfo, solana_program_error::ProgramResult, solana_pubkey::Pubkey, +}; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( _program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/get_minimum_delegation/Cargo.toml b/programs/sbf/rust/get_minimum_delegation/Cargo.toml index 3856d2294283f9..2d0e3a9e15d021 100644 --- a/programs/sbf/rust/get_minimum_delegation/Cargo.toml +++ b/programs/sbf/rust/get_minimum_delegation/Cargo.toml @@ -9,7 +9,12 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-account-info = { workspace = true } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } +solana-stake-interface = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/get_minimum_delegation/src/lib.rs b/programs/sbf/rust/get_minimum_delegation/src/lib.rs index d5df8448a37a3d..7dd0cb88a632b7 100644 --- a/programs/sbf/rust/get_minimum_delegation/src/lib.rs +++ b/programs/sbf/rust/get_minimum_delegation/src/lib.rs @@ -2,12 +2,12 @@ #![allow(unreachable_code)] -extern crate solana_program; -use solana_program::{ - account_info::AccountInfo, entrypoint::ProgramResult, msg, pubkey::Pubkey, stake, +use { + solana_account_info::AccountInfo, solana_msg::msg, solana_program_error::ProgramResult, + solana_pubkey::Pubkey, solana_stake_interface as stake, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( _program_id: &Pubkey, _accounts: &[AccountInfo], diff --git a/programs/sbf/rust/inner_instruction_alignment_check/Cargo.toml b/programs/sbf/rust/inner_instruction_alignment_check/Cargo.toml index 724f5503bb358f..749c01655d2db0 100644 --- a/programs/sbf/rust/inner_instruction_alignment_check/Cargo.toml +++ b/programs/sbf/rust/inner_instruction_alignment_check/Cargo.toml @@ -9,7 +9,13 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-instruction = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/inner_instruction_alignment_check/src/lib.rs b/programs/sbf/rust/inner_instruction_alignment_check/src/lib.rs index 26632e9d2677dc..9946c3ab0c6638 100644 --- a/programs/sbf/rust/inner_instruction_alignment_check/src/lib.rs +++ b/programs/sbf/rust/inner_instruction_alignment_check/src/lib.rs @@ -1,13 +1,13 @@ //! Example Rust-based SBF noop program -use solana_program::{ - account_info::AccountInfo, - custom_heap_default, - entrypoint_deprecated::ProgramResult, - instruction::{AccountMeta, Instruction}, - msg, - program::invoke, - pubkey::Pubkey, +use { + solana_account_info::AccountInfo, + solana_instruction::{AccountMeta, Instruction}, + solana_msg::msg, + solana_program::program::invoke, + solana_program_entrypoint::custom_heap_default, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, }; solana_program::entrypoint_deprecated!(process_instruction); diff --git a/programs/sbf/rust/instruction_introspection/Cargo.toml b/programs/sbf/rust/instruction_introspection/Cargo.toml index 42c87a6acc3326..dae85af74c4da3 100644 --- a/programs/sbf/rust/instruction_introspection/Cargo.toml +++ b/programs/sbf/rust/instruction_introspection/Cargo.toml @@ -9,7 +9,15 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-instruction = { workspace = true } +solana-instructions-sysvar = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } +solana-sysvar = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/instruction_introspection/src/lib.rs b/programs/sbf/rust/instruction_introspection/src/lib.rs index ef0763c663aeff..94632bc543deba 100644 --- a/programs/sbf/rust/instruction_introspection/src/lib.rs +++ b/programs/sbf/rust/instruction_introspection/src/lib.rs @@ -1,18 +1,16 @@ //! Example Rust-based SBF program that exercises instruction introspection -extern crate solana_program; -use solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - instruction::{AccountMeta, Instruction}, - msg, - program::invoke, - program_error::ProgramError, - pubkey::Pubkey, - sysvar::instructions, +use { + solana_account_info::AccountInfo, + solana_instruction::{AccountMeta, Instruction}, + solana_instructions_sysvar as instructions, + solana_msg::msg, + solana_program::program::invoke, + solana_program_error::{ProgramError, ProgramResult}, + solana_pubkey::Pubkey, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/invoke/Cargo.toml b/programs/sbf/rust/invoke/Cargo.toml index 94aaf9a851dec2..fa089121665a1f 100644 --- a/programs/sbf/rust/invoke/Cargo.toml +++ b/programs/sbf/rust/invoke/Cargo.toml @@ -9,10 +9,19 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-instruction = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-program-memory = { workspace = true } +solana-pubkey = { workspace = true } solana-sbf-rust-invoke-dep = { workspace = true } solana-sbf-rust-invoked-dep = { workspace = true } solana-sbf-rust-realloc-dep = { workspace = true } +solana-sdk-ids = { workspace = true } +solana-system-interface = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/invoke/src/lib.rs b/programs/sbf/rust/invoke/src/lib.rs index 1239deb143a8c4..3dcd3bf291b453 100644 --- a/programs/sbf/rust/invoke/src/lib.rs +++ b/programs/sbf/rust/invoke/src/lib.rs @@ -4,25 +4,25 @@ #![allow(clippy::arithmetic_side_effects)] #[cfg(target_feature = "dynamic-frames")] -use solana_program::program_memory::sol_memcmp; +use solana_program_memory::sol_memcmp; use { + solana_account_info::AccountInfo, + solana_instruction::Instruction, + solana_msg::msg, solana_program::{ - account_info::AccountInfo, - bpf_loader_deprecated, - entrypoint::{ProgramResult, MAX_PERMITTED_DATA_INCREASE}, - instruction::Instruction, - msg, program::{get_return_data, invoke, invoke_signed, set_return_data}, - program_error::ProgramError, - pubkey::{Pubkey, PubkeyError}, syscalls::{ MAX_CPI_ACCOUNT_INFOS, MAX_CPI_INSTRUCTION_ACCOUNTS, MAX_CPI_INSTRUCTION_DATA_LEN, }, - system_instruction, system_program, }, + solana_program_entrypoint::{ProgramResult, MAX_PERMITTED_DATA_INCREASE}, + solana_program_error::ProgramError, + solana_pubkey::{Pubkey, PubkeyError}, solana_sbf_rust_invoke_dep::*, solana_sbf_rust_invoked_dep::*, solana_sbf_rust_realloc_dep::*, + solana_sdk_ids::bpf_loader_deprecated, + solana_system_interface::{instruction as system_instruction, program as system_program}, std::{cell::RefCell, mem, rc::Rc, slice}, }; @@ -67,7 +67,7 @@ fn do_nested_invokes(num_nested_invokes: u64, accounts: &[AccountInfo]) -> Progr Ok(()) } -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction<'a>( program_id: &Pubkey, accounts: &[AccountInfo<'a>], @@ -86,7 +86,7 @@ fn process_instruction<'a>( let from_lamports = accounts[FROM_INDEX].lamports(); let to_lamports = accounts[DERIVED_KEY1_INDEX].lamports(); assert_eq!(accounts[DERIVED_KEY1_INDEX].data_len(), 0); - assert!(solana_program::system_program::check_id( + assert!(solana_system_interface::program::check_id( accounts[DERIVED_KEY1_INDEX].owner )); diff --git a/programs/sbf/rust/invoke_and_error/Cargo.toml b/programs/sbf/rust/invoke_and_error/Cargo.toml index 6427bc82629bbd..9a375bee36fd8d 100644 --- a/programs/sbf/rust/invoke_and_error/Cargo.toml +++ b/programs/sbf/rust/invoke_and_error/Cargo.toml @@ -9,7 +9,12 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-instruction = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/invoke_and_error/src/lib.rs b/programs/sbf/rust/invoke_and_error/src/lib.rs index 86d6114827567d..29845940e5aba8 100644 --- a/programs/sbf/rust/invoke_and_error/src/lib.rs +++ b/programs/sbf/rust/invoke_and_error/src/lib.rs @@ -1,15 +1,15 @@ //! Invokes an instruction and returns an error, the instruction invoked //! uses the instruction data provided and all the accounts -use solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - instruction::{AccountMeta, Instruction}, - program::invoke, - pubkey::Pubkey, +use { + solana_account_info::AccountInfo, + solana_instruction::{AccountMeta, Instruction}, + solana_program::program::invoke, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( _program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/invoke_and_ok/Cargo.toml b/programs/sbf/rust/invoke_and_ok/Cargo.toml index 9fbdda726c55b9..82fa78d4600313 100644 --- a/programs/sbf/rust/invoke_and_ok/Cargo.toml +++ b/programs/sbf/rust/invoke_and_ok/Cargo.toml @@ -9,7 +9,12 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-instruction = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/invoke_and_ok/src/lib.rs b/programs/sbf/rust/invoke_and_ok/src/lib.rs index fe624f7f98c3f7..e2ccad2bce545f 100644 --- a/programs/sbf/rust/invoke_and_ok/src/lib.rs +++ b/programs/sbf/rust/invoke_and_ok/src/lib.rs @@ -1,15 +1,15 @@ //! Invokes an instruction and return ok no matter what, the instruction invoked //! uses the instruction data provided and all the accounts -use solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - instruction::{AccountMeta, Instruction}, - program::invoke, - pubkey::Pubkey, +use { + solana_account_info::AccountInfo, + solana_instruction::{AccountMeta, Instruction}, + solana_program::program::invoke, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( _program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/invoke_and_return/Cargo.toml b/programs/sbf/rust/invoke_and_return/Cargo.toml index b7cc9c5d7d00ea..99a76641e9ad74 100644 --- a/programs/sbf/rust/invoke_and_return/Cargo.toml +++ b/programs/sbf/rust/invoke_and_return/Cargo.toml @@ -9,7 +9,12 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-instruction = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/invoke_and_return/src/lib.rs b/programs/sbf/rust/invoke_and_return/src/lib.rs index cdec1102e7c0e3..09bfc2ecefd565 100644 --- a/programs/sbf/rust/invoke_and_return/src/lib.rs +++ b/programs/sbf/rust/invoke_and_return/src/lib.rs @@ -1,15 +1,15 @@ //! Invokes an instruction and returns the invoke result, the instruction invoked //! uses the instruction data provided and all the accounts -use solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - instruction::{AccountMeta, Instruction}, - program::invoke, - pubkey::Pubkey, +use { + solana_account_info::AccountInfo, + solana_instruction::{AccountMeta, Instruction}, + solana_program::program::invoke, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( _program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/invoked/Cargo.toml b/programs/sbf/rust/invoked/Cargo.toml index dcb0078d05e20e..8df50a59ce1eb3 100644 --- a/programs/sbf/rust/invoked/Cargo.toml +++ b/programs/sbf/rust/invoked/Cargo.toml @@ -9,8 +9,16 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } solana-sbf-rust-invoked-dep = { workspace = true } +solana-sdk-ids = { workspace = true } +solana-system-interface = { workspace = true } +solana-sysvar = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/invoked/src/lib.rs b/programs/sbf/rust/invoked/src/lib.rs index ab92368a87a875..6531c56798ced6 100644 --- a/programs/sbf/rust/invoked/src/lib.rs +++ b/programs/sbf/rust/invoked/src/lib.rs @@ -3,21 +3,20 @@ #![allow(clippy::arithmetic_side_effects)] use { + solana_account_info::{AccountInfo, MAX_PERMITTED_DATA_INCREASE}, + solana_msg::msg, solana_program::{ - account_info::AccountInfo, - entrypoint::{ProgramResult, MAX_PERMITTED_DATA_INCREASE}, - loader_v4, log::sol_log_64, - msg, program::{get_return_data, invoke, invoke_signed, set_return_data}, - program_error::ProgramError, - pubkey::Pubkey, - system_instruction, }, + solana_program_error::{ProgramError, ProgramResult}, + solana_pubkey::Pubkey, solana_sbf_rust_invoked_dep::*, + solana_sdk_ids::loader_v4, + solana_system_interface::instruction as system_instruction, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); #[allow(clippy::cognitive_complexity)] fn process_instruction( program_id: &Pubkey, @@ -254,7 +253,7 @@ fn process_instruction( let from_lamports = accounts[FROM_INDEX].lamports(); let to_lamports = accounts[DERIVED_KEY2_INDEX].lamports(); assert_eq!(accounts[DERIVED_KEY2_INDEX].data_len(), 0); - assert!(solana_program::system_program::check_id( + assert!(solana_system_interface::program::check_id( accounts[DERIVED_KEY2_INDEX].owner )); diff --git a/programs/sbf/rust/invoked_dep/Cargo.toml b/programs/sbf/rust/invoked_dep/Cargo.toml index 52cebbba70f172..a70b7d87bfd2d5 100644 --- a/programs/sbf/rust/invoked_dep/Cargo.toml +++ b/programs/sbf/rust/invoked_dep/Cargo.toml @@ -9,7 +9,8 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-instruction = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["lib"] diff --git a/programs/sbf/rust/invoked_dep/src/lib.rs b/programs/sbf/rust/invoked_dep/src/lib.rs index 46a4f1d9f2f45c..89fcc4a291e011 100644 --- a/programs/sbf/rust/invoked_dep/src/lib.rs +++ b/programs/sbf/rust/invoked_dep/src/lib.rs @@ -1,8 +1,8 @@ //! Example Rust-based SBF program that issues a cross-program-invocation -use solana_program::{ - instruction::{AccountMeta, Instruction}, - pubkey::Pubkey, +use { + solana_instruction::{AccountMeta, Instruction}, + solana_pubkey::Pubkey, }; pub const VERIFY_TRANSLATIONS: u8 = 0; diff --git a/programs/sbf/rust/iter/Cargo.toml b/programs/sbf/rust/iter/Cargo.toml index f859f4fb44fd00..19444569f3ff64 100644 --- a/programs/sbf/rust/iter/Cargo.toml +++ b/programs/sbf/rust/iter/Cargo.toml @@ -10,6 +10,7 @@ edition = { workspace = true } [dependencies] solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/iter/src/lib.rs b/programs/sbf/rust/iter/src/lib.rs index 2128765e1349de..fa12bf5a9975c5 100644 --- a/programs/sbf/rust/iter/src/lib.rs +++ b/programs/sbf/rust/iter/src/lib.rs @@ -2,9 +2,9 @@ #![allow(clippy::arithmetic_side_effects)] -extern crate solana_program; -use solana_program::{ - custom_heap_default, custom_panic_default, entrypoint::SUCCESS, log::sol_log_64, +use { + solana_program::log::sol_log_64, + solana_program_entrypoint::{custom_heap_default, custom_panic_default, SUCCESS}, }; #[no_mangle] diff --git a/programs/sbf/rust/log_data/Cargo.toml b/programs/sbf/rust/log_data/Cargo.toml index fc9a6ced55d488..8a55f5750d9760 100644 --- a/programs/sbf/rust/log_data/Cargo.toml +++ b/programs/sbf/rust/log_data/Cargo.toml @@ -9,7 +9,12 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } +solana-sysvar = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/log_data/src/lib.rs b/programs/sbf/rust/log_data/src/lib.rs index b4c67634e22c87..f8e78f0886d25a 100644 --- a/programs/sbf/rust/log_data/src/lib.rs +++ b/programs/sbf/rust/log_data/src/lib.rs @@ -1,11 +1,13 @@ //! Example Rust-based SBF program that uses sol_log_data syscall -use solana_program::{ - account_info::AccountInfo, entrypoint::ProgramResult, log::sol_log_data, - program::set_return_data, pubkey::Pubkey, +use { + solana_account_info::AccountInfo, + solana_program::{log::sol_log_data, program::set_return_data}, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); #[allow(clippy::cognitive_complexity)] fn process_instruction( _program_id: &Pubkey, diff --git a/programs/sbf/rust/many_args/Cargo.toml b/programs/sbf/rust/many_args/Cargo.toml index 2ec3671be62d38..dec8a6e2084ffc 100644 --- a/programs/sbf/rust/many_args/Cargo.toml +++ b/programs/sbf/rust/many_args/Cargo.toml @@ -9,7 +9,9 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } solana-sbf-rust-many-args-dep = { workspace = true } [lib] diff --git a/programs/sbf/rust/many_args/src/helper.rs b/programs/sbf/rust/many_args/src/helper.rs index 72c89fc060a6b3..95872c086e08b2 100644 --- a/programs/sbf/rust/many_args/src/helper.rs +++ b/programs/sbf/rust/many_args/src/helper.rs @@ -2,8 +2,7 @@ #![allow(clippy::arithmetic_side_effects)] -extern crate solana_program; -use solana_program::log::*; +use solana_program::log::{sol_log, sol_log_64}; pub fn many_args( arg1: u64, diff --git a/programs/sbf/rust/many_args/src/lib.rs b/programs/sbf/rust/many_args/src/lib.rs index e90fd54e129a96..72b4f5ad7efd8a 100644 --- a/programs/sbf/rust/many_args/src/lib.rs +++ b/programs/sbf/rust/many_args/src/lib.rs @@ -1,8 +1,10 @@ //! Example Rust-based SBF program tests loop iteration mod helper; -extern crate solana_program; -use solana_program::{custom_heap_default, custom_panic_default, entrypoint::SUCCESS, msg}; +use { + solana_msg::msg, + solana_program_entrypoint::{custom_heap_default, custom_panic_default, SUCCESS}, +}; #[no_mangle] pub extern "C" fn entrypoint(_input: *mut u8) -> u64 { diff --git a/programs/sbf/rust/many_args_dep/Cargo.toml b/programs/sbf/rust/many_args_dep/Cargo.toml index d1c14406b7ccde..0dde7fc44ccea0 100644 --- a/programs/sbf/rust/many_args_dep/Cargo.toml +++ b/programs/sbf/rust/many_args_dep/Cargo.toml @@ -9,4 +9,5 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-msg = { workspace = true } solana-program = { workspace = true } diff --git a/programs/sbf/rust/many_args_dep/src/lib.rs b/programs/sbf/rust/many_args_dep/src/lib.rs index 263b0e1ce01c65..af1eb00d46c21a 100644 --- a/programs/sbf/rust/many_args_dep/src/lib.rs +++ b/programs/sbf/rust/many_args_dep/src/lib.rs @@ -2,8 +2,7 @@ #![allow(clippy::arithmetic_side_effects)] -extern crate solana_program; -use solana_program::{log::sol_log_64, msg}; +use {solana_msg::msg, solana_program::log::sol_log_64}; pub fn many_args( arg1: u64, diff --git a/programs/sbf/rust/mem/Cargo.toml b/programs/sbf/rust/mem/Cargo.toml index ed5668bbdc6c6f..47e084845c183b 100644 --- a/programs/sbf/rust/mem/Cargo.toml +++ b/programs/sbf/rust/mem/Cargo.toml @@ -9,7 +9,11 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-account-info = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-program-memory = { workspace = true } +solana-pubkey = { workspace = true } solana-sbf-rust-mem-dep = { workspace = true } [lib] diff --git a/programs/sbf/rust/mem/src/lib.rs b/programs/sbf/rust/mem/src/lib.rs index 52da6609c88723..0fb4aac820bd34 100644 --- a/programs/sbf/rust/mem/src/lib.rs +++ b/programs/sbf/rust/mem/src/lib.rs @@ -1,16 +1,14 @@ //! Test mem functions use { - solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - program_memory::{sol_memcmp, sol_memcpy, sol_memmove, sol_memset}, - pubkey::Pubkey, - }, + solana_account_info::AccountInfo, + solana_program_error::ProgramResult, + solana_program_memory::{sol_memcmp, sol_memcpy, sol_memmove, sol_memset}, + solana_pubkey::Pubkey, solana_sbf_rust_mem_dep::{run_mem_tests, MemOps}, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); pub fn process_instruction( _program_id: &Pubkey, _accounts: &[AccountInfo], diff --git a/programs/sbf/rust/mem_dep/Cargo.toml b/programs/sbf/rust/mem_dep/Cargo.toml index def7109a05317a..7fb169f1a3fec7 100644 --- a/programs/sbf/rust/mem_dep/Cargo.toml +++ b/programs/sbf/rust/mem_dep/Cargo.toml @@ -9,7 +9,6 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } [lib] crate-type = ["lib"] diff --git a/programs/sbf/rust/membuiltins/Cargo.toml b/programs/sbf/rust/membuiltins/Cargo.toml index 405feffd4effb9..c1f1e8539155a8 100644 --- a/programs/sbf/rust/membuiltins/Cargo.toml +++ b/programs/sbf/rust/membuiltins/Cargo.toml @@ -9,7 +9,7 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } solana-sbf-rust-mem-dep = { workspace = true } [lib] diff --git a/programs/sbf/rust/membuiltins/src/lib.rs b/programs/sbf/rust/membuiltins/src/lib.rs index 155a90a98c95f7..da41a6634673a4 100644 --- a/programs/sbf/rust/membuiltins/src/lib.rs +++ b/programs/sbf/rust/membuiltins/src/lib.rs @@ -5,7 +5,7 @@ extern crate compiler_builtins; use { - solana_program::{custom_heap_default, custom_panic_default, entrypoint::SUCCESS}, + solana_program_entrypoint::{custom_heap_default, custom_panic_default, SUCCESS}, solana_sbf_rust_mem_dep::{run_mem_tests, MemOps}, }; diff --git a/programs/sbf/rust/noop/Cargo.toml b/programs/sbf/rust/noop/Cargo.toml index f2cdff7f18e5f8..49b8ff4d3cc551 100644 --- a/programs/sbf/rust/noop/Cargo.toml +++ b/programs/sbf/rust/noop/Cargo.toml @@ -9,7 +9,10 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-account-info = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/noop/src/lib.rs b/programs/sbf/rust/noop/src/lib.rs index c3b8f7962bc862..92d4774e5f81d7 100644 --- a/programs/sbf/rust/noop/src/lib.rs +++ b/programs/sbf/rust/noop/src/lib.rs @@ -1,11 +1,12 @@ //! Example Rust-based SBF noop program -extern crate solana_program; -use solana_program::{account_info::AccountInfo, entrypoint::ProgramResult, pubkey::Pubkey}; +use { + solana_account_info::AccountInfo, solana_program_error::ProgramResult, solana_pubkey::Pubkey, +}; // This program intentionally uses `entrypoint!` instead of `entrypoint_no_alloc!` // to handle any number of accounts. -solana_program::entrypoint!(process_instruction); +solana_program_entrypoint::entrypoint!(process_instruction); fn process_instruction( _program_id: &Pubkey, _accounts: &[AccountInfo], diff --git a/programs/sbf/rust/panic/Cargo.toml b/programs/sbf/rust/panic/Cargo.toml index 46f99056ac901e..fb590ca6d868e4 100644 --- a/programs/sbf/rust/panic/Cargo.toml +++ b/programs/sbf/rust/panic/Cargo.toml @@ -9,7 +9,11 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-account-info = { workspace = true } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [features] default = ["custom-panic"] diff --git a/programs/sbf/rust/panic/src/lib.rs b/programs/sbf/rust/panic/src/lib.rs index d7b5f99d14ff68..82f6f718e438be 100644 --- a/programs/sbf/rust/panic/src/lib.rs +++ b/programs/sbf/rust/panic/src/lib.rs @@ -4,14 +4,15 @@ #[no_mangle] fn custom_panic(info: &core::panic::PanicInfo<'_>) { // Note: Full panic reporting is included here for testing purposes - solana_program::msg!("program custom panic enabled"); - solana_program::msg!(&format!("{info}")); + solana_msg::msg!("program custom panic enabled"); + solana_msg::msg!(&format!("{info}")); } -extern crate solana_program; -use solana_program::{account_info::AccountInfo, entrypoint::ProgramResult, pubkey::Pubkey}; +use { + solana_account_info::AccountInfo, solana_program_error::ProgramResult, solana_pubkey::Pubkey, +}; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( _program_id: &Pubkey, _accounts: &[AccountInfo], diff --git a/programs/sbf/rust/param_passing/Cargo.toml b/programs/sbf/rust/param_passing/Cargo.toml index 43bb48c4fcdee0..ca9b7650af27f7 100644 --- a/programs/sbf/rust/param_passing/Cargo.toml +++ b/programs/sbf/rust/param_passing/Cargo.toml @@ -10,6 +10,7 @@ edition = { workspace = true } [dependencies] solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } solana-sbf-rust-param-passing-dep = { workspace = true } [lib] diff --git a/programs/sbf/rust/param_passing/src/lib.rs b/programs/sbf/rust/param_passing/src/lib.rs index 263bce70f4e08b..b7505edecefe5f 100644 --- a/programs/sbf/rust/param_passing/src/lib.rs +++ b/programs/sbf/rust/param_passing/src/lib.rs @@ -1,10 +1,8 @@ //! Example Rust-based SBF program tests loop iteration -extern crate solana_program; use { - solana_program::{ - custom_heap_default, custom_panic_default, entrypoint::SUCCESS, log::sol_log_64, - }, + solana_program::log::sol_log_64, + solana_program_entrypoint::{custom_heap_default, custom_panic_default, SUCCESS}, solana_sbf_rust_param_passing_dep::{Data, TestDep}, }; diff --git a/programs/sbf/rust/param_passing_dep/Cargo.toml b/programs/sbf/rust/param_passing_dep/Cargo.toml index 930ece46ac989d..7c85e0cf5cf033 100644 --- a/programs/sbf/rust/param_passing_dep/Cargo.toml +++ b/programs/sbf/rust/param_passing_dep/Cargo.toml @@ -9,4 +9,3 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } diff --git a/programs/sbf/rust/param_passing_dep/src/lib.rs b/programs/sbf/rust/param_passing_dep/src/lib.rs index 9407327eeb8481..d4965295f05932 100644 --- a/programs/sbf/rust/param_passing_dep/src/lib.rs +++ b/programs/sbf/rust/param_passing_dep/src/lib.rs @@ -2,8 +2,6 @@ #![allow(clippy::arithmetic_side_effects)] -extern crate solana_program; - #[derive(Debug)] pub struct Data<'a> { pub twentyone: u64, diff --git a/programs/sbf/rust/poseidon/Cargo.toml b/programs/sbf/rust/poseidon/Cargo.toml index 4c70ea83242e44..13500b547e107d 100644 --- a/programs/sbf/rust/poseidon/Cargo.toml +++ b/programs/sbf/rust/poseidon/Cargo.toml @@ -10,8 +10,9 @@ edition = { workspace = true } [dependencies] array-bytes = { workspace = true } +solana-msg = { workspace = true } solana-poseidon = { workspace = true } -solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/poseidon/src/lib.rs b/programs/sbf/rust/poseidon/src/lib.rs index 823bfaed8ea204..dc5d161c317d75 100644 --- a/programs/sbf/rust/poseidon/src/lib.rs +++ b/programs/sbf/rust/poseidon/src/lib.rs @@ -1,8 +1,9 @@ //! Example SBF program using Poseidon syscall use { + solana_msg::msg, solana_poseidon::{hashv, Endianness, Parameters, PoseidonSyscallError}, - solana_program::{custom_heap_default, custom_panic_default, msg}, + solana_program_entrypoint::{custom_heap_default, custom_panic_default}, }; fn test_poseidon_input_ones_twos() -> Result<(), PoseidonSyscallError> { diff --git a/programs/sbf/rust/rand/Cargo.toml b/programs/sbf/rust/rand/Cargo.toml index 4a8087f8229c56..c253fd92cc0b01 100644 --- a/programs/sbf/rust/rand/Cargo.toml +++ b/programs/sbf/rust/rand/Cargo.toml @@ -11,7 +11,11 @@ edition = { workspace = true } [dependencies] getrandom = { workspace = true, features = ["custom"] } rand = { workspace = true } -solana-program = { workspace = true } +solana-account-info = { workspace = true } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/rand/src/lib.rs b/programs/sbf/rust/rand/src/lib.rs index e4241b67ecaa81..311db9565c0738 100644 --- a/programs/sbf/rust/rand/src/lib.rs +++ b/programs/sbf/rust/rand/src/lib.rs @@ -2,10 +2,12 @@ #![allow(unreachable_code)] -extern crate solana_program; -use solana_program::{account_info::AccountInfo, entrypoint::ProgramResult, msg, pubkey::Pubkey}; +use { + solana_account_info::AccountInfo, solana_msg::msg, solana_program_error::ProgramResult, + solana_pubkey::Pubkey, +}; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( _program_id: &Pubkey, _accounts: &[AccountInfo], diff --git a/programs/sbf/rust/realloc/Cargo.toml b/programs/sbf/rust/realloc/Cargo.toml index 8d61550795393b..b49f35d6c0dd3b 100644 --- a/programs/sbf/rust/realloc/Cargo.toml +++ b/programs/sbf/rust/realloc/Cargo.toml @@ -9,8 +9,14 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } solana-sbf-rust-realloc-dep = { workspace = true } +solana-system-interface = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/realloc/src/lib.rs b/programs/sbf/rust/realloc/src/lib.rs index 05b06751459f47..fde277aa6f9576 100644 --- a/programs/sbf/rust/realloc/src/lib.rs +++ b/programs/sbf/rust/realloc/src/lib.rs @@ -2,21 +2,18 @@ #![allow(clippy::arithmetic_side_effects)] -extern crate solana_program; use { - solana_program::{ - account_info::AccountInfo, - entrypoint::{ProgramResult, MAX_PERMITTED_DATA_INCREASE}, - msg, - program::invoke, - pubkey::Pubkey, - system_instruction, system_program, - }, + solana_account_info::{AccountInfo, MAX_PERMITTED_DATA_INCREASE}, + solana_msg::msg, + solana_program::program::invoke, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, solana_sbf_rust_realloc_dep::*, + solana_system_interface::{instruction as system_instruction, program as system_program}, std::{convert::TryInto, mem}, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/realloc_dep/Cargo.toml b/programs/sbf/rust/realloc_dep/Cargo.toml index 40b01115e09c64..c2b90bb6f4aa4f 100644 --- a/programs/sbf/rust/realloc_dep/Cargo.toml +++ b/programs/sbf/rust/realloc_dep/Cargo.toml @@ -9,7 +9,8 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-instruction = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["lib"] diff --git a/programs/sbf/rust/realloc_dep/src/lib.rs b/programs/sbf/rust/realloc_dep/src/lib.rs index e15ba5d48c5e21..4ff808f6ccfe53 100644 --- a/programs/sbf/rust/realloc_dep/src/lib.rs +++ b/programs/sbf/rust/realloc_dep/src/lib.rs @@ -1,8 +1,8 @@ //! Example Rust-based SBF realloc test program -use solana_program::{ - instruction::{AccountMeta, Instruction}, - pubkey::Pubkey, +use { + solana_instruction::{AccountMeta, Instruction}, + solana_pubkey::Pubkey, }; pub const REALLOC: u8 = 1; diff --git a/programs/sbf/rust/realloc_invoke/Cargo.toml b/programs/sbf/rust/realloc_invoke/Cargo.toml index 010fd1550f66ea..958f5090ee6c9b 100644 --- a/programs/sbf/rust/realloc_invoke/Cargo.toml +++ b/programs/sbf/rust/realloc_invoke/Cargo.toml @@ -9,9 +9,16 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-instruction = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } solana-sbf-rust-realloc-dep = { workspace = true } solana-sbf-rust-realloc-invoke-dep = { workspace = true } +solana-system-interface = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/realloc_invoke/src/lib.rs b/programs/sbf/rust/realloc_invoke/src/lib.rs index 1f12ac376c7c15..b6c521b047c261 100644 --- a/programs/sbf/rust/realloc_invoke/src/lib.rs +++ b/programs/sbf/rust/realloc_invoke/src/lib.rs @@ -1,22 +1,19 @@ //! Example Rust-based SBF realloc test program -extern crate solana_program; use { - solana_program::{ - account_info::AccountInfo, - entrypoint::{ProgramResult, MAX_PERMITTED_DATA_INCREASE}, - instruction::{AccountMeta, Instruction}, - msg, - program::invoke, - pubkey::Pubkey, - system_instruction, system_program, - }, + solana_account_info::{AccountInfo, MAX_PERMITTED_DATA_INCREASE}, + solana_instruction::{AccountMeta, Instruction}, + solana_msg::msg, + solana_program::program::invoke, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, solana_sbf_rust_realloc_dep::*, solana_sbf_rust_realloc_invoke_dep::*, + solana_system_interface::{instruction as system_instruction, program as system_program}, std::convert::TryInto, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/remaining_compute_units/Cargo.toml b/programs/sbf/rust/remaining_compute_units/Cargo.toml index 3dceb27455ee23..8b697119545e2d 100644 --- a/programs/sbf/rust/remaining_compute_units/Cargo.toml +++ b/programs/sbf/rust/remaining_compute_units/Cargo.toml @@ -9,7 +9,12 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/remaining_compute_units/src/lib.rs b/programs/sbf/rust/remaining_compute_units/src/lib.rs index 4259799e0add1a..91d9dd15e27424 100644 --- a/programs/sbf/rust/remaining_compute_units/src/lib.rs +++ b/programs/sbf/rust/remaining_compute_units/src/lib.rs @@ -1,11 +1,11 @@ //! @brief Example Rust-based BPF program that exercises the sol_remaining_compute_units syscall -extern crate solana_program; -use solana_program::{ - account_info::AccountInfo, compute_units::sol_remaining_compute_units, - entrypoint::ProgramResult, msg, pubkey::Pubkey, +use { + solana_account_info::AccountInfo, solana_msg::msg, + solana_program::compute_units::sol_remaining_compute_units, + solana_program_error::ProgramResult, solana_pubkey::Pubkey, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); pub fn process_instruction( _program_id: &Pubkey, _accounts: &[AccountInfo], diff --git a/programs/sbf/rust/ro_account_modify/Cargo.toml b/programs/sbf/rust/ro_account_modify/Cargo.toml index c9f6b94e4ece4b..a761d3549f8be3 100644 --- a/programs/sbf/rust/ro_account_modify/Cargo.toml +++ b/programs/sbf/rust/ro_account_modify/Cargo.toml @@ -9,7 +9,13 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-instruction = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/ro_account_modify/src/lib.rs b/programs/sbf/rust/ro_account_modify/src/lib.rs index 3fca230c183915..485e88f7128f6a 100644 --- a/programs/sbf/rust/ro_account_modify/src/lib.rs +++ b/programs/sbf/rust/ro_account_modify/src/lib.rs @@ -1,10 +1,10 @@ -use solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - instruction::{AccountMeta, Instruction}, - msg, - program::invoke, - pubkey::Pubkey, +use { + solana_account_info::AccountInfo, + solana_instruction::{AccountMeta, Instruction}, + solana_msg::msg, + solana_program::program::invoke, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, }; const ARGUMENT_INDEX: usize = 0; @@ -14,7 +14,7 @@ const INSTRUCTION_INVOKE_MODIFY: u8 = 1; const INSTRUCTION_MODIFY_INVOKE: u8 = 2; const INSTRUCTION_VERIFY_MODIFIED: u8 = 3; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/ro_modify/Cargo.toml b/programs/sbf/rust/ro_modify/Cargo.toml index 566734108df255..173de0ac9eaa52 100644 --- a/programs/sbf/rust/ro_modify/Cargo.toml +++ b/programs/sbf/rust/ro_modify/Cargo.toml @@ -9,7 +9,13 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } +solana-system-interface = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/ro_modify/src/lib.rs b/programs/sbf/rust/ro_modify/src/lib.rs index de005569efafcd..80ecf1325563cc 100644 --- a/programs/sbf/rust/ro_modify/src/lib.rs +++ b/programs/sbf/rust/ro_modify/src/lib.rs @@ -1,8 +1,12 @@ #![cfg(target_os = "solana")] -use solana_program::{ - account_info::AccountInfo, entrypoint::ProgramResult, msg, program::invoke, - program_error::ProgramError, pubkey::Pubkey, syscalls::sol_invoke_signed_c, system_instruction, +use { + solana_account_info::AccountInfo, + solana_msg::msg, + solana_program::{program::invoke, syscalls::sol_invoke_signed_c}, + solana_program_error::{ProgramError, ProgramResult}, + solana_pubkey::Pubkey, + solana_system_interface::instruction as system_instruction, }; #[derive(Debug)] @@ -92,7 +96,7 @@ fn check_preconditions( Ok(()) } -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/sanity/Cargo.toml b/programs/sbf/rust/sanity/Cargo.toml index d5c47f9deb46b2..4b69d911b72123 100644 --- a/programs/sbf/rust/sanity/Cargo.toml +++ b/programs/sbf/rust/sanity/Cargo.toml @@ -9,7 +9,13 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } +solana-sdk-ids = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/sanity/src/lib.rs b/programs/sbf/rust/sanity/src/lib.rs index cb4cbc6353624c..b8cacf22795435 100644 --- a/programs/sbf/rust/sanity/src/lib.rs +++ b/programs/sbf/rust/sanity/src/lib.rs @@ -3,10 +3,16 @@ #![allow(unreachable_code)] #![allow(clippy::arithmetic_side_effects)] -extern crate solana_program; -use solana_program::{ - account_info::AccountInfo, bpf_loader, entrypoint::ProgramResult, log::*, msg, - program::check_type_assumptions, pubkey::Pubkey, +use { + solana_account_info::AccountInfo, + solana_msg::msg, + solana_program::{ + log::{sol_log_compute_units, sol_log_params}, + program::check_type_assumptions, + }, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, + solana_sdk_ids::bpf_loader, }; #[derive(Debug, PartialEq)] @@ -36,7 +42,7 @@ fn return_sstruct() -> SStruct { SStruct { x: 1, y: 2, z: 3 } } -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); pub fn process_instruction( program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/secp256k1_recover/Cargo.toml b/programs/sbf/rust/secp256k1_recover/Cargo.toml index 357bf03e14e591..91981bc3e39d85 100644 --- a/programs/sbf/rust/secp256k1_recover/Cargo.toml +++ b/programs/sbf/rust/secp256k1_recover/Cargo.toml @@ -10,7 +10,9 @@ edition = { workspace = true } [dependencies] libsecp256k1 = { workspace = true } -solana-program = { workspace = true } +solana-keccak-hasher = { workspace = true } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } solana-secp256k1-recover = { workspace = true } [lib] diff --git a/programs/sbf/rust/secp256k1_recover/src/lib.rs b/programs/sbf/rust/secp256k1_recover/src/lib.rs index 09b239e090a147..1b749d5aef1565 100644 --- a/programs/sbf/rust/secp256k1_recover/src/lib.rs +++ b/programs/sbf/rust/secp256k1_recover/src/lib.rs @@ -1,9 +1,9 @@ #![allow(clippy::arithmetic_side_effects)] //! Secp256k1Recover Syscall test -extern crate solana_program; use { - solana_program::{custom_heap_default, custom_panic_default, msg}, + solana_msg::msg, + solana_program_entrypoint::{custom_heap_default, custom_panic_default}, solana_secp256k1_recover::secp256k1_recover, }; @@ -38,7 +38,7 @@ fn test_secp256k1_recover() { fn test_secp256k1_recover_malleability() { let message = b"hello world"; let message_hash = { - let mut hasher = solana_program::keccak::Hasher::default(); + let mut hasher = solana_keccak_hasher::Hasher::default(); hasher.hash(message); hasher.result() }; diff --git a/programs/sbf/rust/sha/Cargo.toml b/programs/sbf/rust/sha/Cargo.toml index d5f13a040537b9..aa477926d01bed 100644 --- a/programs/sbf/rust/sha/Cargo.toml +++ b/programs/sbf/rust/sha/Cargo.toml @@ -10,7 +10,11 @@ edition = { workspace = true } [dependencies] blake3 = { workspace = true } -solana-program = { workspace = true } +solana-blake3-hasher = { workspace = true } +solana-keccak-hasher = { workspace = true } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-sha256-hasher = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/sha/src/lib.rs b/programs/sbf/rust/sha/src/lib.rs index bc1579b22bd744..3763969a13aa06 100644 --- a/programs/sbf/rust/sha/src/lib.rs +++ b/programs/sbf/rust/sha/src/lib.rs @@ -1,10 +1,12 @@ //! SHA Syscall test -extern crate solana_program; -use solana_program::{custom_heap_default, custom_panic_default, msg}; +use { + solana_msg::msg, + solana_program_entrypoint::{custom_heap_default, custom_panic_default}, +}; fn test_sha256_hasher() { - use solana_program::hash::{hashv, Hasher}; + use solana_sha256_hasher::{hashv, Hasher}; let vals = &["Gaggablaghblagh!".as_ref(), "flurbos".as_ref()]; let mut hasher = Hasher::default(); hasher.hashv(vals); @@ -12,7 +14,7 @@ fn test_sha256_hasher() { } fn test_keccak256_hasher() { - use solana_program::keccak::{hashv, Hasher}; + use solana_keccak_hasher::{hashv, Hasher}; let vals = &["Gaggablaghblagh!".as_ref(), "flurbos".as_ref()]; let mut hasher = Hasher::default(); hasher.hashv(vals); @@ -20,7 +22,7 @@ fn test_keccak256_hasher() { } fn test_blake3_hasher() { - use solana_program::blake3::hashv; + use solana_blake3_hasher::hashv; let v0: &[u8] = b"Gaggablaghblagh!"; let v1: &[u8] = b"flurbos!"; let vals: &[&[u8]] = &[v0, v1]; diff --git a/programs/sbf/rust/sibling_inner_instructions/Cargo.toml b/programs/sbf/rust/sibling_inner_instructions/Cargo.toml index f77323954bbfd8..b94be85268690f 100644 --- a/programs/sbf/rust/sibling_inner_instructions/Cargo.toml +++ b/programs/sbf/rust/sibling_inner_instructions/Cargo.toml @@ -9,7 +9,12 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-account-info = { workspace = true } +solana-instruction = { workspace = true, features = ["syscalls"] } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/sibling_inner_instructions/src/lib.rs b/programs/sbf/rust/sibling_inner_instructions/src/lib.rs index 1aa6e85e80fe90..5d4f1bb1ff1997 100644 --- a/programs/sbf/rust/sibling_inner_instructions/src/lib.rs +++ b/programs/sbf/rust/sibling_inner_instructions/src/lib.rs @@ -2,18 +2,18 @@ #![allow(clippy::arithmetic_side_effects)] -use solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - instruction::{ - get_processed_sibling_instruction, get_stack_height, AccountMeta, Instruction, - TRANSACTION_LEVEL_STACK_HEIGHT, +use { + solana_account_info::AccountInfo, + solana_instruction::{ + syscalls::{get_processed_sibling_instruction, get_stack_height}, + AccountMeta, Instruction, TRANSACTION_LEVEL_STACK_HEIGHT, }, - msg, - pubkey::Pubkey, + solana_msg::msg, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( _program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/sibling_instructions/Cargo.toml b/programs/sbf/rust/sibling_instructions/Cargo.toml index a23ab923f7b5c8..87d7cee3422c3c 100644 --- a/programs/sbf/rust/sibling_instructions/Cargo.toml +++ b/programs/sbf/rust/sibling_instructions/Cargo.toml @@ -9,7 +9,13 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-instruction = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/sibling_instructions/src/lib.rs b/programs/sbf/rust/sibling_instructions/src/lib.rs index a1406a9eb65209..246829704d7770 100644 --- a/programs/sbf/rust/sibling_instructions/src/lib.rs +++ b/programs/sbf/rust/sibling_instructions/src/lib.rs @@ -1,18 +1,18 @@ //! Example Rust-based SBF program that queries sibling instructions -use solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - instruction::{ - get_processed_sibling_instruction, get_stack_height, AccountMeta, Instruction, - TRANSACTION_LEVEL_STACK_HEIGHT, +use { + solana_account_info::AccountInfo, + solana_instruction::{AccountMeta, Instruction, TRANSACTION_LEVEL_STACK_HEIGHT}, + solana_msg::msg, + solana_program::{ + instruction::{get_processed_sibling_instruction, get_stack_height}, + program::invoke, }, - msg, - program::invoke, - pubkey::Pubkey, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( _program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/simulation/Cargo.toml b/programs/sbf/rust/simulation/Cargo.toml index 7928cc7df43cce..e9b4f03839833e 100644 --- a/programs/sbf/rust/simulation/Cargo.toml +++ b/programs/sbf/rust/simulation/Cargo.toml @@ -9,7 +9,13 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-account-info = { workspace = true } +solana-clock = { workspace = true } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } +solana-sysvar = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/simulation/src/lib.rs b/programs/sbf/rust/simulation/src/lib.rs index 8decae36b58811..8af47ee069d510 100644 --- a/programs/sbf/rust/simulation/src/lib.rs +++ b/programs/sbf/rust/simulation/src/lib.rs @@ -1,21 +1,18 @@ #![allow(clippy::arithmetic_side_effects)] use { - solana_program::{ - account_info::{next_account_info, AccountInfo}, - clock::Clock, - declare_id, - entrypoint::ProgramResult, - msg, - pubkey::Pubkey, - sysvar::Sysvar, - }, + solana_account_info::{next_account_info, AccountInfo}, + solana_clock::Clock, + solana_msg::msg, + solana_program_error::ProgramResult, + solana_pubkey::{declare_id, Pubkey}, + solana_sysvar::Sysvar, std::convert::TryInto, }; declare_id!("Sim1jD5C35odT8mzctm8BWnjic8xW5xgeb5MbcbErTo"); -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); pub fn process_instruction( _program_id: &Pubkey, diff --git a/programs/sbf/rust/spoof1/Cargo.toml b/programs/sbf/rust/spoof1/Cargo.toml index 59298bdc7105f1..536e2a6a11de96 100644 --- a/programs/sbf/rust/spoof1/Cargo.toml +++ b/programs/sbf/rust/spoof1/Cargo.toml @@ -9,7 +9,14 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-instruction = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } +solana-system-interface = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/spoof1/src/lib.rs b/programs/sbf/rust/spoof1/src/lib.rs index c6efd612ef50fc..da51f7d9e46676 100644 --- a/programs/sbf/rust/spoof1/src/lib.rs +++ b/programs/sbf/rust/spoof1/src/lib.rs @@ -1,15 +1,14 @@ -use solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - instruction::{AccountMeta, Instruction}, - msg, - program::invoke, - pubkey::Pubkey, - system_instruction::SystemInstruction, - system_program, +use { + solana_account_info::AccountInfo, + solana_instruction::{AccountMeta, Instruction}, + solana_msg::msg, + solana_program::program::invoke, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, + solana_system_interface::{instruction::SystemInstruction, program as system_program}, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( _program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/spoof1_system/Cargo.toml b/programs/sbf/rust/spoof1_system/Cargo.toml index 5c6ab906805d09..4f3d5a077f4a15 100644 --- a/programs/sbf/rust/spoof1_system/Cargo.toml +++ b/programs/sbf/rust/spoof1_system/Cargo.toml @@ -9,7 +9,10 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-account-info = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/spoof1_system/src/lib.rs b/programs/sbf/rust/spoof1_system/src/lib.rs index b4956414077b56..d0471cef681480 100644 --- a/programs/sbf/rust/spoof1_system/src/lib.rs +++ b/programs/sbf/rust/spoof1_system/src/lib.rs @@ -1,8 +1,10 @@ #![allow(clippy::arithmetic_side_effects)] -use solana_program::{account_info::AccountInfo, entrypoint::ProgramResult, pubkey::Pubkey}; +use { + solana_account_info::AccountInfo, solana_program_error::ProgramResult, solana_pubkey::Pubkey, +}; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( _program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/syscall-get-epoch-stake/Cargo.toml b/programs/sbf/rust/syscall-get-epoch-stake/Cargo.toml index 006c3bf07aa48f..bfeea0a3944114 100644 --- a/programs/sbf/rust/syscall-get-epoch-stake/Cargo.toml +++ b/programs/sbf/rust/syscall-get-epoch-stake/Cargo.toml @@ -9,7 +9,12 @@ license = { workspace = true } edition = { workspace = true } [dependencies] +solana-account-info = { workspace = true } +solana-msg = { workspace = true } solana-program = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/syscall-get-epoch-stake/src/lib.rs b/programs/sbf/rust/syscall-get-epoch-stake/src/lib.rs index 986ed681409a2a..c416c370ac9736 100644 --- a/programs/sbf/rust/syscall-get-epoch-stake/src/lib.rs +++ b/programs/sbf/rust/syscall-get-epoch-stake/src/lib.rs @@ -1,17 +1,18 @@ //! Example Rust-based SBF program that tests the `sol_get_epoch_stake` //! syscall. -extern crate solana_program; -use solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - epoch_stake::{get_epoch_stake_for_vote_account, get_epoch_total_stake}, - msg, - program::set_return_data, - pubkey::Pubkey, +use { + solana_account_info::AccountInfo, + solana_msg::msg, + solana_program::{ + epoch_stake::{get_epoch_stake_for_vote_account, get_epoch_total_stake}, + program::set_return_data, + }, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); pub fn process_instruction( _program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/sysvar/Cargo.toml b/programs/sbf/rust/sysvar/Cargo.toml index 0a4b9c222c642c..b09944e95f61e3 100644 --- a/programs/sbf/rust/sysvar/Cargo.toml +++ b/programs/sbf/rust/sysvar/Cargo.toml @@ -10,7 +10,16 @@ edition = { workspace = true } [dependencies] bincode = { workspace = true } -solana-program = { workspace = true } +solana-account-info = { workspace = true } +solana-define-syscall = { workspace = true } +solana-instruction = { workspace = true } +solana-instructions-sysvar = { workspace = true } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } +solana-sdk-ids = { workspace = true } +solana-sysvar = { workspace = true } [lib] crate-type = ["cdylib"] diff --git a/programs/sbf/rust/sysvar/src/lib.rs b/programs/sbf/rust/sysvar/src/lib.rs index 2556e404360b4d..9ed258ff7968e6 100644 --- a/programs/sbf/rust/sysvar/src/lib.rs +++ b/programs/sbf/rust/sysvar/src/lib.rs @@ -1,31 +1,28 @@ //! Example Rust-based SBF program that tests sysvar use -extern crate solana_program; #[allow(deprecated)] -use solana_program::sysvar::recent_blockhashes::RecentBlockhashes; -use solana_program::{ - account_info::AccountInfo, - entrypoint::ProgramResult, - instruction::{AccountMeta, Instruction}, - msg, - program_error::ProgramError, - pubkey::Pubkey, - stake_history::StakeHistoryGetEntry, - sysvar::{ - self, +use solana_sysvar::recent_blockhashes::RecentBlockhashes; +use { + solana_account_info::AccountInfo, + solana_instruction::{AccountMeta, Instruction}, + solana_instructions_sysvar as instructions, + solana_msg::msg, + solana_program_error::{ProgramError, ProgramResult}, + solana_pubkey::Pubkey, + solana_sdk_ids::sysvar, + solana_sysvar::{ clock::Clock, epoch_rewards::EpochRewards, epoch_schedule::EpochSchedule, - instructions, rent::Rent, slot_hashes::{PodSlotHashes, SlotHashes}, slot_history::SlotHistory, - stake_history::{StakeHistory, StakeHistorySysvar}, + stake_history::{StakeHistory, StakeHistoryGetEntry, StakeHistorySysvar}, Sysvar, }, }; -// Adapted from `solana_program::sysvar::get_sysvar` (private). +// Adapted from `solana_sysvar::get_sysvar` (private). #[cfg(target_os = "solana")] fn sol_get_sysvar_handler(dst: &mut [u8], offset: u64, length: u64) -> Result<(), ProgramError> where @@ -34,11 +31,12 @@ where let sysvar_id = &T::id() as *const _ as *const u8; let var_addr = dst as *mut _ as *mut u8; - let result = - unsafe { solana_program::syscalls::sol_get_sysvar(sysvar_id, var_addr, offset, length) }; + let result = unsafe { + solana_define_syscall::definitions::sol_get_sysvar(sysvar_id, var_addr, offset, length) + }; match result { - solana_program::entrypoint::SUCCESS => Ok(()), + solana_program_entrypoint::SUCCESS => Ok(()), e => Err(e.into()), } } @@ -61,7 +59,7 @@ where Err(ProgramError::UnsupportedSysvar) } -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); pub fn process_instruction( program_id: &Pubkey, accounts: &[AccountInfo], @@ -150,7 +148,7 @@ pub fn process_instruction( Some(&1) => { // Instructions msg!("Instructions identifier:"); - sysvar::instructions::id().log(); + instructions::id().log(); assert_eq!(*accounts[4].owner, sysvar::id()); let index = instructions::load_current_index_checked(&accounts[4])?; let instruction = diff --git a/programs/sbf/rust/upgradeable/Cargo.toml b/programs/sbf/rust/upgradeable/Cargo.toml index 57ebcd4b0ca909..f4c5643a2c7592 100644 --- a/programs/sbf/rust/upgradeable/Cargo.toml +++ b/programs/sbf/rust/upgradeable/Cargo.toml @@ -9,7 +9,12 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-account-info = { workspace = true } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } +solana-sysvar = { workspace = true } [lib] name = "solana_sbf_rust_upgradeable" diff --git a/programs/sbf/rust/upgradeable/src/lib.rs b/programs/sbf/rust/upgradeable/src/lib.rs index cc1160f0e277da..1f2702936075d3 100644 --- a/programs/sbf/rust/upgradeable/src/lib.rs +++ b/programs/sbf/rust/upgradeable/src/lib.rs @@ -1,11 +1,11 @@ //! Example Rust-based SBF upgradeable program -extern crate solana_program; -use solana_program::{ - account_info::AccountInfo, entrypoint::ProgramResult, msg, pubkey::Pubkey, sysvar::clock, +use { + solana_account_info::AccountInfo, solana_msg::msg, solana_program_error::ProgramResult, + solana_pubkey::Pubkey, solana_sysvar::clock, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( _program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/programs/sbf/rust/upgraded/Cargo.toml b/programs/sbf/rust/upgraded/Cargo.toml index 1214467993b0e9..2c668fc24a3042 100644 --- a/programs/sbf/rust/upgraded/Cargo.toml +++ b/programs/sbf/rust/upgraded/Cargo.toml @@ -9,7 +9,12 @@ license = { workspace = true } edition = { workspace = true } [dependencies] -solana-program = { workspace = true } +solana-account-info = { workspace = true } +solana-msg = { workspace = true } +solana-program-entrypoint = { workspace = true } +solana-program-error = { workspace = true } +solana-pubkey = { workspace = true } +solana-sysvar = { workspace = true } [lib] name = "solana_sbf_rust_upgraded" diff --git a/programs/sbf/rust/upgraded/src/lib.rs b/programs/sbf/rust/upgraded/src/lib.rs index 085f532f28923a..1a861b86af5a01 100644 --- a/programs/sbf/rust/upgraded/src/lib.rs +++ b/programs/sbf/rust/upgraded/src/lib.rs @@ -1,11 +1,11 @@ //! Example Rust-based SBF upgraded program -extern crate solana_program; -use solana_program::{ - account_info::AccountInfo, entrypoint::ProgramResult, msg, pubkey::Pubkey, sysvar::clock, +use { + solana_account_info::AccountInfo, solana_msg::msg, solana_program_error::ProgramResult, + solana_pubkey::Pubkey, solana_sysvar::clock, }; -solana_program::entrypoint_no_alloc!(process_instruction); +solana_program_entrypoint::entrypoint_no_alloc!(process_instruction); fn process_instruction( _program_id: &Pubkey, accounts: &[AccountInfo], diff --git a/rpc-client/Cargo.toml b/rpc-client/Cargo.toml index f781a0fa670a9f..19d2520d486d36 100644 --- a/rpc-client/Cargo.toml +++ b/rpc-client/Cargo.toml @@ -40,6 +40,7 @@ solana-transaction = { workspace = true, features = ["bincode"] } solana-transaction-error = { workspace = true } solana-transaction-status-client-types = { workspace = true } solana-version = { workspace = true } +solana-vote-interface = { workspace = true } tokio = { workspace = true, features = ["full"] } [dev-dependencies] @@ -50,7 +51,6 @@ jsonrpc-core = { workspace = true } jsonrpc-http-server = { workspace = true } solana-account-decoder = { workspace = true } solana-keypair = { workspace = true } -solana-program = { workspace = true, default-features = false } solana-pubkey = { workspace = true, features = ["rand"] } solana-signer = { workspace = true } solana-system-transaction = { workspace = true } diff --git a/rpc-client/src/nonblocking/rpc_client.rs b/rpc-client/src/nonblocking/rpc_client.rs index 41c045cba71975..8da0562052e1ab 100644 --- a/rpc-client/src/nonblocking/rpc_client.rs +++ b/rpc-client/src/nonblocking/rpc_client.rs @@ -49,6 +49,7 @@ use { EncodedConfirmedBlock, EncodedConfirmedTransactionWithStatusMeta, TransactionStatus, UiConfirmedBlock, UiTransactionEncoding, }, + solana_vote_interface::state::MAX_LOCKOUT_HISTORY, std::{ net::SocketAddr, str::FromStr, @@ -56,13 +57,6 @@ use { }, tokio::time::sleep, }; -// inlined to avoid a solana_program dep -const MAX_LOCKOUT_HISTORY: usize = 31; -#[cfg(test)] -static_assertions::const_assert_eq!( - MAX_LOCKOUT_HISTORY, - solana_program::vote::state::MAX_LOCKOUT_HISTORY -); /// A client of a remote Solana node. /// diff --git a/runtime-transaction/Cargo.toml b/runtime-transaction/Cargo.toml index 9bae40762bd77f..67c6cc82a15b4d 100644 --- a/runtime-transaction/Cargo.toml +++ b/runtime-transaction/Cargo.toml @@ -38,12 +38,12 @@ solana-compute-budget-instruction = { workspace = true, features = ["dev-context solana-compute-budget-interface = { workspace = true } solana-instruction = { workspace = true } solana-keypair = { workspace = true } -solana-program = { workspace = true } solana-pubkey = { workspace = true, features = ["rand"] } solana-signer = { workspace = true } solana-system-interface = { workspace = true, features = ["bincode"] } solana-system-transaction = { workspace = true } solana-transaction = { workspace = true, features = ["blake3"] } +solana-vote-interface = { workspace = true } [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] diff --git a/runtime-transaction/src/runtime_transaction/sdk_transactions.rs b/runtime-transaction/src/runtime_transaction/sdk_transactions.rs index 74c93b72d28e8f..f8662918ff14f1 100644 --- a/runtime-transaction/src/runtime_transaction/sdk_transactions.rs +++ b/runtime-transaction/src/runtime_transaction/sdk_transactions.rs @@ -164,10 +164,10 @@ mod tests { solana_instruction::Instruction, solana_keypair::Keypair, solana_message::{Message, SimpleAddressLoader}, - solana_program::vote::{self, state::Vote}, solana_signer::Signer, solana_system_interface::instruction as system_instruction, solana_transaction::{versioned::VersionedTransaction, Transaction}, + solana_vote_interface::{self as vote, state::Vote}, }; fn vote_sanitized_versioned_transaction() -> SanitizedVersionedTransaction { diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index d40b38137b14a6..4779d11b8b45e8 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -98,7 +98,6 @@ solana-packet = { workspace = true } solana-perf = { workspace = true } solana-poh-config = { workspace = true } solana-precompile-error = { workspace = true } -solana-program = { workspace = true } solana-program-runtime = { workspace = true, features = ["metrics"] } solana-pubkey = { workspace = true, features = ["rand"] } solana-rayon-threadlimit = { workspace = true } diff --git a/runtime/src/inflation_rewards/mod.rs b/runtime/src/inflation_rewards/mod.rs index 93d9f5f83a1350..c381c93df25ef2 100644 --- a/runtime/src/inflation_rewards/mod.rs +++ b/runtime/src/inflation_rewards/mod.rs @@ -256,7 +256,7 @@ fn commission_split(commission: u8, on: u64) -> (u64, u64, bool) { mod tests { use { self::points::null_tracer, super::*, solana_native_token::sol_to_lamports, - solana_program::stake::state::Delegation, solana_pubkey::Pubkey, + solana_pubkey::Pubkey, solana_stake_interface::state::Delegation, solana_vote_program::vote_state::VoteState, test_case::test_case, }; diff --git a/svm/examples/Cargo.lock b/svm/examples/Cargo.lock index 0b4b6cb3f348bc..2226ec216b00ed 100644 --- a/svm/examples/Cargo.lock +++ b/svm/examples/Cargo.lock @@ -5341,10 +5341,15 @@ dependencies = [ "futures 0.3.31", "solana-account", "solana-banks-interface", + "solana-clock", "solana-commitment-config", + "solana-hash", "solana-message", - "solana-program", + "solana-program-pack", + "solana-pubkey", + "solana-rent", "solana-signature", + "solana-sysvar", "solana-transaction", "solana-transaction-context", "solana-transaction-error", @@ -5638,11 +5643,11 @@ dependencies = [ "solana-message", "solana-native-token", "solana-packet", - "solana-program", "solana-pubkey", "solana-rpc-client-api", "solana-sdk-ids", "solana-signature", + "solana-stake-interface", "solana-system-interface", "solana-sysvar", "solana-transaction", @@ -7127,7 +7132,6 @@ dependencies = [ "solana-clock", "solana-commitment-config", "solana-compute-budget", - "solana-cpi", "solana-epoch-rewards", "solana-epoch-schedule", "solana-fee-calculator", @@ -7453,6 +7457,7 @@ dependencies = [ "solana-transaction-error", "solana-transaction-status-client-types", "solana-version", + "solana-vote-interface", "tokio", ] @@ -7601,7 +7606,6 @@ dependencies = [ "solana-perf", "solana-poh-config", "solana-precompile-error", - "solana-program", "solana-program-runtime", "solana-pubkey", "solana-rayon-threadlimit", @@ -8834,13 +8838,13 @@ dependencies = [ "solana-gossip", "solana-hash", "solana-ledger", - "solana-program", "solana-pubkey", "solana-runtime", "solana-shred-version", "solana-time-utils", "solana-timings", "solana-vote", + "solana-vote-interface", "solana-vote-program", ] diff --git a/svm/tests/example-programs/clock-sysvar/Cargo.toml b/svm/tests/example-programs/clock-sysvar/Cargo.toml index dc7ebba713aeff..b556cf2b13621e 100644 --- a/svm/tests/example-programs/clock-sysvar/Cargo.toml +++ b/svm/tests/example-programs/clock-sysvar/Cargo.toml @@ -4,7 +4,6 @@ version = "2.3.0" edition = "2021" [dependencies] -solana-program = { path = "../../../../sdk/program", version = "=2.2.0" } [lib] crate-type = ["cdylib", "rlib"] diff --git a/svm/tests/example-programs/clock-sysvar/src/lib.rs b/svm/tests/example-programs/clock-sysvar/src/lib.rs index 4907487d962c5b..16c161c3990a5d 100644 --- a/svm/tests/example-programs/clock-sysvar/src/lib.rs +++ b/svm/tests/example-programs/clock-sysvar/src/lib.rs @@ -1,6 +1,7 @@ -use solana_program::{ - account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, pubkey::Pubkey, - sysvar::{clock::Clock, Sysvar}, program::set_return_data +use { + solana_account_info::AccountInfo, solana_program_entrypoint::entrypoint, + solana_program_error::ProgramResult, solana_pubkey::Pubkey, + solana_sysvar::{clock::Clock, Sysvar}, solana_program::program::set_return_data }; entrypoint!(process_instruction); diff --git a/svm/tests/example-programs/hello-solana/Cargo.toml b/svm/tests/example-programs/hello-solana/Cargo.toml index b40de3b996b0c7..5e89292fe2dbc4 100644 --- a/svm/tests/example-programs/hello-solana/Cargo.toml +++ b/svm/tests/example-programs/hello-solana/Cargo.toml @@ -4,7 +4,6 @@ version = "2.3.0" edition = "2021" [dependencies] -solana-program = { path = "../../../../sdk/program", version = "=2.2.0" } [lib] crate-type = ["cdylib", "rlib"] diff --git a/svm/tests/example-programs/hello-solana/src/lib.rs b/svm/tests/example-programs/hello-solana/src/lib.rs index 249179a6617b5d..e20aa92e545eee 100644 --- a/svm/tests/example-programs/hello-solana/src/lib.rs +++ b/svm/tests/example-programs/hello-solana/src/lib.rs @@ -1,5 +1,9 @@ -use solana_program::{ - account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, msg, pubkey::Pubkey, +use { + solana_account_info::AccountInfo, + solana_program_entrypoint::entrypoint, + solana_program_error::ProgramResult, + solana_msg::msg, + solana_pubkey::Pubkey, }; entrypoint!(process_instruction); diff --git a/svm/tests/example-programs/simple-transfer/Cargo.toml b/svm/tests/example-programs/simple-transfer/Cargo.toml index 58446dec814fe8..8599c0b94cd932 100644 --- a/svm/tests/example-programs/simple-transfer/Cargo.toml +++ b/svm/tests/example-programs/simple-transfer/Cargo.toml @@ -4,7 +4,6 @@ version = "2.3.0" edition = "2021" [dependencies] -solana-program = { path = "../../../../sdk/program", version = "=2.2.0" } [lib] crate-type = ["cdylib", "rlib"] diff --git a/svm/tests/example-programs/simple-transfer/src/lib.rs b/svm/tests/example-programs/simple-transfer/src/lib.rs index dc82f8d83330e5..e9f624c7f2a3f5 100644 --- a/svm/tests/example-programs/simple-transfer/src/lib.rs +++ b/svm/tests/example-programs/simple-transfer/src/lib.rs @@ -1,6 +1,10 @@ -use solana_program::{ - account_info::{AccountInfo, next_account_info}, entrypoint, entrypoint::ProgramResult, pubkey::Pubkey, - program::invoke, system_instruction, +use { + solana_account_info::{AccountInfo, next_account_info}, + solana_program_entrypoint::entrypoint, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, + solana_program::program::invoke, + solana_system_interface::instruction as system_instruction, }; entrypoint!(process_instruction); diff --git a/svm/tests/example-programs/transfer-from-account/Cargo.toml b/svm/tests/example-programs/transfer-from-account/Cargo.toml index 1e7bd9da8b525f..bf69334d33513f 100644 --- a/svm/tests/example-programs/transfer-from-account/Cargo.toml +++ b/svm/tests/example-programs/transfer-from-account/Cargo.toml @@ -4,7 +4,6 @@ version = "2.3.0" edition = "2021" [dependencies] -solana-program = { path = "../../../../sdk/program", version = "=2.2.0" } [lib] crate-type = ["cdylib", "rlib"] diff --git a/svm/tests/example-programs/transfer-from-account/src/lib.rs b/svm/tests/example-programs/transfer-from-account/src/lib.rs index 08494a13ce0395..4cf5eb99494987 100644 --- a/svm/tests/example-programs/transfer-from-account/src/lib.rs +++ b/svm/tests/example-programs/transfer-from-account/src/lib.rs @@ -1,6 +1,10 @@ -use solana_program::{ - account_info::{AccountInfo, next_account_info}, entrypoint, entrypoint::ProgramResult, pubkey::Pubkey, - program::invoke, system_instruction, +use { + solana_account_info::{AccountInfo, next_account_info}, + solana_program_entrypoint::entrypoint, + solana_program_error::ProgramResult, + solana_pubkey::Pubkey, + solana_program::program::invoke, + solana_system_interface::instruction as system_instruction, }; entrypoint!(process_instruction); diff --git a/svm/tests/example-programs/write-to-account/Cargo.toml b/svm/tests/example-programs/write-to-account/Cargo.toml index 87baecef2e6610..d5d1e598cc0873 100644 --- a/svm/tests/example-programs/write-to-account/Cargo.toml +++ b/svm/tests/example-programs/write-to-account/Cargo.toml @@ -4,7 +4,6 @@ version = "2.3.0" edition = "2021" [dependencies] -solana-program = { path = "../../../../sdk/program", version = "=2.2.0" } [lib] crate-type = ["cdylib", "rlib"] diff --git a/svm/tests/example-programs/write-to-account/src/lib.rs b/svm/tests/example-programs/write-to-account/src/lib.rs index 8b3468e4290eb4..bcaa7a45411a4c 100644 --- a/svm/tests/example-programs/write-to-account/src/lib.rs +++ b/svm/tests/example-programs/write-to-account/src/lib.rs @@ -1,10 +1,10 @@ -use solana_program::{ - account_info::{next_account_info, AccountInfo}, - entrypoint, - entrypoint::ProgramResult, - incinerator, msg, - program_error::ProgramError, - pubkey::Pubkey, +use { + solana_account_info::{next_account_info, AccountInfo}, + solana_program_entrypoint::entrypoint, + solana_program_error::ProgramResult, + solana_sdk_ids::incinerator, solana_msg::msg, + solana_program_error::ProgramError, + solana_pubkey::Pubkey, }; entrypoint!(process_instruction); diff --git a/wen-restart/Cargo.toml b/wen-restart/Cargo.toml index 894c6a0101c931..4cff455b476687 100644 --- a/wen-restart/Cargo.toml +++ b/wen-restart/Cargo.toml @@ -21,13 +21,13 @@ solana-entry = { workspace = true } solana-gossip = { workspace = true } solana-hash = { workspace = true } solana-ledger = { workspace = true } -solana-program = { workspace = true } solana-pubkey = { workspace = true } solana-runtime = { workspace = true } solana-shred-version = { workspace = true } solana-time-utils = { workspace = true } solana-timings = { workspace = true } solana-vote = { workspace = true } +solana-vote-interface = { workspace = true } solana-vote-program = { workspace = true } [dev-dependencies] diff --git a/wen-restart/src/heaviest_fork_aggregate.rs b/wen-restart/src/heaviest_fork_aggregate.rs index d022882eedd80c..cc57d8a77a6578 100644 --- a/wen-restart/src/heaviest_fork_aggregate.rs +++ b/wen-restart/src/heaviest_fork_aggregate.rs @@ -184,9 +184,10 @@ mod tests { heaviest_fork_aggregate::{HeaviestForkAggregate, HeaviestForkAggregateResult}, solana::wen_restart_proto::HeaviestForkRecord, }, + solana_clock::Slot, solana_gossip::restart_crds_values::RestartHeaviestFork, solana_hash::Hash, - solana_program::{clock::Slot, pubkey::Pubkey}, + solana_pubkey::Pubkey, solana_runtime::{ bank::Bank, genesis_utils::{ diff --git a/wen-restart/src/last_voted_fork_slots_aggregate.rs b/wen-restart/src/last_voted_fork_slots_aggregate.rs index 85600eaf8de649..d130c1c0147da7 100644 --- a/wen-restart/src/last_voted_fork_slots_aggregate.rs +++ b/wen-restart/src/last_voted_fork_slots_aggregate.rs @@ -244,9 +244,9 @@ mod tests { crate::{ last_voted_fork_slots_aggregate::*, solana::wen_restart_proto::LastVotedForkSlotsRecord, }, + solana_clock::Slot, solana_gossip::restart_crds_values::RestartLastVotedForkSlots, solana_hash::Hash, - solana_program::clock::Slot, solana_runtime::{ bank::Bank, epoch_stakes::EpochStakes, diff --git a/wen-restart/src/wen_restart.rs b/wen-restart/src/wen_restart.rs index f3c6dcfd045397..3a09dda4bb6cd2 100644 --- a/wen-restart/src/wen_restart.rs +++ b/wen-restart/src/wen_restart.rs @@ -17,21 +17,19 @@ use { anyhow::Result, log::*, prost::Message, + solana_clock::{Epoch, Slot}, solana_entry::entry::VerifyRecyclers, solana_gossip::{ cluster_info::{ClusterInfo, GOSSIP_SLEEP_MILLIS}, restart_crds_values::RestartLastVotedForkSlots, }, + solana_hash::Hash, solana_ledger::{ ancestor_iterator::AncestorIterator, blockstore::Blockstore, blockstore_processor::{process_single_slot, ConfirmationProgress, ProcessOptions}, leader_schedule_cache::LeaderScheduleCache, }, - solana_program::{ - clock::{Epoch, Slot}, - hash::Hash, - }, solana_pubkey::Pubkey, solana_runtime::{ accounts_background_service::AbsStatus, @@ -1443,6 +1441,7 @@ mod tests { crds_value::CrdsValue, restart_crds_values::{RestartHeaviestFork, RestartLastVotedForkSlots}, }, + solana_hash::Hash, solana_keypair::Keypair, solana_ledger::{ blockstore::{create_new_ledger, entries_to_test_shreds, Blockstore}, @@ -1450,10 +1449,6 @@ mod tests { blockstore_processor::{fill_blockstore_slot_with_ticks, test_process_blockstore}, get_tmp_ledger_path_auto_delete, }, - solana_program::{ - hash::Hash, - vote::state::{TowerSync, Vote}, - }, solana_pubkey::Pubkey, solana_runtime::{ epoch_stakes::EpochStakes, @@ -1469,6 +1464,7 @@ mod tests { solana_streamer::socket::SocketAddrSpace, solana_time_utils::timestamp, solana_vote::vote_account::VoteAccount, + solana_vote_interface::state::{TowerSync, Vote}, solana_vote_program::vote_state::create_account_with_authorized, std::{fs::remove_file, sync::Arc, thread::Builder}, tempfile::TempDir,