[package] name = "switchboard-solana" version = "0.28.98" edition = "2021" resolver = "2" description = "A Rust library to interact with Switchboard accounts." readme = "README.md" keywords = ["switchboard", "oracle", "solana"] homepage = "https://switchboard.xyz" repository = "https://github.com/switchboard-xyz/solana-sdk/tree/main/rust/switchboard-solana" license = "MIT" [lib] crate-type = ["cdylib", "lib"] name = "switchboard_solana" doctest = false [features] default = ["cpi"] no-entrypoint = [] cpi = ["no-entrypoint"] secrets = ["aes-gcm", "rand", "rsa", "reqwest"] macros = ["switchboard-solana-macros"] ipfs = ["switchboard-common/ipfs"] all = ["secrets", "macros", "ipfs"] [dependencies] anchor-spl = "0.28.0" bytemuck = "^1" kv-log-macro = "1.0" log = { version = "0.4", features = ["kv_unstable", "kv_unstable_std"] } rust_decimal = "^1" solana-address-lookup-table-program = ">= 1.16, < 1.17" solana-program = ">= 1.16, < 1.17" superslice = "1" switchboard-solana-macros = { version = "0.2.3", path = "../switchboard-solana-macros", optional = true, features = [ "dotenv", ] } [target.'cfg(target_os = "solana")'.dependencies] switchboard-common = { version = "0.11.3", path = "../switchboard-common" } anchor-lang = { version = "0.28.0" } [target.'cfg(not(target_os = "solana"))'.dependencies] arc-swap = "1.6" anchor-client = { version = "0.28.0", features = ["async"] } base64 = "0.21.4" bincode = { version = "^1" } chrono = { version = "0.4.25" } cron = { version = "0.12.0" } dashmap = "5.5.3" futures = "0.3" hex = "0.4.3" serde = { version = "^1", features = ["derive"] } serde_json = { version = "^1" } sgx-quote = { version = "0.1.0" } sha2 = "0.10.8" solana-client = ">= 1.16, < 1.17" solana-account-decoder = ">= 1.16, < 1.17" switchboard-common = { version = "0.11.3", path = "../switchboard-common", features = [ "client", ] } tokio = { version = "1", features = ["full", "tracing"] } tokio-util = { version = "0.7.10", features = ["time"] } url = "2.4" # Secrets Dependencies aes-gcm = { version = "0.10.3", optional = true } rand = { version = "0.8.5", optional = true } reqwest = { version = "0.11", features = ["json"], optional = true } rsa = { version = "0.5.0", optional = true } [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "doc_cfg"] [dev-dependencies] dirs = "5" dotenvy = "0.15" json_env_logger = "0.1" pretty_assertions = "1.4.0" tokio = { version = "1", features = ["full"] }