SVM: Move SVM code to its own crate folder (#35119)
This commit is contained in:
parent
fddfc8431e
commit
46b9586630
|
@ -5924,6 +5924,7 @@ dependencies = [
|
|||
"solana-send-transaction-service",
|
||||
"solana-stake-program",
|
||||
"solana-streamer",
|
||||
"solana-svm",
|
||||
"solana-tpu-client",
|
||||
"solana-transaction-status",
|
||||
"solana-turbine",
|
||||
|
@ -6328,6 +6329,7 @@ dependencies = [
|
|||
"solana-stake-program",
|
||||
"solana-storage-bigtable",
|
||||
"solana-storage-proto",
|
||||
"solana-svm",
|
||||
"solana-transaction-status",
|
||||
"solana-vote",
|
||||
"solana-vote-program",
|
||||
|
@ -6386,6 +6388,7 @@ dependencies = [
|
|||
"solana-stake-program",
|
||||
"solana-storage-bigtable",
|
||||
"solana-streamer",
|
||||
"solana-svm",
|
||||
"solana-transaction-status",
|
||||
"solana-unified-scheduler-pool",
|
||||
"solana-version",
|
||||
|
@ -6743,6 +6746,7 @@ dependencies = [
|
|||
"solana-runtime",
|
||||
"solana-sdk",
|
||||
"solana-stake-program",
|
||||
"solana-svm",
|
||||
"solana-vote-program",
|
||||
"solana_rbpf",
|
||||
"test-case",
|
||||
|
@ -7046,6 +7050,7 @@ dependencies = [
|
|||
"solana-runtime",
|
||||
"solana-sdk",
|
||||
"solana-stake-program",
|
||||
"solana-svm",
|
||||
"solana-system-program",
|
||||
"solana-version",
|
||||
"solana-vote",
|
||||
|
@ -7291,6 +7296,27 @@ dependencies = [
|
|||
"x509-parser",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-svm"
|
||||
version = "1.18.0"
|
||||
dependencies = [
|
||||
"itertools",
|
||||
"log",
|
||||
"percentage",
|
||||
"rustc_version 0.4.0",
|
||||
"solana-accounts-db",
|
||||
"solana-bpf-loader-program",
|
||||
"solana-frozen-abi",
|
||||
"solana-frozen-abi-macro",
|
||||
"solana-loader-v4-program",
|
||||
"solana-logger",
|
||||
"solana-measure",
|
||||
"solana-metrics",
|
||||
"solana-program-runtime",
|
||||
"solana-sdk",
|
||||
"solana-system-program",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-system-program"
|
||||
version = "1.18.0"
|
||||
|
@ -7331,6 +7357,7 @@ dependencies = [
|
|||
"solana-runtime",
|
||||
"solana-sdk",
|
||||
"solana-streamer",
|
||||
"solana-svm",
|
||||
"solana-tpu-client",
|
||||
"tokio",
|
||||
]
|
||||
|
@ -7589,6 +7616,7 @@ dependencies = [
|
|||
"solana-send-transaction-service",
|
||||
"solana-storage-bigtable",
|
||||
"solana-streamer",
|
||||
"solana-svm",
|
||||
"solana-test-validator",
|
||||
"solana-tpu-client",
|
||||
"solana-version",
|
||||
|
|
|
@ -100,6 +100,7 @@ members = [
|
|||
"storage-bigtable/build-proto",
|
||||
"storage-proto",
|
||||
"streamer",
|
||||
"svm",
|
||||
"test-validator",
|
||||
"thin-client",
|
||||
"tokens",
|
||||
|
@ -373,6 +374,7 @@ solana-stake-program = { path = "programs/stake", version = "=1.18.0" }
|
|||
solana-storage-bigtable = { path = "storage-bigtable", version = "=1.18.0" }
|
||||
solana-storage-proto = { path = "storage-proto", version = "=1.18.0" }
|
||||
solana-streamer = { path = "streamer", version = "=1.18.0" }
|
||||
solana-svm = { path = "svm", version = "=1.18.0" }
|
||||
solana-system-program = { path = "programs/system", version = "=1.18.0" }
|
||||
solana-test-validator = { path = "test-validator", version = "=1.18.0" }
|
||||
solana-thin-client = { path = "thin-client", version = "=1.18.0" }
|
||||
|
|
|
@ -65,6 +65,7 @@ solana-runtime = { workspace = true }
|
|||
solana-sdk = { workspace = true }
|
||||
solana-send-transaction-service = { workspace = true }
|
||||
solana-streamer = { workspace = true }
|
||||
solana-svm = { workspace = true }
|
||||
solana-tpu-client = { workspace = true }
|
||||
solana-transaction-status = { workspace = true }
|
||||
solana-turbine = { workspace = true }
|
||||
|
|
|
@ -6,8 +6,9 @@ use {
|
|||
},
|
||||
crossbeam_channel::{Receiver, RecvError, SendError, Sender},
|
||||
solana_poh::leader_bank_notifier::LeaderBankNotifier,
|
||||
solana_runtime::{bank::Bank, svm::transaction_error_metrics::TransactionErrorMetrics},
|
||||
solana_runtime::bank::Bank,
|
||||
solana_sdk::timing::AtomicInterval,
|
||||
solana_svm::transaction_error_metrics::TransactionErrorMetrics,
|
||||
std::{
|
||||
sync::{
|
||||
atomic::{AtomicBool, AtomicU64, AtomicUsize, Ordering},
|
||||
|
|
|
@ -22,9 +22,6 @@ use {
|
|||
solana_runtime::{
|
||||
bank::{Bank, LoadAndExecuteTransactionsOutput},
|
||||
compute_budget_details::GetComputeBudgetDetails,
|
||||
svm::{
|
||||
account_loader::validate_fee_payer, transaction_error_metrics::TransactionErrorMetrics,
|
||||
},
|
||||
transaction_batch::TransactionBatch,
|
||||
},
|
||||
solana_sdk::{
|
||||
|
@ -35,6 +32,9 @@ use {
|
|||
timing::timestamp,
|
||||
transaction::{self, AddressLoader, SanitizedTransaction, TransactionError},
|
||||
},
|
||||
solana_svm::{
|
||||
account_loader::validate_fee_payer, transaction_error_metrics::TransactionErrorMetrics,
|
||||
},
|
||||
std::{
|
||||
sync::{atomic::Ordering, Arc},
|
||||
time::Instant,
|
||||
|
|
|
@ -6,8 +6,8 @@ use {
|
|||
},
|
||||
},
|
||||
solana_poh::poh_recorder::BankStart,
|
||||
solana_runtime::svm::transaction_error_metrics::*,
|
||||
solana_sdk::{clock::Slot, saturating_add_assign},
|
||||
solana_svm::transaction_error_metrics::*,
|
||||
std::time::Instant,
|
||||
};
|
||||
|
||||
|
|
|
@ -20,13 +20,12 @@ use {
|
|||
itertools::MinMaxResult,
|
||||
solana_cost_model::cost_model::CostModel,
|
||||
solana_measure::measure_us,
|
||||
solana_runtime::{
|
||||
bank::Bank, bank_forks::BankForks, svm::transaction_error_metrics::TransactionErrorMetrics,
|
||||
},
|
||||
solana_runtime::{bank::Bank, bank_forks::BankForks},
|
||||
solana_sdk::{
|
||||
clock::MAX_PROCESSING_AGE, saturating_add_assign, timing::AtomicInterval,
|
||||
transaction::SanitizedTransaction,
|
||||
},
|
||||
solana_svm::transaction_error_metrics::TransactionErrorMetrics,
|
||||
std::{
|
||||
sync::{Arc, RwLock},
|
||||
time::Duration,
|
||||
|
|
|
@ -18,11 +18,12 @@ use {
|
|||
itertools::Itertools,
|
||||
min_max_heap::MinMaxHeap,
|
||||
solana_measure::{measure, measure_us},
|
||||
solana_runtime::{bank::Bank, svm::transaction_error_metrics::TransactionErrorMetrics},
|
||||
solana_runtime::bank::Bank,
|
||||
solana_sdk::{
|
||||
clock::FORWARD_TRANSACTIONS_TO_LEADER_AT_SLOT_OFFSET, feature_set::FeatureSet, hash::Hash,
|
||||
saturating_add_assign, transaction::SanitizedTransaction,
|
||||
},
|
||||
solana_svm::transaction_error_metrics::TransactionErrorMetrics,
|
||||
std::{
|
||||
collections::HashMap,
|
||||
sync::{atomic::Ordering, Arc},
|
||||
|
|
|
@ -101,7 +101,6 @@ use {
|
|||
snapshot_config::SnapshotConfig,
|
||||
snapshot_hash::StartingSnapshotHashes,
|
||||
snapshot_utils::{self, clean_orphaned_account_snapshot_dirs},
|
||||
svm::runtime_config::RuntimeConfig,
|
||||
},
|
||||
solana_sdk::{
|
||||
clock::Slot,
|
||||
|
@ -116,6 +115,7 @@ use {
|
|||
},
|
||||
solana_send_transaction_service::send_transaction_service,
|
||||
solana_streamer::{socket::SocketAddrSpace, streamer::StakedNodes},
|
||||
solana_svm::runtime_config::RuntimeConfig,
|
||||
solana_turbine::{self, broadcast_stage::BroadcastStageType},
|
||||
solana_unified_scheduler_pool::DefaultSchedulerPool,
|
||||
solana_vote_program::vote_state,
|
||||
|
|
|
@ -27,7 +27,6 @@ use {
|
|||
snapshot_bank_utils,
|
||||
snapshot_config::SnapshotConfig,
|
||||
snapshot_utils,
|
||||
svm::runtime_config::RuntimeConfig,
|
||||
},
|
||||
solana_sdk::{
|
||||
clock::Slot,
|
||||
|
@ -39,6 +38,7 @@ use {
|
|||
timing::timestamp,
|
||||
},
|
||||
solana_streamer::socket::SocketAddrSpace,
|
||||
solana_svm::runtime_config::RuntimeConfig,
|
||||
std::{
|
||||
mem::ManuallyDrop,
|
||||
sync::{
|
||||
|
|
|
@ -35,7 +35,6 @@ use {
|
|||
SnapshotVersion::{self, V1_2_0},
|
||||
},
|
||||
status_cache::MAX_CACHE_ENTRIES,
|
||||
svm::runtime_config::RuntimeConfig,
|
||||
},
|
||||
solana_sdk::{
|
||||
clock::Slot,
|
||||
|
@ -50,6 +49,7 @@ use {
|
|||
timing::timestamp,
|
||||
},
|
||||
solana_streamer::socket::SocketAddrSpace,
|
||||
solana_svm::runtime_config::RuntimeConfig,
|
||||
std::{
|
||||
collections::HashSet,
|
||||
fs,
|
||||
|
|
|
@ -44,6 +44,7 @@ solana-sdk = { workspace = true }
|
|||
solana-stake-program = { workspace = true }
|
||||
solana-storage-bigtable = { workspace = true }
|
||||
solana-streamer = { workspace = true }
|
||||
solana-svm = { workspace = true }
|
||||
solana-transaction-status = { workspace = true }
|
||||
solana-unified-scheduler-pool = { workspace = true }
|
||||
solana-version = { workspace = true }
|
||||
|
|
|
@ -12,8 +12,8 @@ use {
|
|||
blockstore_processor::ProcessOptions,
|
||||
use_snapshot_archives_at_startup::{self, UseSnapshotArchivesAtStartup},
|
||||
},
|
||||
solana_runtime::svm::runtime_config::RuntimeConfig,
|
||||
solana_sdk::clock::Slot,
|
||||
solana_svm::runtime_config::RuntimeConfig,
|
||||
std::{
|
||||
collections::HashSet,
|
||||
path::{Path, PathBuf},
|
||||
|
|
|
@ -54,6 +54,7 @@ solana-sdk = { workspace = true }
|
|||
solana-stake-program = { workspace = true }
|
||||
solana-storage-bigtable = { workspace = true }
|
||||
solana-storage-proto = { workspace = true }
|
||||
solana-svm = { workspace = true }
|
||||
solana-transaction-status = { workspace = true }
|
||||
solana-vote = { workspace = true }
|
||||
solana-vote-program = { workspace = true }
|
||||
|
|
|
@ -41,7 +41,6 @@ use {
|
|||
commitment::VOTE_THRESHOLD_SIZE,
|
||||
installed_scheduler_pool::BankWithScheduler,
|
||||
prioritization_fee_cache::PrioritizationFeeCache,
|
||||
svm::runtime_config::RuntimeConfig,
|
||||
transaction_batch::TransactionBatch,
|
||||
},
|
||||
solana_sdk::{
|
||||
|
@ -58,6 +57,7 @@ use {
|
|||
VersionedTransaction,
|
||||
},
|
||||
},
|
||||
solana_svm::runtime_config::RuntimeConfig,
|
||||
solana_transaction_status::token_balances::TransactionTokenBalancesSet,
|
||||
solana_vote::{vote_account::VoteAccountsHashMap, vote_sender_types::ReplayVoteSender},
|
||||
std::{
|
||||
|
|
|
@ -26,6 +26,7 @@ solana-logger = { workspace = true }
|
|||
solana-program-runtime = { workspace = true }
|
||||
solana-runtime = { workspace = true }
|
||||
solana-sdk = { workspace = true }
|
||||
solana-svm = { workspace = true }
|
||||
solana-vote-program = { workspace = true }
|
||||
solana_rbpf = { workspace = true }
|
||||
test-case = { workspace = true }
|
||||
|
|
|
@ -25,7 +25,6 @@ use {
|
|||
bank_forks::BankForks,
|
||||
commitment::BlockCommitmentCache,
|
||||
genesis_utils::{create_genesis_config_with_leader_ex, GenesisConfigInfo},
|
||||
svm::runtime_config::RuntimeConfig,
|
||||
},
|
||||
solana_sdk::{
|
||||
account::{create_account_shared_data_for_test, Account, AccountSharedData},
|
||||
|
@ -46,6 +45,7 @@ use {
|
|||
stable_layout::stable_instruction::StableInstruction,
|
||||
sysvar::{Sysvar, SysvarId},
|
||||
},
|
||||
solana_svm::runtime_config::RuntimeConfig,
|
||||
solana_vote_program::vote_state::{self, VoteState, VoteStateVersions},
|
||||
std::{
|
||||
cell::RefCell,
|
||||
|
|
|
@ -4972,6 +4972,7 @@ dependencies = [
|
|||
"solana-sdk",
|
||||
"solana-send-transaction-service",
|
||||
"solana-streamer",
|
||||
"solana-svm",
|
||||
"solana-tpu-client",
|
||||
"solana-transaction-status",
|
||||
"solana-turbine",
|
||||
|
@ -5243,6 +5244,7 @@ dependencies = [
|
|||
"solana-stake-program",
|
||||
"solana-storage-bigtable",
|
||||
"solana-storage-proto",
|
||||
"solana-svm",
|
||||
"solana-transaction-status",
|
||||
"solana-vote",
|
||||
"solana-vote-program",
|
||||
|
@ -5476,6 +5478,7 @@ dependencies = [
|
|||
"solana-program-runtime",
|
||||
"solana-runtime",
|
||||
"solana-sdk",
|
||||
"solana-svm",
|
||||
"solana-vote-program",
|
||||
"solana_rbpf",
|
||||
"test-case",
|
||||
|
@ -5724,6 +5727,7 @@ dependencies = [
|
|||
"solana-rayon-threadlimit",
|
||||
"solana-sdk",
|
||||
"solana-stake-program",
|
||||
"solana-svm",
|
||||
"solana-system-program",
|
||||
"solana-version",
|
||||
"solana-vote",
|
||||
|
@ -6334,6 +6338,26 @@ dependencies = [
|
|||
"x509-parser",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-svm"
|
||||
version = "1.18.0"
|
||||
dependencies = [
|
||||
"itertools",
|
||||
"log",
|
||||
"percentage",
|
||||
"rustc_version",
|
||||
"solana-accounts-db",
|
||||
"solana-bpf-loader-program",
|
||||
"solana-frozen-abi",
|
||||
"solana-frozen-abi-macro",
|
||||
"solana-loader-v4-program",
|
||||
"solana-measure",
|
||||
"solana-metrics",
|
||||
"solana-program-runtime",
|
||||
"solana-sdk",
|
||||
"solana-system-program",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-system-program"
|
||||
version = "1.18.0"
|
||||
|
@ -6372,6 +6396,7 @@ dependencies = [
|
|||
"solana-runtime",
|
||||
"solana-sdk",
|
||||
"solana-streamer",
|
||||
"solana-svm",
|
||||
"solana-tpu-client",
|
||||
"tokio",
|
||||
]
|
||||
|
@ -6557,6 +6582,7 @@ dependencies = [
|
|||
"solana-send-transaction-service",
|
||||
"solana-storage-bigtable",
|
||||
"solana-streamer",
|
||||
"solana-svm",
|
||||
"solana-test-validator",
|
||||
"solana-tpu-client",
|
||||
"solana-version",
|
||||
|
|
|
@ -64,6 +64,7 @@ solana-program-runtime = { workspace = true }
|
|||
solana-rayon-threadlimit = { workspace = true }
|
||||
solana-sdk = { workspace = true }
|
||||
solana-stake-program = { workspace = true }
|
||||
solana-svm = { workspace = true }
|
||||
solana-system-program = { workspace = true }
|
||||
solana-version = { workspace = true }
|
||||
solana-vote = { workspace = true }
|
||||
|
|
|
@ -58,14 +58,6 @@ use {
|
|||
},
|
||||
stakes::{InvalidCacheEntryReason, Stakes, StakesCache, StakesEnum},
|
||||
status_cache::{SlotDelta, StatusCache},
|
||||
svm::{
|
||||
account_overrides::AccountOverrides,
|
||||
runtime_config::RuntimeConfig,
|
||||
transaction_error_metrics::TransactionErrorMetrics,
|
||||
transaction_processor::{
|
||||
TransactionBatchProcessor, TransactionLogMessages, TransactionProcessingCallback,
|
||||
},
|
||||
},
|
||||
transaction_batch::TransactionBatch,
|
||||
},
|
||||
byteorder::{ByteOrder, LittleEndian},
|
||||
|
@ -168,6 +160,14 @@ use {
|
|||
solana_stake_program::stake_state::{
|
||||
self, InflationPointCalculationEvent, PointValue, StakeStateV2,
|
||||
},
|
||||
solana_svm::{
|
||||
account_overrides::AccountOverrides,
|
||||
runtime_config::RuntimeConfig,
|
||||
transaction_error_metrics::TransactionErrorMetrics,
|
||||
transaction_processor::{
|
||||
TransactionBatchProcessor, TransactionLogMessages, TransactionProcessingCallback,
|
||||
},
|
||||
},
|
||||
solana_system_program::{get_system_account_kind, SystemAccountKind},
|
||||
solana_vote::vote_account::{VoteAccount, VoteAccounts, VoteAccountsHashMap},
|
||||
solana_vote_program::vote_state::VoteState,
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
use {
|
||||
super::Bank,
|
||||
crate::svm::account_rent_state::RentState,
|
||||
log::{debug, warn},
|
||||
solana_accounts_db::stake_rewards::RewardInfo,
|
||||
solana_sdk::{
|
||||
|
@ -9,6 +8,7 @@ use {
|
|||
reward_type::RewardType,
|
||||
system_program,
|
||||
},
|
||||
solana_svm::account_rent_state::RentState,
|
||||
solana_vote::vote_account::VoteAccountsHashMap,
|
||||
std::{result::Result, sync::atomic::Ordering::Relaxed},
|
||||
thiserror::Error,
|
||||
|
|
|
@ -17,7 +17,6 @@ mod tests {
|
|||
StorageAndNextAppendVecId, BANK_SNAPSHOT_PRE_FILENAME_EXTENSION,
|
||||
},
|
||||
status_cache::StatusCache,
|
||||
svm::runtime_config::RuntimeConfig,
|
||||
},
|
||||
assert_matches::assert_matches,
|
||||
solana_accounts_db::{
|
||||
|
@ -39,6 +38,7 @@ mod tests {
|
|||
pubkey::Pubkey,
|
||||
signature::{Keypair, Signer},
|
||||
},
|
||||
solana_svm::runtime_config::RuntimeConfig,
|
||||
std::{
|
||||
io::{Cursor, Read, Write},
|
||||
num::NonZeroUsize,
|
||||
|
|
|
@ -18,11 +18,6 @@ use {
|
|||
},
|
||||
snapshot_bank_utils, snapshot_utils,
|
||||
status_cache::MAX_CACHE_ENTRIES,
|
||||
svm::{
|
||||
account_loader::load_accounts,
|
||||
transaction_account_state_info::TransactionAccountStateInfo,
|
||||
transaction_error_metrics::TransactionErrorMetrics,
|
||||
},
|
||||
},
|
||||
assert_matches::assert_matches,
|
||||
crossbeam_channel::{bounded, unbounded},
|
||||
|
@ -113,6 +108,10 @@ use {
|
|||
transaction_context::{TransactionAccount, TransactionContext},
|
||||
},
|
||||
solana_stake_program::stake_state::{self, StakeStateV2},
|
||||
solana_svm::{
|
||||
account_loader::load_accounts, transaction_account_state_info::TransactionAccountStateInfo,
|
||||
transaction_error_metrics::TransactionErrorMetrics,
|
||||
},
|
||||
solana_vote_program::{
|
||||
vote_instruction,
|
||||
vote_state::{
|
||||
|
|
|
@ -36,7 +36,6 @@ pub mod stake_weighted_timestamp;
|
|||
pub mod stakes;
|
||||
pub mod static_ids;
|
||||
pub mod status_cache;
|
||||
pub mod svm;
|
||||
pub mod transaction_batch;
|
||||
|
||||
#[macro_use]
|
||||
|
|
|
@ -8,7 +8,6 @@ use {
|
|||
self, SnapshotError, StorageAndNextAppendVecId, BANK_SNAPSHOT_PRE_FILENAME_EXTENSION,
|
||||
},
|
||||
stakes::Stakes,
|
||||
svm::runtime_config::RuntimeConfig,
|
||||
},
|
||||
bincode::{self, config::Options, Error},
|
||||
log::*,
|
||||
|
@ -40,6 +39,7 @@ use {
|
|||
inflation::Inflation,
|
||||
pubkey::Pubkey,
|
||||
},
|
||||
solana_svm::runtime_config::RuntimeConfig,
|
||||
std::{
|
||||
collections::{HashMap, HashSet},
|
||||
io::{self, BufReader, BufWriter, Read, Write},
|
||||
|
|
|
@ -23,7 +23,6 @@ use {
|
|||
UnpackedSnapshotsDirAndVersion, VerifySlotDeltasError,
|
||||
},
|
||||
status_cache,
|
||||
svm::runtime_config::RuntimeConfig,
|
||||
},
|
||||
bincode::{config::Options, serialize_into},
|
||||
log::*,
|
||||
|
@ -46,6 +45,7 @@ use {
|
|||
pubkey::Pubkey,
|
||||
slot_history::{Check, SlotHistory},
|
||||
},
|
||||
solana_svm::runtime_config::RuntimeConfig,
|
||||
std::{
|
||||
collections::HashSet,
|
||||
fs,
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
[package]
|
||||
name = "solana-svm"
|
||||
description = "Solana SVM"
|
||||
documentation = "https://docs.rs/solana-svm"
|
||||
version = { workspace = true }
|
||||
authors = { workspace = true }
|
||||
repository = { workspace = true }
|
||||
homepage = { workspace = true }
|
||||
license = { workspace = true }
|
||||
edition = { workspace = true }
|
||||
|
||||
[dependencies]
|
||||
itertools = { workspace = true }
|
||||
log = { workspace = true }
|
||||
percentage = { workspace = true }
|
||||
solana-accounts-db = { workspace = true }
|
||||
solana-bpf-loader-program = { workspace = true }
|
||||
solana-frozen-abi = { workspace = true }
|
||||
solana-frozen-abi-macro = { workspace = true }
|
||||
solana-loader-v4-program = { workspace = true }
|
||||
solana-measure = { workspace = true }
|
||||
solana-metrics = { workspace = true }
|
||||
solana-program-runtime = { workspace = true }
|
||||
solana-sdk = { workspace = true }
|
||||
solana-system-program = { workspace = true }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
name = "solana_svm"
|
||||
|
||||
[dev-dependencies]
|
||||
solana-accounts-db = { workspace = true, features = ["dev-context-only-utils"] }
|
||||
solana-logger = { workspace = true }
|
||||
solana-sdk = { workspace = true, features = ["dev-context-only-utils"] }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
||||
[build-dependencies]
|
||||
rustc_version = { workspace = true }
|
||||
|
||||
[features]
|
||||
dev-context-only-utils = []
|
|
@ -0,0 +1 @@
|
|||
../frozen-abi/build.rs
|
|
@ -1,5 +1,5 @@
|
|||
use {
|
||||
crate::svm::{
|
||||
crate::{
|
||||
account_overrides::AccountOverrides, account_rent_state::RentState,
|
||||
transaction_error_metrics::TransactionErrorMetrics,
|
||||
transaction_processor::TransactionProcessingCallback,
|
||||
|
@ -38,7 +38,7 @@ use {
|
|||
std::{collections::HashMap, num::NonZeroUsize},
|
||||
};
|
||||
|
||||
pub(crate) fn load_accounts<CB: TransactionProcessingCallback>(
|
||||
pub fn load_accounts<CB: TransactionProcessingCallback>(
|
||||
callbacks: &CB,
|
||||
txs: &[SanitizedTransaction],
|
||||
lock_results: &[TransactionCheckResult],
|
|
@ -10,7 +10,7 @@ use {
|
|||
};
|
||||
|
||||
#[derive(Debug, PartialEq, Eq)]
|
||||
pub(crate) enum RentState {
|
||||
pub enum RentState {
|
||||
/// account.lamports == 0
|
||||
Uninitialized,
|
||||
/// 0 < account.lamports < rent-exempt-minimum
|
|
@ -1,3 +1,6 @@
|
|||
#![cfg_attr(RUSTC_WITH_SPECIALIZATION, feature(min_specialization))]
|
||||
#![allow(clippy::arithmetic_side_effects)]
|
||||
|
||||
pub mod account_loader;
|
||||
pub mod account_overrides;
|
||||
pub mod account_rent_state;
|
||||
|
@ -5,3 +8,9 @@ pub mod runtime_config;
|
|||
pub mod transaction_account_state_info;
|
||||
pub mod transaction_error_metrics;
|
||||
pub mod transaction_processor;
|
||||
|
||||
#[macro_use]
|
||||
extern crate solana_metrics;
|
||||
|
||||
#[macro_use]
|
||||
extern crate solana_frozen_abi_macro;
|
|
@ -1,5 +1,5 @@
|
|||
use {
|
||||
crate::svm::account_rent_state::RentState,
|
||||
crate::account_rent_state::RentState,
|
||||
solana_sdk::{
|
||||
account::ReadableAccount,
|
||||
message::SanitizedMessage,
|
||||
|
@ -10,12 +10,12 @@ use {
|
|||
},
|
||||
};
|
||||
|
||||
pub(crate) struct TransactionAccountStateInfo {
|
||||
pub struct TransactionAccountStateInfo {
|
||||
rent_state: Option<RentState>, // None: readonly account
|
||||
}
|
||||
|
||||
impl TransactionAccountStateInfo {
|
||||
pub(crate) fn new(
|
||||
pub fn new(
|
||||
rent: &Rent,
|
||||
transaction_context: &TransactionContext,
|
||||
message: &SanitizedMessage,
|
|
@ -1,5 +1,5 @@
|
|||
use {
|
||||
crate::svm::{
|
||||
crate::{
|
||||
account_loader::load_accounts, account_overrides::AccountOverrides,
|
||||
runtime_config::RuntimeConfig, transaction_account_state_info::TransactionAccountStateInfo,
|
||||
transaction_error_metrics::TransactionErrorMetrics,
|
|
@ -32,6 +32,7 @@ solana-rpc-client = { workspace = true }
|
|||
solana-runtime = { workspace = true }
|
||||
solana-sdk = { workspace = true }
|
||||
solana-streamer = { workspace = true }
|
||||
solana-svm = { workspace = true }
|
||||
solana-tpu-client = { workspace = true }
|
||||
tokio = { workspace = true, features = ["full"] }
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ use {
|
|||
solana_rpc_client::{nonblocking, rpc_client::RpcClient},
|
||||
solana_runtime::{
|
||||
bank_forks::BankForks, genesis_utils::create_genesis_config_with_leader_ex,
|
||||
snapshot_config::SnapshotConfig, svm::runtime_config::RuntimeConfig,
|
||||
snapshot_config::SnapshotConfig,
|
||||
},
|
||||
solana_sdk::{
|
||||
account::{Account, AccountSharedData},
|
||||
|
@ -54,6 +54,7 @@ use {
|
|||
signature::{read_keypair_file, write_keypair_file, Keypair, Signer},
|
||||
},
|
||||
solana_streamer::socket::SocketAddrSpace,
|
||||
solana_svm::runtime_config::RuntimeConfig,
|
||||
solana_tpu_client::tpu_client::{
|
||||
DEFAULT_TPU_CONNECTION_POOL_SIZE, DEFAULT_TPU_ENABLE_UDP, DEFAULT_TPU_USE_QUIC,
|
||||
},
|
||||
|
|
|
@ -58,6 +58,7 @@ solana-sdk = { workspace = true }
|
|||
solana-send-transaction-service = { workspace = true }
|
||||
solana-storage-bigtable = { workspace = true }
|
||||
solana-streamer = { workspace = true }
|
||||
solana-svm = { workspace = true }
|
||||
solana-test-validator = { workspace = true }
|
||||
solana-tpu-client = { workspace = true }
|
||||
solana-version = { workspace = true }
|
||||
|
|
|
@ -48,7 +48,6 @@ use {
|
|||
snapshot_bank_utils::DISABLED_SNAPSHOT_ARCHIVE_INTERVAL,
|
||||
snapshot_config::{SnapshotConfig, SnapshotUsage},
|
||||
snapshot_utils::{self, ArchiveFormat, SnapshotVersion},
|
||||
svm::runtime_config::RuntimeConfig,
|
||||
},
|
||||
solana_sdk::{
|
||||
clock::{Slot, DEFAULT_S_PER_SLOT},
|
||||
|
@ -59,6 +58,7 @@ use {
|
|||
},
|
||||
solana_send_transaction_service::send_transaction_service,
|
||||
solana_streamer::socket::SocketAddrSpace,
|
||||
solana_svm::runtime_config::RuntimeConfig,
|
||||
solana_tpu_client::tpu_client::DEFAULT_TPU_ENABLE_UDP,
|
||||
solana_validator::{
|
||||
admin_rpc_service,
|
||||
|
|
Loading…
Reference in New Issue