wallet: expose validator urls to the frontent

This commit is contained in:
Jon Häggblad
2022-03-30 11:51:41 +02:00
parent c85b0ad07d
commit 394f0d30bf
3 changed files with 38 additions and 0 deletions
+2
View File
@@ -42,6 +42,8 @@ fn main() {
mixnet::account::create_password,
mixnet::account::does_password_file_exist,
mixnet::account::get_balance,
mixnet::account::get_validator_nymd_urls,
mixnet::account::get_validator_api_urls,
mixnet::account::logout,
mixnet::account::sign_in_with_password,
mixnet::account::switch_network,
@@ -60,6 +60,13 @@ pub struct Balance {
printable_balance: String,
}
#[cfg_attr(test, derive(ts_rs::TS))]
#[cfg_attr(test, ts(export, export_to = "../src/types/rust/validatorurls.ts"))]
#[derive(Serialize, Deserialize)]
pub struct ValidatorUrls {
urls: Vec<String>,
}
#[tauri::command]
pub async fn connect_with_mnemonic(
mnemonic: String,
@@ -157,6 +164,32 @@ pub async fn update_validator_urls(
Ok(())
}
#[tauri::command]
pub async fn get_validator_nymd_urls(
network: WalletNetwork,
state: tauri::State<'_, Arc<RwLock<State>>>,
) -> Result<ValidatorUrls, BackendError> {
let config = state.read().await.config();
let urls: Vec<String> = config
.get_nymd_urls(network)
.map(|url| url.to_string())
.collect();
Ok(ValidatorUrls { urls })
}
#[tauri::command]
pub async fn get_validator_api_urls(
network: WalletNetwork,
state: tauri::State<'_, Arc<RwLock<State>>>,
) -> Result<ValidatorUrls, BackendError> {
let config = state.read().await.config();
let urls: Vec<String> = config
.get_api_urls(network)
.map(|url| url.to_string())
.collect();
Ok(ValidatorUrls { urls })
}
async fn _connect_with_mnemonic(
mnemonic: Mnemonic,
state: tauri::State<'_, Arc<RwLock<State>>>,
@@ -0,0 +1,3 @@
export interface ValidatorUrls {
urls: Array<string>;
}