From b3c449f54e991bd53152f7da058e8d2b7ea71832 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Wed, 11 Mar 2026 16:10:44 -0700 Subject: [PATCH] =?UTF-8?q?feat(rflows+rwallet):=20diverse=20relay=20provi?= =?UTF-8?q?ders=20=E2=80=94=20on-ramp=20abstraction,=20configurable=20RPC,?= =?UTF-8?q?=20Pimlico=20bundler?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - On-ramp provider interface + registry (transak > coinbase > ramp priority) - TransakOnrampAdapter, CoinbaseOnrampAdapter, RampOnrampAdapter - Provider-agnostic user-onramp endpoint with dynamic /api/onramp/config - Coinbase + Ramp Network webhook handlers - Frontend provider dropdown in Fund modal with multi-provider postMessage - Configurable RPC: env var overrides (RPC_BASE etc), Alchemy auto-construct, public fallback - Pimlico ERC-4337 bundler client + auth-gated routes (submit/send/receipt) - Remove hardcoded Transak staging creds from entrypoint.sh (use Infisical) Co-Authored-By: Claude Opus 4.6 --- entrypoint.sh | 5 - modules/rflows/components/folk-flows-app.ts | 38 ++- modules/rflows/lib/coinbase-onramp.ts | 38 +++ modules/rflows/lib/onramp-provider.ts | 29 ++ modules/rflows/lib/onramp-registry.ts | 31 +++ modules/rflows/lib/pimlico.ts | 151 ++++++++++ modules/rflows/lib/ramp-onramp.ts | 32 +++ modules/rflows/lib/transak-onramp.ts | 38 +++ modules/rflows/mod.ts | 288 +++++++++++++------- modules/rwallet/mod.ts | 44 ++- 10 files changed, 577 insertions(+), 117 deletions(-) create mode 100644 modules/rflows/lib/onramp-provider.ts create mode 100644 modules/rflows/lib/onramp-registry.ts create mode 100644 modules/rflows/lib/pimlico.ts create mode 100644 modules/rflows/lib/ramp-onramp.ts create mode 100644 modules/rflows/lib/transak-onramp.ts diff --git a/entrypoint.sh b/entrypoint.sh index bef1fd5..8e8ea1c 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -77,9 +77,4 @@ if [ -n "$INFISICAL_AI_CLIENT_ID" ] && [ -n "$INFISICAL_AI_CLIENT_SECRET" ]; the fi fi -# TEMP: Use staging credentials until production IP is whitelisted with Transak -export TRANSAK_API_KEY="1880fd5c-c1a8-48ff-8581-cd5977538ecd" -export TRANSAK_SECRET="+CXXAOb7FNX4MTYPvRBJOw==" -export TRANSAK_ENV="STAGING" - exec "$@" diff --git a/modules/rflows/components/folk-flows-app.ts b/modules/rflows/components/folk-flows-app.ts index 33e6fca..7b08297 100644 --- a/modules/rflows/components/folk-flows-app.ts +++ b/modules/rflows/components/folk-flows-app.ts @@ -3546,11 +3546,19 @@ class FolkFlowsApp extends HTMLElement { -