Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
576 commits
Select commit Hold shift + click to select a range
8615a3c
Merge pull request #745 from DevKingOche/fix/684-export-retry-utilities
Haroldwonder Jun 1, 2026
3aba577
Merge pull request #746 from DevKingOche/fix/650-webhook-max-attempts…
Haroldwonder Jun 1, 2026
8d02702
fix: add row-level locking to RemittanceRepository.upsert
Haroldwonder Jun 1, 2026
5d72827
fix: redact sensitive fields in StructuredLogger
Haroldwonder Jun 1, 2026
ed8250e
fix(sdk): throw SwiftRemitError for batch size violations
Haroldwonder Jun 1, 2026
c9c15be
fix(frontend): clamp page URL param to valid range
Haroldwonder Jun 1, 2026
17dc491
fix(frontend): check Freighter availability on startup
Haroldwonder Jun 1, 2026
7ef5dd2
fix: Add ISO 4217 currency code validation
Haroldwonder Jun 1, 2026
7695815
fix: Require 2FA confirmation for simulateUpgrade endpoint
Haroldwonder Jun 1, 2026
b1e3135
fix: Use timing-safe comparison for API key validation
Haroldwonder Jun 1, 2026
b63cfdb
fix: Add pagination support to currencies endpoint
Haroldwonder Jun 1, 2026
1b514c1
fix(backend): replace regex XSS detection with xss library
Haroldwonder Jun 1, 2026
7f583a7
fix: add missing tests for webhook dead-letter queue, e2e cleanup, go…
Haroldwonder Jun 1, 2026
73a4cde
fix: resolve security issues #697 #698 #699 #700
Haroldwonder Jun 1, 2026
ff8363a
fix: resolve issues #705, #706, #707, #708 — a11y tests, proptest net…
Haroldwonder Jun 1, 2026
90f1874
feat: all tasks implemented — openapi, logger, pagination, alerts
Haroldwonder Jun 1, 2026
52369f3
all task implemented
xxvii-xiaxia Jun 1, 2026
ef7964a
fix(#696): check agent role in userCanAccessRemittance
iheomadev Jun 1, 2026
c45daa9
fix(#695): cascade deletes in anchorStore.delete
iheomadev Jun 1, 2026
6c6fac7
fix(#694): add admin API key auth to analytics endpoint
iheomadev Jun 1, 2026
733d2ba
fix(#693): add GET /limits/:currency/:country corridor endpoint
iheomadev Jun 1, 2026
fcbbd36
fix: store absolute expiry timestamp in wallet session (#659)
devnWisdom Jun 1, 2026
c8b7885
fix: add try-catch with backoff-retry to KycExpiryNotifier (#639)
devnWisdom Jun 1, 2026
0c1eea2
fix: use context.with() for async span propagation in withSpan (#651)
devnWisdom Jun 1, 2026
935023c
fix: guard window.crypto.subtle for SSR in ProofOfPayout (#665)
devnWisdom Jun 1, 2026
3ab4e4b
feat: add governance Task 5.12 event emission test + all prior sessio…
Haroldwonder Jun 1, 2026
5d3fd05
Merge pull request #761 from xxvii-xiaxia/task1/implement-migrations-…
Haroldwonder Jun 1, 2026
9b36a5c
Merge pull request #762 from iheomadev/fix/695-anchor-delete-cascade
Haroldwonder Jun 1, 2026
218510d
Merge pull request #763 from iheomadev/fix/696-agent-role-check
Haroldwonder Jun 1, 2026
42cc622
Merge pull request #764 from iheomadev/fix/694-analytics-auth
Haroldwonder Jun 1, 2026
1dc8a1c
Merge pull request #765 from iheomadev/fix/693-corridor-limits-endpoint
Haroldwonder Jun 1, 2026
254cdc4
Merge pull request #766 from devnWisdom/fix/659-wallet-session-absolu…
Haroldwonder Jun 1, 2026
70d4bf3
Merge pull request #767 from devnWisdom/fix/639-kyc-notifier-db-retry
Haroldwonder Jun 1, 2026
3a9c123
Merge pull request #768 from devnWisdom/fix/651-tracing-context-propa…
Haroldwonder Jun 1, 2026
e33f8ed
Merge pull request #769 from devnWisdom/fix/665-proof-of-payout-ssr-g…
Haroldwonder Jun 1, 2026
9953fad
fix(#708): document circuit breaker multi-admin vote-to-unpause in RU…
Mystery-CLI Jun 1, 2026
adaba4d
fix(#707): add network timeout simulation and tests to MockSep24Ancho…
Mystery-CLI Jun 1, 2026
e4fa3cc
fix(#705): add jest-axe accessibility checks to all frontend componen…
Mystery-CLI Jun 1, 2026
725e6a2
fix(#706): add proptest property-based tests for netting algorithm in…
Mystery-CLI Jun 1, 2026
0ef5c1e
Merge branch 'main' into fix/issues-705-706-707-708
Mystery-CLI Jun 1, 2026
5d0030f
Cache negative verification results with 5-minute TTL
firstJOASH Jun 1, 2026
12e8642
fix: in-flight volume tracking, governance re-validation, legacy test…
shakurJJ Jun 1, 2026
f5d3abd
fix: record KYC poll failures in DB, lazy-init Sep24Service, coalesce…
Diyaq Jun 2, 2026
1c868b2
fix(webhook-verifier): use 10-min secondary timestamp window, rely on…
magaret457 Jun 2, 2026
ae5fab4
fix(sdk/client): retry getTransaction polling on 429/503 in submitTra…
magaret457 Jun 2, 2026
4ad8733
fix(transfer-guard): check KYC expiry directly before allowing transf…
magaret457 Jun 2, 2026
2589506
fix(freighter): guard isNetworkMismatch with isInstalled check (#668)
magaret457 Jun 2, 2026
fe7e0d3
chore: add dependabot config for automated dependency updates
ladinoraa Jun 2, 2026
d5c984b
ci: add tsc --noEmit typecheck steps for backend, api, and frontend
ladinoraa Jun 2, 2026
cf7a5a3
docs: document cargo test --features legacy-tests in CONTRIBUTING.md
ladinoraa Jun 2, 2026
d4c5489
docs: add Production Environment Variables section to DEPLOYMENT.md
ladinoraa Jun 2, 2026
7834d6d
fix(#647): handle simulation failure in setKycApprovedOnChain
PrincessnJoy Jun 2, 2026
42ec0d1
fix(#662): debounce search input in AnchorSelector
PrincessnJoy Jun 2, 2026
2b76c28
fix(#658): catch resolveAsset error in SendMoneyFlow
PrincessnJoy Jun 2, 2026
e2389c3
fix(#669): add missing i18n keys for KYC, dispute, and error states
PrincessnJoy Jun 2, 2026
7bf14c4
Merge pull request #780 from ladinoraa/docs/contributing-legacy-tests
Haroldwonder Jun 2, 2026
3c32b93
Merge pull request #781 from ladinoraa/docs/deployment-env-vars
Haroldwonder Jun 2, 2026
7fc2771
Merge pull request #778 from ladinoraa/chore/add-dependabot-config
Haroldwonder Jun 2, 2026
08318df
Merge pull request #779 from ladinoraa/ci/add-typecheck-steps
Haroldwonder Jun 2, 2026
d9bbc90
Merge pull request #770 from Mystery-CLI/fix/issues-705-706-707-708
Haroldwonder Jun 2, 2026
0adf837
Merge pull request #771 from firstJOASH/AssetVerifier
Haroldwonder Jun 2, 2026
6ea3fc6
Merge pull request #772 from shakurJJ/fix/analytics-governance-db
Haroldwonder Jun 2, 2026
ac783e2
Merge pull request #773 from Diyaq/fix/kyc-poll-errors-fx-thundering
Haroldwonder Jun 2, 2026
a7d864b
Merge pull request #774 from magaret457/fix/638-webhook-verifier-time…
Haroldwonder Jun 2, 2026
f113856
Merge pull request #775 from magaret457/fix/671-sdk-retry-429-503
Haroldwonder Jun 2, 2026
9f14c7a
Merge pull request #776 from magaret457/fix/657-transfer-guard-kyc-ex…
Haroldwonder Jun 2, 2026
501fb03
Merge pull request #777 from magaret457/fix/668-freighter-is-installe…
Haroldwonder Jun 2, 2026
97bc2f7
chore(deps): bump react-i18next from 15.5.1 to 17.0.8 in /frontend
dependabot[bot] Jun 2, 2026
91ed388
Merge pull request #782 from PrincessnJoy/fix/647-stellar-kyc-simulat…
Haroldwonder Jun 2, 2026
dd3d199
chore(deps-dev): bump vitest from 1.6.1 to 4.1.8 in /sdk
dependabot[bot] Jun 2, 2026
5ef4d86
chore(deps-dev): bump typescript from 5.9.3 to 6.0.3 in /frontend
dependabot[bot] Jun 2, 2026
2bfdf2b
chore(deps): bump pg from 8.20.0 to 8.21.0 in /api
dependabot[bot] Jun 2, 2026
295e9ff
Merge pull request #783 from PrincessnJoy/fix/662-anchor-selector-deb…
Haroldwonder Jun 2, 2026
2ee7a8f
chore(deps): update criterion requirement from 0.5 to 0.8
dependabot[bot] Jun 2, 2026
9e302ce
Merge pull request #784 from PrincessnJoy/fix/658-send-money-resolve-…
Haroldwonder Jun 2, 2026
1ea9494
Merge pull request #785 from PrincessnJoy/fix/669-i18n-missing-transl…
Haroldwonder Jun 2, 2026
6f3baac
chore(deps): bump @opentelemetry/instrumentation-http in /backend
dependabot[bot] Jun 2, 2026
964f754
Merge pull request #805 from Haroldwonder/dependabot/npm_and_yarn/bac…
Haroldwonder Jun 2, 2026
27796ca
Merge pull request #799 from Haroldwonder/dependabot/npm_and_yarn/fro…
Haroldwonder Jun 2, 2026
ddbeaee
Merge pull request #798 from Haroldwonder/dependabot/npm_and_yarn/api…
Haroldwonder Jun 2, 2026
56eb9c8
Merge pull request #795 from Haroldwonder/dependabot/npm_and_yarn/sdk…
Haroldwonder Jun 2, 2026
373127a
Merge pull request #791 from Haroldwonder/dependabot/npm_and_yarn/fro…
Haroldwonder Jun 2, 2026
2f07059
chore(deps): bump js-yaml from 4.1.1 to 4.2.0 in /backend
dependabot[bot] Jun 2, 2026
1c26d21
chore(deps): bump @opentelemetry/resources in /backend
dependabot[bot] Jun 2, 2026
94a3148
chore(deps-dev): bump tsx from 4.21.0 to 4.22.4 in /backend
dependabot[bot] Jun 2, 2026
0eef3ee
chore(deps-dev): bump jsdom from 23.2.0 to 29.1.1 in /frontend
dependabot[bot] Jun 2, 2026
5955418
chore(deps): bump js-yaml from 4.1.1 to 4.2.0 in /api
dependabot[bot] Jun 2, 2026
39433ce
chore(deps-dev): bump typescript from 5.9.3 to 6.0.3 in /sdk
dependabot[bot] Jun 2, 2026
8679b20
Merge pull request #806 from Haroldwonder/dependabot/npm_and_yarn/bac…
Haroldwonder Jun 2, 2026
0bcbfd6
Merge pull request #804 from Haroldwonder/dependabot/npm_and_yarn/bac…
Haroldwonder Jun 2, 2026
ad17409
Merge pull request #797 from Haroldwonder/dependabot/npm_and_yarn/bac…
Haroldwonder Jun 2, 2026
cd624b0
Merge pull request #796 from Haroldwonder/dependabot/npm_and_yarn/api…
Haroldwonder Jun 2, 2026
463a47b
chore(deps): bump express and @types/express in /backend
dependabot[bot] Jun 2, 2026
5be01c0
fix(#644): remove duplicate user_kyc_status table and orphaned indexes
devEunicee Jun 2, 2026
1b55749
fix(scheduler): add pg advisory locks to prevent duplicate job execut…
devUnixx Jun 2, 2026
ee1872d
chore(deps): bump pg and @types/pg in /backend
dependabot[bot] Jun 2, 2026
aa4959a
chore(deps): bump @opentelemetry/instrumentation-pg in /backend
dependabot[bot] Jun 2, 2026
bdd17c9
chore(deps): bump @opentelemetry/instrumentation-express in /backend
dependabot[bot] Jun 2, 2026
3fcd31f
fix: resolve all TypeScript compile errors across backend, api, and f…
Haroldwonder Jun 2, 2026
e9b43c3
Merge pull request #807 from devEunicee/fix/644-database-duplicate-ta…
Haroldwonder Jun 2, 2026
b2b6df0
Merge pull request #808 from devUnixx/fix/640-scheduler-distributed-lock
Haroldwonder Jun 2, 2026
55d7c05
fix(#637): replace MD5 with SHA-256 in migration checksum
devSoniia Jun 4, 2026
a03b0a8
fix(#646): sanitize Prometheus label values to prevent injection
devSoniia Jun 4, 2026
b0bf6f0
fix(#653): call adminConfirmationService.initTable() on startup
devSoniia Jun 4, 2026
2936cad
fix(#674): add configurable timeout to all network requests in SDK cl…
devSoniia Jun 4, 2026
6d85a60
Merge branch 'main' into fix/637-sha256-migration-checksum
devSoniia Jun 7, 2026
e3cd1e6
Merge branch 'main' into fix/674-rn-client-timeout
devSoniia Jun 7, 2026
1d9942e
Merge branch 'main' into fix/653-admin-confirmation-init
devSoniia Jun 7, 2026
03cdadf
Merge pull request #812 from devSoniia/fix/637-sha256-migration-checksum
Haroldwonder Jun 7, 2026
da88708
Merge pull request #813 from devSoniia/fix/646-sanitize-prometheus-la…
Haroldwonder Jun 7, 2026
aa7cd7b
Merge pull request #814 from devSoniia/fix/653-admin-confirmation-init
Haroldwonder Jun 7, 2026
2de9139
Merge pull request #815 from devSoniia/fix/674-rn-client-timeout
Haroldwonder Jun 7, 2026
2ddb6d7
chore(deps-dev): bump typescript from 5.9.3 to 6.0.3 in /api
dependabot[bot] Jun 9, 2026
3f48144
chore(deps-dev): bump @typescript-eslint/parser in /frontend
dependabot[bot] Jun 9, 2026
183d6de
chore(deps): bump express-rate-limit from 7.5.1 to 8.5.2 in /api
dependabot[bot] Jun 9, 2026
22fcdc5
feat: resolve issues #843 #844 #845 #846
Kingsman-99 Jun 26, 2026
e765995
feat: add PostgreSQL pool tuning env vars and /health/db endpoint
marvs8 Jun 26, 2026
5b98eda
feat: add webhook secret rotation with 24h grace period
marvs8 Jun 26, 2026
47eca04
fix: resolve issues 84, 851, 852, 854
Oby38 Jun 26, 2026
f815f8f
Add anchor health monitoring system
levoski1 Jun 26, 2026
1ce6150
feat: implement issues #839, #840, #841, #842
Young850 Jun 26, 2026
338662d
feat: resolve issues #835 #836 #837 #838
icentedward76-sketch Jun 26, 2026
eb2945c
fix(#831-834): wire transaction_controller hooks, multi-currency gove…
thelux134 Jun 26, 2026
8090596
feat: resolve issues #862 #863 #864 #865
Dennis-Ritchie1 Jun 27, 2026
31e81cd
fix(#848, #847): agent remittance index, cooldown decay, corridor O(1…
daddygokings-art Jun 27, 2026
b7a9fce
feat(#869): Add exponential backoff with jitter to webhook retries
goldemaverick-ui Jun 27, 2026
c0e7ab1
feat(#877): Add RFC 6585 rate limit headers to all API responses
chukwudiikeh Jun 27, 2026
e43dfcc
feat(#870): Add remittance export to CSV for compliance reporting
goldemaverick-ui Jun 27, 2026
d6a30ae
feat(#876): Add corridor analytics time-series endpoint
chukwudiikeh Jun 27, 2026
9a71a4b
feat(#871): Implement cursor-based pagination for all list endpoints
goldemaverick-ui Jun 27, 2026
1bdc0b0
feat(#878): Add idempotency key support to POST endpoints
chukwudiikeh Jun 27, 2026
1f967ba
feat(#868): Add SEP-12 KYC status webhook push from anchors
goldemaverick-ui Jun 27, 2026
db379e2
feat(#879): Add GraphQL API layer for flexible querying
chukwudiikeh Jun 27, 2026
41338ca
chore(deps): bump typescript from 5.9.3 to 6.0.3 in /sdk
Haroldwonder Jun 27, 2026
61e7e7f
Merge pull request #800 from Haroldwonder/dependabot/npm_and_yarn/bac…
Haroldwonder Jun 27, 2026
21730ac
Merge pull request #801 from Haroldwonder/dependabot/cargo/criterion-0.8
Haroldwonder Jun 27, 2026
33345cb
Merge pull request #802 from Haroldwonder/dependabot/npm_and_yarn/fro…
Haroldwonder Jun 27, 2026
960aef8
chore(deps): update soroban-sdk requirement from 25.3.1 to 26.1.0
dependabot[bot] Jun 27, 2026
32abb30
test: add search and filter tests for GET /api/remittances (Issue #882)
famvilianity-eng Jun 27, 2026
962e132
test: implement JWT refresh token flow tests (Issue #883)
famvilianity-eng Jun 27, 2026
bbe58a1
test: add OpenAPI spec validation tests (Issue #881)
famvilianity-eng Jun 27, 2026
6945ee7
test: add agent registration and management endpoint tests (Issue #880)
famvilianity-eng Jun 27, 2026
8258be6
chore: merge dependabot/npm_and_yarn/backend/multi-76bf3521cb - bump …
Haroldwonder Jun 27, 2026
c5c0cda
Merge pull request #809 from Haroldwonder/dependabot/npm_and_yarn/bac…
Haroldwonder Jun 27, 2026
58e2376
chore: merge dependabot - bump @opentelemetry/instrumentation-pg to 0…
Haroldwonder Jun 27, 2026
e983a4b
Merge pull request #810 from Haroldwonder/dependabot/npm_and_yarn/bac…
Haroldwonder Jun 27, 2026
20f5f8c
chore: merge dependabot - bump @opentelemetry/instrumentation-express…
Haroldwonder Jun 27, 2026
05cf0eb
Merge pull request #811 from Haroldwonder/dependabot/npm_and_yarn/bac…
Haroldwonder Jun 27, 2026
ab86e7d
Merge pull request #817 from Haroldwonder/dependabot/npm_and_yarn/api…
Haroldwonder Jun 27, 2026
d9848b5
Merge pull request #818 from Haroldwonder/dependabot/cargo/soroban-sd…
Haroldwonder Jun 27, 2026
5b47c4e
Merge pull request #819 from Haroldwonder/dependabot/npm_and_yarn/fro…
Haroldwonder Jun 27, 2026
891ebe7
Merge pull request #820 from Haroldwonder/dependabot/npm_and_yarn/api…
Haroldwonder Jun 27, 2026
92500b1
Merge pull request #951 from Kingsman-99/feat/843-844-845-846
Haroldwonder Jun 27, 2026
842ecf7
Merge pull request #952 from marvs8/feat/860-db-pool-tuning-health-ch…
Haroldwonder Jun 27, 2026
89ffe23
Merge pull request #953 from marvs8/feat/859-webhook-secret-rotation
Haroldwonder Jun 27, 2026
7504335
Merge pull request #954 from Oby38/fix/issues-84-851-852-854
Haroldwonder Jun 27, 2026
30d8bbf
Merge pull request #959 from Dennis-Ritchie1/feat/issues-862-863-864-865
Haroldwonder Jun 27, 2026
9692028
Merge pull request #960 from daddygokings-art/feat/fee-corridor-looku…
Haroldwonder Jun 27, 2026
6124817
feat: merge PR #955 - add anchor health monitoring + keep DLQ managem…
Haroldwonder Jun 27, 2026
f38584a
Merge pull request #955 from levoski1/feat/anchor-health-monitoring
Haroldwonder Jun 27, 2026
0482fbf
feat: merge PR #956 - corridor volume limits, idempotency TTL, admin …
Haroldwonder Jun 27, 2026
65b9368
Merge pull request #956 from Young850/feature/issues-839-840-841-842
Haroldwonder Jun 27, 2026
b152829
test: add API key management endpoint tests (#885)
benjaminjohnsonfin-afk Jun 27, 2026
7282112
test: add corridor availability endpoint tests (#884)
benjaminjohnsonfin-afk Jun 27, 2026
a4f96c6
test: add batch remittance UI component tests (#886)
benjaminjohnsonfin-afk Jun 27, 2026
3a307e9
test: add mobile-responsive layout tests (#887)
benjaminjohnsonfin-afk Jun 27, 2026
ae6e69e
feat: merge PR #957 - resolve issues #835 #836 #837 #838
Haroldwonder Jun 27, 2026
15e410b
Merge pull request #957 from icentedward76-sketch/feature/issues-835-…
Haroldwonder Jun 27, 2026
c31f23e
feat: merge PR #958 - transaction_controller hooks, multi-currency go…
Haroldwonder Jun 27, 2026
c5f3c2d
Merge pull request #958 from thelux134/fix/831-834-transaction-contro…
Haroldwonder Jun 27, 2026
864865b
feat(#890): Add real-time fee preview in SendMoneyFlow
uchechithelmaonye-cpu Jun 27, 2026
b4a2b50
feat(#888): Add dark mode persistence across sessions
uchechithelmaonye-cpu Jun 27, 2026
779051a
feat: merge PR #961 - webhook retry backoff, CSV export, cursor pagin…
Haroldwonder Jun 27, 2026
b9475e5
Merge pull request #961 from goldemaverick-ui/feat/webhook-retry-pagi…
Haroldwonder Jun 27, 2026
6aadfdc
feat(#891): Add transaction history PDF export
uchechithelmaonye-cpu Jun 27, 2026
4e78f98
feat(#889): Add WCAG 2.1 AA accessibility audit and fixes
uchechithelmaonye-cpu Jun 27, 2026
cbd343a
feat: merge PR #962 - API enhancements (rate limits, analytics, idemp…
Haroldwonder Jun 27, 2026
8fb35e0
Merge pull request #962 from chukwudiikeh/feat/api-enhancements
Haroldwonder Jun 27, 2026
e95ffc3
Merge pull request #964 from benjaminjohnsonfin-afk/feat/developer-ap…
Haroldwonder Jun 27, 2026
470090e
Merge pull request #965 from uchechithelmaonye-cpu/feature/issues-888…
Haroldwonder Jun 27, 2026
00a173b
feat: merge PR #963 - comprehensive tests for issues #880-883
Haroldwonder Jun 27, 2026
2ca3fc9
Merge pull request #963 from famvilianity-eng/feature/issues-880-881-…
Haroldwonder Jun 27, 2026
d597ce9
feat(#890): Add real-time fee preview in SendMoneyFlow
uchechithelmaonye-cpu Jun 27, 2026
8bce4b4
feat(#888): Add dark mode persistence across sessions
uchechithelmaonye-cpu Jun 27, 2026
3cddf0e
feat(#891): Add transaction history PDF export
uchechithelmaonye-cpu Jun 27, 2026
2ee05b5
feat(#889): Add WCAG 2.1 AA accessibility audit and fixes
uchechithelmaonye-cpu Jun 27, 2026
f1b0267
feat(#895): Add Freighter wallet connection error handling
willowgray071-cpu Jun 27, 2026
fcfd91e
feat(#894): Add onboarding tutorial for first-time users
willowgray071-cpu Jun 27, 2026
c4bb20b
feat(#892): Add wallet address book for saved recipients
willowgray071-cpu Jun 27, 2026
c4c7a86
feat(#893): Add Portuguese translations and locale validation
willowgray071-cpu Jun 27, 2026
fd807b8
feat(#902): add Playwright E2E tests for send money flow
lolandriley-wq Jun 27, 2026
b3f16fb
feat(#903): enhance Error Boundary with recovery UI and OTel tracing
lolandriley-wq Jun 27, 2026
e2222bc
feat(#900): add corridor fee comparison table component
lolandriley-wq Jun 27, 2026
95244b7
test: Issue #896 - Add file upload tests for ProofOfPayout with SHA-2…
maugauwi-hash Jun 27, 2026
d3916b7
test: Issue #899 - Add WebSocket-driven toast notification tests
maugauwi-hash Jun 27, 2026
4fe68fa
test: Issue #898 - Add dispute resolution UI tests for admins
maugauwi-hash Jun 27, 2026
dfd8f18
test: Issue #897 - Add 2FA settings page tests for admin users
maugauwi-hash Jun 27, 2026
446de46
feat(#901): add loading skeleton states for async data
lolandriley-wq Jun 27, 2026
fa673f8
fix: Adjust tests for reliability
willowgray071-cpu Jun 27, 2026
62a559e
feat: add contract CI pipeline and Helm chart (#917, #918)
WhitesmokeX Jun 27, 2026
c724c9d
fix(#905): Migrate frontend components from JSX to TypeScript
janipauwels-sys Jun 27, 2026
3bd605f
feat(#904): Add KYC status guidance UI
janipauwels-sys Jun 27, 2026
1711653
feat(#906): Add SDK event subscription for all contract events
janipauwels-sys Jun 27, 2026
05b7025
feat(#907): Add SDK documentation site with TypeDoc
janipauwels-sys Jun 27, 2026
0cdd698
feat: #873 - Implement API versioning with v1/v2 prefixes
elvissamuel834-dotcom Jun 27, 2026
2b7d709
feat: #874 - Standardize on Zod validation for all request bodies
elvissamuel834-dotcom Jun 27, 2026
485c685
feat: #872 - Add WebSocket remittance status subscription by sender a…
elvissamuel834-dotcom Jun 27, 2026
125d789
feat: #875 - Add settlement simulation caching with TTL
elvissamuel834-dotcom Jun 27, 2026
01ceb8e
docs: add security disclosure policy
bingmokaka Jun 27, 2026
eaa8e1b
feat(tracing): add end-to-end distributed tracing across all services…
Xaxxoo Jun 27, 2026
d2000a6
feat(ci): add container image vulnerability scanning and SBOM generat…
Xaxxoo Jun 27, 2026
b9aeefb
feat(ci): add staging environment with automated deploy and smoke tes…
Xaxxoo Jun 27, 2026
d0f661a
feat(testing): add k6 load testing suite with 500 RPS target (#924)
Xaxxoo Jun 27, 2026
502585a
Merge pull request #974 from Xaxxoo/feature/issue-921-distributed-tra…
Haroldwonder Jun 27, 2026
df0eb0c
Merge pull request #975 from Xaxxoo/feature/issue-922-container-scanning
Haroldwonder Jun 27, 2026
a7ad6e2
Merge pull request #976 from Xaxxoo/feature/issue-923-staging-environ…
Haroldwonder Jun 27, 2026
0220015
Merge pull request #977 from Xaxxoo/feature/issue-924-load-testing
Haroldwonder Jun 27, 2026
79827d3
chore: update backend API and fx rate cache changes
Olisachukwuma1 Jun 28, 2026
67a0414
Merge branch 'main' into chore/backend-updates-20260628
Olisachukwuma1 Jun 28, 2026
b4aa22d
feat: browser SDK bundle, batch remittance, audit log coverage, Grafa…
Diyaq Jun 28, 2026
a1c4e97
feat: add job monitoring dashboard and FX rate failover (#866, #867)
JoesWalker Jun 28, 2026
a02d15e
feat(sdk): add per-op retry policy, fee estimation, mock client, and …
Markodiba Jun 28, 2026
96e2159
ci: add changesets job to release workflow for automated npm publishing
Markodiba Jun 28, 2026
204074c
feat: add sdk governance proposal heloer
Chongai-Cli Jun 28, 2026
67f9b86
feat: Add SDK changelog and migration guides
Chongai-Cli Jun 28, 2026
879410e
feat: benchmark CI, OWASP dependency scanning, contract auth audit, a…
quartune Jun 28, 2026
222ed84
feat: React Native mobile app, compliance reporting dashboard, real-t…
ink-mami Jun 28, 2026
6ed66de
feat: agent KYC onboarding with SEP-12 business anchor integration
Olisachukwuma1 Jun 29, 2026
fe2e8f9
Merge branch 'main' into feat/agent-kyc-onboarding
Olisachukwuma1 Jun 29, 2026
ddc10ac
Merge pull request #966 from uchechithelmaonye-cpu/feature/pr-new
Haroldwonder Jun 29, 2026
4bbaf14
Merge pull request #967 from willowgray071-cpu/feat/wallet-address-bo…
Haroldwonder Jun 29, 2026
57f3d30
Merge pull request #968 from maugauwi-hash/feature/issues-896-897-898…
Haroldwonder Jun 29, 2026
ada322d
Merge pull request #969 from lolandriley-wq/feat/e2e-and-ux-improvements
Haroldwonder Jun 29, 2026
3616dda
Merge pull request #970 from WhitesmokeX/feat/ci-and-helm-chart
Haroldwonder Jun 29, 2026
b2d2094
Merge pull request #971 from janipauwels-sys/feature/frontend-typescr…
Haroldwonder Jun 29, 2026
c66e0c6
Merge pull request #972 from elvissamuel834-dotcom/feat/api-enhanceme…
Haroldwonder Jun 29, 2026
c1da8ab
Merge pull request #973 from bingmokaka/add-security-disclosure-policy
Haroldwonder Jun 29, 2026
ddcb374
Merge pull request #986 from Olisachukwuma1/chore/backend-updates-202…
Haroldwonder Jun 29, 2026
564bcd2
Merge pull request #990 from Jayydy/branch
Haroldwonder Jun 29, 2026
3a1ac6c
Merge pull request #993 from ink-mami/feature/issues-942-943-944-mobi…
Haroldwonder Jun 29, 2026
29ba849
Merge pull request #994 from Olisachukwuma1/feat/agent-kyc-onboarding
Haroldwonder Jun 29, 2026
af6ee12
chore: resolve merge conflicts with main for PR #987
Haroldwonder Jun 29, 2026
61ffe38
Merge PR #987: feat: browser SDK bundle, batch remittance, audit log …
Haroldwonder Jun 29, 2026
658a3c2
chore: resolve merge conflicts with main for PR #988
Haroldwonder Jun 29, 2026
1af2e21
Merge PR #988: feat: background job monitoring dashboard + FX rate pr…
Haroldwonder Jun 29, 2026
379a950
chore: resolve merge conflicts with main for PR #989
Haroldwonder Jun 29, 2026
e859d30
Merge PR #989: feat(sdk): per-op retry policy, fee estimation, mock c…
Haroldwonder Jun 29, 2026
193c2bd
Merge branch 'main' into branch2
Haroldwonder Jun 29, 2026
e463b17
Merge pull request #991 from Jayydy/branch2
Haroldwonder Jun 29, 2026
19d6f4f
Merge branch 'main' into feature/issues-935-936-937-253
Haroldwonder Jun 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
12 changes: 12 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
"changelog": ["@changesets/changelog-github", { "repo": "Xaxxoo/SwiftRemit" }],
"commit": false,
"fixed": [],
"linked": [],
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": [],
"privatePackages": { "version": false, "tag": false }
}
File renamed without changes.
61 changes: 61 additions & 0 deletions .env.testnet
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# ============================================================
# SwiftRemit — Testnet Integration Test Environment Template
# Issue #394: Full-lifecycle Stellar Testnet integration tests
# ============================================================
# Copy to .env.testnet.local and fill in real values.
# NEVER commit .env.testnet.local or any file containing real secret keys.

# ── Network ──────────────────────────────────────────────────
NETWORK=testnet
HORIZON_URL=https://horizon-testnet.stellar.org
RPC_URL=https://soroban-testnet.stellar.org:443
FRIENDBOT_URL=https://friendbot.stellar.org

# ── Deployed contract addresses (populated after deploy) ─────
# Set these after running the testnet deploy script.
SWIFTREMIT_CONTRACT_ID=
USDC_TOKEN_ID=

# ── Test account key pairs ────────────────────────────────────
# WARNING: Use dedicated throwaway testnet accounts only.
# Fund via Friendbot; never use mainnet keys here.
TESTNET_ADMIN_SECRET=
TESTNET_ADMIN_PUBLIC=

TESTNET_AGENT_SECRET=
TESTNET_AGENT_PUBLIC=

TESTNET_SENDER_SECRET=
TESTNET_SENDER_PUBLIC=

TESTNET_RECIPIENT_SECRET=
TESTNET_RECIPIENT_PUBLIC=

# ── Pre-signed transaction XDR envelopes ─────────────────────
# Generate these with the Stellar CLI before running the lifecycle test:
# stellar contract invoke --id $SWIFTREMIT_CONTRACT_ID \
# --source $TESTNET_SENDER_SECRET --network testnet \
# -- create_remittance ... --build-only | base64
TESTNET_CREATE_REMITTANCE_XDR=
TESTNET_CONFIRM_PAYOUT_XDR=

# ── Cleanup / drain ───────────────────────────────────────────
# Optional: set to drain remaining test tokens back to a faucet after tests.
TESTNET_FAUCET_PUBLIC=
TESTNET_DRAIN_XDR=

# ── Transaction settings ──────────────────────────────────────
# Timeout (seconds) before a submitted transaction is considered expired.
TRANSACTION_TIMEOUT=30
# How long (ms) to poll Horizon/RPC for transaction confirmation.
POLL_INTERVAL_MS=2000
# Maximum retries when polling for ledger confirmation.
MAX_POLL_RETRIES=15

# ── Fee configuration ─────────────────────────────────────────
DEFAULT_FEE_BPS=250
TRANSACTION_FEE=100000

# ── Test amounts (in stroops / token base units) ─────────────
# 100 USDC = 100 * 10^7 = 1_000_000_000 stroops
TEST_REMITTANCE_AMOUNT=1000000000
87 changes: 87 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
version: 2
updates:
- package-ecosystem: npm
directory: /backend
schedule:
interval: weekly
day: monday
time: "08:00"
open-pull-requests-limit: 10
labels:
- dependencies
- security
groups:
non-critical:
update-types:
- minor
- patch

- package-ecosystem: npm
directory: /frontend
schedule:
interval: weekly
day: monday
time: "08:00"
open-pull-requests-limit: 10
labels:
- dependencies
- security
groups:
non-critical:
update-types:
- minor
- patch

- package-ecosystem: npm
directory: /api
schedule:
interval: weekly
day: monday
time: "08:00"
open-pull-requests-limit: 10
labels:
- dependencies
- security
groups:
non-critical:
update-types:
- minor
- patch

- package-ecosystem: npm
directory: /examples
schedule:
interval: weekly
day: monday
time: "08:00"
open-pull-requests-limit: 5
labels:
- dependencies
- security

- package-ecosystem: cargo
directory: /
schedule:
interval: weekly
day: monday
time: "08:00"
open-pull-requests-limit: 10
labels:
- dependencies
- security
groups:
non-critical:
update-types:
- minor
- patch

- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
day: monday
time: "08:00"
open-pull-requests-limit: 10
labels:
- dependencies
- ci
86 changes: 86 additions & 0 deletions .github/workflows/backend-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Backend CI

on:
pull_request:
branches: [main, develop]
paths:
- "backend/**"
- ".github/workflows/backend-ci.yml"

defaults:
run:
working-directory: backend

jobs:
lint:
name: Lint
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: "20"
cache: npm
cache-dependency-path: backend/package-lock.json

- run: npm ci
- run: npm run lint

test:
name: Test & Coverage
runs-on: ubuntu-latest
timeout-minutes: 5

services:
postgres:
image: postgres:15-alpine
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: swiftremit_test
ports: ["5432:5432"]
options: >-
--health-cmd pg_isready
--health-interval 5s
--health-timeout 5s
--health-retries 5

steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: "20"
cache: npm
cache-dependency-path: backend/package-lock.json

- run: npm ci

- name: Run migrations
env:
DATABASE_URL: postgresql://postgres:postgres@localhost:5432/swiftremit_test
run: psql $DATABASE_URL -f migrations/webhook_schema.sql

- name: Run tests with coverage
env:
DATABASE_URL: postgresql://postgres:postgres@localhost:5432/swiftremit_test
NODE_ENV: test
run: npx vitest run --coverage --reporter=verbose

- name: Upload coverage report artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: backend-coverage
path: backend/coverage/
retention-days: 7

- name: Post coverage summary as PR comment
if: always() && github.event_name == 'pull_request'
uses: davelosert/vitest-coverage-report-action@v2
with:
json-summary-path: backend/coverage/coverage-summary.json
github-token: ${{ secrets.GITHUB_TOKEN }}
name: Backend Coverage
Loading
Loading