Documentation
[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]
ahash = { workspace = true }
itertools = { workspace = true }
log = { workspace = true }
percentage = { workspace = true }
qualifier_attr = { workspace = true, optional = true }
serde = { workspace = true, features = ["rc"] }
serde_derive = { workspace = true }
solana-account = { workspace = true }
solana-bpf-loader-program = { workspace = true }
solana-clock = { workspace = true }
solana-compute-budget = { workspace = true }
solana-compute-budget-instruction = { workspace = true }
solana-feature-set = { workspace = true }
solana-fee-structure = { workspace = true }
solana-frozen-abi = { workspace = true, optional = true, features = [
    "frozen-abi",
] }
solana-frozen-abi-macro = { workspace = true, optional = true, features = [
    "frozen-abi",
] }
solana-hash = { workspace = true }
solana-instruction = { workspace = true, features = ["std"] }
solana-instructions-sysvar = { workspace = true }
solana-loader-v4-program = { workspace = true }
solana-log-collector = { workspace = true }
solana-measure = { workspace = true }
solana-message = { workspace = true }
solana-nonce = { workspace = true }
solana-nonce-account = { workspace = true }
solana-precompiles = { workspace = true }
solana-program = { workspace = true, default-features = false }
solana-program-runtime = { workspace = true, features = ["metrics"] }
solana-pubkey = { workspace = true }
solana-rent = { workspace = true }
solana-rent-debits = { workspace = true }
solana-sdk = { workspace = true }
solana-sdk-ids = { workspace = true }
solana-svm-rent-collector = { workspace = true }
solana-svm-transaction = { workspace = true }
solana-timings = { workspace = true }
solana-transaction-context = { workspace = true }
solana-transaction-error = { workspace = true }
solana-type-overrides = { workspace = true }
thiserror = { workspace = true }

[lib]
crate-type = ["lib"]
name = "solana_svm"

[dev-dependencies]
assert_matches = { workspace = true }
bincode = { workspace = true }
ed25519-dalek = { workspace = true }
lazy_static = { workspace = true }
libsecp256k1 = { workspace = true }
openssl = { workspace = true }
prost = { workspace = true }
rand0-7 = { workspace = true }
shuttle = { workspace = true }
solana-clock = { workspace = true }
solana-compute-budget = { workspace = true, features = ["dev-context-only-utils"] }
solana-compute-budget-interface = { workspace = true }
solana-compute-budget-program = { workspace = true }
solana-ed25519-program = { workspace = true }
solana-epoch-schedule = { workspace = true }
solana-fee-calculator = { workspace = true }
solana-keypair = { workspace = true }
solana-logger = { workspace = true }
solana-native-token = { workspace = true }
solana-pubkey = { workspace = true }
solana-rent = { workspace = true }
solana-reserved-account-keys = { workspace = true }
solana-sbpf = { workspace = true }
solana-sdk = { workspace = true, features = ["dev-context-only-utils"] }
solana-secp256k1-program = { workspace = true }
solana-secp256r1-program = { workspace = true, features = ["openssl-vendored"] }
solana-signature = { workspace = true }
solana-signer = { workspace = true }
# See order-crates-for-publishing.py for using this unusual `path = "."`
solana-svm = { path = ".", features = ["dev-context-only-utils"] }
solana-svm-conformance = { workspace = true }
solana-system-program = { workspace = true }
solana-system-transaction = { workspace = true }
solana-sysvar = { workspace = true }
solana-transaction = { workspace = true }
test-case = { workspace = true }

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

[features]
dev-context-only-utils = ["dep:qualifier_attr"]
frozen-abi = [
    "dep:solana-frozen-abi",
    "dep:solana-frozen-abi-macro",
    "solana-compute-budget/frozen-abi",
    "solana-program-runtime/frozen-abi",
    "solana-sdk/frozen-abi",
]
shuttle-test = [
    "solana-type-overrides/shuttle-test",
    "solana-program-runtime/shuttle-test",
    "solana-bpf-loader-program/shuttle-test",
    "solana-loader-v4-program/shuttle-test",
]

[lints]
workspace = true