feat(gui, tauri): Accept --testnet flag, default to mainnet (#106)

This PR tackles #92 

- Add the `tauri-plugin-cli` (only on desktop)
- Check in the frontend if the `--testnet` flag is set. If it's set we pass `testnet=true` to the `initialize_context` command on invokation
- We add the `vite-plugin-top-level-await` to allow top level await in all browsers
- Remove the `bitcoin_confirmation_target` from settings for simplicity
This commit is contained in:
binarybaron 2024-10-10 18:51:56 +06:00 committed by GitHub
parent 9e94dca7aa
commit 83f831ccac
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 311 additions and 53 deletions

View file

@ -283,17 +283,27 @@ impl Database for SqliteDatabase {
let result = rows
.iter()
.map(|row| {
let swap_id = Uuid::from_str(&row.swap_id)?;
.filter_map(|row| {
let swap_id = match Uuid::from_str(&row.swap_id) {
Ok(id) => id,
Err(e) => {
tracing::error!(swap_id = %row.swap_id, error = ?e, "Failed to parse UUID");
return None;
}
};
let state = match serde_json::from_str::<Swap>(&row.state) {
Ok(a) => Ok(State::from(a)),
Err(e) => Err(e),
}?;
Ok((swap_id, state))
})
.collect::<Result<Vec<(Uuid, State)>>>();
Ok(a) => State::from(a),
Err(e) => {
tracing::error!(swap_id = %swap_id, error = ?e, "Failed to deserialize state");
return None;
}
};
result
Some((swap_id, state))
})
.collect::<Vec<(Uuid, State)>>();
Ok(result)
}
async fn get_states(&self, swap_id: Uuid) -> Result<Vec<State>> {