[703] Add upstream error boundary middleware for upstream dependency failures - #1
Merged
kingeligma merged 237 commits intoJul 25, 2026
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
fixed issues
Add keyboard shortcut palette for core actions
…ackoff and dead-letter state
Api versioning prefix
feat: all issues resloved
- Create CONTRACTS_ARCHITECTURE.md (1,200+ lines, 12 sections) - Document 6 contract modules with full responsibilities - Document 50+ functions, 30+ storage keys, 5 event types - Document 8 VaultError + 11 OracleError codes - Document 10 cross-contract calls with ASCII diagrams - Add data flow for main user journeys - Add storage architecture, security model, developer guide - Update README.md with architecture section and module table - Add 100% RustDoc coverage across all public items - Fix 6 missing oracle functions, 3 storage keys, 4 unused imports - Zero build warnings Closes Junirezz#577
- Create WEBHOOK_INTEGRATION.md (1,500+ lines, 46KB) - Document all 5 emitted events with topic and payload structure - Add TypeScript consumer example (500 lines, cursor pagination) - Add Python consumer example (450 lines, SHA-256 replay detection) - Add signature verification and replay detection examples - Document exponential backoff retry strategy (1s→2s→4s→8s→16s→30s) - Document cursor-based pagination and idempotency patterns - Document error handling for 5+ failure scenarios - Add security best practices and anomaly detection - Add testnet vs mainnet configuration guide - Update CONTRACTS_ARCHITECTURE.md with Events & Webhooks section - Update README.md with webhook integration quick start - Zero build warnings, no contract logic changed Closes Junirezz#573
…tion (Junirezz#438) Wires submitVaultOperation (from sorobanClient.ts) into the vault deposit and withdrawal endpoints, replacing the sleep+fake-hash stub. The real call: - loads the signing keypair from STELLAR_SECRET_KEY (never hard-coded) - resolves the vault contract ID from VAULT_CONTRACT_ID or the deployments file - simulates the transaction via the Soroban RPC, injects the resource footprint via assembleTransaction, signs, and submits - throws SorobanSimulationError on simulation failure, RPC rejection, or unexpected status — surfaced as structured 502/422/503 responses in the vault endpoints handler - fixes two bugs in the original sorobanClient: missing transaction.sign() call before submission, and string instead of BigInt for i128 amount arg - corrects the stellar-sdk-shim to declare the real `rpc` namespace (sdk.rpc.* at runtime) rather than the non-existent SorobanRpc namespace - adds a Jest moduleNameMapper entry and mock so all existing integration tests continue to pass without a live Stellar RPC
Resolves merge conflict in CONTRACT_UPGRADE_PLAYBOOK.md committed to main. Merges both versions into a single comprehensive runbook covering: - Pre-upgrade checks (operational, build, storage layout, rollback artifacts) - Pause → upgrade → migrate → verify → resume steps with CLI examples - Rollback Option A (revert WASM hash) and Option B (redeploy fallback) - Post-upgrade verification checklist and smoke tests - Deployment artifact tracking and stakeholder handoff Closes Junirezz#578
Replace the mock referral yield calculation
…ng-layer feat(Junirezz#197): add caching layer for expensive read endpoints
…integration feat(rpc): replace Soroban stub with real stellar-sdk contract invocation (Junirezz#438)
…ration-playbook docs: add contract upgrade and migration playbook
…up-job feat(backup): add automated daily database backup job with S3 off-sit…
- Add usePendingTransactionCount hook to derive pending/failed count from React Query cache - Add Transactions nav link to desktop, mobile, and dropdown menus - Show pill badge with pending/failed count on the nav link - Add i18n keys for nav.transactions in en and es locales Closes Junirezz#248
…and 90-day retention
…badge feat: add notification badge for pending/failed transactions
…ty-states feat: add reusable empty state components
…-scheduler Add periodic APY snapshot scheduler with job governance registration …
…tream feat: add copy-to-clipboard for contract addresses and tx hashes
…awal-dispute-window feat: implement emergency dispute window functionality and related tests
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.
Closes 703
Summary:
Validation:
cd backend && npm run buildcd backend && npm test -- --runInBand src/__tests__/webhookVerification.test.tscd backend && npm test -- --runInBand(repo still has 2 unrelated failing tests outside this change)