diff --git a/packages/backend/Cargo.toml b/packages/backend/Cargo.toml index 692db3fda9e..b54fa31556c 100644 --- a/packages/backend/Cargo.toml +++ b/packages/backend/Cargo.toml @@ -6,9 +6,9 @@ edition = "2018" exclude = ["/bindings", "/api-wrapper"] [dependencies] -tokio = { version = "1.1", features = ["full"] } +tokio = { version = "1.3", features = ["full"] } once_cell = "1.5.0" -iota-wallet = { git = "https://github.com/iotaledger/wallet.rs", branch = "develop", default-features = false, features = ["stronghold", "sqlite-storage"] } +iota-wallet = { git = "https://github.com/iotaledger/wallet.rs", branch = "fix/client-management", default-features = false, features = ["stronghold", "sqlite-storage"] } serde_json = "1.0" riker = "0.4" serde = "1.0" diff --git a/packages/backend/bindings/node/native/Cargo.lock b/packages/backend/bindings/node/native/Cargo.lock index 7592da6b31c..44f8187e959 100644 --- a/packages/backend/bindings/node/native/Cargo.lock +++ b/packages/backend/bindings/node/native/Cargo.lock @@ -1509,7 +1509,7 @@ dependencies = [ [[package]] name = "iota-wallet" version = "0.1.0" -source = "git+https://github.com/iotaledger/wallet.rs?branch=develop#67fd04fc7e27a9a6e33eb1851df6cbc29dd77022" +source = "git+https://github.com/iotaledger/wallet.rs?branch=fix/client-management#39481f6c420a9d522331366f7c87b497424daccf" dependencies = [ "async-trait", "backtrace", diff --git a/packages/backend/src/lib.rs b/packages/backend/src/lib.rs index 07a724c3efa..f05a67a06c3 100644 --- a/packages/backend/src/lib.rs +++ b/packages/backend/src/lib.rs @@ -13,6 +13,7 @@ use iota_wallet::{ remove_new_transaction_listener, remove_reattachment_listener, remove_stronghold_status_change_listener, remove_transfer_progress_listener, EventId, }, + client::drop_all as drop_clients, }; use once_cell::sync::Lazy; use riker::actors::*; @@ -164,6 +165,10 @@ pub async fn destroy>(actor_id: A) { }) .await; + // delay to wait for the actor to be killed + tokio::time::sleep(Duration::from_millis(500)).await; + drop_clients().await; + let mut message_receivers = message_receivers() .lock() .expect("Failed to lock message_receivers: respond()");