Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1016 commits
Select commit Hold shift + click to select a range
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
aba67ec
Merge branch 'main' into fix/use-feature-flag-race-608
edehvictor Apr 28, 2026
eac1b29
fix(frontend): resolve memory leak in Message.tsx
EbukaMoses Apr 29, 2026
434e980
feat(contract): implement overflow prevention for is_denied
EbukaMoses Apr 29, 2026
98e581e
Fixed Ci Bug
EbukaMoses May 2, 2026
dcdcb40
Resolve merge conflicts in implement_overflow branch
EbukaMoses May 2, 2026
2f02634
Fix all CI issues to ensure GitHub workflow passes
EbukaMoses May 3, 2026
815b465
Fix all remaining CI issues to ensure GitHub workflow passes
EbukaMoses May 3, 2026
5d267f9
Fixed Ci Bug
EbukaMoses May 3, 2026
b28e064
Fixed Ci Bug
EbukaMoses May 3, 2026
e86cf7d
Fixed Ci Bug
EbukaMoses May 3, 2026
bd9add0
Fixed Ci Bug
EbukaMoses May 3, 2026
9a7bb19
fixed ci bug
EbukaMoses May 4, 2026
0eda13d
fixed ci bug
EbukaMoses May 4, 2026
0fa13ea
fixed ci bug
EbukaMoses May 4, 2026
16ac5fe
fixed bug
EbukaMoses May 4, 2026
ad1ad2b
Merge branch 'main' into fix/set-limit-validation-612
edehvictor May 8, 2026
cb3f408
Merge branch 'main' into feat/heartbeat-circuit-breaker-610
edehvictor May 28, 2026
6266129
Merge pull request #844 from edehvictor/fix/use-feature-flag-race-608
leojay-net May 28, 2026
cb1f662
Merge pull request #845 from edehvictor/fix/set-limit-validation-612
leojay-net May 28, 2026
2754a99
Merge pull request #842 from edehvictor/feat/heartbeat-circuit-breake…
leojay-net May 28, 2026
052a42e
test(admin): strengthen colour-token assertions to cover all acceptan…
DeborahOlaboye May 28, 2026
75892c9
feat(BankDetailsModal): surface Zod saveCustomName validation as inli…
DeborahOlaboye May 28, 2026
b9bb80a
feat(OfflineStatusBanner): replace raw Tailwind red classes with CSS …
DeborahOlaboye May 28, 2026
64d8eeb
feat(AdminGuard): add offline retry queue for admin verification
DeborahOlaboye May 28, 2026
c88c748
Merge pull request #909 from DeborahOlaboye/feat/admin-accessibility-…
leojay-net May 28, 2026
71aacbf
feat(stellar-contracts): harden get_receipt_by_index boundaries with …
Litezy May 28, 2026
0450820
feat(frontend): theme tokens, themed error border, skeleton gate, rap…
tosin-zoffun May 28, 2026
74e8749
Merge pull request #911 from tosin-zoffun/feat/issues-624-596-593-585
leojay-net May 28, 2026
677634a
Merge pull request #910 from Litezy/feat/rust-doc
leojay-net May 28, 2026
17ea3ca
issue#625-resolved
Rickyy1017 May 28, 2026
a44e6d4
issue#625-resolved
Rickyy1017 May 28, 2026
908648b
fix: Rules of Hooks in TransactionAmountDisplay, ErrorBoundary fallba…
Jaydbrown May 28, 2026
c589e38
Merge pull request #914 from bade22brazy/bade22brazy
leojay-net May 28, 2026
40181eb
feat: implement issues #579, #540, #597, #587
Georgechisom May 28, 2026
ccb7036
Merge pull request #915 from Georgechisom/feat/issues-579-540-597-587
leojay-net May 28, 2026
879ad67
Merge pull request #913 from Rickyy1017/issue#626
leojay-net May 28, 2026
7d5b412
Fix issues #375, #453, #456, #516: Docker compose, skeleton loading, …
Temi-suwa18 May 28, 2026
994e393
Merge pull request #916 from Temi-suwa18/fix/issues-375-453-456-516
leojay-net May 28, 2026
21b44dc
fix(contract): resolve 4 issues — request_withdrawal circuit breaker,…
Skinny001 May 29, 2026
b903a5c
Merge pull request #917 from Skinny001/fix/four-contract-issues
leojay-net May 29, 2026
e851ef9
fix(contract): correct edge case validation in initialize
Samuel1505 May 29, 2026
4a807c2
fix(contract): correct edge case validation in heartbeat (#504)
Samuel1505 May 29, 2026
55a40cd
feat(contract): implement circuit breaker for get_receipt_by_index (#…
Samuel1505 May 29, 2026
d039163
feat(contract): implement admin authentication logic for initialize (…
Samuel1505 May 29, 2026
c366dca
test(contract): add integration tests for issues #504, #511, #600
Samuel1505 May 29, 2026
368243f
docs: update pr.md with changes for issues #504, #511, #600 and init fix
Samuel1505 May 29, 2026
f9cf4ad
Merge branch 'main' into memo
Samuel1505 May 29, 2026
bb98a53
Merge pull request #918 from Samuel1505/memo
leojay-net May 29, 2026
baddaf0
Merge upstream main with conflict resolution
pope-h May 29, 2026
535b431
docs: enhance replay protection and inactivity threshold documentation
pope-h May 29, 2026
1c8f012
Merge pull request #919 from pope-h/fix/issues-494-498-515-548
leojay-net May 29, 2026
b0783cc
work implementation
Josie123-Dev May 29, 2026
6d9a768
Merge pull request #920 from wandooadzer-cmyk/wave-5
leojay-net May 29, 2026
a80e2ce
fix: JSX div structure, auto-scroll, accessible contrast, feature fla…
Chucks1093 May 29, 2026
c2ddb38
Merge pull request #921 from Chucks1093/fix/chat-autoscroll-contrast-…
leojay-net May 29, 2026
b2825a5
fix(contract): harden upgrade validation and add Message E2E coverage
Anthony-19 May 29, 2026
e6dd622
Merge pull request #922 from Anthony-19/anthonyDexChat
leojay-net May 29, 2026
3948769
feat(contract): implement admin authentication logic for set_emergenc…
Mrwicks00 May 30, 2026
0397805
feat(contract): implement event emission schema for withdraw_fees
Mrwicks00 May 30, 2026
3653c3f
Merge pull request #923 from Mrwicks00/feat/574-admin-auth-set-emerge…
leojay-net May 30, 2026
8e89951
Merge pull request #924 from Mrwicks00/feat/576-withdraw-fees-event-s…
leojay-net May 30, 2026
7bb11e3
feat: fix contract validation, deposit safety and admin UI improvements
Depo-dev May 30, 2026
597833e
Merge pull request #925 from Depo-dev/feat/dexchat-contract-ui-securi…
leojay-net May 30, 2026
6975128
fix/feat: resolve race condition, memory leak, add skeleton & error b…
MarvyNwaokobia May 30, 2026
dd2b23b
Merge pull request #926 from MarvyNwaokobia/fix/590-631-633-663-multi…
leojay-net May 30, 2026
d944bb7
docs: enhance inline documentation for daily limit validation and tim…
xeladev4 May 31, 2026
3f8b826
docs: fix error descriptions for daily limit and timelock errors
xeladev4 May 31, 2026
412bf77
docs: update public API reference for daily limit and operator functions
xeladev4 May 31, 2026
84d8acd
docs: add architectural guides for daily deposit limit and admin time…
xeladev4 May 31, 2026
e364ae8
Merge pull request #927 from xeladev4/docs/678-693-improve-documentation
leojay-net May 31, 2026
dfede71
Merge branch 'main' into add-framer-motion-animation
Securify001 May 31, 2026
40c52b8
fix: replace landing page gradients with theme color tokens
markdavid000 Jun 1, 2026
eee0484
feat: address issues #696, #838, #839, and #840 in one release
Nanle-code Jun 1, 2026
0c6073d
the-error-fix
bakarezainab Jun 1, 2026
41b2ae7
feat(frontend): add skeleton loading state to OfflineStatusBanner
markdavid000 Jun 1, 2026
3fa59a4
feat(frontend): add clipboard copy buttons to admin audit log (#834)
dmystical-coder Jun 1, 2026
0a2f0a4
Merge pull request #929 from Nanle-code/feat/issues-696-838-839-840
leojay-net Jun 1, 2026
4417a01
fix(frontend): resolve hydration mismatch from platform detection in …
dmystical-coder Jun 1, 2026
7f44bf2
fix(frontend): render deterministic state-aware border colour in Chat…
dmystical-coder Jun 1, 2026
50b95de
feat(contract): harden daily withdrawal quota validation and emit usa…
dmystical-coder Jun 1, 2026
c6d9321
Merge pull request #931 from dmystical-coder/feat/834-clipboard-copy-…
leojay-net Jun 1, 2026
d5ff5d8
Merge pull request #932 from dmystical-coder/feat/697-daily-limit-val…
leojay-net Jun 1, 2026
4e1bce9
Merge pull request #933 from dmystical-coder/fix/632-chatinput-border…
leojay-net Jun 1, 2026
c52fe26
Merge pull request #934 from dmystical-coder/fix/607-chatinput-hydration
leojay-net Jun 1, 2026
bb49009
Merge pull request #930 from markdavid000/fix/landing-page-theme-colo…
leojay-net Jun 1, 2026
8aad671
feat(frontend): add offline retry queue to AuditTable.tsx
bakarezainab Jun 2, 2026
95139e7
add-offline-retry
bakarezainab Jun 2, 2026
ad7a081
chore: implemented changes across chat history, notificaitions and pr…
zachyo Jun 2, 2026
6c911d7
feat: implement tests for issues #702 #832 #837 #681
Emmy123222 Jun 2, 2026
7537c7e
Merge pull request #937 from Emmy123222/feat/issues-702-832-837-681
leojay-net Jun 2, 2026
8c2164a
test(contract): add Soroban invariant tests for get_receipt_by_index
EbukaMoses Jun 2, 2026
8284fed
test(contract): add Soroban invariant tests for request_withdrawal
EbukaMoses Jun 2, 2026
589c798
feat(contract): implement invariant test for get_accrued_fees
IdokoMarcelina Jun 2, 2026
fbcf750
add Soroban invariant tests
nnennaokoye Jun 2, 2026
9f06e2f
implement timelock role check for execute_batch_admin
DaddyGachi Jun 2, 2026
9d9e4f4
docs: improve inline documentation for fee accrual vault
nonso7 Jun 2, 2026
1706cb9
fix(contract): correct edge case validation in heartbeat maximum cap …
nonso7 Jun 2, 2026
9eb1359
fix: suppress unnecessary_cast clippy warning in set_max_operators
nonso7 Jun 2, 2026
d04b899
Merge pull request #943 from nonso7/docs/580-improve-fee-accrual-vaul…
leojay-net Jun 2, 2026
ed9bfc9
test(contract): add Soroban invariant tests for deposit (#603)
nnennaokoye Jun 3, 2026
63168b5
feat(contract): implement circuit breaker for request_withdrawal
nnennaokoye Jun 3, 2026
686b488
feat(contract): implement circuit breaker for request_withdrawal and …
nnennaokoye Jun 3, 2026
d36e066
implement timelock role check for execute_batch_admin
DaddyGachi Jun 3, 2026
c4eea3e
implement timelock role check for execute_batch_admin
DaddyGachi Jun 4, 2026
806d36d
add telemetry tracking to useTransactionFilters.ts
Lynndabel Jun 4, 2026
861d78b
resolve race condition in useTransactionFilters.ts
Lynndabel Jun 4, 2026
c0cd281
improve inline documentation for migration check
Lynndabel Jun 4, 2026
d33f2ac
improve inline documentation for migration check
Lynndabel Jun 4, 2026
286dfbc
fix: ci error
Lynndabel Jun 4, 2026
77892fe
fixed bug
EbukaMoses Jun 4, 2026
4d1ea50
fix: ci error
Lynndabel Jun 4, 2026
d08405a
Merge origin/main into add_Soroban_invariant_test
EbukaMoses Jun 4, 2026
b34030c
Merge pull request #942 from Lynndabel/timelock
leojay-net Jun 6, 2026
1e5a859
Merge pull request #941 from nnennaokoye/nnennaokoye/Stellar-Dex-Chat
leojay-net Jun 6, 2026
2e23317
Merge pull request #936 from zachyo/fix-675-679-694
leojay-net Jun 6, 2026
5d1dd27
Merge branch 'main' into add-offline-retry
leojay-net Jun 6, 2026
d020a48
Merge pull request #935 from bakarezainab/add-offline-retry
leojay-net Jun 6, 2026
0d86e87
Merge pull request #940 from IdokoMarcelina/feat/get-accrued-fees-inv…
leojay-net Jun 6, 2026
f842981
Merge leojay-net/main into add_Soroban_invariant_test - resolved conf…
EbukaMoses Jun 9, 2026
b3c1fe6
fix: add missing MaxSignersReached error variant and fix imports
EbukaMoses Jun 9, 2026
a6566e7
Update package-lock.json for dependency locking
EbukaMoses Jun 9, 2026
ec72040
fixed bug
EbukaMoses Jun 9, 2026
26b037d
fix: update get_receipt_by_index calls and switch CI to pnpm
EbukaMoses Jun 9, 2026
a7a2178
fix: reorder workflow steps - pnpm setup before Node.js cache
EbukaMoses Jun 9, 2026
b6f91e7
fixed bug
EbukaMoses Jun 9, 2026
32277f6
fix: use try_get_receipt_by_index for error assertions
EbukaMoses Jun 9, 2026
7c2a96f
fix: remove _unreadCount from NotificationsCenter destructuring
EbukaMoses Jun 9, 2026
d6244c5
fix: add add_Soroban_invariant_test branch to workflow triggers
EbukaMoses Jun 9, 2026
50aae07
fix: remove unused eslint-disable directives and fix parsing error
EbukaMoses Jun 9, 2026
1a42604
fix: remove duplicate test functions, fix missing variables, fix irre…
EbukaMoses Jun 9, 2026
3277536
fix: fix missing variables, fix execute_withdrawal arguments, fix irr…
EbukaMoses Jun 11, 2026
0c2b44e
fix: add scrollIntoView mock and fix ThemeProvider wrapper in SplitVi…
EbukaMoses Jun 11, 2026
ed0088b
fix: add scrollIntoView mock, fix ThemeProvider wrapper, add optional…
EbukaMoses Jun 12, 2026
87739c0
fix: add ThemeProvider to ThemeContext mocks in test files
EbukaMoses Jun 12, 2026
7609f50
fix: fix remaining Rust compilation errors
EbukaMoses Jun 12, 2026
b9c7b9e
fix: fix token_client variable naming in test_issue_832.rs
EbukaMoses Jun 12, 2026
0707d9d
fix: remove unused Ledger import in test_issue_702.rs
EbukaMoses Jun 12, 2026
63987db
fix: fix remaining Rust compilation errors
EbukaMoses Jun 12, 2026
a43cbe2
fix: cast executable_after to u64 in UpgradeProposedEvent
EbukaMoses Jun 12, 2026
ae1b9b5
fix: add ThemeProvider mock to frontend test files
EbukaMoses Jun 12, 2026
28d63fd
test(e2e): add comprehensive test coverage and keyboard shortcuts
Jun 12, 2026
4496177
Merge pull request #944 from sshdopey/stellar-features
leojay-net Jun 12, 2026
caee684
Rebrand to Dechat and relocate project into Dechat/ subfolder
leojay-net Jun 14, 2026
1ebe53e
feat(chat): Cmd/Ctrl+K global search toggle, pinned drag-and-drop, an…
Litezy Jun 23, 2026
641798b
Merge origin/main into add_Soroban_invariant_test
EbukaMoses Jun 23, 2026
51f2e84
Update GitHub workflows and package.json for Dechat project structure
EbukaMoses Jun 23, 2026
f185f17
fix(ci): update lint-staged paths for Dechat project layout
EbukaMoses Jun 23, 2026
e354046
refactor: streamline project structure and update paths for consistency
EbukaMoses Jun 23, 2026
21c9ef6
refactor: remove unused invariant checks and streamline test setup
EbukaMoses Jun 23, 2026
9416b35
refactor: update vitest configuration and enhance component tests
EbukaMoses Jun 24, 2026
a50c400
refactor: enhance component test coverage and improve error handling
EbukaMoses Jun 24, 2026
14de31a
fix(frontend): resolve StellarFiatModal loading status type narrowing
EbukaMoses Jun 24, 2026
f112c93
refactor: improve test coverage and streamline component error handling
EbukaMoses Jun 24, 2026
050f87f
refactor: enhance test coverage and improve error handling in components
EbukaMoses Jun 24, 2026
0770d60
fix(frontend): stabilize coverage CI and network queue test teardown
EbukaMoses Jun 24, 2026
1c1be10
fix(frontend): remove invalid coverage.all option from vitest config
EbukaMoses Jun 24, 2026
cc61382
fix(frontend): persist locale to localStorage in TranslationContext
Levi-Ojukwu Jun 24, 2026
3a9fe35
fix(frontend): add language preference selector to UserSettings
Levi-Ojukwu Jun 24, 2026
534dda1
fix(frontend): show EmptyState when both comparison panes are empty
Levi-Ojukwu Jun 24, 2026
0d5e14e
fix(frontend): truncate long transaction hashes with ellipsis and hov…
Levi-Ojukwu Jun 24, 2026
89505cd
fix(frontend): enforce 7 decimal places for small XLM amounts
Levi-Ojukwu Jun 24, 2026
c8d1f13
fix(ci): add path filter to contract-tests workflow to skip when stel…
Levi-Ojukwu Jun 24, 2026
b39fe29
fix(ci): guard contract test steps against missing stellar-contracts …
Levi-Ojukwu Jun 24, 2026
90708b1
fix(frontend): handle wallet disconnect mid-transfer in WalletConnect…
presidojay1 Jun 24, 2026
36b9d1d
fix(frontend): invalidate stale fee estimate on network switch in CCI…
presidojay1 Jun 24, 2026
495075c
fix(frontend): add client-side IBAN format validation to BankDetailsM…
presidojay1 Jun 24, 2026
26fe818
fix(frontend): preserve pagination page when sorting columns in Audit…
presidojay1 Jun 24, 2026
d4cac90
fix(ci): ensure contract-tests always passes when stellar-contracts i…
Levi-Ojukwu Jun 24, 2026
ed4485d
fix(frontend): reset search state on ChatSearchPanel close (#947)
presidojay1 Jun 24, 2026
d8d3db6
fix(frontend): apply sliding window to conversation history in aiAssi…
presidojay1 Jun 24, 2026
81a13d5
feat(frontend): add French and Spanish i18n locales with browser auto…
presidojay1 Jun 24, 2026
3d21c80
fix(contracts): enforce 48-hour timelock on admin transfer (#970)
presidojay1 Jun 24, 2026
b82747d
Merge pull request #1046 from Ojukwu-Chinedu/main
leojay-net Jun 24, 2026
b739272
Merge pull request #1047 from presidojay1/fix/issues-945-952-953-954
leojay-net Jun 24, 2026
99ebb82
Merge branch 'main' into fix/issues-947-970-991-999
leojay-net Jun 24, 2026
e28f1ac
Merge pull request #1048 from presidojay1/fix/issues-947-970-991-999
leojay-net Jun 24, 2026
745fa40
refactor: enhance test stability and coverage in CI
EbukaMoses Jun 24, 2026
3fdb88f
refactor: improve test stability and coverage in CI
EbukaMoses Jun 24, 2026
9fee89e
refactor: enhance CI test stability and coverage settings
EbukaMoses Jun 24, 2026
80a566d
refactor: update test coverage configuration and CI workflow
EbukaMoses Jun 24, 2026
4cf52d2
fix(ci): shard coverage runs to prevent vitest worker OOM
EbukaMoses Jun 24, 2026
ab36925
Merge branch 'main' into add_Soroban_invariant_test
EbukaMoses Jun 24, 2026
8386e94
fix: resolve contract CI compile errors and locale TypeScript failures
EbukaMoses Jun 24, 2026
32973b7
fix(frontend): clear lint errors in TranslationContext and BankDetail…
EbukaMoses Jun 24, 2026
af4be40
Fix CI coverage OOM by applying vitest sharding in package scripts.
EbukaMoses Jun 24, 2026
d350abd
Merge pull request #1045 from Litezy/feat/virtualize-chat-history-sid…
leojay-net Jun 25, 2026
20e2273
Merge branch 'main' into add_Soroban_invariant_test
leojay-net Jun 25, 2026
64382b4
Merge pull request #939 from EbukaMoses/add_Soroban_invariant_test
leojay-net Jun 25, 2026
cd55972
fixed: all issues
Rickyy1017 Jun 25, 2026
ca42f8b
resolve merge conflicts with main
Rickyy1017 Jun 25, 2026
ce19ec8
Merge pull request #1049 from rikkk-j/issue#963#964#973#966
leojay-net Jun 25, 2026
167c798
feat: CI workflows, devcontainer, and contract rustdoc (#981, #983, #…
benfoster-dev Jun 25, 2026
4e4074e
Merge pull request #1050 from benfoster-dev/feat/issues-981-983-1000-…
leojay-net Jun 25, 2026
b7a60c7
feat(frontend): accessibility, reduced-motion, empty-state, error mon…
CelestinaBeing Jun 26, 2026
8d08745
feat: rate limiting, version guard, deep-link, and integration tests
kulayddon Jun 26, 2026
e0a50d8
Merge pull request #1051 from CelestinaBeing/feat/issues-986-987-988-…
leojay-net Jun 26, 2026
98a9afa
Merge pull request #1052 from kulayddon/feat/issue-994-996-1002-1003-…
leojay-net Jun 26, 2026
e38976a
fix(contract): math.rs integer overflow in fee calculation for large …
Rickyy1017 Jun 26, 2026
16b2f6b
Merge branch 'main' into issue#966
rikkk-j Jun 26, 2026
7813a5b
Merge pull request #1053 from rikkk-j/issue#966
leojay-net Jun 26, 2026
ffe2f65
fix(frontend): prevent state updates after unmount in useBridgeStats
Samuel1505 Jun 26, 2026
5f5e20b
fix(frontend): debounce search in useChatHistory to prevent per-keyst…
Samuel1505 Jun 26, 2026
1dbad08
fix(frontend): add exponential backoff reconnect and stale-data indic…
Samuel1505 Jun 26, 2026
2af8357
feat(frontend): add CSV export button to AuditTable
Samuel1505 Jun 26, 2026
8f5e6c0
chore: add PR description for issues #962, #956, #949, #961
Samuel1505 Jun 26, 2026
8c68a5b
done
Samuel1505 Jun 26, 2026
efc6147
Merge pull request #1055 from Samuel1505/memo
leojay-net Jun 26, 2026
569f550
fix(dechat): resolved all issues in one: #975, #977, #969
Levi-Ojukwu Jun 26, 2026
fe285c0
fix(#1031,#1009,#1040,#1013): fee accrual view, batch deposit, JSDoc …
olywales-stack Jun 26, 2026
853edce
Merge pull request #1056 from olywales-stack/fix/1031-1009-1040-1013-…
leojay-net Jun 26, 2026
6935b0c
feat: implement swipe-to-dismiss, toast viewport cap, high-contrast b…
DeborahOlaboye Jun 26, 2026
fc3028e
Merge pull request #1058 from DeborahOlaboye/any/gesture-queue-highco…
leojay-net Jun 26, 2026
274c29a
fix: resolved admin reconciiation
Levi-Ojukwu Jun 26, 2026
053ab02
feat(frontend): add confirmation dialog with typed-confirm for Clear …
dev-markdavid Jun 26, 2026
ed005fe
Merge branch 'main' into issues-984-989-995-1008
dev-markdavid Jun 26, 2026
beaa87c
docs: add CONTRIBUTING.md with branch naming, PR, and commit message …
dev-markdavid Jun 26, 2026
832df4e
fix(dechat): resolved all issues to match task description #965, #959…
Levi-Ojukwu Jun 26, 2026
a465db5
Merge pull request #1059 from SweetBoy-eth/main
leojay-net Jun 26, 2026
fc1ab15
Merge pull request #1057 from TheCodingChef-eth/main
leojay-net Jun 26, 2026
6b011b5
feat(frontend): persist offline message queue to IndexedDB and show p…
dev-markdavid Jun 26, 2026
eef4c18
fix(frontend): NotificationsCenter badge reads unread count from stor…
dev-markdavid Jun 26, 2026
e15309a
Merge pull request #1060 from dev-markdavid/issues-984-989-995-1008
leojay-net Jun 26, 2026
a976fd4
fix(contract): add pause finalization guard, fee monotonicity tests, …
Levi-Ojukwu Jun 27, 2026
39a9065
Merge pull request #1061 from Levi-Ojukwu/main
leojay-net Jun 27, 2026
aa40e1f
test(frontend): cover idempotent action deduplication
Anthony-19 Jun 27, 2026
44ba6e9
Merge pull request #1063 from Anthony-19/anthony_dexChat
leojay-net Jun 27, 2026
ea7d25c
feat: telemetry motion, dark-mode chip fallback, debounced dispatch, …
davidmaronio Jun 27, 2026
d12c57a
Merge pull request #1064 from davidmaronio/feat/issues-572-588-671-674
leojay-net Jun 27, 2026
e4b894a
fix(contract): reject zero address in set_emergency_recovery #1026
xeladev4 Jun 27, 2026
510b0d5
fix(contract): validate token implements SEP-41 interface in init #1037
xeladev4 Jun 27, 2026
013f7c8
fix(contract): validate withdrawal amount against user deposit #1017
xeladev4 Jun 27, 2026
8a9f755
feat(contract): return 0 from get_total_deposited on empty state #1023
xeladev4 Jun 27, 2026
808fd80
test(contract): add regression tests for #1017 #1023 #1026 #1037
xeladev4 Jun 27, 2026
0eaa5e4
Merge pull request #1065 from xeladev4/xeladev4/fix/issues-1017-1023-…
leojay-net Jun 27, 2026
31cb626
feat(frontend): add transaction status polling with SSE fallback in u…
libby-coder Jun 28, 2026
a61fc87
Merge pull request #1066 from libby-coder/feat/1012-sse-transaction-s…
leojay-net Jun 28, 2026
0e8c3df
feat(frontend): export stellarAddressSchema from AdminGuard and fix t…
emdevelopa Jun 28, 2026
b6ee96b
feat(contract): implement overflow prevention for is_denied
emdevelopa Jun 28, 2026
e8f1f5f
feat(contract): implement circuit breaker event for get_receipt_by_index
emdevelopa Jun 28, 2026
d19217a
fix(contract): correct edge case validation in withdraw_fees
emdevelopa Jun 28, 2026
a321475
Merge upstream/main and resolve conflicts
emwulrd Jun 28, 2026
9e0cfe1
feat(frontend): add ARIA live-regions and complete hook test coverage
emwulrd Jul 30, 2026
48c80a0
upstream/main snapshot 20260730
emdevelopa Jul 30, 2026
ea12fd7
Merge upstream leojay-net/Stellar-Dex-Chat main — keep our branch wor…
emwulrd Jul 30, 2026
e61e163
Merge emwulrd/main into feat/issues-706-707-710-713 — resolve PR conf…
emwulrd Jul 30, 2026
2c05fa7
chore: restore local vscode settings and pr.md after merge
emwulrd Jul 30, 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
128 changes: 128 additions & 0 deletions .github/workflows/auto-merge.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,132 @@
name: Auto-Merge PRs

<<<<<<< HEAD
# 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}`);
=======
# Merges open PRs once every check that ran for their head commit has gone green.
#
# Why `workflow_run` and not `check_suite`:
Expand Down Expand Up @@ -170,5 +297,6 @@ jobs:
// 405 = not mergeable right now, 409 = head moved. Both are
// transient; the next sweep retries.
core.warning(`#${number}: merge failed (${err.status}): ${err.message}`);
>>>>>>> emwulrd/main
}
}
15 changes: 15 additions & 0 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,20 @@ jobs:

steps:
- name: Checkout repository
<<<<<<< HEAD
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
=======
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
fetch-depth: 0
Expand Down Expand Up @@ -47,6 +61,7 @@ jobs:

- name: Commit and push CHANGELOG.md
uses: stefanzweifel/git-auto-commit-action@b863ae1933cb653a53c021fe36dbb774e1fb9403 # v5
>>>>>>> emwulrd/main
with:
file_pattern: CHANGELOG.md
commit_message: "chore(changelog): update changelog [skip ci]"
Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/contract-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,29 @@ jobs:

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

- name: Install Rust stable toolchain
uses: dtolnay/rust-toolchain@stable
with:
=======
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4

- name: Install Rust stable toolchain
uses: dtolnay/rust-toolchain@2c7215f132e9ebf062739d9130488b56d53c060c # stable
with:
toolchain: stable
>>>>>>> emwulrd/main
components: clippy
targets: wasm32-unknown-unknown

- name: Cache Cargo dependencies
<<<<<<< HEAD
uses: Swatinem/rust-cache@v2
=======
uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2
>>>>>>> emwulrd/main
with:
workspaces: Dechat/stellar-contracts -> target

Expand Down
25 changes: 25 additions & 0 deletions .github/workflows/contracts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ on:
permissions:
contents: read

<<<<<<< HEAD
=======
env:
# Regression guard for the deployed contract only. Raised from the
# previous 55000: that limit was never actually enforced (the old
Expand All @@ -23,6 +25,7 @@ env:
# workflow level so the size-report job below stays in sync with it.
MAX_WASM_BYTES: "98500"

>>>>>>> emwulrd/main
jobs:
test:
name: Test & Build
Expand All @@ -34,6 +37,12 @@ jobs:

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

- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
=======
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
fetch-depth: 0
Expand All @@ -54,13 +63,18 @@ jobs:

- name: Set up Rust
uses: dtolnay/rust-toolchain@2c7215f132e9ebf062739d9130488b56d53c060c # stable
>>>>>>> emwulrd/main
with:
toolchain: stable
components: clippy
targets: wasm32-unknown-unknown

- name: Cache Cargo registry
<<<<<<< HEAD
uses: actions/cache@v4
=======
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
>>>>>>> emwulrd/main
with:
path: |
~/.cargo/registry
Expand All @@ -78,6 +92,13 @@ jobs:

- name: Check WASM size
run: |
<<<<<<< HEAD
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"
=======
set -euo pipefail
ARTIFACT=target/wasm32-unknown-unknown/release/stellar_contracts.wasm

Expand All @@ -94,11 +115,14 @@ jobs:

if [ "$SIZE" -gt "$MAX_WASM_BYTES" ]; then
echo "Error: WASM size $SIZE bytes exceeds ${MAX_WASM_BYTES} byte limit"
>>>>>>> emwulrd/main
exit 1
fi

- name: Run clippy (deny warnings)
run: cargo clippy --all-targets --all-features -- -D warnings
<<<<<<< HEAD
=======

deny:
name: License & Advisory Check
Expand Down Expand Up @@ -200,3 +224,4 @@ jobs:
name: wasm-size-report
path: wasm-size-report.json
retention-days: 7
>>>>>>> emwulrd/main
19 changes: 19 additions & 0 deletions .github/workflows/deploy-futurenet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,17 @@ jobs:

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

- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
=======
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4

- name: Set up Rust
uses: dtolnay/rust-toolchain@2c7215f132e9ebf062739d9130488b56d53c060c # stable
>>>>>>> emwulrd/main
with:
toolchain: stable
targets: wasm32-unknown-unknown
Expand All @@ -38,7 +45,11 @@ jobs:
soroban --version

- name: Cache Cargo registry
<<<<<<< HEAD
uses: actions/cache@v4
=======
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
>>>>>>> emwulrd/main
with:
path: |
~/.cargo/registry
Expand Down Expand Up @@ -68,15 +79,23 @@ jobs:

- name: Upload contract ID artifact
if: success()
<<<<<<< HEAD
uses: actions/upload-artifact@v4
=======
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
>>>>>>> emwulrd/main
with:
name: contract-deployment-${{ github.sha }}
path: Dechat/stellar-contracts/contract_id_futurenet.txt
retention-days: 90

- name: Create deployment status
if: always()
<<<<<<< HEAD
uses: actions/github-script@v7
=======
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
>>>>>>> emwulrd/main
with:
script: |
const status = '${{ job.status }}' === 'success' ? 'success' : 'failure';
Expand Down
Loading
Loading