Skip to content

feat: add deposits/addresses, wallet transfer, invoice share, outstanding-aging report#1085

Merged
davedumto merged 1 commit into
davedumto:mainfrom
Jay-Peter-Egemasi:feat/close-1028-1026-1017-1009
Jun 25, 2026
Merged

feat: add deposits/addresses, wallet transfer, invoice share, outstanding-aging report#1085
davedumto merged 1 commit into
davedumto:mainfrom
Jay-Peter-Egemasi:feat/close-1028-1026-1017-1009

Conversation

@Jay-Peter-Egemasi

Copy link
Copy Markdown
Contributor

Summary

Closes #1028
Closes #1026
Closes #1017
Closes #1009

Changes

#1028 — GET,POST /api/routes-d/deposits/addresses

List and generate deposit addresses. GET filters by network query param. POST validates network (mainnet/testnet), looks up wallet address, creates a depositAddress record.

#1026 — POST /api/routes-d/wallet/transfer

Internal transfer between wallet buckets. Validates fromBucket, toBucket (savings/operating/reserve), amount, and currency. Rejects same-bucket transfers. Creates an internal_transfer transaction.

#1017 — POST /api/routes-b/invoices/[id]/share

Share an invoice via channel link. Validates invoice ownership, validates channels (link/email/slack), generates a base64url share token, returns shareUrl and expiresAt (7 days). Wrapped with withRequestId.

#1009 — GET /api/routes-b/reports/outstanding-aging

Outstanding-by-aging-bucket report. Buckets pending/overdue invoices into current, 1-30, 31-60, 61-90, 90+ day bands. Accepts currency query param. Returns totals per bucket and overall. Wrapped with withRequestId.

Test plan

  • Auth: 401 on missing/invalid tokens
  • Deposits: 422 for invalid network, 201 with address on success
  • Transfer: 422 for same bucket or invalid bucket names
  • Share: 404 on wrong invoice, 422 on invalid channel, share URL returned
  • Aging: empty state returns zero buckets, overdue invoice bucketed correctly

@vercel

vercel Bot commented Jun 25, 2026

Copy link
Copy Markdown

@Jay-Peter-Egemasi is attempting to deploy a commit to the david's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jun 25, 2026

Copy link
Copy Markdown

@Jay-Peter-Egemasi 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

@davedumto davedumto merged commit b49339c into davedumto:main Jun 25, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment