Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
684 commits
Select commit Hold shift + click to select a range
014fe8b
Merge secondary/main and resolve conflicts
Godbrand0 Mar 29, 2026
5ed67f8
Merge pull request #408 from gerani1/feature/mobile-chat-optimization
leojay-net Mar 29, 2026
55ec1f5
Merge pull request #409 from Dydex/changelog
leojay-net Mar 29, 2026
adda16a
Merge branch 'main' into test/issue-319-quota-window-isolation
leojay-net Mar 29, 2026
c83d91c
Merge branch 'main' into ci/issue-310-add-clippy-step
leojay-net Mar 29, 2026
cabf713
Merge pull request #396 from Gogo-Eng/ci/issue-310-add-clippy-step
leojay-net Mar 29, 2026
bba8ddc
Merge pull request #398 from Gogo-Eng/test/issue-319-quota-window-iso…
leojay-net Mar 29, 2026
b51aa4e
Merge branch 'main' into add-admin-audit
leojay-net Mar 29, 2026
c8a3847
Merge pull request #407 from Dydex/add-admin-audit
leojay-net Mar 29, 2026
0506ea9
Merge branch 'main' into expand_README
leojay-net Mar 29, 2026
093c133
Merge pull request #399 from RaymondAbiola/expand_README
leojay-net Mar 29, 2026
f15b229
Merge branch 'main' into show-live-crypto-prices
leojay-net Mar 29, 2026
3459082
Merge pull request #400 from Anthony-19/show-live-crypto-prices
leojay-net Mar 29, 2026
6590ca7
Merge branch 'main' into admin-only_get_all_denied_addresses
leojay-net Mar 29, 2026
6f8bc65
Merge pull request #401 from RaymondAbiola/admin-only_get_all_denied_…
leojay-net Mar 29, 2026
f38a542
Merge branch 'main' into test_for_per-token_daily_deposit_limit_enfor…
leojay-net Mar 29, 2026
3f3ca1b
Merge pull request #403 from RaymondAbiola/test_for_per-token_daily_d…
leojay-net Mar 29, 2026
fe251a2
Merge branch 'main' into invariant_test_for_escrow_accounting
leojay-net Mar 29, 2026
715a0ab
Merge pull request #404 from RaymondAbiola/invariant_test_for_escrow_…
leojay-net Mar 29, 2026
57aba67
deleted stellar-contracts\test_snapshots
iammrjude Mar 29, 2026
f6d1b0e
deleted stellar-contracts\test_snapshots
iammrjude Mar 29, 2026
7bc70f2
deleted stellar-contracts\test_snapshots
iammrjude Mar 29, 2026
12f4779
Merge branch 'main' into issue/277-operator-inactivity-auto-deregister
iammrjude Mar 29, 2026
0b57d92
Merge branch 'main' into issue/280-add-configurable-max-operators-cap
iammrjude Mar 29, 2026
4fca2fd
feat: implement IP allowlist for admin API access
Mar 29, 2026
4c39c41
fix ci on issue/280 after main merge
iammrjude Mar 29, 2026
095936e
fix: prevent withdraw to contract's own address (#109)
Drock0 Mar 29, 2026
adc208b
feat(frontend): add payment status, queue badge, chat fallback, and P…
Jay-Peter-Egemasi Mar 29, 2026
4fcaad1
fix ci on issue/280 after main merge
iammrjude Mar 29, 2026
355cc1d
Merge branch 'main' into add-playwright-test
Dydex Mar 29, 2026
33cde33
feat: export chat sessions as JSON and text
Mar 29, 2026
2e88ca4
fix(contracts): correct batch admin event publish shape
Jay-Peter-Egemasi Mar 29, 2026
2ff6ef1
feat: add split-view comparison, advanced search, and markdown hardening
Mar 29, 2026
89264bb
fix: resolve build failures in ChatHistorySidebar JSX and lib.rs even…
Mar 29, 2026
640dba2
fix: widen img component props type to satisfy react-markdown signature
Mar 29, 2026
cebd0b8
fixed issues
OperaCode Mar 29, 2026
ca139e0
feat: add minimum deposit floor (#113)
Drock0 Mar 29, 2026
894c878
fix: add overflow guard to total_deposited accumulators (#111)
Drock0 Mar 29, 2026
56eff46
Fix addBeneficiary function call to use correct parameters
OperaCode Mar 29, 2026
9600bf7
fix: remove extra batch_ok event publish arg
Dydex Mar 29, 2026
920dc7c
add Foundry deployment script for FiatBridge on Futurenet
Anthony-19 Mar 29, 2026
3fd3a82
Fix env.events().publish call in batch admin to match method signature
OperaCode Mar 29, 2026
4f0a4f1
Merge branch 'main' into add-Foundry-deployment-script
Anthony-19 Mar 29, 2026
2115580
feat: add operator role for withdrawal processing separate from admin…
Drock0 Mar 29, 2026
88562a5
add Foundry deployment script for FiatBridge on Futurenet
Anthony-19 Mar 29, 2026
3ec9ebf
Merge branch 'add-Foundry-deployment-script' of https://github.com/An…
Anthony-19 Mar 29, 2026
bb0e71f
add Foundry deployment script for FiatBridge on Futurenet
Anthony-19 Mar 29, 2026
1e56251
add Foundry deployment script for FiatBridge on Futurenet
Anthony-19 Mar 29, 2026
bfe9345
fixed compile errors
Dydex Mar 29, 2026
7485d7e
Merge branch 'main' into copy-to-clipboard
Dydex Mar 29, 2026
30a4611
add Foundry deployment script for FiatBridge on Futurenet
Anthony-19 Mar 29, 2026
d82364d
add Foundry deployment script for FiatBridge on Futurenet
Anthony-19 Mar 29, 2026
c96fc6b
add Foundry deployment script for FiatBridge on Futurenet
Anthony-19 Mar 29, 2026
ae99124
Merge pull request #418 from OperaCode/feature/implement-issues-362-3…
leojay-net Mar 29, 2026
9895446
Merge branch 'main' into add-playwright-test
leojay-net Mar 29, 2026
aacfbf6
Merge pull request #411 from Dydex/add-playwright-test
leojay-net Mar 29, 2026
9a17c91
Merge pull request #419 from Drock0/feat/min-deposit-floor
leojay-net Mar 29, 2026
47b77be
Merge branch 'main' into feat/overflow-guard
leojay-net Mar 29, 2026
bfb270e
Merge pull request #420 from Drock0/feat/overflow-guard
leojay-net Mar 29, 2026
2c002ae
add Foundry deployment script for FiatBridge on Futurenet
Anthony-19 Mar 29, 2026
dbe8964
Merge branch 'main' into fix/withdraw-self-address-guard
leojay-net Mar 29, 2026
3d3ed2d
Merge pull request #415 from Drock0/fix/withdraw-self-address-guard
leojay-net Mar 29, 2026
4cc7cf8
Merge branch 'main' into feat/operator-role
leojay-net Mar 29, 2026
40164c8
Merge pull request #422 from Drock0/feat/operator-role
leojay-net Mar 29, 2026
bd95aa6
Merge branch 'main' into codex/frontend-payment-chat-history-enhancem…
leojay-net Mar 29, 2026
c68f1af
Merge pull request #414 from Jay-Peter-Egemasi/codex/frontend-payment…
leojay-net Mar 29, 2026
66a3156
Merge branch 'main' into codex/feat-chat-shortcut-303
leojay-net Mar 29, 2026
95e1a89
Merge pull request #397 from edehvictor/codex/feat-chat-shortcut-303
leojay-net Mar 29, 2026
dc8eea1
add Foundry deployment script for FiatBridge on Futurenet
Anthony-19 Mar 29, 2026
aaa4e45
Merge branch 'main' into add-Foundry-deployment-script
Anthony-19 Mar 29, 2026
43735f3
docs: add .env.example and update setup instructions
onyillto Mar 29, 2026
8df9c5f
Merge branch 'main' of github.com:iammrjude/Stellar-Dex-Chat
iammrjude Mar 29, 2026
07f12e3
gitignore stellar-contracts\test_snapshots
iammrjude Mar 29, 2026
adeec7f
Revert workflow snapshot bootstrap changes
iammrjude Mar 29, 2026
c5cbbc9
add unit tests for useTransactionFilters hook
onyillto Mar 29, 2026
ca36bf2
Merge main into issue/277-operator-inactivity-auto-deregister
iammrjude Mar 29, 2026
bb15c6b
Merge pull request #341 from iammrjude/issue/277-operator-inactivity-…
leojay-net Mar 29, 2026
5ae2228
Merge main into issue/280-add-configurable-max-operators-cap
iammrjude Mar 29, 2026
b161804
Merge issue/277-operator-inactivity-auto-deregister into issue/280-ad…
iammrjude Mar 29, 2026
4afd567
Merge pull request #342 from iammrjude/issue/280-add-configurable-max…
leojay-net Mar 29, 2026
a7ca2bc
Merge branch 'main' into copy-to-clipboard
Dydex Mar 29, 2026
78ca228
add Foundry deployment script for FiatBridge on Futurenet
Anthony-19 Mar 29, 2026
187bfce
Merge branch 'main' into add-Foundry-deployment-script
Anthony-19 Mar 29, 2026
4824845
add Foundry deployment script for FiatBridge on Futurenet
Anthony-19 Mar 29, 2026
19c0e54
Merge branch 'add-Foundry-deployment-script' of https://github.com/An…
Anthony-19 Mar 29, 2026
ba4d175
fix: transfer_admin's current admin validation bug
emarc99 Mar 29, 2026
791b757
add CONTRIBUTING guide for smart contract development
Anthony-19 Mar 29, 2026
ff8e424
feat: add unit test
emarc99 Mar 29, 2026
73f3918
Merge branch 'main' into feature/issues-197-196-187
dannyy2000 Mar 29, 2026
50a13d8
Merge branch 'main' into fix/transfer_admin_validation_bug
emarc99 Mar 29, 2026
6e1e6eb
fix(contract): prevent ReceiptIndex from using persistent storage for…
Anthony-19 Mar 29, 2026
f8f8944
chore: undo change
emarc99 Mar 29, 2026
05797b8
Merge branch 'fix/transfer_admin_validation_bug' of https://github.co…
emarc99 Mar 29, 2026
f245f2b
fix(contract): preventing ReceiptIndex from premature eviction and fa…
Anthony-19 Mar 29, 2026
843b36d
fixed error issues
Dydex Mar 29, 2026
7429d9a
fix: combined fixes for issues #390, #391, #294, #301
Georgechisom Mar 29, 2026
dda9107
test(lib): add unit tests for rateLimit utility
Feyisara2108 Mar 29, 2026
f9054ae
fix: add missing closing braces in test functions
Georgechisom Mar 29, 2026
d8b7a89
feat(infra): add automated Soroban deploy script for FiatBridge on Fu…
Anthony-19 Mar 29, 2026
6945e91
feat(frontend): persist chat drafts with 500ms debounce
Feyisara2108 Mar 29, 2026
9fb4c8e
feat(frontend): add telemetry consent toggle in user settings
Feyisara2108 Mar 29, 2026
5ec120c
fix: correct Zod error property and CSV export fields
Georgechisom Mar 29, 2026
a372690
fix(test): correct exact slippage boundary formulation
Anthony-19 Mar 29, 2026
3e40c12
#356 test(contract): add test for circuit breaker trip and reset
Feyisara2108 Mar 29, 2026
e5a8cec
Merge pull request #417 from dannyy2000/feature/issues-197-196-187
leojay-net Mar 29, 2026
286a5ce
Merge pull request #431 from Feyisara2108/feat/358-telemetry-consent-…
leojay-net Mar 29, 2026
b326cf3
Merge pull request #430 from Feyisara2108/feat/359-persist-draft-mess…
leojay-net Mar 29, 2026
78a03e6
Merge pull request #428 from Feyisara2108/feat/add-tests-for-rate-lim…
leojay-net Mar 29, 2026
73dd690
Merge pull request #427 from Anthony-19/prevent-ReceiptIndex
leojay-net Mar 29, 2026
dba14f4
Merge pull request #429 from Georgechisom/fix/combined-issues-390-391…
leojay-net Mar 29, 2026
8467ebc
Update README.md
kulayddon Mar 29, 2026
688969e
Merge pull request #426 from emarc99/fix/transfer_admin_validation_bug
leojay-net Mar 29, 2026
74c2220
Merge pull request #425 from Anthony-19/add-CONTRIBUTING-guide
leojay-net Mar 29, 2026
3a4d9f7
Update IMPLEMENTATION_SUMMARY.md
kulayddon Mar 29, 2026
4b71175
Merge branch 'main' into copy-to-clipboard
Dydex Mar 29, 2026
cf2955d
Merge pull request #433 from kulayddon/main
leojay-net Mar 29, 2026
4be8cfa
fix(frontend): resolve JSX parse errors introduced by merged PRs
leojay-net Mar 29, 2026
577dfcc
ci: add auto-merge workflow for PRs that pass all checks
leojay-net Mar 29, 2026
abe8319
Merge branch 'main' into add-Foundry-deployment-script
leojay-net Mar 29, 2026
7de1322
Merge pull request #421 from Anthony-19/add-Foundry-deployment-script
leojay-net Mar 29, 2026
5c2d6dd
Update README.md
kulayddon Mar 29, 2026
2fcaa82
Update IMPLEMENTATION_SUMMARY.md
kulayddon Mar 29, 2026
50cd6c9
fix(frontend): resolve JSX parse errors introduced by merged PRs
leojay-net Mar 29, 2026
2432773
ci: add auto-merge workflow for PRs that pass all checks
leojay-net Mar 29, 2026
87ba53e
Merge branch 'main' into copy-to-clipboard
Dydex Mar 29, 2026
60f1d0a
fixed ci issues
Dydex Mar 29, 2026
31be80c
fix(security,dx): move Gemini key server-side, fail-closed webhook, a…
Temi-suwa18 Mar 29, 2026
c878fce
Merge pull request #410 from Dydex/copy-to-clipboard
leojay-net Mar 29, 2026
3571a4d
fix: added inline JSDoc to all public functions in aiAssistant.ts
Levi-Ojukwu Mar 29, 2026
c6e7a2e
Merge upstream/main to resolve conflicts in FIAT_BRIDGE_README.md
Temi-suwa18 Mar 29, 2026
bd9e7cb
Merge pull request #434 from Temi-suwa18/fix/issues-345-348-374-secur…
leojay-net Mar 29, 2026
7f72638
Merge pull request #1 from Levi-Ojukwu/work-branch
Levi-Ojukwu Mar 29, 2026
3040be0
fix: added WalletActionSheet haptic feedback on mobile
Levi-Ojukwu Mar 29, 2026
bfcb0a5
Merge pull request #2 from Levi-Ojukwu/work-branch
Levi-Ojukwu Mar 29, 2026
a7a3e59
test(contracts): add event snapshot coverage
edehvictor Mar 29, 2026
de67cb7
Merge branch 'main' into feat/is-denied-query
nonso7 Mar 29, 2026
20748ee
fix(contracts): repair snapshot test compilation
edehvictor Mar 29, 2026
e68abc5
fix(contracts): align quota reset snapshot test with real flow
edehvictor Mar 29, 2026
43832c4
feat(security): implement authentication guard for admin endpoints us…
emdevelopa Mar 29, 2026
610a059
Merge pull request #406 from edehvictor/codex/test-contract-event-sna…
leojay-net Mar 29, 2026
e4ae68f
fix(contract): protect accumulators against i128 overflow using check…
emdevelopa Mar 30, 2026
6efcd67
feat(contract): add per-token allowlist management and get_daily_depo…
emdevelopa Mar 30, 2026
6c93129
test(contract): add unit tests for daily deposit record, token allowl…
emdevelopa Mar 30, 2026
ae0e367
feat(contract): refine get_daily_deposit_record query with window res…
emdevelopa Mar 30, 2026
3896ae7
feat(frontend): add ccip bridge status polling
edehvictor Mar 29, 2026
e18ac0f
feat: aded the sixes
emdevelopa Mar 30, 2026
7e423e8
Merge pull request #402 from edehvictor/codex/feat-ccip-status-pollin…
leojay-net Mar 30, 2026
2233590
Merge pull request #436 from devpeter999/feature/implement-issues-346…
leojay-net Mar 30, 2026
b7d065b
fix(contracts): restore soroban-sdk v25.3.0 and fix slippage syntax e…
nonso7 Mar 30, 2026
7e42369
fix: added TypeScript strict type-check step (no build artefacts)
Levi-Ojukwu Mar 30, 2026
b5f0bec
Merge pull request #3 from Levi-Ojukwu/work-branch
Levi-Ojukwu Mar 30, 2026
c8409fe
fix: added unit tests for chatStateMachine
Levi-Ojukwu Mar 30, 2026
009d2d5
Merge pull request #4 from Levi-Ojukwu/work-branch
Levi-Ojukwu Mar 30, 2026
e663b1d
Merge branch 'main' into merge-conflict-branch
Levi-Ojukwu Mar 30, 2026
01b9ff9
fix(contracts): expose WINDOW_LEDGERS publicly and add get_denied_add…
nonso7 Mar 30, 2026
c9eb048
Merge branch 'main' into feat/is-denied-query
nonso7 Mar 30, 2026
f46f480
fix(contract): migrate all events to #[contractevent] structs (deprec…
markdavid000 Mar 30, 2026
42ba7d7
feat(contract): implement withdrawal expiry and admin reclaim
markdavid000 Mar 30, 2026
619fca4
feat(contract): add circuit breaker auto-reset after cooldown
markdavid000 Mar 30, 2026
f2fdb72
fix(contract): prevent admin from renouncing ownership while paused
markdavid000 Mar 30, 2026
871cef2
Merge branch 'main' into fix/deprecation-cleanup
markdavid000 Mar 30, 2026
d8fccb2
fix: CI fix
markdavid000 Mar 30, 2026
4ced162
Merge branch 'fix/deprecation-cleanup' of https://github.com/markdavi…
markdavid000 Mar 30, 2026
41bda9c
feat(contracts): add governed upgrade mechanism with delay
Mar 28, 2026
7cf7082
Implement M-of-N multisig admin control in FiatBridge contract
Mar 30, 2026
1c28496
feat: implement admin overview dashboard with key metrics and wallet …
Mar 30, 2026
03f4e00
feat: implement contract event indexing and activity feed in sidebar
Mar 30, 2026
d6624b7
dx: add Soroban contract size budget check to CI
Lynndabel Mar 30, 2026
1a78895
docs: add SDK usage examples for TypeScript client bindings
Lynndabel Mar 30, 2026
a23fa01
Merge branch 'main' into optional-ip-allowlist
Danto1606 Mar 30, 2026
03608eb
Merge branch 'main' into export-chat-sessions
Danto1606 Mar 30, 2026
0c986a6
lint error fixed
Lynndabel Mar 30, 2026
a40e493
Merge pull request #442 from MeavenMay/feature/event-activity-feed
leojay-net Mar 30, 2026
ce14ccb
Merge pull request #437 from Levi-Ojukwu/merge-conflict-branch
leojay-net Mar 30, 2026
7283854
Merge branch 'main' into fix/deprecation-cleanup
leojay-net Mar 30, 2026
7c06e95
Merge pull request #438 from markdavid000/fix/deprecation-cleanup
leojay-net Mar 30, 2026
e032d9a
Merge branch 'main' into test/356-circuit-breaker-tests
leojay-net Mar 30, 2026
2ff114e
Merge pull request #432 from Feyisara2108/test/356-circuit-breaker-tests
leojay-net Mar 30, 2026
2818ae5
Merge branch 'main' into soro
leojay-net Mar 30, 2026
01fcf09
Merge pull request #443 from Lynndabel/soro
leojay-net Mar 30, 2026
8ce25b7
Merge pull request #424 from onyillto/unit-test
leojay-net Mar 30, 2026
e55ff6c
Merge pull request #423 from onyillto/add-.env.example
leojay-net Mar 30, 2026
918f75d
Merge branch 'main' into export-chat-sessions
leojay-net Mar 30, 2026
6e6e254
Merge pull request #416 from Danto1606/export-chat-sessions
leojay-net Mar 30, 2026
6ba5fb9
Merge pull request #413 from Danto1606/optional-ip-allowlist
leojay-net Mar 30, 2026
990388d
Merge pull request #412 from onyillto/addtransactionhistoryexporttoPDF
leojay-net Mar 30, 2026
bbd7624
Merge branch 'main' into feat/is-denied-query
leojay-net Mar 30, 2026
8725ea2
Merge pull request #338 from nonso7/feat/is-denied-query
leojay-net Mar 30, 2026
3b6f7fb
Merge branch 'main' into feat/health-endpoint-and-status-badge
leojay-net Mar 30, 2026
d9b4ce5
Merge pull request #328 from JohnOluB/feat/health-endpoint-and-status…
leojay-net Mar 30, 2026
f47d464
Merge branch 'main' into leojay-net
leojay-net Mar 30, 2026
d439f51
Merge pull request #246 from BigMick03/leojay-net
leojay-net Mar 30, 2026
87e2d67
add-toastprovider
bakarezainab Mar 30, 2026
2a64637
skeleton koader
onyillto Mar 30, 2026
3961037
Merge branch 'main' into add-ToastProvider-integration-with-network-q…
bakarezainab Mar 30, 2026
edcb291
Update StellarFiatModal.tsx
onyillto Mar 30, 2026
23ae7d9
FICXING
walterthesmart Mar 30, 2026
0d5f8e2
Merge pull request #466 from walterthesmart/FIXING
leojay-net Mar 30, 2026
5d6f85e
fix: admin type safety, refactor, and styling guidelines (closes #460…
Hahfyeex Mar 30, 2026
129f10d
Merge pull request #467 from Hahfyeex/fix/issues-460-461-462-463
leojay-net Mar 30, 2026
59cca0a
Merge pull request #447 from onyillto/replace-deprecated-stroops
leojay-net Mar 30, 2026
95e6a18
Merge pull request #445 from onyillto/loading-skeleton
leojay-net Mar 30, 2026
41f3324
Merge pull request #446 from bakarezainab/add-ToastProvider-integrati…
leojay-net Mar 30, 2026
cf2ccca
Fix syntax error in types and finalize issues
Temi-suwa18 Apr 22, 2026
9c789dd
fix: resolve CI blockers, repair sidebar duplication, and fix contrac…
Temi-suwa18 Apr 22, 2026
bb85895
fix: resolve frontend type errors and repair contract tests
Temi-suwa18 Apr 22, 2026
87a2cfc
fix: resolve CI blockers - add TranslationProvider, repair test.rs sy…
Temi-suwa18 Apr 22, 2026
172203b
fix: resolve frontend CI tests and dependencies
Temi-suwa18 Apr 22, 2026
412e4c0
implemented task
Wilfred007 Apr 22, 2026
e88ecb5
feat(contract): add invariant and edge case tests for issues #613, #6…
Apr 22, 2026
b51d56d
fix: correct assertion in request_withdrawal edge case test
Apr 22, 2026
a52efa5
Merge pull request #846 from Open-Works-Contributions/zod-validation-…
leojay-net Apr 22, 2026
5ded04a
fix(frontend): stabilize useFeatureFlag hydration behavior
Uchechukwu-Ekezie Apr 23, 2026
6a55303
test(contract): add request_withdrawal invariant property tests
Uchechukwu-Ekezie Apr 23, 2026
be4da3b
Merge pull request #848 from OpenSourceCOntr/fix/frontend-hydration-u…
leojay-net Apr 23, 2026
96d4aa9
Merge pull request #849 from OpenSourceCOntr/test/request-withdrawal-…
leojay-net Apr 23, 2026
9f358ee
Merge pull request #841 from abayomicornelius/fix/issues-708-709-711-…
leojay-net Apr 23, 2026
a905eae
Merge branch 'main' into feat/issues-613-614-617-619-contract-tests
leojay-net Apr 23, 2026
44a0153
Merge pull request #847 from caxtonacollins/feat/issues-613-614-617-6…
leojay-net Apr 23, 2026
c18c8fa
fix: prevent AdminGuard stale updates and improve replay docs
boys-cyberhub Apr 23, 2026
7245e6b
Merge pull request #850 from boys-cyberhub/fix/adminguard-leak-replay…
leojay-net Apr 23, 2026
30f183d
docs: improve inline documentation for admin authentication logic
Tiago-Vier-Preto Apr 23, 2026
6681e84
feat: implement issues #706 #707 #710 #713
Apr 23, 2026
20635d7
Merge branch 'main' into feat/tx-panel-copy-docs-timeline
emdevelopa Apr 23, 2026
8e7524f
Merge pull request #852 from EmdevelopaOpenSource/feat/tx-panel-copy-…
leojay-net Apr 23, 2026
3ae7c5b
Merge pull request #851 from Tiago-Vier-Preto/docs/improve-inline-doc…
leojay-net Apr 23, 2026
babfa42
feat: resolve issues #666, #684, #672, #670 - Error Boundary, Paginat…
Temi-suwa18 Apr 23, 2026
913d1af
Merge pull request #854 from presidojay1/fix/issues-666-684-672-670
leojay-net Apr 23, 2026
4a1f147
fix(contract): correct edge case validation in upgrade (#668)
CmxTop Apr 23, 2026
2adeaf9
Merge remote-tracking branch 'origin/main' into fix/659-668-overflow-…
CmxTop Apr 23, 2026
5fff5de
Merge pull request #856 from CmxTop/fix/659-668-overflow-docs-upgrade…
leojay-net Apr 23, 2026
edc91da
feat: implement wave features #62, #699, #695, #687
Georgechisom Apr 23, 2026
ef86891
fix: resolve linting and type errors
Georgechisom Apr 23, 2026
e58a521
chore: cleanup vscode settings
Georgechisom Apr 23, 2026
3620bb5
Merge pull request #855 from Georgechisom/feat/wave-features-62-699-6…
leojay-net Apr 23, 2026
d41e407
Implement emergency recovery cap and harden admin/heartbeat safety.
JamesVictor-O Apr 23, 2026
06aa391
Merge pull request #857 from JamesVictor-O/fix/upstream-assigned-issu…
leojay-net Apr 23, 2026
e975e12
feat(frontend): add accessible avatar contrast normalization to chat …
Litezy Apr 23, 2026
2935e4c
Merge pull request #858 from Litezy/feat/telemetry
leojay-net Apr 23, 2026
a076776
feat(frontend): debounce transaction filters with optimistic state
dmystical-coder Apr 23, 2026
23aa8e3
feat(frontend): a11y, theme tokens, and PriceTicker shortcuts
Gbangbolaoluwagbemiga Apr 23, 2026
4278815
Merge pull request #860 from Gbangbolaoluwagbemiga/feat/frontend-a11y…
leojay-net Apr 23, 2026
e0692e3
feat: cap set_limit, receipt E2E, fiat telemetry, heartbeat invariants
ay Apr 23, 2026
846529b
Merge pull request #861 from kulayddon/feat/drips-555-558-562-564
leojay-net Apr 23, 2026
8bac9f6
fix: docs, Zod modal validation, feature-flag borders, audit fetch race
Gbangbolaoluwagbemiga Apr 23, 2026
321022e
Merge pull request #862 from CelestinaBeing/fix/wave-634-637-639-641
leojay-net Apr 23, 2026
6e7f28f
Merge pull request #859 from dmystical-coder/feat/650-debounce-transa…
leojay-net Apr 23, 2026
b3b431a
test(contract): pause and batch admin invariants; feat(frontend): net…
williams Apr 23, 2026
4561fdd
Merge pull request #863 from codemagician1949/fix/drips-issues-538-55…
leojay-net Apr 23, 2026
a7ef003
docs: improve inline documentation for overflow prevention
Apr 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Stellar Network Configuration
NEXT_PUBLIC_STELLAR_NETWORK=TESTNET # Target Stellar network: TESTNET or PUBLIC
NEXT_PUBLIC_STELLAR_RPC_URL=https://soroban-testnet.stellar.org # Soroban RPC endpoint for contract interaction

# Smart Contract Configuration
NEXT_PUBLIC_STELLAR_CONTRACT_ID= # The deployed Soroban FiatBridge contract ID (starts with 'C')
NEXT_PUBLIC_XLM_SAC_ID=CAS3J7GYCCXG7WS6Y7G2HGDV6X6YHS2753T55E4YDLM5D35W6N6YJLYE # XLM Stellar Asset Contract ID (Native asset)

# AI Assistant Configuration
GEMINI_API_KEY= # Google Gemini API key for AI-powered bridge assistance

# Payout Provider Configuration
PAYOUT_PROVIDER=paystack # Payout provider name (e.g., paystack)
PAYSTACK_SECRET_KEY= # Paystack secret key for initiating bank transfers and verifying webhooks

# Optional: Monitoring & Security
# SENTRY_DSN= # Optional: Sentry DSN for error tracking
# ADMIN_IP_ALLOWLIST= # Optional: Comma-separated list of IPs allowed for admin routes
129 changes: 129 additions & 0 deletions .github/workflows/auto-merge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
name: Auto-Merge PRs

# Fires when a PR is opened/updated (to enable native auto-merge) and when a
# check suite completes (to directly merge if every check went green and the
# branch has no conflicts).
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches: [main]
check_suite:
types: [completed]

permissions:
contents: write # needed to merge
pull-requests: write # needed to update PR auto-merge flag

jobs:
# ── 1. Enable GitHub's built-in auto-merge the moment a PR is opened / updated
enable-auto-merge:
name: Enable auto-merge on PR
if: |
github.event_name == 'pull_request' &&
github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- name: Enable squash auto-merge
# continue-on-error so a repo without branch-protection rules doesn't
# block the workflow; the merge-when-green job is the primary mechanism.
continue-on-error: true
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh pr merge --auto --squash \
--repo "${{ github.repository }}" \
"${{ github.event.pull_request.number }}"

# ── 2. Directly merge when ALL check runs on the suite pass ──────────────
merge-when-green:
name: Merge PR when all checks pass
if: |
github.event_name == 'check_suite' &&
github.event.check_suite.conclusion == 'success'
runs-on: ubuntu-latest
steps:
- name: Merge passing, conflict-free PRs
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const headSha = context.payload.check_suite.head_sha;
const prs = context.payload.check_suite.pull_requests ?? [];

if (prs.length === 0) {
core.info('No open PRs linked to this check suite — nothing to do.');
return;
}

for (const pr of prs) {
// Fetch the full PR object (includes mergeable + draft fields)
const { data: pull } = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: pr.number,
});

if (pull.draft) {
core.info(`PR #${pr.number} is a draft — skipping.`);
continue;
}

if (pull.state !== 'open') {
core.info(`PR #${pr.number} is already closed — skipping.`);
continue;
}

// GitHub computes mergeability asynchronously; poll once if null.
let mergeable = pull.mergeable;
if (mergeable === null) {
core.info(`PR #${pr.number}: mergeability not yet computed, waiting 6 s…`);
await new Promise(r => setTimeout(r, 6000));
const { data: refreshed } = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: pr.number,
});
mergeable = refreshed.mergeable;
}

if (mergeable === false) {
core.info(`PR #${pr.number} has merge conflicts — skipping.`);
continue;
}

// Confirm every completed check run passed (or was neutral/skipped).
const { data: { check_runs } } = await github.rest.checks.listForRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: headSha,
per_page: 100,
});

