diff --git a/MPW b/MPW index 202370e..7e6cdfd 160000 --- a/MPW +++ b/MPW @@ -1 +1 @@ -Subproject commit 202370ed7ed21915e749ce761237d1ce41269778 +Subproject commit 7e6cdfd7d2fb4ea54c74ac7add79cc7be9ea587a diff --git a/src-tauri/src/explorer/mod.rs b/src-tauri/src/explorer/mod.rs index d794340..227ebb5 100644 --- a/src-tauri/src/explorer/mod.rs +++ b/src-tauri/src/explorer/mod.rs @@ -24,6 +24,12 @@ where pivx_rpc: PIVXRpc, } +#[derive(Deserialize)] +struct ChainInfo { + verificationprogress: f64, + initial_block_downloading: bool, +} + type DefaultExplorer = Explorer; impl Explorer @@ -203,4 +209,20 @@ where .set_block_source(block_file_source); Ok(()) } + + pub async fn is_initial_sync(&self) -> crate::error::Result { + let chain_info: ChainInfo = self + .pivx_rpc + .call("getblockchaininfo", rpc_params![]) + .await?; + Ok(chain_info.initial_block_downloading) + } + + pub async fn get_sync_progress(&self) -> crate::error::Result { + let chain_info: ChainInfo = self + .pivx_rpc + .call("getblockchaininfo", rpc_params![]) + .await?; + Ok(chain_info.verificationprogress) + } } diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 65943ab..3604b80 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -27,6 +27,8 @@ fn main() { explorer_sync, explorer_switch_to_rpc_source, explorer_switch_to_blockfile_source, + explorer_is_initial_sync, + explorer_get_sync_progress, ]) .run(tauri::generate_context!()) .expect("error while running tauri application");