diff options
| -rw-r--r-- | impls/monero.rs/example/src/main.rs | 10 | ||||
| -rw-r--r-- | impls/monero.rs/src/lib.rs | 14 |
2 files changed, 21 insertions, 3 deletions
diff --git a/impls/monero.rs/example/src/main.rs b/impls/monero.rs/example/src/main.rs index dbc309c..39163dc 100644 --- a/impls/monero.rs/example/src/main.rs +++ b/impls/monero.rs/example/src/main.rs @@ -35,6 +35,9 @@ fn main() -> Result<(), WalletError> { proxy_address: "".to_string(), }; + // Set WalletManager's daemon address + manager.set_daemon_address(&config.daemon_address); + // Perform the initialization. wallet.init(config)?; wallet.throw_if_error()?; @@ -46,10 +49,11 @@ fn main() -> Result<(), WalletError> { // Wait for the refresh to complete. loop { - let height = manager.get_height().expect("Failed to get blockchain height"); + let height = manager.get_height()?; println!("Current blockchain height: {}", height); - if height > 3263501 { // After this height we can get_balance. - break (); + if height > 3263501 { + // After this height we can get_balance. + break; } // Wait one second. std::thread::sleep(std::time::Duration::from_secs(1)); diff --git a/impls/monero.rs/src/lib.rs b/impls/monero.rs/src/lib.rs index b40cb94..1334b7a 100644 --- a/impls/monero.rs/src/lib.rs +++ b/impls/monero.rs/src/lib.rs @@ -628,6 +628,20 @@ impl WalletManager { Ok(height) } } + + /// Sets the daemon address of WalletManager + pub fn set_daemon_address(&self, daemon_address: &str) -> WalletResult<()> { + let c_daemon_address = CString::new(daemon_address) + .map_err(|_| WalletError::FfiError("Invalid daemon address".to_string()))?; + + unsafe { + bindings::MONERO_WalletManager_setDaemonAddress( + self.ptr.as_ptr(), + c_daemon_address.as_ptr(), + ); + Ok(()) + } + } } impl Wallet { |