const failing = check_runs.filter(r =>
r.status === 'completed' &&
!['success', 'skipped', 'neutral'].includes(r.conclusion)
);

if (failing.length > 0) {
core.info(
`PR #${pr.number} has failing checks ` +
`(${failing.map(r => r.name).join(', ')}) — skipping.`
);
continue;
}

// Everything is green and conflict-free — merge!
try {
await github.rest.pulls.merge({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: pr.number,
merge_method: 'squash',
commit_title: `${pull.title} (#${pr.number})`,
commit_message: pull.body ?? '',
});
core.info(`✅ Auto-merged PR #${pr.number}: ${pull.title}`);
} catch (err) {
core.error(`Failed to merge PR #${pr.number}: ${err.message}`);
}
}
35 changes: 35 additions & 0 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Changelog

on:
push:
branches:
- main

permissions:
contents: write

jobs:
update-changelog:
name: Generate and Commit CHANGELOG
if: github.actor != 'github-actions[bot]'
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Generate CHANGELOG.md
uses: orhun/git-cliff-action@v4
with:
config: cliff.toml
args: --verbose --output CHANGELOG.md

- name: Commit and push CHANGELOG.md
uses: stefanzweifel/git-auto-commit-action@v5
with:
file_pattern: CHANGELOG.md
commit_message: "chore(changelog): update changelog [skip ci]"
commit_user_name: github-actions[bot]
commit_user_email: 41898282+github-actions[bot]@users.noreply.github.com
32 changes: 32 additions & 0 deletions .github/workflows/contract-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Contract Tests

