iota-sdk 1.0.1

The IOTA SDK provides developers with a seamless experience to develop on IOTA by providing account abstractions and clients to interact with node APIs.
Documentation
// Copyright 2022 IOTA Stiftung
// SPDX-License-Identifier: Apache-2.0

use crate::{
    client::secret::{ledger_nano::LedgerSecretManager, LedgerNanoStatus, SecretManager},
    wallet::Wallet,
};

impl Wallet<LedgerSecretManager> {
    /// Get the ledger nano status
    pub async fn get_ledger_nano_status(&self) -> crate::wallet::Result<LedgerNanoStatus> {
        Ok(self.secret_manager.read().await.get_ledger_nano_status().await)
    }
}

impl Wallet {
    /// Get the ledger nano status
    pub async fn get_ledger_nano_status(&self) -> crate::wallet::Result<LedgerNanoStatus> {
        if let SecretManager::LedgerNano(ledger) = &*self.secret_manager.read().await {
            Ok(ledger.get_ledger_nano_status().await)
        } else {
            Err(crate::client::Error::SecretManagerMismatch.into())
        }
    }
}