Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
765 commits
Select commit Hold shift + click to select a range
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
539f6cb
feat: implement Stellar Wave improvements
xqcxx Apr 23, 2026
4bea08a
fix(frontend): use theme border on chat history sidebar
dmystical-coder Apr 23, 2026
cb7b9f4
Merge pull request #865 from dmystical-coder/fix/651-chat-history-sid…
leojay-net Apr 23, 2026
b062bf8
Merge pull request #866 from xqcxx/feat/stellar-wave-improvements
leojay-net Apr 23, 2026
dc0d9f1
fix: address multiple issues
floxxih Apr 23, 2026
81c814f
Merge pull request #867 from floxxih/fix-issues-568-569-571
leojay-net Apr 24, 2026
139411f
feat: implement circuit breakers and fee accrual vault
ChaoLing140 Apr 24, 2026
b19a73d
feat(frontend): add top-level error boundary to StellarChatInterface
dmystical-coder Apr 24, 2026
c0d2f3c
Merge pull request #868 from ChaoLing140/feat/circuit-breakers-fee-va…
leojay-net Apr 24, 2026
9e9e1bb
Merge pull request #871 from dmystical-coder/feat/666-error-boundary-…
leojay-net Apr 24, 2026
bfcd0e6
feat(frontend): add accessible contrast to transaction filter chips
Litezy Apr 24, 2026
d234f12
Merge branch 'main' into feat/accessible-color-contrast
Litezy Apr 24, 2026
3a768f1
feat(telemetry): add ARIA accessibility labels to chatTelemetry with …
Litezy Apr 24, 2026
177c460
Merge branch 'main' into feat/chatTelemetry
Litezy Apr 24, 2026
3bb87a4
feat(frontend): add optimistic UI updates to ChatHistorySidebar
dmystical-coder Apr 24, 2026
5377224
fix(contract): correct edge case validation in initialize and prevent…
Godbrand0 Apr 25, 2026
d94119b
fix(frontend): resolve memory leak tightly associated with chatTeleme…
Godbrand0 Apr 25, 2026
0c6c636
feat(frontend): add Zod validation schema to BankDetailsModal.tsx
Godbrand0 Apr 25, 2026
d839324
feat(frontend): add optimistic UI updates to StellarFiatModal.tsx
Apr 25, 2026
20223c8
Merge remote changes and resolve conflicts
Apr 25, 2026
c21b53f
Merge upstream/main and resolve conflicts for optimistic UI implement…
Apr 25, 2026
619e30f
Merge pull request #878 from MarvyNwaokobia/feature/102-batch-withdrawal
leojay-net Apr 25, 2026
375e57f
Merge pull request #875 from Godbrand0/fix/contract-initialize-valida…
leojay-net Apr 25, 2026
0d1aae9
Merge pull request #876 from Godbrand0/fix/frontend/chat-telemetry-me…
leojay-net Apr 25, 2026
164f86b
Merge pull request #877 from Godbrand0/feat/zod-validation-bank-details
leojay-net Apr 25, 2026
fa4dc5b
Merge pull request #874 from dmystical-coder/feat/673-optimistic-ui-c…
leojay-net Apr 25, 2026
835f1dc
fix(frontend): replace hardcoded gradients in StellarChatInterface wi…
nonso7 Apr 25, 2026
7441814
feat(frontend): add Zod validation schema to TransactionAmountDisplay…
Samuel1505 Apr 25, 2026
be76ffe
fix(contract): correct edge case validation in withdraw_fees (#565)
Samuel1505 Apr 25, 2026
24f29f4
feat(frontend): add Zod validation schema to OfflineStatusBanner.tsx …
Samuel1505 Apr 25, 2026
44dbbd4
done
Samuel1505 Apr 25, 2026
edbeee2
Merge pull request #881 from Samuel1505/memo
leojay-net Apr 25, 2026
6b1255f
Merge pull request #880 from nonso7/fix/gradient-theme-tokens-stellar…
leojay-net Apr 25, 2026
e8e42a1
feat(contract): require admin co-authentication on deposit
nonso7 Apr 25, 2026
0ed6346
fix(contract): explicit boundary errors in get_receipt_by_index
nonso7 Apr 25, 2026
e890b31
fix: resolve rendering overflow in chatTelemetry and add optimistic U…
Suzan-max Apr 25, 2026
cc3eb07
Merge pull request #884 from Suzan-max/fix/issue-539-536-rendering-ov…
leojay-net Apr 25, 2026
3fe2a3c
Merge pull request #883 from nonso7/fix/get-receipt-by-index-boundary
leojay-net Apr 25, 2026
b555972
test(contract): comprehensive coverage of set_limit critical paths
nonso7 Apr 25, 2026
fa1d9fa
Merge branch 'main' into feat/admin-auth-deposit
nonso7 Apr 25, 2026
8762bb4
Merge branch 'main' into test/set-limit-coverage
nonso7 Apr 25, 2026
3a8bf4e
Merge pull request #882 from nonso7/feat/admin-auth-deposit
leojay-net Apr 25, 2026
5dafccc
Merge pull request #885 from nonso7/test/set-limit-coverage
leojay-net Apr 25, 2026
0c5fd6d
Fix chat hydration safety and improve telemetry/state-machine DX
Gbangbolaoluwagbemiga Apr 25, 2026
da30797
Merge upstream/main and resolve chatTelemetry test conflicts
Gbangbolaoluwagbemiga Apr 25, 2026
eb7c1f2
Merge pull request #886 from joelpeace48-cell/fix/issues-533-541-543-559
leojay-net Apr 25, 2026
f17ea14
fix(frontend): resolve hydration mismatch in useBeneficiaries.ts
Apr 25, 2026
cb2680f
Merge pull request #887 from MarvyNwaokobia/feature/102-batch-withdrawal
leojay-net Apr 25, 2026
9448eb4
feat(frontend): add optimistic UI updates to CCIPBridgeModal.tsx
Apr 25, 2026
087c9dd
fix/test: resolve issues #523 #524 #525 #526
El-Chapo-Npm Apr 25, 2026
37d26ab
Merge pull request #889 from El-Chapo-Npm/fix/issues-523-524-525-526
leojay-net Apr 25, 2026
6c7163c
feat(frontend): add optimistic UI updates to CCIPBridgeModal.tsx
Apr 25, 2026
31b566e
Merge upstream/main into feature/102-batch-withdrawal to resolve bran…
Apr 25, 2026
e1e8e45
chore: resolve merge conflict in CCIPBridgeModal test
Apr 25, 2026
9ec576d
Merge pull request #888 from MarvyNwaokobia/feature/102-batch-withdrawal
leojay-net Apr 25, 2026
284c1e9
fix(frontend): resolve race condition in useChat.ts (#530)
Faisat-Creator Apr 25, 2026
77b7287
add error boundary to chatTelemetry.ts
Lynndabel Apr 25, 2026
1a3b1a4
add optimistic UI updates to admin/page.tsx
Lynndabel Apr 25, 2026
90cff46
add framer-motion animation to TransactionAmountDisplay.tsx
Lynndabel Apr 25, 2026
0bec568
doc
Lynndabel Apr 25, 2026
9d08e6d
ci error fix
Lynndabel Apr 25, 2026
3ee7206
Merge branch 'main' into feat/chatTelemetry
leojay-net Apr 25, 2026
5bd7e44
Merge pull request #873 from Litezy/feat/chatTelemetry
leojay-net Apr 25, 2026
4ec911c
Merge pull request #872 from Litezy/feat/accessible-color-contrast
leojay-net Apr 25, 2026
3dec986
feat/fix/docs: resolve issues #519 #520 #521 #522
Dev-AdeTutu Apr 25, 2026
2e58e6a
Merge pull request #892 from Dev-AdeTutu/feat/issues-519-520-521-522
leojay-net Apr 26, 2026
36e7d69
feat(contract): implement migration check for validate_withdrawal_quota
Apr 26, 2026
347f6b3
Merge pull request #893 from MarvyNwaokobia/feature/102-batch-withdrawal
leojay-net Apr 26, 2026
6da2891
feat(frontend): add keyboard shortcuts to ChatInput.tsx
Apr 26, 2026
04ec6fa
Merge pull request #894 from MarvyNwaokobia/feat/561-keyboard-shortcuts
leojay-net Apr 26, 2026
6b969e4
feat(frontend): add framer-motion animations to BankDetailsModal
Apr 26, 2026
c124944
feat(frontend): add framer-motion animations to BankDetailsModal #556
Apr 26, 2026
b419147
Merge pull request #895 from MeavenMay/feat/561-keyboard-shortcuts
leojay-net Apr 26, 2026
a7f8458
Merge branch 'main' into fix/530-529-528-527-multi-issue
Faisat-Creator Apr 26, 2026
89574b4
Merge branch 'main' into framer
Lynndabel Apr 26, 2026
ae76500
Merge pull request #890 from Faisat-Creator/fix/530-529-528-527-multi…
leojay-net Apr 26, 2026
2b1161f
Merge pull request #891 from Lynndabel/framer
leojay-net Apr 26, 2026
07ab47e
feat(frontend): add network status toast to AuditTable (#553)
Apr 27, 2026
456175d
Merge pull request #896 from MeavenMay/feat/audit-table-network-statu…
leojay-net Apr 27, 2026
4940954
docs: improve inline documentation for maximum cap limit
Apr 27, 2026
7439b9e
Merge pull request #898 from MeavenMay/docs/improve-max-cap-limit-docs
leojay-net Apr 27, 2026
0e24d32
feat: add chat input auto-scroll behavior
blue68 May 16, 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
Empty file added .codex
Empty file.
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