Files
smirk-backend-core/src/api/mod.rs
T
jwinterm 0f0ec2af49 feat(verify): delegated settlement verification endpoint
Add POST /api/v1/verify, the server side of moon.vote's delegated
settlement check: confirm a specific tx_ref paid at least the expected
base-unit amount to dest_address, confirmed to this backend's per-asset
depth.

- UTXO (btc/ltc): mirror ElectrumClient semantics; consult get_history
  first to distinguish not_found from a node error, then attribute the
  exact amount via VerboseTransaction::total_received_at.
- CryptoNote (xmr/wow): require a private view_key, scan via
  get_address_txs, match tx_ref, gate on mempool/height and the daemon
  confirmation depth (XMR 10, WOW 4).
- grin: deferred (reports not_found with a warn).

Business outcomes (incl. failures) are always 200 with a fixed reason
vocabulary; only infrastructure failures return non-2xx AppError so
moon.vote retries. Unauthenticated by design (nginx allow-list gates it);
no utoipa/openapi wiring (server-to-server, not in the wallet client).
2026-07-29 07:39:08 -04:00

19 lines
320 B
Rust

//! HTTP API layer: handlers and the OpenAPI assembly.
pub mod admin;
pub mod auth;
pub mod capabilities;
pub mod erasure;
pub mod health;
pub mod landing;
pub mod middleware;
pub mod nip05;
pub mod openapi;
pub mod premium;
pub mod prices;
pub mod tips;
pub mod users;
pub mod verify;
pub mod wallet;
pub mod website;