Bitcoin–Monero Cross-chain Atomic Swap
Find a file
binarybaron 253e0b0cf6
feat(gui, tauri): Save settings in Tauri storage (#102)
- Implemented dual persistence strategy:
  - **User Settings**: Persisted across app restarts using `tauri-plugin-store`.
  - **Transient State**: Persisted across page reloads using `sessionStorage`.
- Added `settingsSlice` reducer for managing persistent user settings.
- Updated Redux store configuration to handle multiple persistence layers.
- Added a new Settings page in the GUI where users can specify custom Electrum RPC URLs for Bitcoin and Monero node URLs.
  - Users can input their preferred Electrum server (`ssl://host:port`) and Monero daemon (`http://host:port`).
  - Input fields include validation to ensure correct URL formats.
  - Settings persist across application restarts using Tauri's storage plugin.
  - A reset option is available to revert to default settings.
- Improved the Daemon Controller in the Help page:
  - Renamed `RpcControlBox` to `DaemonControlBox` for clarity.
  - Users can now start the daemon manually if it isn't running or has failed.
  - Added a "Restart GUI" button to apply new settings immediately.
  - Displayed the daemon's status within the controller.
- Upgraded Tauri and related plugins to stable version `2.0.0`:
  - Updated `tauri`, `tauri-build`, and `tauri-utils` to `2.0.0`.
  - Ensured compatibility with the latest stable release.
- Updated Tauri plugins to version `2.0.0`:
  - `tauri-plugin-clipboard-manager`
  - `tauri-plugin-shell`
  - Added new plugins:
    - `tauri-plugin-store` for settings persistence.
    - `tauri-plugin-process` to enable application relaunch.
- Deferred Context initialization until explicitly triggered from the frontend.
  - Moved Context setup from the `setup` function to a new `initialize_context` Tauri command.
  - Allows the application to start without immediately initializing the backend context.
  - Context initialization now considers user-provided settings for Electrum and Monero nodes.
- Introduced a `ValidatedTextField` component for form inputs with validation logic.
  - Provides immediate feedback on input validity.
  - Used in the Settings page for Electrum and Monero node URLs.
- If the user provides an override Monero remote daemon, we check if it reachable and on the correct network before starting the `monero-wallet-rpc`
- Changed `bitcoin_confirmation_target` type from `usize` to `u16`.
2024-10-08 12:57:01 +02:00
.cargo feat(asb + cli): Redact logs + unify tracing infrastructure (#1733) (#55) 2024-09-01 18:13:43 +02:00
.github feat(gui, tauri): Save settings in Tauri storage (#102) 2024-10-08 12:57:01 +02:00
docs feat(gui, tauri): Save settings in Tauri storage (#102) 2024-10-08 12:57:01 +02:00
monero-harness chore(monero, monero_harness): bump tracing-subscriber to 0.3 2024-08-28 12:18:58 +02:00
monero-rpc feat: cargo project at root 2024-08-08 00:49:04 +02:00
monero-wallet chore(monero, monero_harness): bump tracing-subscriber to 0.3 2024-08-28 12:18:58 +02:00
src-gui feat(gui, tauri): Save settings in Tauri storage (#102) 2024-10-08 12:57:01 +02:00
src-tauri feat(gui, tauri): Save settings in Tauri storage (#102) 2024-10-08 12:57:01 +02:00
swap feat(gui, tauri): Save settings in Tauri storage (#102) 2024-10-08 12:57:01 +02:00
utils/gpg_keys feat: cargo project at root 2024-08-08 00:49:04 +02:00
.gitignore feat: cargo project at root 2024-08-08 00:49:04 +02:00
Cargo.lock feat(gui, tauri): Save settings in Tauri storage (#102) 2024-10-08 12:57:01 +02:00
Cargo.toml feat: cargo project at root 2024-08-08 00:49:04 +02:00
CHANGELOG.md fix(asb): Allow history command to be run while asb is running (#82) 2024-09-17 17:32:21 +02:00
CONTRIBUTING.md feat: cargo project at root 2024-08-08 00:49:04 +02:00
Dockerfile fix(Dockerfile): Update image to 1.79 rust and build from /swap directory 2024-09-09 22:40:27 +02:00
dprint.json chore: Add prettier plugin to dprint config 2024-08-26 15:03:03 +02:00
LICENSE feat: cargo project at root 2024-08-08 00:49:04 +02:00
README.md docs: Add matrix room to README.md 2024-09-27 13:08:46 +02:00
rust-toolchain.toml chore: downgrade rust toolchain to 1.79 2024-08-27 18:07:49 +02:00

xmr-btc-swap

This is the monorepo containing the source code for all of our core projects:

  • swap contains the source code for the main swapping binaries, asb and swap
  • gui contains the new tauri based user interface
  • tauri contains the tauri bindings between binaries and user interface
  • and other crates we use in our binaries

If you're just here for the software, head over to the releases tab and grab the binary for your operating system! If you're just looking for documentation, check out our docs page or our github docs.

Join our Matrix room to follow development more closely.