Commit graph

34 commits

Author SHA1 Message Date
binarybaron
167e031172
feat(gui): Allow discovery of sellers via connecting to rendezvous point (#83)
We,
- add a new list_sellers Tauri IPC command
- we rename the Seller struct to AliceAddress to name clash
2024-09-19 00:40:51 +02:00
Einliterflasche
9d1151c3d3
feat(cli, gui, tauri): Emit events on Monero transaction confirmation update and redeem transaction publication (#57)
We now,
- emit a Tauri event when the Monero lock transaction receives a new confirmation
- emit a Tauri event with a list of transaction hashes once we have published the Monero redeem transaction 
- gui: display the confirmations and txids

This PR closes #12.
2024-09-18 17:53:13 +02:00
binarybaron
b95b178dd8
refactor(gui): Make WithdrawDialog logic explicit 2024-09-09 21:47:52 +02:00
binarybaron
453c842d37
fix(gui): Padding between input fields and alerts on InitPage 2024-09-09 21:47:20 +02:00
binarybaron
5e87be8a8b
feat(gui): Dedicated react component for truncating swap ids, peer ids, ... 2024-09-09 21:46:48 +02:00
binarybaron
c486ca5de9
feat(gui): Display logs of specific swap on press of button on history page 2024-09-09 21:31:54 +02:00
binarybaron
063f9dbf9b
feat(gui, swap): allow change-address to be omitted and default to internal wallet (#68)
This PR:
- allows --change-address to be omitted and default to internal wallet address (https://github.com/comit-network/xmr-btc-swap/pull/1709). This is a change that is merged from upstream into our fork
- adds the necessary components for the tauri integration and the ui components to allow toggling between internal vs external refund address

Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
Co-authored-by: Einliterflasche <81313171+Einliterflasche@users.noreply.github.com>
Co-authored-by: Byron Hambly <byron@hambly.dev>
2024-09-09 19:47:15 +02:00
binarybaron
125dc8c6ef
ci: build frontend in dev mode 2024-09-08 19:24:54 +02:00
binarybaron
ba4a9bd9c6
feat(gui): Only display alert on history page if funds have been locked (#66) 2024-09-06 23:55:36 +02:00
binarybaron
2a339231b1
ci: create gui preview release on push to master (#65)
- Adds a Github action file that build the binaries
- Run yarn build command before tauri build is started
- Disable tauri config csp rules
2024-09-06 23:29:16 +02:00
binarybaron
177e3e9949
feat(gui): Add button to display monero redeem recovery keys (#64) 2024-09-06 14:23:36 +02:00
Einliterflasche
ff2e3ae8dd
feat(gui): open links in default browser (#50) 2024-09-04 17:11:06 +02:00
binarybaron
e4141c763b
feat(tauri): Initialize Context in background (#59)
This PR does the following:
- The Context (including Bitcoin wallet, Monero wallet, ...) is initialized in the background. This allows the window to be displayed instantly upon startup.
- Host sends events to Guest about progress of Context initialization. Those events are used to display an alert in the navigation bar.
- If a Tauri command is invoked which requires the Context to be available, an error will be returned
- As soon as the Context becomes available the `Guest` requests the history and Bitcoin balance
- Re-enables Material UI animations
2024-09-03 12:28:30 +02:00
Einliterflasche
1fe6391b7b
ci: auto generate typescript bindings (#56)
This PR 
 - removes `tauriModel.ts` from git and instead
 - generates `tauriModel.ts` everytime `vite` starts or `vite` detects a change in `swap/src/`
 
To do that I have introduced the `gen-bindings` and `check-bindings` commands as well as improved documentation. Following this PR, the Typescript bindings to our Tauri commands will be automatically re-generated upon the instant a source file is changed! 

This closes #49
2024-08-31 11:41:33 +02:00
Einliterflasche
ff1ded55ba
feat(gui): Clickable addresses to copy to clipboard (#38) 2024-08-29 14:28:23 +02:00
binarybaron
b8c8a566b3
refactor(gui): Put tauri event listener registeres in dedicated function 2024-08-29 13:57:47 +02:00
binarybaron
05a661872b
chore(gui): Add .vite folder to gitignore 2024-08-29 13:57:25 +02:00
binarybaron
d913206062
feat(gui): Preserve global state across page reloads (#48) 2024-08-29 13:38:11 +02:00
binarybaron
ca25e0454f fix(tauri, gui): Allow Tauri command to be called with empty arguments
- Allow Tauri command to be called with empty arguments
- Add struct for GetSwapInfosAllArgs
2024-08-27 22:34:21 +02:00
binarybaron
de1f77bf80 fix(tauri_bindings): Emit swap id with WaitingForBtcDeposit event 2024-08-27 22:34:21 +02:00
binarybaron
cf641bc8bb
feat(gui): Migrate to Tauri events
- Replace Electron IPC with Tauri invoke() for API calls
- Implement TauriSwapProgressEvent for state management
- Remove IpcInvokeButton, replace with PromiseInvokeButton
- Update models: new tauriModel.ts, refactor rpcModel.ts
- Simplify SwapSlice state, remove processRunning flag
- Refactor SwapStatePage to use TauriSwapProgressEvent
- Update HistoryRow and HistoryRowActions for new data structures
- Remove unused Electron-specific components (e.g., RpcStatusAlert)
- Update dependencies: React 18, Material-UI v4 to v5
- Implement typeshare for Rust/TypeScript type synchronization
- Add BobStateName enum for more precise swap state tracking
- Refactor utility functions for Tauri compatibility
- Remove JSONStream and other Electron-specific dependencies
2024-08-26 15:32:28 +02:00
binarybaron
9b0023174b
feat(gui): Add typeshare definitions 2024-08-26 15:23:46 +02:00
binarybaron
fea1e66c64
chore(gui): Upgrade @tauri-apps/api and add eslint 2024-08-26 15:04:22 +02:00
binarybaron
956a26d181
refactor(gui): Reorganize imports 2024-08-26 15:02:26 +02:00
binarybaron
acdb0231b5
chore: Remove unused dependencies 2024-08-10 12:53:16 +02:00
binarybaron
191a25f941
fix: Make spinner on PromiseInvokeButton same size as icon 2024-08-10 12:52:53 +02:00
binarybaron
116d9c0f4f
fix: Prevent overscroll bounce 2024-08-09 20:27:47 +02:00
binarybaron
3d16ff6d5c
wip: WithdrawDialog migrated to Tauri IPC 2024-08-09 19:46:58 +02:00
binarybaron
47821cbe79
wip: WithdrawDialog migrated to Tauri IPC 2024-08-09 19:03:28 +02:00
binarybaron
630f4c6f23
chore: Add description to Cargo.toml for GUI 2024-08-09 15:26:26 +02:00
binarybaron
693f4297c5
wip: remove Request for object and call functions like buy_xmr directly 2024-08-09 01:30:45 +02:00
binarybaron
4f336e98a1
chore: Refactor tauri commands 2024-08-08 12:28:33 +02:00
binarybaron
2e1b6f6b43
feat: swap history tauri connector 2024-08-08 12:02:59 +02:00
binarybaron
709a2820c4
feat: cargo project at root 2024-08-08 00:49:04 +02:00