Feature/implement observability and resilience#1
Merged
akordavid373 merged 185 commits intoApr 26, 2026
Merged
Conversation
- Add GET /api/user/:address/portfolio endpoint
- Aggregate multiple vaults (advisor + investor)
- Return { total_locked: 100, total_claimable: 20 }
- Add CORS and JSON middleware
- Include test suite and deployment scripts
Fixes Vesting-Vault#16
- Add GET /api/vaults with page and limit query params - Default limit set to 20 (acceptance criteria) - Prevents performance issues with 1000+ vaults - Include pagination metadata in response - Add comprehensive test suite - Update deployment scripts Fixes Vesting-Vault#18
- Add GET /api/vaults with page and limit query params - Default limit set to 20 (acceptance criteria) - Prevents performance issues with 1000+ vaults - Include pagination metadata in response - Add comprehensive test suite Fixes Vesting-Vault#18
…o-aggregation feat: Implement portfolio aggregation endpoint
- Add unit test for pagination logic - Fix integration test with proper error handling - Add test script to package.json - Tests now exit with proper codes (0/1) - Pipeline should now pass all tests Fixes Vesting-Vault#18
…ngs/backend into issue-18-pagination-only
…on-only feat: Add pagination for vaults endpoint
health check and test
…setup-guide-new feat: Add Docker setup guide and contributing documentation
resolved conflict
…cal-price-tracking Feature/historical price tracking
…udit-trail feat: Implement Admin Audit Trail for Issue 19
- Add delegate_address field to Vault model - Implement setDelegate function for vault owners - Add claimAsDelegate function for delegate claiming - Create API endpoints for delegate management - Add comprehensive test suite - Update documentation Resolves Vesting-Vault#13
- Create docker-compose.yml with backend, PostgreSQL, and Redis services - Add comprehensive CONTRIBUTING.md with setup instructions - Configure development environment with hot-reloading - Include health checks and proper service dependencies - Add troubleshooting guide and development workflow Resolves Vesting-Vault#20
- Add price_at_claim_usd column to claims_history table - Implement CoinGecko price fetching service with caching - Create indexing service for automatic price population during claim processing - Add API endpoints for claim processing and realized gains calculation - Include comprehensive test suite and documentation - Support batch processing and price backfilling - Enable tax compliance through accurate USD value tracking Resolves: Issue 15 - [DB] Historical Price Tracking
- Comprehensive instructions for running backend locally - Database setup and configuration steps - API testing examples - Troubleshooting guide - Production deployment considerations
- Add audit logging service with exact format [TIMESTAMP] [ADMIN_ADDR] [ACTION] [TARGET_VAULT] - Implement admin service with REVOKE, CREATE, TRANSFER actions - Add admin API endpoints for vault management - Create audit.log file for compliance auditing - Add comprehensive documentation and test script Fixes Vesting-Vault#19
- Add propose_new_admin function for creating pending transfer proposals - Add accept_ownership function to complete transfer process - Add transfer_ownership function for backward compatibility - Add comprehensive API endpoints for admin key management - Include 24-hour expiration on pending proposals - Add full audit logging for all admin actions - Support both global and contract-specific admin transfers - Add comprehensive test suite with error handling - Prevent accidental lockout with two-step verification Resolves Vesting-Vault#16: [Admin] Update Admin Key
- Add SubSchedule model for multiple vesting schedules per vault - Implement top-up functionality with configurable cliff periods - Add comprehensive API endpoints for vault management - Update indexing service to handle vesting events - Create database migration for new tables - Add comprehensive test suite - Support independent cliffs per top-up - Implement pro-rata token release across sub-schedules Closes Vesting-Vault#19
- Add Vault, SubSchedule, and Beneficiary models - Implement complex cliff logic for multiple top-ups - Add comprehensive vesting service with withdrawal processing - Create REST API endpoints for vault management - Add comprehensive unit and integration tests - Include detailed documentation and API reference Closes Vesting-Vault#19
…-cliffs-topups Feature/vesting cliffs topups
…e-claiming Feature/delegate claiming
- Add GraphQL schema with all REST endpoints covered - Implement query resolvers for vaults, beneficiaries, and claims - Add mutation resolvers for CRUD operations - Create subscription resolvers for real-time updates - Implement authentication middleware with role-based access - Add rate limiting middleware with operation-specific limits - Set up Apollo Server with WebSocket support for subscriptions - Create comprehensive test suites for resolvers and subscriptions - Add detailed migration guide from REST to GraphQL - Create complete schema documentation - Update package.json with GraphQL dependencies - Integrate GraphQL server with existing Express app Closes Vesting-Vault#26
Real-Time_Ledger_Sync_Consistency_Checker
Support for Multi-Sig_Vault_Clawback_Authorization_Flow
Automated_Dividend_Distribution_Calculator
…quidity-risk-alert-system Add Vault Liquidity Risk Alert System
…gning - Added HSM/KMS integration layer for isolated signing - Backend now prepares Soroban transaction XDR for signing - Implemented secure signing flow via external HSM service - Prevents exposure of hot private keys in backend - Supports batch_revoke signing via gateway
…-gateway feat(backend): Implement HSM Signer Gateway (Closes Vesting-Vault#113)
…a-legal-document-hashing-service Implement RWA Legal Document Hashing Service
…consistency-worker created consistency worker
…ng-positions feat: Vesting Position NFTs (vNFTs) for ownership-based claims
- Add cumulative_claimed_amount field to SubSchedule model - Update claimCalculator.js to use cumulative tracking instead of time-based calculations - Implement new formula: Total_Vested = (Elapsed_Time * Total_Allocation) / Total_Duration - Current_Payout = Total_Vested - Cumulative_Claimed - Add comprehensive fuzz tests to prevent dust accumulation - Update vesting service to track cumulative claimed amounts - Create database migration for new field - Update existing tests to work with new calculation method Prevents token dust loss when users claim frequently (every ~5 seconds) over long periods. Resolves security issue where integer division truncation could accumulate significant losses over 4-year periods. Fixes #security #math
Create Vesting-to-Fiat_Off-Ramp_Estimation_API
Calculation engine development
…revention Fix dust loss from integer division truncation in claiming mechanism
feat: implement historical price tracking for tax reporting
- Add OpenTelemetry distributed tracing for API, Redis, and Postgres - Implement event-driven cache invalidation for cap table updates - Add circuit breakers for external API dependencies (SumSub, DEX Oracle) - Create comprehensive E2E tests for auth flow with Playwright/Jest - Add fallback data and graceful error handling - Include detailed documentation and test scripts Resolves: Vesting-Vault#249, Vesting-Vault#251, Vesting-Vault#254, Vesting-Vault#255
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.
🎯 Issue Vesting-Vault#248: PostgreSQL Connection Pooling (PgBouncer Integration)
Enhanced DatabaseManager class with comprehensive connection metrics
Circuit breaker pattern for graceful failure handling
Health check endpoints (/health/db, /metrics/pgbouncer)
Transaction pooling mode optimized for PgBouncer
🎯 Issue Vesting-Vault#250: Stellar Horizon Rate Limit Fallback Mechanism
Advanced circuit breaker pattern preventing cascade failures
Rate limit tracking with exponential backoff and jitter
Automatic fallback to secondary endpoints
Comprehensive endpoint health monitoring
🎯 Issue Vesting-Vault#256: API Payload Signature Verification
Ed25519 cryptographic signature verification using Stellar wallets
Nonce-based replay attack prevention
Timestamp validation with configurable windows
Admin-only route protection with rate limiting
🎯 Issue Vesting-Vault#258: GitHub Actions CI/CD Pipeline
Multi-stage Docker builds for production optimization
Automated testing with 19 passing tests
Security scanning with Trivy and CodeQL
Container registry integration with GitHub Packages
📊 Testing Results
19/19 tests passing ✅
Linting clean ✅
All functionality verifie
closes Vesting-Vault#248
closes Vesting-Vault#250
closes Vesting-Vault#256
closes Vesting-Vault#258