Add Wallet.balance()

This commit is contained in:
Steve Myers 2021-07-04 15:54:23 -07:00
parent 6361b41f33
commit a33a09f2a3
2 changed files with 23 additions and 2 deletions

View File

@ -27,6 +27,11 @@ fn free_void_result(void_result: FfiResultVoid) {
drop(void_result)
}
#[ffi_export]
fn free_uint64_result(void_result: FfiResult<u64>) {
drop(void_result)
}
// TODO do we need this? remove?
/// Free a Rust-allocated string
#[ffi_export]

View File

@ -1,4 +1,5 @@
use std::convert::TryFrom;
use std::ffi::CString;
use ::safer_ffi::prelude::*;
use bdk::bitcoin::network::constants::Network::Testnet;
@ -14,7 +15,6 @@ use database::DatabaseConfig;
use crate::error::FfiError;
use crate::types::{FfiResult, FfiResultVoid};
use std::ffi::CString;
mod blockchain;
mod database;
@ -125,10 +125,26 @@ fn list_unspent(opaque_wallet: &OpaqueWallet) -> FfiResult<repr_c::Vec<LocalUtxo
}
#[ffi_export]
fn free_unspent_result(unspent_result: FfiResult<repr_c::Vec<LocalUtxo>>) {
fn free_veclocalutxo_result(unspent_result: FfiResult<repr_c::Vec<LocalUtxo>>) {
drop(unspent_result)
}
#[ffi_export]
fn balance(opaque_wallet: &OpaqueWallet) -> FfiResult<u64> {
let balance_result = opaque_wallet.raw.get_balance();
match balance_result {
Ok(b) => FfiResult {
ok: b,
err: FfiError::None,
},
Err(e) => FfiResult {
ok: u64::MIN,
err: FfiError::from(&e),
},
}
}
// Non-opaque returned values
#[derive_ReprC]