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

[dependencies]
bincode = "1.3.1"
blake3 = { version = "1.3.1", features = ["digest", "traits-preview"] }
borsh = "0.9.1"
borsh-derive = "0.9.1"
bs58 = "0.4.0"
bv = { version = "0.11.1", features = ["serde"] }
bytemuck = { version = "1.8.0", features = ["derive"] }
itertools =  "0.10.5"
lazy_static = "1.4.0"
log = "0.4.17"
memoffset = "0.6"
num-derive = "0.3"
num-traits = { version = "0.2", default-features = true, features = ["i128", "std"] }
rustversion = "1.0.7"
serde = { version = "1.0", features = ["derive"] }
serde_bytes = "0.11"
serde_derive = "1.0"
serde_json = "1.0"
sha2 = "0.10.0"
sha3 = "0.10.0"
solana-frozen-abi = { path = "../../frozen-abi", version = "=1.15.0" }
solana-frozen-abi-macro = { path = "../../frozen-abi/macro", version = "=1.15.0" }
solana-sdk-macro = { path = "../macro", version = "=1.15.0" }
thiserror = "1.0"

[target.'cfg(not(target_os = "solana"))'.dependencies]
ark-bn254 = "0.3.0"
ark-ec = "0.3.0"
ark-ff = "0.3.0"
array-bytes = "=1.4.1"
bitflags = "1.3.1"
base64 = { version = "0.13", features = ["alloc", "std"] }
curve25519-dalek = { version = "3.2.1", features = ["serde"] }
itertools = "0.10.5"
libc = { version = "0.2.126", features = ["extra_traits"] }
libsecp256k1 = "0.6.0"
rand = "0.7"
rand_chacha = { version = "0.2.2", default-features = true, features = ["simd", "std"] }
tiny-bip39 = "0.8.2"
wasm-bindgen = "0.2"
zeroize = { version = "1.3", default-features = true, features = ["zeroize_derive"] }

[target.'cfg(not(target_os = "solana"))'.dev-dependencies]
solana-logger = { path = "../../logger", version = "=1.15.0" }

[target.'cfg(target_arch = "wasm32")'.dependencies]
console_error_panic_hook = "0.1.7"
console_log = "0.2.0"
js-sys = "0.3.55"
getrandom = { version = "0.2", features = ["js", "wasm-bindgen"] }

[target.'cfg(not(target_pointer_width = "64"))'.dependencies]
parking_lot = "0.12"

[dev-dependencies]
anyhow = "1.0.58"
assert_matches = "1.3.0"
bincode = "1.3.1"
borsh = "0.9.1"
borsh-derive = "0.9.1"
serde_json = "1.0.56"
static_assertions = "1.1.0"

[build-dependencies]
cc = { version = "1.0.67", features = ["jobserver", "parallel"] }
rustc_version = "0.4"

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

[lib]
crate-type = ["cdylib", "rlib"]

[features]
default = []
