[package]
name = "solana-sdk"
version = "1.8.13"
description = "Solana SDK"
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
repository = "https://github.com/solana-labs/solana"
homepage = "https://solana.com/"
documentation = "https://docs.rs/solana-sdk"
readme = "README.md"
license = "Apache-2.0"
edition = "2018"

[features]
# "program" feature is a legacy feature retained to support v1.3 and older
# programs.  New development should not use this feature.  Instead use the
# solana-program crate
program = []

default = [
  "full" # functionality that is not compatible or needed for on-chain programs
]
full = [
    "assert_matches",
    "byteorder",
    "chrono",
    "generic-array",
    "memmap2",
    "rand",
    "rand_chacha",
    "serde_json",
    "ed25519-dalek",
    "ed25519-dalek-bip32",
    "solana-logger",
    "solana-crate-features",
    "libsecp256k1",
    "sha3",
    "digest",
]

[dependencies]
assert_matches = { version = "1.5.0", optional = true }
bincode = "1.3.3"
bytemuck = { version = "1.7.2", features = ["derive"] }
borsh = "0.9.0"
base64 = "0.13"
borsh-derive = "0.9.0"
bs58 = "0.4.0"
bv = { version = "0.11.1", features = ["serde"] }
byteorder = { version = "1.3.4", optional = true }
chrono = { version = "0.4", optional = true }
curve25519-dalek = { version = "2.1.0", optional = true }
derivation-path = { version = "0.1.3", default-features = false }
digest = { version = "0.9.0", optional = true }
ed25519-dalek = { version = "=1.0.1", optional = true }
ed25519-dalek-bip32 = { version = "0.1.1", optional = true }
generic-array = { version = "0.14.3", default-features = false, features = ["serde", "more_lengths"], optional = true }
hex = "0.4.2"
hmac = "0.10.1"
itertools =  "0.9.0"
lazy_static = "1.4.0"
libsecp256k1 = { version = "0.5.0", optional = true }
log = "0.4.11"
memmap2 = { version = "0.1.0", optional = true }
num-derive = "0.3"
num-traits = "0.2"
pbkdf2 = { version = "0.6.0", default-features = false }
qstring = "0.7.2"
rand = { version = "0.7.0", optional = true }
rand_chacha = { version = "0.2.2", optional = true }
rand_core = "0.6.2"
rustversion = "1.0.4"
serde = "1.0.122"
serde_bytes = "0.11"
serde_derive = "1.0.103"
serde_json = { version = "1.0.56", optional = true }
sha2 = "0.9.2"
sha3 = { version = "0.9.1", optional = true }
solana-crate-features = { path = "../crate-features", version = "=1.8.13", optional = true }
solana-logger = { path = "../logger", version = "=1.8.13", optional = true }
solana-frozen-abi = { path = "../frozen-abi", version = "=1.8.13" }
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.8.13" }
solana-program = { path = "program", version = "=1.8.13" }
solana-sdk-macro = { path = "macro", version = "=1.8.13" }
thiserror = "1.0"
uriparse = "0.6.3"

[dev-dependencies]
curve25519-dalek = "2.1.0"
tiny-bip39 = "0.8.1"

[build-dependencies]
rustc_version = "0.2"

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