[package]
name = "solana-runtime"
description = "Solana runtime"
documentation = "https://docs.rs/solana-runtime"
version = { workspace = true }
authors = { workspace = true }
repository = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
edition = { workspace = true }
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
[lib]
crate-type = ["lib"]
name = "solana_runtime"
[features]
dev-context-only-utils = [
"dep:solana-system-program",
"solana-svm/dev-context-only-utils",
"solana-runtime-transaction/dev-context-only-utils",
"solana-vote/dev-context-only-utils",
]
frozen-abi = [
"dep:solana-frozen-abi",
"dep:solana-frozen-abi-macro",
"solana-account/frozen-abi",
"solana-accounts-db/frozen-abi",
"solana-compute-budget/frozen-abi",
"solana-cost-model/frozen-abi",
"solana-epoch-schedule/frozen-abi",
"solana-hard-forks/frozen-abi",
"solana-inflation/frozen-abi",
"solana-instruction/frozen-abi",
"solana-perf/frozen-abi",
"solana-program-runtime/frozen-abi",
"solana-rent/frozen-abi",
"solana-rent-collector/frozen-abi",
"solana-stake-interface/frozen-abi",
"solana-svm/frozen-abi",
"solana-transaction-error/frozen-abi",
"solana-version/frozen-abi",
"solana-vote/frozen-abi",
"solana-vote-program/frozen-abi",
]
[dependencies]
agave-feature-set = { workspace = true }
agave-precompiles = { workspace = true }
agave-reserved-account-keys = { workspace = true }
ahash = { workspace = true }
aquamarine = { workspace = true }
arrayref = { workspace = true }
assert_matches = { workspace = true }
base64 = { workspace = true }
bincode = { workspace = true }
blake3 = { workspace = true }
bv = { workspace = true, features = ["serde"] }
bytemuck = { workspace = true }
bzip2 = { workspace = true }
crossbeam-channel = { workspace = true }
dashmap = { workspace = true, features = ["rayon", "raw-api"] }
dir-diff = { workspace = true }
flate2 = { workspace = true }
fnv = { workspace = true }
im = { workspace = true, features = ["rayon", "serde"] }
itertools = { workspace = true }
libc = { workspace = true }
log = { workspace = true }
lz4 = { workspace = true }
memmap2 = { workspace = true }
mockall = { workspace = true }
modular-bitfield = { workspace = true }
num-derive = { workspace = true }
num-traits = { workspace = true }
num_cpus = { workspace = true }
num_enum = { workspace = true }
percentage = { workspace = true }
qualifier_attr = { workspace = true }
rand = { workspace = true }
rayon = { workspace = true }
regex = { workspace = true }
serde = { workspace = true, features = ["rc"] }
serde_derive = { workspace = true }
serde_json = { workspace = true }
serde_with = { workspace = true }
solana-account = { workspace = true }
solana-account-info = { workspace = true }
solana-accounts-db = { workspace = true }
solana-address-lookup-table-interface = { workspace = true }
solana-bpf-loader-program = { workspace = true }
solana-bucket-map = { workspace = true }
solana-builtins = { workspace = true }
solana-client-traits = { workspace = true }
solana-clock = { workspace = true }
solana-commitment-config = { workspace = true }
solana-compute-budget = { workspace = true }
solana-compute-budget-instruction = { workspace = true }
solana-compute-budget-interface = { workspace = true }
solana-cost-model = { workspace = true }
solana-cpi = { workspace = true }
solana-ed25519-program = { workspace = true }
solana-epoch-info = { workspace = true }
solana-epoch-rewards-hasher = { workspace = true }
solana-epoch-schedule = { workspace = true }
solana-feature-gate-interface = { workspace = true }
solana-fee = { workspace = true }
solana-fee-calculator = { workspace = true }
solana-fee-structure = { workspace = true, features = ["serde"] }
solana-frozen-abi = { workspace = true, optional = true, features = [
"frozen-abi",
] }
solana-frozen-abi-macro = { workspace = true, optional = true, features = [
"frozen-abi",
] }
solana-genesis-config = { workspace = true }
solana-hard-forks = { workspace = true, features = ["serde"] }
solana-hash = { workspace = true }
solana-inflation = { workspace = true }
solana-instruction = { workspace = true }
solana-keypair = { workspace = true, features = ["seed-derivable"] }
solana-lattice-hash = { workspace = true }
solana-loader-v3-interface = { workspace = true, features = ["bincode"] }
solana-loader-v4-interface = { workspace = true, features = ["serde"] }
solana-measure = { workspace = true }
solana-message = { workspace = true }
solana-metrics = { workspace = true }
solana-native-token = { workspace = true }
solana-nohash-hasher = { workspace = true }
solana-nonce = { workspace = true }
solana-nonce-account = { workspace = true }
solana-packet = { workspace = true }
solana-perf = { workspace = true }
solana-poh-config = { workspace = true }
solana-precompile-error = { workspace = true }
solana-program-runtime = { workspace = true, features = ["metrics"] }
solana-pubkey = { workspace = true, features = ["rand"] }
solana-rayon-threadlimit = { workspace = true }
solana-rent = { workspace = true }
solana-rent-collector = { workspace = true, features = ["serde"] }
solana-rent-debits = { workspace = true }
solana-reward-info = { workspace = true }
solana-runtime-transaction = { workspace = true }
solana-sdk-ids = { workspace = true }
solana-secp256k1-program = { workspace = true }
solana-seed-derivable = { workspace = true }
solana-serde = { workspace = true }
solana-sha256-hasher = { workspace = true }
solana-signature = { workspace = true }
solana-signer = { workspace = true }
solana-slot-hashes = { workspace = true }
solana-slot-history = { workspace = true }
solana-stake-interface = { workspace = true }
solana-stake-program = { workspace = true }
solana-svm = { workspace = true }
solana-svm-callback = { workspace = true }
solana-svm-rent-collector = { workspace = true }
solana-svm-transaction = { workspace = true }
solana-system-interface = { workspace = true }
solana-system-program = { workspace = true, optional = true }
solana-system-transaction = { workspace = true }
solana-sysvar = { workspace = true }
solana-sysvar-id = { workspace = true }
solana-time-utils = { workspace = true }
solana-timings = { workspace = true }
solana-transaction = { workspace = true, features = ["verify"] }
solana-transaction-context = { workspace = true }
solana-transaction-error = { workspace = true }
solana-transaction-status-client-types = { workspace = true }
solana-unified-scheduler-logic = { workspace = true }
solana-version = { workspace = true }
solana-vote = { workspace = true }
solana-vote-interface = { workspace = true }
solana-vote-program = { workspace = true }
spl-generic-token = { workspace = true }
static_assertions = { workspace = true }
strum = { workspace = true, features = ["derive"] }
strum_macros = { workspace = true }
symlink = { workspace = true }
tar = { workspace = true }
tempfile = { workspace = true }
thiserror = { workspace = true }
zstd = { workspace = true }
[dev-dependencies]
agave-transaction-view = { workspace = true }
ed25519-dalek = { workspace = true }
libsecp256k1 = { workspace = true }
memoffset = { workspace = true }
rand0-7 = { package = "rand", version = "0.7" }
rand_chacha = { workspace = true }
solana-accounts-db = { workspace = true, features = ["dev-context-only-utils"] }
solana-builtins = { workspace = true, features = ["dev-context-only-utils"] }
solana-logger = { workspace = true }
solana-rent-debits = { workspace = true, features = ["dev-context-only-utils"] }
solana-runtime = { path = ".", features = ["dev-context-only-utils"] }
solana-runtime-transaction = { workspace = true, features = [
"dev-context-only-utils",
] }
solana-sdk-ids = { workspace = true }
solana-signature = { workspace = true, features = ["std"] }
solana-svm = { workspace = true, features = ["dev-context-only-utils"] }
solana-transaction-context = { workspace = true, features = ["dev-context-only-utils"] }
static_assertions = { workspace = true }
test-case = { workspace = true }
[[bench]]
name = "prioritization_fee_cache"
[lints]
workspace = true