From 56b8113084bda7ea367a76e0e10efab1e467efe3 Mon Sep 17 00:00:00 2001 From: Hanh Date: Wed, 8 Mar 2023 13:46:54 +1000 Subject: [PATCH] Check account API --- binding.h | 2 ++ src/api/account.rs | 6 ++++++ src/api/dart_ffi.rs | 5 +++++ 3 files changed, 13 insertions(+) diff --git a/binding.h b/binding.h index 3354e62..bfae774 100644 --- a/binding.h +++ b/binding.h @@ -273,6 +273,8 @@ void truncate_data(void); void truncate_sync_data(void); +bool check_account(uint8_t coin, uint32_t account); + void delete_account(uint8_t coin, uint32_t account); struct CResult_____c_char make_payment_uri(uint8_t coin, diff --git a/src/api/account.rs b/src/api/account.rs index 38cb66e..6946c3e 100644 --- a/src/api/account.rs +++ b/src/api/account.rs @@ -25,6 +25,12 @@ use zcash_client_backend::keys::UnifiedFullViewingKey; use zcash_primitives::consensus::Parameters; use zcash_primitives::zip32::DiversifierIndex; +pub fn check_account(coin: u8, account: u32) -> bool { + let c = CoinConfig::get(coin); + let db = c.db().unwrap(); + db.get_account_info(account).is_ok() +} + /// Create a new account /// # Arguments /// diff --git a/src/api/dart_ffi.rs b/src/api/dart_ffi.rs index 4f93958..ebfb003 100644 --- a/src/api/dart_ffi.rs +++ b/src/api/dart_ffi.rs @@ -683,6 +683,11 @@ pub unsafe extern "C" fn truncate_sync_data() { log_error(res) } +#[no_mangle] +pub unsafe extern "C" fn check_account(coin: u8, account: u32) -> bool { + crate::api::account::check_account(coin, account) +} + #[no_mangle] pub unsafe extern "C" fn delete_account(coin: u8, account: u32) { let res = crate::api::account::delete_account(coin, account);