[package]
edition = "2024"
name = "solana-program-runtime"
version = "4.0.0-alpha.0"
authors = ["Anza Maintainers <maintainers@anza.xyz>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Solana program runtime"
homepage = "https://anza.xyz/"
documentation = "https://docs.rs/solana-program-runtime"
readme = false
license = "Apache-2.0"
repository = "https://github.com/anza-xyz/agave"
resolver = "2"
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
[features]
agave-unstable-api = []
dev-context-only-utils = []
dummy-for-ci-check = ["metrics"]
frozen-abi = [
"dep:solana-frozen-abi",
"dep:solana-frozen-abi-macro",
]
metrics = []
sbpf-debugger = ["solana-sbpf/debugger"]
shuttle-test = [
"solana-sbpf/shuttle-test",
"solana-svm-type-overrides/shuttle-test",
]
svm-internal = ["dep:qualifier_attr"]
[lib]
name = "solana_program_runtime"
crate-type = ["lib"]
path = "src/lib.rs"
[dependencies.base64]
version = "0.22.1"
[dependencies.bincode]
version = "1.3.3"
[dependencies.cfg-if]
version = "1.0.4"
[dependencies.itertools]
version = "0.14.0"
[dependencies.log]
version = "0.4.29"
[dependencies.percentage]
version = "0.1.0"
[dependencies.qualifier_attr]
version = "0.2.2"
optional = true
default-features = false
[dependencies.rand]
version = "0.9.2"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.solana-account]
version = "3.4.0"
features = ["bincode"]
[dependencies.solana-account-info]
version = "3.1.0"
[dependencies.solana-clock]
version = "3.0.1"
[dependencies.solana-epoch-rewards]
version = "3.0.0"
[dependencies.solana-epoch-schedule]
version = "3.0.0"
[dependencies.solana-fee-structure]
version = "3.0.0"
[dependencies.solana-frozen-abi]
version = "3.1.2"
features = ["frozen-abi"]
optional = true
[dependencies.solana-frozen-abi-macro]
version = "3.2.1"
features = ["frozen-abi"]
optional = true
[dependencies.solana-hash]
version = "4.2.0"
[dependencies.solana-instruction]
version = "3.2.0"
[dependencies.solana-last-restart-slot]
version = "3.0.0"
[dependencies.solana-loader-v3-interface]
version = "6.1.0"
[dependencies.solana-program-entrypoint]
version = "3.1.1"
[dependencies.solana-pubkey]
version = "4.1.0"
default-features = false
[dependencies.solana-rent]
version = "3.0.0"
[dependencies.solana-sbpf]
version = "=0.14.4"
features = ["jit"]
default-features = false
[dependencies.solana-sdk-ids]
version = "3.1.0"
[dependencies.solana-slot-hashes]
version = "3.0.1"
[dependencies.solana-stable-layout]
version = "3.0.0"
[dependencies.solana-stake-interface]
version = "2.0.2"
features = [
"bincode",
"sysvar",
]
[dependencies.solana-svm-callback]
version = "=4.0.0-alpha.0"
features = ["agave-unstable-api"]
[dependencies.solana-svm-feature-set]
version = "=4.0.0-alpha.0"
features = ["agave-unstable-api"]
[dependencies.solana-svm-log-collector]
version = "=4.0.0-alpha.0"
features = ["agave-unstable-api"]
[dependencies.solana-svm-measure]
version = "=4.0.0-alpha.0"
features = ["agave-unstable-api"]
[dependencies.solana-svm-timings]
version = "=4.0.0-alpha.0"
features = ["agave-unstable-api"]
[dependencies.solana-svm-transaction]
version = "=4.0.0-alpha.0"
features = ["agave-unstable-api"]
[dependencies.solana-svm-type-overrides]
version = "=4.0.0-alpha.0"
features = ["agave-unstable-api"]
[dependencies.solana-system-interface]
version = "3.0"
features = [
"alloc",
"bincode",
"serde",
]
[dependencies.solana-sysvar]
version = "3.1.1"
features = ["bincode"]
[dependencies.solana-sysvar-id]
version = "3.1.0"
[dependencies.solana-transaction-context]
version = "=4.0.0-alpha.0"
features = [
"agave-unstable-api",
"bincode",
]
[dependencies.thiserror]
version = "2.0.18"
[dev-dependencies.assert_matches]
version = "1.5.0"
[dev-dependencies.solana-account-info]
version = "3.1.0"
[dev-dependencies.solana-instruction]
version = "3.2.0"
features = ["bincode"]
[dev-dependencies.solana-instruction-error]
version = "2.1.0"
features = ["serde"]
[dev-dependencies.solana-keypair]
version = "3.1.0"
[dev-dependencies.solana-pubkey]
version = "4.1.0"
features = ["rand"]
default-features = false
[dev-dependencies.solana-signer]
version = "3.0.0"
[dev-dependencies.solana-transaction]
version = "3.1.0"
features = ["dev-context-only-utils"]
[dev-dependencies.solana-transaction-context]
version = "=4.0.0-alpha.0"
features = [
"agave-unstable-api",
"bincode",
"dev-context-only-utils",
]
[dev-dependencies.test-case]
version = "3.3.1"
[lints.clippy]
arithmetic_side_effects = "deny"
default_trait_access = "deny"
manual_let_else = "deny"
used_underscore_binding = "deny"
[lints.rust]
boxed_slice_into_iter = "deny"
dependency_on_unit_never_type_fallback = "deny"
deprecated_safe_2024 = "deny"
impl_trait_overcaptures = "deny"
missing_unsafe_on_extern = "deny"
never_type_fallback_flowing_into_unsafe = "deny"
rust_2024_guarded_string_incompatible_syntax = "deny"
rust_2024_incompatible_pat = "deny"
rust_2024_prelude_collisions = "deny"
static_mut_refs = "deny"
unsafe_attr_outside_unsafe = "deny"
unsafe_op_in_unsafe_fn = "deny"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
'cfg(target_os, values("solana"))',
'cfg(feature, values("frozen-abi", "no-entrypoint"))',
'cfg(target_arch, values("sbf"))',
]