mirror of
https://github.com/comit-network/xmr-btc-swap.git
synced 2025-06-03 06:01:57 -04:00
![]() Previously we used the data we fetched via the rpc (`GetSwapInfo` call, saved in redux in `rpc.swapInfos`) to decide what to display in the state stepper to the user. The state stepper is displayed at the bottom of the `SwapDialog`. However, we are moving away from our depedence on periodic rpc calls and towards relying more and more on the events we receive from the Host (from Tauri). Our goal is to rely solely on the Tauri events for everything displayed about the currently running swap. This PR includes the following changes: - refactor the `SwapStateStepper` such that it relies only on the Tauri events - emit two new Tauri events (`EncryptedSignatureSent`, `CancelTimelockExpired`) in the state machine - correctly emit `BtcRefunded` Tauri event after Bitcoin refund transaction is published - differentiate between `"Waiting for them to redeem the Bitcoin"` and `"Revealing encrypted signature to the other party"` on the `SwapStatePage` (content displayed in the center of the `SwapDialog`) |
||
---|---|---|
.. | ||
public | ||
src | ||
.gitignore | ||
eslint.config.js | ||
index.html | ||
package.json | ||
README.md | ||
tsconfig.json | ||
tsconfig.node.json | ||
vite.config.ts | ||
yarn.lock |
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
# 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