feat: implement 4 major features (#461, #462, #463, #464)#556
Merged
Conversation
…martdevs17#463, Smartdevs17#464) Smartdevs17#461 - Frontend: Multi-Step Payment Flow Wizard - Zustand wizard store with localStorage persistence - WizardContainer with progress indicator & step navigation - Steps: SelectType, Configure, Review, Confirm - React Hook Form + Zod validation per step - Support for simple, escrow, subscription, batch payments Smartdevs17#462 - Backend: Custom Webhook Event Filtering & Subscription Manager - Prisma models: WebhookSubscription, WebhookSubscriptionDelivery - SubscriptionManager service: CRUD, pause/resume, test, metrics - EventMatcher service: JSONPath filtering, delivery dedup - Frontend subscription management page Smartdevs17#463 - Core: Smart Contract-Driven Revenue Sharing Pool - EVM RevenuePool.sol: configurable split ratios, auto-distribution, claim - Soroban revenue-pool contract with same functionality - Backend revenue-pool service with Prisma models - Frontend pool configuration UI Smartdevs17#464 - Contract: EVM Paymaster with ERC-4337 Account Abstraction - ERC4337Paymaster.sol: IPaymaster interface for EntryPoint v0.7 - Verification & deposit paymaster modes - Backend account-abstraction service for bundler integration - Prisma models: PaymasterBudget, UserOperation - Frontend paymaster budget & operations dashboard
|
@dimka90 is attempting to deploy a commit to the smartdevs17's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@dimka90 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! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Single PR implementing 4 issues assigned to dimka90.
Issue #461: Frontend — Multi-Step Payment Flow Wizard
Files:
frontend/app/[locale]/payments/create/page.tsx- Wizard routefrontend/src/components/payments/wizard/WizardContainer.tsx- Step container with progress indicatorfrontend/src/components/payments/wizard/steps/SelectTypeStep.tsx- Payment type selectionfrontend/src/components/payments/wizard/steps/ConfigureStep.tsx- Dynamic per-type form with Zod validationfrontend/src/components/payments/wizard/steps/ReviewStep.tsx- Summary/review before confirmationfrontend/src/components/payments/wizard/steps/ConfirmStep.tsx- Processing/success/error statesfrontend/store/wizard-store.ts- Zustand store with localStorage persistenceAccepts: Simple, escrow, subscription, batch payment types; step-by-step flow with progress saved across sessions; real-time validation per step.
Issue #462: Backend — Custom Webhook Event Filtering & Subscription Manager
Files:
backend/prisma/schema.prisma-WebhookSubscription,WebhookSubscriptionDeliverymodelsbackend/src/services/webhooks/subscription-manager.ts- CRUD, pause/resume, testing, metrics, version historybackend/src/services/webhooks/event-matcher.ts- JSONPath filtering, delivery dedup, overlapping subscriptionsfrontend/app/[locale]/dashboard/developers/webhooks/subscriptions/page.tsx- Subscription management UIfrontend/lib/api.ts- Subscription API types and methodsAccepts: Multiple subscriptions per merchant; filter by event type, JSONPath conditions; route to different endpoints; pause/resume; delivery metrics; subscription testing.
Issue #463: Core — Smart Contract-Driven Revenue Sharing Pool
Files:
contracts/evm/contracts/RevenuePool.sol- EVM revenue pool with configurable split ratios, auto-distribution, claim mechanismcontracts/soroban/revenue-pool/Cargo.toml- Soroban revenue pool packagecontracts/soroban/revenue-pool/src/lib.rs- Soroban revenue pool contractbackend/prisma/schema.prisma-RevenuePool,RevenueRecipient,RevenueDistributionmodelsbackend/src/services/revenue-pool/index.ts- CRUD, recipient management, balance tracking, distribution historyfrontend/lib/api.ts- Revenue pool API typesfrontend/app/[locale]/dashboard/developers/revenue-pools/page.tsx- Pool configuration UIAccepts: Both Soroban and EVM contracts; configurable split ratios; add/remove recipients via admin; auto-distribution; minimum threshold; claim mechanism; events.
Issue #464: Contract — EVM Paymaster with ERC-4337 Account Abstraction
Files:
contracts/evm/contracts/ERC4337Paymaster.sol- ERC-4337 compatible paymaster (IPaymaster interface for EntryPoint v0.7)backend/prisma/schema.prisma-PaymasterBudget,UserOperationmodelsbackend/src/services/account-abstraction/index.ts- Bundler integration, gas estimation, budget managementfrontend/lib/api.ts- Paymaster API types and methodsfrontend/app/[locale]/dashboard/developers/paymaster/page.tsx- Budget management & operations dashboardAccepts: Verification paymaster (pre-signed sponsorship) and deposit paymaster (pre-funded) modes; batched user operations; session keys; gas estimation with paymaster sponsorship; budget management dashboard.
Closes: #461
Closes: #462
Closes: #463
Closes: #464