Skip to content

feat: implement four major feature epics (#469, #470, #471, #472)#559

Merged
Smartdevs17 merged 1 commit into
Smartdevs17:mainfrom
sanmipaul:any-core-features-bundle
Jun 29, 2026
Merged

feat: implement four major feature epics (#469, #470, #471, #472)#559
Smartdevs17 merged 1 commit into
Smartdevs17:mainfrom
sanmipaul:any-core-features-bundle

Conversation

@sanmipaul

@sanmipaul sanmipaul commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR implements four major feature epics addressing Issues #469, #470, #471, and #472.


Issue #469: Multi-Signature Timelock Treasury Management System

Files: contracts/soroban/treasury/, contracts/evm/contracts/Treasury.sol, backend/src/services/treasury/, backend/src/routes/treasury.ts, frontend/src/app/dashboard/treasury/, backend/prisma/schema.prisma

  • Soroban contract: Multi-sig treasury with proposal/approve/reject/execute/cancel lifecycle, configurable signer set, threshold, and dual timelock delays (regular vs high-value)
  • EVM contract: Solidity multi-sig treasury with same lifecycle, native ETH and ERC-20 transfer execution, emergency cancel with higher threshold
  • Backend: Full REST API for proposal CRUD, approvals, rejections, execution, and cancellation with database persistence
  • Frontend: Treasury management dashboard with proposal list, create dialog, approve/reject/execute actions, and status badges

Issue #470: Stellar Soroban Atomic Swap with Hash TimeLock Contracts

Files: contracts/soroban/htlc/, packages/contracts/src/soroban/htlc.ts, backend/src/services/swaps/htlc-manager.ts, backend/src/routes/swaps.ts, backend/prisma/schema.prisma

  • Soroban HTLC contract: create_swap with SHA-256 hashlock + timelock, claim with preimage verification, refund after expiry, raise_dispute/`resolve_dispute` with admin mediation
  • TypeScript SDK: SorobanHtlcClient with buildXDR methods for all contract functions, decode helpers, and RPC simulation
  • Backend: HTLC manager service with swap lifecycle management API routes
  • Database: AtomicSwap and AtomicSwapSecret models with Prisma

Issue #471: API Key Usage Analytics and Quota Management Dashboard

Files: backend/src/middleware/api-usage-tracker.ts, backend/src/services/keys/quota-manager.ts, backend/src/routes/api-keys.ts, frontend/src/app/dashboard/developers/api-keys/, backend/prisma/schema.prisma

  • Middleware: Real-time API usage tracker recording endpoint, method, status code, latency per request; in-memory quota check with sliding windows
  • Quota enforcement: Configurable hourly/daily limits, automatic 429 responses with Retry-After header, usage-based progress bars at 50%/80%/100% thresholds
  • Backend: API key CRUD, quota management, usage analytics aggregation with top endpoints
  • Frontend: API key list, per-key usage dashboard with hourly/daily progress bars, recent requests table, create/revoke dialogs

Issue #472: Custom Report Builder with Saved Report Templates

Files: frontend/src/app/dashboard/reports/builder/page.tsx, frontend/src/store/report-builder-store.ts, frontend/src/components/reports/, backend/src/services/reports/custom-report.ts, backend/src/routes/reports.ts, backend/prisma/schema.prisma

  • Report Builder UI: 4-step wizard (metrics → dimensions → chart type → review), metric/dimension toggle selection, chart type picker with preview (line/bar/pie/table/heatmap/area), date range presets (last 7d/30d/this month/custom)
  • State management: Zustand store with persist middleware for step and config persistence across navigation
  • Backend: Custom report CRUD, save-as-template, scheduled report delivery with next-send calculation
  • Database: SavedReport, ScheduledReport, ReportTemplate models with full CRUD and scheduling support

Testing

  • Soroban contracts include comprehensive unit tests (6 tests each for HTLC and Treasury)
  • EVM Treasury contract includes constructor validation and function-level safety
  • All backend routes follow the existing asyncHandler pattern
  • Frontend pages follow the existing use client + Zustand pattern

Related Issues

Closes #469
Closes #470
Closes #471
Closes #472

…7#470, Smartdevs17#471, Smartdevs17#472)

- Issue Smartdevs17#469: Multi-Signature Timelock Treasury Management System
  - Soroban multi-sig timelock treasury contract
  - EVM multi-sig treasury contract with timelock governance
  - Backend treasury management service and API routes
  - Frontend treasury management dashboard

- Issue Smartdevs17#470: Stellar Soroban Atomic Swap with Hash TimeLock Contracts
  - Soroban HTLC contract with lock/claim/refund/dispute flow
  - TypeScript SDK bindings for HTLC contract interaction
  - Backend HTLC manager service and API routes
  - Database models for atomic swaps and secrets

- Issue Smartdevs17#471: API Key Usage Analytics and Quota Management Dashboard
  - API usage tracking middleware with real-time counters
  - Quota enforcement with 429 response and Retry-After header
  - Backend quota management service and API routes
  - Frontend API key usage dashboard with charts

- Issue Smartdevs17#472: Custom Report Builder with Saved Report Templates
  - Drag-and-drop report builder with metric/dimension selection
  - Multiple chart type support (line, bar, pie, table, heatmap, area)
  - Date range presets and custom range picker
  - Report scheduling with email delivery support
  - Report template system for reusability
@vercel

vercel Bot commented Jun 29, 2026

Copy link
Copy Markdown

@sanmipaul is attempting to deploy a commit to the smartdevs17's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jun 29, 2026

Copy link
Copy Markdown

@sanmipaul 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

@Smartdevs17 Smartdevs17 merged commit 74247dc into Smartdevs17:main Jun 29, 2026
27 of 52 checks passed
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