[package]
name = "spl-token-2022-interface"
version = "3.1.1"
description = "Solana Program Library Token 2022 Interface"
documentation = "https://docs.rs/spl-token-2022-interface"
readme = "README.md"
authors = { workspace = true }
repository = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
edition = { workspace = true }

[features]
serde = ["dep:serde", "dep:serde_with", "serde/alloc", "solana-address/serde", "solana-address/decode", "solana-nullable/serde", "solana-nullable/serde-with", "solana-zero-copy/serde", "solana-zk-sdk-pod/serde"]

[dependencies]
arrayref = "0.3.9"
bytemuck = { version = "1.25.0", features = ["derive"] }
num-derive = "0.4"
num-traits = { version = "0.2", features = ["libm"], default-features = false }
num_enum = { version = "0.7.6", default-features = false }
solana-account-info = "3.1.1"
solana-address = { version = "2.6.1", features = ["bytemuck", "nullable"] }
solana-instruction = { version = "3.0.0", default-features = false }
solana-nullable = { version = "1.1.1", features = ["bytemuck"] }
solana-program-error = "3.0.1"
solana-program-option = "3.1.0"
solana-program-pack = "3.1.0"
solana-sdk-ids = "3.1.0"
solana-zero-copy = { version = "1.1.1", features = ["bytemuck"] }
solana-zk-sdk-pod = "0.1.2"
solana-zk-elgamal-proof-interface = "0.1.3"
spl-token-confidential-transfer-proof-extraction = { version = "0.6.0", path = "../confidential/proof-extraction" }
spl-token-group-interface = "0.7.2"
spl-token-metadata-interface = "1.0.0"
spl-type-length-value = { version = "0.9.1" }
thiserror = { version = "2.0", default-features = false }
serde = { version = "1.0.219", optional = true, default-features = false }
serde_with = { version = "3.21.0", optional = true, default-features = false }

[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies]
getrandom = { version = "0.2", features = ["js"] }

[dev-dependencies]
base64 = "0.22.1"
proptest = "1.11"
serde_json = "1.0.150"
solana-address = { version = "2.6.1", features = ["curve25519"] }
spl-token-2022-interface = { path = ".", features = ["serde"] }
spl-token-interface = { version = "3.0" }
strum = "0.28"
strum_macros = "0.28"
test-case = "3.3.1"

[lib]
crate-type = ["lib"]

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

[lints]
workspace = true

[package.metadata.solana]
program-id = "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
