From 53afd9c238dfcf0d5ee1138c36f28d79b7b3197e Mon Sep 17 00:00:00 2001 From: Matthew Date: Fri, 7 Jun 2024 19:30:03 -0500 Subject: [PATCH] chore: callback to foreign trait --- bdk-ffi/src/bdk.udl | 6 ++++-- bdk-ffi/src/types.rs | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/bdk-ffi/src/bdk.udl b/bdk-ffi/src/bdk.udl index 6e44a74..3dbaa55 100644 --- a/bdk-ffi/src/bdk.udl +++ b/bdk-ffi/src/bdk.udl @@ -333,11 +333,13 @@ interface SyncRequest { SyncRequest inspect_spks(SyncScriptInspector inspector); }; -callback interface SyncScriptInspector { +[Trait, WithForeign] +interface SyncScriptInspector { void inspect(Script script, u64 total); }; -callback interface FullScanScriptInspector { +[Trait, WithForeign] +interface FullScanScriptInspector { void inspect(KeychainKind keychain, u32 index, Script script); }; diff --git a/bdk-ffi/src/types.rs b/bdk-ffi/src/types.rs index 8960824..4e0b03b 100644 --- a/bdk-ffi/src/types.rs +++ b/bdk-ffi/src/types.rs @@ -127,7 +127,7 @@ pub struct SyncRequest(pub(crate) Mutex>); impl SyncRequest { pub fn inspect_spks( &self, - inspector: Box, + inspector: Arc, ) -> Result, InspectError> { let mut guard = self.0.lock().unwrap(); if let Some(sync_request) = guard.take() { @@ -145,7 +145,7 @@ impl SyncRequest { impl FullScanRequest { pub fn inspect_spks_for_all_keychains( &self, - inspector: Box, + inspector: Arc, ) -> Result, InspectError> { let mut guard = self.0.lock().unwrap(); if let Some(full_scan_request) = guard.take() {