[package]
name = "elisym-core"
version = "0.12.1"
edition = "2021"
rust-version = "1.93"
description = "Rust SDK for AI agent interaction via Nostr with pluggable payment backends"
license = "MIT"
repository = "https://github.com/elisymprotocol/elisym-core"
homepage = "https://github.com/elisymprotocol/elisym-core"
readme = "README.md"
keywords = ["nostr", "lightning", "ai-agents", "solana", "nip-90"]
categories = ["network-programming", "cryptography::cryptocurrencies"]
exclude = ["assets/", "CLAUDE.md", "Cargo.lock"]

[features]
default = []
payments-ldk = ["ldk-node", "rustls", "dirs"]
payments-solana = ["solana-sdk", "solana-client", "solana-transaction-status-client-types", "bs58"]

[dependencies]
nostr-sdk = { version = "0.37", features = ["nip59"] }
ldk-node = { version = "0.5", optional = true }
rustls = { version = "0.23", features = ["aws_lc_rs"], optional = true }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["full"] }
thiserror = "2"
tracing = "0.1"
solana-sdk = { version = "2.2", optional = true }
solana-client = { version = "2.2", optional = true }
solana-transaction-status-client-types = { version = "2.2", optional = true }
bs58 = { version = "0.5", optional = true }
dirs = { version = "6", optional = true }

[dev-dependencies]
tracing-subscriber = "0.3"
reqwest = { version = "0.12", features = ["json"] }
chrono = "0.4"

[[example]]
name = "provider"
path = "examples/provider.rs"

[[example]]
name = "customer"
path = "examples/customer.rs"

[[example]]
name = "messaging"
path = "examples/messaging.rs"

# Lightning examples
[[example]]
name = "payment_flow"
path = "examples/lightning/payment_flow.rs"
required-features = ["payments-ldk"]

[[example]]
name = "wallet_info"
path = "examples/lightning/wallet_info.rs"
required-features = ["payments-ldk"]

[[example]]
name = "open_channel"
path = "examples/lightning/open_channel.rs"
required-features = ["payments-ldk"]

[[example]]
name = "withdraw"
path = "examples/lightning/withdraw.rs"
required-features = ["payments-ldk"]

[[example]]
name = "full_demo"
path = "examples/lightning/full_demo.rs"
required-features = ["payments-ldk"]

[[example]]
name = "demo_provider"
path = "examples/lightning/demo_provider.rs"
required-features = ["payments-ldk"]

[[example]]
name = "demo_customer"
path = "examples/lightning/demo_customer.rs"
required-features = ["payments-ldk"]

[[example]]
name = "demo_setup"
path = "examples/lightning/demo_setup.rs"
required-features = ["payments-ldk"]

# Solana examples
[[example]]
name = "solana_demo_provider"
path = "examples/solana/demo_provider.rs"
required-features = ["payments-solana"]

[[example]]
name = "solana_demo_customer"
path = "examples/solana/demo_customer.rs"
required-features = ["payments-solana"]
