diff --git a/bdk-ffi/src/bdk.udl b/bdk-ffi/src/bdk.udl index 374ba64..765c997 100644 --- a/bdk-ffi/src/bdk.udl +++ b/bdk-ffi/src/bdk.udl @@ -53,9 +53,11 @@ dictionary AddressInfo { string address; }; -enum AddressIndex { - "New", - "LastUnused", +[Enum] +interface AddressIndex { + New(); + LastUnused(); + Peek(u32 index); }; enum Network { diff --git a/bdk-ffi/src/lib.rs b/bdk-ffi/src/lib.rs index 21a9db2..7acb254 100644 --- a/bdk-ffi/src/lib.rs +++ b/bdk-ffi/src/lib.rs @@ -69,6 +69,9 @@ pub enum AddressIndex { /// caller is untrusted; for example when deriving donation addresses on-demand for a public /// web page. LastUnused, + Peek { + index: u32, + }, } impl From for BdkAddressIndex { @@ -76,6 +79,7 @@ impl From for BdkAddressIndex { match x { AddressIndex::New => BdkAddressIndex::New, AddressIndex::LastUnused => BdkAddressIndex::LastUnused, + AddressIndex::Peek { index } => BdkAddressIndex::Peek(index), } } }