From 5248dfc235a581d13e86a1ce87e7661a0b7bab07 Mon Sep 17 00:00:00 2001 From: Erdem Yerebasmaz Date: Tue, 20 Aug 2024 18:50:27 +0300 Subject: [PATCH] Depend on `sdk-common` with `liquid` feature (#452) * Add copy script to packages/react-native makefile * Reorder scripts * Depend on sdk-common with liquid feature * chore: cargo update * Generate Dart bindings * Generate UniFFI bindings * Simplify import resolution by using prelude::* * Applies changes from https://github.com/breez/breez-sdk-greenlight/pull/1078 --- cli/Cargo.lock | 593 +++++++++-------- lib/Cargo.lock | 602 ++++++++++-------- .../include/breez_sdk_liquid.h | 17 + lib/bindings/src/breez_sdk_liquid.udl | 10 + lib/bindings/src/lib.rs | 11 +- lib/core/Cargo.toml | 2 +- lib/core/src/bindings.rs | 19 +- lib/core/src/frb_generated.rs | 204 +++++- packages/dart/lib/src/bindings.dart | 42 ++ packages/dart/lib/src/bindings.freezed.dart | 80 +++ packages/dart/lib/src/frb_generated.dart | 110 +++- packages/dart/lib/src/frb_generated.io.dart | 95 ++- ...utter_breez_liquid_bindings_generated.dart | 32 + .../breezsdkliquid/BreezSDKLiquidMapper.kt | 55 ++ .../ios/BreezSDKLiquidMapper.swift | 92 +++ packages/react-native/makefile | 13 +- packages/react-native/src/index.ts | 13 + 17 files changed, 1368 insertions(+), 622 deletions(-) diff --git a/cli/Cargo.lock b/cli/Cargo.lock index 7e7b9cd..c4176ea 100644 --- a/cli/Cargo.lock +++ b/cli/Cargo.lock @@ -17,6 +17,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + [[package]] name = "aead" version = "0.4.3" @@ -132,9 +138,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.14" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" dependencies = [ "anstyle", "anstyle-parse", @@ -147,33 +153,33 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -207,18 +213,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -263,7 +269,7 @@ dependencies = [ "futures-util", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.29", + "hyper 0.14.30", "itoa", "matchit", "memchr", @@ -305,7 +311,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.7.4", "object", "rustc-demangle", ] @@ -538,13 +544,13 @@ dependencies = [ "boltz-client", "chrono", "electrum-client", - "env_logger 0.11.3", + "env_logger 0.11.5", "flutter_rust_bridge", "futures-util", "glob", "hex", "log", - "lwk_common 0.7.0", + "lwk_common", "lwk_signer", "lwk_wollet", "openssl", @@ -579,9 +585,9 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytemuck" -version = "1.16.1" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" +checksum = "6fd4c6dcc3b0aea2f5c0b4b82c2b15fe39ddbc76041a310848f4706edf76bb31" [[package]] name = "byteorder" @@ -591,9 +597,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" [[package]] name = "cbc" @@ -606,9 +612,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.101" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac367972e516d45567c7eafc73d24e1c193dcf200a8d94e9db7b3d38b349572d" +checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48" +dependencies = [ + "shlex", +] [[package]] name = "cfg-if" @@ -628,7 +637,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -652,9 +661,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.7" +version = "4.5.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" +checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" dependencies = [ "clap_builder", "clap_derive", @@ -662,9 +671,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.7" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" +checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" dependencies = [ "anstream", "anstyle", @@ -674,36 +683,36 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.5" +version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" +checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "clap_lex" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" [[package]] name = "clipboard-win" -version = "5.3.1" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79f4473f5144e20d9aceaf2972478f06ddf687831eafeeb434fbaf0acc4144ad" +checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892" dependencies = [ "error-code", ] [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" [[package]] name = "console_error_panic_hook" @@ -727,15 +736,15 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] @@ -836,7 +845,7 @@ checksum = "51aac4c99b2e6775164b412ea33ae8441b2fde2dbf05a20bc0052a63d08c475b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -914,9 +923,9 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" [[package]] name = "env_filter" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" dependencies = [ "log", "regex", @@ -947,9 +956,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.3" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" +checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" dependencies = [ "anstream", "anstyle", @@ -1017,12 +1026,12 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.30" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +checksum = "9c0596c1eac1f9e04ed902702e9878208b336edc9d6fddc8a48387349bab3666" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.8.0", ] [[package]] @@ -1063,7 +1072,7 @@ dependencies = [ "md-5", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -1152,7 +1161,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -1241,7 +1250,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.2.6", + "indexmap 2.4.0", "slab", "tokio", "tokio-util", @@ -1250,9 +1259,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" dependencies = [ "atomic-waker", "bytes", @@ -1260,7 +1269,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.2.6", + "indexmap 2.4.0", "slab", "tokio", "tokio-util", @@ -1395,9 +1404,9 @@ dependencies = [ [[package]] name = "http-body" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", "http 1.1.0", @@ -1412,7 +1421,7 @@ dependencies = [ "bytes", "futures-util", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "pin-project-lite", ] @@ -1445,9 +1454,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.29" +version = "0.14.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" dependencies = [ "bytes", "futures-channel", @@ -1469,16 +1478,16 @@ dependencies = [ [[package]] name = "hyper" -version = "1.3.1" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.5", + "h2 0.4.6", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "httparse", "itoa", "pin-project-lite", @@ -1495,9 +1504,9 @@ checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" dependencies = [ "futures-util", "http 1.1.0", - "hyper 1.3.1", + "hyper 1.4.1", "hyper-util", - "rustls 0.23.10", + "rustls 0.23.12", "rustls-pki-types", "tokio", "tokio-rustls 0.26.0", @@ -1511,7 +1520,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" dependencies = [ - "hyper 0.14.29", + "hyper 0.14.30", "pin-project-lite", "tokio", "tokio-io-timeout", @@ -1524,7 +1533,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper 0.14.29", + "hyper 0.14.30", "native-tls", "tokio", "tokio-native-tls", @@ -1532,16 +1541,16 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.5" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" +checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" dependencies = [ "bytes", "futures-channel", "futures-util", "http 1.1.0", - "http-body 1.0.0", - "hyper 1.3.1", + "http-body 1.0.1", + "hyper 1.4.1", "pin-project-lite", "socket2", "tokio", @@ -1611,9 +1620,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -1646,9 +1655,9 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is_terminal_polyfill" -version = "1.70.0" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itertools" @@ -1667,9 +1676,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" dependencies = [ "wasm-bindgen", ] @@ -1682,9 +1691,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" [[package]] name = "libsqlite3-sys" @@ -1761,24 +1770,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" - -[[package]] -name = "lwk_common" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2c34354811d24b6bfd94fce8f1d3a611e034dbc91489f6be5192c0e8cda0998" -dependencies = [ - "base64 0.21.7", - "elements", - "elements-miniscript", - "getrandom", - "qr_code", - "rand", - "thiserror", -] +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lwk_common" @@ -1816,10 +1810,10 @@ dependencies = [ "elements", "elements-miniscript", "hex", - "lwk_common 0.7.0", + "lwk_common", "lwk_containers", "rand", - "reqwest 0.12.5", + "reqwest 0.12.7", "serde", "serde_bytes", "serde_cbor", @@ -1839,15 +1833,15 @@ dependencies = [ "base64 0.13.1", "bip39", "elements-miniscript", - "lwk_common 0.7.0", + "lwk_common", "lwk_jade", "thiserror", ] [[package]] name = "lwk_wollet" -version = "0.5.1" -source = "git+https://github.com/dangeross/lwk?branch=savage-try-headers-subscribe#ecf62efbbde5008301a329330d519e93e1e1b462" +version = "0.7.0" +source = "git+https://github.com/dangeross/lwk?branch=savage-try-headers-subscribe#452bc5e07ab6b9a5fee8c2dae5c9e24d5e3cc9c5" dependencies = [ "aes-gcm-siv", "base64 0.21.7", @@ -1857,11 +1851,11 @@ dependencies = [ "elements-miniscript", "fxhash", "idna 0.4.0", - "lwk_common 0.5.2", + "lwk_common", "once_cell", "rand", "regex-lite", - "reqwest 0.12.5", + "reqwest 0.12.7", "serde", "serde_json", "thiserror", @@ -1898,9 +1892,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniscript" -version = "11.0.0" +version = "11.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86a23dd3ad145a980e231185d114399f25a0a307d2cd918010ddda6334323df9" +checksum = "3127e10529a57a8f7fa9b1332c4c2f72baadaca6777798f910dff3c922620b14" dependencies = [ "bech32 0.10.0-beta", "bitcoin 0.31.2", @@ -1917,14 +1911,24 @@ dependencies = [ ] [[package]] -name = "mio" -version = "0.8.11" +name = "miniz_oxide" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +dependencies = [ + "hermit-abi 0.3.9", "libc", "wasi", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -1991,9 +1995,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.0" +version = "0.36.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" dependencies = [ "memchr", ] @@ -2012,9 +2016,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl" -version = "0.10.64" +version = "0.10.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" dependencies = [ "bitflags 2.6.0", "cfg-if", @@ -2033,7 +2037,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -2053,9 +2057,9 @@ dependencies = [ [[package]] name = "openssl-sys" -version = "0.9.102" +version = "0.9.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" dependencies = [ "cc", "libc", @@ -2119,7 +2123,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.2.6", + "indexmap 2.4.0", ] [[package]] @@ -2139,7 +2143,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -2174,9 +2178,12 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "prettyplease" @@ -2280,16 +2287,17 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quinn" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad" +checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156" dependencies = [ "bytes", "pin-project-lite", "quinn-proto", "quinn-udp", "rustc-hash", - "rustls 0.23.10", + "rustls 0.23.12", + "socket2", "thiserror", "tokio", "tracing", @@ -2297,15 +2305,15 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.3" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe" +checksum = "ba92fb39ec7ad06ca2582c0ca834dfeadcaf06ddfc8e635c80aa7e1c05315fdd" dependencies = [ "bytes", "rand", "ring 0.17.8", "rustc-hash", - "rustls 0.23.10", + "rustls 0.23.12", "slab", "thiserror", "tinyvec", @@ -2314,9 +2322,9 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9096629c45860fc7fb143e125eb826b5e721e10be3263160c7d60ca832cf8c46" +checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" dependencies = [ "libc", "once_cell", @@ -2385,9 +2393,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.5" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -2432,7 +2440,7 @@ dependencies = [ "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.29", + "hyper 0.14.30", "hyper-tls", "ipnet", "js-sys", @@ -2452,14 +2460,14 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg 0.50.0", + "winreg", ] [[package]] name = "reqwest" -version = "0.12.5" +version = "0.12.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" dependencies = [ "base64 0.22.1", "bytes", @@ -2467,11 +2475,11 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.4.5", + "h2 0.4.6", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "http-body-util", - "hyper 1.3.1", + "hyper 1.4.1", "hyper-rustls", "hyper-util", "ipnet", @@ -2482,8 +2490,8 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.10", - "rustls-pemfile 2.1.2", + "rustls 0.23.12", + "rustls-pemfile 2.1.3", "rustls-pki-types", "serde", "serde_json", @@ -2498,7 +2506,7 @@ dependencies = [ "wasm-bindgen-futures", "web-sys", "webpki-roots 0.26.3", - "winreg 0.52.0", + "windows-registry", ] [[package]] @@ -2563,9 +2571,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" -version = "1.1.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" [[package]] name = "rustix" @@ -2606,28 +2614,15 @@ dependencies = [ [[package]] name = "rustls" -version = "0.22.4" +version = "0.23.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" dependencies = [ "log", - "ring 0.17.8", - "rustls-pki-types", - "rustls-webpki 0.102.4", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls" -version = "0.23.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402" -dependencies = [ "once_cell", "ring 0.17.8", "rustls-pki-types", - "rustls-webpki 0.102.4", + "rustls-webpki 0.102.6", "subtle", "zeroize", ] @@ -2655,9 +2650,9 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" dependencies = [ "base64 0.22.1", "rustls-pki-types", @@ -2665,9 +2660,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" [[package]] name = "rustls-webpki" @@ -2681,9 +2676,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.4" +version = "0.102.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" +checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" dependencies = [ "ring 0.17.8", "rustls-pki-types", @@ -2727,7 +2722,7 @@ checksum = "e5af959c8bf6af1aff6d2b463a57f71aae53d1332da58419e30ad8dc7011d951" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -2763,8 +2758,8 @@ dependencies = [ [[package]] name = "sdk-common" -version = "0.5.0" -source = "git+https://github.com/breez/breez-sdk?branch=main#8e4f8467892837421707e0b6f935edc494fdac58" +version = "0.5.1-rc6" +source = "git+https://github.com/breez/breez-sdk?branch=main#14715a7a178de28171de8d75f23b5d39a963fdb1" dependencies = [ "aes 0.8.4", "anyhow", @@ -2772,6 +2767,7 @@ dependencies = [ "bip21", "bitcoin 0.29.2", "cbc", + "elements", "hex", "lightning 0.0.116", "lightning-invoice 0.24.0", @@ -2787,6 +2783,7 @@ dependencies = [ "tonic", "tonic-build", "url", + "urlencoding", ] [[package]] @@ -2894,9 +2891,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.203" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" dependencies = [ "serde_derive", ] @@ -2922,22 +2919,23 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "serde_json" -version = "1.0.118" +version = "1.0.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d947f6b3163d8857ea16c4fa0dd4840d52f3041039a85decd46867eb1abef2e4" +checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -2998,6 +2996,12 @@ dependencies = [ "digest", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "slab" version = "0.4.9" @@ -3063,7 +3067,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -3085,9 +3089,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.68" +version = "2.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" +checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" dependencies = [ "proc-macro2", "quote", @@ -3105,23 +3109,26 @@ name = "sync_wrapper" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] [[package]] name = "system-configuration" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +checksum = "658bc6ee10a9b4fcf576e9b0819d95ec16f4d2c02d39fd83ac1c8789785c4a42" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "core-foundation", "system-configuration-sys", ] [[package]] name = "system-configuration-sys" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" dependencies = [ "core-foundation-sys", "libc", @@ -3129,14 +3136,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.10.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" dependencies = [ "cfg-if", "fastrand", + "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3167,22 +3175,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -3196,9 +3204,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -3211,19 +3219,18 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.0" +version = "1.39.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5" dependencies = [ "backtrace", "bytes", "libc", "mio", - "num_cpus", "pin-project-lite", "socket2", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -3238,13 +3245,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -3274,7 +3281,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.10", + "rustls 0.23.12", "rustls-pki-types", "tokio", ] @@ -3334,7 +3341,7 @@ dependencies = [ "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.29", + "hyper 0.14.30", "hyper-timeout", "percent-encoding", "pin-project", @@ -3389,15 +3396,15 @@ dependencies = [ [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" @@ -3418,7 +3425,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -3529,18 +3536,17 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "2.9.7" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d11a831e3c0b56e438a28308e7c810799e3c118417f342d30ecec080105395cd" +checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" dependencies = [ "base64 0.22.1", "flate2", "log", "native-tls", "once_cell", - "rustls 0.22.4", + "rustls 0.23.12", "rustls-pki-types", - "rustls-webpki 0.102.4", "serde", "serde_json", "url", @@ -3558,6 +3564,12 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + [[package]] name = "utf-8" version = "0.7.6" @@ -3578,9 +3590,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "want" @@ -3599,34 +3611,35 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" dependencies = [ "cfg-if", "js-sys", @@ -3636,9 +3649,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3646,22 +3659,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] name = "wasm-timer" @@ -3680,9 +3693,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" dependencies = [ "js-sys", "wasm-bindgen", @@ -3752,11 +3765,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3771,7 +3784,37 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", ] [[package]] @@ -3789,7 +3832,16 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -3809,18 +3861,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -3831,9 +3883,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -3843,9 +3895,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -3855,15 +3907,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -3873,9 +3925,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -3885,9 +3937,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -3897,9 +3949,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -3909,9 +3961,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winreg" @@ -3923,34 +3975,25 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "zerocopy" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] diff --git a/lib/Cargo.lock b/lib/Cargo.lock index e4ab5df..870899f 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -17,6 +17,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + [[package]] name = "aead" version = "0.4.3" @@ -132,9 +138,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.14" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" dependencies = [ "anstyle", "anstyle-parse", @@ -147,33 +153,33 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -233,7 +239,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -287,18 +293,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -343,7 +349,7 @@ dependencies = [ "futures-util", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.29", + "hyper 0.14.30", "itoa", "matchit", "memchr", @@ -385,7 +391,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.7.4", "object", "rustc-demangle", ] @@ -642,7 +648,7 @@ dependencies = [ "boltz-client", "chrono", "electrum-client", - "env_logger 0.11.3", + "env_logger 0.11.5", "flutter_rust_bridge", "futures-util", "glob", @@ -704,9 +710,9 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytemuck" -version = "1.16.1" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" +checksum = "6fd4c6dcc3b0aea2f5c0b4b82c2b15fe39ddbc76041a310848f4706edf76bb31" [[package]] name = "byteorder" @@ -716,15 +722,15 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" [[package]] name = "camino" -version = "1.1.7" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] @@ -763,9 +769,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.101" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac367972e516d45567c7eafc73d24e1c193dcf200a8d94e9db7b3d38b349572d" +checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48" +dependencies = [ + "shlex", +] [[package]] name = "cfg-if" @@ -785,7 +794,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -826,23 +835,23 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.7" +version = "4.5.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" +checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" dependencies = [ "clap_builder", - "clap_derive 4.5.5", + "clap_derive 4.5.13", ] [[package]] name = "clap_builder" -version = "4.5.7" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" +checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" dependencies = [ "anstream", "anstyle", - "clap_lex 0.7.1", + "clap_lex 0.7.2", "strsim 0.11.1", ] @@ -861,14 +870,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.5" +version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" +checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -882,15 +891,15 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" [[package]] name = "console_error_panic_hook" @@ -914,15 +923,15 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] @@ -1023,7 +1032,7 @@ checksum = "51aac4c99b2e6775164b412ea33ae8441b2fde2dbf05a20bc0052a63d08c475b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -1095,9 +1104,9 @@ dependencies = [ [[package]] name = "env_filter" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" dependencies = [ "log", "regex", @@ -1128,9 +1137,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.3" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" +checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" dependencies = [ "anstream", "anstyle", @@ -1181,12 +1190,12 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.30" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +checksum = "9c0596c1eac1f9e04ed902702e9878208b336edc9d6fddc8a48387349bab3666" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.8.0", ] [[package]] @@ -1227,7 +1236,7 @@ dependencies = [ "md-5", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -1331,7 +1340,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -1442,7 +1451,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.2.6", + "indexmap 2.4.0", "slab", "tokio", "tokio-util", @@ -1451,9 +1460,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" dependencies = [ "atomic-waker", "bytes", @@ -1461,7 +1470,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.2.6", + "indexmap 2.4.0", "slab", "tokio", "tokio-util", @@ -1596,9 +1605,9 @@ dependencies = [ [[package]] name = "http-body" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", "http 1.1.0", @@ -1613,7 +1622,7 @@ dependencies = [ "bytes", "futures-util", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "pin-project-lite", ] @@ -1646,9 +1655,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.29" +version = "0.14.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" dependencies = [ "bytes", "futures-channel", @@ -1670,16 +1679,16 @@ dependencies = [ [[package]] name = "hyper" -version = "1.3.1" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.5", + "h2 0.4.6", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "httparse", "itoa", "pin-project-lite", @@ -1696,9 +1705,9 @@ checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" dependencies = [ "futures-util", "http 1.1.0", - "hyper 1.3.1", + "hyper 1.4.1", "hyper-util", - "rustls 0.23.10", + "rustls 0.23.12", "rustls-pki-types", "tokio", "tokio-rustls 0.26.0", @@ -1712,7 +1721,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" dependencies = [ - "hyper 0.14.29", + "hyper 0.14.30", "pin-project-lite", "tokio", "tokio-io-timeout", @@ -1725,7 +1734,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper 0.14.29", + "hyper 0.14.30", "native-tls", "tokio", "tokio-native-tls", @@ -1733,16 +1742,16 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.5" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" +checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" dependencies = [ "bytes", "futures-channel", "futures-util", "http 1.1.0", - "http-body 1.0.0", - "hyper 1.3.1", + "http-body 1.0.1", + "hyper 1.4.1", "pin-project-lite", "socket2", "tokio", @@ -1831,9 +1840,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -1866,9 +1875,9 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is_terminal_polyfill" -version = "1.70.0" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itertools" @@ -1887,9 +1896,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" dependencies = [ "wasm-bindgen", ] @@ -1902,9 +1911,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" [[package]] name = "libsqlite3-sys" @@ -1981,9 +1990,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lwk_common" @@ -2024,7 +2033,7 @@ dependencies = [ "lwk_common", "lwk_containers", "rand 0.8.5", - "reqwest 0.12.5", + "reqwest 0.12.7", "serde", "serde_bytes", "serde_cbor", @@ -2066,7 +2075,7 @@ dependencies = [ "once_cell", "rand 0.8.5", "regex-lite", - "reqwest 0.12.5", + "reqwest 0.12.7", "serde", "serde_json", "thiserror", @@ -2103,9 +2112,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "mime_guess" -version = "2.0.4" +version = "2.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" dependencies = [ "mime", "unicase", @@ -2119,9 +2128,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniscript" -version = "11.0.0" +version = "11.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86a23dd3ad145a980e231185d114399f25a0a307d2cd918010ddda6334323df9" +checksum = "3127e10529a57a8f7fa9b1332c4c2f72baadaca6777798f910dff3c922620b14" dependencies = [ "bech32 0.10.0-beta", "bitcoin 0.31.2", @@ -2138,14 +2147,24 @@ dependencies = [ ] [[package]] -name = "mio" -version = "0.8.11" +name = "miniz_oxide" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +dependencies = [ + "hermit-abi 0.3.9", "libc", "wasi", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -2202,9 +2221,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.0" +version = "0.36.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" dependencies = [ "memchr", ] @@ -2223,9 +2242,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl" -version = "0.10.64" +version = "0.10.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" dependencies = [ "bitflags 2.6.0", "cfg-if", @@ -2244,7 +2263,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -2264,9 +2283,9 @@ dependencies = [ [[package]] name = "openssl-sys" -version = "0.9.102" +version = "0.9.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" dependencies = [ "cc", "libc", @@ -2335,9 +2354,9 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.2", + "redox_syscall 0.5.3", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -2365,7 +2384,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.2.6", + "indexmap 2.4.0", ] [[package]] @@ -2385,7 +2404,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -2426,9 +2445,12 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "prettyplease" @@ -2550,16 +2572,17 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quinn" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad" +checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156" dependencies = [ "bytes", "pin-project-lite", "quinn-proto", "quinn-udp", "rustc-hash", - "rustls 0.23.10", + "rustls 0.23.12", + "socket2", "thiserror", "tokio", "tracing", @@ -2567,15 +2590,15 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.3" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe" +checksum = "ba92fb39ec7ad06ca2582c0ca834dfeadcaf06ddfc8e635c80aa7e1c05315fdd" dependencies = [ "bytes", "rand 0.8.5", "ring 0.17.8", "rustc-hash", - "rustls 0.23.10", + "rustls 0.23.12", "slab", "thiserror", "tinyvec", @@ -2584,9 +2607,9 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9096629c45860fc7fb143e125eb826b5e721e10be3263160c7d60ca832cf8c46" +checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" dependencies = [ "libc", "once_cell", @@ -2682,18 +2705,18 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ "bitflags 2.6.0", ] [[package]] name = "regex" -version = "1.10.5" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -2747,7 +2770,7 @@ dependencies = [ "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.29", + "hyper 0.14.30", "hyper-tls", "ipnet", "js-sys", @@ -2767,14 +2790,14 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg 0.50.0", + "winreg", ] [[package]] name = "reqwest" -version = "0.12.5" +version = "0.12.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" dependencies = [ "base64 0.22.1", "bytes", @@ -2782,11 +2805,11 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.4.5", + "h2 0.4.6", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "http-body-util", - "hyper 1.3.1", + "hyper 1.4.1", "hyper-rustls", "hyper-util", "ipnet", @@ -2797,8 +2820,8 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.10", - "rustls-pemfile 2.1.2", + "rustls 0.23.12", + "rustls-pemfile 2.1.3", "rustls-pki-types", "serde", "serde_json", @@ -2813,7 +2836,7 @@ dependencies = [ "wasm-bindgen-futures", "web-sys", "webpki-roots 0.26.3", - "winreg 0.52.0", + "windows-registry", ] [[package]] @@ -2878,9 +2901,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" -version = "1.1.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" [[package]] name = "rustix" @@ -2921,28 +2944,15 @@ dependencies = [ [[package]] name = "rustls" -version = "0.22.4" +version = "0.23.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" dependencies = [ "log", - "ring 0.17.8", - "rustls-pki-types", - "rustls-webpki 0.102.4", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls" -version = "0.23.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402" -dependencies = [ "once_cell", "ring 0.17.8", "rustls-pki-types", - "rustls-webpki 0.102.4", + "rustls-webpki 0.102.6", "subtle", "zeroize", ] @@ -2970,9 +2980,9 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" dependencies = [ "base64 0.22.1", "rustls-pki-types", @@ -2980,9 +2990,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" [[package]] name = "rustls-webpki" @@ -2996,9 +3006,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.4" +version = "0.102.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" +checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" dependencies = [ "ring 0.17.8", "rustls-pki-types", @@ -3058,7 +3068,7 @@ checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -3069,7 +3079,7 @@ checksum = "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -3084,8 +3094,8 @@ dependencies = [ [[package]] name = "sdk-common" -version = "0.5.0" -source = "git+https://github.com/breez/breez-sdk?branch=main#8e4f8467892837421707e0b6f935edc494fdac58" +version = "0.5.1-rc6" +source = "git+https://github.com/breez/breez-sdk?branch=main#14715a7a178de28171de8d75f23b5d39a963fdb1" dependencies = [ "aes 0.8.4", "anyhow", @@ -3093,6 +3103,7 @@ dependencies = [ "bip21", "bitcoin 0.29.2", "cbc", + "elements", "hex", "lightning 0.0.116", "lightning-invoice 0.24.0", @@ -3108,6 +3119,7 @@ dependencies = [ "tonic", "tonic-build", "url", + "urlencoding", ] [[package]] @@ -3224,9 +3236,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.203" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" dependencies = [ "serde_derive", ] @@ -3252,22 +3264,23 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] name = "serde_json" -version = "1.0.118" +version = "1.0.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d947f6b3163d8857ea16c4fa0dd4840d52f3041039a85decd46867eb1abef2e4" +checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -3328,6 +3341,12 @@ dependencies = [ "digest", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "signal-hook-registry" version = "1.4.2" @@ -3420,7 +3439,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -3442,9 +3461,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.68" +version = "2.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" +checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" dependencies = [ "proc-macro2", "quote", @@ -3462,23 +3481,26 @@ name = "sync_wrapper" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] [[package]] name = "system-configuration" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +checksum = "658bc6ee10a9b4fcf576e9b0819d95ec16f4d2c02d39fd83ac1c8789785c4a42" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "core-foundation", "system-configuration-sys", ] [[package]] name = "system-configuration-sys" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" dependencies = [ "core-foundation-sys", "libc", @@ -3496,14 +3518,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.10.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" dependencies = [ "cfg-if", "fastrand", + "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3543,22 +3566,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -3572,9 +3595,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -3587,21 +3610,20 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.0" +version = "1.39.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5" dependencies = [ "backtrace", "bytes", "libc", "mio", - "num_cpus", "parking_lot 0.12.3", "pin-project-lite", "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -3616,13 +3638,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -3652,7 +3674,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.10", + "rustls 0.23.12", "rustls-pki-types", "tokio", ] @@ -3721,7 +3743,7 @@ dependencies = [ "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.29", + "hyper 0.14.30", "hyper-timeout", "percent-encoding", "pin-project", @@ -3776,15 +3798,15 @@ dependencies = [ [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" @@ -3805,7 +3827,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -3911,7 +3933,7 @@ checksum = "cb3a4c447c50fcda7bc5604a8588b7e1f37ffbfd8838a1516a290398efa7c6f0" dependencies = [ "anyhow", "camino", - "clap 4.5.7", + "clap 4.5.16", "uniffi_bindgen 0.27.3", "uniffi_build 0.27.3", "uniffi_core 0.27.3", @@ -3975,7 +3997,7 @@ dependencies = [ "askama 0.12.1", "camino", "cargo_metadata", - "clap 4.5.7", + "clap 4.5.16", "fs-err", "glob", "goblin 0.8.2", @@ -3998,7 +4020,7 @@ dependencies = [ "anyhow", "askama 0.12.1", "camino", - "clap 4.5.7", + "clap 4.5.16", "heck 0.4.1", "include_dir", "paste", @@ -4046,7 +4068,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55137c122f712d9330fd985d66fa61bdc381752e89c35708c13ce63049a3002c" dependencies = [ "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -4056,7 +4078,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5c400339a9d1d17be34257d0b407e91d64af335e5b4fa49f4bf28467fc8d635" dependencies = [ "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] @@ -4122,7 +4144,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.68", + "syn 2.0.75", "toml", "uniffi_meta 0.27.3", ] @@ -4252,18 +4274,17 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "2.9.7" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d11a831e3c0b56e438a28308e7c810799e3c118417f342d30ecec080105395cd" +checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" dependencies = [ "base64 0.22.1", "flate2", "log", "native-tls", "once_cell", - "rustls 0.22.4", + "rustls 0.23.12", "rustls-pki-types", - "rustls-webpki 0.102.4", "serde", "serde_json", "url", @@ -4281,6 +4302,12 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + [[package]] name = "utf-8" version = "0.7.6" @@ -4295,9 +4322,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.9.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" dependencies = [ "getrandom", ] @@ -4310,9 +4337,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "want" @@ -4331,34 +4358,35 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" dependencies = [ "cfg-if", "js-sys", @@ -4368,9 +4396,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4378,22 +4406,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] name = "wasm-timer" @@ -4412,9 +4440,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" dependencies = [ "js-sys", "wasm-bindgen", @@ -4502,11 +4530,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -4521,7 +4549,37 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", ] [[package]] @@ -4539,7 +4597,16 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -4559,18 +4626,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -4581,9 +4648,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -4593,9 +4660,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -4605,15 +4672,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -4623,9 +4690,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -4635,9 +4702,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -4647,9 +4714,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -4659,9 +4726,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winreg" @@ -4673,34 +4740,25 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "zerocopy" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.75", ] [[package]] diff --git a/lib/bindings/langs/flutter/breez_sdk_liquid/include/breez_sdk_liquid.h b/lib/bindings/langs/flutter/breez_sdk_liquid/include/breez_sdk_liquid.h index 06c61d5..062b60b 100644 --- a/lib/bindings/langs/flutter/breez_sdk_liquid/include/breez_sdk_liquid.h +++ b/lib/bindings/langs/flutter/breez_sdk_liquid/include/breez_sdk_liquid.h @@ -284,6 +284,15 @@ typedef struct wire_cst_bitcoin_address_data { struct wire_cst_list_prim_u_8_strict *message; } wire_cst_bitcoin_address_data; +typedef struct wire_cst_liquid_address_data { + struct wire_cst_list_prim_u_8_strict *address; + int32_t network; + struct wire_cst_list_prim_u_8_strict *asset_id; + uint64_t *amount_sat; + struct wire_cst_list_prim_u_8_strict *label; + struct wire_cst_list_prim_u_8_strict *message; +} wire_cst_liquid_address_data; + typedef struct wire_cst_route_hint_hop { struct wire_cst_list_prim_u_8_strict *src_node_id; uint64_t short_channel_id; @@ -459,6 +468,10 @@ typedef struct wire_cst_InputType_BitcoinAddress { struct wire_cst_bitcoin_address_data *address; } wire_cst_InputType_BitcoinAddress; +typedef struct wire_cst_InputType_LiquidAddress { + struct wire_cst_liquid_address_data *address; +} wire_cst_InputType_LiquidAddress; + typedef struct wire_cst_InputType_Bolt11 { struct wire_cst_ln_invoice *invoice; } wire_cst_InputType_Bolt11; @@ -489,6 +502,7 @@ typedef struct wire_cst_InputType_LnUrlError { typedef union InputTypeKind { struct wire_cst_InputType_BitcoinAddress BitcoinAddress; + struct wire_cst_InputType_LiquidAddress LiquidAddress; struct wire_cst_InputType_Bolt11 Bolt11; struct wire_cst_InputType_NodeId NodeId; struct wire_cst_InputType_Url Url; @@ -946,6 +960,8 @@ struct wire_cst_connect_request *frbgen_breez_liquid_cst_new_box_autoadd_connect int64_t *frbgen_breez_liquid_cst_new_box_autoadd_i_64(int64_t value); +struct wire_cst_liquid_address_data *frbgen_breez_liquid_cst_new_box_autoadd_liquid_address_data(void); + struct wire_cst_list_payments_request *frbgen_breez_liquid_cst_new_box_autoadd_list_payments_request(void); struct wire_cst_ln_invoice *frbgen_breez_liquid_cst_new_box_autoadd_ln_invoice(void); @@ -1038,6 +1054,7 @@ static int64_t dummy_method_to_enforce_bundling(void) { dummy_var ^= ((int64_t) (void*) frbgen_breez_liquid_cst_new_box_autoadd_buy_bitcoin_request); dummy_var ^= ((int64_t) (void*) frbgen_breez_liquid_cst_new_box_autoadd_connect_request); dummy_var ^= ((int64_t) (void*) frbgen_breez_liquid_cst_new_box_autoadd_i_64); + dummy_var ^= ((int64_t) (void*) frbgen_breez_liquid_cst_new_box_autoadd_liquid_address_data); dummy_var ^= ((int64_t) (void*) frbgen_breez_liquid_cst_new_box_autoadd_list_payments_request); dummy_var ^= ((int64_t) (void*) frbgen_breez_liquid_cst_new_box_autoadd_ln_invoice); dummy_var ^= ((int64_t) (void*) frbgen_breez_liquid_cst_new_box_autoadd_ln_url_auth_request_data); diff --git a/lib/bindings/src/breez_sdk_liquid.udl b/lib/bindings/src/breez_sdk_liquid.udl index 3c007e0..c5d83da 100644 --- a/lib/bindings/src/breez_sdk_liquid.udl +++ b/lib/bindings/src/breez_sdk_liquid.udl @@ -41,6 +41,7 @@ dictionary RouteHintHop { [Enum] interface InputType { BitcoinAddress(BitcoinAddressData address); + LiquidAddress(LiquidAddressData address); Bolt11(LNInvoice invoice); NodeId(string node_id); Url(string url); @@ -58,6 +59,15 @@ dictionary BitcoinAddressData { string? message; }; +dictionary LiquidAddressData { + string address; + Network network; + string? asset_id; + u64? amount_sat; + string? label; + string? message; +}; + dictionary LnUrlPayRequestData { string callback; u64 min_sendable; diff --git a/lib/bindings/src/lib.rs b/lib/bindings/src/lib.rs index 151c619..ba3b437 100644 --- a/lib/bindings/src/lib.rs +++ b/lib/bindings/src/lib.rs @@ -3,16 +3,7 @@ use std::sync::Arc; use anyhow::Result; -use breez_sdk_liquid::logger::Logger; -use breez_sdk_liquid::{ - error::*, model::*, sdk::LiquidSdk, AesSuccessActionDataDecrypted, AesSuccessActionDataResult, - BitcoinAddressData, CurrencyInfo, FiatCurrency, InputType, LNInvoice, LnUrlAuthError, - LnUrlAuthRequestData, LnUrlCallbackStatus, LnUrlErrorData, LnUrlPayError, LnUrlPayErrorData, - LnUrlPayRequest, LnUrlPayRequestData, LnUrlWithdrawError, LnUrlWithdrawRequest, - LnUrlWithdrawRequestData, LnUrlWithdrawResult, LnUrlWithdrawSuccessData, LocaleOverrides, - LocalizedName, MessageSuccessActionData, Network, Rate, RouteHint, RouteHintHop, - SuccessActionProcessed, Symbol, UrlSuccessActionData, -}; +use breez_sdk_liquid::{error::*, logger::Logger, model::*, prelude::*}; use log::{Metadata, Record, SetLoggerError}; use once_cell::sync::Lazy; use tokio::runtime::Runtime; diff --git a/lib/core/Cargo.toml b/lib/core/Cargo.toml index ca66e89..e9b1adc 100644 --- a/lib/core/Cargo.toml +++ b/lib/core/Cargo.toml @@ -25,7 +25,7 @@ lwk_wollet = { git = "https://github.com/dangeross/lwk", branch = "savage-try-he #lwk_wollet = "0.7.0" rusqlite = { version = "0.31", features = ["backup", "bundled"] } rusqlite_migration = "1.0" -sdk-common = { git = "https://github.com/breez/breez-sdk", branch = "main" } +sdk-common = { git = "https://github.com/breez/breez-sdk", branch = "main", features = ["liquid"]} serde = { version = "1.0.197", features = ["derive"] } serde_json = "1.0.116" strum = "0.25" diff --git a/lib/core/src/bindings.rs b/lib/core/src/bindings.rs index 6e50cd7..74f1a75 100644 --- a/lib/core/src/bindings.rs +++ b/lib/core/src/bindings.rs @@ -5,13 +5,7 @@ use std::sync::Arc; use anyhow::Result; use flutter_rust_bridge::frb; use log::{Level, LevelFilter, Metadata, Record, SetLoggerError}; -pub use sdk_common::prelude::{ - AesSuccessActionDataDecrypted, AesSuccessActionDataResult, BitcoinAddressData, CurrencyInfo, - FiatCurrency, InputType, LNInvoice, LnUrlAuthRequestData, LnUrlErrorData, LnUrlPayErrorData, - LnUrlPayRequest, LnUrlPayRequestData, LnUrlWithdrawRequest, LnUrlWithdrawRequestData, - LocaleOverrides, LocalizedName, MessageSuccessActionData, Network, Rate, RouteHint, - RouteHintHop, SuccessActionProcessed, Symbol, UrlSuccessActionData, -}; +pub use sdk_common::prelude::*; use crate::{error::*, frb_generated::StreamSink, model::*, sdk::LiquidSdk}; @@ -316,6 +310,7 @@ pub struct _RouteHintHop { #[frb(mirror(InputType))] pub enum _InputType { BitcoinAddress { address: BitcoinAddressData }, + LiquidAddress { address: LiquidAddressData }, Bolt11 { invoice: LNInvoice }, NodeId { node_id: String }, Url { url: String }, @@ -334,6 +329,16 @@ pub struct _BitcoinAddressData { pub message: Option, } +#[frb(mirror(LiquidAddressData))] +pub struct _LiquidAddressData { + pub address: String, + pub network: Network, + pub asset_id: Option, + pub amount_sat: Option, + pub label: Option, + pub message: Option, +} + #[frb(mirror(LnUrlPayRequestData))] pub struct _LnUrlPayRequestData { pub callback: String, diff --git a/lib/core/src/frb_generated.rs b/lib/core/src/frb_generated.rs index ed748b7..40a098c 100644 --- a/lib/core/src/frb_generated.rs +++ b/lib/core/src/frb_generated.rs @@ -1616,6 +1616,9 @@ const _: fn() = || { crate::bindings::InputType::BitcoinAddress { address } => { let _: crate::bindings::BitcoinAddressData = address; } + crate::bindings::InputType::LiquidAddress { address } => { + let _: crate::bindings::LiquidAddressData = address; + } crate::bindings::InputType::Bolt11 { invoice } => { let _: crate::bindings::LNInvoice = invoice; } @@ -1638,6 +1641,15 @@ const _: fn() = || { let _: crate::bindings::LnUrlErrorData = data; } } + { + let LiquidAddressData = None::.unwrap(); + let _: String = LiquidAddressData.address; + let _: crate::bindings::Network = LiquidAddressData.network; + let _: Option = LiquidAddressData.asset_id; + let _: Option = LiquidAddressData.amount_sat; + let _: Option = LiquidAddressData.label; + let _: Option = LiquidAddressData.message; + } { let LNInvoice = None::.unwrap(); let _: String = LNInvoice.bolt11; @@ -2157,36 +2169,43 @@ impl SseDecode for crate::bindings::InputType { }; } 1 => { + let mut var_address = + ::sse_decode(deserializer); + return crate::bindings::InputType::LiquidAddress { + address: var_address, + }; + } + 2 => { let mut var_invoice = ::sse_decode(deserializer); return crate::bindings::InputType::Bolt11 { invoice: var_invoice, }; } - 2 => { + 3 => { let mut var_nodeId = ::sse_decode(deserializer); return crate::bindings::InputType::NodeId { node_id: var_nodeId, }; } - 3 => { + 4 => { let mut var_url = ::sse_decode(deserializer); return crate::bindings::InputType::Url { url: var_url }; } - 4 => { + 5 => { let mut var_data = ::sse_decode(deserializer); return crate::bindings::InputType::LnUrlPay { data: var_data }; } - 5 => { + 6 => { let mut var_data = ::sse_decode(deserializer); return crate::bindings::InputType::LnUrlWithdraw { data: var_data }; } - 6 => { + 7 => { let mut var_data = ::sse_decode(deserializer); return crate::bindings::InputType::LnUrlAuth { data: var_data }; } - 7 => { + 8 => { let mut var_data = ::sse_decode(deserializer); return crate::bindings::InputType::LnUrlError { data: var_data }; } @@ -2223,6 +2242,26 @@ impl SseDecode for crate::model::Limits { } } +impl SseDecode for crate::bindings::LiquidAddressData { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + let mut var_address = ::sse_decode(deserializer); + let mut var_network = ::sse_decode(deserializer); + let mut var_assetId = >::sse_decode(deserializer); + let mut var_amountSat = >::sse_decode(deserializer); + let mut var_label = >::sse_decode(deserializer); + let mut var_message = >::sse_decode(deserializer); + return crate::bindings::LiquidAddressData { + address: var_address, + network: var_network, + asset_id: var_assetId, + amount_sat: var_amountSat, + label: var_label, + message: var_message, + }; + } +} + impl SseDecode for crate::model::LiquidNetwork { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { @@ -3846,27 +3885,30 @@ impl flutter_rust_bridge::IntoDart for FrbWrapper { crate::bindings::InputType::BitcoinAddress { address } => { [0.into_dart(), address.into_into_dart().into_dart()].into_dart() } + crate::bindings::InputType::LiquidAddress { address } => { + [1.into_dart(), address.into_into_dart().into_dart()].into_dart() + } crate::bindings::InputType::Bolt11 { invoice } => { - [1.into_dart(), invoice.into_into_dart().into_dart()].into_dart() + [2.into_dart(), invoice.into_into_dart().into_dart()].into_dart() } crate::bindings::InputType::NodeId { node_id } => { - [2.into_dart(), node_id.into_into_dart().into_dart()].into_dart() + [3.into_dart(), node_id.into_into_dart().into_dart()].into_dart() } crate::bindings::InputType::Url { url } => { - [3.into_dart(), url.into_into_dart().into_dart()].into_dart() + [4.into_dart(), url.into_into_dart().into_dart()].into_dart() } crate::bindings::InputType::LnUrlPay { data } => { - [4.into_dart(), data.into_into_dart().into_dart()].into_dart() - } - crate::bindings::InputType::LnUrlWithdraw { data } => { [5.into_dart(), data.into_into_dart().into_dart()].into_dart() } - crate::bindings::InputType::LnUrlAuth { data } => { + crate::bindings::InputType::LnUrlWithdraw { data } => { [6.into_dart(), data.into_into_dart().into_dart()].into_dart() } - crate::bindings::InputType::LnUrlError { data } => { + crate::bindings::InputType::LnUrlAuth { data } => { [7.into_dart(), data.into_into_dart().into_dart()].into_dart() } + crate::bindings::InputType::LnUrlError { data } => { + [8.into_dart(), data.into_into_dart().into_dart()].into_dart() + } _ => { unimplemented!(""); } @@ -3923,6 +3965,31 @@ impl flutter_rust_bridge::IntoIntoDart for crate::model::L } } // Codec=Dco (DartCObject based), see doc to use other codecs +impl flutter_rust_bridge::IntoDart for FrbWrapper { + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { + [ + self.0.address.into_into_dart().into_dart(), + self.0.network.into_into_dart().into_dart(), + self.0.asset_id.into_into_dart().into_dart(), + self.0.amount_sat.into_into_dart().into_dart(), + self.0.label.into_into_dart().into_dart(), + self.0.message.into_into_dart().into_dart(), + ] + .into_dart() + } +} +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive + for FrbWrapper +{ +} +impl flutter_rust_bridge::IntoIntoDart> + for crate::bindings::LiquidAddressData +{ + fn into_into_dart(self) -> FrbWrapper { + self.into() + } +} +// Codec=Dco (DartCObject based), see doc to use other codecs impl flutter_rust_bridge::IntoDart for crate::model::LiquidNetwork { fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { match self { @@ -5486,32 +5553,36 @@ impl SseEncode for crate::bindings::InputType { ::sse_encode(0, serializer); ::sse_encode(address, serializer); } - crate::bindings::InputType::Bolt11 { invoice } => { + crate::bindings::InputType::LiquidAddress { address } => { ::sse_encode(1, serializer); + ::sse_encode(address, serializer); + } + crate::bindings::InputType::Bolt11 { invoice } => { + ::sse_encode(2, serializer); ::sse_encode(invoice, serializer); } crate::bindings::InputType::NodeId { node_id } => { - ::sse_encode(2, serializer); + ::sse_encode(3, serializer); ::sse_encode(node_id, serializer); } crate::bindings::InputType::Url { url } => { - ::sse_encode(3, serializer); + ::sse_encode(4, serializer); ::sse_encode(url, serializer); } crate::bindings::InputType::LnUrlPay { data } => { - ::sse_encode(4, serializer); + ::sse_encode(5, serializer); ::sse_encode(data, serializer); } crate::bindings::InputType::LnUrlWithdraw { data } => { - ::sse_encode(5, serializer); + ::sse_encode(6, serializer); ::sse_encode(data, serializer); } crate::bindings::InputType::LnUrlAuth { data } => { - ::sse_encode(6, serializer); + ::sse_encode(7, serializer); ::sse_encode(data, serializer); } crate::bindings::InputType::LnUrlError { data } => { - ::sse_encode(7, serializer); + ::sse_encode(8, serializer); ::sse_encode(data, serializer); } _ => { @@ -5538,6 +5609,18 @@ impl SseEncode for crate::model::Limits { } } +impl SseEncode for crate::bindings::LiquidAddressData { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + ::sse_encode(self.address, serializer); + ::sse_encode(self.network, serializer); + >::sse_encode(self.asset_id, serializer); + >::sse_encode(self.amount_sat, serializer); + >::sse_encode(self.label, serializer); + >::sse_encode(self.message, serializer); + } +} + impl SseEncode for crate::model::LiquidNetwork { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { @@ -6791,6 +6874,13 @@ mod io { unsafe { *flutter_rust_bridge::for_generated::box_from_leak_ptr(self) } } } + impl CstDecode for *mut wire_cst_liquid_address_data { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> crate::bindings::LiquidAddressData { + let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }; + CstDecode::::cst_decode(*wrap).into() + } + } impl CstDecode for *mut wire_cst_list_payments_request { // Codec=Cst (C-struct based), see doc to use other codecs fn cst_decode(self) -> crate::model::ListPaymentsRequest { @@ -7101,42 +7191,48 @@ mod io { } } 1 => { + let ans = unsafe { self.kind.LiquidAddress }; + crate::bindings::InputType::LiquidAddress { + address: ans.address.cst_decode(), + } + } + 2 => { let ans = unsafe { self.kind.Bolt11 }; crate::bindings::InputType::Bolt11 { invoice: ans.invoice.cst_decode(), } } - 2 => { + 3 => { let ans = unsafe { self.kind.NodeId }; crate::bindings::InputType::NodeId { node_id: ans.node_id.cst_decode(), } } - 3 => { + 4 => { let ans = unsafe { self.kind.Url }; crate::bindings::InputType::Url { url: ans.url.cst_decode(), } } - 4 => { + 5 => { let ans = unsafe { self.kind.LnUrlPay }; crate::bindings::InputType::LnUrlPay { data: ans.data.cst_decode(), } } - 5 => { + 6 => { let ans = unsafe { self.kind.LnUrlWithdraw }; crate::bindings::InputType::LnUrlWithdraw { data: ans.data.cst_decode(), } } - 6 => { + 7 => { let ans = unsafe { self.kind.LnUrlAuth }; crate::bindings::InputType::LnUrlAuth { data: ans.data.cst_decode(), } } - 7 => { + 8 => { let ans = unsafe { self.kind.LnUrlError }; crate::bindings::InputType::LnUrlError { data: ans.data.cst_decode(), @@ -7167,6 +7263,19 @@ mod io { } } } + impl CstDecode for wire_cst_liquid_address_data { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> crate::bindings::LiquidAddressData { + crate::bindings::LiquidAddressData { + address: self.address.cst_decode(), + network: self.network.cst_decode(), + asset_id: self.asset_id.cst_decode(), + amount_sat: self.amount_sat.cst_decode(), + label: self.label.cst_decode(), + message: self.message.cst_decode(), + } + } + } impl CstDecode> for *mut wire_cst_list_fiat_currency { // Codec=Cst (C-struct based), see doc to use other codecs fn cst_decode(self) -> Vec { @@ -8291,6 +8400,23 @@ mod io { Self::new_with_null_ptr() } } + impl NewWithNullPtr for wire_cst_liquid_address_data { + fn new_with_null_ptr() -> Self { + Self { + address: core::ptr::null_mut(), + network: Default::default(), + asset_id: core::ptr::null_mut(), + amount_sat: core::ptr::null_mut(), + label: core::ptr::null_mut(), + message: core::ptr::null_mut(), + } + } + } + impl Default for wire_cst_liquid_address_data { + fn default() -> Self { + Self::new_with_null_ptr() + } + } impl NewWithNullPtr for wire_cst_list_payments_request { fn new_with_null_ptr() -> Self { Self { @@ -9428,6 +9554,14 @@ mod io { flutter_rust_bridge::for_generated::new_leak_box_ptr(value) } + #[no_mangle] + pub extern "C" fn frbgen_breez_liquid_cst_new_box_autoadd_liquid_address_data( + ) -> *mut wire_cst_liquid_address_data { + flutter_rust_bridge::for_generated::new_leak_box_ptr( + wire_cst_liquid_address_data::new_with_null_ptr(), + ) + } + #[no_mangle] pub extern "C" fn frbgen_breez_liquid_cst_new_box_autoadd_list_payments_request( ) -> *mut wire_cst_list_payments_request { @@ -9901,6 +10035,7 @@ mod io { #[derive(Clone, Copy)] pub union InputTypeKind { BitcoinAddress: wire_cst_InputType_BitcoinAddress, + LiquidAddress: wire_cst_InputType_LiquidAddress, Bolt11: wire_cst_InputType_Bolt11, NodeId: wire_cst_InputType_NodeId, Url: wire_cst_InputType_Url, @@ -9917,6 +10052,11 @@ mod io { } #[repr(C)] #[derive(Clone, Copy)] + pub struct wire_cst_InputType_LiquidAddress { + address: *mut wire_cst_liquid_address_data, + } + #[repr(C)] + #[derive(Clone, Copy)] pub struct wire_cst_InputType_Bolt11 { invoice: *mut wire_cst_ln_invoice, } @@ -9965,6 +10105,16 @@ mod io { } #[repr(C)] #[derive(Clone, Copy)] + pub struct wire_cst_liquid_address_data { + address: *mut wire_cst_list_prim_u_8_strict, + network: i32, + asset_id: *mut wire_cst_list_prim_u_8_strict, + amount_sat: *mut u64, + label: *mut wire_cst_list_prim_u_8_strict, + message: *mut wire_cst_list_prim_u_8_strict, + } + #[repr(C)] + #[derive(Clone, Copy)] pub struct wire_cst_list_fiat_currency { ptr: *mut wire_cst_fiat_currency, len: i32, diff --git a/packages/dart/lib/src/bindings.dart b/packages/dart/lib/src/bindings.dart index b8cbc9a..bf52713 100644 --- a/packages/dart/lib/src/bindings.dart +++ b/packages/dart/lib/src/bindings.dart @@ -243,6 +243,9 @@ sealed class InputType with _$InputType { const factory InputType.bitcoinAddress({ required BitcoinAddressData address, }) = InputType_BitcoinAddress; + const factory InputType.liquidAddress({ + required LiquidAddressData address, + }) = InputType_LiquidAddress; const factory InputType.bolt11({ required LNInvoice invoice, }) = InputType_Bolt11; @@ -266,6 +269,45 @@ sealed class InputType with _$InputType { }) = InputType_LnUrlError; } +class LiquidAddressData { + final String address; + final Network network; + final String? assetId; + final BigInt? amountSat; + final String? label; + final String? message; + + const LiquidAddressData({ + required this.address, + required this.network, + this.assetId, + this.amountSat, + this.label, + this.message, + }); + + @override + int get hashCode => + address.hashCode ^ + network.hashCode ^ + assetId.hashCode ^ + amountSat.hashCode ^ + label.hashCode ^ + message.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is LiquidAddressData && + runtimeType == other.runtimeType && + address == other.address && + network == other.network && + assetId == other.assetId && + amountSat == other.amountSat && + label == other.label && + message == other.message; +} + class LNInvoice { final String bolt11; final Network network; diff --git a/packages/dart/lib/src/bindings.freezed.dart b/packages/dart/lib/src/bindings.freezed.dart index 16161c2..be0d7c2 100644 --- a/packages/dart/lib/src/bindings.freezed.dart +++ b/packages/dart/lib/src/bindings.freezed.dart @@ -305,6 +305,86 @@ abstract class InputType_BitcoinAddress extends InputType { throw _privateConstructorUsedError; } +/// @nodoc +abstract class _$$InputType_LiquidAddressImplCopyWith<$Res> { + factory _$$InputType_LiquidAddressImplCopyWith( + _$InputType_LiquidAddressImpl value, $Res Function(_$InputType_LiquidAddressImpl) then) = + __$$InputType_LiquidAddressImplCopyWithImpl<$Res>; + @useResult + $Res call({LiquidAddressData address}); +} + +/// @nodoc +class __$$InputType_LiquidAddressImplCopyWithImpl<$Res> + extends _$InputTypeCopyWithImpl<$Res, _$InputType_LiquidAddressImpl> + implements _$$InputType_LiquidAddressImplCopyWith<$Res> { + __$$InputType_LiquidAddressImplCopyWithImpl( + _$InputType_LiquidAddressImpl _value, $Res Function(_$InputType_LiquidAddressImpl) _then) + : super(_value, _then); + + /// Create a copy of InputType + /// with the given fields replaced by the non-null parameter values. + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? address = null, + }) { + return _then(_$InputType_LiquidAddressImpl( + address: null == address + ? _value.address + : address // ignore: cast_nullable_to_non_nullable + as LiquidAddressData, + )); + } +} + +/// @nodoc + +class _$InputType_LiquidAddressImpl extends InputType_LiquidAddress { + const _$InputType_LiquidAddressImpl({required this.address}) : super._(); + + @override + final LiquidAddressData address; + + @override + String toString() { + return 'InputType.liquidAddress(address: $address)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$InputType_LiquidAddressImpl && + (identical(other.address, address) || other.address == address)); + } + + @override + int get hashCode => Object.hash(runtimeType, address); + + /// Create a copy of InputType + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + @override + @pragma('vm:prefer-inline') + _$$InputType_LiquidAddressImplCopyWith<_$InputType_LiquidAddressImpl> get copyWith => + __$$InputType_LiquidAddressImplCopyWithImpl<_$InputType_LiquidAddressImpl>(this, _$identity); +} + +abstract class InputType_LiquidAddress extends InputType { + const factory InputType_LiquidAddress({required final LiquidAddressData address}) = + _$InputType_LiquidAddressImpl; + const InputType_LiquidAddress._() : super._(); + + LiquidAddressData get address; + + /// Create a copy of InputType + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + _$$InputType_LiquidAddressImplCopyWith<_$InputType_LiquidAddressImpl> get copyWith => + throw _privateConstructorUsedError; +} + /// @nodoc abstract class _$$InputType_Bolt11ImplCopyWith<$Res> { factory _$$InputType_Bolt11ImplCopyWith( diff --git a/packages/dart/lib/src/frb_generated.dart b/packages/dart/lib/src/frb_generated.dart index 17e38c2..8627aa0 100644 --- a/packages/dart/lib/src/frb_generated.dart +++ b/packages/dart/lib/src/frb_generated.dart @@ -1245,6 +1245,12 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { return dco_decode_i_64(raw); } + @protected + LiquidAddressData dco_decode_box_autoadd_liquid_address_data(dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + return dco_decode_liquid_address_data(raw); + } + @protected ListPaymentsRequest dco_decode_box_autoadd_list_payments_request(dynamic raw) { // Codec=Dco (DartCObject based), see doc to use other codecs @@ -1543,30 +1549,34 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { address: dco_decode_box_autoadd_bitcoin_address_data(raw[1]), ); case 1: + return InputType_LiquidAddress( + address: dco_decode_box_autoadd_liquid_address_data(raw[1]), + ); + case 2: return InputType_Bolt11( invoice: dco_decode_box_autoadd_ln_invoice(raw[1]), ); - case 2: + case 3: return InputType_NodeId( nodeId: dco_decode_String(raw[1]), ); - case 3: + case 4: return InputType_Url( url: dco_decode_String(raw[1]), ); - case 4: + case 5: return InputType_LnUrlPay( data: dco_decode_box_autoadd_ln_url_pay_request_data(raw[1]), ); - case 5: + case 6: return InputType_LnUrlWithdraw( data: dco_decode_box_autoadd_ln_url_withdraw_request_data(raw[1]), ); - case 6: + case 7: return InputType_LnUrlAuth( data: dco_decode_box_autoadd_ln_url_auth_request_data(raw[1]), ); - case 7: + case 8: return InputType_LnUrlError( data: dco_decode_box_autoadd_ln_url_error_data(raw[1]), ); @@ -1598,6 +1608,21 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { ); } + @protected + LiquidAddressData dco_decode_liquid_address_data(dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + final arr = raw as List; + if (arr.length != 6) throw Exception('unexpected arr length: expect 6 but see ${arr.length}'); + return LiquidAddressData( + address: dco_decode_String(arr[0]), + network: dco_decode_network(arr[1]), + assetId: dco_decode_opt_String(arr[2]), + amountSat: dco_decode_opt_box_autoadd_u_64(arr[3]), + label: dco_decode_opt_String(arr[4]), + message: dco_decode_opt_String(arr[5]), + ); + } + @protected LiquidNetwork dco_decode_liquid_network(dynamic raw) { // Codec=Dco (DartCObject based), see doc to use other codecs @@ -2769,6 +2794,12 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { return (sse_decode_i_64(deserializer)); } + @protected + LiquidAddressData sse_decode_box_autoadd_liquid_address_data(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + return (sse_decode_liquid_address_data(deserializer)); + } + @protected ListPaymentsRequest sse_decode_box_autoadd_list_payments_request(SseDeserializer deserializer) { // Codec=Sse (Serialization based), see doc to use other codecs @@ -3073,24 +3104,27 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { var var_address = sse_decode_box_autoadd_bitcoin_address_data(deserializer); return InputType_BitcoinAddress(address: var_address); case 1: + var var_address = sse_decode_box_autoadd_liquid_address_data(deserializer); + return InputType_LiquidAddress(address: var_address); + case 2: var var_invoice = sse_decode_box_autoadd_ln_invoice(deserializer); return InputType_Bolt11(invoice: var_invoice); - case 2: + case 3: var var_nodeId = sse_decode_String(deserializer); return InputType_NodeId(nodeId: var_nodeId); - case 3: + case 4: var var_url = sse_decode_String(deserializer); return InputType_Url(url: var_url); - case 4: + case 5: var var_data = sse_decode_box_autoadd_ln_url_pay_request_data(deserializer); return InputType_LnUrlPay(data: var_data); - case 5: + case 6: var var_data = sse_decode_box_autoadd_ln_url_withdraw_request_data(deserializer); return InputType_LnUrlWithdraw(data: var_data); - case 6: + case 7: var var_data = sse_decode_box_autoadd_ln_url_auth_request_data(deserializer); return InputType_LnUrlAuth(data: var_data); - case 7: + case 8: var var_data = sse_decode_box_autoadd_ln_url_error_data(deserializer); return InputType_LnUrlError(data: var_data); default: @@ -3115,6 +3149,24 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { return Limits(minSat: var_minSat, maxSat: var_maxSat, maxZeroConfSat: var_maxZeroConfSat); } + @protected + LiquidAddressData sse_decode_liquid_address_data(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + var var_address = sse_decode_String(deserializer); + var var_network = sse_decode_network(deserializer); + var var_assetId = sse_decode_opt_String(deserializer); + var var_amountSat = sse_decode_opt_box_autoadd_u_64(deserializer); + var var_label = sse_decode_opt_String(deserializer); + var var_message = sse_decode_opt_String(deserializer); + return LiquidAddressData( + address: var_address, + network: var_network, + assetId: var_assetId, + amountSat: var_amountSat, + label: var_label, + message: var_message); + } + @protected LiquidNetwork sse_decode_liquid_network(SseDeserializer deserializer) { // Codec=Sse (Serialization based), see doc to use other codecs @@ -4384,6 +4436,12 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { sse_encode_i_64(self, serializer); } + @protected + void sse_encode_box_autoadd_liquid_address_data(LiquidAddressData self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + sse_encode_liquid_address_data(self, serializer); + } + @protected void sse_encode_box_autoadd_list_payments_request(ListPaymentsRequest self, SseSerializer serializer) { // Codec=Sse (Serialization based), see doc to use other codecs @@ -4665,26 +4723,29 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { case InputType_BitcoinAddress(address: final address): sse_encode_i_32(0, serializer); sse_encode_box_autoadd_bitcoin_address_data(address, serializer); - case InputType_Bolt11(invoice: final invoice): + case InputType_LiquidAddress(address: final address): sse_encode_i_32(1, serializer); + sse_encode_box_autoadd_liquid_address_data(address, serializer); + case InputType_Bolt11(invoice: final invoice): + sse_encode_i_32(2, serializer); sse_encode_box_autoadd_ln_invoice(invoice, serializer); case InputType_NodeId(nodeId: final nodeId): - sse_encode_i_32(2, serializer); + sse_encode_i_32(3, serializer); sse_encode_String(nodeId, serializer); case InputType_Url(url: final url): - sse_encode_i_32(3, serializer); + sse_encode_i_32(4, serializer); sse_encode_String(url, serializer); case InputType_LnUrlPay(data: final data): - sse_encode_i_32(4, serializer); + sse_encode_i_32(5, serializer); sse_encode_box_autoadd_ln_url_pay_request_data(data, serializer); case InputType_LnUrlWithdraw(data: final data): - sse_encode_i_32(5, serializer); + sse_encode_i_32(6, serializer); sse_encode_box_autoadd_ln_url_withdraw_request_data(data, serializer); case InputType_LnUrlAuth(data: final data): - sse_encode_i_32(6, serializer); + sse_encode_i_32(7, serializer); sse_encode_box_autoadd_ln_url_auth_request_data(data, serializer); case InputType_LnUrlError(data: final data): - sse_encode_i_32(7, serializer); + sse_encode_i_32(8, serializer); sse_encode_box_autoadd_ln_url_error_data(data, serializer); default: throw UnimplementedError(''); @@ -4707,6 +4768,17 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi { sse_encode_u_64(self.maxZeroConfSat, serializer); } + @protected + void sse_encode_liquid_address_data(LiquidAddressData self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + sse_encode_String(self.address, serializer); + sse_encode_network(self.network, serializer); + sse_encode_opt_String(self.assetId, serializer); + sse_encode_opt_box_autoadd_u_64(self.amountSat, serializer); + sse_encode_opt_String(self.label, serializer); + sse_encode_opt_String(self.message, serializer); + } + @protected void sse_encode_liquid_network(LiquidNetwork self, SseSerializer serializer) { // Codec=Sse (Serialization based), see doc to use other codecs diff --git a/packages/dart/lib/src/frb_generated.io.dart b/packages/dart/lib/src/frb_generated.io.dart index 6088584..8d62266 100644 --- a/packages/dart/lib/src/frb_generated.io.dart +++ b/packages/dart/lib/src/frb_generated.io.dart @@ -95,6 +95,9 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl { @protected PlatformInt64 dco_decode_box_autoadd_i_64(dynamic raw); + @protected + LiquidAddressData dco_decode_box_autoadd_liquid_address_data(dynamic raw); + @protected ListPaymentsRequest dco_decode_box_autoadd_list_payments_request(dynamic raw); @@ -227,6 +230,9 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl { @protected Limits dco_decode_limits(dynamic raw); + @protected + LiquidAddressData dco_decode_liquid_address_data(dynamic raw); + @protected LiquidNetwork dco_decode_liquid_network(dynamic raw); @@ -546,6 +552,9 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl { @protected PlatformInt64 sse_decode_box_autoadd_i_64(SseDeserializer deserializer); + @protected + LiquidAddressData sse_decode_box_autoadd_liquid_address_data(SseDeserializer deserializer); + @protected ListPaymentsRequest sse_decode_box_autoadd_list_payments_request(SseDeserializer deserializer); @@ -681,6 +690,9 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl { @protected Limits sse_decode_limits(SseDeserializer deserializer); + @protected + LiquidAddressData sse_decode_liquid_address_data(SseDeserializer deserializer); + @protected LiquidNetwork sse_decode_liquid_network(SseDeserializer deserializer); @@ -1034,6 +1046,15 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl { return wire.cst_new_box_autoadd_i_64(cst_encode_i_64(raw)); } + @protected + ffi.Pointer cst_encode_box_autoadd_liquid_address_data( + LiquidAddressData raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + final ptr = wire.cst_new_box_autoadd_liquid_address_data(); + cst_api_fill_to_wire_liquid_address_data(raw, ptr.ref); + return ptr; + } + @protected ffi.Pointer cst_encode_box_autoadd_list_payments_request( ListPaymentsRequest raw) { @@ -1551,6 +1572,12 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl { cst_api_fill_to_wire_connect_request(apiObj, wireObj.ref); } + @protected + void cst_api_fill_to_wire_box_autoadd_liquid_address_data( + LiquidAddressData apiObj, ffi.Pointer wireObj) { + cst_api_fill_to_wire_liquid_address_data(apiObj, wireObj.ref); + } + @protected void cst_api_fill_to_wire_box_autoadd_list_payments_request( ListPaymentsRequest apiObj, ffi.Pointer wireObj) { @@ -1780,45 +1807,51 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl { wireObj.kind.BitcoinAddress.address = pre_address; return; } + if (apiObj is InputType_LiquidAddress) { + var pre_address = cst_encode_box_autoadd_liquid_address_data(apiObj.address); + wireObj.tag = 1; + wireObj.kind.LiquidAddress.address = pre_address; + return; + } if (apiObj is InputType_Bolt11) { var pre_invoice = cst_encode_box_autoadd_ln_invoice(apiObj.invoice); - wireObj.tag = 1; + wireObj.tag = 2; wireObj.kind.Bolt11.invoice = pre_invoice; return; } if (apiObj is InputType_NodeId) { var pre_node_id = cst_encode_String(apiObj.nodeId); - wireObj.tag = 2; + wireObj.tag = 3; wireObj.kind.NodeId.node_id = pre_node_id; return; } if (apiObj is InputType_Url) { var pre_url = cst_encode_String(apiObj.url); - wireObj.tag = 3; + wireObj.tag = 4; wireObj.kind.Url.url = pre_url; return; } if (apiObj is InputType_LnUrlPay) { var pre_data = cst_encode_box_autoadd_ln_url_pay_request_data(apiObj.data); - wireObj.tag = 4; + wireObj.tag = 5; wireObj.kind.LnUrlPay.data = pre_data; return; } if (apiObj is InputType_LnUrlWithdraw) { var pre_data = cst_encode_box_autoadd_ln_url_withdraw_request_data(apiObj.data); - wireObj.tag = 5; + wireObj.tag = 6; wireObj.kind.LnUrlWithdraw.data = pre_data; return; } if (apiObj is InputType_LnUrlAuth) { var pre_data = cst_encode_box_autoadd_ln_url_auth_request_data(apiObj.data); - wireObj.tag = 6; + wireObj.tag = 7; wireObj.kind.LnUrlAuth.data = pre_data; return; } if (apiObj is InputType_LnUrlError) { var pre_data = cst_encode_box_autoadd_ln_url_error_data(apiObj.data); - wireObj.tag = 7; + wireObj.tag = 8; wireObj.kind.LnUrlError.data = pre_data; return; } @@ -1838,6 +1871,17 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl { wireObj.max_zero_conf_sat = cst_encode_u_64(apiObj.maxZeroConfSat); } + @protected + void cst_api_fill_to_wire_liquid_address_data( + LiquidAddressData apiObj, wire_cst_liquid_address_data wireObj) { + wireObj.address = cst_encode_String(apiObj.address); + wireObj.network = cst_encode_network(apiObj.network); + wireObj.asset_id = cst_encode_opt_String(apiObj.assetId); + wireObj.amount_sat = cst_encode_opt_box_autoadd_u_64(apiObj.amountSat); + wireObj.label = cst_encode_opt_String(apiObj.label); + wireObj.message = cst_encode_opt_String(apiObj.message); + } + @protected void cst_api_fill_to_wire_list_payments_request( ListPaymentsRequest apiObj, wire_cst_list_payments_request wireObj) { @@ -2677,6 +2721,9 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl { @protected void sse_encode_box_autoadd_i_64(PlatformInt64 self, SseSerializer serializer); + @protected + void sse_encode_box_autoadd_liquid_address_data(LiquidAddressData self, SseSerializer serializer); + @protected void sse_encode_box_autoadd_list_payments_request(ListPaymentsRequest self, SseSerializer serializer); @@ -2818,6 +2865,9 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl { @protected void sse_encode_limits(Limits self, SseSerializer serializer); + @protected + void sse_encode_liquid_address_data(LiquidAddressData self, SseSerializer serializer); + @protected void sse_encode_liquid_network(LiquidNetwork self, SseSerializer serializer); @@ -3892,6 +3942,16 @@ class RustLibWire implements BaseWire { late final _cst_new_box_autoadd_i_64 = _cst_new_box_autoadd_i_64Ptr.asFunction Function(int)>(); + ffi.Pointer cst_new_box_autoadd_liquid_address_data() { + return _cst_new_box_autoadd_liquid_address_data(); + } + + late final _cst_new_box_autoadd_liquid_address_dataPtr = + _lookup Function()>>( + 'frbgen_breez_liquid_cst_new_box_autoadd_liquid_address_data'); + late final _cst_new_box_autoadd_liquid_address_data = _cst_new_box_autoadd_liquid_address_dataPtr + .asFunction Function()>(); + ffi.Pointer cst_new_box_autoadd_list_payments_request() { return _cst_new_box_autoadd_list_payments_request(); } @@ -4739,6 +4799,21 @@ final class wire_cst_bitcoin_address_data extends ffi.Struct { external ffi.Pointer message; } +final class wire_cst_liquid_address_data extends ffi.Struct { + external ffi.Pointer address; + + @ffi.Int32() + external int network; + + external ffi.Pointer asset_id; + + external ffi.Pointer amount_sat; + + external ffi.Pointer label; + + external ffi.Pointer message; +} + final class wire_cst_route_hint_hop extends ffi.Struct { external ffi.Pointer src_node_id; @@ -4990,6 +5065,10 @@ final class wire_cst_InputType_BitcoinAddress extends ffi.Struct { external ffi.Pointer address; } +final class wire_cst_InputType_LiquidAddress extends ffi.Struct { + external ffi.Pointer address; +} + final class wire_cst_InputType_Bolt11 extends ffi.Struct { external ffi.Pointer invoice; } @@ -5021,6 +5100,8 @@ final class wire_cst_InputType_LnUrlError extends ffi.Struct { final class InputTypeKind extends ffi.Union { external wire_cst_InputType_BitcoinAddress BitcoinAddress; + external wire_cst_InputType_LiquidAddress LiquidAddress; + external wire_cst_InputType_Bolt11 Bolt11; external wire_cst_InputType_NodeId NodeId; diff --git a/packages/flutter/lib/flutter_breez_liquid_bindings_generated.dart b/packages/flutter/lib/flutter_breez_liquid_bindings_generated.dart index 86d65de..e761994 100644 --- a/packages/flutter/lib/flutter_breez_liquid_bindings_generated.dart +++ b/packages/flutter/lib/flutter_breez_liquid_bindings_generated.dart @@ -846,6 +846,17 @@ class FlutterBreezLiquidBindings { late final _frbgen_breez_liquid_cst_new_box_autoadd_i_64 = _frbgen_breez_liquid_cst_new_box_autoadd_i_64Ptr.asFunction Function(int)>(); + ffi.Pointer frbgen_breez_liquid_cst_new_box_autoadd_liquid_address_data() { + return _frbgen_breez_liquid_cst_new_box_autoadd_liquid_address_data(); + } + + late final _frbgen_breez_liquid_cst_new_box_autoadd_liquid_address_dataPtr = + _lookup Function()>>( + 'frbgen_breez_liquid_cst_new_box_autoadd_liquid_address_data'); + late final _frbgen_breez_liquid_cst_new_box_autoadd_liquid_address_data = + _frbgen_breez_liquid_cst_new_box_autoadd_liquid_address_dataPtr + .asFunction Function()>(); + ffi.Pointer frbgen_breez_liquid_cst_new_box_autoadd_list_payments_request() { return _frbgen_breez_liquid_cst_new_box_autoadd_list_payments_request(); @@ -1748,6 +1759,21 @@ final class wire_cst_bitcoin_address_data extends ffi.Struct { external ffi.Pointer message; } +final class wire_cst_liquid_address_data extends ffi.Struct { + external ffi.Pointer address; + + @ffi.Int32() + external int network; + + external ffi.Pointer asset_id; + + external ffi.Pointer amount_sat; + + external ffi.Pointer label; + + external ffi.Pointer message; +} + final class wire_cst_route_hint_hop extends ffi.Struct { external ffi.Pointer src_node_id; @@ -1999,6 +2025,10 @@ final class wire_cst_InputType_BitcoinAddress extends ffi.Struct { external ffi.Pointer address; } +final class wire_cst_InputType_LiquidAddress extends ffi.Struct { + external ffi.Pointer address; +} + final class wire_cst_InputType_Bolt11 extends ffi.Struct { external ffi.Pointer invoice; } @@ -2030,6 +2060,8 @@ final class wire_cst_InputType_LnUrlError extends ffi.Struct { final class InputTypeKind extends ffi.Union { external wire_cst_InputType_BitcoinAddress BitcoinAddress; + external wire_cst_InputType_LiquidAddress LiquidAddress; + external wire_cst_InputType_Bolt11 Bolt11; external wire_cst_InputType_NodeId NodeId; diff --git a/packages/react-native/android/src/main/java/com/breezsdkliquid/BreezSDKLiquidMapper.kt b/packages/react-native/android/src/main/java/com/breezsdkliquid/BreezSDKLiquidMapper.kt index a1bc605..e2bb7b6 100644 --- a/packages/react-native/android/src/main/java/com/breezsdkliquid/BreezSDKLiquidMapper.kt +++ b/packages/react-native/android/src/main/java/com/breezsdkliquid/BreezSDKLiquidMapper.kt @@ -535,6 +535,54 @@ fun asLimitsList(arr: ReadableArray): List { return list } +fun asLiquidAddressData(liquidAddressData: ReadableMap): LiquidAddressData? { + if (!validateMandatoryFields( + liquidAddressData, + arrayOf( + "address", + "network", + ), + ) + ) { + return null + } + val address = liquidAddressData.getString("address")!! + val network = liquidAddressData.getString("network")?.let { asNetwork(it) }!! + val assetId = if (hasNonNullKey(liquidAddressData, "assetId")) liquidAddressData.getString("assetId") else null + val amountSat = if (hasNonNullKey(liquidAddressData, "amountSat")) liquidAddressData.getDouble("amountSat").toULong() else null + val label = if (hasNonNullKey(liquidAddressData, "label")) liquidAddressData.getString("label") else null + val message = if (hasNonNullKey(liquidAddressData, "message")) liquidAddressData.getString("message") else null + return LiquidAddressData( + address, + network, + assetId, + amountSat, + label, + message, + ) +} + +fun readableMapOf(liquidAddressData: LiquidAddressData): ReadableMap = + readableMapOf( + "address" to liquidAddressData.address, + "network" to liquidAddressData.network.name.lowercase(), + "assetId" to liquidAddressData.assetId, + "amountSat" to liquidAddressData.amountSat, + "label" to liquidAddressData.label, + "message" to liquidAddressData.message, + ) + +fun asLiquidAddressDataList(arr: ReadableArray): List { + val list = ArrayList() + for (value in arr.toArrayList()) { + when (value) { + is ReadableMap -> list.add(asLiquidAddressData(value)!!) + else -> throw SdkException.Generic(errUnexpectedType("${value::class.java.name}")) + } + } + return list +} + fun asListPaymentsRequest(listPaymentsRequest: ReadableMap): ListPaymentsRequest? { if (!validateMandatoryFields( listPaymentsRequest, @@ -2298,6 +2346,9 @@ fun asInputType(inputType: ReadableMap): InputType? { if (type == "bitcoinAddress") { return InputType.BitcoinAddress(inputType.getMap("address")?.let { asBitcoinAddressData(it) }!!) } + if (type == "liquidAddress") { + return InputType.LiquidAddress(inputType.getMap("address")?.let { asLiquidAddressData(it) }!!) + } if (type == "bolt11") { return InputType.Bolt11(inputType.getMap("invoice")?.let { asLnInvoice(it) }!!) } @@ -2329,6 +2380,10 @@ fun readableMapOf(inputType: InputType): ReadableMap? { pushToMap(map, "type", "bitcoinAddress") pushToMap(map, "address", readableMapOf(inputType.address)) } + is InputType.LiquidAddress -> { + pushToMap(map, "type", "liquidAddress") + pushToMap(map, "address", readableMapOf(inputType.address)) + } is InputType.Bolt11 -> { pushToMap(map, "type", "bolt11") pushToMap(map, "invoice", readableMapOf(inputType.invoice)) diff --git a/packages/react-native/ios/BreezSDKLiquidMapper.swift b/packages/react-native/ios/BreezSDKLiquidMapper.swift index 0927447..efd33dc 100644 --- a/packages/react-native/ios/BreezSDKLiquidMapper.swift +++ b/packages/react-native/ios/BreezSDKLiquidMapper.swift @@ -650,6 +650,82 @@ enum BreezSDKLiquidMapper { return limitsList.map { v -> [String: Any?] in return dictionaryOf(limits: v) } } + static func asLiquidAddressData(liquidAddressData: [String: Any?]) throws -> LiquidAddressData { + guard let address = liquidAddressData["address"] as? String else { + throw SdkError.Generic(message: errMissingMandatoryField(fieldName: "address", typeName: "LiquidAddressData")) + } + guard let networkTmp = liquidAddressData["network"] as? String else { + throw SdkError.Generic(message: errMissingMandatoryField(fieldName: "network", typeName: "LiquidAddressData")) + } + let network = try asNetwork(network: networkTmp) + + var assetId: String? + if hasNonNilKey(data: liquidAddressData, key: "assetId") { + guard let assetIdTmp = liquidAddressData["assetId"] as? String else { + throw SdkError.Generic(message: errUnexpectedValue(fieldName: "assetId")) + } + assetId = assetIdTmp + } + var amountSat: UInt64? + if hasNonNilKey(data: liquidAddressData, key: "amountSat") { + guard let amountSatTmp = liquidAddressData["amountSat"] as? UInt64 else { + throw SdkError.Generic(message: errUnexpectedValue(fieldName: "amountSat")) + } + amountSat = amountSatTmp + } + var label: String? + if hasNonNilKey(data: liquidAddressData, key: "label") { + guard let labelTmp = liquidAddressData["label"] as? String else { + throw SdkError.Generic(message: errUnexpectedValue(fieldName: "label")) + } + label = labelTmp + } + var message: String? + if hasNonNilKey(data: liquidAddressData, key: "message") { + guard let messageTmp = liquidAddressData["message"] as? String else { + throw SdkError.Generic(message: errUnexpectedValue(fieldName: "message")) + } + message = messageTmp + } + + return LiquidAddressData( + address: address, + network: network, + assetId: assetId, + amountSat: amountSat, + label: label, + message: message + ) + } + + static func dictionaryOf(liquidAddressData: LiquidAddressData) -> [String: Any?] { + return [ + "address": liquidAddressData.address, + "network": valueOf(network: liquidAddressData.network), + "assetId": liquidAddressData.assetId == nil ? nil : liquidAddressData.assetId, + "amountSat": liquidAddressData.amountSat == nil ? nil : liquidAddressData.amountSat, + "label": liquidAddressData.label == nil ? nil : liquidAddressData.label, + "message": liquidAddressData.message == nil ? nil : liquidAddressData.message, + ] + } + + static func asLiquidAddressDataList(arr: [Any]) throws -> [LiquidAddressData] { + var list = [LiquidAddressData]() + for value in arr { + if let val = value as? [String: Any?] { + var liquidAddressData = try asLiquidAddressData(liquidAddressData: val) + list.append(liquidAddressData) + } else { + throw SdkError.Generic(message: errUnexpectedType(typeName: "LiquidAddressData")) + } + } + return list + } + + static func arrayOf(liquidAddressDataList: [LiquidAddressData]) -> [Any] { + return liquidAddressDataList.map { v -> [String: Any?] in return dictionaryOf(liquidAddressData: v) } + } + static func asListPaymentsRequest(listPaymentsRequest: [String: Any?]) throws -> ListPaymentsRequest { var filters: [PaymentType]? if let filtersTmp = listPaymentsRequest["filters"] as? [String] { @@ -2698,6 +2774,14 @@ enum BreezSDKLiquidMapper { return InputType.bitcoinAddress(address: _address) } + if type == "liquidAddress" { + guard let addressTmp = inputType["address"] as? [String: Any?] else { + throw SdkError.Generic(message: errMissingMandatoryField(fieldName: "address", typeName: "InputType")) + } + let _address = try asLiquidAddressData(liquidAddressData: addressTmp) + + return InputType.liquidAddress(address: _address) + } if type == "bolt11" { guard let invoiceTmp = inputType["invoice"] as? [String: Any?] else { throw SdkError.Generic(message: errMissingMandatoryField(fieldName: "invoice", typeName: "InputType")) @@ -2764,6 +2848,14 @@ enum BreezSDKLiquidMapper { "address": dictionaryOf(bitcoinAddressData: address), ] + case let .liquidAddress( + address + ): + return [ + "type": "liquidAddress", + "address": dictionaryOf(liquidAddressData: address), + ] + case let .bolt11( invoice ): diff --git a/packages/react-native/makefile b/packages/react-native/makefile index 4a0a7cf..bb9eba3 100644 --- a/packages/react-native/makefile +++ b/packages/react-native/makefile @@ -8,12 +8,19 @@ clean: all: android ios react-native +copy: android-copy ios-copy react-native-copy + react-native: make -C ../../lib/bindings react-native + make react-native-copy + +react-native-copy: cp -r ../../lib/bindings/langs/react-native/android/* android/ cp -r ../../lib/bindings/langs/react-native/ios/* ios/ cp -r ../../lib/bindings/langs/react-native/ts/src/* src/ +android: android-make android-copy + android-make: make -C ../../lib/bindings android @@ -28,7 +35,7 @@ android-copy: cp ../../lib/bindings/ffi/kotlin/jniLibs/arm64-v8a/libbreez_sdk_liquid_bindings.so android/src/main/jniLibs/arm64-v8a/libbreez_sdk_liquid_bindings.so cp ../../lib/bindings/ffi/kotlin/jniLibs/armeabi-v7a/libbreez_sdk_liquid_bindings.so android/src/main/jniLibs/armeabi-v7a/libbreez_sdk_liquid_bindings.so -android: android-make android-copy +ios: ios-make ios-copy ios-make: make -C ../../lib/bindings bindings-swift @@ -36,6 +43,4 @@ ios-make: ios-copy: rm -rf ios/bindings-swift cp -r ../../lib/bindings/langs/swift ios/bindings-swift - rm -f ios/bindings-swift/Package.swift - -ios: ios-make ios-copy + rm -f ios/bindings-swift/Package.swift \ No newline at end of file diff --git a/packages/react-native/src/index.ts b/packages/react-native/src/index.ts index 1712705..d9e9159 100644 --- a/packages/react-native/src/index.ts +++ b/packages/react-native/src/index.ts @@ -105,6 +105,15 @@ export interface Limits { maxZeroConfSat: number } +export interface LiquidAddressData { + address: string + network: Network + assetId?: string + amountSat?: number + label?: string + message?: string +} + export interface ListPaymentsRequest { filters?: PaymentType[] fromTimestamp?: number @@ -376,6 +385,7 @@ export enum BuyBitcoinProvider { export enum InputTypeVariant { BITCOIN_ADDRESS = "bitcoinAddress", + LIQUID_ADDRESS = "liquidAddress", BOLT11 = "bolt11", NODE_ID = "nodeId", URL = "url", @@ -388,6 +398,9 @@ export enum InputTypeVariant { export type InputType = { type: InputTypeVariant.BITCOIN_ADDRESS, address: BitcoinAddressData +} | { + type: InputTypeVariant.LIQUID_ADDRESS, + address: LiquidAddressData } | { type: InputTypeVariant.BOLT11, invoice: LnInvoice