[package]
edition = "2021"
name = "light-sdk"
version = "0.20.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust SDK for ZK Compression on Solana"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/Lightprotocol/light-protocol"
[features]
anchor = [
"anchor-lang",
"light-compressed-account/anchor",
"light-sdk-types/anchor",
"light-token-interface/anchor",
]
cpi-context = ["light-sdk-types/cpi-context"]
custom-heap = ["light-heap"]
default = ["v2"]
devnet = []
idl-build = [
"anchor-lang/idl-build",
"light-compressed-account/idl-build",
"light-sdk-types/idl-build",
"light-token-interface/idl-build",
"anchor",
"dep:solana-program",
]
keccak = [
"light-hasher/keccak",
"light-compressed-account/keccak",
"light-sdk-types/keccak",
]
merkle-tree = ["light-concurrent-merkle-tree/solana"]
poseidon = [
"light-hasher/poseidon",
"light-compressed-account/poseidon",
"light-sdk-types/poseidon",
]
profile-heap = []
profile-program = []
sha256 = [
"light-hasher/sha256",
"light-compressed-account/sha256",
"light-sdk-types/sha256",
]
v2 = ["light-sdk-types/v2"]
[lib]
name = "light_sdk"
crate-type = [
"cdylib",
"lib",
]
path = "src/lib.rs"
[[test]]
name = "address_derivation"
path = "tests/address_derivation.rs"
[[test]]
name = "discriminator"
path = "tests/discriminator.rs"
[[test]]
name = "light_account_poseidon"
path = "tests/light_account_poseidon.rs"
[[test]]
name = "light_account_sha"
path = "tests/light_account_sha.rs"
[dependencies.anchor-lang]
version = "0.31.1"
optional = true
[dependencies.bincode]
version = "1"
[dependencies.borsh]
version = "0.10.4"
default-features = false
[dependencies.bytemuck]
version = "1.19.0"
[dependencies.light-account-checks]
version = "0.8.0"
features = ["solana"]
default-features = false
[dependencies.light-compressed-account]
version = "0.10.0"
features = ["std"]
default-features = false
[dependencies.light-concurrent-merkle-tree]
version = "5.0.0"
optional = true
[dependencies.light-hasher]
version = "5.0.0"
features = ["std"]
default-features = false
[dependencies.light-heap]
version = "2.0.0"
optional = true
[dependencies.light-macros]
version = "2.2.0"
[dependencies.light-program-profiler]
version = "0.1.0"
[dependencies.light-sdk-macros]
version = "0.20.0"
[dependencies.light-sdk-types]
version = "0.20.0"
features = [
"std",
"token",
]
default-features = false
[dependencies.light-token-interface]
version = "0.4.0"
[dependencies.light-zero-copy]
version = "0.6.0"
default-features = false
[dependencies.num-bigint]
version = "0.4.6"
[dependencies.solana-account-info]
version = "2.2"
[dependencies.solana-clock]
version = "2.2"
[dependencies.solana-cpi]
version = "2.2"
[dependencies.solana-instruction]
version = "2.3"
[dependencies.solana-loader-v3-interface]
version = "5.0"
features = ["serde"]
[dependencies.solana-msg]
version = "2.2"
[dependencies.solana-program]
version = "2.3"
optional = true
[dependencies.solana-program-error]
version = "2.2"
[dependencies.solana-pubkey]
version = "2.4.0"
features = [
"borsh",
"sha2",
"curve25519",
]
[dependencies.solana-system-interface]
version = "1"
[dependencies.solana-sysvar]
version = "2.2"
[dependencies.thiserror]
version = "2.0"
[dev-dependencies.anchor-lang]
version = "0.31.1"
[dev-dependencies.light-compressed-account]
version = "0.10.0"
features = [
"new-unique",
"sha256",
"poseidon",
]
default-features = false
[dev-dependencies.light-hasher]
version = "5.0.0"
features = [
"keccak",
"sha256",
"poseidon",
]
default-features = false
[dev-dependencies.num-bigint]
version = "0.4.6"
[lints.rust.unexpected_cfgs]
level = "allow"
priority = 0
check-cfg = [
'cfg(target_os, values("solana"))',
'cfg(feature, values("frozen-abi", "no-entrypoint"))',
]