agent-first-pay 0.4.0

Agent-first cryptocurrency micropayment tool — multi-network wallet (Cashu, Lightning, Solana, EVM, Bitcoin on-chain), send/receive, spend limits, REST/RPC modes
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "agent-first-pay"
version = "0.4.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Agent-first cryptocurrency micropayment tool — multi-network wallet (Cashu, Lightning, Solana, EVM, Bitcoin on-chain), send/receive, spend limits, REST/RPC modes"
readme = "README.md"
keywords = [
    "cryptocurrency",
    "micropayment",
    "cashu",
    "lightning",
    "bitcoin",
]
categories = [
    "cryptography::cryptocurrencies",
    "command-line-utilities",
]
license = "MIT"
repository = "https://github.com/cmnspore/agent-first-pay"

[features]
btc-core = [
    "dep:bdk_wallet",
    "dep:bdk_bitcoind_rpc",
    "dep:bip39",
]
btc-electrum = [
    "dep:bdk_wallet",
    "dep:bdk_electrum",
    "dep:bip39",
]
btc-esplora = [
    "dep:bdk_wallet",
    "dep:bdk_esplora",
    "dep:bip39",
    "dep:reqwest",
]
cashu = [
    "dep:cdk",
    "dep:bip39",
]
default = [
    "redb",
    "postgres",
    "interactive",
    "cashu",
    "ln-phoenixd",
    "sol",
    "evm",
    "btc-esplora",
    "exchange-rate",
]
evm = [
    "dep:alloy",
    "dep:reqwest",
    "dep:bip39",
]
exchange-rate = ["dep:reqwest"]
interactive = [
    "dep:rustyline",
    "dep:qrcode",
]
ln-lnbits = ["dep:reqwest"]
ln-nwc = ["dep:nostr-wallet-connect"]
ln-phoenixd = ["dep:reqwest"]
postgres = [
    "dep:sqlx",
    "dep:cdk-postgres",
]
redb = [
    "dep:redb",
    "dep:fs2",
    "dep:cdk-redb",
]
rest = [
    "dep:axum",
    "dep:tower-http",
]
sol = [
    "dep:reqwest",
    "dep:solana-sdk",
    "dep:solana-system-interface",
    "dep:bs58",
    "dep:base64",
    "dep:wincode",
    "dep:bip39",
    "dep:spl-token",
    "dep:spl-associated-token-account",
]

[lib]
name = "agent_first_pay"
path = "src/lib.rs"

[[bin]]
name = "afpay"
path = "src/main.rs"

[[test]]
name = "btc_live"
path = "tests/btc_live.rs"

[[test]]
name = "btc_receive_wait"
path = "tests/btc_receive_wait.rs"

[[test]]
name = "cashu_live"
path = "tests/cashu_live.rs"

[[test]]
name = "evm_live"
path = "tests/evm_live.rs"

[[test]]
name = "evm_receive_wait"
path = "tests/evm_receive_wait.rs"

[[test]]
name = "history_sync"
path = "tests/history_sync.rs"

[[test]]
name = "ln_live"
path = "tests/ln_live.rs"

[[test]]
name = "lnbits_live"
path = "tests/lnbits_live.rs"

[[test]]
name = "rest_test"
path = "tests/rest_test.rs"

[[test]]
name = "rpc_test"
path = "tests/rpc_test.rs"

[[test]]
name = "sol_live"
path = "tests/sol_live.rs"

[[test]]
name = "sol_receive_wait"
path = "tests/sol_receive_wait.rs"

[dependencies.aes-gcm]
version = "0.10"

[dependencies.agent-first-data]
version = "0.7.0"

[dependencies.alloy]
version = "1.7"
features = [
    "provider-http",
    "signers",
    "signer-local",
    "signer-mnemonic",
    "network",
    "contract",
    "reqwest-rustls-tls",
    "rpc-types",
]
optional = true
default-features = false

[dependencies.async-trait]
version = "0.1"

[dependencies.axum]
version = "0.8"
optional = true

[dependencies.base64]
version = "0.22"
optional = true

[dependencies.bdk_bitcoind_rpc]
version = "0.22"
optional = true

[dependencies.bdk_electrum]
version = "0.23"
features = ["use-rustls"]
optional = true
default-features = false

[dependencies.bdk_esplora]
version = "0.22"
features = [
    "async-https-rustls",
    "tokio",
]
optional = true
default-features = false

[dependencies.bdk_wallet]
version = "2"
features = [
    "std",
    "keys-bip39",
]
optional = true
default-features = false

[dependencies.bip39]
version = "2"
optional = true
default-features = false

[dependencies.bs58]
version = "0.5"
optional = true

[dependencies.cdk]
version = "0.15"
features = ["wallet"]
optional = true
default-features = false

[dependencies.cdk-postgres]
version = "0.15"
optional = true

[dependencies.cdk-redb]
version = "0.15"
optional = true

[dependencies.clap]
version = "4"
features = ["derive"]

[dependencies.fs2]
version = "0.4"
optional = true

[dependencies.getrandom]
version = "0.4"

[dependencies.hex]
version = "0.4"

[dependencies.lightning-invoice]
version = "0.34"

[dependencies.nostr-wallet-connect]
version = "0.44"
optional = true
package = "nwc"

[dependencies.prost]
version = "0.14"

[dependencies.qrcode]
version = "0.14"
optional = true

[dependencies.redb]
version = "3"
optional = true

[dependencies.reqwest]
version = "0.13"
features = [
    "json",
    "rustls",
    "form",
    "query",
]
optional = true
default-features = false

[dependencies.rustyline]
version = "17"
optional = true

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.sha2]
version = "0.10"

[dependencies.shell-words]
version = "1"

[dependencies.solana-sdk]
version = "4"
optional = true

[dependencies.solana-system-interface]
version = "3.1"
features = ["wincode"]
optional = true

[dependencies.spl-associated-token-account]
version = "8"
features = ["no-entrypoint"]
optional = true

[dependencies.spl-token]
version = "9"
features = ["no-entrypoint"]
optional = true

[dependencies.sqlx]
version = "0.8"
features = [
    "runtime-tokio",
    "postgres",
    "json",
]
optional = true

[dependencies.tokio]
version = "1"
features = ["full"]

[dependencies.toml]
version = "1.0"

[dependencies.tonic]
version = "0.14"

[dependencies.tonic-prost]
version = "0.14"

[dependencies.tower-http]
version = "0.6"
features = ["cors"]
optional = true

[dependencies.wincode]
version = "0.4"
optional = true

[dependencies.zstd]
version = "0.13"

[dev-dependencies.reqwest]
version = "0.13"
features = [
    "json",
    "rustls",
]
default-features = false

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.tower]
version = "0.5"
features = ["util"]

[build-dependencies.tonic-build]
version = "0.14"

[build-dependencies.tonic-prost-build]
version = "0.14"