[package]
edition = "2024"
name = "surfpool-core"
version = "1.3.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Where you train before surfing Solana"
readme = "README.md"
keywords = [
"solana-programs",
"web3",
"solana",
"blockchains",
]
categories = ["cryptography"]
license = "Apache-2.0"
repository = "https://github.com/solana-foundation/surfpool"
resolver = "2"
[features]
default = ["sqlite"]
ignore_tests_ci = []
postgres = ["surfpool-db/postgres"]
prometheus = [
"dep:opentelemetry",
"dep:opentelemetry_sdk",
"dep:opentelemetry-prometheus",
"dep:prometheus",
"dep:axum",
]
register-tracing = ["litesvm/register-tracing"]
sqlite = ["surfpool-db/sqlite"]
[lib]
name = "surfpool_core"
path = "src/lib.rs"
[dependencies.agave-feature-set]
version = "3.1.9"
default-features = false
[dependencies.agave-geyser-plugin-interface]
version = "3.1"
default-features = false
[dependencies.agave-reserved-account-keys]
version = "3.1"
default-features = false
[dependencies.anchor-lang-idl]
version = "0.1.2"
[dependencies.axum]
version = "0.8"
features = [
"tokio",
"http1",
]
optional = true
default-features = false
[dependencies.base64]
version = "0.22.1"
default-features = false
[dependencies.bincode]
version = "1.3.3"
[dependencies.blake3]
version = "1.8.2"
default-features = false
[dependencies.borsh]
version = "1.5.5"
default-features = false
[dependencies.bs58]
version = "0.5.0"
default-features = false
[dependencies.bytemuck]
version = "1.21"
[dependencies.chrono]
version = "0.4.42"
features = [
"alloc",
"clock",
]
default-features = false
[dependencies.convert_case]
version = "0.8.0"
[dependencies.crossbeam]
version = "0.8.4"
[dependencies.crossbeam-channel]
version = "0.5.15"
default-features = false
[dependencies.hex]
version = "0.4.3"
default-features = false
[dependencies.hiro-system-kit]
version = "0.3.4"
features = ["tokio_helpers"]
default-features = false
[dependencies.ipc-channel]
version = "0.19.0"
[dependencies.itertools]
version = "0.14.0"
default-features = false
[dependencies.json5]
version = "0.4.1"
[dependencies.jsonrpc-core]
version = "18.0.0"
features = ["futures"]
default-features = false
[dependencies.jsonrpc-core-client]
version = "18.0.0"
features = ["http"]
default-features = false
[dependencies.jsonrpc-derive]
version = "18.0.0"
[dependencies.jsonrpc-http-server]
version = "18.0.0"
[dependencies.jsonrpc-pubsub]
version = "18.0.0"
[dependencies.jsonrpc-ws-server]
version = "18.0.0"
[dependencies.lazy_static]
version = "1.5.0"
[dependencies.libloading]
version = "0.7.4"
[dependencies.litesvm]
version = "0.12.0"
features = [
"nodejs-internal",
"precompiles",
]
[dependencies.litesvm-token]
version = "0.12.0"
[dependencies.log]
version = "0.4.27"
[dependencies.opentelemetry]
version = "0.28"
features = ["metrics"]
optional = true
default-features = false
[dependencies.opentelemetry-prometheus]
version = "0.28"
optional = true
default-features = false
[dependencies.opentelemetry_sdk]
version = "0.28"
features = [
"rt-tokio",
"metrics",
]
optional = true
default-features = false
[dependencies.prometheus]
version = "0.13"
optional = true
default-features = false
[dependencies.reqwest]
version = "0.12.23"
default-features = false
[dependencies.serde]
version = "1.0.226"
default-features = false
[dependencies.serde_derive]
version = "1.0.226"
default-features = false
[dependencies.serde_json]
version = "1.0.135"
default-features = false
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.solana-account]
version = "3.2"
default-features = false
[dependencies.solana-account-decoder]
version = "3.1"
default-features = false
[dependencies.solana-address-lookup-table-interface]
version = "3.0"
default-features = false
[dependencies.solana-client]
version = "3.1"
default-features = false
[dependencies.solana-clock]
version = "3.0"
default-features = false
[dependencies.solana-commitment-config]
version = "3.1"
default-features = false
[dependencies.solana-compute-budget-interface]
version = "3.0"
default-features = false
[dependencies.solana-epoch-info]
version = "3.1"
default-features = false
[dependencies.solana-epoch-schedule]
version = "3.0"
default-features = false
[dependencies.solana-feature-gate-interface]
version = "3.1"
default-features = false
[dependencies.solana-genesis-config]
version = "3.0"
default-features = false
[dependencies.solana-hash]
version = "3.1"
default-features = false
[dependencies.solana-inflation]
version = "3.0"
default-features = false
[dependencies.solana-instruction]
version = "3.1"
default-features = false
[dependencies.solana-keypair]
version = "3.1"
default-features = false
[dependencies.solana-loader-v3-interface]
version = "6.1"
default-features = false
[dependencies.solana-message]
version = "3.0"
default-features = false
[dependencies.solana-nonce]
version = "3.0"
default-features = false
[dependencies.solana-packet]
version = "4.0"
default-features = false
[dependencies.solana-program-option]
version = "3.0"
default-features = false
[dependencies.solana-program-pack]
version = "3.0"
default-features = false
[dependencies.solana-pubkey]
version = "3.0"
default-features = false
[dependencies.solana-rpc-client]
version = "3.1"
default-features = false
[dependencies.solana-rpc-client-api]
version = "3.1"
default-features = false
[dependencies.solana-runtime]
version = "3.1"
features = ["agave-unstable-api"]
default-features = false
[dependencies.solana-sdk-ids]
version = "3.1"
default-features = false
[dependencies.solana-signature]
version = "3.1"
features = [
"rand",
"rand",
]
default-features = false
[dependencies.solana-signer]
version = "3.0"
default-features = false
[dependencies.solana-slot-hashes]
version = "3.0"
default-features = false
[dependencies.solana-system-interface]
version = "3.2"
default-features = false
[dependencies.solana-sysvar]
version = "3.1"
default-features = false
[dependencies.solana-sysvar-id]
version = "3.1"
default-features = false
[dependencies.solana-transaction]
version = "3.0"
default-features = false
[dependencies.solana-transaction-context]
version = "3.1"
default-features = false
[dependencies.solana-transaction-error]
version = "3.0"
default-features = false
[dependencies.solana-transaction-status]
version = "3.1"
default-features = false
[dependencies.solana-version]
version = "3.1"
default-features = false
[dependencies.spl-associated-token-account-interface]
version = "2.0.0"
default-features = false
[dependencies.spl-token-2022-interface]
version = "2.0.0"
default-features = false
[dependencies.spl-token-interface]
version = "2.0.0"
default-features = false
[dependencies.surfpool-db]
version = "1.3.1"
[dependencies.surfpool-types]
version = "1.3.1"
default-features = false
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.43.0"
default-features = false
[dependencies.txtx-addon-kit]
version = "0.4.14"
[dependencies.txtx-addon-network-svm]
version = "0.3.21"
[dependencies.txtx-addon-network-svm-types]
version = "0.3.19"
[dependencies.uuid]
version = "1.15.1"
[dev-dependencies.ed25519-dalek]
version = "1.0.1"
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.libsecp256k1]
version = "0.7.2"
[dev-dependencies.p256]
version = "0.13"
features = ["ecdsa"]
default-features = false
[dev-dependencies.solana-ed25519-program]
version = "3.0"
default-features = false
[dev-dependencies.solana-secp256k1-program]
version = "3.0"
features = ["bincode"]
default-features = false
[dev-dependencies.solana-secp256r1-program]
version = "3.0"
[dev-dependencies.spl-token-metadata-interface]
version = "0.8.0"
default-features = false
[dev-dependencies.tempfile]
version = "3.23.0"
[dev-dependencies.test-case]
version = "^3.3.1"