mirror of
https://github.com/comit-network/xmr-btc-swap.git
synced 2025-04-27 11:19:18 -04:00

This PR applies all remaining changes from https://github.com/UnstoppableSwap/unstoppableswap-gui/pull/210 - Added checkbox option to attach daemon logs when submitting feedback - Added "Outdated" chip with warning icon for providers running outdated asb versions - Updated `BitcoinPunishedPage` to display different messages for BtcPunished and CooperativeRedeemRejected states (including reason for failed cooperative redeem) - Added "Attempt recovery" button for swaps in BtcPunished state - Modified `getBitcoinTxExplorerUrl` to use mempool.space instead of blockchair.com - Added `useResumeableSwapsCountExcludingPunished` hook to count resumable swaps excluding punished ones, use it for the badge and alert - Updated `sortProviderList` function to filter out incompatible providers before sorting - Added `TauriSwapProgressEventExt` type to extract specific event types from TauriSwapProgressEvent
Recommended IDE Setup
Requirements
- For compiling the Rust code:
cargo
andcargo tauri
(installation) - For running the Typescript code:
node
andyarn
- For formatting and bindings:
dprint
(cargo install dprint@0.39.1
) andtypeshare
(cargo install typeshare-cli
) - If you are on Windows and you want to use the
check-bindings
command you'll need to manually install the GNU DiffUtils (installation) and GNU CoreUtils (installtion). Remember to add the installation path (probablyC:\Program Files (x86)\GnuWin32\bin
) to thePATH
in your enviroment variables.
Start development servers
For development, we need to run both vite
and tauri
servers:
cd src-gui
yarn install && yarn run dev
# let this run
cd src-tauri
cargo tauri dev --no-watch -- -- --testnet
# let this run as well
Generate bindings for Tauri API
Running yarn run dev
or yarn build
should automatically re-build the Typescript bindings whenever something changes. You can also manually trigger this using the gen-bindings
command:
yarn run gen-bindings
You can also check whether the current bindings are up to date:
yarn run check-bindings