# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "surfpool-core"
version = "1.2.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.11.0"
features = [
    "nodejs-internal",
    "precompiles",
]

[dependencies.litesvm-token]
version = "0.11.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 = "2.0"
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.2.1"

[dependencies.surfpool-types]
version = "1.2.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.solana-ed25519-program]
version = "3.0"
default-features = false

[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"
