rspace-online/modules
Jeff Emmett 97a077b256 feat(rcart): Layer 3 — automated recurring payment execution via ERC-20 allowance
Recurring Executor (new module):
- Server-managed relayer keypair derived deterministically via HKDF
- Checks on-chain ERC-20 allowance before pulling funds
- Executes transferFrom when subscriptions are due
- Supports Base, Base Sepolia, and Ethereum mainnet

New API Endpoints:
- GET /api/payments/:id/subscription-info — returns relayer address and
  approve calldata for the client to authorize recurring pulls
- POST /api/payments/:id/subscribe — registers a subscription after
  payer approves on-chain allowance, verifies allowance exists

Scheduler Upgrade:
- Attempts automated pull first for subscriptions with approved allowance
- Falls back to email reminder if auto-pull fails or is not configured
- Sends branded receipt email after successful automated payments
- Extracted email templates into reusable helper functions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 21:32:13 +00:00
..
rbooks feat: add ViewHistory for in-app back navigation, rename rWork to rTasks 2026-03-11 14:04:13 -07:00
rcal feat(responsive): adaptive tablet/fold breakpoints, touch/pen parity, pointer events drag 2026-03-12 13:41:29 -07:00
rcart feat(rcart): Layer 3 — automated recurring payment execution via ERC-20 allowance 2026-03-12 21:32:13 +00:00
rchoices feat(responsive): adaptive tablet/fold breakpoints, touch/pen parity, pointer events drag 2026-03-12 13:41:29 -07:00
rdata feat: add ViewHistory for in-app back navigation, rename rWork to rTasks 2026-03-11 14:04:13 -07:00
rdesign feat: scope system, cross-space navigation, and spaces-as-layers 2026-03-09 06:33:32 +00:00
rdocs feat: scope system, cross-space navigation, and spaces-as-layers 2026-03-09 06:33:32 +00:00
rfiles feat(responsive): adaptive tablet/fold breakpoints, touch/pen parity, pointer events drag 2026-03-12 13:41:29 -07:00
rflows feat(transak): pre-fill fiat amount and currency in widget 2026-03-12 12:12:31 -07:00
rforum feat(responsive): adaptive tablet/fold breakpoints, touch/pen parity, pointer events drag 2026-03-12 13:41:29 -07:00
rinbox feat(responsive): adaptive tablet/fold breakpoints, touch/pen parity, pointer events drag 2026-03-12 13:41:29 -07:00
rmaps fix(infra): consolidate external service URLs to rspace.online (TASK-51.1) 2026-03-11 19:12:51 -07:00
rmeets feat: add subnav outputPaths for rcart, rmeets, rwallet; CRM URL-path tabs 2026-03-12 01:37:05 -07:00
rnetwork feat(shell): redesign rApp info popup as centered modal with overlay 2026-03-12 11:24:41 -07:00
rnotes feat(responsive): adaptive tablet/fold breakpoints, touch/pen parity, pointer events drag 2026-03-12 13:41:29 -07:00
rphotos feat: add ViewHistory for in-app back navigation, rename rWork to rTasks 2026-03-11 14:04:13 -07:00
rpubs feat(canvas): image paste/drop + bookmark cards + enhanced paste/drop handlers 2026-03-11 19:50:25 -07:00
rschedule feat: consolidate domains, install deps, fix EncryptID types 2026-03-11 21:55:39 -07:00
rsocials feat(rsocials): AI campaign generator from event brief 2026-03-12 13:59:56 -07:00
rspace fix: layer flows drag-to-connect, notification 401 spam, /api/meta 404 2026-03-04 11:12:19 -08:00
rsplat feat(rsplat): interactive demo scenes + AI image-to-3D generation 2026-03-11 14:29:15 -07:00
rswag feat(rcart,rcal): group buy page, multi-scale calendar demo, TS fixes 2026-03-11 17:59:02 -07:00
rtasks feat(responsive): adaptive tablet/fold breakpoints, touch/pen parity, pointer events drag 2026-03-12 13:41:29 -07:00
rtrips feat: add ViewHistory for in-app back navigation, rename rWork to rTasks 2026-03-11 14:04:13 -07:00
rtube feat: add ViewHistory for in-app back navigation, rename rWork to rTasks 2026-03-11 14:04:13 -07:00
rvote feat(responsive): adaptive tablet/fold breakpoints, touch/pen parity, pointer events drag 2026-03-12 13:41:29 -07:00
rwallet feat(responsive): adaptive tablet/fold breakpoints, touch/pen parity, pointer events drag 2026-03-12 13:41:29 -07:00