[package]
name = "solana-pubkey"
description = "Solana account addresses"
documentation = "https://docs.rs/solana-pubkey"
version = { workspace = true }
authors = { workspace = true }
repository = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
edition = { workspace = true }
[dependencies]
arbitrary = { workspace = true, features = ["derive"], optional = true }
borsh = { workspace = true, optional = true }
borsh0-10 = { package = "borsh", version = "0.10.3", optional = true }
bs58 = { workspace = true }
bytemuck = { workspace = true, optional = true }
bytemuck_derive = { workspace = true, optional = true }
five8_const = { workspace = true }
num-traits = { workspace = true }
rand = { workspace = true, optional = true }
serde = { workspace = true, optional = true }
serde_derive = { workspace = true, optional = true }
solana-atomic-u64 = { workspace = true }
solana-decode-error = { workspace = true }
solana-frozen-abi = { workspace = true, optional = true, features = [
"frozen-abi",
] }
solana-frozen-abi-macro = { workspace = true, optional = true, features = [
"frozen-abi",
] }
solana-sanitize = { workspace = true }
[target.'cfg(target_os = "solana")'.dependencies]
solana-define-syscall = { workspace = true }
solana-sha256-hasher = { workspace = true }
[target.'cfg(not(target_os = "solana"))'.dependencies]
curve25519-dalek = { workspace = true, optional = true }
solana-sha256-hasher = { workspace = true, optional = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { workspace = true, features = ["js", "wasm-bindgen"] }
js-sys = { workspace = true }
wasm-bindgen = { workspace = true }
[dev-dependencies]
anyhow = { workspace = true }
arbitrary = { workspace = true, features = ["derive"] }
bs58 = { workspace = true, features = ["alloc"] }
solana-program = { path = "../program" }
solana-pubkey = { path = ".", features = [
"borsh",
"curve25519",
"dev-context-only-utils",
"std",
] }
strum = { workspace = true }
strum_macros = { workspace = true }
[features]
borsh = ["dep:borsh", "dep:borsh0-10", "std"]
bytemuck = ["dep:bytemuck", "dep:bytemuck_derive"]
curve25519 = ["dep:curve25519-dalek", "sha2"]
default = ["std"]
dev-context-only-utils = ["dep:arbitrary", "rand"]
frozen-abi = [
"dep:solana-frozen-abi",
"dep:solana-frozen-abi-macro"
]
rand = ["dep:rand", "std"]
serde = ["dep:serde", "dep:serde_derive"]
sha2 = ["dep:solana-sha256-hasher", "solana-sha256-hasher/sha2"]
std = []
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
all-features = true
rustdoc-args = ["--cfg=docsrs"]
[lints]
workspace = true