salvium_wallet_scan_mempool is now exported as a C FFI symbol
This commit is contained in:
Generated
+13
-13
@@ -1956,7 +1956,7 @@ checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
|
||||
|
||||
[[package]]
|
||||
name = "salvium-cli"
|
||||
version = "1.0.7-r016"
|
||||
version = "1.0.7-r017"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"dirs",
|
||||
@@ -1978,7 +1978,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "salvium-consensus"
|
||||
version = "1.0.7-r016"
|
||||
version = "1.0.7-r017"
|
||||
dependencies = [
|
||||
"hex",
|
||||
"salvium-types",
|
||||
@@ -1990,7 +1990,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "salvium-crypto"
|
||||
version = "1.0.7-r016"
|
||||
version = "1.0.7-r017"
|
||||
dependencies = [
|
||||
"aes-gcm",
|
||||
"argon2",
|
||||
@@ -2016,7 +2016,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "salvium-ffi"
|
||||
version = "1.0.7-r016"
|
||||
version = "1.0.7-r017"
|
||||
dependencies = [
|
||||
"dirs",
|
||||
"hex",
|
||||
@@ -2035,7 +2035,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "salvium-miner"
|
||||
version = "1.0.7-r016"
|
||||
version = "1.0.7-r017"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"hex",
|
||||
@@ -2050,7 +2050,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "salvium-miner-gr"
|
||||
version = "1.0.7-r016"
|
||||
version = "1.0.7-r017"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"clap",
|
||||
@@ -2062,7 +2062,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "salvium-miner-v2"
|
||||
version = "1.0.7-r016"
|
||||
version = "1.0.7-r017"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"clap",
|
||||
@@ -2077,7 +2077,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "salvium-multisig"
|
||||
version = "1.0.7-r016"
|
||||
version = "1.0.7-r017"
|
||||
dependencies = [
|
||||
"curve25519-dalek",
|
||||
"hex",
|
||||
@@ -2093,7 +2093,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "salvium-rpc"
|
||||
version = "1.0.7-r016"
|
||||
version = "1.0.7-r017"
|
||||
dependencies = [
|
||||
"base64",
|
||||
"hex",
|
||||
@@ -2108,7 +2108,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "salvium-sync-bench"
|
||||
version = "1.0.7-r016"
|
||||
version = "1.0.7-r017"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"env_logger",
|
||||
@@ -2125,7 +2125,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "salvium-tx"
|
||||
version = "1.0.7-r016"
|
||||
version = "1.0.7-r017"
|
||||
dependencies = [
|
||||
"curve25519-dalek",
|
||||
"getrandom 0.2.17",
|
||||
@@ -2143,7 +2143,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "salvium-types"
|
||||
version = "1.0.7-r016"
|
||||
version = "1.0.7-r017"
|
||||
dependencies = [
|
||||
"hex",
|
||||
"serde",
|
||||
@@ -2153,7 +2153,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "salvium-wallet"
|
||||
version = "1.0.7-r016"
|
||||
version = "1.0.7-r017"
|
||||
dependencies = [
|
||||
"aes-gcm",
|
||||
"chacha20",
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ members = [
|
||||
]
|
||||
|
||||
[workspace.package]
|
||||
version = "1.0.7-r016"
|
||||
version = "1.0.7-r017"
|
||||
edition = "2021"
|
||||
license = "LicenseRef-Salvium-RS"
|
||||
repository = "https://github.com/salvium/salvium-rs"
|
||||
|
||||
@@ -481,6 +481,39 @@ fn dispatch_sync_event(event: &salvium_wallet::SyncEvent, cb: SyncCallbackFn) {
|
||||
}
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
// Mempool Scan
|
||||
// =============================================================================
|
||||
|
||||
/// Scan the mempool for transactions belonging to this wallet.
|
||||
///
|
||||
/// This is a lightweight alternative to a full sync — it only checks the
|
||||
/// daemon's transaction pool for new or dropped transactions relevant to the
|
||||
/// wallet's keys.
|
||||
///
|
||||
/// Returns JSON: `{"new_pool_txs": N, "dropped_pool_txs": N}`
|
||||
/// Caller must free with `salvium_string_free()`.
|
||||
#[no_mangle]
|
||||
pub unsafe extern "C" fn salvium_wallet_scan_mempool(
|
||||
wallet: *mut c_void,
|
||||
daemon: *mut c_void,
|
||||
) -> *mut c_char {
|
||||
ffi_try_string(|| {
|
||||
let handle = unsafe { borrow_handle::<WalletHandle>(wallet) }?;
|
||||
let dh = unsafe { borrow_handle::<crate::daemon::DaemonHandle>(daemon) }?;
|
||||
let rt = crate::runtime();
|
||||
|
||||
rt.block_on(async {
|
||||
let result = handle.wallet.scan_mempool(&dh.pool).await.map_err(|e| e.to_string())?;
|
||||
serde_json::to_string(&serde_json::json!({
|
||||
"new_pool_txs": result.new_pool_txs,
|
||||
"dropped_pool_txs": result.dropped_pool_txs,
|
||||
}))
|
||||
.map_err(|e| e.to_string())
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
// Query Functions
|
||||
// =============================================================================
|
||||
|
||||
Reference in New Issue
Block a user