on:
pull_request:
branches:
- main

jobs:
test:
name: Run cargo test
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install Rust stable toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: clippy
targets: wasm32-unknown-unknown

- name: Cache Cargo dependencies
uses: Swatinem/rust-cache@v2
with:
workspaces: stellar-contracts -> target

- name: Run clippy (deny warnings)
run: cd stellar-contracts && cargo clippy --all-targets --all-features -- -D warnings

- name: Run contract tests
run: cd stellar-contracts && cargo test
65 changes: 65 additions & 0 deletions .github/workflows/contracts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Smart Contract CI

on:
pull_request:
branches: [main]
paths:
- "stellar-contracts/**"
- ".github/workflows/contracts.yml"
push:
branches: [main]
paths:
- "stellar-contracts/**"

permissions:
contents: read

jobs:
test:
name: Test & Build
runs-on: ubuntu-latest

defaults:
run:
working-directory: stellar-contracts

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: clippy
targets: wasm32-unknown-unknown

- name: Cache Cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
stellar-contracts/target
key: ${{ runner.os }}-cargo-${{ hashFiles('stellar-contracts/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-

- name: Run tests
run: cargo test

- name: Build WASM release
run: cargo build --target wasm32-unknown-unknown --release

- name: Check WASM size
run: |
ls -la target/wasm32-unknown-unknown/release/*.wasm
SIZE=$(ls -la target/wasm32-unknown-unknown/release/*.wasm | awk '{print $5}')
echo "Current WASM size: $SIZE bytes"
if [ $SIZE -gt 55000 ]; then
echo "Error: WASM size $SIZE bytes exceeds 55 KB limit"
exit 1
fi

- name: Run clippy (deny warnings)
run: cargo clippy --all-targets --all-features -- -D warnings
113 changes: 113 additions & 0 deletions .github/workflows/deploy-futurenet.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
name: Deploy FiatBridge to Futurenet

on:
push:
branches:
- 'release/**'
paths:
- 'stellar-contracts/**'
- '.github/workflows/deploy-futurenet.yml'

permissions:
contents: read
deployments: write

jobs:
deploy:
name: Deploy to Futurenet
runs-on: ubuntu-latest
environment: futurenet

defaults:
run:
working-directory: stellar-contracts

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: wasm32-unknown-unknown

- name: Install Soroban CLI
run: |
curl -s https://raw.githubusercontent.com/stellar/rs-soroban-sdk/master/soroban-env/install-soroban.sh | bash
soroban --version

- name: Cache Cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
stellar-contracts/target
key: ${{ runner.os }}-cargo-${{ hashFiles('stellar-contracts/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-

- name: Build contract
run: cargo build --target wasm32-unknown-unknown --release

- name: Deploy to Futurenet
id: deploy
env:
FUTURENET_ADMIN_SECRET_KEY: ${{ secrets.FUTURENET_ADMIN_SECRET_KEY }}
FUTURENET_RPC_URL: https://rpc-futurenet.stellar.org
FUTURENET_NETWORK_PASSPHRASE: 'Test SDF Future Network ; April 2020'
OUTPUT_FILE: ./contract_id_futurenet.txt
run: |
chmod +x ../scripts/deploy_fiat_bridge_futurenet.sh
../scripts/deploy_fiat_bridge_futurenet.sh

# Pass outputs to GitHub Actions context
CONTRACT_ID=$(cat "$OUTPUT_FILE")
echo "contract_id=$CONTRACT_ID" >> $GITHUB_OUTPUT

- name: Upload contract ID artifact
if: success()
uses: actions/upload-artifact@v4
with:
name: contract-deployment-${{ github.sha }}
path: stellar-contracts/contract_id_futurenet.txt
retention-days: 90

- name: Create deployment status
if: always()
uses: actions/github-script@v7
with:
script: |
const status = '${{ job.status }}' === 'success' ? 'success' : 'failure';
const conclusion = status === 'success' ? '✅ Deployment successful' : '❌ Deployment failed';

github.rest.repos.createDeployment({
owner: context.repo.owner,
repo: context.repo.repo,
ref: context.ref,
environment: 'futurenet',
required_contexts: [],
auto_merge: false,
description: 'FiatBridge Smart Contract Deployment'
})

- name: Post deployment summary
if: success()
run: |
echo "## 🎉 Deployment Summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Status:** ✅ Success" >> $GITHUB_STEP_SUMMARY
echo "**Environment:** Futurenet" >> $GITHUB_STEP_SUMMARY
echo "**Contract ID:** ${{ steps.deploy.outputs.contract_id }}" >> $GITHUB_STEP_SUMMARY
echo "**Branch:** ${{ github.ref_name }}" >> $GITHUB_STEP_SUMMARY
echo "**Commit:** ${{ github.sha }}" >> $GITHUB_STEP_SUMMARY

- name: Notify on failure
if: failure()
run: |
echo "## ❌ Deployment Failed" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "Environment: Futurenet" >> $GITHUB_STEP_SUMMARY
echo "Branch: ${{ github.ref_name }}" >> $GITHUB_STEP_SUMMARY
echo "Check the logs for details." >> $GITHUB_STEP_SUMMARY
Loading
Loading