[package]
edition = "2024"
name = "swig-sdk"
version = "0.3.2"
authors = ["Archer <archer@bitrouter.ai>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Standalone Rust SDK for the Swig wallet protocol on Solana"
readme = "README.md"
license = "MIT"
repository = "https://github.com/bitrouter/swig-sdk"
[features]
alloy = [
"dep:alloy-primitives",
"dep:alloy-signer",
"dep:alloy-signer-local",
]
default = [
"rpc",
"token",
]
rpc = [
"dep:solana-transaction",
"dep:solana-keypair",
]
token = [
"dep:spl-token",
"dep:spl-associated-token-account",
]
[lib]
name = "swig_sdk"
path = "src/lib.rs"
[[example]]
name = "round_trip"
path = "examples/round_trip.rs"
[[example]]
name = "session"
path = "examples/session.rs"
[[test]]
name = "authority"
path = "tests/authority.rs"
[[test]]
name = "close"
path = "tests/close.rs"
[[test]]
name = "create"
path = "tests/create.rs"
[[test]]
name = "session"
path = "tests/session.rs"
[[test]]
name = "sign"
path = "tests/sign.rs"
[[test]]
name = "sub_account"
path = "tests/sub_account.rs"
[[test]]
name = "transfer_assets"
path = "tests/transfer_assets.rs"
[dependencies.alloy-primitives]
version = "1.5"
features = ["k256"]
optional = true
[dependencies.alloy-signer]
version = "1.7"
optional = true
[dependencies.alloy-signer-local]
version = "1.7"
optional = true
[dependencies.bs58]
version = "0.5"
[dependencies.hex]
version = "0.4"
[dependencies.sha2]
version = "0.10"
[dependencies.solana-instruction]
version = "3.2"
[dependencies.solana-keccak-hasher]
version = "3.1"
features = ["sha3"]
[dependencies.solana-keypair]
version = "3.1"
optional = true
[dependencies.solana-pubkey]
version = "4.1"
[dependencies.solana-sdk-ids]
version = "3.1"
[dependencies.solana-transaction]
version = "3.1"
optional = true
[dependencies.spl-associated-token-account]
version = "8.0"
optional = true
[dependencies.spl-token]
version = "9.0"
optional = true
[dependencies.thiserror]
version = "2.0"
[dev-dependencies.litesvm]
version = "0.10"
[dev-dependencies.rand]
version = "0.10"
[dev-dependencies.solana-account]
version = "3.4"
[dev-dependencies.solana-client]
version = "3.1"
[dev-dependencies.solana-signer]
version = "3.0"