diff --git a/bdk-ffi/Cargo.lock b/bdk-ffi/Cargo.lock index f40c7300..83f4fb59 100644 --- a/bdk-ffi/Cargo.lock +++ b/bdk-ffi/Cargo.lock @@ -76,47 +76,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" -[[package]] -name = "askama" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b79091df18a97caea757e28cd2d5fda49c6cd4bd01ddffd7ff01ace0c0ad2c28" -dependencies = [ - "askama_derive", - "askama_escape", -] - -[[package]] -name = "askama_derive" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19fe8d6cb13c4714962c072ea496f3392015f0989b1a2847bb4b2d9effd71d83" -dependencies = [ - "askama_parser", - "basic-toml", - "mime", - "mime_guess", - "proc-macro2", - "quote", - "serde", - "syn", -] - -[[package]] -name = "askama_escape" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341" - -[[package]] -name = "askama_parser" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acb1161c6b64d1c3d83108213c2a2533a342ac225aabd0bda218278c2ddb00c0" -dependencies = [ - "nom", -] - [[package]] name = "assert_matches" version = "1.5.0" @@ -239,15 +198,6 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bip39" version = "2.1.0" @@ -761,6 +711,45 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "rinja" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dc4940d00595430b3d7d5a01f6222b5e5b51395d1120bdb28d854bb8abb17a5" +dependencies = [ + "itoa", + "rinja_derive", +] + +[[package]] +name = "rinja_derive" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d9ed0146aef6e2825f1b1515f074510549efba38d71f4554eec32eb36ba18b" +dependencies = [ + "basic-toml", + "memchr", + "mime", + "mime_guess", + "proc-macro2", + "quote", + "rinja_parser", + "rustc-hash", + "serde", + "syn", +] + +[[package]] +name = "rinja_parser" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f9a866e2e00a7a1fb27e46e9e324a6f7c0e7edc4543cae1d38f4e4a100c610" +dependencies = [ + "memchr", + "nom", + "serde", +] + [[package]] name = "rusqlite" version = "0.31.0" @@ -775,6 +764,12 @@ dependencies = [ "smallvec", ] +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + [[package]] name = "rustls" version = "0.21.12" @@ -1056,12 +1051,13 @@ dependencies = [ [[package]] name = "uniffi" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31bff6daf87277a9014bcdefbc2842b0553392919d1096843c5aad899ca4588" +checksum = "ba62a57e90f9baed5ad02a71a0870180fa1cc35499093b2d21be2edfb68ec0f7" dependencies = [ "anyhow", "camino", + "cargo_metadata", "clap", "uniffi_bindgen", "uniffi_build", @@ -1071,12 +1067,11 @@ dependencies = [ [[package]] name = "uniffi_bindgen" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96061d7e01b185aa405f7c9b134741ab3e50cc6796a47d6fd8ab9a5364b5feed" +checksum = "2242f35214f1e0e3b47c495d340c69f649f9a9ece3a943a29e275686cc884533" dependencies = [ "anyhow", - "askama", "camino", "cargo_metadata", "fs-err", @@ -1085,6 +1080,7 @@ dependencies = [ "heck", "once_cell", "paste", + "rinja", "serde", "textwrap", "toml", @@ -1095,47 +1091,44 @@ dependencies = [ [[package]] name = "uniffi_build" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6b86f9b221046af0c533eafe09ece04e2f1ded04ccdc9bba0ec09aec1c52bd" +checksum = "c887a6c9a2857d8dc2ab0c8d578e8aa4978145b4fd65ed44296341e89aebc3cc" dependencies = [ "anyhow", "camino", "uniffi_bindgen", ] -[[package]] -name = "uniffi_checksum_derive" -version = "0.28.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "802d2051a700e3ec894c79f80d2705b69d85844dafbbe5d1a92776f8f48b563a" -dependencies = [ - "quote", - "syn", -] - [[package]] name = "uniffi_core" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3210d57d6ab6065ab47a2898dacdb7c606fd6a4156196831fa3bf82e34ac58a6" +checksum = "cad9fbdeb7ae4daf8d0f7704a3b638c37018eb16bb701e30fa17a2dd3e2d39c1" dependencies = [ "anyhow", "bytes", - "camino", - "log", "once_cell", "paste", "static_assertions", ] +[[package]] +name = "uniffi_internal_macros" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22a9dba1d78b9ce429439891089c223478043d52a1c3176a0fcea2b5573a7fcf" +dependencies = [ + "quote", + "syn", +] + [[package]] name = "uniffi_macros" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b58691741080935437dc862122e68d7414432a11824ac1137868de46181a0bd2" +checksum = "78dd5f8eefba5898b901086f5e7916da67b9a5286a01cc44e910cd75fa37c630" dependencies = [ - "bincode", "camino", "fs-err", "once_cell", @@ -1149,21 +1142,20 @@ dependencies = [ [[package]] name = "uniffi_meta" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7663eacdbd9fbf4a88907ddcfe2e6fa85838eb6dc2418a7d91eebb3786f8e20b" +checksum = "9d5965b1d4ffacef1eaa72fef9c00d2491641e87ad910f6c5859b9c503ddb16a" dependencies = [ "anyhow", - "bytes", "siphasher", - "uniffi_checksum_derive", + "uniffi_internal_macros", ] [[package]] name = "uniffi_testing" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f922465f7566f25f8fe766920205fdfa9a3fcdc209c6bfb7557f0b5bf45b04dd" +checksum = "43b0f35750a3e1836f10f26e4eceba688748b8a1e94a6ee251c976099d984d4f" dependencies = [ "anyhow", "camino", @@ -1174,14 +1166,13 @@ dependencies = [ [[package]] name = "uniffi_udl" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef408229a3a407fafa4c36dc4f6ece78a6fb258ab28d2b64bddd49c8cb680f6" +checksum = "279b82bac9a382c796a0d210bb8354a0b813499b28aa1de046c85d78ca389805" dependencies = [ "anyhow", "textwrap", "uniffi_meta", - "uniffi_testing", "weedle2", ] diff --git a/bdk-ffi/Cargo.toml b/bdk-ffi/Cargo.toml index 9ca71438..2b23fff8 100644 --- a/bdk-ffi/Cargo.toml +++ b/bdk-ffi/Cargo.toml @@ -23,14 +23,14 @@ bdk_core = { version = "0.4.1" } bdk_esplora = { version = "0.20.1", default-features = false, features = ["std", "blocking", "blocking-https-rustls"] } bdk_electrum = { version = "0.21.0", default-features = false, features = ["use-rustls-ring"] } -uniffi = { version = "=0.28.0" } +uniffi = { version = "=0.29.0" } thiserror = "1.0.58" [build-dependencies] -uniffi = { version = "=0.28.0", features = ["build"] } +uniffi = { version = "=0.29.0", features = ["build"] } [dev-dependencies] -uniffi = { version = "=0.28.0", features = ["bindgen-tests"] } +uniffi = { version = "=0.29.0", features = ["bindgen-tests"] } assert_matches = "1.5.0" [profile.release-smaller] diff --git a/bdk-ffi/src/bdk.udl b/bdk-ffi/src/bdk.udl index fbfb091a..c06bbc86 100644 --- a/bdk-ffi/src/bdk.udl +++ b/bdk-ffi/src/bdk.udl @@ -335,6 +335,7 @@ interface TxidParseError { // ------------------------------------------------------------------------ /// Types of keychains +[Remote] enum KeychainKind { /// External keychain, used for deriving recipient addresses. "External", @@ -473,6 +474,7 @@ interface FullScanScriptInspector { }; /// A changeset for [`Wallet`]. +[Remote] interface ChangeSet {}; /// Options for a software signer. @@ -529,6 +531,7 @@ dictionary SignOptions { // ------------------------------------------------------------------------ /// Policy regarding the use of change outputs when creating a transaction +[Remote] enum ChangeSpendPolicy { /// Use both change and non-change outputs (default) "ChangeAllowed", @@ -1288,6 +1291,7 @@ interface AddressData { // bdk_wallet crate - bitcoin re-exports // ------------------------------------------------------------------------ +[Remote] enum WordCount { "Words12", "Words15", @@ -1381,7 +1385,7 @@ interface Script { sequence to_bytes(); }; -[NonExhaustive] +[NonExhaustive, Remote] enum Network { "Bitcoin", "Testnet",