[package]
edition = "2021"
rust-version = "1.89"
name = "sendfun-sdk"
version = "2.0.0"
build = false
exclude = [
".github/",
"clippy.toml",
"rustfmt.toml",
"rust-toolchain.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust SDK for send.fun programs"
homepage = "https://send.fun"
documentation = "https://docs.rs/sendfun-sdk"
readme = "README.md"
keywords = [
"solana",
"send",
"launchpad",
"dex",
"sdk",
]
categories = [
"cryptography::cryptocurrencies",
"api-bindings",
]
license = "MIT"
repository = "https://github.com/send-fun/sendfun-sdk-rust"
[package.metadata.docs.rs]
all-features = true
[features]
anchor = ["dep:anchor-lang"]
default = []
serde = [
"dep:serde",
"dep:serde_with",
]
[lib]
name = "sendfun_sdk"
crate-type = ["lib"]
path = "src/lib.rs"
[dependencies.anchor-lang]
version = "1.1.2"
optional = true
[dependencies.borsh]
version = "1"
[dependencies.bytemuck]
version = "1.17"
features = [
"derive",
"min_const_generics",
]
[dependencies.num-derive]
version = "^0.4"
[dependencies.num-traits]
version = "^0.2"
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_with]
version = "^3.0"
optional = true
[dependencies.solana-address]
version = "^2.2"
features = [
"borsh",
"copy",
"curve25519",
"decode",
]
[dependencies.solana-instruction]
version = "^3"
[dependencies.solana-program]
version = "^3"
[dependencies.solana-sha256-hasher]
version = "^3"
features = ["sha2"]
[dependencies.spl-discriminator]
version = "0.5.1"
[dependencies.spl-tlv-account-resolution]
version = "0.11.4"
[dependencies.spl-token-2022-interface]
version = "3.1.1"
[dependencies.spl-type-length-value]
version = "0.9.1"
[dependencies.thiserror]
version = "^2"
[dev-dependencies.sha2]
version = "0.10"
[lints.clippy]
allow_attributes = "deny"
allow_attributes_without_reason = "deny"
arithmetic_side_effects = "warn"
await_holding_lock = "deny"
cargo_common_metadata = "allow"
cast_possible_truncation = "allow"
cast_precision_loss = "allow"
clone_on_ref_ptr = "warn"
cognitive_complexity = "allow"
dbg_macro = "deny"
expect_used = "deny"
indexing_slicing = "warn"
mem_forget = "deny"
missing_errors_doc = "allow"
mod_module_files = "warn"
multiple_crate_versions = "allow"
needless_pass_by_value = "allow"
negative_feature_names = "allow"
panic = "deny"
print_stdout = "deny"
todo = "deny"
too_many_lines = "allow"
undocumented_unsafe_blocks = "warn"
unimplemented = "deny"
unnecessary_wraps = "allow"
unwrap_used = "deny"
wildcard_imports = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.clippy.perf]
level = "warn"
priority = -1
[lints.rust]
dead_code = "allow"
missing_docs = "allow"
unfulfilled_lint_expectations = "deny"
unused_crate_dependencies = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ['cfg(target_os, values("solana"))']