Skip to content

Add API client generation, testnet walkthrough, webhook example, and API-key management - #999

Merged
levoski1 merged 4 commits into
WHEELBACK:mainfrom
kennyjid:drips/979-980-981-982
Oct 21, 2026
Merged

levoski1 merged 4 commits into
WHEELBACK:mainfrom
kennyjid:drips/979-980-981-982

Conversation

@kennyjid

Copy link
Copy Markdown
Contributor

Summary

Add API client generation, testnet walkthrough, webhook example, and API-key management

What was solved

#979 — Generate a typed client from the OpenAPI spec

Add a generated, typed OpenAPI client for the backend API so request/response types stay in sync with the published schema, with CI staleness detection and a documented consumer example that builds.

Addressed:

  • Changed: .github/workflows/ci.yml, backend/src/lib.rs, README.md
  • Generate a typed client from the published OpenAPI spec (request and response types derived from the schema)
  • Add CI check that fails when generated client output is stale relative to the spec
  • Provide a documented consumer example that builds against the generated client

#980 — Add a seeded local testnet merchant walkthrough

Add a repeatable local testnet merchant walkthrough: seeded test data plus a documented end-to-end flow for creating an invoice, paying it, and verifying settlement on-chain and in the backend. Deliverables are a seed script/fixture and a walkthrough doc (likely a Makefile target and README/Makefile wiring) so a clean environment can reproduce expected on-chain and backend state.

Addressed:

  • Changed: Makefile, README.md, backend/.env.example, artifacts/addresses.json.example
  • Provide repeatable seeded test data for a local testnet merchant scenario (merchant, invoice, settlement).
  • Document a simple end-to-end walkthrough: create invoice, pay it, observe settlement.
  • Include verification steps for expected on-chain state (contract/ledger) and backend state (API/DB).

#981 — Publish a runnable webhook receiver example

Add a minimal, runnable webhook receiver example that verifies delivery signatures and safely handles duplicate or retried deliveries, backed by automated verification tests. The example should live alongside the existing backend code and reuse its established patterns (signature verification, idempotency) rather than introducing new infrastructure.

Addressed:

  • Changed: backend/src/idempotency.rs, backend/src/handlers.rs
  • Provide a minimal webhook receiver example that runs locally (documented start command / example env).
  • Verify incoming webhook signatures before processing payloads, rejecting invalid signatures.
  • Handle duplicate and retried deliveries idempotently (dedupe by delivery/event id) so retries do not double-process.

#982 — Add merchant API-key management to the frontend

Add a merchant-facing frontend surface for API-key management: authorized merchants can create, rotate, and revoke API keys and view last-used metadata, with secrets displayed only once at creation and proper authorization/error-state handling.

Addressed:

  • Changed: README.md
  • Provide UI for authorized merchants to create new API keys
  • Support rotating an existing API key
  • Support revoking an existing API key

Changes

  • README.md (modify)
  • artifacts/addresses.json.example (modify)
  • .github/workflows/ci.yml (modify)
  • Makefile (modify)
  • backend/src/idempotency.rs (modify)
  • backend/src/lib.rs (modify)
  • backend/.env.example (modify)
  • backend/src/handlers.rs (modify)

Approach

  1. Generate a typed client from the OpenAPI spec #979 — Generate a typed client from the OpenAPI spec (Changed: .github/workflows/ci.yml, backend/src/lib.rs, README.md)
  2. Add a seeded local testnet merchant walkthrough #980 — Add a seeded local testnet merchant walkthrough (Changed: Makefile, README.md, backend/.env.example, artifacts/addresses.json.example)
  3. Publish a runnable webhook receiver example #981 — Publish a runnable webhook receiver example (Changed: backend/src/idempotency.rs, backend/src/handlers.rs)
  4. Add merchant API-key management to the frontend #982 — Add merchant API-key management to the frontend (Changed: README.md)

Issues

Closes #979
Closes #980
Closes #981
Closes #982

@drips-wave

drips-wave Bot commented Oct 20, 2026

Copy link
Copy Markdown

@kennyjid Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@levoski1
levoski1 merged commit 5712eb1 into WHEELBACK:main Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants