refactor(swap, tauri_bindings): Overhaul API architecture and introduce Tauri events

- Implement trait-based request handling in api/request.rs
- Add Tauri bindings and event system in api/tauri_bindings.rs
- Refactor CLI command parsing and execution in cli/command.rs
- Update RPC methods to use new request handling approach
- Emit Tauri events in swap/src/protocol/bob/swap.rs
- Add typescript type bindings use typeshare crate
This commit is contained in:
binarybaron 2024-08-26 15:18:11 +02:00
parent fea1e66c64
commit 4939d63524
No known key found for this signature in database
GPG key ID: 99B75D3E1476A26E
14 changed files with 796 additions and 329 deletions

View file

@ -15,7 +15,7 @@ mod test {
use std::net::SocketAddr;
use std::sync::Arc;
use std::time::Duration;
use swap::api::request::{Method, Request};
use swap::api::request::{start_daemon, StartDaemonArgs};
use swap::api::Context;
use crate::harness::alice_run_until::is_xmr_lock_transaction_sent;
@ -39,18 +39,14 @@ mod test {
harness_ctx: TestContext,
) -> (Client, MakeCapturingWriter, Arc<Context>) {
let writer = capture_logs(LevelFilter::DEBUG);
let server_address: SocketAddr = SERVER_ADDRESS.parse().unwrap();
let request = Request::new(Method::StartDaemon {
server_address: Some(server_address),
});
let server_address: Option<SocketAddr> = SERVER_ADDRESS.parse().unwrap().into();
let context = Arc::new(harness_ctx.get_bob_context().await);
let context_clone = context.clone();
tokio::spawn(async move {
if let Err(err) = request.call(context_clone).await {
if let Err(err) = start_daemon(StartDaemonArgs { server_address }, context).await {
println!("Failed to initialize daemon for testing: {}", err);
}
});