bd67bfc92e
A self-hostable Grin payment server for shops, creators, and sites: show a code, Grin lands in your wallet, with a verifiable Grin payment proof on receive. Workspace crates (gp-core / gp-nostr / gp-server / gp-wallet / gp-goblin-sender), a WooCommerce connector, a hosted /pay/<token> checkout, and NIP-44 v3 gift-wrapped payment DMs carried over the Nym mixnet. All secrets are read from the environment; none are committed.
51 lines
1.7 KiB
TOML
51 lines
1.7 KiB
TOML
[package]
|
|
name = "gp-server"
|
|
description = "GoblinPay HTTP server (Actix-Web, in-process rustls TLS)"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[[bin]]
|
|
name = "gp-server"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
gp-core = { path = "../gp-core" }
|
|
gp-nostr = { path = "../gp-nostr" }
|
|
gp-wallet = { path = "../gp-wallet" }
|
|
actix-web = { version = "4", default-features = false, features = [
|
|
"macros",
|
|
"http2",
|
|
"rustls-0_23",
|
|
] }
|
|
askama = "0.14"
|
|
rustls = { version = "0.23", default-features = false, features = [
|
|
"ring",
|
|
"logging",
|
|
"std",
|
|
"tls12",
|
|
] }
|
|
rustls-pemfile = "2"
|
|
serde = { workspace = true }
|
|
serde_json.workspace = true
|
|
sqlx = { workspace = true }
|
|
log = "0.4"
|
|
# Outbound webhook delivery. `rustls-no-provider` reuses the process-installed
|
|
# ring crypto provider (no aws-lc-rs build) and brings platform-verifier roots;
|
|
# no JSON feature (we send a pre-signed body).
|
|
reqwest = { version = "0.13", default-features = false, features = ["rustls-no-provider"] }
|
|
# Stderr logger for the gp-nostr/nym `log` output; no regex filtering needed.
|
|
env_logger = { version = "0.11", default-features = false, features = ["humantime"] }
|
|
|
|
[dev-dependencies]
|
|
# The milestone-3 end-to-end test: a stand-in payer built from nostr-sdk
|
|
# gift-wraps a REAL S1 (generated by the gp-goblin-sender subprocess), the
|
|
# ingest pipeline receives it through the real WalletReceiver, and the reply
|
|
# is decrypted and finalized by Goblin's wallet stack.
|
|
nostr-sdk = { version = "0.44", features = ["nip44", "nip49", "nip59"] }
|
|
nip44 = { path = "../../../nip44" }
|
|
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }
|
|
rand = "0.6"
|
|
grin_keychain = "=5.4.1"
|
|
grin_core = "=5.4.1"
|