From 1416527e9ae7a20e68ce9546b8a07b76a23dd830 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Mon, 1 Apr 2024 20:04:00 -0400 Subject: [PATCH 01/63] minSdkVersion upgraded to 23 --- android/build.gradle | 2 +- example/android/app/build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 56d4dd2..0ad3fea 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -44,7 +44,7 @@ android { } defaultConfig { - minSdkVersion 19 + minSdkVersion 23 } } diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 0ea3881..7407a59 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -45,7 +45,7 @@ android { applicationId "io.f.payjoin.payjoin_example" // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdkVersion flutter.minSdkVersion + minSdkVersion 23 targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName From 657e4d35d9d7533d5ae08e2aeeddc8d855d16382 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Tue, 2 Apr 2024 23:28:00 -0400 Subject: [PATCH 02/63] frb version updated --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- rust/Cargo.lock | 12 ++++++------ rust/Cargo.toml | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index aa7b894..ef6d330 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -242,10 +242,10 @@ packages: dependency: "direct main" description: name: flutter_rust_bridge - sha256: db2c6aa5c255ba5dcafefb3cc3db65733c5b6b5f68ba0816688748cf2132cfa3 + sha256: c51fa002e57e64d13030269ed9cd43752173ee4c6f60ec1e9c41450d63c75bae url: "https://pub.dev" source: hosted - version: "2.0.0-dev.25" + version: "2.0.0-dev.28" flutter_test: dependency: "direct dev" description: flutter diff --git a/pubspec.yaml b/pubspec.yaml index 0d98fd6..6079978 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,7 +12,7 @@ dependencies: sdk: flutter collection: ^1.17.1 ffi: ^2.0.1 - flutter_rust_bridge: ">2.0.0-dev.24 <= 2.0.0-dev.25" + flutter_rust_bridge: ">2.0.0-dev.27 <= 2.0.0-dev.28" freezed_annotation: ^2.2.0 meta: ^1.10.0 uuid: ^4.2.1 diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 25db699..4753367 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -1074,9 +1074,9 @@ dependencies = [ [[package]] name = "flutter_rust_bridge" -version = "2.0.0-dev.25" +version = "2.0.0-dev.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d81515a58babb2e2e644c11330cd1c7118c83160700cbba7f157a1c6199c2295" +checksum = "ce0ad7ece8037d2e85f53413c5cc1e6b33b56ff63fc0a530c08eec7c4b8b3f26" dependencies = [ "allo-isolate", "android_logger", @@ -1101,9 +1101,9 @@ dependencies = [ [[package]] name = "flutter_rust_bridge_codegen" -version = "2.0.0-dev.25" +version = "2.0.0-dev.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "577a4b4b0da1022844c3730998ae699304cef9ad0edc7b06d2feb54f8f87de09" +checksum = "9e7121d658626cf3921aa75de2cae9f77814b4317a1353e7be7c6be8d656cf01" dependencies = [ "anyhow", "atty", @@ -1145,9 +1145,9 @@ dependencies = [ [[package]] name = "flutter_rust_bridge_macros" -version = "2.0.0-dev.25" +version = "2.0.0-dev.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aa5e6f2b72d51b3edddef0d45734b734d4c65f4260ac4689b94061582cbbd8e" +checksum = "5844c71d6ea7f6023838838e6d01aeeef41920abc8e628ca24bac19d09c8fea6" [[package]] name = "form_urlencoded" diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 08c4600..2ab04b8 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -7,12 +7,12 @@ edition = "2021" crate-type = ["cdylib", "staticlib"] [build-dependencies] -flutter_rust_bridge_codegen = { version = "=2.0.0-dev.25" } +flutter_rust_bridge_codegen = { version = "=2.0.0-dev.28" } anyhow = "1.0.68" [dependencies] ohttp = { version = "0.5.1" } payjoin_ffi = {git = "https://github.com/LtbLightning/payjoin-ffi", branch = "v0.13"} -flutter_rust_bridge = { version = "=2.0.0-dev.25" } +flutter_rust_bridge = { version = "=2.0.0-dev.28" } anyhow = "1.0.68" tokio = "1.36.0" From a02b24d1086e51c7a024f23d0f20f63db6a8a01c Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Wed, 3 Apr 2024 12:48:00 -0400 Subject: [PATCH 03/63] removed fn main() --- rust/build.rs | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 rust/build.rs diff --git a/rust/build.rs b/rust/build.rs deleted file mode 100644 index 228614b..0000000 --- a/rust/build.rs +++ /dev/null @@ -1,15 +0,0 @@ -use lib_flutter_rust_bridge_codegen::codegen; -use lib_flutter_rust_bridge_codegen::codegen::Config; -use lib_flutter_rust_bridge_codegen::utils::logs::configure_opinionated_logging; - -fn main() -> anyhow::Result<()> { - // If you want to see logs - // Alternatively, use `cargo build -vvv` (instead of `cargo build`) to see logs on screen - configure_opinionated_logging("./logs/", true)?; - - // Execute code generator with auto-detected config - codegen::generate( - Config::from_config_file("../flutter_rust_bridge.yaml")?.unwrap(), - Default::default(), - ) -} From 61b726c7fe733714990f0a50afde2cb63d530351 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Wed, 3 Apr 2024 15:49:00 -0400 Subject: [PATCH 04/63] bindings updated --- lib/src/generated/api/receive.dart | 2 +- lib/src/generated/api/send.dart | 5 +++-- lib/src/generated/api/uri.dart | 2 +- lib/src/generated/frb_generated.dart | 4 ++-- lib/src/generated/frb_generated.io.dart | 2 +- lib/src/generated/frb_generated.web.dart | 2 +- lib/src/generated/utils/error.dart | 2 +- rust/src/frb_generated.io.rs | 2 +- rust/src/frb_generated.rs | 4 ++-- rust/src/frb_generated.web.rs | 2 +- 10 files changed, 14 insertions(+), 13 deletions(-) diff --git a/lib/src/generated/api/receive.dart b/lib/src/generated/api/receive.dart index b2271ed..3c23ad3 100644 --- a/lib/src/generated/api/receive.dart +++ b/lib/src/generated/api/receive.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.25. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/lib/src/generated/api/send.dart b/lib/src/generated/api/send.dart index a7d2bcc..80c7e9f 100644 --- a/lib/src/generated/api/send.dart +++ b/lib/src/generated/api/send.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.25. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import @@ -228,7 +228,8 @@ class RequestBuilder { PayjoinCore.instance.api.requestBuilderFromPsbtAndUri( psbtBase64: psbtBase64, uri: uri, hint: hint); - static Future newRequestBuilder({dynamic hint}) => + // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. + static Future newInstance({dynamic hint}) => PayjoinCore.instance.api.requestBuilderNew(hint: hint); @override diff --git a/lib/src/generated/api/uri.dart b/lib/src/generated/api/uri.dart index f03aad0..7f0285f 100644 --- a/lib/src/generated/api/uri.dart +++ b/lib/src/generated/api/uri.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.25. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/lib/src/generated/frb_generated.dart b/lib/src/generated/frb_generated.dart index e8d1b7c..7ebd752 100644 --- a/lib/src/generated/frb_generated.dart +++ b/lib/src/generated/frb_generated.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.25. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field @@ -55,7 +55,7 @@ class PayjoinCore extends BaseEntrypoint '2.0.0-dev.25'; + String get codegenVersion => '2.0.0-dev.28'; static const kDefaultExternalLibraryLoaderConfig = ExternalLibraryLoaderConfig( diff --git a/lib/src/generated/frb_generated.io.dart b/lib/src/generated/frb_generated.io.dart index 6563f75..de9d256 100644 --- a/lib/src/generated/frb_generated.io.dart +++ b/lib/src/generated/frb_generated.io.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.25. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/lib/src/generated/frb_generated.web.dart b/lib/src/generated/frb_generated.web.dart index 6e947d7..c7571b6 100644 --- a/lib/src/generated/frb_generated.web.dart +++ b/lib/src/generated/frb_generated.web.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.25. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/lib/src/generated/utils/error.dart b/lib/src/generated/utils/error.dart index 0dcbe52..14c54c6 100644 --- a/lib/src/generated/utils/error.dart +++ b/lib/src/generated/utils/error.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.25. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/rust/src/frb_generated.io.rs b/rust/src/frb_generated.io.rs index ab0cca5..a349663 100644 --- a/rust/src/frb_generated.io.rs +++ b/rust/src/frb_generated.io.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.25. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. // Section: imports diff --git a/rust/src/frb_generated.rs b/rust/src/frb_generated.rs index e83cd58..bc53d56 100644 --- a/rust/src/frb_generated.rs +++ b/rust/src/frb_generated.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.25. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. #![allow( non_camel_case_types, @@ -32,7 +32,7 @@ flutter_rust_bridge::frb_generated_boilerplate!( default_rust_opaque = RustOpaqueNom, default_rust_auto_opaque = RustAutoOpaqueNom, ); -const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.0.0-dev.25"; +const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.0.0-dev.28"; // Section: executor diff --git a/rust/src/frb_generated.web.rs b/rust/src/frb_generated.web.rs index 186a9f0..90b588c 100644 --- a/rust/src/frb_generated.web.rs +++ b/rust/src/frb_generated.web.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.25. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. // Section: imports From d9e5e46983b439820fea64c303acfc7dd9dfcfe7 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Wed, 3 Apr 2024 16:29:00 -0400 Subject: [PATCH 05/63] added bdk_flutter as dependency --- example/ios/Podfile.lock | 6 ++ example/pubspec.lock | 181 ++++++++++++++++++++++++++++++++++++++- example/pubspec.yaml | 5 +- 3 files changed, 189 insertions(+), 3 deletions(-) diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index c8e9e91..1e4dc9d 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,18 +1,24 @@ PODS: + - bdk_flutter (0.31.0-dev): + - Flutter - Flutter (1.0.0) - payjoin_flutter (0.0.1) DEPENDENCIES: + - bdk_flutter (from `.symlinks/plugins/bdk_flutter/ios`) - Flutter (from `Flutter`) - payjoin_flutter (from `.symlinks/plugins/payjoin_flutter/ios`) EXTERNAL SOURCES: + bdk_flutter: + :path: ".symlinks/plugins/bdk_flutter/ios" Flutter: :path: Flutter payjoin_flutter: :path: ".symlinks/plugins/payjoin_flutter/ios" SPEC CHECKSUMS: + bdk_flutter: 953fe5e95562d14d9cb8610d99cab99eaed89570 Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 payjoin_flutter: 9011d8ef87f28bd66bcf80a21fdef14951b8a2aa diff --git a/example/pubspec.lock b/example/pubspec.lock index d313f1d..cbd6820 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -1,6 +1,30 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 + url: "https://pub.dev" + source: hosted + version: "64.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" + url: "https://pub.dev" + source: hosted + version: "6.2.0" + archive: + dependency: transitive + description: + name: archive + sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" + url: "https://pub.dev" + source: hosted + version: "3.4.10" args: dependency: transitive description: @@ -17,6 +41,15 @@ packages: url: "https://pub.dev" source: hosted version: "2.11.0" + bdk_flutter: + dependency: "direct main" + description: + path: "." + ref: "v0.31.0" + resolved-ref: bd1ab74b742dd384850fba209765680a889390c8 + url: "https://github.com/LtbLightning/bdk-flutter" + source: git + version: "0.31.0-dev" boolean_selector: dependency: transitive description: @@ -25,6 +58,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" + build: + dependency: transitive + description: + name: build + sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + url: "https://pub.dev" + source: hosted + version: "2.4.1" build_cli_annotations: dependency: transitive description: @@ -33,6 +74,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" + built_collection: + dependency: transitive + description: + name: built_collection + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" + source: hosted + version: "5.1.1" + built_value: + dependency: transitive + description: + name: built_value + sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e + url: "https://pub.dev" + source: hosted + version: "8.9.1" characters: dependency: transitive description: @@ -49,6 +106,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.1" + code_builder: + dependency: transitive + description: + name: code_builder + sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 + url: "https://pub.dev" + source: hosted + version: "4.10.0" collection: dependency: transitive description: @@ -57,6 +122,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.18.0" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" crypto: dependency: transitive description: @@ -73,6 +146,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.6" + dart_style: + dependency: transitive + description: + name: dart_style + sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" + url: "https://pub.dev" + source: hosted + version: "2.3.6" fake_async: dependency: transitive description: @@ -89,6 +170,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" + file: + dependency: transitive + description: + name: file + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + url: "https://pub.dev" + source: hosted + version: "7.0.0" fixnum: dependency: transitive description: @@ -114,10 +203,10 @@ packages: dependency: transitive description: name: flutter_rust_bridge - sha256: db2c6aa5c255ba5dcafefb3cc3db65733c5b6b5f68ba0816688748cf2132cfa3 + sha256: c51fa002e57e64d13030269ed9cd43752173ee4c6f60ec1e9c41450d63c75bae url: "https://pub.dev" source: hosted - version: "2.0.0-dev.25" + version: "2.0.0-dev.28" flutter_test: dependency: "direct dev" description: flutter @@ -131,6 +220,30 @@ packages: url: "https://pub.dev" source: hosted version: "2.4.1" + glob: + dependency: transitive + description: + name: glob + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + http: + dependency: transitive + description: + name: http + sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba + url: "https://pub.dev" + source: hosted + version: "1.2.0" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" + source: hosted + version: "4.0.2" js: dependency: transitive description: @@ -155,6 +268,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" + logging: + dependency: transitive + description: + name: logging + sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + url: "https://pub.dev" + source: hosted + version: "1.2.0" matcher: dependency: transitive description: @@ -179,6 +300,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.10.0" + mockito: + dependency: transitive + description: + name: mockito + sha256: "6841eed20a7befac0ce07df8116c8b8233ed1f4486a7647c7fc5a02ae6163917" + url: "https://pub.dev" + source: hosted + version: "5.4.4" + package_config: + dependency: transitive + description: + name: package_config + sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + url: "https://pub.dev" + source: hosted + version: "2.1.0" path: dependency: transitive description: @@ -194,11 +331,35 @@ packages: relative: true source: path version: "0.13.0" + pointycastle: + dependency: transitive + description: + name: pointycastle + sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" + url: "https://pub.dev" + source: hosted + version: "3.7.4" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + url: "https://pub.dev" + source: hosted + version: "2.1.4" sky_engine: dependency: transitive description: flutter source: sdk version: "0.0.99" + source_gen: + dependency: transitive + description: + name: source_gen + sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + url: "https://pub.dev" + source: hosted + version: "1.5.0" source_span: dependency: transitive description: @@ -279,6 +440,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + watcher: + dependency: transitive + description: + name: watcher + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + url: "https://pub.dev" + source: hosted + version: "1.1.0" web: dependency: transitive description: @@ -287,6 +456,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.3.0" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" sdks: dart: ">=3.2.3 <4.0.0" flutter: ">=3.3.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index d86ce12..1466c77 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -30,7 +30,10 @@ environment: dependencies: flutter: sdk: flutter - + bdk_flutter: + git: + url: https://github.com/LtbLightning/bdk-flutter + ref: v0.31.0 payjoin_flutter: # When depending on this package from a real application you should use: # payjoin: ^x.y.z From 0b5cb5b353f3da9ccd5cb3f8d0393c7a6475f2c3 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Thu, 4 Apr 2024 11:19:00 -0400 Subject: [PATCH 06/63] makefile for frb codegen --- makefile | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 makefile diff --git a/makefile b/makefile new file mode 100644 index 0000000..ad60a8f --- /dev/null +++ b/makefile @@ -0,0 +1,29 @@ +.DEFAULT_GOAL := help +PROJECTNAME=$(shell basename "$(PWD)") + +.PHONY: help +help: makefile + @echo + @echo " Available actions in "$(PROJECTNAME)":" + @echo + @sed -n 's/^##//p' $< | column -t -s ':' | sed -e 's/^/ /' + @echo + +## init: Install missing dependencies. +init: + cargo install 'flutter_rust_bridge_codegen@^2.0.0-dev.28' +## : + +all: init generate-bindings + +generate-bindings: + @echo "[GENERATING FRB CODE] $@" + flutter_rust_bridge_codegen generate + @echo "[Done ✅]" + + + + + + + From f7aab0b1e018274b82b2d58b8057b4a7ee91d4b9 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Fri, 5 Apr 2024 15:42:00 -0400 Subject: [PATCH 07/63] removed bdk-flutter --- example/lib/bdk_library.dart | 105 +++++++++++++++++++++ example/lib/main.dart | 37 ++++++-- example/pubspec.lock | 177 ----------------------------------- example/pubspec.yaml | 4 - 4 files changed, 136 insertions(+), 187 deletions(-) create mode 100644 example/lib/bdk_library.dart diff --git a/example/lib/bdk_library.dart b/example/lib/bdk_library.dart new file mode 100644 index 0000000..ec5c0da --- /dev/null +++ b/example/lib/bdk_library.dart @@ -0,0 +1,105 @@ +// import 'package:bdk_flutter/bdk_flutter.dart'; +// import 'package:flutter/cupertino.dart'; +// +// class BdkLibrary { +// Future createMnemonic() async { +// final res = await Mnemonic.create(WordCount.words12); +// return res; +// } +// +// Future createDescriptor(Mnemonic mnemonic) async { +// final descriptorSecretKey = await DescriptorSecretKey.create( +// network: Network.testnet, +// mnemonic: mnemonic, +// ); +// final descriptor = await Descriptor.newBip84( +// secretKey: descriptorSecretKey, +// network: Network.testnet, +// keychain: KeychainKind.externalChain); +// return descriptor; +// } +// +// Future initializeBlockchain() async { +// return await Blockchain.create( +// config: const BlockchainConfig.esplora( +// config: +// EsploraConfig(baseUrl: 'https://0.0.0.0:30000', stopGap: 10))); +// } +// +// Future restoreWallet(Descriptor descriptor) async { +// final wallet = await Wallet.create( +// descriptor: descriptor, +// network: Network.regtest, +// databaseConfig: const DatabaseConfig.memory()); +// return wallet; +// } +// +// Future sync(Blockchain blockchain, Wallet wallet) async { +// try { +// await wallet.sync(blockchain: blockchain); +// } on EsploraException catch (e) { +// debugPrint(e.message); +// } +// } +// +// Future getAddress(Wallet aliceWallet) async { +// final address = await aliceWallet.getAddress( +// addressIndex: const AddressIndex.increase()); +// return address; +// } +// +// Future> getUnConfirmedTransactions( +// Wallet wallet) async { +// List unConfirmed = []; +// final res = await wallet.listTransactions(includeRaw: true); +// for (var e in res) { +// if (e.confirmationTime == null) unConfirmed.add(e); +// } +// return unConfirmed; +// } +// +// Future> getConfirmedTransactions( +// Wallet wallet) async { +// List confirmed = []; +// final res = await wallet.listTransactions(includeRaw: true); +// +// for (var e in res) { +// if (e.confirmationTime != null) confirmed.add(e); +// } +// return confirmed; +// } +// +// Future getBalance(Wallet wallet) async { +// final res = await wallet.getBalance(); +// return res; +// } +// +// Future> listUnspend(Wallet wallet) async { +// final res = await wallet.listUnspent(); +// return res; +// } +// +// Future estimateFeeRate( +// int blocks, +// Blockchain blockchain, +// ) async { +// final feeRate = await blockchain.estimateFee(target: blocks); +// return feeRate; +// } +// +// Future buildPartiallySignedTransaction( +// Blockchain blockchain, Wallet wallet, Address address) async { +// try { +// final txBuilder = TxBuilder(); +// final script = await address.scriptPubkey(); +// final feeRate = await estimateFeeRate(25, blockchain); +// final (psbt, _) = await txBuilder +// .addRecipient(script, 750) +// .feeRate(feeRate.satPerVb) +// .finish(wallet); +// return psbt; +// } on Exception catch (_) { +// rethrow; +// } +// } +// } diff --git a/example/lib/main.dart b/example/lib/main.dart index 2c28eee..9385cb2 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,3 +1,4 @@ +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:payjoin_flutter/payjoin.dart'; @@ -14,14 +15,23 @@ class MyApp extends StatefulWidget { } class _MyAppState extends State { + // BdkLibrary lib = BdkLibrary(); + // late Wallet aliceWallet; + // Blockchain? blockchain; @override void initState() { super.initState(); } - Future buildPjUri(double amount, String address, String pj) async { + Future buildPjUri(double amount, String pj) async { try { - final pjUri = "bitcoin:$address?amount=${amount / 100000000.0}&pj=$pj"; + // final address = await aliceWallet.getAddress( + // addressIndex: const AddressIndex.increase()); + // final qUriAddress = await (await Address.fromString( + // s: address.address, network: Network.testnet)) + // .toQrUri(); + final pjUri = + "tb1q5tsjcyz7xmet07yxtumakt739y53hcttmntajq?amount=${amount / 100000000.0}&pj=$pj"; return await Uri.fromStr(uri: pjUri); } catch (e) { debugPrint(e.toString()); @@ -29,6 +39,21 @@ class _MyAppState extends State { } } + Future buildRequestBuilder(String psbt, Uri uri) async { + try { + final res = await (await RequestBuilder.fromPsbtAndUri( + psbtBase64: psbt, uri: uri)) + .buildWithAdditionalFee( + maxFeeContribution: 10000, + minFeeRate: 1, + clampFeeContribution: false); + return (await res.extractV1()); + } catch (e) { + debugPrint(e.toString()); + rethrow; + } + } + @override Widget build(BuildContext context) { return MaterialApp( @@ -44,11 +69,11 @@ class _MyAppState extends State { children: [ TextButton( onPressed: () async { - final uri = await buildPjUri( - 10000000, - "12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX", + final uri = await buildPjUri(10000000, "https://testnet.demo.btcpayserver.org/BTC/pj"); - print(await uri.address()); + if (kDebugMode) { + print(await uri.address()); + } }, child: const Text("Build PjUri")) ], diff --git a/example/pubspec.lock b/example/pubspec.lock index cbd6820..e8d8aa0 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -1,30 +1,6 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 - url: "https://pub.dev" - source: hosted - version: "64.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" - url: "https://pub.dev" - source: hosted - version: "6.2.0" - archive: - dependency: transitive - description: - name: archive - sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" - url: "https://pub.dev" - source: hosted - version: "3.4.10" args: dependency: transitive description: @@ -41,15 +17,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.11.0" - bdk_flutter: - dependency: "direct main" - description: - path: "." - ref: "v0.31.0" - resolved-ref: bd1ab74b742dd384850fba209765680a889390c8 - url: "https://github.com/LtbLightning/bdk-flutter" - source: git - version: "0.31.0-dev" boolean_selector: dependency: transitive description: @@ -58,14 +25,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" - build: - dependency: transitive - description: - name: build - sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" - url: "https://pub.dev" - source: hosted - version: "2.4.1" build_cli_annotations: dependency: transitive description: @@ -74,22 +33,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" - built_collection: - dependency: transitive - description: - name: built_collection - sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" - url: "https://pub.dev" - source: hosted - version: "5.1.1" - built_value: - dependency: transitive - description: - name: built_value - sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e - url: "https://pub.dev" - source: hosted - version: "8.9.1" characters: dependency: transitive description: @@ -106,14 +49,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.1" - code_builder: - dependency: transitive - description: - name: code_builder - sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 - url: "https://pub.dev" - source: hosted - version: "4.10.0" collection: dependency: transitive description: @@ -122,14 +57,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.18.0" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" crypto: dependency: transitive description: @@ -146,14 +73,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.6" - dart_style: - dependency: transitive - description: - name: dart_style - sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" - url: "https://pub.dev" - source: hosted - version: "2.3.6" fake_async: dependency: transitive description: @@ -170,14 +89,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" - file: - dependency: transitive - description: - name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" - url: "https://pub.dev" - source: hosted - version: "7.0.0" fixnum: dependency: transitive description: @@ -220,30 +131,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.4.1" - glob: - dependency: transitive - description: - name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - http: - dependency: transitive - description: - name: http - sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba - url: "https://pub.dev" - source: hosted - version: "1.2.0" - http_parser: - dependency: transitive - description: - name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" - url: "https://pub.dev" - source: hosted - version: "4.0.2" js: dependency: transitive description: @@ -268,14 +155,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" - logging: - dependency: transitive - description: - name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" - url: "https://pub.dev" - source: hosted - version: "1.2.0" matcher: dependency: transitive description: @@ -300,22 +179,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.10.0" - mockito: - dependency: transitive - description: - name: mockito - sha256: "6841eed20a7befac0ce07df8116c8b8233ed1f4486a7647c7fc5a02ae6163917" - url: "https://pub.dev" - source: hosted - version: "5.4.4" - package_config: - dependency: transitive - description: - name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" - url: "https://pub.dev" - source: hosted - version: "2.1.0" path: dependency: transitive description: @@ -331,35 +194,11 @@ packages: relative: true source: path version: "0.13.0" - pointycastle: - dependency: transitive - description: - name: pointycastle - sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" - url: "https://pub.dev" - source: hosted - version: "3.7.4" - pub_semver: - dependency: transitive - description: - name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" - url: "https://pub.dev" - source: hosted - version: "2.1.4" sky_engine: dependency: transitive description: flutter source: sdk version: "0.0.99" - source_gen: - dependency: transitive - description: - name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" - url: "https://pub.dev" - source: hosted - version: "1.5.0" source_span: dependency: transitive description: @@ -440,14 +279,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" - watcher: - dependency: transitive - description: - name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" - url: "https://pub.dev" - source: hosted - version: "1.1.0" web: dependency: transitive description: @@ -456,14 +287,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.3.0" - yaml: - dependency: transitive - description: - name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" - url: "https://pub.dev" - source: hosted - version: "3.1.2" sdks: dart: ">=3.2.3 <4.0.0" flutter: ">=3.3.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 1466c77..5006f66 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -30,10 +30,6 @@ environment: dependencies: flutter: sdk: flutter - bdk_flutter: - git: - url: https://github.com/LtbLightning/bdk-flutter - ref: v0.31.0 payjoin_flutter: # When depending on this package from a real application you should use: # payjoin: ^x.y.z From 76f434ecfd13b469d9b923d2f4ac918c8ba1f52b Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Fri, 5 Apr 2024 18:22:00 -0400 Subject: [PATCH 08/63] code cleanup --- example/lib/payjoin_library.dart | 15 +++++++++++++++ lib/src/root.dart | 5 ----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/example/lib/payjoin_library.dart b/example/lib/payjoin_library.dart index 24ab96d..ad5d076 100644 --- a/example/lib/payjoin_library.dart +++ b/example/lib/payjoin_library.dart @@ -14,4 +14,19 @@ class PayjoinLibrary { rethrow; } } + + handlePjRequest(Request req, Headers headers) async { + final proposal = await UncheckedProposal.fromRequest( + body: req.body.toList(), + query: (await req.url.query())!, + headers: headers); + } + + handleProposal(UncheckedProposal proposal) async { + try { + final _ = await proposal.extractTxToScheduleBroadcast(); + } on PayjoinError catch (e) { + debugPrint(e.toString()); + } + } } diff --git a/lib/src/root.dart b/lib/src/root.dart index 97f218a..45bea06 100644 --- a/lib/src/root.dart +++ b/lib/src/root.dart @@ -1,12 +1,7 @@ import 'package:flutter/cupertino.dart'; -import 'package:payjoin_flutter/payjoin.dart'; import 'generated/frb_generated.dart'; -class UriW extends Uri { - UriW({required super.field0}); -} - class Payjoin { static Future initialize() async { try { From cd52393ef02d01f3acb5e1c4ed1b651cc7009cc9 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Fri, 5 Apr 2024 20:34:00 -0400 Subject: [PATCH 09/63] moved cargokit_options.yaml --- example/cargokit_options.yaml => cargokit_options.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename example/cargokit_options.yaml => cargokit_options.yaml (100%) diff --git a/example/cargokit_options.yaml b/cargokit_options.yaml similarity index 100% rename from example/cargokit_options.yaml rename to cargokit_options.yaml From b5a651bac3e0d9b9677307ca28fb37ddf439920f Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sat, 6 Apr 2024 17:46:00 -0400 Subject: [PATCH 10/63] code cleanup --- example/ios/Podfile.lock | 6 ------ lib/src/root.dart | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 1e4dc9d..c8e9e91 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,24 +1,18 @@ PODS: - - bdk_flutter (0.31.0-dev): - - Flutter - Flutter (1.0.0) - payjoin_flutter (0.0.1) DEPENDENCIES: - - bdk_flutter (from `.symlinks/plugins/bdk_flutter/ios`) - Flutter (from `Flutter`) - payjoin_flutter (from `.symlinks/plugins/payjoin_flutter/ios`) EXTERNAL SOURCES: - bdk_flutter: - :path: ".symlinks/plugins/bdk_flutter/ios" Flutter: :path: Flutter payjoin_flutter: :path: ".symlinks/plugins/payjoin_flutter/ios" SPEC CHECKSUMS: - bdk_flutter: 953fe5e95562d14d9cb8610d99cab99eaed89570 Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 payjoin_flutter: 9011d8ef87f28bd66bcf80a21fdef14951b8a2aa diff --git a/lib/src/root.dart b/lib/src/root.dart index 45bea06..5270555 100644 --- a/lib/src/root.dart +++ b/lib/src/root.dart @@ -11,7 +11,7 @@ class Payjoin { } catch (e) { debugPrint(e.toString()); throw Exception( - "Failed to initialize payjoin: Ensure that Payjoin.initialize() is called and awaited (if in an async environment) before using Payjoin service."); + "Failed to initialize payjoin: Ensure that Payjoin.initialize() is called and awaited."); } } } From 3d196012ad91f955afff52c76746d29a7596a722 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sun, 7 Apr 2024 19:05:00 -0400 Subject: [PATCH 11/63] rust toolchain changed to stable --- .github/workflows/precompile_binaries.yml | 23 ++++++++++++++++++----- rust/cargokit.yaml | 7 ++----- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/.github/workflows/precompile_binaries.yml b/.github/workflows/precompile_binaries.yml index 6a42a1d..68c2008 100644 --- a/.github/workflows/precompile_binaries.yml +++ b/.github/workflows/precompile_binaries.yml @@ -16,6 +16,19 @@ jobs: - windows-latest steps: - uses: actions/checkout@v4 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + - name: Configure Cargo.toml optimizations + run: | + mkdir -p .cargo + echo "[profile.release]" >> .cargo/config.toml + echo "opt-level = 'z'" >> .cargo/config.toml + echo "lto = true" >> .cargo/config.toml + echo "codegen-units = 1" >> .cargo/config.toml + echo "panic = 'abort'" >> .cargo/config.toml - uses: dart-lang/setup-dart@v1 - uses: subosito/flutter-action@v2 with: @@ -25,7 +38,7 @@ jobs: git config --global url."https://x-access-token:${GITHUB_TOKEN}@github.com/".insteadOf "https://github.com/" shell: bash env: - GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} - name: Install GTK if: (matrix.os == 'ubuntu-20.04') run: sudo apt-get update && sudo apt-get install libgtk-3-dev @@ -34,12 +47,12 @@ jobs: run: dart run build_tool precompile-binaries -v --manifest-dir=../../rust --repository=LtbLightning/payjoin-flutter working-directory: cargokit/build_tool env: - GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }} - PRIVATE_KEY: ${{ secrets.RELEASE_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} + PRIVATE_KEY: ${{ secrets.CARGOKIT_PRIVATE_KEY }} - name: Precompile (with Android) if: (matrix.os == 'ubuntu-20.04') run: dart run build_tool precompile-binaries -v --manifest-dir=../../rust --repository=LtbLightning/payjoin-flutter --android-sdk-location=/usr/local/lib/android/sdk --android-ndk-version=24.0.8215888 --android-min-sdk-version=23 working-directory: cargokit/build_tool env: - GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }} - PRIVATE_KEY: ${{ secrets.RELEASE_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} + PRIVATE_KEY: ${{ secrets.CARGOKIT_PRIVATE_KEY }} diff --git a/rust/cargokit.yaml b/rust/cargokit.yaml index 416fd80..87c82f9 100644 --- a/rust/cargokit.yaml +++ b/rust/cargokit.yaml @@ -1,9 +1,6 @@ cargo: release: - toolchain: nightly - extra_flags: - - -Z - - build-std=panic_abort,std + toolchain: stable precompiled_binaries: url_prefix: https://github.com/LtbLightning/payjoin-flutter/releases/download/precompiled_ - public_key: ae4d768a1222880207888dc13790e1542815243276ee770fea8e147c79ac7709 + public_key: acc9fbea1d5cca0660ed71b0e516663d36f0180a9826a6e5ba06ca26d4850de7 From f547e25ab9fa70b3d3f51f7f0ff0b8bd5d388be3 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Mon, 8 Apr 2024 20:50:00 -0400 Subject: [PATCH 12/63] code cleanup --- rust/Cargo.lock | 376 +++--------------------------------------------- 1 file changed, 18 insertions(+), 358 deletions(-) diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 4753367..de217a7 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -239,17 +239,6 @@ dependencies = [ "nom", ] -[[package]] -name = "async-trait" -version = "0.1.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.49", -] - [[package]] name = "atomic" version = "0.5.3" @@ -294,55 +283,15 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - [[package]] name = "basic-toml" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2db21524cad41c5591204d22d75e1970a2d1f71060214ca931dc7d5afe2c14e5" +checksum = "823388e228f614e9558c6804262db37960ec8821856535f5c3f59913140558f8" dependencies = [ "serde", ] -[[package]] -name = "bdk" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fc1fc1a92e0943bfbcd6eb7d32c1b2a79f2f1357eb1e2eee9d7f36d6d7ca44a" -dependencies = [ - "async-trait", - "bdk-macros", - "bip39", - "bitcoin", - "electrum-client", - "esplora-client", - "getrandom", - "js-sys", - "log", - "miniscript", - "rand", - "serde", - "serde_json", - "sled", - "tokio", -] - -[[package]] -name = "bdk-macros" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81c1980e50ae23bb6efa9283ae8679d6ea2c6fa6a99fe62533f65f4a25a1a56c" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "bech32" version = "0.9.1" @@ -377,50 +326,27 @@ dependencies = [ "percent-encoding-rfc3986", ] -[[package]] -name = "bip39" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" -dependencies = [ - "bitcoin_hashes 0.11.0", - "serde", - "unicode-normalization", -] - [[package]] name = "bitcoin" version = "0.30.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1945a5048598e4189e239d3f809b19bdad4845c4b2ba400d304d2dcf26d2c462" dependencies = [ - "base64 0.13.1", + "base64", "bech32", "bitcoin-private", - "bitcoin_hashes 0.12.0", + "bitcoin_hashes", "hex_lit", "secp256k1", "serde", ] -[[package]] -name = "bitcoin-internals" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f9997f8650dd818369931b5672a18dbef95324d0513aa99aae758de8ce86e5b" - [[package]] name = "bitcoin-private" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73290177011694f38ec25e165d0387ab7ea749a4b81cd4c80dae5988229f7a57" -[[package]] -name = "bitcoin_hashes" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" - [[package]] name = "bitcoin_hashes" version = "0.12.0" @@ -487,9 +413,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" [[package]] name = "camino" @@ -772,15 +698,6 @@ dependencies = [ "libc", ] -[[package]] -name = "crc32fast" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" -dependencies = [ - "cfg-if", -] - [[package]] name = "crossbeam-channel" version = "0.5.11" @@ -790,15 +707,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-utils" version = "0.8.19" @@ -886,7 +794,7 @@ dependencies = [ "hashbrown 0.14.3", "lock_api", "once_cell", - "parking_lot_core 0.9.9", + "parking_lot_core", ] [[package]] @@ -937,25 +845,6 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" -[[package]] -name = "electrum-client" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bc133f1c8d829d254f013f946653cbeb2b08674b960146361d1e9b67733ad19" -dependencies = [ - "bitcoin", - "bitcoin-private", - "byteorder", - "libc", - "log", - "rustls", - "serde", - "serde_json", - "webpki", - "webpki-roots 0.22.6", - "winapi", -] - [[package]] name = "encode_unicode" version = "0.3.6" @@ -1020,19 +909,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "esplora-client" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cb1f7f2489cce83bc3bd92784f9ba5271eeb6e729b975895fc541f78cbfcdca" -dependencies = [ - "bitcoin", - "bitcoin-internals", - "log", - "serde", - "ureq", -] - [[package]] name = "fastrand" version = "2.0.1" @@ -1058,20 +934,10 @@ checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall", "windows-sys 0.52.0", ] -[[package]] -name = "flate2" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - [[package]] name = "flutter_rust_bridge" version = "2.0.0-dev.28" @@ -1167,16 +1033,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "fsevent-sys" version = "4.1.0" @@ -1275,15 +1131,6 @@ dependencies = [ "slab", ] -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -1708,17 +1555,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -[[package]] -name = "miniscript" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1eb102b66b2127a872dbcc73095b7b47aeb9d92f7b03c2b2298253ffc82c7594" -dependencies = [ - "bitcoin", - "bitcoin-private", - "serde", -] - [[package]] name = "miniz_oxide" version = "0.7.2" @@ -1866,17 +1702,6 @@ dependencies = [ "log", ] -[[package]] -name = "parking_lot" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" -dependencies = [ - "instant", - "lock_api", - "parking_lot_core 0.8.6", -] - [[package]] name = "parking_lot" version = "0.12.1" @@ -1884,21 +1709,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.9", -] - -[[package]] -name = "parking_lot_core" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" -dependencies = [ - "cfg-if", - "instant", - "libc", - "redox_syscall 0.2.16", - "smallvec", - "winapi", + "parking_lot_core", ] [[package]] @@ -1909,7 +1720,7 @@ checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall", "smallvec", "windows-targets 0.48.5", ] @@ -1929,7 +1740,7 @@ checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" [[package]] name = "payjoin" version = "0.13.0" -source = "git+https://github.com/payjoin/rust-payjoin?branch=master#e60930c8dd197489abc876d2e828ca389a5cd6bb" +source = "git+https://github.com/payjoin/rust-payjoin?rev=e7037b23b0f29beda39f5e161d3d7924d2060dd4#e7037b23b0f29beda39f5e161d3d7924d2060dd4" dependencies = [ "bhttp", "bip21", @@ -1946,9 +1757,8 @@ dependencies = [ [[package]] name = "payjoin_ffi" version = "0.13.0" -source = "git+https://github.com/LtbLightning/payjoin-ffi?branch=v0.13#373127df6035db627e58d9f0a6a6970bc33c11b3" +source = "git+https://github.com/LtbLightning/payjoin-ffi?branch=v0.13#8ebcea47367b710d1b0d80a03bdd8106025c1ef2" dependencies = [ - "bdk", "ohttp", "payjoin", "thiserror", @@ -2109,15 +1919,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.4.1" @@ -2156,20 +1957,6 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" -[[package]] -name = "ring" -version = "0.17.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" -dependencies = [ - "cc", - "getrandom", - "libc", - "spin", - "untrusted", - "windows-sys 0.48.0", -] - [[package]] name = "rustc-demangle" version = "0.1.23" @@ -2189,28 +1976,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rustls" -version = "0.21.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" -dependencies = [ - "log", - "ring", - "rustls-webpki", - "sct", -] - -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "rustversion" version = "1.0.14" @@ -2258,23 +2023,13 @@ dependencies = [ "syn 2.0.49", ] -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "secp256k1" version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" dependencies = [ - "bitcoin_hashes 0.12.0", + "bitcoin_hashes", "rand", "secp256k1-sys", "serde", @@ -2360,7 +2115,7 @@ dependencies = [ "futures", "lazy_static", "log", - "parking_lot 0.12.1", + "parking_lot", "serial_test_derive", ] @@ -2414,22 +2169,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "sled" -version = "0.34.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f96b4737c2ce5987354855aed3797279def4ebf734436c6aa4552cf8e169935" -dependencies = [ - "crc32fast", - "crossbeam-epoch", - "crossbeam-utils", - "fs2", - "fxhash", - "libc", - "log", - "parking_lot 0.11.2", -] - [[package]] name = "smallvec" version = "1.13.1" @@ -2442,23 +2181,6 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" -[[package]] -name = "socks" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" -dependencies = [ - "byteorder", - "libc", - "winapi", -] - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - [[package]] name = "static_assertions" version = "1.1.0" @@ -2532,9 +2254,9 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" +checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" dependencies = [ "smawk", "unicode-linebreak", @@ -2594,18 +2316,6 @@ dependencies = [ "backtrace", "num_cpus", "pin-project-lite", - "tokio-macros", -] - -[[package]] -name = "tokio-macros" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.49", ] [[package]] @@ -2692,9 +2402,9 @@ checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] @@ -2859,31 +2569,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "ureq" -version = "2.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97" -dependencies = [ - "base64 0.21.7", - "flate2", - "log", - "once_cell", - "rustls", - "rustls-webpki", - "serde", - "serde_json", - "socks", - "url", - "webpki-roots 0.25.4", -] - [[package]] name = "url" version = "2.5.0" @@ -2999,31 +2684,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webpki" -version = "0.22.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "webpki-roots" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" -dependencies = [ - "webpki", -] - -[[package]] -name = "webpki-roots" -version = "0.25.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" - [[package]] name = "weedle2" version = "5.0.0" From 2c2293c8d8c39424313479e16ffbd4bb497d0ab6 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Tue, 9 Apr 2024 12:22:00 -0400 Subject: [PATCH 13/63] frb updated to 2.0.0-dev.32 --- example/pubspec.lock | 52 +++++++++++++++++++++++++++----------- makefile | 2 +- pubspec.lock | 60 +++++++++++++++++++++++++++++++------------- pubspec.yaml | 2 +- rust/Cargo.lock | 41 +++++++++++++++++------------- rust/Cargo.toml | 2 +- 6 files changed, 106 insertions(+), 53 deletions(-) diff --git a/example/pubspec.lock b/example/pubspec.lock index e8d8aa0..58810f7 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -114,10 +114,10 @@ packages: dependency: transitive description: name: flutter_rust_bridge - sha256: c51fa002e57e64d13030269ed9cd43752173ee4c6f60ec1e9c41450d63c75bae + sha256: d65dbdd271de6050d3204bab69a8ae25a291deb359403cd4f95a86055cab66c3 url: "https://pub.dev" source: hosted - version: "2.0.0-dev.28" + version: "2.0.0-dev.32" flutter_test: dependency: "direct dev" description: flutter @@ -147,6 +147,30 @@ packages: url: "https://pub.dev" source: hosted version: "4.8.1" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + url: "https://pub.dev" + source: hosted + version: "10.0.0" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + url: "https://pub.dev" + source: hosted + version: "2.0.1" lints: dependency: transitive description: @@ -159,34 +183,34 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" meta: dependency: transitive description: name: meta - sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" path: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" payjoin_flutter: dependency: "direct main" description: @@ -279,14 +303,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" - web: + vm_service: dependency: transitive description: - name: web - sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + name: vm_service + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 url: "https://pub.dev" source: hosted - version: "0.3.0" + version: "13.0.0" sdks: dart: ">=3.2.3 <4.0.0" flutter: ">=3.3.0" diff --git a/makefile b/makefile index ad60a8f..2ee4124 100644 --- a/makefile +++ b/makefile @@ -11,7 +11,7 @@ help: makefile ## init: Install missing dependencies. init: - cargo install 'flutter_rust_bridge_codegen@^2.0.0-dev.28' + cargo install 'flutter_rust_bridge_codegen@^2.0.0-dev.32' ## : all: init generate-bindings diff --git a/pubspec.lock b/pubspec.lock index ef6d330..6d674a6 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -242,10 +242,10 @@ packages: dependency: "direct main" description: name: flutter_rust_bridge - sha256: c51fa002e57e64d13030269ed9cd43752173ee4c6f60ec1e9c41450d63c75bae + sha256: d65dbdd271de6050d3204bab69a8ae25a291deb359403cd4f95a86055cab66c3 url: "https://pub.dev" source: hosted - version: "2.0.0-dev.28" + version: "2.0.0-dev.32" flutter_test: dependency: "direct dev" description: flutter @@ -331,6 +331,30 @@ packages: url: "https://pub.dev" source: hosted version: "4.8.1" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + url: "https://pub.dev" + source: hosted + version: "10.0.0" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + url: "https://pub.dev" + source: hosted + version: "2.0.1" lints: dependency: transitive description: @@ -351,26 +375,26 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" meta: dependency: "direct main" description: name: meta - sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" mime: dependency: transitive description: @@ -391,10 +415,10 @@ packages: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" pool: dependency: transitive description: @@ -552,22 +576,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" - watcher: + vm_service: dependency: transitive description: - name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + name: vm_service + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 url: "https://pub.dev" source: hosted - version: "1.1.0" - web: + version: "13.0.0" + watcher: dependency: transitive description: - name: web - sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + name: watcher + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" url: "https://pub.dev" source: hosted - version: "0.3.0" + version: "1.1.0" web_socket_channel: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 6079978..a1a50ca 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,7 +12,7 @@ dependencies: sdk: flutter collection: ^1.17.1 ffi: ^2.0.1 - flutter_rust_bridge: ">2.0.0-dev.27 <= 2.0.0-dev.28" + flutter_rust_bridge: ">2.0.0-dev.30 <= 2.0.0-dev.32" freezed_annotation: ^2.2.0 meta: ^1.10.0 uuid: ^4.2.1 diff --git a/rust/Cargo.lock b/rust/Cargo.lock index de217a7..9074213 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -940,9 +940,9 @@ dependencies = [ [[package]] name = "flutter_rust_bridge" -version = "2.0.0-dev.28" +version = "2.0.0-dev.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce0ad7ece8037d2e85f53413c5cc1e6b33b56ff63fc0a530c08eec7c4b8b3f26" +checksum = "34014207992d96657886c50c90ab503bb4581cc9c2b1ea7ffad2ec12400032da" dependencies = [ "allo-isolate", "android_logger", @@ -1011,9 +1011,14 @@ dependencies = [ [[package]] name = "flutter_rust_bridge_macros" -version = "2.0.0-dev.28" +version = "2.0.0-dev.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5844c71d6ea7f6023838838e6d01aeeef41920abc8e628ca24bac19d09c8fea6" +checksum = "fd250246955bb9548a99733859946a5721289ec152de5fcc6eb03da7d3143dd1" +dependencies = [ + "hex", + "quote", + "syn 2.0.49", +] [[package]] name = "form_urlencoded" @@ -1460,9 +1465,9 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "js-sys" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -2610,9 +2615,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -2620,9 +2625,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", @@ -2635,9 +2640,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.41" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -2647,9 +2652,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2657,9 +2662,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", @@ -2670,9 +2675,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "web-sys" diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 2ab04b8..265f53f 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -12,7 +12,7 @@ anyhow = "1.0.68" [dependencies] ohttp = { version = "0.5.1" } payjoin_ffi = {git = "https://github.com/LtbLightning/payjoin-ffi", branch = "v0.13"} -flutter_rust_bridge = { version = "=2.0.0-dev.28" } +flutter_rust_bridge = "=2.0.0-dev.32" anyhow = "1.0.68" tokio = "1.36.0" From 5ebf94496fb45fe3770b94eb10ae36818fccd675 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Wed, 10 Apr 2024 19:11:00 -0400 Subject: [PATCH 14/63] types added --- lib/src/generated/utils/types.dart | 72 ++++++++++++++++++++ rust/src/utils/types.rs | 105 +++++++++++++++++++++++++++++ 2 files changed, 177 insertions(+) create mode 100644 lib/src/generated/utils/types.dart create mode 100644 rust/src/utils/types.rs diff --git a/lib/src/generated/utils/types.dart b/lib/src/generated/utils/types.dart new file mode 100644 index 0000000..7a10fdf --- /dev/null +++ b/lib/src/generated/utils/types.dart @@ -0,0 +1,72 @@ +// This file is automatically generated, so please do not edit it. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. + +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import + +import '../frb_generated.dart'; +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +class Headers { + final Map map; + + const Headers({ + required this.map, + }); + + @override + int get hashCode => map.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is Headers && runtimeType == other.runtimeType && map == other.map; +} + +/// A reference to a transaction output. +class OutPoint { + /// The referenced transaction's txid. + final String txid; + + /// The index of the referenced output in its transaction's vout. + final int vout; + + const OutPoint({ + required this.txid, + required this.vout, + }); + + @override + int get hashCode => txid.hashCode ^ vout.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is OutPoint && + runtimeType == other.runtimeType && + txid == other.txid && + vout == other.vout; +} + +class TxOut { + /// The value of the output, in satoshis. + final int value; + + /// The address of the output. + final Uint8List scriptPubkey; + + const TxOut({ + required this.value, + required this.scriptPubkey, + }); + + @override + int get hashCode => value.hashCode ^ scriptPubkey.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is TxOut && + runtimeType == other.runtimeType && + value == other.value && + scriptPubkey == other.scriptPubkey; +} diff --git a/rust/src/utils/types.rs b/rust/src/utils/types.rs new file mode 100644 index 0000000..35a5802 --- /dev/null +++ b/rust/src/utils/types.rs @@ -0,0 +1,105 @@ +use std::collections::HashMap; + + +// ///Represents data that needs to be transmitted to the receiver. +// ///You need to send this request over HTTP(S) to the receiver. +// #[derive(Clone, Debug)] +// pub struct Request { +// ///URL to send the request to. +// /// +// ///This is full URL with scheme etc - you can pass it right to reqwest or a similar library. +// pub url: Url, +// ///Bytes to be sent to the receiver. +// /// +// ///This is properly encoded PSBT, already in base64. You only need to make sure Content-Type is text/plain and Content-Length is body.len() (most libraries do the latter automatically). +// pub body: Vec, +// } + +// impl From> for Request { +// fn from(value: Arc) -> Self { +// Self { +// url: value.url.clone().into(), +// body: value.body.clone(), +// } +// } +// } +// impl From for Request { +// fn from(value: payjoin_ffi::types::Request) -> Self { +// Self { +// url: value.url.clone().into(), +// body: value.body.clone(), +// } +// } +// } + +#[derive(Clone)] +pub struct Headers{pub map: HashMap} +impl From for payjoin_ffi::receive::v1::Headers { + fn from(value: Headers) -> Self { + payjoin_ffi::receive::v1::Headers(value.map) + } +} + +impl From for Headers { + fn from(value: payjoin_ffi::receive::v1::Headers) -> Self { + Headers{map:value.0} + } +} +impl Headers { + pub fn from_vec(body: Vec) -> Headers { + payjoin_ffi::receive::v1::Headers::from_vec(body).into() + } +} + +/// A reference to a transaction output. +#[derive(Clone, Debug, PartialEq, Eq, Hash)] +pub struct OutPoint { + /// The referenced transaction's txid. + pub txid: String, + /// The index of the referenced output in its transaction's vout. + pub vout: u32, +} + +impl From for payjoin_ffi::types::OutPoint { + fn from(value: OutPoint) -> Self { + payjoin_ffi::types::OutPoint { + txid: value.txid, + vout: value.vout, + } + } +} +impl From<&payjoin_ffi::types::OutPoint> for OutPoint { + fn from(value: &payjoin_ffi::types::OutPoint) -> Self { + OutPoint { + txid: value.txid.clone(), + vout: value.vout, + } + } +} + +#[derive(Debug, Clone)] +pub struct TxOut { + /// The value of the output, in satoshis. + pub value: u64, + /// The address of the output. + pub script_pubkey: Vec, +} + +impl From for payjoin_ffi::types::TxOut { + fn from(tx_out: TxOut) -> Self { + payjoin_ffi::types::TxOut { + value: tx_out.value, + script_pubkey: tx_out.script_pubkey, + } + } +} + +impl From for TxOut { + fn from(tx_out: payjoin_ffi::types::TxOut) -> Self { + TxOut { + value: tx_out.value, + script_pubkey: tx_out.script_pubkey, + } + } +} + From c70f9902126c92c1c905bcadc757dadc5458e543 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Thu, 11 Apr 2024 13:16:00 -0400 Subject: [PATCH 15/63] code cleanup --- lib/send.dart | 126 +++++++++ lib/src/generated/api/receive.dart | 407 ++++++++--------------------- rust/src/api/receive.rs | 165 +++--------- rust/src/api/send.rs | 43 +-- 4 files changed, 277 insertions(+), 464 deletions(-) create mode 100644 lib/send.dart diff --git a/lib/send.dart b/lib/send.dart new file mode 100644 index 0000000..006ac90 --- /dev/null +++ b/lib/send.dart @@ -0,0 +1,126 @@ +import 'package:payjoin_flutter/src/config.dart'; +import 'package:payjoin_flutter/src/exceptions.dart'; +import 'package:payjoin_flutter/uri.dart'; + +import 'common.dart' as common; +import 'src/generated/api/send.dart' as send; +import 'src/generated/api/uri.dart' as uri; +import 'src/generated/utils/error.dart' as error; + +class RequestBuilder extends send.RequestBuilder { + RequestBuilder._({required super.field0}); + static Future fromPsbtAndUri( + {required String psbtBase64, required uri.Uri uri}) async { + try { + await PConfig.initializeApp(); + final res = await send.RequestBuilder.fromPsbtAndUri( + psbtBase64: psbtBase64, uri: uri); + return RequestBuilder._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future buildWithAdditionalFee( + {required int maxFeeContribution, + int? changeIndex, + required int minFeeRate, + required bool clampFeeContribution, + hint}) async { + try { + final res = await super.buildWithAdditionalFee( + maxFeeContribution: maxFeeContribution, + changeIndex: changeIndex, + minFeeRate: minFeeRate, + clampFeeContribution: clampFeeContribution); + return RequestContext._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future buildRecommended( + {required int minFeeRate, hint}) async { + try { + final res = await super.buildRecommended(minFeeRate: minFeeRate); + return RequestContext._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future buildNonIncentivizing({hint}) async { + try { + final res = await super.buildNonIncentivizing(); + return RequestContext._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future alwaysDisableOutputSubstitution( + {required bool disable, hint}) async { + try { + return await super.alwaysDisableOutputSubstitution(disable: disable); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class RequestContext extends send.RequestContext { + RequestContext._({required super.field0}); + + Future<(common.Request, ContextV1)> extractContextV1() async { + try { + final res = await super.extractV1(); + final request = common.Request( + await Url.fromString((await res.request.$1.query())!), + res.request.$2); + return (request, ContextV1._(field0: res.contextV1.field0)); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + Future<(common.Request, ContextV2)> extractContextV2( + String ohttpProxyUrl) async { + try { + final res = await super.extractV2(ohttpProxyUrl: ohttpProxyUrl); + final request = common.Request( + await Url.fromString((await res.request.$1.query())!), + res.request.$2); + return (request, ContextV2._(field0: res.contextV2.field0)); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class ContextV1 extends send.ContextV1 { + ContextV1._({required super.field0}); + @override + Future processResponse({required List response, hint}) { + try { + return super.processResponse(response: response); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class ContextV2 extends send.ContextV2 { + ContextV2._({required super.field0}); + @override + Future processResponse({required List response, hint}) { + try { + return super.processResponse(response: response); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} diff --git a/lib/src/generated/api/receive.dart b/lib/src/generated/api/receive.dart index 3c23ad3..db1db5d 100644 --- a/lib/src/generated/api/receive.dart +++ b/lib/src/generated/api/receive.dart @@ -1,12 +1,12 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import import '../frb_generated.dart'; import '../utils/error.dart'; +import '../utils/types.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -import 'send.dart'; import 'uri.dart'; // Rust type: RustOpaqueNom> @@ -306,44 +306,6 @@ class MutexOptionOhttpClientResponse extends RustOpaque { ); } -// Rust type: RustOpaqueNom>> -@sealed -class ArcV2MaybeInputsOwned extends RustOpaque { - ArcV2MaybeInputsOwned.dcoDecode(List wire) - : super.dcoDecode(wire, _kStaticData); - - ArcV2MaybeInputsOwned.sseDecode(int ptr, int externalSizeOnNative) - : super.sseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: PayjoinCore - .instance.api.rust_arc_increment_strong_count_ArcV2MaybeInputsOwned, - rustArcDecrementStrongCount: PayjoinCore - .instance.api.rust_arc_decrement_strong_count_ArcV2MaybeInputsOwned, - rustArcDecrementStrongCountPtr: PayjoinCore - .instance.api.rust_arc_decrement_strong_count_ArcV2MaybeInputsOwnedPtr, - ); -} - -// Rust type: RustOpaqueNom>> -@sealed -class ArcV2MaybeInputsSeen extends RustOpaque { - ArcV2MaybeInputsSeen.dcoDecode(List wire) - : super.dcoDecode(wire, _kStaticData); - - ArcV2MaybeInputsSeen.sseDecode(int ptr, int externalSizeOnNative) - : super.sseDecode(ptr, externalSizeOnNative, _kStaticData); - - static final _kStaticData = RustArcStaticData( - rustArcIncrementStrongCount: PayjoinCore - .instance.api.rust_arc_increment_strong_count_ArcV2MaybeInputsSeen, - rustArcDecrementStrongCount: PayjoinCore - .instance.api.rust_arc_decrement_strong_count_ArcV2MaybeInputsSeen, - rustArcDecrementStrongCountPtr: PayjoinCore - .instance.api.rust_arc_decrement_strong_count_ArcV2MaybeInputsSeenPtr, - ); -} - // Rust type: RustOpaqueNom @sealed class PayjoinFfiReceiveV1UncheckedProposal extends RustOpaque { @@ -428,30 +390,21 @@ class Enrolled { required this.field0, }); - Future extractReq({dynamic hint}) => - PayjoinCore.instance.api.enrolledExtractReq( - that: this, - ); + Future<((Url, Uint8List), ClientResponse)> extractReq({dynamic hint}) => + PayjoinCore.instance.api.enrolledExtractReq(that: this, hint: hint); Future fallbackTarget({dynamic hint}) => - PayjoinCore.instance.api.enrolledFallbackTarget( - that: this, - ); + PayjoinCore.instance.api.enrolledFallbackTarget(that: this, hint: hint); Future processRes( {required List body, required ClientResponse ctx, dynamic hint}) => - PayjoinCore.instance.api.enrolledProcessRes( - that: this, - body: body, - ctx: ctx, - ); + PayjoinCore.instance.api + .enrolledProcessRes(that: this, body: body, ctx: ctx, hint: hint); Future subdirectory({dynamic hint}) => - PayjoinCore.instance.api.enrolledSubdirectory( - that: this, - ); + PayjoinCore.instance.api.enrolledSubdirectory(that: this, hint: hint); @override int get hashCode => field0.hashCode; @@ -471,10 +424,8 @@ class Enroller { required this.field0, }); - Future extractReq({dynamic hint}) => - PayjoinCore.instance.api.enrollerExtractReq( - that: this, - ); + Future<((Url, Uint8List), ClientResponse)> extractReq({dynamic hint}) => + PayjoinCore.instance.api.enrollerExtractReq(that: this, hint: hint); static Future fromRelayConfig( {required String relayUrl, @@ -488,24 +439,17 @@ class Enroller { hint: hint); Future payjoinSubdir({dynamic hint}) => - PayjoinCore.instance.api.enrollerPayjoinSubdir( - that: this, - ); + PayjoinCore.instance.api.enrollerPayjoinSubdir(that: this, hint: hint); Future processRes( {required List body, required ClientResponse ctx, dynamic hint}) => - PayjoinCore.instance.api.enrollerProcessRes( - that: this, - body: body, - ctx: ctx, - ); + PayjoinCore.instance.api + .enrollerProcessRes(that: this, body: body, ctx: ctx, hint: hint); Future subdirectory({dynamic hint}) => - PayjoinCore.instance.api.enrollerSubdirectory( - that: this, - ); + PayjoinCore.instance.api.enrollerSubdirectory(that: this, hint: hint); @override int get hashCode => field0.hashCode; @@ -518,27 +462,6 @@ class Enroller { field0 == other.field0; } -class Headers { - final Map field0; - - const Headers({ - required this.field0, - }); - - static Future fromVec({required List body, dynamic hint}) => - PayjoinCore.instance.api.headersFromVec(body: body, hint: hint); - - @override - int get hashCode => field0.hashCode; - - @override - bool operator ==(Object other) => - identical(this, other) || - other is Headers && - runtimeType == other.runtimeType && - field0 == other.field0; -} - class MaybeInputsOwned { final ArcPayjoinFfiReceiveV1MaybeInputsOwned field0; @@ -546,13 +469,12 @@ class MaybeInputsOwned { required this.field0, }); - Future checkInputsNotOwned( - {required FutureOr Function(Uint8List) isOwned, + static Future checkInputsNotOwned( + {required MaybeInputsOwned ptr, + required FutureOr Function(Uint8List) isOwned, dynamic hint}) => PayjoinCore.instance.api.maybeInputsOwnedCheckInputsNotOwned( - that: this, - isOwned: isOwned, - ); + ptr: ptr, isOwned: isOwned, hint: hint); @override int get hashCode => field0.hashCode; @@ -572,12 +494,12 @@ class MaybeInputsSeen { required this.field0, }); - Future checkNoInputsSeenBefore( - {required FutureOr Function(OutPoint) isKnown, dynamic hint}) => + static Future checkNoInputsSeenBefore( + {required MaybeInputsSeen ptr, + required FutureOr Function(OutPoint) isKnown, + dynamic hint}) => PayjoinCore.instance.api.maybeInputsSeenCheckNoInputsSeenBefore( - that: this, - isKnown: isKnown, - ); + ptr: ptr, isKnown: isKnown, hint: hint); @override int get hashCode => field0.hashCode; @@ -597,13 +519,10 @@ class MaybeMixedInputScripts { required this.field0, }); - /// Verify the original transaction did not have mixed input types Call this after checking downstream. - /// - /// Note: mixed spends do not necessarily indicate distinct wallet fingerprints. This check is intended to prevent some types of wallet fingerprinting. - Future checkNoMixedInputScripts({dynamic hint}) => - PayjoinCore.instance.api.maybeMixedInputScriptsCheckNoMixedInputScripts( - that: this, - ); + static Future checkNoMixedInputScripts( + {required MaybeMixedInputScripts ptr, dynamic hint}) => + PayjoinCore.instance.api + .maybeMixedInputScriptsCheckNoMixedInputScripts(ptr: ptr, hint: hint); @override int get hashCode => field0.hashCode; @@ -616,31 +535,6 @@ class MaybeMixedInputScripts { field0 == other.field0; } -/// A reference to a transaction output. -class OutPoint { - /// The referenced transaction's txid. - final String txid; - - /// The index of the referenced output in its transaction's vout. - final int vout; - - const OutPoint({ - required this.txid, - required this.vout, - }); - - @override - int get hashCode => txid.hashCode ^ vout.hashCode; - - @override - bool operator ==(Object other) => - identical(this, other) || - other is OutPoint && - runtimeType == other.runtimeType && - txid == other.txid && - vout == other.vout; -} - class OutputsUnknown { final ArcPayjoinFfiReceiveV1OutputsUnknown field0; @@ -648,13 +542,12 @@ class OutputsUnknown { required this.field0, }); - Future identifyReceiverOutputs( - {required FutureOr Function(Uint8List) isReceiverOutput, + static Future identifyReceiverOutputs( + {required OutputsUnknown ptr, + required FutureOr Function(Uint8List) isReceiverOutput, dynamic hint}) => PayjoinCore.instance.api.outputsUnknownIdentifyReceiverOutputs( - that: this, - isReceiverOutput: isReceiverOutput, - ); + ptr: ptr, isReceiverOutput: isReceiverOutput, hint: hint); @override int get hashCode => field0.hashCode; @@ -675,24 +568,18 @@ class PayjoinProposal { }); Future isOutputSubstitutionDisabled({dynamic hint}) => - PayjoinCore.instance.api.payjoinProposalIsOutputSubstitutionDisabled( - that: this, - ); + PayjoinCore.instance.api + .payjoinProposalIsOutputSubstitutionDisabled(that: this, hint: hint); - Future ownedVouts({dynamic hint}) => - PayjoinCore.instance.api.payjoinProposalOwnedVouts( - that: this, - ); + Future ownedVouts({dynamic hint}) => PayjoinCore.instance.api + .payjoinProposalOwnedVouts(that: this, hint: hint); Future psbt({dynamic hint}) => - PayjoinCore.instance.api.payjoinProposalPsbt( - that: this, - ); + PayjoinCore.instance.api.payjoinProposalPsbt(that: this, hint: hint); Future> utxosToBeLocked({dynamic hint}) => - PayjoinCore.instance.api.payjoinProposalUtxosToBeLocked( - that: this, - ); + PayjoinCore.instance.api + .payjoinProposalUtxosToBeLocked(that: this, hint: hint); @override int get hashCode => field0.hashCode; @@ -715,47 +602,33 @@ class ProvisionalProposal { Future contributeNonWitnessInput( {required List tx, required OutPoint outpoint, dynamic hint}) => PayjoinCore.instance.api.provisionalProposalContributeNonWitnessInput( - that: this, - tx: tx, - outpoint: outpoint, - ); + that: this, tx: tx, outpoint: outpoint, hint: hint); Future contributeWitnessInput( {required TxOut txo, required OutPoint outpoint, dynamic hint}) => PayjoinCore.instance.api.provisionalProposalContributeWitnessInput( - that: this, - txo: txo, - outpoint: outpoint, - ); + that: this, txo: txo, outpoint: outpoint, hint: hint); - Future finalizeProposal( - {required FutureOr Function(String) processPsbt, + static Future finalizeProposal( + {required ProvisionalProposal ptr, + required FutureOr Function(String) processPsbt, int? minFeerateSatPerVb, dynamic hint}) => PayjoinCore.instance.api.provisionalProposalFinalizeProposal( - that: this, - processPsbt: processPsbt, - minFeerateSatPerVb: minFeerateSatPerVb, - ); + ptr: ptr, + processPsbt: processPsbt, + minFeerateSatPerVb: minFeerateSatPerVb, + hint: hint); Future substituteOutputAddress( {required String address, dynamic hint}) => PayjoinCore.instance.api.provisionalProposalSubstituteOutputAddress( - that: this, - address: address, - ); + that: this, address: address, hint: hint); - /// Select receiver input such that the payjoin avoids surveillance. Return the input chosen that has been applied to the Proposal. - /// - /// Proper coin selection allows payjoin to resemble ordinary transactions. To ensure the resemblance, a number of heuristics must be avoided. - /// - /// UIH “Unnecessary input heuristic” is one class of them to avoid. We define UIH1 and UIH2 according to the BlockSci practice BlockSci UIH1 and UIH2: Future tryPreservingPrivacy( {required Map candidateInputs, dynamic hint}) => PayjoinCore.instance.api.provisionalProposalTryPreservingPrivacy( - that: this, - candidateInputs: candidateInputs, - ); + that: this, candidateInputs: candidateInputs, hint: hint); @override int get hashCode => field0.hashCode; @@ -768,51 +641,6 @@ class ProvisionalProposal { field0 == other.field0; } -class RequestResponse { - final Request request; - final ClientResponse clientResponse; - - const RequestResponse({ - required this.request, - required this.clientResponse, - }); - - @override - int get hashCode => request.hashCode ^ clientResponse.hashCode; - - @override - bool operator ==(Object other) => - identical(this, other) || - other is RequestResponse && - runtimeType == other.runtimeType && - request == other.request && - clientResponse == other.clientResponse; -} - -class TxOut { - /// The value of the output, in satoshis. - final int value; - - /// The address of the output. - final Uint8List scriptPubkey; - - const TxOut({ - required this.value, - required this.scriptPubkey, - }); - - @override - int get hashCode => value.hashCode ^ scriptPubkey.hashCode; - - @override - bool operator ==(Object other) => - identical(this, other) || - other is TxOut && - runtimeType == other.runtimeType && - value == other.value && - scriptPubkey == other.scriptPubkey; -} - class UncheckedProposal { final PayjoinFfiReceiveV1UncheckedProposal field0; @@ -823,10 +651,10 @@ class UncheckedProposal { /// Call this method if the only way to initiate a Payjoin with this receiver requires manual intervention, as in most consumer wallets. /// /// So-called “non-interactive” receivers, like payment processors, that allow arbitrary requests are otherwise vulnerable to probing attacks. Those receivers call get_transaction_to_check_broadcast() and attest_tested_and_scheduled_broadcast() after making those checks downstream. - Future assumeInteractiveReceiver({dynamic hint}) => - PayjoinCore.instance.api.uncheckedProposalAssumeInteractiveReceiver( - that: this, - ); + static Future assumeInteractiveReceiver( + {required UncheckedProposal ptr, dynamic hint}) => + PayjoinCore.instance.api + .uncheckedProposalAssumeInteractiveReceiver(ptr: ptr, hint: hint); /// Call after checking that the Original PSBT can be broadcast. /// @@ -835,21 +663,21 @@ class UncheckedProposal { /// Do this check if you generate bitcoin uri to receive Payjoin on sender request without manual human approval, like a payment processor. Such so called “non-interactive” receivers are otherwise vulnerable to probing attacks. If a sender can make requests at will, they can learn which bitcoin the receiver owns at no cost. Broadcasting the Original PSBT after some time in the failure case makes incurs sender cost and prevents probing. /// /// Call this after checking downstream. - Future checkBroadcastSuitability( - {int? minFeeRate, + static Future checkBroadcastSuitability( + {required UncheckedProposal ptr, + int? minFeeRate, required FutureOr Function(Uint8List) canBroadcast, dynamic hint}) => PayjoinCore.instance.api.uncheckedProposalCheckBroadcastSuitability( - that: this, - minFeeRate: minFeeRate, - canBroadcast: canBroadcast, - ); + ptr: ptr, + minFeeRate: minFeeRate, + canBroadcast: canBroadcast, + hint: hint); /// The Sender’s Original PSBT - Future extractTxToScheduleBroadcast({dynamic hint}) => - PayjoinCore.instance.api.uncheckedProposalExtractTxToScheduleBroadcast( - that: this, - ); + Future extractTxToScheduleBroadcast({dynamic hint}) => PayjoinCore + .instance.api + .uncheckedProposalExtractTxToScheduleBroadcast(that: this, hint: hint); static Future fromRequest( {required List body, @@ -883,9 +711,7 @@ class V2MaybeInputsOwned { {required FutureOr Function(Uint8List) isOwned, dynamic hint}) => PayjoinCore.instance.api.v2MaybeInputsOwnedCheckInputsNotOwned( - that: this, - isOwned: isOwned, - ); + that: this, isOwned: isOwned, hint: hint); @override int get hashCode => field0.hashCode; @@ -911,9 +737,7 @@ class V2MaybeInputsSeen { Future checkNoInputsSeenBefore( {required FutureOr Function(OutPoint) isKnown, dynamic hint}) => PayjoinCore.instance.api.v2MaybeInputsSeenCheckNoInputsSeenBefore( - that: this, - isKnown: isKnown, - ); + that: this, isKnown: isKnown, hint: hint); @override int get hashCode => field0.hashCode; @@ -938,10 +762,9 @@ class V2MaybeMixedInputScripts { /// /// Note: mixed spends do not necessarily indicate distinct wallet fingerprints. /// This check is intended to prevent some types of wallet fingerprinting. - Future checkNoMixedInputScripts({dynamic hint}) => + Future checkNoMixedInputScripts({dynamic hint}) => PayjoinCore.instance.api.v2MaybeMixedInputScriptsCheckNoMixedInputScripts( - that: this, - ); + that: this, hint: hint); @override int get hashCode => field0.hashCode; @@ -966,9 +789,7 @@ class V2OutputsUnknown { {required FutureOr Function(Uint8List) isReceiverOutput, dynamic hint}) => PayjoinCore.instance.api.v2OutputsUnknownIdentifyReceiverOutputs( - that: this, - isReceiverOutput: isReceiverOutput, - ); + that: this, isReceiverOutput: isReceiverOutput, hint: hint); @override int get hashCode => field0.hashCode; @@ -993,40 +814,28 @@ class V2PayjoinProposal { required ClientResponse ohttpContext, dynamic hint}) => PayjoinCore.instance.api.v2PayjoinProposalDeserializeRes( - that: this, - res: res, - ohttpContext: ohttpContext, - ); + that: this, res: res, ohttpContext: ohttpContext, hint: hint); - Future extractV1Req({dynamic hint}) => - PayjoinCore.instance.api.v2PayjoinProposalExtractV1Req( - that: this, - ); + Future extractV1Req({dynamic hint}) => PayjoinCore.instance.api + .v2PayjoinProposalExtractV1Req(that: this, hint: hint); - Future extractV2Req({dynamic hint}) => - PayjoinCore.instance.api.v2PayjoinProposalExtractV2Req( - that: this, - ); + Future<((Url, Uint8List), ClientResponse)> extractV2Req({dynamic hint}) => + PayjoinCore.instance.api + .v2PayjoinProposalExtractV2Req(that: this, hint: hint); - Future isOutputSubstitutionDisabled({dynamic hint}) => - PayjoinCore.instance.api.v2PayjoinProposalIsOutputSubstitutionDisabled( - that: this, - ); + Future isOutputSubstitutionDisabled({dynamic hint}) => PayjoinCore + .instance.api + .v2PayjoinProposalIsOutputSubstitutionDisabled(that: this, hint: hint); - Future ownedVouts({dynamic hint}) => - PayjoinCore.instance.api.v2PayjoinProposalOwnedVouts( - that: this, - ); + Future ownedVouts({dynamic hint}) => PayjoinCore.instance.api + .v2PayjoinProposalOwnedVouts(that: this, hint: hint); Future psbt({dynamic hint}) => - PayjoinCore.instance.api.v2PayjoinProposalPsbt( - that: this, - ); + PayjoinCore.instance.api.v2PayjoinProposalPsbt(that: this, hint: hint); Future> utxosToBeLocked({dynamic hint}) => - PayjoinCore.instance.api.v2PayjoinProposalUtxosToBeLocked( - that: this, - ); + PayjoinCore.instance.api + .v2PayjoinProposalUtxosToBeLocked(that: this, hint: hint); @override int get hashCode => field0.hashCode; @@ -1049,47 +858,37 @@ class V2ProvisionalProposal { Future contributeNonWitnessInput( {required List tx, required OutPoint outpoint, dynamic hint}) => PayjoinCore.instance.api.v2ProvisionalProposalContributeNonWitnessInput( - that: this, - tx: tx, - outpoint: outpoint, - ); + that: this, tx: tx, outpoint: outpoint, hint: hint); Future contributeWitnessInput( {required TxOut txo, required OutPoint outpoint, dynamic hint}) => PayjoinCore.instance.api.v2ProvisionalProposalContributeWitnessInput( - that: this, - txo: txo, - outpoint: outpoint, - ); + that: this, txo: txo, outpoint: outpoint, hint: hint); Future finalizeProposal( {required FutureOr Function(String) processPsbt, int? minFeerateSatPerVb, dynamic hint}) => PayjoinCore.instance.api.v2ProvisionalProposalFinalizeProposal( - that: this, - processPsbt: processPsbt, - minFeerateSatPerVb: minFeerateSatPerVb, - ); + that: this, + processPsbt: processPsbt, + minFeerateSatPerVb: minFeerateSatPerVb, + hint: hint); Future substituteOutputAddress( {required String address, dynamic hint}) => PayjoinCore.instance.api.v2ProvisionalProposalSubstituteOutputAddress( - that: this, - address: address, - ); + that: this, address: address, hint: hint); - /// Select receiver input such that the payjoin avoids surveillance. Return the input chosen that has been applied to the Proposal. + /// Select receiver input such that the common.dart avoids surveillance. Return the input chosen that has been applied to the Proposal. /// - /// Proper coin selection allows payjoin to resemble ordinary transactions. To ensure the resemblance, a number of heuristics must be avoided. + /// Proper coin selection allows common.dart to resemble ordinary transactions. To ensure the resemblance, a number of heuristics must be avoided. /// /// UIH “Unnecessary input heuristic” is one class of them to avoid. We define UIH1 and UIH2 according to the BlockSci practice BlockSci UIH1 and UIH2: Future tryPreservingPrivacy( {required Map candidateInputs, dynamic hint}) => PayjoinCore.instance.api.v2ProvisionalProposalTryPreservingPrivacy( - that: this, - candidateInputs: candidateInputs, - ); + that: this, candidateInputs: candidateInputs, hint: hint); @override int get hashCode => field0.hashCode; @@ -1114,10 +913,9 @@ class V2UncheckedProposal { /// /// So-called "non-interactive" receivers, like payment processors, that allow arbitrary requests are otherwise vulnerable to probing attacks. /// Those receivers call `extract_tx_to_check_broadcast()` and `attest_tested_and_scheduled_broadcast()` after making those checks downstream. - Future assumeInteractiveReceiver({dynamic hint}) => - PayjoinCore.instance.api.v2UncheckedProposalAssumeInteractiveReceiver( - that: this, - ); + Future assumeInteractiveReceiver({dynamic hint}) => + PayjoinCore.instance.api + .v2UncheckedProposalAssumeInteractiveReceiver(that: this, hint: hint); /// Call after checking that the Original PSBT can be broadcast. /// @@ -1131,16 +929,15 @@ class V2UncheckedProposal { required FutureOr Function(Uint8List) canBroadcast, dynamic hint}) => PayjoinCore.instance.api.v2UncheckedProposalCheckBroadcastSuitability( - that: this, - minFeeRate: minFeeRate, - canBroadcast: canBroadcast, - ); + that: this, + minFeeRate: minFeeRate, + canBroadcast: canBroadcast, + hint: hint); ///The Sender’s Original PSBT - Future extractTxToScheduleBroadcast({dynamic hint}) => - PayjoinCore.instance.api.v2UncheckedProposalExtractTxToScheduleBroadcast( - that: this, - ); + Future extractTxToScheduleBroadcast({dynamic hint}) => PayjoinCore + .instance.api + .v2UncheckedProposalExtractTxToScheduleBroadcast(that: this, hint: hint); @override int get hashCode => field0.hashCode; diff --git a/rust/src/api/receive.rs b/rust/src/api/receive.rs index 4df2da5..2ee62d6 100644 --- a/rust/src/api/receive.rs +++ b/rust/src/api/receive.rs @@ -1,81 +1,10 @@ -use crate::api::send::Request; +use std::collections::HashMap; use crate::frb_generated::RustOpaque; pub use crate::utils::error::PayjoinError; -use flutter_rust_bridge::DartFnFuture; -use std::collections::HashMap; +use flutter_rust_bridge::{DartFnFuture}; pub use std::sync::{Arc, Mutex}; - -#[derive(Clone)] -pub struct Headers(pub HashMap); -/// A reference to a transaction output. -#[derive(Clone, Debug, PartialEq, Eq, Hash)] -pub struct OutPoint { - /// The referenced transaction's txid. - pub txid: String, - /// The index of the referenced output in its transaction's vout. - pub vout: u32, -} - -impl From for payjoin_ffi::types::OutPoint { - fn from(value: OutPoint) -> Self { - payjoin_ffi::types::OutPoint { - txid: value.txid, - vout: value.vout, - } - } -} -impl From<&payjoin_ffi::types::OutPoint> for OutPoint { - fn from(value: &payjoin_ffi::types::OutPoint) -> Self { - OutPoint { - txid: value.txid.clone(), - vout: value.vout, - } - } -} - -#[derive(Debug, Clone)] -pub struct TxOut { - /// The value of the output, in satoshis. - pub value: u64, - /// The address of the output. - pub script_pubkey: Vec, -} - -impl From for payjoin_ffi::types::TxOut { - fn from(tx_out: TxOut) -> Self { - payjoin_ffi::types::TxOut { - value: tx_out.value, - script_pubkey: tx_out.script_pubkey, - } - } -} - -impl From for TxOut { - fn from(tx_out: payjoin_ffi::types::TxOut) -> Self { - TxOut { - value: tx_out.value, - script_pubkey: tx_out.script_pubkey, - } - } -} -impl From for payjoin_ffi::receive::v1::Headers { - fn from(value: Headers) -> Self { - payjoin_ffi::receive::v1::Headers(value.0) - } -} - -impl From for Headers { - fn from(value: payjoin_ffi::receive::v1::Headers) -> Self { - Headers(value.0) - } -} - -impl Headers { - pub fn from_vec(body: Vec) -> Headers { - payjoin_ffi::receive::v1::Headers::from_vec(body).into() - } -} - +use crate::api::uri::Url; +use crate::utils::types::{Headers, OutPoint, TxOut}; pub struct UncheckedProposal(pub RustOpaque); impl From for UncheckedProposal { fn from(value: payjoin_ffi::receive::v1::UncheckedProposal) -> Self { @@ -112,12 +41,12 @@ impl UncheckedProposal { /// /// Call this after checking downstream. pub fn check_broadcast_suitability( - &self, + ptr: Self, min_fee_rate: Option, can_broadcast: impl Fn(Vec) -> DartFnFuture, ) -> Result { let runtime = tokio::runtime::Runtime::new().unwrap(); - self.0 + ptr.0 .check_broadcast_suitability_with_callback(min_fee_rate, |x| { Ok(runtime.block_on(can_broadcast(x.clone()))) }) @@ -127,8 +56,8 @@ impl UncheckedProposal { /// Call this method if the only way to initiate a Payjoin with this receiver requires manual intervention, as in most consumer wallets. /// /// So-called “non-interactive” receivers, like payment processors, that allow arbitrary requests are otherwise vulnerable to probing attacks. Those receivers call get_transaction_to_check_broadcast() and attest_tested_and_scheduled_broadcast() after making those checks downstream. - pub fn assume_interactive_receiver(&self) -> MaybeInputsOwned { - self.0.clone().assume_interactive_receiver().into() + pub fn assume_interactive_receiver(ptr: Self) -> MaybeInputsOwned { + ptr.0.assume_interactive_receiver().into() } } @@ -140,11 +69,11 @@ impl From> for MaybeInputsOwned } impl MaybeInputsOwned { pub fn check_inputs_not_owned( - &self, + ptr: Self, is_owned: impl Fn(Vec) -> DartFnFuture, ) -> Result { let runtime = tokio::runtime::Runtime::new().unwrap(); - self.0 + ptr.0 .check_inputs_not_owned_with_callback(|o| Ok(runtime.block_on(is_owned(o.clone())))) .map(|e| e.into()) .map_err(|e| e.into()) @@ -159,11 +88,8 @@ impl From> for MaybeMixedI } } impl MaybeMixedInputScripts { - /// Verify the original transaction did not have mixed input types Call this after checking downstream. - /// - /// Note: mixed spends do not necessarily indicate distinct wallet fingerprints. This check is intended to prevent some types of wallet fingerprinting. - pub fn check_no_mixed_input_scripts(&self) -> Result { - self.0 + pub fn check_no_mixed_input_scripts(ptr: Self) -> Result { + ptr.0 .clone() .check_no_mixed_input_scripts() .map(|e| e.into()) @@ -179,11 +105,11 @@ impl From> for MaybeInputsSeen { impl MaybeInputsSeen { pub fn check_no_inputs_seen_before( - &self, + ptr: Self, is_known: impl Fn(OutPoint) -> DartFnFuture, ) -> Result { let runtime = tokio::runtime::Runtime::new().unwrap(); - self.0 + ptr.0 .check_no_inputs_seen_before_with_callback(|o| Ok(runtime.block_on(is_known(o.into())))) .map(|e| e.into()) .map_err(|e| e.into()) @@ -199,11 +125,11 @@ impl From> for OutputsUnknown { impl OutputsUnknown { pub fn identify_receiver_outputs( - &self, + ptr: Self, is_receiver_output: impl Fn(Vec) -> DartFnFuture, ) -> Result { let runtime = tokio::runtime::Runtime::new().unwrap(); - self.0 + ptr.0 .identify_receiver_outputs_with_callback(|o| { Ok(runtime.block_on(is_receiver_output(o.clone()))) }) @@ -242,11 +168,7 @@ impl ProvisionalProposal { .contribute_non_witness_input(tx, outpoint.into()) .map_err(|e| e.into()) } - /// Select receiver input such that the payjoin avoids surveillance. Return the input chosen that has been applied to the Proposal. - /// - /// Proper coin selection allows payjoin to resemble ordinary transactions. To ensure the resemblance, a number of heuristics must be avoided. - /// - /// UIH “Unnecessary input heuristic” is one class of them to avoid. We define UIH1 and UIH2 according to the BlockSci practice BlockSci UIH1 and UIH2: + pub fn try_preserving_privacy( &self, candidate_inputs: HashMap, @@ -262,12 +184,12 @@ impl ProvisionalProposal { } pub fn finalize_proposal( - &self, + ptr: Self, process_psbt: impl Fn(String) -> DartFnFuture, min_feerate_sat_per_vb: Option, ) -> Result { let runtime = tokio::runtime::Runtime::new().unwrap(); - self.0 + ptr.0 .finalize_proposal_with_callback( |o| Ok(runtime.block_on(process_psbt(o.clone()))), min_feerate_sat_per_vb, @@ -317,10 +239,7 @@ impl From for ClientResponse { #[derive(Clone, Debug)] pub struct Enroller(pub RustOpaque); -pub struct RequestResponse { - pub request: Request, - pub client_response: ClientResponse, -} + impl From for Enroller { fn from(value: payjoin_ffi::receive::v2::Enroller) -> Self { @@ -347,13 +266,13 @@ impl Enroller { pub fn payjoin_subdir(&self) -> String { self.0.payjoin_subdir() } - pub fn extract_req(&self) -> Result { + pub fn extract_req(&self) -> Result<((Url, Vec), ClientResponse), PayjoinError> { self.0 .extract_req_as_tuple() - .map(|e| RequestResponse { - request: e.0.into(), - client_response: e.1.into(), - }) + .map(|e| ( + ((*e.0.url).clone().into(), e.0.body), + e.1.into(), + )) .map_err(|e| e.into()) } pub fn process_res( @@ -382,13 +301,13 @@ impl Enrolled { pub fn fallback_target(&self) -> String { self.0.fallback_target() } - pub fn extract_req(&self) -> Result { + pub fn extract_req(&self) -> Result<((Url, Vec), ClientResponse), PayjoinError> { self.0 .extract_req_as_tuple() - .map(|e| RequestResponse { - request: e.0.into(), - client_response: e.1.into(), - }) + .map(|e| ( + ((*e.0.url).clone().into(), e.0.body), + e.1.into(), + )) .map_err(|e| e.into()) } pub fn process_res( @@ -440,8 +359,8 @@ impl V2UncheckedProposal { /// /// So-called "non-interactive" receivers, like payment processors, that allow arbitrary requests are otherwise vulnerable to probing attacks. /// Those receivers call `extract_tx_to_check_broadcast()` and `attest_tested_and_scheduled_broadcast()` after making those checks downstream. - pub fn assume_interactive_receiver(&self) -> Arc { - Arc::new(self.0.clone().assume_interactive_receiver().into()) + pub fn assume_interactive_receiver(&self) -> V2MaybeInputsOwned { + self.0.clone().assume_interactive_receiver().into() } } #[derive(Clone)] @@ -482,11 +401,11 @@ impl V2MaybeMixedInputScripts { /// /// Note: mixed spends do not necessarily indicate distinct wallet fingerprints. /// This check is intended to prevent some types of wallet fingerprinting. - pub fn check_no_mixed_input_scripts(&self) -> Result, PayjoinError> { + pub fn check_no_mixed_input_scripts(&self) -> Result { self.0 .clone() .check_no_mixed_input_scripts() - .map(|e| Arc::new(e.into())) + .map(|e| e.into()) .map_err(|e| e.into()) } } @@ -567,9 +486,9 @@ impl V2ProvisionalProposal { .contribute_non_witness_input(tx, outpoint.into()) .map_err(|e| e.into()) } - /// Select receiver input such that the payjoin avoids surveillance. Return the input chosen that has been applied to the Proposal. + /// Select receiver input such that the common.dart avoids surveillance. Return the input chosen that has been applied to the Proposal. /// - /// Proper coin selection allows payjoin to resemble ordinary transactions. To ensure the resemblance, a number of heuristics must be avoided. + /// Proper coin selection allows common.dart to resemble ordinary transactions. To ensure the resemblance, a number of heuristics must be avoided. /// /// UIH “Unnecessary input heuristic” is one class of them to avoid. We define UIH1 and UIH2 according to the BlockSci practice BlockSci UIH1 and UIH2: pub fn try_preserving_privacy( @@ -627,12 +546,12 @@ impl V2PayjoinProposal { pub fn extract_v1_req(&self) -> String { self.0.extract_v1_req() } - pub fn extract_v2_req(&self) -> Result { - let (req, res) = self.0.clone().extract_v2_req_as_tuple()?; - Ok(RequestResponse { - request: req.into(), - client_response: res.into(), - }) + pub fn extract_v2_req(&self) -> Result<((Url, Vec), ClientResponse), PayjoinError> { + self.0.clone().extract_v2_req_as_tuple().map(|e| ( + ((*e.0.url).clone().into(), e.0.body), + e.1.into(), + )) + .map_err(|e| e.into()) } pub fn deserialize_res( diff --git a/rust/src/api/send.rs b/rust/src/api/send.rs index 5992c57..a2aa3eb 100644 --- a/rust/src/api/send.rs +++ b/rust/src/api/send.rs @@ -1,8 +1,9 @@ use crate::{ - api::uri::{Uri, Url}, + api::uri::Uri, frb_generated::RustOpaque, }; use std::sync::Arc; +use crate::api::uri::Url; use super::receive::PayjoinError; @@ -18,7 +19,6 @@ impl From for RequestBuilder { } } impl RequestBuilder { - pub fn new() {} pub fn from_psbt_and_uri( psbt_base64: String, uri: Uri, @@ -102,46 +102,17 @@ impl RequestContext { } } -///Represents data that needs to be transmitted to the receiver. -///You need to send this request over HTTP(S) to the receiver. -#[derive(Clone, Debug)] -pub struct Request { - ///URL to send the request to. - /// - ///This is full URL with scheme etc - you can pass it right to reqwest or a similar library. - pub url: Url, - ///Bytes to be sent to the receiver. - /// - ///This is properly encoded PSBT, already in base64. You only need to make sure Content-Type is text/plain and Content-Length is body.len() (most libraries do the latter automatically). - pub body: Vec, -} -impl From> for Request { - fn from(value: Arc) -> Self { - Self { - url: value.url.clone().into(), - body: value.body.clone(), - } - } -} -impl From for Request { - fn from(value: payjoin_ffi::types::Request) -> Self { - Self { - url: value.url.clone().into(), - body: value.body.clone(), - } - } -} #[derive(Clone)] pub struct RequestContextV1 { - pub request: Request, + pub request: (Url, Vec), pub context_v1: ContextV1, } impl From> for RequestContextV1 { fn from(value: Arc) -> Self { Self { - request: value.request.clone().into(), + request: ((*value.request.url).clone().into(), value.request.body.clone()), context_v1: value.context_v1.clone().into(), } } @@ -150,20 +121,20 @@ impl From> for RequestContextV1 { impl From for RequestContextV1 { fn from(value: payjoin_ffi::send::v1::RequestContextV1) -> Self { Self { - request: value.request.into(), + request: ((*value.request.url).clone().into(), value.request.body), context_v1: value.context_v1.into(), } } } pub struct RequestContextV2 { - pub request: Request, + pub request: (Url, Vec), pub context_v2: ContextV2, } impl From for RequestContextV2 { fn from(value: payjoin_ffi::send::v1::RequestContextV2) -> Self { Self { - request: value.request.into(), + request: ((*value.request.url).clone().into(), value.request.body ), context_v2: value.context_v2.into(), } } From 76120f827a46e5e48c2985b2b8afdb7a733e35d9 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Fri, 12 Apr 2024 17:33:00 -0400 Subject: [PATCH 16/63] mapped Payjoin Errors --- lib/src/exceptions.dart | 49 ++++++++ lib/src/generated/utils/error.dart | 4 +- lib/src/generated/utils/error.freezed.dart | 124 ++++++++++++--------- 3 files changed, 123 insertions(+), 54 deletions(-) create mode 100644 lib/src/exceptions.dart diff --git a/lib/src/exceptions.dart b/lib/src/exceptions.dart new file mode 100644 index 0000000..cfa62bc --- /dev/null +++ b/lib/src/exceptions.dart @@ -0,0 +1,49 @@ +import 'generated/utils/error.dart' as error; + +abstract class ExceptionBase implements Exception { + String? message; + + ExceptionBase({this.message}); + + @override + String toString() => + (message != null) ? '$runtimeType( $message )' : runtimeType.toString(); +} + +/// Returned when trying to start [Node] while it is already running. +class PayjoinException extends ExceptionBase { + PayjoinException({super.message}); +} + +PayjoinException mapPayjoinError(error.PayjoinError e) { + return e.map( + invalidAddress: (e) => PayjoinException( + message: "Error while parsing the address: ${e.message}"), + invalidScript: (e) => PayjoinException( + message: "Error while parsing the script: ${e.message}"), + networkValidation: (e) => PayjoinException(message: e.message), + psbtParseError: (e) => PayjoinException( + message: "Error encountered while decoding PSBT: ${e.message}"), + responseError: (e) => PayjoinException(message: e.message), + requestError: (e) => PayjoinException( + message: + "Error encountered while processing the sender's request: ${e.message}"), + transactionError: (e) => PayjoinException( + message: + "Error encountered while decoding transaction data: ${e.message}"), + serverError: (e) => PayjoinException(message: "HTTP 500: ${e.message}"), + selectionError: (e) => PayjoinException( + message: "Error occurred during coin selection: ${e.message}"), + createRequestError: (e) => + PayjoinException(message: "Error creating the request: ${e.message}"), + pjParseError: (e) => + PayjoinException(message: "Error parsing the Pj URL: ${e.message}"), + pjNotSupported: (e) => PayjoinException(message: e.message), + validationError: (e) => PayjoinException( + message: "Malformed response from receiver: ${e.message}"), + v2Error: (e) => PayjoinException(message: e.message), + unexpectedError: (e) => PayjoinException(message: e.message), + ohttpError: (e) => PayjoinException(message: e.message), + urlError: (e) => PayjoinException(message: e.message), + ); +} diff --git a/lib/src/generated/utils/error.dart b/lib/src/generated/utils/error.dart index 14c54c6..8891308 100644 --- a/lib/src/generated/utils/error.dart +++ b/lib/src/generated/utils/error.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import @@ -10,6 +10,8 @@ part 'error.freezed.dart'; @freezed sealed class PayjoinError with _$PayjoinError implements FrbException { + const PayjoinError._(); + const factory PayjoinError.invalidAddress({ required String message, }) = PayjoinError_InvalidAddress; diff --git a/lib/src/generated/utils/error.freezed.dart b/lib/src/generated/utils/error.freezed.dart index 5786f8a..715b59e 100644 --- a/lib/src/generated/utils/error.freezed.dart +++ b/lib/src/generated/utils/error.freezed.dart @@ -227,8 +227,8 @@ class __$$PayjoinError_InvalidAddressImplCopyWithImpl<$Res> /// @nodoc -class _$PayjoinError_InvalidAddressImpl implements PayjoinError_InvalidAddress { - const _$PayjoinError_InvalidAddressImpl({required this.message}); +class _$PayjoinError_InvalidAddressImpl extends PayjoinError_InvalidAddress { + const _$PayjoinError_InvalidAddressImpl({required this.message}) : super._(); @override final String message; @@ -415,9 +415,10 @@ class _$PayjoinError_InvalidAddressImpl implements PayjoinError_InvalidAddress { } } -abstract class PayjoinError_InvalidAddress implements PayjoinError { +abstract class PayjoinError_InvalidAddress extends PayjoinError { const factory PayjoinError_InvalidAddress({required final String message}) = _$PayjoinError_InvalidAddressImpl; + const PayjoinError_InvalidAddress._() : super._(); @override String get message; @@ -464,8 +465,8 @@ class __$$PayjoinError_InvalidScriptImplCopyWithImpl<$Res> /// @nodoc -class _$PayjoinError_InvalidScriptImpl implements PayjoinError_InvalidScript { - const _$PayjoinError_InvalidScriptImpl({required this.message}); +class _$PayjoinError_InvalidScriptImpl extends PayjoinError_InvalidScript { + const _$PayjoinError_InvalidScriptImpl({required this.message}) : super._(); @override final String message; @@ -652,9 +653,10 @@ class _$PayjoinError_InvalidScriptImpl implements PayjoinError_InvalidScript { } } -abstract class PayjoinError_InvalidScript implements PayjoinError { +abstract class PayjoinError_InvalidScript extends PayjoinError { const factory PayjoinError_InvalidScript({required final String message}) = _$PayjoinError_InvalidScriptImpl; + const PayjoinError_InvalidScript._() : super._(); @override String get message; @@ -703,8 +705,9 @@ class __$$PayjoinError_NetworkValidationImplCopyWithImpl<$Res> /// @nodoc class _$PayjoinError_NetworkValidationImpl - implements PayjoinError_NetworkValidation { - const _$PayjoinError_NetworkValidationImpl({required this.message}); + extends PayjoinError_NetworkValidation { + const _$PayjoinError_NetworkValidationImpl({required this.message}) + : super._(); @override final String message; @@ -892,9 +895,10 @@ class _$PayjoinError_NetworkValidationImpl } } -abstract class PayjoinError_NetworkValidation implements PayjoinError { +abstract class PayjoinError_NetworkValidation extends PayjoinError { const factory PayjoinError_NetworkValidation( {required final String message}) = _$PayjoinError_NetworkValidationImpl; + const PayjoinError_NetworkValidation._() : super._(); @override String get message; @@ -942,8 +946,8 @@ class __$$PayjoinError_PsbtParseErrorImplCopyWithImpl<$Res> /// @nodoc -class _$PayjoinError_PsbtParseErrorImpl implements PayjoinError_PsbtParseError { - const _$PayjoinError_PsbtParseErrorImpl({required this.message}); +class _$PayjoinError_PsbtParseErrorImpl extends PayjoinError_PsbtParseError { + const _$PayjoinError_PsbtParseErrorImpl({required this.message}) : super._(); @override final String message; @@ -1130,9 +1134,10 @@ class _$PayjoinError_PsbtParseErrorImpl implements PayjoinError_PsbtParseError { } } -abstract class PayjoinError_PsbtParseError implements PayjoinError { +abstract class PayjoinError_PsbtParseError extends PayjoinError { const factory PayjoinError_PsbtParseError({required final String message}) = _$PayjoinError_PsbtParseErrorImpl; + const PayjoinError_PsbtParseError._() : super._(); @override String get message; @@ -1179,8 +1184,8 @@ class __$$PayjoinError_ResponseErrorImplCopyWithImpl<$Res> /// @nodoc -class _$PayjoinError_ResponseErrorImpl implements PayjoinError_ResponseError { - const _$PayjoinError_ResponseErrorImpl({required this.message}); +class _$PayjoinError_ResponseErrorImpl extends PayjoinError_ResponseError { + const _$PayjoinError_ResponseErrorImpl({required this.message}) : super._(); @override final String message; @@ -1367,9 +1372,10 @@ class _$PayjoinError_ResponseErrorImpl implements PayjoinError_ResponseError { } } -abstract class PayjoinError_ResponseError implements PayjoinError { +abstract class PayjoinError_ResponseError extends PayjoinError { const factory PayjoinError_ResponseError({required final String message}) = _$PayjoinError_ResponseErrorImpl; + const PayjoinError_ResponseError._() : super._(); @override String get message; @@ -1416,8 +1422,8 @@ class __$$PayjoinError_RequestErrorImplCopyWithImpl<$Res> /// @nodoc -class _$PayjoinError_RequestErrorImpl implements PayjoinError_RequestError { - const _$PayjoinError_RequestErrorImpl({required this.message}); +class _$PayjoinError_RequestErrorImpl extends PayjoinError_RequestError { + const _$PayjoinError_RequestErrorImpl({required this.message}) : super._(); @override final String message; @@ -1604,9 +1610,10 @@ class _$PayjoinError_RequestErrorImpl implements PayjoinError_RequestError { } } -abstract class PayjoinError_RequestError implements PayjoinError { +abstract class PayjoinError_RequestError extends PayjoinError { const factory PayjoinError_RequestError({required final String message}) = _$PayjoinError_RequestErrorImpl; + const PayjoinError_RequestError._() : super._(); @override String get message; @@ -1655,8 +1662,9 @@ class __$$PayjoinError_TransactionErrorImplCopyWithImpl<$Res> /// @nodoc class _$PayjoinError_TransactionErrorImpl - implements PayjoinError_TransactionError { - const _$PayjoinError_TransactionErrorImpl({required this.message}); + extends PayjoinError_TransactionError { + const _$PayjoinError_TransactionErrorImpl({required this.message}) + : super._(); @override final String message; @@ -1844,9 +1852,10 @@ class _$PayjoinError_TransactionErrorImpl } } -abstract class PayjoinError_TransactionError implements PayjoinError { +abstract class PayjoinError_TransactionError extends PayjoinError { const factory PayjoinError_TransactionError({required final String message}) = _$PayjoinError_TransactionErrorImpl; + const PayjoinError_TransactionError._() : super._(); @override String get message; @@ -1894,8 +1903,8 @@ class __$$PayjoinError_ServerErrorImplCopyWithImpl<$Res> /// @nodoc -class _$PayjoinError_ServerErrorImpl implements PayjoinError_ServerError { - const _$PayjoinError_ServerErrorImpl({required this.message}); +class _$PayjoinError_ServerErrorImpl extends PayjoinError_ServerError { + const _$PayjoinError_ServerErrorImpl({required this.message}) : super._(); @override final String message; @@ -2082,9 +2091,10 @@ class _$PayjoinError_ServerErrorImpl implements PayjoinError_ServerError { } } -abstract class PayjoinError_ServerError implements PayjoinError { +abstract class PayjoinError_ServerError extends PayjoinError { const factory PayjoinError_ServerError({required final String message}) = _$PayjoinError_ServerErrorImpl; + const PayjoinError_ServerError._() : super._(); @override String get message; @@ -2131,8 +2141,8 @@ class __$$PayjoinError_SelectionErrorImplCopyWithImpl<$Res> /// @nodoc -class _$PayjoinError_SelectionErrorImpl implements PayjoinError_SelectionError { - const _$PayjoinError_SelectionErrorImpl({required this.message}); +class _$PayjoinError_SelectionErrorImpl extends PayjoinError_SelectionError { + const _$PayjoinError_SelectionErrorImpl({required this.message}) : super._(); @override final String message; @@ -2319,9 +2329,10 @@ class _$PayjoinError_SelectionErrorImpl implements PayjoinError_SelectionError { } } -abstract class PayjoinError_SelectionError implements PayjoinError { +abstract class PayjoinError_SelectionError extends PayjoinError { const factory PayjoinError_SelectionError({required final String message}) = _$PayjoinError_SelectionErrorImpl; + const PayjoinError_SelectionError._() : super._(); @override String get message; @@ -2370,8 +2381,9 @@ class __$$PayjoinError_CreateRequestErrorImplCopyWithImpl<$Res> /// @nodoc class _$PayjoinError_CreateRequestErrorImpl - implements PayjoinError_CreateRequestError { - const _$PayjoinError_CreateRequestErrorImpl({required this.message}); + extends PayjoinError_CreateRequestError { + const _$PayjoinError_CreateRequestErrorImpl({required this.message}) + : super._(); @override final String message; @@ -2559,9 +2571,10 @@ class _$PayjoinError_CreateRequestErrorImpl } } -abstract class PayjoinError_CreateRequestError implements PayjoinError { +abstract class PayjoinError_CreateRequestError extends PayjoinError { const factory PayjoinError_CreateRequestError( {required final String message}) = _$PayjoinError_CreateRequestErrorImpl; + const PayjoinError_CreateRequestError._() : super._(); @override String get message; @@ -2609,8 +2622,8 @@ class __$$PayjoinError_PjParseErrorImplCopyWithImpl<$Res> /// @nodoc -class _$PayjoinError_PjParseErrorImpl implements PayjoinError_PjParseError { - const _$PayjoinError_PjParseErrorImpl({required this.message}); +class _$PayjoinError_PjParseErrorImpl extends PayjoinError_PjParseError { + const _$PayjoinError_PjParseErrorImpl({required this.message}) : super._(); @override final String message; @@ -2797,9 +2810,10 @@ class _$PayjoinError_PjParseErrorImpl implements PayjoinError_PjParseError { } } -abstract class PayjoinError_PjParseError implements PayjoinError { +abstract class PayjoinError_PjParseError extends PayjoinError { const factory PayjoinError_PjParseError({required final String message}) = _$PayjoinError_PjParseErrorImpl; + const PayjoinError_PjParseError._() : super._(); @override String get message; @@ -2846,8 +2860,8 @@ class __$$PayjoinError_PjNotSupportedImplCopyWithImpl<$Res> /// @nodoc -class _$PayjoinError_PjNotSupportedImpl implements PayjoinError_PjNotSupported { - const _$PayjoinError_PjNotSupportedImpl({required this.message}); +class _$PayjoinError_PjNotSupportedImpl extends PayjoinError_PjNotSupported { + const _$PayjoinError_PjNotSupportedImpl({required this.message}) : super._(); @override final String message; @@ -3034,9 +3048,10 @@ class _$PayjoinError_PjNotSupportedImpl implements PayjoinError_PjNotSupported { } } -abstract class PayjoinError_PjNotSupported implements PayjoinError { +abstract class PayjoinError_PjNotSupported extends PayjoinError { const factory PayjoinError_PjNotSupported({required final String message}) = _$PayjoinError_PjNotSupportedImpl; + const PayjoinError_PjNotSupported._() : super._(); @override String get message; @@ -3083,9 +3098,8 @@ class __$$PayjoinError_ValidationErrorImplCopyWithImpl<$Res> /// @nodoc -class _$PayjoinError_ValidationErrorImpl - implements PayjoinError_ValidationError { - const _$PayjoinError_ValidationErrorImpl({required this.message}); +class _$PayjoinError_ValidationErrorImpl extends PayjoinError_ValidationError { + const _$PayjoinError_ValidationErrorImpl({required this.message}) : super._(); @override final String message; @@ -3273,9 +3287,10 @@ class _$PayjoinError_ValidationErrorImpl } } -abstract class PayjoinError_ValidationError implements PayjoinError { +abstract class PayjoinError_ValidationError extends PayjoinError { const factory PayjoinError_ValidationError({required final String message}) = _$PayjoinError_ValidationErrorImpl; + const PayjoinError_ValidationError._() : super._(); @override String get message; @@ -3321,8 +3336,8 @@ class __$$PayjoinError_V2ErrorImplCopyWithImpl<$Res> /// @nodoc -class _$PayjoinError_V2ErrorImpl implements PayjoinError_V2Error { - const _$PayjoinError_V2ErrorImpl({required this.message}); +class _$PayjoinError_V2ErrorImpl extends PayjoinError_V2Error { + const _$PayjoinError_V2ErrorImpl({required this.message}) : super._(); @override final String message; @@ -3510,9 +3525,10 @@ class _$PayjoinError_V2ErrorImpl implements PayjoinError_V2Error { } } -abstract class PayjoinError_V2Error implements PayjoinError { +abstract class PayjoinError_V2Error extends PayjoinError { const factory PayjoinError_V2Error({required final String message}) = _$PayjoinError_V2ErrorImpl; + const PayjoinError_V2Error._() : super._(); @override String get message; @@ -3559,9 +3575,8 @@ class __$$PayjoinError_UnexpectedErrorImplCopyWithImpl<$Res> /// @nodoc -class _$PayjoinError_UnexpectedErrorImpl - implements PayjoinError_UnexpectedError { - const _$PayjoinError_UnexpectedErrorImpl({required this.message}); +class _$PayjoinError_UnexpectedErrorImpl extends PayjoinError_UnexpectedError { + const _$PayjoinError_UnexpectedErrorImpl({required this.message}) : super._(); @override final String message; @@ -3749,9 +3764,10 @@ class _$PayjoinError_UnexpectedErrorImpl } } -abstract class PayjoinError_UnexpectedError implements PayjoinError { +abstract class PayjoinError_UnexpectedError extends PayjoinError { const factory PayjoinError_UnexpectedError({required final String message}) = _$PayjoinError_UnexpectedErrorImpl; + const PayjoinError_UnexpectedError._() : super._(); @override String get message; @@ -3799,8 +3815,8 @@ class __$$PayjoinError_OhttpErrorImplCopyWithImpl<$Res> /// @nodoc -class _$PayjoinError_OhttpErrorImpl implements PayjoinError_OhttpError { - const _$PayjoinError_OhttpErrorImpl({required this.message}); +class _$PayjoinError_OhttpErrorImpl extends PayjoinError_OhttpError { + const _$PayjoinError_OhttpErrorImpl({required this.message}) : super._(); @override final String message; @@ -3987,9 +4003,10 @@ class _$PayjoinError_OhttpErrorImpl implements PayjoinError_OhttpError { } } -abstract class PayjoinError_OhttpError implements PayjoinError { +abstract class PayjoinError_OhttpError extends PayjoinError { const factory PayjoinError_OhttpError({required final String message}) = _$PayjoinError_OhttpErrorImpl; + const PayjoinError_OhttpError._() : super._(); @override String get message; @@ -4035,8 +4052,8 @@ class __$$PayjoinError_UrlErrorImplCopyWithImpl<$Res> /// @nodoc -class _$PayjoinError_UrlErrorImpl implements PayjoinError_UrlError { - const _$PayjoinError_UrlErrorImpl({required this.message}); +class _$PayjoinError_UrlErrorImpl extends PayjoinError_UrlError { + const _$PayjoinError_UrlErrorImpl({required this.message}) : super._(); @override final String message; @@ -4223,9 +4240,10 @@ class _$PayjoinError_UrlErrorImpl implements PayjoinError_UrlError { } } -abstract class PayjoinError_UrlError implements PayjoinError { +abstract class PayjoinError_UrlError extends PayjoinError { const factory PayjoinError_UrlError({required final String message}) = _$PayjoinError_UrlErrorImpl; + const PayjoinError_UrlError._() : super._(); @override String get message; From 9ba1a439d32e99afb8ce144e78f190123bdf173d Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sat, 13 Apr 2024 16:26:00 -0400 Subject: [PATCH 17/63] bindings updated --- ios/Classes/frb_generated.h | 447 +++++----- lib/src/generated/api/send.dart | 85 +- lib/src/generated/api/uri.dart | 17 +- lib/src/generated/frb_generated.dart | 682 +++++--------- lib/src/generated/frb_generated.io.dart | 1034 +++++++++------------- lib/src/generated/frb_generated.web.dart | 612 ++++++------- rust/src/frb_generated.io.rs | 508 +++++------ rust/src/frb_generated.rs | 661 +++++--------- rust/src/frb_generated.web.rs | 462 ++++------ rust/src/utils/mod.rs | 1 + 10 files changed, 1784 insertions(+), 2725 deletions(-) diff --git a/ios/Classes/frb_generated.h b/ios/Classes/frb_generated.h index fafe8b6..884c8ed 100644 --- a/ios/Classes/frb_generated.h +++ b/ios/Classes/frb_generated.h @@ -95,7 +95,7 @@ typedef struct wire_cst_list_record_string_string { } wire_cst_list_record_string_string; typedef struct wire_cst_headers { - struct wire_cst_list_record_string_string *field0; + struct wire_cst_list_record_string_string *map; } wire_cst_headers; typedef struct wire_cst_v_2_maybe_inputs_owned { @@ -253,250 +253,245 @@ typedef struct wire_cst_payjoin_error { union PayjoinErrorKind kind; } wire_cst_payjoin_error; -typedef struct wire_cst_request { - struct wire_cst_url url; - struct wire_cst_list_prim_u_8_strict *body; -} wire_cst_request; +typedef struct wire_cst_record_url_list_prim_u_8_strict { + struct wire_cst_url field0; + struct wire_cst_list_prim_u_8_strict *field1; +} wire_cst_record_url_list_prim_u_8_strict; + +typedef struct wire_cst_record_record_url_list_prim_u_8_strict_client_response { + struct wire_cst_record_url_list_prim_u_8_strict field0; + struct wire_cst_client_response field1; +} wire_cst_record_record_url_list_prim_u_8_strict_client_response; typedef struct wire_cst_request_context_v_1 { - struct wire_cst_request request; + struct wire_cst_record_url_list_prim_u_8_strict request; struct wire_cst_context_v_1 context_v1; } wire_cst_request_context_v_1; typedef struct wire_cst_request_context_v_2 { - struct wire_cst_request request; + struct wire_cst_record_url_list_prim_u_8_strict request; struct wire_cst_context_v_2 context_v2; } wire_cst_request_context_v_2; -typedef struct wire_cst_request_response { - struct wire_cst_request request; - struct wire_cst_client_response client_response; -} wire_cst_request_response; - -void frbgen_payjoin_flutter_wire_Enrolled_extract_req(int64_t port_, +void frbgen_payjoin_flutter_wire_enrolled_extract_req(int64_t port_, struct wire_cst_enrolled *that); -void frbgen_payjoin_flutter_wire_Enrolled_fallback_target(int64_t port_, +void frbgen_payjoin_flutter_wire_enrolled_fallback_target(int64_t port_, struct wire_cst_enrolled *that); -void frbgen_payjoin_flutter_wire_Enrolled_process_res(int64_t port_, +void frbgen_payjoin_flutter_wire_enrolled_process_res(int64_t port_, struct wire_cst_enrolled *that, struct wire_cst_list_prim_u_8_loose *body, struct wire_cst_client_response *ctx); -void frbgen_payjoin_flutter_wire_Enrolled_subdirectory(int64_t port_, +void frbgen_payjoin_flutter_wire_enrolled_subdirectory(int64_t port_, struct wire_cst_enrolled *that); -void frbgen_payjoin_flutter_wire_Enroller_extract_req(int64_t port_, +void frbgen_payjoin_flutter_wire_enroller_extract_req(int64_t port_, struct wire_cst_enroller *that); -void frbgen_payjoin_flutter_wire_Enroller_from_relay_config(int64_t port_, +void frbgen_payjoin_flutter_wire_enroller_from_relay_config(int64_t port_, struct wire_cst_list_prim_u_8_strict *relay_url, struct wire_cst_list_prim_u_8_strict *ohttp_config_base64, struct wire_cst_list_prim_u_8_strict *ohttp_proxy_url); -void frbgen_payjoin_flutter_wire_Enroller_payjoin_subdir(int64_t port_, +void frbgen_payjoin_flutter_wire_enroller_payjoin_subdir(int64_t port_, struct wire_cst_enroller *that); -void frbgen_payjoin_flutter_wire_Enroller_process_res(int64_t port_, +void frbgen_payjoin_flutter_wire_enroller_process_res(int64_t port_, struct wire_cst_enroller *that, struct wire_cst_list_prim_u_8_loose *body, struct wire_cst_client_response *ctx); -void frbgen_payjoin_flutter_wire_Enroller_subdirectory(int64_t port_, +void frbgen_payjoin_flutter_wire_enroller_subdirectory(int64_t port_, struct wire_cst_enroller *that); -void frbgen_payjoin_flutter_wire_Headers_from_vec(int64_t port_, - struct wire_cst_list_prim_u_8_loose *body); +void frbgen_payjoin_flutter_wire_maybe_inputs_owned_check_inputs_not_owned(int64_t port_, + struct wire_cst_maybe_inputs_owned *ptr, + const void *is_owned); -void frbgen_payjoin_flutter_wire_MaybeInputsOwned_check_inputs_not_owned(int64_t port_, - struct wire_cst_maybe_inputs_owned *that, - const void *is_owned); +void frbgen_payjoin_flutter_wire_maybe_inputs_seen_check_no_inputs_seen_before(int64_t port_, + struct wire_cst_maybe_inputs_seen *ptr, + const void *is_known); -void frbgen_payjoin_flutter_wire_MaybeInputsSeen_check_no_inputs_seen_before(int64_t port_, - struct wire_cst_maybe_inputs_seen *that, - const void *is_known); +void frbgen_payjoin_flutter_wire_maybe_mixed_input_scripts_check_no_mixed_input_scripts(int64_t port_, + struct wire_cst_maybe_mixed_input_scripts *ptr); -void frbgen_payjoin_flutter_wire_MaybeMixedInputScripts_check_no_mixed_input_scripts(int64_t port_, - struct wire_cst_maybe_mixed_input_scripts *that); +void frbgen_payjoin_flutter_wire_outputs_unknown_identify_receiver_outputs(int64_t port_, + struct wire_cst_outputs_unknown *ptr, + const void *is_receiver_output); -void frbgen_payjoin_flutter_wire_OutputsUnknown_identify_receiver_outputs(int64_t port_, - struct wire_cst_outputs_unknown *that, - const void *is_receiver_output); +void frbgen_payjoin_flutter_wire_payjoin_proposal_is_output_substitution_disabled(int64_t port_, + struct wire_cst_payjoin_proposal *that); -void frbgen_payjoin_flutter_wire_PayjoinProposal_is_output_substitution_disabled(int64_t port_, - struct wire_cst_payjoin_proposal *that); +void frbgen_payjoin_flutter_wire_payjoin_proposal_owned_vouts(int64_t port_, + struct wire_cst_payjoin_proposal *that); -void frbgen_payjoin_flutter_wire_PayjoinProposal_owned_vouts(int64_t port_, - struct wire_cst_payjoin_proposal *that); +void frbgen_payjoin_flutter_wire_payjoin_proposal_psbt(int64_t port_, + struct wire_cst_payjoin_proposal *that); -void frbgen_payjoin_flutter_wire_PayjoinProposal_psbt(int64_t port_, - struct wire_cst_payjoin_proposal *that); +void frbgen_payjoin_flutter_wire_payjoin_proposal_utxos_to_be_locked(int64_t port_, + struct wire_cst_payjoin_proposal *that); -void frbgen_payjoin_flutter_wire_PayjoinProposal_utxos_to_be_locked(int64_t port_, - struct wire_cst_payjoin_proposal *that); +void frbgen_payjoin_flutter_wire_provisional_proposal_contribute_non_witness_input(int64_t port_, + struct wire_cst_provisional_proposal *that, + struct wire_cst_list_prim_u_8_loose *tx, + struct wire_cst_out_point *outpoint); -void frbgen_payjoin_flutter_wire_ProvisionalProposal_contribute_non_witness_input(int64_t port_, - struct wire_cst_provisional_proposal *that, - struct wire_cst_list_prim_u_8_loose *tx, - struct wire_cst_out_point *outpoint); +void frbgen_payjoin_flutter_wire_provisional_proposal_contribute_witness_input(int64_t port_, + struct wire_cst_provisional_proposal *that, + struct wire_cst_tx_out *txo, + struct wire_cst_out_point *outpoint); -void frbgen_payjoin_flutter_wire_ProvisionalProposal_contribute_witness_input(int64_t port_, - struct wire_cst_provisional_proposal *that, - struct wire_cst_tx_out *txo, - struct wire_cst_out_point *outpoint); +void frbgen_payjoin_flutter_wire_provisional_proposal_finalize_proposal(int64_t port_, + struct wire_cst_provisional_proposal *ptr, + const void *process_psbt, + uint64_t *min_feerate_sat_per_vb); -void frbgen_payjoin_flutter_wire_ProvisionalProposal_finalize_proposal(int64_t port_, - struct wire_cst_provisional_proposal *that, - const void *process_psbt, - uint64_t *min_feerate_sat_per_vb); +void frbgen_payjoin_flutter_wire_provisional_proposal_substitute_output_address(int64_t port_, + struct wire_cst_provisional_proposal *that, + struct wire_cst_list_prim_u_8_strict *address); -void frbgen_payjoin_flutter_wire_ProvisionalProposal_substitute_output_address(int64_t port_, - struct wire_cst_provisional_proposal *that, - struct wire_cst_list_prim_u_8_strict *address); +void frbgen_payjoin_flutter_wire_provisional_proposal_try_preserving_privacy(int64_t port_, + struct wire_cst_provisional_proposal *that, + struct wire_cst_list_record_u_64_out_point *candidate_inputs); -void frbgen_payjoin_flutter_wire_ProvisionalProposal_try_preserving_privacy(int64_t port_, - struct wire_cst_provisional_proposal *that, - struct wire_cst_list_record_u_64_out_point *candidate_inputs); +void frbgen_payjoin_flutter_wire_unchecked_proposal_assume_interactive_receiver(int64_t port_, + struct wire_cst_unchecked_proposal *ptr); -void frbgen_payjoin_flutter_wire_UncheckedProposal_assume_interactive_receiver(int64_t port_, - struct wire_cst_unchecked_proposal *that); +void frbgen_payjoin_flutter_wire_unchecked_proposal_check_broadcast_suitability(int64_t port_, + struct wire_cst_unchecked_proposal *ptr, + uint64_t *min_fee_rate, + const void *can_broadcast); -void frbgen_payjoin_flutter_wire_UncheckedProposal_check_broadcast_suitability(int64_t port_, - struct wire_cst_unchecked_proposal *that, - uint64_t *min_fee_rate, - const void *can_broadcast); +void frbgen_payjoin_flutter_wire_unchecked_proposal_extract_tx_to_schedule_broadcast(int64_t port_, + struct wire_cst_unchecked_proposal *that); -void frbgen_payjoin_flutter_wire_UncheckedProposal_extract_tx_to_schedule_broadcast(int64_t port_, - struct wire_cst_unchecked_proposal *that); +void frbgen_payjoin_flutter_wire_unchecked_proposal_from_request(int64_t port_, + struct wire_cst_list_prim_u_8_loose *body, + struct wire_cst_list_prim_u_8_strict *query, + struct wire_cst_headers *headers); -void frbgen_payjoin_flutter_wire_UncheckedProposal_from_request(int64_t port_, - struct wire_cst_list_prim_u_8_loose *body, - struct wire_cst_list_prim_u_8_strict *query, - struct wire_cst_headers *headers); +void frbgen_payjoin_flutter_wire_v_2_maybe_inputs_owned_check_inputs_not_owned(int64_t port_, + struct wire_cst_v_2_maybe_inputs_owned *that, + const void *is_owned); -void frbgen_payjoin_flutter_wire_V2MaybeInputsOwned_check_inputs_not_owned(int64_t port_, - struct wire_cst_v_2_maybe_inputs_owned *that, - const void *is_owned); +void frbgen_payjoin_flutter_wire_v_2_maybe_inputs_seen_check_no_inputs_seen_before(int64_t port_, + struct wire_cst_v_2_maybe_inputs_seen *that, + const void *is_known); -void frbgen_payjoin_flutter_wire_V2MaybeInputsSeen_check_no_inputs_seen_before(int64_t port_, - struct wire_cst_v_2_maybe_inputs_seen *that, - const void *is_known); +void frbgen_payjoin_flutter_wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts(int64_t port_, + struct wire_cst_v_2_maybe_mixed_input_scripts *that); -void frbgen_payjoin_flutter_wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts(int64_t port_, - struct wire_cst_v_2_maybe_mixed_input_scripts *that); +void frbgen_payjoin_flutter_wire_v_2_outputs_unknown_identify_receiver_outputs(int64_t port_, + struct wire_cst_v_2_outputs_unknown *that, + const void *is_receiver_output); -void frbgen_payjoin_flutter_wire_V2OutputsUnknown_identify_receiver_outputs(int64_t port_, - struct wire_cst_v_2_outputs_unknown *that, - const void *is_receiver_output); +void frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_deserialize_res(int64_t port_, + struct wire_cst_v_2_payjoin_proposal *that, + struct wire_cst_list_prim_u_8_loose *res, + struct wire_cst_client_response *ohttp_context); -void frbgen_payjoin_flutter_wire_V2PayjoinProposal_deserialize_res(int64_t port_, - struct wire_cst_v_2_payjoin_proposal *that, - struct wire_cst_list_prim_u_8_loose *res, - struct wire_cst_client_response *ohttp_context); +void frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_extract_v1_req(int64_t port_, + struct wire_cst_v_2_payjoin_proposal *that); -void frbgen_payjoin_flutter_wire_V2PayjoinProposal_extract_v1_req(int64_t port_, - struct wire_cst_v_2_payjoin_proposal *that); +void frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_extract_v2_req(int64_t port_, + struct wire_cst_v_2_payjoin_proposal *that); -void frbgen_payjoin_flutter_wire_V2PayjoinProposal_extract_v2_req(int64_t port_, - struct wire_cst_v_2_payjoin_proposal *that); +void frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_is_output_substitution_disabled(int64_t port_, + struct wire_cst_v_2_payjoin_proposal *that); -void frbgen_payjoin_flutter_wire_V2PayjoinProposal_is_output_substitution_disabled(int64_t port_, - struct wire_cst_v_2_payjoin_proposal *that); +void frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_owned_vouts(int64_t port_, + struct wire_cst_v_2_payjoin_proposal *that); -void frbgen_payjoin_flutter_wire_V2PayjoinProposal_owned_vouts(int64_t port_, - struct wire_cst_v_2_payjoin_proposal *that); +void frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_psbt(int64_t port_, + struct wire_cst_v_2_payjoin_proposal *that); -void frbgen_payjoin_flutter_wire_V2PayjoinProposal_psbt(int64_t port_, - struct wire_cst_v_2_payjoin_proposal *that); +void frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_utxos_to_be_locked(int64_t port_, + struct wire_cst_v_2_payjoin_proposal *that); -void frbgen_payjoin_flutter_wire_V2PayjoinProposal_utxos_to_be_locked(int64_t port_, - struct wire_cst_v_2_payjoin_proposal *that); +void frbgen_payjoin_flutter_wire_v_2_provisional_proposal_contribute_non_witness_input(int64_t port_, + struct wire_cst_v_2_provisional_proposal *that, + struct wire_cst_list_prim_u_8_loose *tx, + struct wire_cst_out_point *outpoint); -void frbgen_payjoin_flutter_wire_V2ProvisionalProposal_contribute_non_witness_input(int64_t port_, - struct wire_cst_v_2_provisional_proposal *that, - struct wire_cst_list_prim_u_8_loose *tx, - struct wire_cst_out_point *outpoint); +void frbgen_payjoin_flutter_wire_v_2_provisional_proposal_contribute_witness_input(int64_t port_, + struct wire_cst_v_2_provisional_proposal *that, + struct wire_cst_tx_out *txo, + struct wire_cst_out_point *outpoint); -void frbgen_payjoin_flutter_wire_V2ProvisionalProposal_contribute_witness_input(int64_t port_, - struct wire_cst_v_2_provisional_proposal *that, - struct wire_cst_tx_out *txo, - struct wire_cst_out_point *outpoint); +void frbgen_payjoin_flutter_wire_v_2_provisional_proposal_finalize_proposal(int64_t port_, + struct wire_cst_v_2_provisional_proposal *that, + const void *process_psbt, + uint64_t *min_feerate_sat_per_vb); -void frbgen_payjoin_flutter_wire_V2ProvisionalProposal_finalize_proposal(int64_t port_, - struct wire_cst_v_2_provisional_proposal *that, - const void *process_psbt, - uint64_t *min_feerate_sat_per_vb); +void frbgen_payjoin_flutter_wire_v_2_provisional_proposal_substitute_output_address(int64_t port_, + struct wire_cst_v_2_provisional_proposal *that, + struct wire_cst_list_prim_u_8_strict *address); -void frbgen_payjoin_flutter_wire_V2ProvisionalProposal_substitute_output_address(int64_t port_, +void frbgen_payjoin_flutter_wire_v_2_provisional_proposal_try_preserving_privacy(int64_t port_, struct wire_cst_v_2_provisional_proposal *that, - struct wire_cst_list_prim_u_8_strict *address); - -void frbgen_payjoin_flutter_wire_V2ProvisionalProposal_try_preserving_privacy(int64_t port_, - struct wire_cst_v_2_provisional_proposal *that, - struct wire_cst_list_record_u_64_out_point *candidate_inputs); - -void frbgen_payjoin_flutter_wire_V2UncheckedProposal_assume_interactive_receiver(int64_t port_, - struct wire_cst_v_2_unchecked_proposal *that); + struct wire_cst_list_record_u_64_out_point *candidate_inputs); -void frbgen_payjoin_flutter_wire_V2UncheckedProposal_check_broadcast_suitability(int64_t port_, - struct wire_cst_v_2_unchecked_proposal *that, - uint64_t *min_fee_rate, - const void *can_broadcast); +void frbgen_payjoin_flutter_wire_v_2_unchecked_proposal_assume_interactive_receiver(int64_t port_, + struct wire_cst_v_2_unchecked_proposal *that); -void frbgen_payjoin_flutter_wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast(int64_t port_, - struct wire_cst_v_2_unchecked_proposal *that); +void frbgen_payjoin_flutter_wire_v_2_unchecked_proposal_check_broadcast_suitability(int64_t port_, + struct wire_cst_v_2_unchecked_proposal *that, + uint64_t *min_fee_rate, + const void *can_broadcast); -void frbgen_payjoin_flutter_wire_ContextV1_process_response(int64_t port_, - struct wire_cst_context_v_1 *that, - struct wire_cst_list_prim_u_8_loose *response); +void frbgen_payjoin_flutter_wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcast(int64_t port_, + struct wire_cst_v_2_unchecked_proposal *that); -void frbgen_payjoin_flutter_wire_ContextV2_process_response(int64_t port_, - struct wire_cst_context_v_2 *that, - struct wire_cst_list_prim_u_8_loose *response); +void frbgen_payjoin_flutter_wire_context_v_1_process_response(int64_t port_, + struct wire_cst_context_v_1 *that, + struct wire_cst_list_prim_u_8_loose *response); -void frbgen_payjoin_flutter_wire_RequestBuilder_always_disable_output_substitution(int64_t port_, - struct wire_cst_request_builder *that, - bool disable); +void frbgen_payjoin_flutter_wire_context_v_2_process_response(int64_t port_, + struct wire_cst_context_v_2 *that, + struct wire_cst_list_prim_u_8_loose *response); -void frbgen_payjoin_flutter_wire_RequestBuilder_build_non_incentivizing(int64_t port_, - struct wire_cst_request_builder *that); +void frbgen_payjoin_flutter_wire_request_builder_always_disable_output_substitution(int64_t port_, + struct wire_cst_request_builder *that, + bool disable); -void frbgen_payjoin_flutter_wire_RequestBuilder_build_recommended(int64_t port_, - struct wire_cst_request_builder *that, - uint64_t min_fee_rate); +void frbgen_payjoin_flutter_wire_request_builder_build_non_incentivizing(int64_t port_, + struct wire_cst_request_builder *that); -void frbgen_payjoin_flutter_wire_RequestBuilder_build_with_additional_fee(int64_t port_, - struct wire_cst_request_builder *that, - uint64_t max_fee_contribution, - uint8_t *change_index, - uint64_t min_fee_rate, - bool clamp_fee_contribution); +void frbgen_payjoin_flutter_wire_request_builder_build_recommended(int64_t port_, + struct wire_cst_request_builder *that, + uint64_t min_fee_rate); -void frbgen_payjoin_flutter_wire_RequestBuilder_from_psbt_and_uri(int64_t port_, - struct wire_cst_list_prim_u_8_strict *psbt_base64, - struct wire_cst_uri *uri); +void frbgen_payjoin_flutter_wire_request_builder_build_with_additional_fee(int64_t port_, + struct wire_cst_request_builder *that, + uint64_t max_fee_contribution, + uint8_t *change_index, + uint64_t min_fee_rate, + bool clamp_fee_contribution); -void frbgen_payjoin_flutter_wire_RequestBuilder_new(int64_t port_); +void frbgen_payjoin_flutter_wire_request_builder_from_psbt_and_uri(int64_t port_, + struct wire_cst_list_prim_u_8_strict *psbt_base64, + struct wire_cst_uri *uri); -void frbgen_payjoin_flutter_wire_RequestContext_extract_v1(int64_t port_, - struct wire_cst_request_context *that); +void frbgen_payjoin_flutter_wire_request_context_extract_v1(int64_t port_, + struct wire_cst_request_context *that); -void frbgen_payjoin_flutter_wire_RequestContext_extract_v2(int64_t port_, - struct wire_cst_request_context *that, - struct wire_cst_list_prim_u_8_strict *ohttp_proxy_url); +void frbgen_payjoin_flutter_wire_request_context_extract_v2(int64_t port_, + struct wire_cst_request_context *that, + struct wire_cst_list_prim_u_8_strict *ohttp_proxy_url); -void frbgen_payjoin_flutter_wire_Uri_address(int64_t port_, struct wire_cst_uri *that); +void frbgen_payjoin_flutter_wire_uri_address(int64_t port_, struct wire_cst_uri *that); -void frbgen_payjoin_flutter_wire_Uri_amount(int64_t port_, struct wire_cst_uri *that); +void frbgen_payjoin_flutter_wire_uri_amount(int64_t port_, struct wire_cst_uri *that); -void frbgen_payjoin_flutter_wire_Uri_from_str(int64_t port_, +void frbgen_payjoin_flutter_wire_uri_from_str(int64_t port_, struct wire_cst_list_prim_u_8_strict *uri); -void frbgen_payjoin_flutter_wire_Url_from_str(int64_t port_, +void frbgen_payjoin_flutter_wire_url_from_str(int64_t port_, struct wire_cst_list_prim_u_8_strict *url); -void frbgen_payjoin_flutter_wire_Url_query(int64_t port_, struct wire_cst_url *that); +void frbgen_payjoin_flutter_wire_url_query(int64_t port_, struct wire_cst_url *that); void frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_Arcpayjoin_ffireceivev1MaybeInputsOwned(const void *ptr); @@ -578,14 +573,6 @@ void frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_MutexOpti void frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_MutexOptionohttpClientResponse(const void *ptr); -void frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned(const void *ptr); - -void frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned(const void *ptr); - -void frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen(const void *ptr); - -void frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen(const void *ptr); - void frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_payjoin_ffireceivev1UncheckedProposal(const void *ptr); void frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_payjoin_ffireceivev1UncheckedProposal(const void *ptr); @@ -721,8 +708,6 @@ static int64_t dummy_method_to_enforce_bundling(void) { dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_Arcpayjoin_ffiuriUri); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_Arcpayjoin_ffiuriUrl); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_MutexOptionohttpClientResponse); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_payjoin_ffireceivev1UncheckedProposal); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_payjoin_ffireceivev2Enroller); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_payjoin_ffireceivev2V2UncheckedProposal); @@ -746,72 +731,68 @@ static int64_t dummy_method_to_enforce_bundling(void) { dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_Arcpayjoin_ffiuriUri); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_Arcpayjoin_ffiuriUrl); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_MutexOptionohttpClientResponse); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_payjoin_ffireceivev1UncheckedProposal); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_payjoin_ffireceivev2Enroller); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_payjoin_ffireceivev2V2UncheckedProposal); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_ContextV1_process_response); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_ContextV2_process_response); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_Enrolled_extract_req); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_Enrolled_fallback_target); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_Enrolled_process_res); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_Enrolled_subdirectory); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_Enroller_extract_req); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_Enroller_from_relay_config); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_Enroller_payjoin_subdir); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_Enroller_process_res); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_Enroller_subdirectory); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_Headers_from_vec); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_MaybeInputsOwned_check_inputs_not_owned); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_MaybeInputsSeen_check_no_inputs_seen_before); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_MaybeMixedInputScripts_check_no_mixed_input_scripts); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_OutputsUnknown_identify_receiver_outputs); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_PayjoinProposal_is_output_substitution_disabled); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_PayjoinProposal_owned_vouts); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_PayjoinProposal_psbt); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_PayjoinProposal_utxos_to_be_locked); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_ProvisionalProposal_contribute_non_witness_input); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_ProvisionalProposal_contribute_witness_input); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_ProvisionalProposal_finalize_proposal); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_ProvisionalProposal_substitute_output_address); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_ProvisionalProposal_try_preserving_privacy); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_RequestBuilder_always_disable_output_substitution); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_RequestBuilder_build_non_incentivizing); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_RequestBuilder_build_recommended); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_RequestBuilder_build_with_additional_fee); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_RequestBuilder_from_psbt_and_uri); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_RequestBuilder_new); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_RequestContext_extract_v1); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_RequestContext_extract_v2); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_UncheckedProposal_assume_interactive_receiver); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_UncheckedProposal_check_broadcast_suitability); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_UncheckedProposal_extract_tx_to_schedule_broadcast); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_UncheckedProposal_from_request); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_Uri_address); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_Uri_amount); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_Uri_from_str); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_Url_from_str); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_Url_query); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2MaybeInputsOwned_check_inputs_not_owned); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2MaybeInputsSeen_check_no_inputs_seen_before); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2OutputsUnknown_identify_receiver_outputs); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2PayjoinProposal_deserialize_res); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2PayjoinProposal_extract_v1_req); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2PayjoinProposal_extract_v2_req); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2PayjoinProposal_is_output_substitution_disabled); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2PayjoinProposal_owned_vouts); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2PayjoinProposal_psbt); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2PayjoinProposal_utxos_to_be_locked); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2ProvisionalProposal_contribute_non_witness_input); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2ProvisionalProposal_contribute_witness_input); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2ProvisionalProposal_finalize_proposal); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2ProvisionalProposal_substitute_output_address); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2ProvisionalProposal_try_preserving_privacy); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2UncheckedProposal_assume_interactive_receiver); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2UncheckedProposal_check_broadcast_suitability); - dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_context_v_1_process_response); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_context_v_2_process_response); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_enrolled_extract_req); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_enrolled_fallback_target); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_enrolled_process_res); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_enrolled_subdirectory); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_enroller_extract_req); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_enroller_from_relay_config); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_enroller_payjoin_subdir); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_enroller_process_res); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_enroller_subdirectory); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_maybe_inputs_owned_check_inputs_not_owned); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_maybe_inputs_seen_check_no_inputs_seen_before); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_maybe_mixed_input_scripts_check_no_mixed_input_scripts); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_outputs_unknown_identify_receiver_outputs); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_payjoin_proposal_is_output_substitution_disabled); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_payjoin_proposal_owned_vouts); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_payjoin_proposal_psbt); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_payjoin_proposal_utxos_to_be_locked); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_provisional_proposal_contribute_non_witness_input); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_provisional_proposal_contribute_witness_input); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_provisional_proposal_finalize_proposal); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_provisional_proposal_substitute_output_address); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_provisional_proposal_try_preserving_privacy); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_request_builder_always_disable_output_substitution); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_request_builder_build_non_incentivizing); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_request_builder_build_recommended); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_request_builder_build_with_additional_fee); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_request_builder_from_psbt_and_uri); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_request_context_extract_v1); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_request_context_extract_v2); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_unchecked_proposal_assume_interactive_receiver); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_unchecked_proposal_check_broadcast_suitability); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_unchecked_proposal_extract_tx_to_schedule_broadcast); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_unchecked_proposal_from_request); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_uri_address); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_uri_amount); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_uri_from_str); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_url_from_str); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_url_query); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_maybe_inputs_owned_check_inputs_not_owned); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_maybe_inputs_seen_check_no_inputs_seen_before); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_outputs_unknown_identify_receiver_outputs); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_deserialize_res); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_extract_v1_req); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_extract_v2_req); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_is_output_substitution_disabled); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_owned_vouts); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_psbt); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_utxos_to_be_locked); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_provisional_proposal_contribute_non_witness_input); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_provisional_proposal_contribute_witness_input); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_provisional_proposal_finalize_proposal); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_provisional_proposal_substitute_output_address); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_provisional_proposal_try_preserving_privacy); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_unchecked_proposal_assume_interactive_receiver); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_unchecked_proposal_check_broadcast_suitability); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcast); dummy_var ^= ((int64_t) (void*) store_dart_post_cobject); return dummy_var; } diff --git a/lib/src/generated/api/send.dart b/lib/src/generated/api/send.dart index 80c7e9f..0a33262 100644 --- a/lib/src/generated/api/send.dart +++ b/lib/src/generated/api/send.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import @@ -112,10 +112,8 @@ class ContextV1 { }); Future processResponse({required List response, dynamic hint}) => - PayjoinCore.instance.api.contextV1ProcessResponse( - that: this, - response: response, - ); + PayjoinCore.instance.api + .contextV1ProcessResponse(that: this, response: response, hint: hint); @override int get hashCode => field0.hashCode; @@ -137,10 +135,8 @@ class ContextV2 { Future processResponse( {required List response, dynamic hint}) => - PayjoinCore.instance.api.contextV2ProcessResponse( - that: this, - response: response, - ); + PayjoinCore.instance.api + .contextV2ProcessResponse(that: this, response: response, hint: hint); @override int get hashCode => field0.hashCode; @@ -153,36 +149,6 @@ class ContextV2 { field0 == other.field0; } -///Represents data that needs to be transmitted to the receiver. -///You need to send this request over HTTP(S) to the receiver. -class Request { - ///URL to send the request to. - /// - ///This is full URL with scheme etc - you can pass it right to reqwest or a similar library. - final Url url; - - ///Bytes to be sent to the receiver. - /// - ///This is properly encoded PSBT, already in base64. You only need to make sure Content-Type is text/plain and Content-Length is body.len() (most libraries do the latter automatically). - final Uint8List body; - - const Request({ - required this.url, - required this.body, - }); - - @override - int get hashCode => url.hashCode ^ body.hashCode; - - @override - bool operator ==(Object other) => - identical(this, other) || - other is Request && - runtimeType == other.runtimeType && - url == other.url && - body == other.body; -} - class RequestBuilder { final ArcPayjoinFfiSendV1RequestBuilder field0; @@ -193,21 +159,16 @@ class RequestBuilder { Future alwaysDisableOutputSubstitution( {required bool disable, dynamic hint}) => PayjoinCore.instance.api.requestBuilderAlwaysDisableOutputSubstitution( - that: this, - disable: disable, - ); + that: this, disable: disable, hint: hint); Future buildNonIncentivizing({dynamic hint}) => - PayjoinCore.instance.api.requestBuilderBuildNonIncentivizing( - that: this, - ); + PayjoinCore.instance.api + .requestBuilderBuildNonIncentivizing(that: this, hint: hint); Future buildRecommended( {required int minFeeRate, dynamic hint}) => PayjoinCore.instance.api.requestBuilderBuildRecommended( - that: this, - minFeeRate: minFeeRate, - ); + that: this, minFeeRate: minFeeRate, hint: hint); Future buildWithAdditionalFee( {required int maxFeeContribution, @@ -216,22 +177,18 @@ class RequestBuilder { required bool clampFeeContribution, dynamic hint}) => PayjoinCore.instance.api.requestBuilderBuildWithAdditionalFee( - that: this, - maxFeeContribution: maxFeeContribution, - changeIndex: changeIndex, - minFeeRate: minFeeRate, - clampFeeContribution: clampFeeContribution, - ); + that: this, + maxFeeContribution: maxFeeContribution, + changeIndex: changeIndex, + minFeeRate: minFeeRate, + clampFeeContribution: clampFeeContribution, + hint: hint); static Future fromPsbtAndUri( {required String psbtBase64, required Uri uri, dynamic hint}) => PayjoinCore.instance.api.requestBuilderFromPsbtAndUri( psbtBase64: psbtBase64, uri: uri, hint: hint); - // HINT: Make it `#[frb(sync)]` to let it become the default constructor of Dart class. - static Future newInstance({dynamic hint}) => - PayjoinCore.instance.api.requestBuilderNew(hint: hint); - @override int get hashCode => field0.hashCode; @@ -251,16 +208,12 @@ class RequestContext { }); Future extractV1({dynamic hint}) => - PayjoinCore.instance.api.requestContextExtractV1( - that: this, - ); + PayjoinCore.instance.api.requestContextExtractV1(that: this, hint: hint); Future extractV2( {required String ohttpProxyUrl, dynamic hint}) => PayjoinCore.instance.api.requestContextExtractV2( - that: this, - ohttpProxyUrl: ohttpProxyUrl, - ); + that: this, ohttpProxyUrl: ohttpProxyUrl, hint: hint); @override int get hashCode => field0.hashCode; @@ -274,7 +227,7 @@ class RequestContext { } class RequestContextV1 { - final Request request; + final (Url, Uint8List) request; final ContextV1 contextV1; const RequestContextV1({ @@ -295,7 +248,7 @@ class RequestContextV1 { } class RequestContextV2 { - final Request request; + final (Url, Uint8List) request; final ContextV2 contextV2; const RequestContextV2({ diff --git a/lib/src/generated/api/uri.dart b/lib/src/generated/api/uri.dart index 7f0285f..673925f 100644 --- a/lib/src/generated/api/uri.dart +++ b/lib/src/generated/api/uri.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import @@ -16,14 +16,12 @@ class Uri { required this.field0, }); - Future address({dynamic hint}) => PayjoinCore.instance.api.uriAddress( - that: this, - ); + Future address({dynamic hint}) => + PayjoinCore.instance.api.uriAddress(that: this, hint: hint); ///Gets the amount in satoshis. - Future amount({dynamic hint}) => PayjoinCore.instance.api.uriAmount( - that: this, - ); + Future amount({dynamic hint}) => + PayjoinCore.instance.api.uriAmount(that: this, hint: hint); static Future fromStr({required String uri, dynamic hint}) => PayjoinCore.instance.api.uriFromStr(uri: uri, hint: hint); @@ -49,9 +47,8 @@ class Url { static Future fromStr({required String url, dynamic hint}) => PayjoinCore.instance.api.urlFromStr(url: url, hint: hint); - Future query({dynamic hint}) => PayjoinCore.instance.api.urlQuery( - that: this, - ); + Future query({dynamic hint}) => + PayjoinCore.instance.api.urlQuery(that: this, hint: hint); @override int get hashCode => field0.hashCode; diff --git a/lib/src/generated/frb_generated.dart b/lib/src/generated/frb_generated.dart index 7ebd752..632aae0 100644 --- a/lib/src/generated/frb_generated.dart +++ b/lib/src/generated/frb_generated.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field @@ -11,6 +11,7 @@ import 'dart:convert'; import 'frb_generated.io.dart' if (dart.library.html) 'frb_generated.web.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; import 'utils/error.dart'; +import 'utils/types.dart'; /// Main entrypoint of the Rust API class PayjoinCore extends BaseEntrypoint '2.0.0-dev.28'; + String get codegenVersion => '2.0.0-dev.32'; + + @override + int get rustContentHash => 812692583; static const kDefaultExternalLibraryLoaderConfig = ExternalLibraryLoaderConfig( @@ -66,7 +70,7 @@ class PayjoinCore extends BaseEntrypoint enrolledExtractReq( + Future<((Url, Uint8List), ClientResponse)> enrolledExtractReq( {required Enrolled that, dynamic hint}); Future enrolledFallbackTarget({required Enrolled that, dynamic hint}); @@ -80,7 +84,7 @@ abstract class PayjoinCoreApi extends BaseApi { Future enrolledSubdirectory( {required Enrolled that, dynamic hint}); - Future enrollerExtractReq( + Future<((Url, Uint8List), ClientResponse)> enrollerExtractReq( {required Enroller that, dynamic hint}); Future enrollerFromRelayConfig( @@ -99,23 +103,21 @@ abstract class PayjoinCoreApi extends BaseApi { Future enrollerSubdirectory({required Enroller that, dynamic hint}); - Future headersFromVec({required List body, dynamic hint}); - Future maybeInputsOwnedCheckInputsNotOwned( - {required MaybeInputsOwned that, + {required MaybeInputsOwned ptr, required FutureOr Function(Uint8List) isOwned, dynamic hint}); Future maybeInputsSeenCheckNoInputsSeenBefore( - {required MaybeInputsSeen that, + {required MaybeInputsSeen ptr, required FutureOr Function(OutPoint) isKnown, dynamic hint}); Future maybeMixedInputScriptsCheckNoMixedInputScripts( - {required MaybeMixedInputScripts that, dynamic hint}); + {required MaybeMixedInputScripts ptr, dynamic hint}); Future outputsUnknownIdentifyReceiverOutputs( - {required OutputsUnknown that, + {required OutputsUnknown ptr, required FutureOr Function(Uint8List) isReceiverOutput, dynamic hint}); @@ -144,7 +146,7 @@ abstract class PayjoinCoreApi extends BaseApi { dynamic hint}); Future provisionalProposalFinalizeProposal( - {required ProvisionalProposal that, + {required ProvisionalProposal ptr, required FutureOr Function(String) processPsbt, int? minFeerateSatPerVb, dynamic hint}); @@ -160,10 +162,10 @@ abstract class PayjoinCoreApi extends BaseApi { dynamic hint}); Future uncheckedProposalAssumeInteractiveReceiver( - {required UncheckedProposal that, dynamic hint}); + {required UncheckedProposal ptr, dynamic hint}); Future uncheckedProposalCheckBroadcastSuitability( - {required UncheckedProposal that, + {required UncheckedProposal ptr, int? minFeeRate, required FutureOr Function(Uint8List) canBroadcast, dynamic hint}); @@ -187,7 +189,7 @@ abstract class PayjoinCoreApi extends BaseApi { required FutureOr Function(OutPoint) isKnown, dynamic hint}); - Future v2MaybeMixedInputScriptsCheckNoMixedInputScripts( + Future v2MaybeMixedInputScriptsCheckNoMixedInputScripts( {required V2MaybeMixedInputScripts that, dynamic hint}); Future v2OutputsUnknownIdentifyReceiverOutputs( @@ -204,7 +206,7 @@ abstract class PayjoinCoreApi extends BaseApi { Future v2PayjoinProposalExtractV1Req( {required V2PayjoinProposal that, dynamic hint}); - Future v2PayjoinProposalExtractV2Req( + Future<((Url, Uint8List), ClientResponse)> v2PayjoinProposalExtractV2Req( {required V2PayjoinProposal that, dynamic hint}); Future v2PayjoinProposalIsOutputSubstitutionDisabled( @@ -247,7 +249,7 @@ abstract class PayjoinCoreApi extends BaseApi { required Map candidateInputs, dynamic hint}); - Future v2UncheckedProposalAssumeInteractiveReceiver( + Future v2UncheckedProposalAssumeInteractiveReceiver( {required V2UncheckedProposal that, dynamic hint}); Future v2UncheckedProposalCheckBroadcastSuitability( @@ -285,8 +287,6 @@ abstract class PayjoinCoreApi extends BaseApi { Future requestBuilderFromPsbtAndUri( {required String psbtBase64, required Uri uri, dynamic hint}); - Future requestBuilderNew({dynamic hint}); - Future requestContextExtractV1( {required RequestContext that, dynamic hint}); @@ -485,24 +485,6 @@ abstract class PayjoinCoreApi extends BaseApi { CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_MutexOptionOhttpClientResponsePtr; - RustArcIncrementStrongCountFnType - get rust_arc_increment_strong_count_ArcV2MaybeInputsOwned; - - RustArcDecrementStrongCountFnType - get rust_arc_decrement_strong_count_ArcV2MaybeInputsOwned; - - CrossPlatformFinalizerArg - get rust_arc_decrement_strong_count_ArcV2MaybeInputsOwnedPtr; - - RustArcIncrementStrongCountFnType - get rust_arc_increment_strong_count_ArcV2MaybeInputsSeen; - - RustArcDecrementStrongCountFnType - get rust_arc_decrement_strong_count_ArcV2MaybeInputsSeen; - - CrossPlatformFinalizerArg - get rust_arc_decrement_strong_count_ArcV2MaybeInputsSeenPtr; - RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PayjoinFfiReceiveV1UncheckedProposal; @@ -541,15 +523,16 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform }); @override - Future enrolledExtractReq( + Future<((Url, Uint8List), ClientResponse)> enrolledExtractReq( {required Enrolled that, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_enrolled(that); - return wire.wire_Enrolled_extract_req(port_, arg0); + return wire.wire_enrolled_extract_req(port_, arg0); }, codec: DcoCodec( - decodeSuccessData: dco_decode_request_response, + decodeSuccessData: + dco_decode_record_record_url_list_prim_u_8_strict_client_response, decodeErrorData: dco_decode_payjoin_error, ), constMeta: kEnrolledExtractReqConstMeta, @@ -560,7 +543,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kEnrolledExtractReqConstMeta => const TaskConstMeta( - debugName: "Enrolled_extract_req", + debugName: "enrolled_extract_req", argNames: ["that"], ); @@ -570,7 +553,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_enrolled(that); - return wire.wire_Enrolled_fallback_target(port_, arg0); + return wire.wire_enrolled_fallback_target(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_String, @@ -584,7 +567,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kEnrolledFallbackTargetConstMeta => const TaskConstMeta( - debugName: "Enrolled_fallback_target", + debugName: "enrolled_fallback_target", argNames: ["that"], ); @@ -599,7 +582,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform var arg0 = cst_encode_box_autoadd_enrolled(that); var arg1 = cst_encode_list_prim_u_8_loose(body); var arg2 = cst_encode_box_autoadd_client_response(ctx); - return wire.wire_Enrolled_process_res(port_, arg0, arg1, arg2); + return wire.wire_enrolled_process_res(port_, arg0, arg1, arg2); }, codec: DcoCodec( decodeSuccessData: dco_decode_opt_box_autoadd_v_2_unchecked_proposal, @@ -613,7 +596,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kEnrolledProcessResConstMeta => const TaskConstMeta( - debugName: "Enrolled_process_res", + debugName: "enrolled_process_res", argNames: ["that", "body", "ctx"], ); @@ -623,7 +606,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_enrolled(that); - return wire.wire_Enrolled_subdirectory(port_, arg0); + return wire.wire_enrolled_subdirectory(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_list_prim_u_8_strict, @@ -637,20 +620,21 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kEnrolledSubdirectoryConstMeta => const TaskConstMeta( - debugName: "Enrolled_subdirectory", + debugName: "enrolled_subdirectory", argNames: ["that"], ); @override - Future enrollerExtractReq( + Future<((Url, Uint8List), ClientResponse)> enrollerExtractReq( {required Enroller that, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_enroller(that); - return wire.wire_Enroller_extract_req(port_, arg0); + return wire.wire_enroller_extract_req(port_, arg0); }, codec: DcoCodec( - decodeSuccessData: dco_decode_request_response, + decodeSuccessData: + dco_decode_record_record_url_list_prim_u_8_strict_client_response, decodeErrorData: dco_decode_payjoin_error, ), constMeta: kEnrollerExtractReqConstMeta, @@ -661,7 +645,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kEnrollerExtractReqConstMeta => const TaskConstMeta( - debugName: "Enroller_extract_req", + debugName: "enroller_extract_req", argNames: ["that"], ); @@ -676,7 +660,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform var arg0 = cst_encode_String(relayUrl); var arg1 = cst_encode_String(ohttpConfigBase64); var arg2 = cst_encode_String(ohttpProxyUrl); - return wire.wire_Enroller_from_relay_config(port_, arg0, arg1, arg2); + return wire.wire_enroller_from_relay_config(port_, arg0, arg1, arg2); }, codec: DcoCodec( decodeSuccessData: dco_decode_enroller, @@ -690,7 +674,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kEnrollerFromRelayConfigConstMeta => const TaskConstMeta( - debugName: "Enroller_from_relay_config", + debugName: "enroller_from_relay_config", argNames: ["relayUrl", "ohttpConfigBase64", "ohttpProxyUrl"], ); @@ -699,7 +683,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_enroller(that); - return wire.wire_Enroller_payjoin_subdir(port_, arg0); + return wire.wire_enroller_payjoin_subdir(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_String, @@ -713,7 +697,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kEnrollerPayjoinSubdirConstMeta => const TaskConstMeta( - debugName: "Enroller_payjoin_subdir", + debugName: "enroller_payjoin_subdir", argNames: ["that"], ); @@ -728,7 +712,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform var arg0 = cst_encode_box_autoadd_enroller(that); var arg1 = cst_encode_list_prim_u_8_loose(body); var arg2 = cst_encode_box_autoadd_client_response(ctx); - return wire.wire_Enroller_process_res(port_, arg0, arg1, arg2); + return wire.wire_enroller_process_res(port_, arg0, arg1, arg2); }, codec: DcoCodec( decodeSuccessData: dco_decode_enrolled, @@ -742,7 +726,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kEnrollerProcessResConstMeta => const TaskConstMeta( - debugName: "Enroller_process_res", + debugName: "enroller_process_res", argNames: ["that", "body", "ctx"], ); @@ -751,7 +735,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_enroller(that); - return wire.wire_Enroller_subdirectory(port_, arg0); + return wire.wire_enroller_subdirectory(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_String, @@ -765,44 +749,21 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kEnrollerSubdirectoryConstMeta => const TaskConstMeta( - debugName: "Enroller_subdirectory", + debugName: "enroller_subdirectory", argNames: ["that"], ); - @override - Future headersFromVec({required List body, dynamic hint}) { - return handler.executeNormal(NormalTask( - callFfi: (port_) { - var arg0 = cst_encode_list_prim_u_8_loose(body); - return wire.wire_Headers_from_vec(port_, arg0); - }, - codec: DcoCodec( - decodeSuccessData: dco_decode_headers, - decodeErrorData: null, - ), - constMeta: kHeadersFromVecConstMeta, - argValues: [body], - apiImpl: this, - hint: hint, - )); - } - - TaskConstMeta get kHeadersFromVecConstMeta => const TaskConstMeta( - debugName: "Headers_from_vec", - argNames: ["body"], - ); - @override Future maybeInputsOwnedCheckInputsNotOwned( - {required MaybeInputsOwned that, + {required MaybeInputsOwned ptr, required FutureOr Function(Uint8List) isOwned, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - var arg0 = cst_encode_box_autoadd_maybe_inputs_owned(that); + var arg0 = cst_encode_box_autoadd_maybe_inputs_owned(ptr); var arg1 = cst_encode_DartFn_Inputs_list_prim_u_8_strict_Output_bool(isOwned); - return wire.wire_MaybeInputsOwned_check_inputs_not_owned( + return wire.wire_maybe_inputs_owned_check_inputs_not_owned( port_, arg0, arg1); }, codec: DcoCodec( @@ -810,7 +771,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform decodeErrorData: dco_decode_payjoin_error, ), constMeta: kMaybeInputsOwnedCheckInputsNotOwnedConstMeta, - argValues: [that, isOwned], + argValues: [ptr, isOwned], apiImpl: this, hint: hint, )); @@ -818,20 +779,20 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kMaybeInputsOwnedCheckInputsNotOwnedConstMeta => const TaskConstMeta( - debugName: "MaybeInputsOwned_check_inputs_not_owned", - argNames: ["that", "isOwned"], + debugName: "maybe_inputs_owned_check_inputs_not_owned", + argNames: ["ptr", "isOwned"], ); @override Future maybeInputsSeenCheckNoInputsSeenBefore( - {required MaybeInputsSeen that, + {required MaybeInputsSeen ptr, required FutureOr Function(OutPoint) isKnown, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - var arg0 = cst_encode_box_autoadd_maybe_inputs_seen(that); + var arg0 = cst_encode_box_autoadd_maybe_inputs_seen(ptr); var arg1 = cst_encode_DartFn_Inputs_out_point_Output_bool(isKnown); - return wire.wire_MaybeInputsSeen_check_no_inputs_seen_before( + return wire.wire_maybe_inputs_seen_check_no_inputs_seen_before( port_, arg0, arg1); }, codec: DcoCodec( @@ -839,7 +800,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform decodeErrorData: dco_decode_payjoin_error, ), constMeta: kMaybeInputsSeenCheckNoInputsSeenBeforeConstMeta, - argValues: [that, isKnown], + argValues: [ptr, isKnown], apiImpl: this, hint: hint, )); @@ -847,17 +808,17 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kMaybeInputsSeenCheckNoInputsSeenBeforeConstMeta => const TaskConstMeta( - debugName: "MaybeInputsSeen_check_no_inputs_seen_before", - argNames: ["that", "isKnown"], + debugName: "maybe_inputs_seen_check_no_inputs_seen_before", + argNames: ["ptr", "isKnown"], ); @override Future maybeMixedInputScriptsCheckNoMixedInputScripts( - {required MaybeMixedInputScripts that, dynamic hint}) { + {required MaybeMixedInputScripts ptr, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - var arg0 = cst_encode_box_autoadd_maybe_mixed_input_scripts(that); - return wire.wire_MaybeMixedInputScripts_check_no_mixed_input_scripts( + var arg0 = cst_encode_box_autoadd_maybe_mixed_input_scripts(ptr); + return wire.wire_maybe_mixed_input_scripts_check_no_mixed_input_scripts( port_, arg0); }, codec: DcoCodec( @@ -865,7 +826,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform decodeErrorData: dco_decode_payjoin_error, ), constMeta: kMaybeMixedInputScriptsCheckNoMixedInputScriptsConstMeta, - argValues: [that], + argValues: [ptr], apiImpl: this, hint: hint, )); @@ -873,21 +834,21 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kMaybeMixedInputScriptsCheckNoMixedInputScriptsConstMeta => const TaskConstMeta( - debugName: "MaybeMixedInputScripts_check_no_mixed_input_scripts", - argNames: ["that"], + debugName: "maybe_mixed_input_scripts_check_no_mixed_input_scripts", + argNames: ["ptr"], ); @override Future outputsUnknownIdentifyReceiverOutputs( - {required OutputsUnknown that, + {required OutputsUnknown ptr, required FutureOr Function(Uint8List) isReceiverOutput, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - var arg0 = cst_encode_box_autoadd_outputs_unknown(that); + var arg0 = cst_encode_box_autoadd_outputs_unknown(ptr); var arg1 = cst_encode_DartFn_Inputs_list_prim_u_8_strict_Output_bool( isReceiverOutput); - return wire.wire_OutputsUnknown_identify_receiver_outputs( + return wire.wire_outputs_unknown_identify_receiver_outputs( port_, arg0, arg1); }, codec: DcoCodec( @@ -895,7 +856,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform decodeErrorData: dco_decode_payjoin_error, ), constMeta: kOutputsUnknownIdentifyReceiverOutputsConstMeta, - argValues: [that, isReceiverOutput], + argValues: [ptr, isReceiverOutput], apiImpl: this, hint: hint, )); @@ -903,8 +864,8 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kOutputsUnknownIdentifyReceiverOutputsConstMeta => const TaskConstMeta( - debugName: "OutputsUnknown_identify_receiver_outputs", - argNames: ["that", "isReceiverOutput"], + debugName: "outputs_unknown_identify_receiver_outputs", + argNames: ["ptr", "isReceiverOutput"], ); @override @@ -913,7 +874,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_payjoin_proposal(that); - return wire.wire_PayjoinProposal_is_output_substitution_disabled( + return wire.wire_payjoin_proposal_is_output_substitution_disabled( port_, arg0); }, codec: DcoCodec( @@ -929,7 +890,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kPayjoinProposalIsOutputSubstitutionDisabledConstMeta => const TaskConstMeta( - debugName: "PayjoinProposal_is_output_substitution_disabled", + debugName: "payjoin_proposal_is_output_substitution_disabled", argNames: ["that"], ); @@ -939,7 +900,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_payjoin_proposal(that); - return wire.wire_PayjoinProposal_owned_vouts(port_, arg0); + return wire.wire_payjoin_proposal_owned_vouts(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_list_prim_u_64_strict, @@ -953,7 +914,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kPayjoinProposalOwnedVoutsConstMeta => const TaskConstMeta( - debugName: "PayjoinProposal_owned_vouts", + debugName: "payjoin_proposal_owned_vouts", argNames: ["that"], ); @@ -963,7 +924,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_payjoin_proposal(that); - return wire.wire_PayjoinProposal_psbt(port_, arg0); + return wire.wire_payjoin_proposal_psbt(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_String, @@ -977,7 +938,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kPayjoinProposalPsbtConstMeta => const TaskConstMeta( - debugName: "PayjoinProposal_psbt", + debugName: "payjoin_proposal_psbt", argNames: ["that"], ); @@ -987,7 +948,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_payjoin_proposal(that); - return wire.wire_PayjoinProposal_utxos_to_be_locked(port_, arg0); + return wire.wire_payjoin_proposal_utxos_to_be_locked(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_list_out_point, @@ -1002,7 +963,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kPayjoinProposalUtxosToBeLockedConstMeta => const TaskConstMeta( - debugName: "PayjoinProposal_utxos_to_be_locked", + debugName: "payjoin_proposal_utxos_to_be_locked", argNames: ["that"], ); @@ -1017,7 +978,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform var arg0 = cst_encode_box_autoadd_provisional_proposal(that); var arg1 = cst_encode_list_prim_u_8_loose(tx); var arg2 = cst_encode_box_autoadd_out_point(outpoint); - return wire.wire_ProvisionalProposal_contribute_non_witness_input( + return wire.wire_provisional_proposal_contribute_non_witness_input( port_, arg0, arg1, arg2); }, codec: DcoCodec( @@ -1033,7 +994,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kProvisionalProposalContributeNonWitnessInputConstMeta => const TaskConstMeta( - debugName: "ProvisionalProposal_contribute_non_witness_input", + debugName: "provisional_proposal_contribute_non_witness_input", argNames: ["that", "tx", "outpoint"], ); @@ -1048,7 +1009,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform var arg0 = cst_encode_box_autoadd_provisional_proposal(that); var arg1 = cst_encode_box_autoadd_tx_out(txo); var arg2 = cst_encode_box_autoadd_out_point(outpoint); - return wire.wire_ProvisionalProposal_contribute_witness_input( + return wire.wire_provisional_proposal_contribute_witness_input( port_, arg0, arg1, arg2); }, codec: DcoCodec( @@ -1064,22 +1025,22 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kProvisionalProposalContributeWitnessInputConstMeta => const TaskConstMeta( - debugName: "ProvisionalProposal_contribute_witness_input", + debugName: "provisional_proposal_contribute_witness_input", argNames: ["that", "txo", "outpoint"], ); @override Future provisionalProposalFinalizeProposal( - {required ProvisionalProposal that, + {required ProvisionalProposal ptr, required FutureOr Function(String) processPsbt, int? minFeerateSatPerVb, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - var arg0 = cst_encode_box_autoadd_provisional_proposal(that); + var arg0 = cst_encode_box_autoadd_provisional_proposal(ptr); var arg1 = cst_encode_DartFn_Inputs_String_Output_String(processPsbt); var arg2 = cst_encode_opt_box_autoadd_u_64(minFeerateSatPerVb); - return wire.wire_ProvisionalProposal_finalize_proposal( + return wire.wire_provisional_proposal_finalize_proposal( port_, arg0, arg1, arg2); }, codec: DcoCodec( @@ -1087,7 +1048,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform decodeErrorData: dco_decode_payjoin_error, ), constMeta: kProvisionalProposalFinalizeProposalConstMeta, - argValues: [that, processPsbt, minFeerateSatPerVb], + argValues: [ptr, processPsbt, minFeerateSatPerVb], apiImpl: this, hint: hint, )); @@ -1095,8 +1056,8 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kProvisionalProposalFinalizeProposalConstMeta => const TaskConstMeta( - debugName: "ProvisionalProposal_finalize_proposal", - argNames: ["that", "processPsbt", "minFeerateSatPerVb"], + debugName: "provisional_proposal_finalize_proposal", + argNames: ["ptr", "processPsbt", "minFeerateSatPerVb"], ); @override @@ -1108,7 +1069,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform callFfi: (port_) { var arg0 = cst_encode_box_autoadd_provisional_proposal(that); var arg1 = cst_encode_String(address); - return wire.wire_ProvisionalProposal_substitute_output_address( + return wire.wire_provisional_proposal_substitute_output_address( port_, arg0, arg1); }, codec: DcoCodec( @@ -1124,7 +1085,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kProvisionalProposalSubstituteOutputAddressConstMeta => const TaskConstMeta( - debugName: "ProvisionalProposal_substitute_output_address", + debugName: "provisional_proposal_substitute_output_address", argNames: ["that", "address"], ); @@ -1137,7 +1098,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform callFfi: (port_) { var arg0 = cst_encode_box_autoadd_provisional_proposal(that); var arg1 = cst_encode_Map_u_64_out_point(candidateInputs); - return wire.wire_ProvisionalProposal_try_preserving_privacy( + return wire.wire_provisional_proposal_try_preserving_privacy( port_, arg0, arg1); }, codec: DcoCodec( @@ -1153,17 +1114,17 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kProvisionalProposalTryPreservingPrivacyConstMeta => const TaskConstMeta( - debugName: "ProvisionalProposal_try_preserving_privacy", + debugName: "provisional_proposal_try_preserving_privacy", argNames: ["that", "candidateInputs"], ); @override Future uncheckedProposalAssumeInteractiveReceiver( - {required UncheckedProposal that, dynamic hint}) { + {required UncheckedProposal ptr, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - var arg0 = cst_encode_box_autoadd_unchecked_proposal(that); - return wire.wire_UncheckedProposal_assume_interactive_receiver( + var arg0 = cst_encode_box_autoadd_unchecked_proposal(ptr); + return wire.wire_unchecked_proposal_assume_interactive_receiver( port_, arg0); }, codec: DcoCodec( @@ -1171,7 +1132,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform decodeErrorData: null, ), constMeta: kUncheckedProposalAssumeInteractiveReceiverConstMeta, - argValues: [that], + argValues: [ptr], apiImpl: this, hint: hint, )); @@ -1179,23 +1140,23 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kUncheckedProposalAssumeInteractiveReceiverConstMeta => const TaskConstMeta( - debugName: "UncheckedProposal_assume_interactive_receiver", - argNames: ["that"], + debugName: "unchecked_proposal_assume_interactive_receiver", + argNames: ["ptr"], ); @override Future uncheckedProposalCheckBroadcastSuitability( - {required UncheckedProposal that, + {required UncheckedProposal ptr, int? minFeeRate, required FutureOr Function(Uint8List) canBroadcast, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - var arg0 = cst_encode_box_autoadd_unchecked_proposal(that); + var arg0 = cst_encode_box_autoadd_unchecked_proposal(ptr); var arg1 = cst_encode_opt_box_autoadd_u_64(minFeeRate); var arg2 = cst_encode_DartFn_Inputs_list_prim_u_8_strict_Output_bool( canBroadcast); - return wire.wire_UncheckedProposal_check_broadcast_suitability( + return wire.wire_unchecked_proposal_check_broadcast_suitability( port_, arg0, arg1, arg2); }, codec: DcoCodec( @@ -1203,7 +1164,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform decodeErrorData: dco_decode_payjoin_error, ), constMeta: kUncheckedProposalCheckBroadcastSuitabilityConstMeta, - argValues: [that, minFeeRate, canBroadcast], + argValues: [ptr, minFeeRate, canBroadcast], apiImpl: this, hint: hint, )); @@ -1211,8 +1172,8 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kUncheckedProposalCheckBroadcastSuitabilityConstMeta => const TaskConstMeta( - debugName: "UncheckedProposal_check_broadcast_suitability", - argNames: ["that", "minFeeRate", "canBroadcast"], + debugName: "unchecked_proposal_check_broadcast_suitability", + argNames: ["ptr", "minFeeRate", "canBroadcast"], ); @override @@ -1221,7 +1182,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_unchecked_proposal(that); - return wire.wire_UncheckedProposal_extract_tx_to_schedule_broadcast( + return wire.wire_unchecked_proposal_extract_tx_to_schedule_broadcast( port_, arg0); }, codec: DcoCodec( @@ -1237,7 +1198,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kUncheckedProposalExtractTxToScheduleBroadcastConstMeta => const TaskConstMeta( - debugName: "UncheckedProposal_extract_tx_to_schedule_broadcast", + debugName: "unchecked_proposal_extract_tx_to_schedule_broadcast", argNames: ["that"], ); @@ -1252,7 +1213,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform var arg0 = cst_encode_list_prim_u_8_loose(body); var arg1 = cst_encode_String(query); var arg2 = cst_encode_box_autoadd_headers(headers); - return wire.wire_UncheckedProposal_from_request( + return wire.wire_unchecked_proposal_from_request( port_, arg0, arg1, arg2); }, codec: DcoCodec( @@ -1268,7 +1229,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kUncheckedProposalFromRequestConstMeta => const TaskConstMeta( - debugName: "UncheckedProposal_from_request", + debugName: "unchecked_proposal_from_request", argNames: ["body", "query", "headers"], ); @@ -1282,7 +1243,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform var arg0 = cst_encode_box_autoadd_v_2_maybe_inputs_owned(that); var arg1 = cst_encode_DartFn_Inputs_list_prim_u_8_strict_Output_bool(isOwned); - return wire.wire_V2MaybeInputsOwned_check_inputs_not_owned( + return wire.wire_v_2_maybe_inputs_owned_check_inputs_not_owned( port_, arg0, arg1); }, codec: DcoCodec( @@ -1298,7 +1259,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2MaybeInputsOwnedCheckInputsNotOwnedConstMeta => const TaskConstMeta( - debugName: "V2MaybeInputsOwned_check_inputs_not_owned", + debugName: "v_2_maybe_inputs_owned_check_inputs_not_owned", argNames: ["that", "isOwned"], ); @@ -1311,7 +1272,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform callFfi: (port_) { var arg0 = cst_encode_box_autoadd_v_2_maybe_inputs_seen(that); var arg1 = cst_encode_DartFn_Inputs_out_point_Output_bool(isKnown); - return wire.wire_V2MaybeInputsSeen_check_no_inputs_seen_before( + return wire.wire_v_2_maybe_inputs_seen_check_no_inputs_seen_before( port_, arg0, arg1); }, codec: DcoCodec( @@ -1327,22 +1288,22 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2MaybeInputsSeenCheckNoInputsSeenBeforeConstMeta => const TaskConstMeta( - debugName: "V2MaybeInputsSeen_check_no_inputs_seen_before", + debugName: "v_2_maybe_inputs_seen_check_no_inputs_seen_before", argNames: ["that", "isKnown"], ); @override - Future v2MaybeMixedInputScriptsCheckNoMixedInputScripts( + Future v2MaybeMixedInputScriptsCheckNoMixedInputScripts( {required V2MaybeMixedInputScripts that, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_v_2_maybe_mixed_input_scripts(that); - return wire.wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts( - port_, arg0); + return wire + .wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts( + port_, arg0); }, codec: DcoCodec( - decodeSuccessData: - dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen, + decodeSuccessData: dco_decode_v_2_maybe_inputs_seen, decodeErrorData: dco_decode_payjoin_error, ), constMeta: kV2MaybeMixedInputScriptsCheckNoMixedInputScriptsConstMeta, @@ -1355,7 +1316,8 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2MaybeMixedInputScriptsCheckNoMixedInputScriptsConstMeta => const TaskConstMeta( - debugName: "V2MaybeMixedInputScripts_check_no_mixed_input_scripts", + debugName: + "v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts", argNames: ["that"], ); @@ -1369,7 +1331,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform var arg0 = cst_encode_box_autoadd_v_2_outputs_unknown(that); var arg1 = cst_encode_DartFn_Inputs_list_prim_u_8_strict_Output_bool( isReceiverOutput); - return wire.wire_V2OutputsUnknown_identify_receiver_outputs( + return wire.wire_v_2_outputs_unknown_identify_receiver_outputs( port_, arg0, arg1); }, codec: DcoCodec( @@ -1385,7 +1347,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2OutputsUnknownIdentifyReceiverOutputsConstMeta => const TaskConstMeta( - debugName: "V2OutputsUnknown_identify_receiver_outputs", + debugName: "v_2_outputs_unknown_identify_receiver_outputs", argNames: ["that", "isReceiverOutput"], ); @@ -1400,7 +1362,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform var arg0 = cst_encode_box_autoadd_v_2_payjoin_proposal(that); var arg1 = cst_encode_list_prim_u_8_loose(res); var arg2 = cst_encode_box_autoadd_client_response(ohttpContext); - return wire.wire_V2PayjoinProposal_deserialize_res( + return wire.wire_v_2_payjoin_proposal_deserialize_res( port_, arg0, arg1, arg2); }, codec: DcoCodec( @@ -1416,7 +1378,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2PayjoinProposalDeserializeResConstMeta => const TaskConstMeta( - debugName: "V2PayjoinProposal_deserialize_res", + debugName: "v_2_payjoin_proposal_deserialize_res", argNames: ["that", "res", "ohttpContext"], ); @@ -1426,7 +1388,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_v_2_payjoin_proposal(that); - return wire.wire_V2PayjoinProposal_extract_v1_req(port_, arg0); + return wire.wire_v_2_payjoin_proposal_extract_v1_req(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_String, @@ -1441,20 +1403,21 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2PayjoinProposalExtractV1ReqConstMeta => const TaskConstMeta( - debugName: "V2PayjoinProposal_extract_v1_req", + debugName: "v_2_payjoin_proposal_extract_v1_req", argNames: ["that"], ); @override - Future v2PayjoinProposalExtractV2Req( + Future<((Url, Uint8List), ClientResponse)> v2PayjoinProposalExtractV2Req( {required V2PayjoinProposal that, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_v_2_payjoin_proposal(that); - return wire.wire_V2PayjoinProposal_extract_v2_req(port_, arg0); + return wire.wire_v_2_payjoin_proposal_extract_v2_req(port_, arg0); }, codec: DcoCodec( - decodeSuccessData: dco_decode_request_response, + decodeSuccessData: + dco_decode_record_record_url_list_prim_u_8_strict_client_response, decodeErrorData: dco_decode_payjoin_error, ), constMeta: kV2PayjoinProposalExtractV2ReqConstMeta, @@ -1466,7 +1429,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2PayjoinProposalExtractV2ReqConstMeta => const TaskConstMeta( - debugName: "V2PayjoinProposal_extract_v2_req", + debugName: "v_2_payjoin_proposal_extract_v2_req", argNames: ["that"], ); @@ -1476,7 +1439,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_v_2_payjoin_proposal(that); - return wire.wire_V2PayjoinProposal_is_output_substitution_disabled( + return wire.wire_v_2_payjoin_proposal_is_output_substitution_disabled( port_, arg0); }, codec: DcoCodec( @@ -1492,7 +1455,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2PayjoinProposalIsOutputSubstitutionDisabledConstMeta => const TaskConstMeta( - debugName: "V2PayjoinProposal_is_output_substitution_disabled", + debugName: "v_2_payjoin_proposal_is_output_substitution_disabled", argNames: ["that"], ); @@ -1502,7 +1465,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_v_2_payjoin_proposal(that); - return wire.wire_V2PayjoinProposal_owned_vouts(port_, arg0); + return wire.wire_v_2_payjoin_proposal_owned_vouts(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_list_prim_u_64_strict, @@ -1517,7 +1480,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2PayjoinProposalOwnedVoutsConstMeta => const TaskConstMeta( - debugName: "V2PayjoinProposal_owned_vouts", + debugName: "v_2_payjoin_proposal_owned_vouts", argNames: ["that"], ); @@ -1527,7 +1490,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_v_2_payjoin_proposal(that); - return wire.wire_V2PayjoinProposal_psbt(port_, arg0); + return wire.wire_v_2_payjoin_proposal_psbt(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_String, @@ -1541,7 +1504,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kV2PayjoinProposalPsbtConstMeta => const TaskConstMeta( - debugName: "V2PayjoinProposal_psbt", + debugName: "v_2_payjoin_proposal_psbt", argNames: ["that"], ); @@ -1551,7 +1514,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_v_2_payjoin_proposal(that); - return wire.wire_V2PayjoinProposal_utxos_to_be_locked(port_, arg0); + return wire.wire_v_2_payjoin_proposal_utxos_to_be_locked(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_list_out_point, @@ -1566,7 +1529,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2PayjoinProposalUtxosToBeLockedConstMeta => const TaskConstMeta( - debugName: "V2PayjoinProposal_utxos_to_be_locked", + debugName: "v_2_payjoin_proposal_utxos_to_be_locked", argNames: ["that"], ); @@ -1581,7 +1544,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform var arg0 = cst_encode_box_autoadd_v_2_provisional_proposal(that); var arg1 = cst_encode_list_prim_u_8_loose(tx); var arg2 = cst_encode_box_autoadd_out_point(outpoint); - return wire.wire_V2ProvisionalProposal_contribute_non_witness_input( + return wire.wire_v_2_provisional_proposal_contribute_non_witness_input( port_, arg0, arg1, arg2); }, codec: DcoCodec( @@ -1597,7 +1560,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2ProvisionalProposalContributeNonWitnessInputConstMeta => const TaskConstMeta( - debugName: "V2ProvisionalProposal_contribute_non_witness_input", + debugName: "v_2_provisional_proposal_contribute_non_witness_input", argNames: ["that", "tx", "outpoint"], ); @@ -1612,7 +1575,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform var arg0 = cst_encode_box_autoadd_v_2_provisional_proposal(that); var arg1 = cst_encode_box_autoadd_tx_out(txo); var arg2 = cst_encode_box_autoadd_out_point(outpoint); - return wire.wire_V2ProvisionalProposal_contribute_witness_input( + return wire.wire_v_2_provisional_proposal_contribute_witness_input( port_, arg0, arg1, arg2); }, codec: DcoCodec( @@ -1628,7 +1591,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2ProvisionalProposalContributeWitnessInputConstMeta => const TaskConstMeta( - debugName: "V2ProvisionalProposal_contribute_witness_input", + debugName: "v_2_provisional_proposal_contribute_witness_input", argNames: ["that", "txo", "outpoint"], ); @@ -1643,7 +1606,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform var arg0 = cst_encode_box_autoadd_v_2_provisional_proposal(that); var arg1 = cst_encode_DartFn_Inputs_String_Output_String(processPsbt); var arg2 = cst_encode_opt_box_autoadd_u_64(minFeerateSatPerVb); - return wire.wire_V2ProvisionalProposal_finalize_proposal( + return wire.wire_v_2_provisional_proposal_finalize_proposal( port_, arg0, arg1, arg2); }, codec: DcoCodec( @@ -1659,7 +1622,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2ProvisionalProposalFinalizeProposalConstMeta => const TaskConstMeta( - debugName: "V2ProvisionalProposal_finalize_proposal", + debugName: "v_2_provisional_proposal_finalize_proposal", argNames: ["that", "processPsbt", "minFeerateSatPerVb"], ); @@ -1672,7 +1635,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform callFfi: (port_) { var arg0 = cst_encode_box_autoadd_v_2_provisional_proposal(that); var arg1 = cst_encode_String(address); - return wire.wire_V2ProvisionalProposal_substitute_output_address( + return wire.wire_v_2_provisional_proposal_substitute_output_address( port_, arg0, arg1); }, codec: DcoCodec( @@ -1688,7 +1651,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2ProvisionalProposalSubstituteOutputAddressConstMeta => const TaskConstMeta( - debugName: "V2ProvisionalProposal_substitute_output_address", + debugName: "v_2_provisional_proposal_substitute_output_address", argNames: ["that", "address"], ); @@ -1701,7 +1664,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform callFfi: (port_) { var arg0 = cst_encode_box_autoadd_v_2_provisional_proposal(that); var arg1 = cst_encode_Map_u_64_out_point(candidateInputs); - return wire.wire_V2ProvisionalProposal_try_preserving_privacy( + return wire.wire_v_2_provisional_proposal_try_preserving_privacy( port_, arg0, arg1); }, codec: DcoCodec( @@ -1717,22 +1680,21 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2ProvisionalProposalTryPreservingPrivacyConstMeta => const TaskConstMeta( - debugName: "V2ProvisionalProposal_try_preserving_privacy", + debugName: "v_2_provisional_proposal_try_preserving_privacy", argNames: ["that", "candidateInputs"], ); @override - Future v2UncheckedProposalAssumeInteractiveReceiver( + Future v2UncheckedProposalAssumeInteractiveReceiver( {required V2UncheckedProposal that, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_v_2_unchecked_proposal(that); - return wire.wire_V2UncheckedProposal_assume_interactive_receiver( + return wire.wire_v_2_unchecked_proposal_assume_interactive_receiver( port_, arg0); }, codec: DcoCodec( - decodeSuccessData: - dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned, + decodeSuccessData: dco_decode_v_2_maybe_inputs_owned, decodeErrorData: null, ), constMeta: kV2UncheckedProposalAssumeInteractiveReceiverConstMeta, @@ -1744,7 +1706,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2UncheckedProposalAssumeInteractiveReceiverConstMeta => const TaskConstMeta( - debugName: "V2UncheckedProposal_assume_interactive_receiver", + debugName: "v_2_unchecked_proposal_assume_interactive_receiver", argNames: ["that"], ); @@ -1760,7 +1722,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform var arg1 = cst_encode_opt_box_autoadd_u_64(minFeeRate); var arg2 = cst_encode_DartFn_Inputs_list_prim_u_8_strict_Output_bool( canBroadcast); - return wire.wire_V2UncheckedProposal_check_broadcast_suitability( + return wire.wire_v_2_unchecked_proposal_check_broadcast_suitability( port_, arg0, arg1, arg2); }, codec: DcoCodec( @@ -1776,7 +1738,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2UncheckedProposalCheckBroadcastSuitabilityConstMeta => const TaskConstMeta( - debugName: "V2UncheckedProposal_check_broadcast_suitability", + debugName: "v_2_unchecked_proposal_check_broadcast_suitability", argNames: ["that", "minFeeRate", "canBroadcast"], ); @@ -1786,8 +1748,9 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_v_2_unchecked_proposal(that); - return wire.wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast( - port_, arg0); + return wire + .wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcast( + port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_list_prim_u_8_strict, @@ -1802,7 +1765,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2UncheckedProposalExtractTxToScheduleBroadcastConstMeta => const TaskConstMeta( - debugName: "V2UncheckedProposal_extract_tx_to_schedule_broadcast", + debugName: "v_2_unchecked_proposal_extract_tx_to_schedule_broadcast", argNames: ["that"], ); @@ -1813,7 +1776,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform callFfi: (port_) { var arg0 = cst_encode_box_autoadd_context_v_1(that); var arg1 = cst_encode_list_prim_u_8_loose(response); - return wire.wire_ContextV1_process_response(port_, arg0, arg1); + return wire.wire_context_v_1_process_response(port_, arg0, arg1); }, codec: DcoCodec( decodeSuccessData: dco_decode_String, @@ -1827,7 +1790,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kContextV1ProcessResponseConstMeta => const TaskConstMeta( - debugName: "ContextV1_process_response", + debugName: "context_v_1_process_response", argNames: ["that", "response"], ); @@ -1838,7 +1801,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform callFfi: (port_) { var arg0 = cst_encode_box_autoadd_context_v_2(that); var arg1 = cst_encode_list_prim_u_8_loose(response); - return wire.wire_ContextV2_process_response(port_, arg0, arg1); + return wire.wire_context_v_2_process_response(port_, arg0, arg1); }, codec: DcoCodec( decodeSuccessData: dco_decode_opt_String, @@ -1852,7 +1815,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kContextV2ProcessResponseConstMeta => const TaskConstMeta( - debugName: "ContextV2_process_response", + debugName: "context_v_2_process_response", argNames: ["that", "response"], ); @@ -1863,7 +1826,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform callFfi: (port_) { var arg0 = cst_encode_box_autoadd_request_builder(that); var arg1 = cst_encode_bool(disable); - return wire.wire_RequestBuilder_always_disable_output_substitution( + return wire.wire_request_builder_always_disable_output_substitution( port_, arg0, arg1); }, codec: DcoCodec( @@ -1879,7 +1842,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kRequestBuilderAlwaysDisableOutputSubstitutionConstMeta => const TaskConstMeta( - debugName: "RequestBuilder_always_disable_output_substitution", + debugName: "request_builder_always_disable_output_substitution", argNames: ["that", "disable"], ); @@ -1889,7 +1852,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_request_builder(that); - return wire.wire_RequestBuilder_build_non_incentivizing(port_, arg0); + return wire.wire_request_builder_build_non_incentivizing(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_request_context, @@ -1904,7 +1867,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kRequestBuilderBuildNonIncentivizingConstMeta => const TaskConstMeta( - debugName: "RequestBuilder_build_non_incentivizing", + debugName: "request_builder_build_non_incentivizing", argNames: ["that"], ); @@ -1915,7 +1878,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform callFfi: (port_) { var arg0 = cst_encode_box_autoadd_request_builder(that); var arg1 = cst_encode_u_64(minFeeRate); - return wire.wire_RequestBuilder_build_recommended(port_, arg0, arg1); + return wire.wire_request_builder_build_recommended(port_, arg0, arg1); }, codec: DcoCodec( decodeSuccessData: dco_decode_request_context, @@ -1930,7 +1893,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kRequestBuilderBuildRecommendedConstMeta => const TaskConstMeta( - debugName: "RequestBuilder_build_recommended", + debugName: "request_builder_build_recommended", argNames: ["that", "minFeeRate"], ); @@ -1949,7 +1912,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform var arg2 = cst_encode_opt_box_autoadd_u_8(changeIndex); var arg3 = cst_encode_u_64(minFeeRate); var arg4 = cst_encode_bool(clampFeeContribution); - return wire.wire_RequestBuilder_build_with_additional_fee( + return wire.wire_request_builder_build_with_additional_fee( port_, arg0, arg1, arg2, arg3, arg4); }, codec: DcoCodec( @@ -1971,7 +1934,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kRequestBuilderBuildWithAdditionalFeeConstMeta => const TaskConstMeta( - debugName: "RequestBuilder_build_with_additional_fee", + debugName: "request_builder_build_with_additional_fee", argNames: [ "that", "maxFeeContribution", @@ -1988,7 +1951,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform callFfi: (port_) { var arg0 = cst_encode_String(psbtBase64); var arg1 = cst_encode_box_autoadd_uri(uri); - return wire.wire_RequestBuilder_from_psbt_and_uri(port_, arg0, arg1); + return wire.wire_request_builder_from_psbt_and_uri(port_, arg0, arg1); }, codec: DcoCodec( decodeSuccessData: dco_decode_request_builder, @@ -2003,39 +1966,17 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kRequestBuilderFromPsbtAndUriConstMeta => const TaskConstMeta( - debugName: "RequestBuilder_from_psbt_and_uri", + debugName: "request_builder_from_psbt_and_uri", argNames: ["psbtBase64", "uri"], ); - @override - Future requestBuilderNew({dynamic hint}) { - return handler.executeNormal(NormalTask( - callFfi: (port_) { - return wire.wire_RequestBuilder_new(port_); - }, - codec: DcoCodec( - decodeSuccessData: dco_decode_unit, - decodeErrorData: null, - ), - constMeta: kRequestBuilderNewConstMeta, - argValues: [], - apiImpl: this, - hint: hint, - )); - } - - TaskConstMeta get kRequestBuilderNewConstMeta => const TaskConstMeta( - debugName: "RequestBuilder_new", - argNames: [], - ); - @override Future requestContextExtractV1( {required RequestContext that, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_request_context(that); - return wire.wire_RequestContext_extract_v1(port_, arg0); + return wire.wire_request_context_extract_v1(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_request_context_v_1, @@ -2049,7 +1990,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kRequestContextExtractV1ConstMeta => const TaskConstMeta( - debugName: "RequestContext_extract_v1", + debugName: "request_context_extract_v1", argNames: ["that"], ); @@ -2062,7 +2003,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform callFfi: (port_) { var arg0 = cst_encode_box_autoadd_request_context(that); var arg1 = cst_encode_String(ohttpProxyUrl); - return wire.wire_RequestContext_extract_v2(port_, arg0, arg1); + return wire.wire_request_context_extract_v2(port_, arg0, arg1); }, codec: DcoCodec( decodeSuccessData: dco_decode_request_context_v_2, @@ -2076,7 +2017,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kRequestContextExtractV2ConstMeta => const TaskConstMeta( - debugName: "RequestContext_extract_v2", + debugName: "request_context_extract_v2", argNames: ["that", "ohttpProxyUrl"], ); @@ -2085,7 +2026,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_uri(that); - return wire.wire_Uri_address(port_, arg0); + return wire.wire_uri_address(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_String, @@ -2099,7 +2040,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kUriAddressConstMeta => const TaskConstMeta( - debugName: "Uri_address", + debugName: "uri_address", argNames: ["that"], ); @@ -2108,7 +2049,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_uri(that); - return wire.wire_Uri_amount(port_, arg0); + return wire.wire_uri_amount(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_opt_box_autoadd_u_64, @@ -2122,7 +2063,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kUriAmountConstMeta => const TaskConstMeta( - debugName: "Uri_amount", + debugName: "uri_amount", argNames: ["that"], ); @@ -2131,7 +2072,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_String(uri); - return wire.wire_Uri_from_str(port_, arg0); + return wire.wire_uri_from_str(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_uri, @@ -2145,7 +2086,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kUriFromStrConstMeta => const TaskConstMeta( - debugName: "Uri_from_str", + debugName: "uri_from_str", argNames: ["uri"], ); @@ -2154,7 +2095,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_String(url); - return wire.wire_Url_from_str(port_, arg0); + return wire.wire_url_from_str(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_url, @@ -2168,7 +2109,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kUrlFromStrConstMeta => const TaskConstMeta( - debugName: "Url_from_str", + debugName: "url_from_str", argNames: ["url"], ); @@ -2177,7 +2118,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_url(that); - return wire.wire_Url_query(port_, arg0); + return wire.wire_url_query(port_, arg0); }, codec: DcoCodec( decodeSuccessData: dco_decode_opt_String, @@ -2191,7 +2132,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } TaskConstMeta get kUrlQueryConstMeta => const TaskConstMeta( - debugName: "Url_query", + debugName: "url_query", argNames: ["that"], ); @@ -2414,22 +2355,6 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform get rust_arc_decrement_strong_count_MutexOptionOhttpClientResponse => wire .rust_arc_decrement_strong_count_RustOpaque_MutexOptionohttpClientResponse; - RustArcIncrementStrongCountFnType - get rust_arc_increment_strong_count_ArcV2MaybeInputsOwned => wire - .rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned; - - RustArcDecrementStrongCountFnType - get rust_arc_decrement_strong_count_ArcV2MaybeInputsOwned => wire - .rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned; - - RustArcIncrementStrongCountFnType - get rust_arc_increment_strong_count_ArcV2MaybeInputsSeen => wire - .rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen; - - RustArcDecrementStrongCountFnType - get rust_arc_decrement_strong_count_ArcV2MaybeInputsSeen => wire - .rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen; - RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_PayjoinFfiReceiveV1UncheckedProposal => wire.rust_arc_increment_strong_count_RustOpaque_payjoin_ffireceivev1UncheckedProposal; @@ -2454,22 +2379,6 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform get rust_arc_decrement_strong_count_PayjoinFfiReceiveV2V2UncheckedProposal => wire.rust_arc_decrement_strong_count_RustOpaque_payjoin_ffireceivev2V2UncheckedProposal; - @protected - ArcV2MaybeInputsOwned - dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - dynamic raw) { - // Codec=Dco (DartCObject based), see doc to use other codecs - return ArcV2MaybeInputsOwned.dcoDecode(raw as List); - } - - @protected - ArcV2MaybeInputsSeen - dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - dynamic raw) { - // Codec=Dco (DartCObject based), see doc to use other codecs - return ArcV2MaybeInputsSeen.dcoDecode(raw as List); - } - @protected FutureOr Function(String) dco_decode_DartFn_Inputs_String_Output_String(dynamic raw) { @@ -2671,22 +2580,6 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return MutexOptionOhttpClientResponse.dcoDecode(raw as List); } - @protected - ArcV2MaybeInputsOwned - dco_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - dynamic raw) { - // Codec=Dco (DartCObject based), see doc to use other codecs - return ArcV2MaybeInputsOwned.dcoDecode(raw as List); - } - - @protected - ArcV2MaybeInputsSeen - dco_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - dynamic raw) { - // Codec=Dco (DartCObject based), see doc to use other codecs - return ArcV2MaybeInputsSeen.dcoDecode(raw as List); - } - @protected PayjoinFfiReceiveV1UncheckedProposal dco_decode_RustOpaque_payjoin_ffireceivev1UncheckedProposal(dynamic raw) { @@ -2957,7 +2850,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform if (arr.length != 1) throw Exception('unexpected arr length: expect 1 but see ${arr.length}'); return Headers( - field0: dco_decode_Map_String_String(arr[0]), + map: dco_decode_Map_String_String(arr[0]), ); } @@ -3188,6 +3081,21 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform ); } + @protected + ((Url, Uint8List), ClientResponse) + dco_decode_record_record_url_list_prim_u_8_strict_client_response( + dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + final arr = raw as List; + if (arr.length != 2) { + throw Exception('Expected 2 elements, got ${arr.length}'); + } + return ( + dco_decode_record_url_list_prim_u_8_strict(arr[0]), + dco_decode_client_response(arr[1]), + ); + } + @protected (String, String) dco_decode_record_string_string(dynamic raw) { // Codec=Dco (DartCObject based), see doc to use other codecs @@ -3215,14 +3123,15 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } @protected - Request dco_decode_request(dynamic raw) { + (Url, Uint8List) dco_decode_record_url_list_prim_u_8_strict(dynamic raw) { // Codec=Dco (DartCObject based), see doc to use other codecs final arr = raw as List; - if (arr.length != 2) - throw Exception('unexpected arr length: expect 2 but see ${arr.length}'); - return Request( - url: dco_decode_url(arr[0]), - body: dco_decode_list_prim_u_8_strict(arr[1]), + if (arr.length != 2) { + throw Exception('Expected 2 elements, got ${arr.length}'); + } + return ( + dco_decode_url(arr[0]), + dco_decode_list_prim_u_8_strict(arr[1]), ); } @@ -3255,7 +3164,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform if (arr.length != 2) throw Exception('unexpected arr length: expect 2 but see ${arr.length}'); return RequestContextV1( - request: dco_decode_request(arr[0]), + request: dco_decode_record_url_list_prim_u_8_strict(arr[0]), contextV1: dco_decode_context_v_1(arr[1]), ); } @@ -3267,23 +3176,11 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform if (arr.length != 2) throw Exception('unexpected arr length: expect 2 but see ${arr.length}'); return RequestContextV2( - request: dco_decode_request(arr[0]), + request: dco_decode_record_url_list_prim_u_8_strict(arr[0]), contextV2: dco_decode_context_v_2(arr[1]), ); } - @protected - RequestResponse dco_decode_request_response(dynamic raw) { - // Codec=Dco (DartCObject based), see doc to use other codecs - final arr = raw as List; - if (arr.length != 2) - throw Exception('unexpected arr length: expect 2 but see ${arr.length}'); - return RequestResponse( - request: dco_decode_request(arr[0]), - clientResponse: dco_decode_client_response(arr[1]), - ); - } - @protected TxOut dco_decode_tx_out(dynamic raw) { // Codec=Dco (DartCObject based), see doc to use other codecs @@ -3447,24 +3344,6 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform ); } - @protected - ArcV2MaybeInputsOwned - sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - return ArcV2MaybeInputsOwned.sseDecode( - sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); - } - - @protected - ArcV2MaybeInputsSeen - sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - return ArcV2MaybeInputsSeen.sseDecode( - sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); - } - @protected Object sse_decode_DartOpaque(SseDeserializer deserializer) { // Codec=Sse (Serialization based), see doc to use other codecs @@ -3666,24 +3545,6 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); } - @protected - ArcV2MaybeInputsOwned - sse_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - return ArcV2MaybeInputsOwned.sseDecode( - sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); - } - - @protected - ArcV2MaybeInputsSeen - sse_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - return ArcV2MaybeInputsSeen.sseDecode( - sse_decode_usize(deserializer), sse_decode_i_32(deserializer)); - } - @protected PayjoinFfiReceiveV1UncheckedProposal sse_decode_RustOpaque_payjoin_ffireceivev1UncheckedProposal( @@ -3952,8 +3813,8 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform @protected Headers sse_decode_headers(SseDeserializer deserializer) { // Codec=Sse (Serialization based), see doc to use other codecs - var var_field0 = sse_decode_Map_String_String(deserializer); - return Headers(field0: var_field0); + var var_map = sse_decode_Map_String_String(deserializer); + return Headers(map: var_map); } @protected @@ -4186,6 +4047,16 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return ProvisionalProposal(field0: var_field0); } + @protected + ((Url, Uint8List), ClientResponse) + sse_decode_record_record_url_list_prim_u_8_strict_client_response( + SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + var var_field0 = sse_decode_record_url_list_prim_u_8_strict(deserializer); + var var_field1 = sse_decode_client_response(deserializer); + return (var_field0, var_field1); + } + @protected (String, String) sse_decode_record_string_string( SseDeserializer deserializer) { @@ -4205,11 +4076,12 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } @protected - Request sse_decode_request(SseDeserializer deserializer) { + (Url, Uint8List) sse_decode_record_url_list_prim_u_8_strict( + SseDeserializer deserializer) { // Codec=Sse (Serialization based), see doc to use other codecs - var var_url = sse_decode_url(deserializer); - var var_body = sse_decode_list_prim_u_8_strict(deserializer); - return Request(url: var_url, body: var_body); + var var_field0 = sse_decode_url(deserializer); + var var_field1 = sse_decode_list_prim_u_8_strict(deserializer); + return (var_field0, var_field1); } @protected @@ -4232,7 +4104,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform RequestContextV1 sse_decode_request_context_v_1( SseDeserializer deserializer) { // Codec=Sse (Serialization based), see doc to use other codecs - var var_request = sse_decode_request(deserializer); + var var_request = sse_decode_record_url_list_prim_u_8_strict(deserializer); var var_contextV1 = sse_decode_context_v_1(deserializer); return RequestContextV1(request: var_request, contextV1: var_contextV1); } @@ -4241,20 +4113,11 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform RequestContextV2 sse_decode_request_context_v_2( SseDeserializer deserializer) { // Codec=Sse (Serialization based), see doc to use other codecs - var var_request = sse_decode_request(deserializer); + var var_request = sse_decode_record_url_list_prim_u_8_strict(deserializer); var var_contextV2 = sse_decode_context_v_2(deserializer); return RequestContextV2(request: var_request, contextV2: var_contextV2); } - @protected - RequestResponse sse_decode_request_response(SseDeserializer deserializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - var var_request = sse_decode_request(deserializer); - var var_clientResponse = sse_decode_client_response(deserializer); - return RequestResponse( - request: var_request, clientResponse: var_clientResponse); - } - @protected TxOut sse_decode_tx_out(SseDeserializer deserializer) { // Codec=Sse (Serialization based), see doc to use other codecs @@ -4392,22 +4255,6 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return deserializer.buffer.getInt32(); } - @protected - int cst_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ArcV2MaybeInputsOwned raw) { - // Codec=Cst (C-struct based), see doc to use other codecs -// ignore: invalid_use_of_internal_member - return raw.cstEncode(move: true); - } - - @protected - int cst_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ArcV2MaybeInputsSeen raw) { - // Codec=Cst (C-struct based), see doc to use other codecs -// ignore: invalid_use_of_internal_member - return raw.cstEncode(move: true); - } - @protected PlatformPointer cst_encode_DartFn_Inputs_String_Output_String( FutureOr Function(String) raw) { @@ -4597,22 +4444,6 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return raw.cstEncode(); } - @protected - int cst_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ArcV2MaybeInputsOwned raw) { - // Codec=Cst (C-struct based), see doc to use other codecs -// ignore: invalid_use_of_internal_member - return raw.cstEncode(); - } - - @protected - int cst_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ArcV2MaybeInputsSeen raw) { - // Codec=Cst (C-struct based), see doc to use other codecs -// ignore: invalid_use_of_internal_member - return raw.cstEncode(); - } - @protected int cst_encode_RustOpaque_payjoin_ffireceivev1UncheckedProposal( PayjoinFfiReceiveV1UncheckedProposal raw) { @@ -4667,22 +4498,6 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return raw; } - @protected - void - sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ArcV2MaybeInputsOwned self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - sse_encode_usize(self.sseEncode(move: true), serializer); - } - - @protected - void - sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ArcV2MaybeInputsSeen self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - sse_encode_usize(self.sseEncode(move: true), serializer); - } - @protected void sse_encode_DartFn_Inputs_String_Output_String( FutureOr Function(String) self, SseSerializer serializer) { @@ -4877,22 +4692,6 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform sse_encode_usize(self.sseEncode(move: null), serializer); } - @protected - void - sse_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ArcV2MaybeInputsOwned self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - sse_encode_usize(self.sseEncode(move: null), serializer); - } - - @protected - void - sse_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ArcV2MaybeInputsSeen self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - sse_encode_usize(self.sseEncode(move: null), serializer); - } - @protected void sse_encode_RustOpaque_payjoin_ffireceivev1UncheckedProposal( PayjoinFfiReceiveV1UncheckedProposal self, SseSerializer serializer) { @@ -5154,7 +4953,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform @protected void sse_encode_headers(Headers self, SseSerializer serializer) { // Codec=Sse (Serialization based), see doc to use other codecs - sse_encode_Map_String_String(self.field0, serializer); + sse_encode_Map_String_String(self.map, serializer); } @protected @@ -5366,6 +5165,14 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform self.field0, serializer); } + @protected + void sse_encode_record_record_url_list_prim_u_8_strict_client_response( + ((Url, Uint8List), ClientResponse) self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + sse_encode_record_url_list_prim_u_8_strict(self.$1, serializer); + sse_encode_client_response(self.$2, serializer); + } + @protected void sse_encode_record_string_string( (String, String) self, SseSerializer serializer) { @@ -5383,10 +5190,11 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } @protected - void sse_encode_request(Request self, SseSerializer serializer) { + void sse_encode_record_url_list_prim_u_8_strict( + (Url, Uint8List) self, SseSerializer serializer) { // Codec=Sse (Serialization based), see doc to use other codecs - sse_encode_url(self.url, serializer); - sse_encode_list_prim_u_8_strict(self.body, serializer); + sse_encode_url(self.$1, serializer); + sse_encode_list_prim_u_8_strict(self.$2, serializer); } @protected @@ -5409,7 +5217,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform void sse_encode_request_context_v_1( RequestContextV1 self, SseSerializer serializer) { // Codec=Sse (Serialization based), see doc to use other codecs - sse_encode_request(self.request, serializer); + sse_encode_record_url_list_prim_u_8_strict(self.request, serializer); sse_encode_context_v_1(self.contextV1, serializer); } @@ -5417,18 +5225,10 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform void sse_encode_request_context_v_2( RequestContextV2 self, SseSerializer serializer) { // Codec=Sse (Serialization based), see doc to use other codecs - sse_encode_request(self.request, serializer); + sse_encode_record_url_list_prim_u_8_strict(self.request, serializer); sse_encode_context_v_2(self.contextV2, serializer); } - @protected - void sse_encode_request_response( - RequestResponse self, SseSerializer serializer) { - // Codec=Sse (Serialization based), see doc to use other codecs - sse_encode_request(self.request, serializer); - sse_encode_client_response(self.clientResponse, serializer); - } - @protected void sse_encode_tx_out(TxOut self, SseSerializer serializer) { // Codec=Sse (Serialization based), see doc to use other codecs diff --git a/lib/src/generated/frb_generated.io.dart b/lib/src/generated/frb_generated.io.dart index de9d256..d7c2d56 100644 --- a/lib/src/generated/frb_generated.io.dart +++ b/lib/src/generated/frb_generated.io.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field @@ -12,6 +12,7 @@ import 'dart:ffi' as ffi; import 'frb_generated.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated_io.dart'; import 'utils/error.dart'; +import 'utils/types.dart'; abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { PayjoinCoreApiImplPlatform({ @@ -101,14 +102,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { get rust_arc_decrement_strong_count_MutexOptionOhttpClientResponsePtr => wire ._rust_arc_decrement_strong_count_RustOpaque_MutexOptionohttpClientResponsePtr; - CrossPlatformFinalizerArg - get rust_arc_decrement_strong_count_ArcV2MaybeInputsOwnedPtr => wire - ._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwnedPtr; - - CrossPlatformFinalizerArg - get rust_arc_decrement_strong_count_ArcV2MaybeInputsSeenPtr => wire - ._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeenPtr; - CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PayjoinFfiReceiveV1UncheckedProposalPtr => wire._rust_arc_decrement_strong_count_RustOpaque_payjoin_ffireceivev1UncheckedProposalPtr; @@ -121,16 +114,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { get rust_arc_decrement_strong_count_PayjoinFfiReceiveV2V2UncheckedProposalPtr => wire._rust_arc_decrement_strong_count_RustOpaque_payjoin_ffireceivev2V2UncheckedProposalPtr; - @protected - ArcV2MaybeInputsOwned - dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - dynamic raw); - - @protected - ArcV2MaybeInputsSeen - dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - dynamic raw); - @protected FutureOr Function(String) dco_decode_DartFn_Inputs_String_Output_String(dynamic raw); @@ -239,16 +222,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { MutexOptionOhttpClientResponse dco_decode_RustOpaque_MutexOptionohttpClientResponse(dynamic raw); - @protected - ArcV2MaybeInputsOwned - dco_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - dynamic raw); - - @protected - ArcV2MaybeInputsSeen - dco_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - dynamic raw); - @protected PayjoinFfiReceiveV1UncheckedProposal dco_decode_RustOpaque_payjoin_ffireceivev1UncheckedProposal(dynamic raw); @@ -429,6 +402,11 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected ProvisionalProposal dco_decode_provisional_proposal(dynamic raw); + @protected + ((Url, Uint8List), ClientResponse) + dco_decode_record_record_url_list_prim_u_8_strict_client_response( + dynamic raw); + @protected (String, String) dco_decode_record_string_string(dynamic raw); @@ -436,7 +414,7 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { (int, OutPoint) dco_decode_record_u_64_out_point(dynamic raw); @protected - Request dco_decode_request(dynamic raw); + (Url, Uint8List) dco_decode_record_url_list_prim_u_8_strict(dynamic raw); @protected RequestBuilder dco_decode_request_builder(dynamic raw); @@ -450,9 +428,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected RequestContextV2 dco_decode_request_context_v_2(dynamic raw); - @protected - RequestResponse dco_decode_request_response(dynamic raw); - @protected TxOut dco_decode_tx_out(dynamic raw); @@ -502,16 +477,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected V2UncheckedProposal dco_decode_v_2_unchecked_proposal(dynamic raw); - @protected - ArcV2MaybeInputsOwned - sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - SseDeserializer deserializer); - - @protected - ArcV2MaybeInputsSeen - sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - SseDeserializer deserializer); - @protected Object sse_decode_DartOpaque(SseDeserializer deserializer); @@ -621,16 +586,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { sse_decode_RustOpaque_MutexOptionohttpClientResponse( SseDeserializer deserializer); - @protected - ArcV2MaybeInputsOwned - sse_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - SseDeserializer deserializer); - - @protected - ArcV2MaybeInputsSeen - sse_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - SseDeserializer deserializer); - @protected PayjoinFfiReceiveV1UncheckedProposal sse_decode_RustOpaque_payjoin_ffireceivev1UncheckedProposal( @@ -830,6 +785,11 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { ProvisionalProposal sse_decode_provisional_proposal( SseDeserializer deserializer); + @protected + ((Url, Uint8List), ClientResponse) + sse_decode_record_record_url_list_prim_u_8_strict_client_response( + SseDeserializer deserializer); + @protected (String, String) sse_decode_record_string_string( SseDeserializer deserializer); @@ -839,7 +799,8 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { SseDeserializer deserializer); @protected - Request sse_decode_request(SseDeserializer deserializer); + (Url, Uint8List) sse_decode_record_url_list_prim_u_8_strict( + SseDeserializer deserializer); @protected RequestBuilder sse_decode_request_builder(SseDeserializer deserializer); @@ -853,9 +814,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected RequestContextV2 sse_decode_request_context_v_2(SseDeserializer deserializer); - @protected - RequestResponse sse_decode_request_response(SseDeserializer deserializer); - @protected TxOut sse_decode_tx_out(SseDeserializer deserializer); @@ -1477,7 +1435,7 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected void cst_api_fill_to_wire_headers(Headers apiObj, wire_cst_headers wireObj) { - wireObj.field0 = cst_encode_Map_String_String(apiObj.field0); + wireObj.map = cst_encode_Map_String_String(apiObj.map); } @protected @@ -1643,6 +1601,17 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { apiObj.field0); } + @protected + void + cst_api_fill_to_wire_record_record_url_list_prim_u_8_strict_client_response( + ((Url, Uint8List), ClientResponse) apiObj, + wire_cst_record_record_url_list_prim_u_8_strict_client_response + wireObj) { + cst_api_fill_to_wire_record_url_list_prim_u_8_strict( + apiObj.$1, wireObj.field0); + cst_api_fill_to_wire_client_response(apiObj.$2, wireObj.field1); + } + @protected void cst_api_fill_to_wire_record_string_string( (String, String) apiObj, wire_cst_record_string_string wireObj) { @@ -1658,9 +1627,11 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { } @protected - void cst_api_fill_to_wire_request(Request apiObj, wire_cst_request wireObj) { - cst_api_fill_to_wire_url(apiObj.url, wireObj.url); - wireObj.body = cst_encode_list_prim_u_8_strict(apiObj.body); + void cst_api_fill_to_wire_record_url_list_prim_u_8_strict( + (Url, Uint8List) apiObj, + wire_cst_record_url_list_prim_u_8_strict wireObj) { + cst_api_fill_to_wire_url(apiObj.$1, wireObj.field0); + wireObj.field1 = cst_encode_list_prim_u_8_strict(apiObj.$2); } @protected @@ -1680,25 +1651,19 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected void cst_api_fill_to_wire_request_context_v_1( RequestContextV1 apiObj, wire_cst_request_context_v_1 wireObj) { - cst_api_fill_to_wire_request(apiObj.request, wireObj.request); + cst_api_fill_to_wire_record_url_list_prim_u_8_strict( + apiObj.request, wireObj.request); cst_api_fill_to_wire_context_v_1(apiObj.contextV1, wireObj.context_v1); } @protected void cst_api_fill_to_wire_request_context_v_2( RequestContextV2 apiObj, wire_cst_request_context_v_2 wireObj) { - cst_api_fill_to_wire_request(apiObj.request, wireObj.request); + cst_api_fill_to_wire_record_url_list_prim_u_8_strict( + apiObj.request, wireObj.request); cst_api_fill_to_wire_context_v_2(apiObj.contextV2, wireObj.context_v2); } - @protected - void cst_api_fill_to_wire_request_response( - RequestResponse apiObj, wire_cst_request_response wireObj) { - cst_api_fill_to_wire_request(apiObj.request, wireObj.request); - cst_api_fill_to_wire_client_response( - apiObj.clientResponse, wireObj.client_response); - } - @protected void cst_api_fill_to_wire_tx_out(TxOut apiObj, wire_cst_tx_out wireObj) { wireObj.value = cst_encode_u_64(apiObj.value); @@ -1781,14 +1746,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { apiObj.field0); } - @protected - int cst_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ArcV2MaybeInputsOwned raw); - - @protected - int cst_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ArcV2MaybeInputsSeen raw); - @protected PlatformPointer cst_encode_DartFn_Inputs_String_Output_String( FutureOr Function(String) raw); @@ -1882,14 +1839,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { int cst_encode_RustOpaque_MutexOptionohttpClientResponse( MutexOptionOhttpClientResponse raw); - @protected - int cst_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ArcV2MaybeInputsOwned raw); - - @protected - int cst_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ArcV2MaybeInputsSeen raw); - @protected int cst_encode_RustOpaque_payjoin_ffireceivev1UncheckedProposal( PayjoinFfiReceiveV1UncheckedProposal raw); @@ -1917,16 +1866,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected int cst_encode_usize(int raw); - @protected - void - sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ArcV2MaybeInputsOwned self, SseSerializer serializer); - - @protected - void - sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ArcV2MaybeInputsSeen self, SseSerializer serializer); - @protected void sse_encode_DartFn_Inputs_String_Output_String( FutureOr Function(String) self, SseSerializer serializer); @@ -2033,16 +1972,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { void sse_encode_RustOpaque_MutexOptionohttpClientResponse( MutexOptionOhttpClientResponse self, SseSerializer serializer); - @protected - void - sse_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ArcV2MaybeInputsOwned self, SseSerializer serializer); - - @protected - void - sse_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ArcV2MaybeInputsSeen self, SseSerializer serializer); - @protected void sse_encode_RustOpaque_payjoin_ffireceivev1UncheckedProposal( PayjoinFfiReceiveV1UncheckedProposal self, SseSerializer serializer); @@ -2249,6 +2178,10 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { void sse_encode_provisional_proposal( ProvisionalProposal self, SseSerializer serializer); + @protected + void sse_encode_record_record_url_list_prim_u_8_strict_client_response( + ((Url, Uint8List), ClientResponse) self, SseSerializer serializer); + @protected void sse_encode_record_string_string( (String, String) self, SseSerializer serializer); @@ -2258,7 +2191,8 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { (int, OutPoint) self, SseSerializer serializer); @protected - void sse_encode_request(Request self, SseSerializer serializer); + void sse_encode_record_url_list_prim_u_8_strict( + (Url, Uint8List) self, SseSerializer serializer); @protected void sse_encode_request_builder( @@ -2276,10 +2210,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { void sse_encode_request_context_v_2( RequestContextV2 self, SseSerializer serializer); - @protected - void sse_encode_request_response( - RequestResponse self, SseSerializer serializer); - @protected void sse_encode_tx_out(TxOut self, SseSerializer serializer); @@ -2381,47 +2311,47 @@ class PayjoinCoreWire implements BaseWire { late final _store_dart_post_cobject = _store_dart_post_cobjectPtr .asFunction(); - void wire_Enrolled_extract_req( + void wire_enrolled_extract_req( int port_, ffi.Pointer that, ) { - return _wire_Enrolled_extract_req( + return _wire_enrolled_extract_req( port_, that, ); } - late final _wire_Enrolled_extract_reqPtr = _lookup< + late final _wire_enrolled_extract_reqPtr = _lookup< ffi.NativeFunction< ffi.Void Function(ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_Enrolled_extract_req'); - late final _wire_Enrolled_extract_req = _wire_Enrolled_extract_reqPtr + 'frbgen_payjoin_flutter_wire_enrolled_extract_req'); + late final _wire_enrolled_extract_req = _wire_enrolled_extract_reqPtr .asFunction)>(); - void wire_Enrolled_fallback_target( + void wire_enrolled_fallback_target( int port_, ffi.Pointer that, ) { - return _wire_Enrolled_fallback_target( + return _wire_enrolled_fallback_target( port_, that, ); } - late final _wire_Enrolled_fallback_targetPtr = _lookup< + late final _wire_enrolled_fallback_targetPtr = _lookup< ffi.NativeFunction< ffi.Void Function(ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_Enrolled_fallback_target'); - late final _wire_Enrolled_fallback_target = _wire_Enrolled_fallback_targetPtr + 'frbgen_payjoin_flutter_wire_enrolled_fallback_target'); + late final _wire_enrolled_fallback_target = _wire_enrolled_fallback_targetPtr .asFunction)>(); - void wire_Enrolled_process_res( + void wire_enrolled_process_res( int port_, ffi.Pointer that, ffi.Pointer body, ffi.Pointer ctx, ) { - return _wire_Enrolled_process_res( + return _wire_enrolled_process_res( port_, that, body, @@ -2429,63 +2359,63 @@ class PayjoinCoreWire implements BaseWire { ); } - late final _wire_Enrolled_process_resPtr = _lookup< + late final _wire_enrolled_process_resPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_Enrolled_process_res'); - late final _wire_Enrolled_process_res = - _wire_Enrolled_process_resPtr.asFunction< + 'frbgen_payjoin_flutter_wire_enrolled_process_res'); + late final _wire_enrolled_process_res = + _wire_enrolled_process_resPtr.asFunction< void Function( int, ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); - void wire_Enrolled_subdirectory( + void wire_enrolled_subdirectory( int port_, ffi.Pointer that, ) { - return _wire_Enrolled_subdirectory( + return _wire_enrolled_subdirectory( port_, that, ); } - late final _wire_Enrolled_subdirectoryPtr = _lookup< + late final _wire_enrolled_subdirectoryPtr = _lookup< ffi.NativeFunction< ffi.Void Function(ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_Enrolled_subdirectory'); - late final _wire_Enrolled_subdirectory = _wire_Enrolled_subdirectoryPtr + 'frbgen_payjoin_flutter_wire_enrolled_subdirectory'); + late final _wire_enrolled_subdirectory = _wire_enrolled_subdirectoryPtr .asFunction)>(); - void wire_Enroller_extract_req( + void wire_enroller_extract_req( int port_, ffi.Pointer that, ) { - return _wire_Enroller_extract_req( + return _wire_enroller_extract_req( port_, that, ); } - late final _wire_Enroller_extract_reqPtr = _lookup< + late final _wire_enroller_extract_reqPtr = _lookup< ffi.NativeFunction< ffi.Void Function(ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_Enroller_extract_req'); - late final _wire_Enroller_extract_req = _wire_Enroller_extract_reqPtr + 'frbgen_payjoin_flutter_wire_enroller_extract_req'); + late final _wire_enroller_extract_req = _wire_enroller_extract_reqPtr .asFunction)>(); - void wire_Enroller_from_relay_config( + void wire_enroller_from_relay_config( int port_, ffi.Pointer relay_url, ffi.Pointer ohttp_config_base64, ffi.Pointer ohttp_proxy_url, ) { - return _wire_Enroller_from_relay_config( + return _wire_enroller_from_relay_config( port_, relay_url, ohttp_config_base64, @@ -2493,46 +2423,46 @@ class PayjoinCoreWire implements BaseWire { ); } - late final _wire_Enroller_from_relay_configPtr = _lookup< + late final _wire_enroller_from_relay_configPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_Enroller_from_relay_config'); - late final _wire_Enroller_from_relay_config = - _wire_Enroller_from_relay_configPtr.asFunction< + 'frbgen_payjoin_flutter_wire_enroller_from_relay_config'); + late final _wire_enroller_from_relay_config = + _wire_enroller_from_relay_configPtr.asFunction< void Function( int, ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); - void wire_Enroller_payjoin_subdir( + void wire_enroller_payjoin_subdir( int port_, ffi.Pointer that, ) { - return _wire_Enroller_payjoin_subdir( + return _wire_enroller_payjoin_subdir( port_, that, ); } - late final _wire_Enroller_payjoin_subdirPtr = _lookup< + late final _wire_enroller_payjoin_subdirPtr = _lookup< ffi.NativeFunction< ffi.Void Function(ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_Enroller_payjoin_subdir'); - late final _wire_Enroller_payjoin_subdir = _wire_Enroller_payjoin_subdirPtr + 'frbgen_payjoin_flutter_wire_enroller_payjoin_subdir'); + late final _wire_enroller_payjoin_subdir = _wire_enroller_payjoin_subdirPtr .asFunction)>(); - void wire_Enroller_process_res( + void wire_enroller_process_res( int port_, ffi.Pointer that, ffi.Pointer body, ffi.Pointer ctx, ) { - return _wire_Enroller_process_res( + return _wire_enroller_process_res( port_, that, body, @@ -2540,231 +2470,215 @@ class PayjoinCoreWire implements BaseWire { ); } - late final _wire_Enroller_process_resPtr = _lookup< + late final _wire_enroller_process_resPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_Enroller_process_res'); - late final _wire_Enroller_process_res = - _wire_Enroller_process_resPtr.asFunction< + 'frbgen_payjoin_flutter_wire_enroller_process_res'); + late final _wire_enroller_process_res = + _wire_enroller_process_resPtr.asFunction< void Function( int, ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); - void wire_Enroller_subdirectory( + void wire_enroller_subdirectory( int port_, ffi.Pointer that, ) { - return _wire_Enroller_subdirectory( + return _wire_enroller_subdirectory( port_, that, ); } - late final _wire_Enroller_subdirectoryPtr = _lookup< + late final _wire_enroller_subdirectoryPtr = _lookup< ffi.NativeFunction< ffi.Void Function(ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_Enroller_subdirectory'); - late final _wire_Enroller_subdirectory = _wire_Enroller_subdirectoryPtr + 'frbgen_payjoin_flutter_wire_enroller_subdirectory'); + late final _wire_enroller_subdirectory = _wire_enroller_subdirectoryPtr .asFunction)>(); - void wire_Headers_from_vec( - int port_, - ffi.Pointer body, - ) { - return _wire_Headers_from_vec( - port_, - body, - ); - } - - late final _wire_Headers_from_vecPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_Headers_from_vec'); - late final _wire_Headers_from_vec = _wire_Headers_from_vecPtr.asFunction< - void Function(int, ffi.Pointer)>(); - - void wire_MaybeInputsOwned_check_inputs_not_owned( + void wire_maybe_inputs_owned_check_inputs_not_owned( int port_, - ffi.Pointer that, + ffi.Pointer ptr, ffi.Pointer is_owned, ) { - return _wire_MaybeInputsOwned_check_inputs_not_owned( + return _wire_maybe_inputs_owned_check_inputs_not_owned( port_, - that, + ptr, is_owned, ); } - late final _wire_MaybeInputsOwned_check_inputs_not_ownedPtr = _lookup< + late final _wire_maybe_inputs_owned_check_inputs_not_ownedPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_MaybeInputsOwned_check_inputs_not_owned'); - late final _wire_MaybeInputsOwned_check_inputs_not_owned = - _wire_MaybeInputsOwned_check_inputs_not_ownedPtr.asFunction< + 'frbgen_payjoin_flutter_wire_maybe_inputs_owned_check_inputs_not_owned'); + late final _wire_maybe_inputs_owned_check_inputs_not_owned = + _wire_maybe_inputs_owned_check_inputs_not_ownedPtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer)>(); - void wire_MaybeInputsSeen_check_no_inputs_seen_before( + void wire_maybe_inputs_seen_check_no_inputs_seen_before( int port_, - ffi.Pointer that, + ffi.Pointer ptr, ffi.Pointer is_known, ) { - return _wire_MaybeInputsSeen_check_no_inputs_seen_before( + return _wire_maybe_inputs_seen_check_no_inputs_seen_before( port_, - that, + ptr, is_known, ); } - late final _wire_MaybeInputsSeen_check_no_inputs_seen_beforePtr = _lookup< + late final _wire_maybe_inputs_seen_check_no_inputs_seen_beforePtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_MaybeInputsSeen_check_no_inputs_seen_before'); - late final _wire_MaybeInputsSeen_check_no_inputs_seen_before = - _wire_MaybeInputsSeen_check_no_inputs_seen_beforePtr.asFunction< + 'frbgen_payjoin_flutter_wire_maybe_inputs_seen_check_no_inputs_seen_before'); + late final _wire_maybe_inputs_seen_check_no_inputs_seen_before = + _wire_maybe_inputs_seen_check_no_inputs_seen_beforePtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer)>(); - void wire_MaybeMixedInputScripts_check_no_mixed_input_scripts( + void wire_maybe_mixed_input_scripts_check_no_mixed_input_scripts( int port_, - ffi.Pointer that, + ffi.Pointer ptr, ) { - return _wire_MaybeMixedInputScripts_check_no_mixed_input_scripts( + return _wire_maybe_mixed_input_scripts_check_no_mixed_input_scripts( port_, - that, + ptr, ); } - late final _wire_MaybeMixedInputScripts_check_no_mixed_input_scriptsPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_MaybeMixedInputScripts_check_no_mixed_input_scripts'); - late final _wire_MaybeMixedInputScripts_check_no_mixed_input_scripts = - _wire_MaybeMixedInputScripts_check_no_mixed_input_scriptsPtr.asFunction< - void Function( - int, ffi.Pointer)>(); - - void wire_OutputsUnknown_identify_receiver_outputs( + late final _wire_maybe_mixed_input_scripts_check_no_mixed_input_scriptsPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Int64, + ffi.Pointer)>>( + 'frbgen_payjoin_flutter_wire_maybe_mixed_input_scripts_check_no_mixed_input_scripts'); + late final _wire_maybe_mixed_input_scripts_check_no_mixed_input_scripts = + _wire_maybe_mixed_input_scripts_check_no_mixed_input_scriptsPtr + .asFunction< + void Function( + int, ffi.Pointer)>(); + + void wire_outputs_unknown_identify_receiver_outputs( int port_, - ffi.Pointer that, + ffi.Pointer ptr, ffi.Pointer is_receiver_output, ) { - return _wire_OutputsUnknown_identify_receiver_outputs( + return _wire_outputs_unknown_identify_receiver_outputs( port_, - that, + ptr, is_receiver_output, ); } - late final _wire_OutputsUnknown_identify_receiver_outputsPtr = _lookup< + late final _wire_outputs_unknown_identify_receiver_outputsPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_OutputsUnknown_identify_receiver_outputs'); - late final _wire_OutputsUnknown_identify_receiver_outputs = - _wire_OutputsUnknown_identify_receiver_outputsPtr.asFunction< + 'frbgen_payjoin_flutter_wire_outputs_unknown_identify_receiver_outputs'); + late final _wire_outputs_unknown_identify_receiver_outputs = + _wire_outputs_unknown_identify_receiver_outputsPtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer)>(); - void wire_PayjoinProposal_is_output_substitution_disabled( + void wire_payjoin_proposal_is_output_substitution_disabled( int port_, ffi.Pointer that, ) { - return _wire_PayjoinProposal_is_output_substitution_disabled( + return _wire_payjoin_proposal_is_output_substitution_disabled( port_, that, ); } - late final _wire_PayjoinProposal_is_output_substitution_disabledPtr = _lookup< + late final _wire_payjoin_proposal_is_output_substitution_disabledPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_PayjoinProposal_is_output_substitution_disabled'); - late final _wire_PayjoinProposal_is_output_substitution_disabled = - _wire_PayjoinProposal_is_output_substitution_disabledPtr.asFunction< + 'frbgen_payjoin_flutter_wire_payjoin_proposal_is_output_substitution_disabled'); + late final _wire_payjoin_proposal_is_output_substitution_disabled = + _wire_payjoin_proposal_is_output_substitution_disabledPtr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_PayjoinProposal_owned_vouts( + void wire_payjoin_proposal_owned_vouts( int port_, ffi.Pointer that, ) { - return _wire_PayjoinProposal_owned_vouts( + return _wire_payjoin_proposal_owned_vouts( port_, that, ); } - late final _wire_PayjoinProposal_owned_voutsPtr = _lookup< + late final _wire_payjoin_proposal_owned_voutsPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_PayjoinProposal_owned_vouts'); - late final _wire_PayjoinProposal_owned_vouts = - _wire_PayjoinProposal_owned_voutsPtr.asFunction< + 'frbgen_payjoin_flutter_wire_payjoin_proposal_owned_vouts'); + late final _wire_payjoin_proposal_owned_vouts = + _wire_payjoin_proposal_owned_voutsPtr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_PayjoinProposal_psbt( + void wire_payjoin_proposal_psbt( int port_, ffi.Pointer that, ) { - return _wire_PayjoinProposal_psbt( + return _wire_payjoin_proposal_psbt( port_, that, ); } - late final _wire_PayjoinProposal_psbtPtr = _lookup< + late final _wire_payjoin_proposal_psbtPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_PayjoinProposal_psbt'); - late final _wire_PayjoinProposal_psbt = _wire_PayjoinProposal_psbtPtr + 'frbgen_payjoin_flutter_wire_payjoin_proposal_psbt'); + late final _wire_payjoin_proposal_psbt = _wire_payjoin_proposal_psbtPtr .asFunction)>(); - void wire_PayjoinProposal_utxos_to_be_locked( + void wire_payjoin_proposal_utxos_to_be_locked( int port_, ffi.Pointer that, ) { - return _wire_PayjoinProposal_utxos_to_be_locked( + return _wire_payjoin_proposal_utxos_to_be_locked( port_, that, ); } - late final _wire_PayjoinProposal_utxos_to_be_lockedPtr = _lookup< + late final _wire_payjoin_proposal_utxos_to_be_lockedPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_PayjoinProposal_utxos_to_be_locked'); - late final _wire_PayjoinProposal_utxos_to_be_locked = - _wire_PayjoinProposal_utxos_to_be_lockedPtr.asFunction< + 'frbgen_payjoin_flutter_wire_payjoin_proposal_utxos_to_be_locked'); + late final _wire_payjoin_proposal_utxos_to_be_locked = + _wire_payjoin_proposal_utxos_to_be_lockedPtr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_ProvisionalProposal_contribute_non_witness_input( + void wire_provisional_proposal_contribute_non_witness_input( int port_, ffi.Pointer that, ffi.Pointer tx, ffi.Pointer outpoint, ) { - return _wire_ProvisionalProposal_contribute_non_witness_input( + return _wire_provisional_proposal_contribute_non_witness_input( port_, that, tx, @@ -2772,29 +2686,29 @@ class PayjoinCoreWire implements BaseWire { ); } - late final _wire_ProvisionalProposal_contribute_non_witness_inputPtr = _lookup< + late final _wire_provisional_proposal_contribute_non_witness_inputPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_ProvisionalProposal_contribute_non_witness_input'); - late final _wire_ProvisionalProposal_contribute_non_witness_input = - _wire_ProvisionalProposal_contribute_non_witness_inputPtr.asFunction< + 'frbgen_payjoin_flutter_wire_provisional_proposal_contribute_non_witness_input'); + late final _wire_provisional_proposal_contribute_non_witness_input = + _wire_provisional_proposal_contribute_non_witness_inputPtr.asFunction< void Function( int, ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); - void wire_ProvisionalProposal_contribute_witness_input( + void wire_provisional_proposal_contribute_witness_input( int port_, ffi.Pointer that, ffi.Pointer txo, ffi.Pointer outpoint, ) { - return _wire_ProvisionalProposal_contribute_witness_input( + return _wire_provisional_proposal_contribute_witness_input( port_, that, txo, @@ -2802,166 +2716,166 @@ class PayjoinCoreWire implements BaseWire { ); } - late final _wire_ProvisionalProposal_contribute_witness_inputPtr = _lookup< + late final _wire_provisional_proposal_contribute_witness_inputPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_ProvisionalProposal_contribute_witness_input'); - late final _wire_ProvisionalProposal_contribute_witness_input = - _wire_ProvisionalProposal_contribute_witness_inputPtr.asFunction< + 'frbgen_payjoin_flutter_wire_provisional_proposal_contribute_witness_input'); + late final _wire_provisional_proposal_contribute_witness_input = + _wire_provisional_proposal_contribute_witness_inputPtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); - void wire_ProvisionalProposal_finalize_proposal( + void wire_provisional_proposal_finalize_proposal( int port_, - ffi.Pointer that, + ffi.Pointer ptr, ffi.Pointer process_psbt, ffi.Pointer min_feerate_sat_per_vb, ) { - return _wire_ProvisionalProposal_finalize_proposal( + return _wire_provisional_proposal_finalize_proposal( port_, - that, + ptr, process_psbt, min_feerate_sat_per_vb, ); } - late final _wire_ProvisionalProposal_finalize_proposalPtr = _lookup< + late final _wire_provisional_proposal_finalize_proposalPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_ProvisionalProposal_finalize_proposal'); - late final _wire_ProvisionalProposal_finalize_proposal = - _wire_ProvisionalProposal_finalize_proposalPtr.asFunction< + 'frbgen_payjoin_flutter_wire_provisional_proposal_finalize_proposal'); + late final _wire_provisional_proposal_finalize_proposal = + _wire_provisional_proposal_finalize_proposalPtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); - void wire_ProvisionalProposal_substitute_output_address( + void wire_provisional_proposal_substitute_output_address( int port_, ffi.Pointer that, ffi.Pointer address, ) { - return _wire_ProvisionalProposal_substitute_output_address( + return _wire_provisional_proposal_substitute_output_address( port_, that, address, ); } - late final _wire_ProvisionalProposal_substitute_output_addressPtr = _lookup< + late final _wire_provisional_proposal_substitute_output_addressPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_ProvisionalProposal_substitute_output_address'); - late final _wire_ProvisionalProposal_substitute_output_address = - _wire_ProvisionalProposal_substitute_output_addressPtr.asFunction< + 'frbgen_payjoin_flutter_wire_provisional_proposal_substitute_output_address'); + late final _wire_provisional_proposal_substitute_output_address = + _wire_provisional_proposal_substitute_output_addressPtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer)>(); - void wire_ProvisionalProposal_try_preserving_privacy( + void wire_provisional_proposal_try_preserving_privacy( int port_, ffi.Pointer that, ffi.Pointer candidate_inputs, ) { - return _wire_ProvisionalProposal_try_preserving_privacy( + return _wire_provisional_proposal_try_preserving_privacy( port_, that, candidate_inputs, ); } - late final _wire_ProvisionalProposal_try_preserving_privacyPtr = _lookup< + late final _wire_provisional_proposal_try_preserving_privacyPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_ProvisionalProposal_try_preserving_privacy'); - late final _wire_ProvisionalProposal_try_preserving_privacy = - _wire_ProvisionalProposal_try_preserving_privacyPtr.asFunction< + 'frbgen_payjoin_flutter_wire_provisional_proposal_try_preserving_privacy'); + late final _wire_provisional_proposal_try_preserving_privacy = + _wire_provisional_proposal_try_preserving_privacyPtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer)>(); - void wire_UncheckedProposal_assume_interactive_receiver( + void wire_unchecked_proposal_assume_interactive_receiver( int port_, - ffi.Pointer that, + ffi.Pointer ptr, ) { - return _wire_UncheckedProposal_assume_interactive_receiver( + return _wire_unchecked_proposal_assume_interactive_receiver( port_, - that, + ptr, ); } - late final _wire_UncheckedProposal_assume_interactive_receiverPtr = _lookup< + late final _wire_unchecked_proposal_assume_interactive_receiverPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_UncheckedProposal_assume_interactive_receiver'); - late final _wire_UncheckedProposal_assume_interactive_receiver = - _wire_UncheckedProposal_assume_interactive_receiverPtr.asFunction< + 'frbgen_payjoin_flutter_wire_unchecked_proposal_assume_interactive_receiver'); + late final _wire_unchecked_proposal_assume_interactive_receiver = + _wire_unchecked_proposal_assume_interactive_receiverPtr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_UncheckedProposal_check_broadcast_suitability( + void wire_unchecked_proposal_check_broadcast_suitability( int port_, - ffi.Pointer that, + ffi.Pointer ptr, ffi.Pointer min_fee_rate, ffi.Pointer can_broadcast, ) { - return _wire_UncheckedProposal_check_broadcast_suitability( + return _wire_unchecked_proposal_check_broadcast_suitability( port_, - that, + ptr, min_fee_rate, can_broadcast, ); } - late final _wire_UncheckedProposal_check_broadcast_suitabilityPtr = _lookup< + late final _wire_unchecked_proposal_check_broadcast_suitabilityPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_UncheckedProposal_check_broadcast_suitability'); - late final _wire_UncheckedProposal_check_broadcast_suitability = - _wire_UncheckedProposal_check_broadcast_suitabilityPtr.asFunction< + 'frbgen_payjoin_flutter_wire_unchecked_proposal_check_broadcast_suitability'); + late final _wire_unchecked_proposal_check_broadcast_suitability = + _wire_unchecked_proposal_check_broadcast_suitabilityPtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); - void wire_UncheckedProposal_extract_tx_to_schedule_broadcast( + void wire_unchecked_proposal_extract_tx_to_schedule_broadcast( int port_, ffi.Pointer that, ) { - return _wire_UncheckedProposal_extract_tx_to_schedule_broadcast( + return _wire_unchecked_proposal_extract_tx_to_schedule_broadcast( port_, that, ); } - late final _wire_UncheckedProposal_extract_tx_to_schedule_broadcastPtr = _lookup< + late final _wire_unchecked_proposal_extract_tx_to_schedule_broadcastPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_UncheckedProposal_extract_tx_to_schedule_broadcast'); - late final _wire_UncheckedProposal_extract_tx_to_schedule_broadcast = - _wire_UncheckedProposal_extract_tx_to_schedule_broadcastPtr.asFunction< + 'frbgen_payjoin_flutter_wire_unchecked_proposal_extract_tx_to_schedule_broadcast'); + late final _wire_unchecked_proposal_extract_tx_to_schedule_broadcast = + _wire_unchecked_proposal_extract_tx_to_schedule_broadcastPtr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_UncheckedProposal_from_request( + void wire_unchecked_proposal_from_request( int port_, ffi.Pointer body, ffi.Pointer query, ffi.Pointer headers, ) { - return _wire_UncheckedProposal_from_request( + return _wire_unchecked_proposal_from_request( port_, body, query, @@ -2969,122 +2883,123 @@ class PayjoinCoreWire implements BaseWire { ); } - late final _wire_UncheckedProposal_from_requestPtr = _lookup< + late final _wire_unchecked_proposal_from_requestPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_UncheckedProposal_from_request'); - late final _wire_UncheckedProposal_from_request = - _wire_UncheckedProposal_from_requestPtr.asFunction< + 'frbgen_payjoin_flutter_wire_unchecked_proposal_from_request'); + late final _wire_unchecked_proposal_from_request = + _wire_unchecked_proposal_from_requestPtr.asFunction< void Function( int, ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); - void wire_V2MaybeInputsOwned_check_inputs_not_owned( + void wire_v_2_maybe_inputs_owned_check_inputs_not_owned( int port_, ffi.Pointer that, ffi.Pointer is_owned, ) { - return _wire_V2MaybeInputsOwned_check_inputs_not_owned( + return _wire_v_2_maybe_inputs_owned_check_inputs_not_owned( port_, that, is_owned, ); } - late final _wire_V2MaybeInputsOwned_check_inputs_not_ownedPtr = _lookup< + late final _wire_v_2_maybe_inputs_owned_check_inputs_not_ownedPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2MaybeInputsOwned_check_inputs_not_owned'); - late final _wire_V2MaybeInputsOwned_check_inputs_not_owned = - _wire_V2MaybeInputsOwned_check_inputs_not_ownedPtr.asFunction< + 'frbgen_payjoin_flutter_wire_v_2_maybe_inputs_owned_check_inputs_not_owned'); + late final _wire_v_2_maybe_inputs_owned_check_inputs_not_owned = + _wire_v_2_maybe_inputs_owned_check_inputs_not_ownedPtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer)>(); - void wire_V2MaybeInputsSeen_check_no_inputs_seen_before( + void wire_v_2_maybe_inputs_seen_check_no_inputs_seen_before( int port_, ffi.Pointer that, ffi.Pointer is_known, ) { - return _wire_V2MaybeInputsSeen_check_no_inputs_seen_before( + return _wire_v_2_maybe_inputs_seen_check_no_inputs_seen_before( port_, that, is_known, ); } - late final _wire_V2MaybeInputsSeen_check_no_inputs_seen_beforePtr = _lookup< + late final _wire_v_2_maybe_inputs_seen_check_no_inputs_seen_beforePtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2MaybeInputsSeen_check_no_inputs_seen_before'); - late final _wire_V2MaybeInputsSeen_check_no_inputs_seen_before = - _wire_V2MaybeInputsSeen_check_no_inputs_seen_beforePtr.asFunction< + 'frbgen_payjoin_flutter_wire_v_2_maybe_inputs_seen_check_no_inputs_seen_before'); + late final _wire_v_2_maybe_inputs_seen_check_no_inputs_seen_before = + _wire_v_2_maybe_inputs_seen_check_no_inputs_seen_beforePtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer)>(); - void wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts( + void wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts( int port_, ffi.Pointer that, ) { - return _wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts( + return _wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts( port_, that, ); } - late final _wire_V2MaybeMixedInputScripts_check_no_mixed_input_scriptsPtr = + late final _wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scriptsPtr = _lookup< ffi.NativeFunction< ffi.Void Function(ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts'); - late final _wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts = - _wire_V2MaybeMixedInputScripts_check_no_mixed_input_scriptsPtr.asFunction< - void Function( - int, ffi.Pointer)>(); - - void wire_V2OutputsUnknown_identify_receiver_outputs( + 'frbgen_payjoin_flutter_wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts'); + late final _wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts = + _wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scriptsPtr + .asFunction< + void Function( + int, ffi.Pointer)>(); + + void wire_v_2_outputs_unknown_identify_receiver_outputs( int port_, ffi.Pointer that, ffi.Pointer is_receiver_output, ) { - return _wire_V2OutputsUnknown_identify_receiver_outputs( + return _wire_v_2_outputs_unknown_identify_receiver_outputs( port_, that, is_receiver_output, ); } - late final _wire_V2OutputsUnknown_identify_receiver_outputsPtr = _lookup< + late final _wire_v_2_outputs_unknown_identify_receiver_outputsPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2OutputsUnknown_identify_receiver_outputs'); - late final _wire_V2OutputsUnknown_identify_receiver_outputs = - _wire_V2OutputsUnknown_identify_receiver_outputsPtr.asFunction< + 'frbgen_payjoin_flutter_wire_v_2_outputs_unknown_identify_receiver_outputs'); + late final _wire_v_2_outputs_unknown_identify_receiver_outputs = + _wire_v_2_outputs_unknown_identify_receiver_outputsPtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer)>(); - void wire_V2PayjoinProposal_deserialize_res( + void wire_v_2_payjoin_proposal_deserialize_res( int port_, ffi.Pointer that, ffi.Pointer res, ffi.Pointer ohttp_context, ) { - return _wire_V2PayjoinProposal_deserialize_res( + return _wire_v_2_payjoin_proposal_deserialize_res( port_, that, res, @@ -3092,143 +3007,144 @@ class PayjoinCoreWire implements BaseWire { ); } - late final _wire_V2PayjoinProposal_deserialize_resPtr = _lookup< + late final _wire_v_2_payjoin_proposal_deserialize_resPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2PayjoinProposal_deserialize_res'); - late final _wire_V2PayjoinProposal_deserialize_res = - _wire_V2PayjoinProposal_deserialize_resPtr.asFunction< + 'frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_deserialize_res'); + late final _wire_v_2_payjoin_proposal_deserialize_res = + _wire_v_2_payjoin_proposal_deserialize_resPtr.asFunction< void Function( int, ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); - void wire_V2PayjoinProposal_extract_v1_req( + void wire_v_2_payjoin_proposal_extract_v1_req( int port_, ffi.Pointer that, ) { - return _wire_V2PayjoinProposal_extract_v1_req( + return _wire_v_2_payjoin_proposal_extract_v1_req( port_, that, ); } - late final _wire_V2PayjoinProposal_extract_v1_reqPtr = _lookup< + late final _wire_v_2_payjoin_proposal_extract_v1_reqPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2PayjoinProposal_extract_v1_req'); - late final _wire_V2PayjoinProposal_extract_v1_req = - _wire_V2PayjoinProposal_extract_v1_reqPtr.asFunction< + 'frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_extract_v1_req'); + late final _wire_v_2_payjoin_proposal_extract_v1_req = + _wire_v_2_payjoin_proposal_extract_v1_reqPtr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_V2PayjoinProposal_extract_v2_req( + void wire_v_2_payjoin_proposal_extract_v2_req( int port_, ffi.Pointer that, ) { - return _wire_V2PayjoinProposal_extract_v2_req( + return _wire_v_2_payjoin_proposal_extract_v2_req( port_, that, ); } - late final _wire_V2PayjoinProposal_extract_v2_reqPtr = _lookup< + late final _wire_v_2_payjoin_proposal_extract_v2_reqPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2PayjoinProposal_extract_v2_req'); - late final _wire_V2PayjoinProposal_extract_v2_req = - _wire_V2PayjoinProposal_extract_v2_reqPtr.asFunction< + 'frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_extract_v2_req'); + late final _wire_v_2_payjoin_proposal_extract_v2_req = + _wire_v_2_payjoin_proposal_extract_v2_reqPtr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_V2PayjoinProposal_is_output_substitution_disabled( + void wire_v_2_payjoin_proposal_is_output_substitution_disabled( int port_, ffi.Pointer that, ) { - return _wire_V2PayjoinProposal_is_output_substitution_disabled( + return _wire_v_2_payjoin_proposal_is_output_substitution_disabled( port_, that, ); } - late final _wire_V2PayjoinProposal_is_output_substitution_disabledPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2PayjoinProposal_is_output_substitution_disabled'); - late final _wire_V2PayjoinProposal_is_output_substitution_disabled = - _wire_V2PayjoinProposal_is_output_substitution_disabledPtr.asFunction< + late final _wire_v_2_payjoin_proposal_is_output_substitution_disabledPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int64, ffi.Pointer)>>( + 'frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_is_output_substitution_disabled'); + late final _wire_v_2_payjoin_proposal_is_output_substitution_disabled = + _wire_v_2_payjoin_proposal_is_output_substitution_disabledPtr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_V2PayjoinProposal_owned_vouts( + void wire_v_2_payjoin_proposal_owned_vouts( int port_, ffi.Pointer that, ) { - return _wire_V2PayjoinProposal_owned_vouts( + return _wire_v_2_payjoin_proposal_owned_vouts( port_, that, ); } - late final _wire_V2PayjoinProposal_owned_voutsPtr = _lookup< + late final _wire_v_2_payjoin_proposal_owned_voutsPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2PayjoinProposal_owned_vouts'); - late final _wire_V2PayjoinProposal_owned_vouts = - _wire_V2PayjoinProposal_owned_voutsPtr.asFunction< + 'frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_owned_vouts'); + late final _wire_v_2_payjoin_proposal_owned_vouts = + _wire_v_2_payjoin_proposal_owned_voutsPtr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_V2PayjoinProposal_psbt( + void wire_v_2_payjoin_proposal_psbt( int port_, ffi.Pointer that, ) { - return _wire_V2PayjoinProposal_psbt( + return _wire_v_2_payjoin_proposal_psbt( port_, that, ); } - late final _wire_V2PayjoinProposal_psbtPtr = _lookup< + late final _wire_v_2_payjoin_proposal_psbtPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2PayjoinProposal_psbt'); - late final _wire_V2PayjoinProposal_psbt = - _wire_V2PayjoinProposal_psbtPtr.asFunction< + 'frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_psbt'); + late final _wire_v_2_payjoin_proposal_psbt = + _wire_v_2_payjoin_proposal_psbtPtr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_V2PayjoinProposal_utxos_to_be_locked( + void wire_v_2_payjoin_proposal_utxos_to_be_locked( int port_, ffi.Pointer that, ) { - return _wire_V2PayjoinProposal_utxos_to_be_locked( + return _wire_v_2_payjoin_proposal_utxos_to_be_locked( port_, that, ); } - late final _wire_V2PayjoinProposal_utxos_to_be_lockedPtr = _lookup< + late final _wire_v_2_payjoin_proposal_utxos_to_be_lockedPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2PayjoinProposal_utxos_to_be_locked'); - late final _wire_V2PayjoinProposal_utxos_to_be_locked = - _wire_V2PayjoinProposal_utxos_to_be_lockedPtr.asFunction< + 'frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_utxos_to_be_locked'); + late final _wire_v_2_payjoin_proposal_utxos_to_be_locked = + _wire_v_2_payjoin_proposal_utxos_to_be_lockedPtr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_V2ProvisionalProposal_contribute_non_witness_input( + void wire_v_2_provisional_proposal_contribute_non_witness_input( int port_, ffi.Pointer that, ffi.Pointer tx, ffi.Pointer outpoint, ) { - return _wire_V2ProvisionalProposal_contribute_non_witness_input( + return _wire_v_2_provisional_proposal_contribute_non_witness_input( port_, that, tx, @@ -3236,29 +3152,30 @@ class PayjoinCoreWire implements BaseWire { ); } - late final _wire_V2ProvisionalProposal_contribute_non_witness_inputPtr = _lookup< - ffi.NativeFunction< - ffi.Void Function( - ffi.Int64, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2ProvisionalProposal_contribute_non_witness_input'); - late final _wire_V2ProvisionalProposal_contribute_non_witness_input = - _wire_V2ProvisionalProposal_contribute_non_witness_inputPtr.asFunction< + late final _wire_v_2_provisional_proposal_contribute_non_witness_inputPtr = + _lookup< + ffi.NativeFunction< + ffi.Void Function( + ffi.Int64, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>( + 'frbgen_payjoin_flutter_wire_v_2_provisional_proposal_contribute_non_witness_input'); + late final _wire_v_2_provisional_proposal_contribute_non_witness_input = + _wire_v_2_provisional_proposal_contribute_non_witness_inputPtr.asFunction< void Function( int, ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); - void wire_V2ProvisionalProposal_contribute_witness_input( + void wire_v_2_provisional_proposal_contribute_witness_input( int port_, ffi.Pointer that, ffi.Pointer txo, ffi.Pointer outpoint, ) { - return _wire_V2ProvisionalProposal_contribute_witness_input( + return _wire_v_2_provisional_proposal_contribute_witness_input( port_, that, txo, @@ -3266,26 +3183,26 @@ class PayjoinCoreWire implements BaseWire { ); } - late final _wire_V2ProvisionalProposal_contribute_witness_inputPtr = _lookup< + late final _wire_v_2_provisional_proposal_contribute_witness_inputPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2ProvisionalProposal_contribute_witness_input'); - late final _wire_V2ProvisionalProposal_contribute_witness_input = - _wire_V2ProvisionalProposal_contribute_witness_inputPtr.asFunction< + 'frbgen_payjoin_flutter_wire_v_2_provisional_proposal_contribute_witness_input'); + late final _wire_v_2_provisional_proposal_contribute_witness_input = + _wire_v_2_provisional_proposal_contribute_witness_inputPtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); - void wire_V2ProvisionalProposal_finalize_proposal( + void wire_v_2_provisional_proposal_finalize_proposal( int port_, ffi.Pointer that, ffi.Pointer process_psbt, ffi.Pointer min_feerate_sat_per_vb, ) { - return _wire_V2ProvisionalProposal_finalize_proposal( + return _wire_v_2_provisional_proposal_finalize_proposal( port_, that, process_psbt, @@ -3293,93 +3210,93 @@ class PayjoinCoreWire implements BaseWire { ); } - late final _wire_V2ProvisionalProposal_finalize_proposalPtr = _lookup< + late final _wire_v_2_provisional_proposal_finalize_proposalPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2ProvisionalProposal_finalize_proposal'); - late final _wire_V2ProvisionalProposal_finalize_proposal = - _wire_V2ProvisionalProposal_finalize_proposalPtr.asFunction< + 'frbgen_payjoin_flutter_wire_v_2_provisional_proposal_finalize_proposal'); + late final _wire_v_2_provisional_proposal_finalize_proposal = + _wire_v_2_provisional_proposal_finalize_proposalPtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); - void wire_V2ProvisionalProposal_substitute_output_address( + void wire_v_2_provisional_proposal_substitute_output_address( int port_, ffi.Pointer that, ffi.Pointer address, ) { - return _wire_V2ProvisionalProposal_substitute_output_address( + return _wire_v_2_provisional_proposal_substitute_output_address( port_, that, address, ); } - late final _wire_V2ProvisionalProposal_substitute_output_addressPtr = _lookup< + late final _wire_v_2_provisional_proposal_substitute_output_addressPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2ProvisionalProposal_substitute_output_address'); - late final _wire_V2ProvisionalProposal_substitute_output_address = - _wire_V2ProvisionalProposal_substitute_output_addressPtr.asFunction< + 'frbgen_payjoin_flutter_wire_v_2_provisional_proposal_substitute_output_address'); + late final _wire_v_2_provisional_proposal_substitute_output_address = + _wire_v_2_provisional_proposal_substitute_output_addressPtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer)>(); - void wire_V2ProvisionalProposal_try_preserving_privacy( + void wire_v_2_provisional_proposal_try_preserving_privacy( int port_, ffi.Pointer that, ffi.Pointer candidate_inputs, ) { - return _wire_V2ProvisionalProposal_try_preserving_privacy( + return _wire_v_2_provisional_proposal_try_preserving_privacy( port_, that, candidate_inputs, ); } - late final _wire_V2ProvisionalProposal_try_preserving_privacyPtr = _lookup< + late final _wire_v_2_provisional_proposal_try_preserving_privacyPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2ProvisionalProposal_try_preserving_privacy'); - late final _wire_V2ProvisionalProposal_try_preserving_privacy = - _wire_V2ProvisionalProposal_try_preserving_privacyPtr.asFunction< + 'frbgen_payjoin_flutter_wire_v_2_provisional_proposal_try_preserving_privacy'); + late final _wire_v_2_provisional_proposal_try_preserving_privacy = + _wire_v_2_provisional_proposal_try_preserving_privacyPtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer)>(); - void wire_V2UncheckedProposal_assume_interactive_receiver( + void wire_v_2_unchecked_proposal_assume_interactive_receiver( int port_, ffi.Pointer that, ) { - return _wire_V2UncheckedProposal_assume_interactive_receiver( + return _wire_v_2_unchecked_proposal_assume_interactive_receiver( port_, that, ); } - late final _wire_V2UncheckedProposal_assume_interactive_receiverPtr = _lookup< + late final _wire_v_2_unchecked_proposal_assume_interactive_receiverPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2UncheckedProposal_assume_interactive_receiver'); - late final _wire_V2UncheckedProposal_assume_interactive_receiver = - _wire_V2UncheckedProposal_assume_interactive_receiverPtr.asFunction< + 'frbgen_payjoin_flutter_wire_v_2_unchecked_proposal_assume_interactive_receiver'); + late final _wire_v_2_unchecked_proposal_assume_interactive_receiver = + _wire_v_2_unchecked_proposal_assume_interactive_receiverPtr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_V2UncheckedProposal_check_broadcast_suitability( + void wire_v_2_unchecked_proposal_check_broadcast_suitability( int port_, ffi.Pointer that, ffi.Pointer min_fee_rate, ffi.Pointer can_broadcast, ) { - return _wire_V2UncheckedProposal_check_broadcast_suitability( + return _wire_v_2_unchecked_proposal_check_broadcast_suitability( port_, that, min_fee_rate, @@ -3387,145 +3304,147 @@ class PayjoinCoreWire implements BaseWire { ); } - late final _wire_V2UncheckedProposal_check_broadcast_suitabilityPtr = _lookup< + late final _wire_v_2_unchecked_proposal_check_broadcast_suitabilityPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2UncheckedProposal_check_broadcast_suitability'); - late final _wire_V2UncheckedProposal_check_broadcast_suitability = - _wire_V2UncheckedProposal_check_broadcast_suitabilityPtr.asFunction< + 'frbgen_payjoin_flutter_wire_v_2_unchecked_proposal_check_broadcast_suitability'); + late final _wire_v_2_unchecked_proposal_check_broadcast_suitability = + _wire_v_2_unchecked_proposal_check_broadcast_suitabilityPtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); - void wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast( + void wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcast( int port_, ffi.Pointer that, ) { - return _wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast( + return _wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcast( port_, that, ); } - late final _wire_V2UncheckedProposal_extract_tx_to_schedule_broadcastPtr = + late final _wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcastPtr = _lookup< ffi.NativeFunction< ffi.Void Function(ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast'); - late final _wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast = - _wire_V2UncheckedProposal_extract_tx_to_schedule_broadcastPtr.asFunction< - void Function(int, ffi.Pointer)>(); - - void wire_ContextV1_process_response( + 'frbgen_payjoin_flutter_wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcast'); + late final _wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcast = + _wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcastPtr + .asFunction< + void Function( + int, ffi.Pointer)>(); + + void wire_context_v_1_process_response( int port_, ffi.Pointer that, ffi.Pointer response, ) { - return _wire_ContextV1_process_response( + return _wire_context_v_1_process_response( port_, that, response, ); } - late final _wire_ContextV1_process_responsePtr = _lookup< + late final _wire_context_v_1_process_responsePtr = _lookup< ffi.NativeFunction< ffi.Void Function(ffi.Int64, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_ContextV1_process_response'); - late final _wire_ContextV1_process_response = - _wire_ContextV1_process_responsePtr.asFunction< + 'frbgen_payjoin_flutter_wire_context_v_1_process_response'); + late final _wire_context_v_1_process_response = + _wire_context_v_1_process_responsePtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer)>(); - void wire_ContextV2_process_response( + void wire_context_v_2_process_response( int port_, ffi.Pointer that, ffi.Pointer response, ) { - return _wire_ContextV2_process_response( + return _wire_context_v_2_process_response( port_, that, response, ); } - late final _wire_ContextV2_process_responsePtr = _lookup< + late final _wire_context_v_2_process_responsePtr = _lookup< ffi.NativeFunction< ffi.Void Function(ffi.Int64, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_ContextV2_process_response'); - late final _wire_ContextV2_process_response = - _wire_ContextV2_process_responsePtr.asFunction< + 'frbgen_payjoin_flutter_wire_context_v_2_process_response'); + late final _wire_context_v_2_process_response = + _wire_context_v_2_process_responsePtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer)>(); - void wire_RequestBuilder_always_disable_output_substitution( + void wire_request_builder_always_disable_output_substitution( int port_, ffi.Pointer that, bool disable, ) { - return _wire_RequestBuilder_always_disable_output_substitution( + return _wire_request_builder_always_disable_output_substitution( port_, that, disable, ); } - late final _wire_RequestBuilder_always_disable_output_substitutionPtr = _lookup< + late final _wire_request_builder_always_disable_output_substitutionPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Bool)>>( - 'frbgen_payjoin_flutter_wire_RequestBuilder_always_disable_output_substitution'); - late final _wire_RequestBuilder_always_disable_output_substitution = - _wire_RequestBuilder_always_disable_output_substitutionPtr.asFunction< + 'frbgen_payjoin_flutter_wire_request_builder_always_disable_output_substitution'); + late final _wire_request_builder_always_disable_output_substitution = + _wire_request_builder_always_disable_output_substitutionPtr.asFunction< void Function(int, ffi.Pointer, bool)>(); - void wire_RequestBuilder_build_non_incentivizing( + void wire_request_builder_build_non_incentivizing( int port_, ffi.Pointer that, ) { - return _wire_RequestBuilder_build_non_incentivizing( + return _wire_request_builder_build_non_incentivizing( port_, that, ); } - late final _wire_RequestBuilder_build_non_incentivizingPtr = _lookup< + late final _wire_request_builder_build_non_incentivizingPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_RequestBuilder_build_non_incentivizing'); - late final _wire_RequestBuilder_build_non_incentivizing = - _wire_RequestBuilder_build_non_incentivizingPtr.asFunction< + 'frbgen_payjoin_flutter_wire_request_builder_build_non_incentivizing'); + late final _wire_request_builder_build_non_incentivizing = + _wire_request_builder_build_non_incentivizingPtr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_RequestBuilder_build_recommended( + void wire_request_builder_build_recommended( int port_, ffi.Pointer that, int min_fee_rate, ) { - return _wire_RequestBuilder_build_recommended( + return _wire_request_builder_build_recommended( port_, that, min_fee_rate, ); } - late final _wire_RequestBuilder_build_recommendedPtr = _lookup< + late final _wire_request_builder_build_recommendedPtr = _lookup< ffi.NativeFunction< ffi.Void Function(ffi.Int64, ffi.Pointer, ffi.Uint64)>>( - 'frbgen_payjoin_flutter_wire_RequestBuilder_build_recommended'); - late final _wire_RequestBuilder_build_recommended = - _wire_RequestBuilder_build_recommendedPtr.asFunction< + 'frbgen_payjoin_flutter_wire_request_builder_build_recommended'); + late final _wire_request_builder_build_recommended = + _wire_request_builder_build_recommendedPtr.asFunction< void Function(int, ffi.Pointer, int)>(); - void wire_RequestBuilder_build_with_additional_fee( + void wire_request_builder_build_with_additional_fee( int port_, ffi.Pointer that, int max_fee_contribution, @@ -3533,7 +3452,7 @@ class PayjoinCoreWire implements BaseWire { int min_fee_rate, bool clamp_fee_contribution, ) { - return _wire_RequestBuilder_build_with_additional_fee( + return _wire_request_builder_build_with_additional_fee( port_, that, max_fee_contribution, @@ -3543,7 +3462,7 @@ class PayjoinCoreWire implements BaseWire { ); } - late final _wire_RequestBuilder_build_with_additional_feePtr = _lookup< + late final _wire_request_builder_build_with_additional_feePtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, @@ -3552,178 +3471,164 @@ class PayjoinCoreWire implements BaseWire { ffi.Pointer, ffi.Uint64, ffi.Bool)>>( - 'frbgen_payjoin_flutter_wire_RequestBuilder_build_with_additional_fee'); - late final _wire_RequestBuilder_build_with_additional_fee = - _wire_RequestBuilder_build_with_additional_feePtr.asFunction< + 'frbgen_payjoin_flutter_wire_request_builder_build_with_additional_fee'); + late final _wire_request_builder_build_with_additional_fee = + _wire_request_builder_build_with_additional_feePtr.asFunction< void Function(int, ffi.Pointer, int, ffi.Pointer, int, bool)>(); - void wire_RequestBuilder_from_psbt_and_uri( + void wire_request_builder_from_psbt_and_uri( int port_, ffi.Pointer psbt_base64, ffi.Pointer uri, ) { - return _wire_RequestBuilder_from_psbt_and_uri( + return _wire_request_builder_from_psbt_and_uri( port_, psbt_base64, uri, ); } - late final _wire_RequestBuilder_from_psbt_and_uriPtr = _lookup< + late final _wire_request_builder_from_psbt_and_uriPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_RequestBuilder_from_psbt_and_uri'); - late final _wire_RequestBuilder_from_psbt_and_uri = - _wire_RequestBuilder_from_psbt_and_uriPtr.asFunction< + 'frbgen_payjoin_flutter_wire_request_builder_from_psbt_and_uri'); + late final _wire_request_builder_from_psbt_and_uri = + _wire_request_builder_from_psbt_and_uriPtr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer)>(); - void wire_RequestBuilder_new( - int port_, - ) { - return _wire_RequestBuilder_new( - port_, - ); - } - - late final _wire_RequestBuilder_newPtr = - _lookup>( - 'frbgen_payjoin_flutter_wire_RequestBuilder_new'); - late final _wire_RequestBuilder_new = - _wire_RequestBuilder_newPtr.asFunction(); - - void wire_RequestContext_extract_v1( + void wire_request_context_extract_v1( int port_, ffi.Pointer that, ) { - return _wire_RequestContext_extract_v1( + return _wire_request_context_extract_v1( port_, that, ); } - late final _wire_RequestContext_extract_v1Ptr = _lookup< + late final _wire_request_context_extract_v1Ptr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_RequestContext_extract_v1'); - late final _wire_RequestContext_extract_v1 = - _wire_RequestContext_extract_v1Ptr.asFunction< + 'frbgen_payjoin_flutter_wire_request_context_extract_v1'); + late final _wire_request_context_extract_v1 = + _wire_request_context_extract_v1Ptr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_RequestContext_extract_v2( + void wire_request_context_extract_v2( int port_, ffi.Pointer that, ffi.Pointer ohttp_proxy_url, ) { - return _wire_RequestContext_extract_v2( + return _wire_request_context_extract_v2( port_, that, ohttp_proxy_url, ); } - late final _wire_RequestContext_extract_v2Ptr = _lookup< + late final _wire_request_context_extract_v2Ptr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_RequestContext_extract_v2'); - late final _wire_RequestContext_extract_v2 = - _wire_RequestContext_extract_v2Ptr.asFunction< + 'frbgen_payjoin_flutter_wire_request_context_extract_v2'); + late final _wire_request_context_extract_v2 = + _wire_request_context_extract_v2Ptr.asFunction< void Function(int, ffi.Pointer, ffi.Pointer)>(); - void wire_Uri_address( + void wire_uri_address( int port_, ffi.Pointer that, ) { - return _wire_Uri_address( + return _wire_uri_address( port_, that, ); } - late final _wire_Uri_addressPtr = _lookup< + late final _wire_uri_addressPtr = _lookup< ffi.NativeFunction< ffi.Void Function(ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_Uri_address'); - late final _wire_Uri_address = _wire_Uri_addressPtr + 'frbgen_payjoin_flutter_wire_uri_address'); + late final _wire_uri_address = _wire_uri_addressPtr .asFunction)>(); - void wire_Uri_amount( + void wire_uri_amount( int port_, ffi.Pointer that, ) { - return _wire_Uri_amount( + return _wire_uri_amount( port_, that, ); } - late final _wire_Uri_amountPtr = _lookup< + late final _wire_uri_amountPtr = _lookup< ffi.NativeFunction< ffi.Void Function(ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_Uri_amount'); - late final _wire_Uri_amount = _wire_Uri_amountPtr + 'frbgen_payjoin_flutter_wire_uri_amount'); + late final _wire_uri_amount = _wire_uri_amountPtr .asFunction)>(); - void wire_Uri_from_str( + void wire_uri_from_str( int port_, ffi.Pointer uri, ) { - return _wire_Uri_from_str( + return _wire_uri_from_str( port_, uri, ); } - late final _wire_Uri_from_strPtr = _lookup< + late final _wire_uri_from_strPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_Uri_from_str'); - late final _wire_Uri_from_str = _wire_Uri_from_strPtr.asFunction< + 'frbgen_payjoin_flutter_wire_uri_from_str'); + late final _wire_uri_from_str = _wire_uri_from_strPtr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_Url_from_str( + void wire_url_from_str( int port_, ffi.Pointer url, ) { - return _wire_Url_from_str( + return _wire_url_from_str( port_, url, ); } - late final _wire_Url_from_strPtr = _lookup< + late final _wire_url_from_strPtr = _lookup< ffi.NativeFunction< ffi.Void Function( ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_Url_from_str'); - late final _wire_Url_from_str = _wire_Url_from_strPtr.asFunction< + 'frbgen_payjoin_flutter_wire_url_from_str'); + late final _wire_url_from_str = _wire_url_from_strPtr.asFunction< void Function(int, ffi.Pointer)>(); - void wire_Url_query( + void wire_url_query( int port_, ffi.Pointer that, ) { - return _wire_Url_query( + return _wire_url_query( port_, that, ); } - late final _wire_Url_queryPtr = _lookup< + late final _wire_url_queryPtr = _lookup< ffi.NativeFunction< ffi.Void Function(ffi.Int64, ffi.Pointer)>>( - 'frbgen_payjoin_flutter_wire_Url_query'); - late final _wire_Url_query = _wire_Url_queryPtr + 'frbgen_payjoin_flutter_wire_url_query'); + late final _wire_url_query = _wire_url_queryPtr .asFunction)>(); void @@ -4358,70 +4263,6 @@ class PayjoinCoreWire implements BaseWire { _rust_arc_decrement_strong_count_RustOpaque_MutexOptionohttpClientResponsePtr .asFunction)>(); - void - rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwnedPtr = - _lookup)>>( - 'frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned = - _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwnedPtr - .asFunction)>(); - - void - rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwnedPtr = - _lookup)>>( - 'frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned = - _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwnedPtr - .asFunction)>(); - - void - rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ffi.Pointer ptr, - ) { - return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ptr, - ); - } - - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeenPtr = - _lookup)>>( - 'frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen'); - late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen = - _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeenPtr - .asFunction)>(); - - void - rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ffi.Pointer ptr, - ) { - return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ptr, - ); - } - - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeenPtr = - _lookup)>>( - 'frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen'); - late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen = - _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeenPtr - .asFunction)>(); - void rust_arc_increment_strong_count_RustOpaque_payjoin_ffireceivev1UncheckedProposal( ffi.Pointer ptr, @@ -5067,7 +4908,7 @@ final class wire_cst_list_record_string_string extends ffi.Struct { } final class wire_cst_headers extends ffi.Struct { - external ffi.Pointer field0; + external ffi.Pointer map; } final class wire_cst_v_2_maybe_inputs_owned extends ffi.Struct { @@ -5260,26 +5101,27 @@ final class wire_cst_payjoin_error extends ffi.Struct { external PayjoinErrorKind kind; } -final class wire_cst_request extends ffi.Struct { - external wire_cst_url url; +final class wire_cst_record_url_list_prim_u_8_strict extends ffi.Struct { + external wire_cst_url field0; - external ffi.Pointer body; + external ffi.Pointer field1; +} + +final class wire_cst_record_record_url_list_prim_u_8_strict_client_response + extends ffi.Struct { + external wire_cst_record_url_list_prim_u_8_strict field0; + + external wire_cst_client_response field1; } final class wire_cst_request_context_v_1 extends ffi.Struct { - external wire_cst_request request; + external wire_cst_record_url_list_prim_u_8_strict request; external wire_cst_context_v_1 context_v1; } final class wire_cst_request_context_v_2 extends ffi.Struct { - external wire_cst_request request; + external wire_cst_record_url_list_prim_u_8_strict request; external wire_cst_context_v_2 context_v2; } - -final class wire_cst_request_response extends ffi.Struct { - external wire_cst_request request; - - external wire_cst_client_response client_response; -} diff --git a/lib/src/generated/frb_generated.web.dart b/lib/src/generated/frb_generated.web.dart index c7571b6..ca9ea5a 100644 --- a/lib/src/generated/frb_generated.web.dart +++ b/lib/src/generated/frb_generated.web.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field @@ -11,6 +11,7 @@ import 'dart:convert'; import 'frb_generated.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated_web.dart'; import 'utils/error.dart'; +import 'utils/types.dart'; abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { PayjoinCoreApiImplPlatform({ @@ -100,14 +101,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { get rust_arc_decrement_strong_count_MutexOptionOhttpClientResponsePtr => wire .rust_arc_decrement_strong_count_RustOpaque_MutexOptionohttpClientResponse; - CrossPlatformFinalizerArg - get rust_arc_decrement_strong_count_ArcV2MaybeInputsOwnedPtr => wire - .rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned; - - CrossPlatformFinalizerArg - get rust_arc_decrement_strong_count_ArcV2MaybeInputsSeenPtr => wire - .rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen; - CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_PayjoinFfiReceiveV1UncheckedProposalPtr => wire.rust_arc_decrement_strong_count_RustOpaque_payjoin_ffireceivev1UncheckedProposal; @@ -120,16 +113,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { get rust_arc_decrement_strong_count_PayjoinFfiReceiveV2V2UncheckedProposalPtr => wire.rust_arc_decrement_strong_count_RustOpaque_payjoin_ffireceivev2V2UncheckedProposal; - @protected - ArcV2MaybeInputsOwned - dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - dynamic raw); - - @protected - ArcV2MaybeInputsSeen - dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - dynamic raw); - @protected FutureOr Function(String) dco_decode_DartFn_Inputs_String_Output_String(dynamic raw); @@ -238,16 +221,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { MutexOptionOhttpClientResponse dco_decode_RustOpaque_MutexOptionohttpClientResponse(dynamic raw); - @protected - ArcV2MaybeInputsOwned - dco_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - dynamic raw); - - @protected - ArcV2MaybeInputsSeen - dco_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - dynamic raw); - @protected PayjoinFfiReceiveV1UncheckedProposal dco_decode_RustOpaque_payjoin_ffireceivev1UncheckedProposal(dynamic raw); @@ -428,6 +401,11 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected ProvisionalProposal dco_decode_provisional_proposal(dynamic raw); + @protected + ((Url, Uint8List), ClientResponse) + dco_decode_record_record_url_list_prim_u_8_strict_client_response( + dynamic raw); + @protected (String, String) dco_decode_record_string_string(dynamic raw); @@ -435,7 +413,7 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { (int, OutPoint) dco_decode_record_u_64_out_point(dynamic raw); @protected - Request dco_decode_request(dynamic raw); + (Url, Uint8List) dco_decode_record_url_list_prim_u_8_strict(dynamic raw); @protected RequestBuilder dco_decode_request_builder(dynamic raw); @@ -449,9 +427,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected RequestContextV2 dco_decode_request_context_v_2(dynamic raw); - @protected - RequestResponse dco_decode_request_response(dynamic raw); - @protected TxOut dco_decode_tx_out(dynamic raw); @@ -501,16 +476,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected V2UncheckedProposal dco_decode_v_2_unchecked_proposal(dynamic raw); - @protected - ArcV2MaybeInputsOwned - sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - SseDeserializer deserializer); - - @protected - ArcV2MaybeInputsSeen - sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - SseDeserializer deserializer); - @protected Object sse_decode_DartOpaque(SseDeserializer deserializer); @@ -620,16 +585,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { sse_decode_RustOpaque_MutexOptionohttpClientResponse( SseDeserializer deserializer); - @protected - ArcV2MaybeInputsOwned - sse_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - SseDeserializer deserializer); - - @protected - ArcV2MaybeInputsSeen - sse_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - SseDeserializer deserializer); - @protected PayjoinFfiReceiveV1UncheckedProposal sse_decode_RustOpaque_payjoin_ffireceivev1UncheckedProposal( @@ -829,6 +784,11 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { ProvisionalProposal sse_decode_provisional_proposal( SseDeserializer deserializer); + @protected + ((Url, Uint8List), ClientResponse) + sse_decode_record_record_url_list_prim_u_8_strict_client_response( + SseDeserializer deserializer); + @protected (String, String) sse_decode_record_string_string( SseDeserializer deserializer); @@ -838,7 +798,8 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { SseDeserializer deserializer); @protected - Request sse_decode_request(SseDeserializer deserializer); + (Url, Uint8List) sse_decode_record_url_list_prim_u_8_strict( + SseDeserializer deserializer); @protected RequestBuilder sse_decode_request_builder(SseDeserializer deserializer); @@ -852,9 +813,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected RequestContextV2 sse_decode_request_context_v_2(SseDeserializer deserializer); - @protected - RequestResponse sse_decode_request_response(SseDeserializer deserializer); - @protected TxOut sse_decode_tx_out(SseDeserializer deserializer); @@ -1144,7 +1102,7 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected List cst_encode_headers(Headers raw) { // Codec=Cst (C-struct based), see doc to use other codecs - return [cst_encode_Map_String_String(raw.field0)]; + return [cst_encode_Map_String_String(raw.map)]; } @protected @@ -1327,6 +1285,17 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { ]; } + @protected + List + cst_encode_record_record_url_list_prim_u_8_strict_client_response( + ((Url, Uint8List), ClientResponse) raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return [ + cst_encode_record_url_list_prim_u_8_strict(raw.$1), + cst_encode_client_response(raw.$2) + ]; + } + @protected List cst_encode_record_string_string((String, String) raw) { // Codec=Cst (C-struct based), see doc to use other codecs @@ -1340,9 +1309,10 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { } @protected - List cst_encode_request(Request raw) { + List cst_encode_record_url_list_prim_u_8_strict( + (Url, Uint8List) raw) { // Codec=Cst (C-struct based), see doc to use other codecs - return [cst_encode_url(raw.url), cst_encode_list_prim_u_8_strict(raw.body)]; + return [cst_encode_url(raw.$1), cst_encode_list_prim_u_8_strict(raw.$2)]; } @protected @@ -1365,7 +1335,7 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { List cst_encode_request_context_v_1(RequestContextV1 raw) { // Codec=Cst (C-struct based), see doc to use other codecs return [ - cst_encode_request(raw.request), + cst_encode_record_url_list_prim_u_8_strict(raw.request), cst_encode_context_v_1(raw.contextV1) ]; } @@ -1374,20 +1344,11 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { List cst_encode_request_context_v_2(RequestContextV2 raw) { // Codec=Cst (C-struct based), see doc to use other codecs return [ - cst_encode_request(raw.request), + cst_encode_record_url_list_prim_u_8_strict(raw.request), cst_encode_context_v_2(raw.contextV2) ]; } - @protected - List cst_encode_request_response(RequestResponse raw) { - // Codec=Cst (C-struct based), see doc to use other codecs - return [ - cst_encode_request(raw.request), - cst_encode_client_response(raw.clientResponse) - ]; - } - @protected List cst_encode_tx_out(TxOut raw) { // Codec=Cst (C-struct based), see doc to use other codecs @@ -1483,14 +1444,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { ]; } - @protected - int cst_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ArcV2MaybeInputsOwned raw); - - @protected - int cst_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ArcV2MaybeInputsSeen raw); - @protected PlatformPointer cst_encode_DartFn_Inputs_String_Output_String( FutureOr Function(String) raw); @@ -1584,14 +1537,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { int cst_encode_RustOpaque_MutexOptionohttpClientResponse( MutexOptionOhttpClientResponse raw); - @protected - int cst_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ArcV2MaybeInputsOwned raw); - - @protected - int cst_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ArcV2MaybeInputsSeen raw); - @protected int cst_encode_RustOpaque_payjoin_ffireceivev1UncheckedProposal( PayjoinFfiReceiveV1UncheckedProposal raw); @@ -1619,16 +1564,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected int cst_encode_usize(int raw); - @protected - void - sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ArcV2MaybeInputsOwned self, SseSerializer serializer); - - @protected - void - sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ArcV2MaybeInputsSeen self, SseSerializer serializer); - @protected void sse_encode_DartFn_Inputs_String_Output_String( FutureOr Function(String) self, SseSerializer serializer); @@ -1735,16 +1670,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { void sse_encode_RustOpaque_MutexOptionohttpClientResponse( MutexOptionOhttpClientResponse self, SseSerializer serializer); - @protected - void - sse_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ArcV2MaybeInputsOwned self, SseSerializer serializer); - - @protected - void - sse_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ArcV2MaybeInputsSeen self, SseSerializer serializer); - @protected void sse_encode_RustOpaque_payjoin_ffireceivev1UncheckedProposal( PayjoinFfiReceiveV1UncheckedProposal self, SseSerializer serializer); @@ -1951,6 +1876,10 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { void sse_encode_provisional_proposal( ProvisionalProposal self, SseSerializer serializer); + @protected + void sse_encode_record_record_url_list_prim_u_8_strict_client_response( + ((Url, Uint8List), ClientResponse) self, SseSerializer serializer); + @protected void sse_encode_record_string_string( (String, String) self, SseSerializer serializer); @@ -1960,7 +1889,8 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { (int, OutPoint) self, SseSerializer serializer); @protected - void sse_encode_request(Request self, SseSerializer serializer); + void sse_encode_record_url_list_prim_u_8_strict( + (Url, Uint8List) self, SseSerializer serializer); @protected void sse_encode_request_builder( @@ -1978,10 +1908,6 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { void sse_encode_request_context_v_2( RequestContextV2 self, SseSerializer serializer); - @protected - void sse_encode_request_response( - RequestResponse self, SseSerializer serializer); - @protected void sse_encode_tx_out(TxOut self, SseSerializer serializer); @@ -2047,259 +1973,263 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { class PayjoinCoreWire implements BaseWire { PayjoinCoreWire.fromExternalLibrary(ExternalLibrary lib); - void wire_Enrolled_extract_req(NativePortType port_, List that) => - wasmModule.wire_Enrolled_extract_req(port_, that); + void wire_enrolled_extract_req(NativePortType port_, List that) => + wasmModule.wire_enrolled_extract_req(port_, that); - void wire_Enrolled_fallback_target( + void wire_enrolled_fallback_target( NativePortType port_, List that) => - wasmModule.wire_Enrolled_fallback_target(port_, that); + wasmModule.wire_enrolled_fallback_target(port_, that); - void wire_Enrolled_process_res(NativePortType port_, List that, + void wire_enrolled_process_res(NativePortType port_, List that, List body, List ctx) => - wasmModule.wire_Enrolled_process_res(port_, that, body, ctx); + wasmModule.wire_enrolled_process_res(port_, that, body, ctx); - void wire_Enrolled_subdirectory(NativePortType port_, List that) => - wasmModule.wire_Enrolled_subdirectory(port_, that); + void wire_enrolled_subdirectory(NativePortType port_, List that) => + wasmModule.wire_enrolled_subdirectory(port_, that); - void wire_Enroller_extract_req(NativePortType port_, List that) => - wasmModule.wire_Enroller_extract_req(port_, that); + void wire_enroller_extract_req(NativePortType port_, List that) => + wasmModule.wire_enroller_extract_req(port_, that); - void wire_Enroller_from_relay_config(NativePortType port_, String relay_url, + void wire_enroller_from_relay_config(NativePortType port_, String relay_url, String ohttp_config_base64, String ohttp_proxy_url) => - wasmModule.wire_Enroller_from_relay_config( + wasmModule.wire_enroller_from_relay_config( port_, relay_url, ohttp_config_base64, ohttp_proxy_url); - void wire_Enroller_payjoin_subdir(NativePortType port_, List that) => - wasmModule.wire_Enroller_payjoin_subdir(port_, that); + void wire_enroller_payjoin_subdir(NativePortType port_, List that) => + wasmModule.wire_enroller_payjoin_subdir(port_, that); - void wire_Enroller_process_res(NativePortType port_, List that, + void wire_enroller_process_res(NativePortType port_, List that, List body, List ctx) => - wasmModule.wire_Enroller_process_res(port_, that, body, ctx); + wasmModule.wire_enroller_process_res(port_, that, body, ctx); - void wire_Enroller_subdirectory(NativePortType port_, List that) => - wasmModule.wire_Enroller_subdirectory(port_, that); + void wire_enroller_subdirectory(NativePortType port_, List that) => + wasmModule.wire_enroller_subdirectory(port_, that); - void wire_Headers_from_vec(NativePortType port_, List body) => - wasmModule.wire_Headers_from_vec(port_, body); + void wire_maybe_inputs_owned_check_inputs_not_owned( + NativePortType port_, List ptr, PlatformPointer is_owned) => + wasmModule.wire_maybe_inputs_owned_check_inputs_not_owned( + port_, ptr, is_owned); - void wire_MaybeInputsOwned_check_inputs_not_owned( - NativePortType port_, List that, PlatformPointer is_owned) => - wasmModule.wire_MaybeInputsOwned_check_inputs_not_owned( - port_, that, is_owned); + void wire_maybe_inputs_seen_check_no_inputs_seen_before( + NativePortType port_, List ptr, PlatformPointer is_known) => + wasmModule.wire_maybe_inputs_seen_check_no_inputs_seen_before( + port_, ptr, is_known); - void wire_MaybeInputsSeen_check_no_inputs_seen_before( - NativePortType port_, List that, PlatformPointer is_known) => - wasmModule.wire_MaybeInputsSeen_check_no_inputs_seen_before( - port_, that, is_known); + void wire_maybe_mixed_input_scripts_check_no_mixed_input_scripts( + NativePortType port_, List ptr) => + wasmModule.wire_maybe_mixed_input_scripts_check_no_mixed_input_scripts( + port_, ptr); - void wire_MaybeMixedInputScripts_check_no_mixed_input_scripts( - NativePortType port_, List that) => - wasmModule.wire_MaybeMixedInputScripts_check_no_mixed_input_scripts( - port_, that); - - void wire_OutputsUnknown_identify_receiver_outputs(NativePortType port_, - List that, PlatformPointer is_receiver_output) => - wasmModule.wire_OutputsUnknown_identify_receiver_outputs( - port_, that, is_receiver_output); + void wire_outputs_unknown_identify_receiver_outputs(NativePortType port_, + List ptr, PlatformPointer is_receiver_output) => + wasmModule.wire_outputs_unknown_identify_receiver_outputs( + port_, ptr, is_receiver_output); - void wire_PayjoinProposal_is_output_substitution_disabled( + void wire_payjoin_proposal_is_output_substitution_disabled( NativePortType port_, List that) => - wasmModule.wire_PayjoinProposal_is_output_substitution_disabled( + wasmModule.wire_payjoin_proposal_is_output_substitution_disabled( port_, that); - void wire_PayjoinProposal_owned_vouts( + void wire_payjoin_proposal_owned_vouts( NativePortType port_, List that) => - wasmModule.wire_PayjoinProposal_owned_vouts(port_, that); + wasmModule.wire_payjoin_proposal_owned_vouts(port_, that); - void wire_PayjoinProposal_psbt(NativePortType port_, List that) => - wasmModule.wire_PayjoinProposal_psbt(port_, that); + void wire_payjoin_proposal_psbt(NativePortType port_, List that) => + wasmModule.wire_payjoin_proposal_psbt(port_, that); - void wire_PayjoinProposal_utxos_to_be_locked( + void wire_payjoin_proposal_utxos_to_be_locked( NativePortType port_, List that) => - wasmModule.wire_PayjoinProposal_utxos_to_be_locked(port_, that); + wasmModule.wire_payjoin_proposal_utxos_to_be_locked(port_, that); - void wire_ProvisionalProposal_contribute_non_witness_input( + void wire_provisional_proposal_contribute_non_witness_input( NativePortType port_, List that, List tx, List outpoint) => - wasmModule.wire_ProvisionalProposal_contribute_non_witness_input( + wasmModule.wire_provisional_proposal_contribute_non_witness_input( port_, that, tx, outpoint); - void wire_ProvisionalProposal_contribute_witness_input(NativePortType port_, + void wire_provisional_proposal_contribute_witness_input(NativePortType port_, List that, List txo, List outpoint) => - wasmModule.wire_ProvisionalProposal_contribute_witness_input( + wasmModule.wire_provisional_proposal_contribute_witness_input( port_, that, txo, outpoint); - void wire_ProvisionalProposal_finalize_proposal( + void wire_provisional_proposal_finalize_proposal( NativePortType port_, - List that, + List ptr, PlatformPointer process_psbt, Object? min_feerate_sat_per_vb) => - wasmModule.wire_ProvisionalProposal_finalize_proposal( - port_, that, process_psbt, min_feerate_sat_per_vb); + wasmModule.wire_provisional_proposal_finalize_proposal( + port_, ptr, process_psbt, min_feerate_sat_per_vb); - void wire_ProvisionalProposal_substitute_output_address( + void wire_provisional_proposal_substitute_output_address( NativePortType port_, List that, String address) => - wasmModule.wire_ProvisionalProposal_substitute_output_address( + wasmModule.wire_provisional_proposal_substitute_output_address( port_, that, address); - void wire_ProvisionalProposal_try_preserving_privacy(NativePortType port_, + void wire_provisional_proposal_try_preserving_privacy(NativePortType port_, List that, List candidate_inputs) => - wasmModule.wire_ProvisionalProposal_try_preserving_privacy( + wasmModule.wire_provisional_proposal_try_preserving_privacy( port_, that, candidate_inputs); - void wire_UncheckedProposal_assume_interactive_receiver( - NativePortType port_, List that) => - wasmModule.wire_UncheckedProposal_assume_interactive_receiver( - port_, that); + void wire_unchecked_proposal_assume_interactive_receiver( + NativePortType port_, List ptr) => + wasmModule.wire_unchecked_proposal_assume_interactive_receiver( + port_, ptr); - void wire_UncheckedProposal_check_broadcast_suitability( + void wire_unchecked_proposal_check_broadcast_suitability( NativePortType port_, - List that, + List ptr, Object? min_fee_rate, PlatformPointer can_broadcast) => - wasmModule.wire_UncheckedProposal_check_broadcast_suitability( - port_, that, min_fee_rate, can_broadcast); + wasmModule.wire_unchecked_proposal_check_broadcast_suitability( + port_, ptr, min_fee_rate, can_broadcast); - void wire_UncheckedProposal_extract_tx_to_schedule_broadcast( + void wire_unchecked_proposal_extract_tx_to_schedule_broadcast( NativePortType port_, List that) => - wasmModule.wire_UncheckedProposal_extract_tx_to_schedule_broadcast( + wasmModule.wire_unchecked_proposal_extract_tx_to_schedule_broadcast( port_, that); - void wire_UncheckedProposal_from_request(NativePortType port_, List body, - String query, List headers) => - wasmModule.wire_UncheckedProposal_from_request( + void wire_unchecked_proposal_from_request(NativePortType port_, + List body, String query, List headers) => + wasmModule.wire_unchecked_proposal_from_request( port_, body, query, headers); - void wire_V2MaybeInputsOwned_check_inputs_not_owned( + void wire_v_2_maybe_inputs_owned_check_inputs_not_owned( NativePortType port_, List that, PlatformPointer is_owned) => - wasmModule.wire_V2MaybeInputsOwned_check_inputs_not_owned( + wasmModule.wire_v_2_maybe_inputs_owned_check_inputs_not_owned( port_, that, is_owned); - void wire_V2MaybeInputsSeen_check_no_inputs_seen_before( + void wire_v_2_maybe_inputs_seen_check_no_inputs_seen_before( NativePortType port_, List that, PlatformPointer is_known) => - wasmModule.wire_V2MaybeInputsSeen_check_no_inputs_seen_before( + wasmModule.wire_v_2_maybe_inputs_seen_check_no_inputs_seen_before( port_, that, is_known); - void wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts( + void wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts( NativePortType port_, List that) => - wasmModule.wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts( - port_, that); + wasmModule + .wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts( + port_, that); - void wire_V2OutputsUnknown_identify_receiver_outputs(NativePortType port_, + void wire_v_2_outputs_unknown_identify_receiver_outputs(NativePortType port_, List that, PlatformPointer is_receiver_output) => - wasmModule.wire_V2OutputsUnknown_identify_receiver_outputs( + wasmModule.wire_v_2_outputs_unknown_identify_receiver_outputs( port_, that, is_receiver_output); - void wire_V2PayjoinProposal_deserialize_res(NativePortType port_, + void wire_v_2_payjoin_proposal_deserialize_res(NativePortType port_, List that, List res, List ohttp_context) => - wasmModule.wire_V2PayjoinProposal_deserialize_res( + wasmModule.wire_v_2_payjoin_proposal_deserialize_res( port_, that, res, ohttp_context); - void wire_V2PayjoinProposal_extract_v1_req( + void wire_v_2_payjoin_proposal_extract_v1_req( NativePortType port_, List that) => - wasmModule.wire_V2PayjoinProposal_extract_v1_req(port_, that); + wasmModule.wire_v_2_payjoin_proposal_extract_v1_req(port_, that); - void wire_V2PayjoinProposal_extract_v2_req( + void wire_v_2_payjoin_proposal_extract_v2_req( NativePortType port_, List that) => - wasmModule.wire_V2PayjoinProposal_extract_v2_req(port_, that); + wasmModule.wire_v_2_payjoin_proposal_extract_v2_req(port_, that); - void wire_V2PayjoinProposal_is_output_substitution_disabled( + void wire_v_2_payjoin_proposal_is_output_substitution_disabled( NativePortType port_, List that) => - wasmModule.wire_V2PayjoinProposal_is_output_substitution_disabled( + wasmModule.wire_v_2_payjoin_proposal_is_output_substitution_disabled( port_, that); - void wire_V2PayjoinProposal_owned_vouts( + void wire_v_2_payjoin_proposal_owned_vouts( NativePortType port_, List that) => - wasmModule.wire_V2PayjoinProposal_owned_vouts(port_, that); + wasmModule.wire_v_2_payjoin_proposal_owned_vouts(port_, that); - void wire_V2PayjoinProposal_psbt(NativePortType port_, List that) => - wasmModule.wire_V2PayjoinProposal_psbt(port_, that); + void wire_v_2_payjoin_proposal_psbt( + NativePortType port_, List that) => + wasmModule.wire_v_2_payjoin_proposal_psbt(port_, that); - void wire_V2PayjoinProposal_utxos_to_be_locked( + void wire_v_2_payjoin_proposal_utxos_to_be_locked( NativePortType port_, List that) => - wasmModule.wire_V2PayjoinProposal_utxos_to_be_locked(port_, that); + wasmModule.wire_v_2_payjoin_proposal_utxos_to_be_locked(port_, that); - void wire_V2ProvisionalProposal_contribute_non_witness_input( + void wire_v_2_provisional_proposal_contribute_non_witness_input( NativePortType port_, List that, List tx, List outpoint) => - wasmModule.wire_V2ProvisionalProposal_contribute_non_witness_input( + wasmModule.wire_v_2_provisional_proposal_contribute_non_witness_input( port_, that, tx, outpoint); - void wire_V2ProvisionalProposal_contribute_witness_input(NativePortType port_, - List that, List txo, List outpoint) => - wasmModule.wire_V2ProvisionalProposal_contribute_witness_input( + void wire_v_2_provisional_proposal_contribute_witness_input( + NativePortType port_, + List that, + List txo, + List outpoint) => + wasmModule.wire_v_2_provisional_proposal_contribute_witness_input( port_, that, txo, outpoint); - void wire_V2ProvisionalProposal_finalize_proposal( + void wire_v_2_provisional_proposal_finalize_proposal( NativePortType port_, List that, PlatformPointer process_psbt, Object? min_feerate_sat_per_vb) => - wasmModule.wire_V2ProvisionalProposal_finalize_proposal( + wasmModule.wire_v_2_provisional_proposal_finalize_proposal( port_, that, process_psbt, min_feerate_sat_per_vb); - void wire_V2ProvisionalProposal_substitute_output_address( + void wire_v_2_provisional_proposal_substitute_output_address( NativePortType port_, List that, String address) => - wasmModule.wire_V2ProvisionalProposal_substitute_output_address( + wasmModule.wire_v_2_provisional_proposal_substitute_output_address( port_, that, address); - void wire_V2ProvisionalProposal_try_preserving_privacy(NativePortType port_, - List that, List candidate_inputs) => - wasmModule.wire_V2ProvisionalProposal_try_preserving_privacy( + void wire_v_2_provisional_proposal_try_preserving_privacy( + NativePortType port_, + List that, + List candidate_inputs) => + wasmModule.wire_v_2_provisional_proposal_try_preserving_privacy( port_, that, candidate_inputs); - void wire_V2UncheckedProposal_assume_interactive_receiver( + void wire_v_2_unchecked_proposal_assume_interactive_receiver( NativePortType port_, List that) => - wasmModule.wire_V2UncheckedProposal_assume_interactive_receiver( + wasmModule.wire_v_2_unchecked_proposal_assume_interactive_receiver( port_, that); - void wire_V2UncheckedProposal_check_broadcast_suitability( + void wire_v_2_unchecked_proposal_check_broadcast_suitability( NativePortType port_, List that, Object? min_fee_rate, PlatformPointer can_broadcast) => - wasmModule.wire_V2UncheckedProposal_check_broadcast_suitability( + wasmModule.wire_v_2_unchecked_proposal_check_broadcast_suitability( port_, that, min_fee_rate, can_broadcast); - void wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast( + void wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcast( NativePortType port_, List that) => - wasmModule.wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast( + wasmModule.wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcast( port_, that); - void wire_ContextV1_process_response( + void wire_context_v_1_process_response( NativePortType port_, List that, List response) => - wasmModule.wire_ContextV1_process_response(port_, that, response); + wasmModule.wire_context_v_1_process_response(port_, that, response); - void wire_ContextV2_process_response( + void wire_context_v_2_process_response( NativePortType port_, List that, List response) => - wasmModule.wire_ContextV2_process_response(port_, that, response); + wasmModule.wire_context_v_2_process_response(port_, that, response); - void wire_RequestBuilder_always_disable_output_substitution( + void wire_request_builder_always_disable_output_substitution( NativePortType port_, List that, bool disable) => - wasmModule.wire_RequestBuilder_always_disable_output_substitution( + wasmModule.wire_request_builder_always_disable_output_substitution( port_, that, disable); - void wire_RequestBuilder_build_non_incentivizing( + void wire_request_builder_build_non_incentivizing( NativePortType port_, List that) => - wasmModule.wire_RequestBuilder_build_non_incentivizing(port_, that); + wasmModule.wire_request_builder_build_non_incentivizing(port_, that); - void wire_RequestBuilder_build_recommended( + void wire_request_builder_build_recommended( NativePortType port_, List that, Object min_fee_rate) => - wasmModule.wire_RequestBuilder_build_recommended( + wasmModule.wire_request_builder_build_recommended( port_, that, min_fee_rate); - void wire_RequestBuilder_build_with_additional_fee( + void wire_request_builder_build_with_additional_fee( NativePortType port_, List that, Object max_fee_contribution, int? change_index, Object min_fee_rate, bool clamp_fee_contribution) => - wasmModule.wire_RequestBuilder_build_with_additional_fee( + wasmModule.wire_request_builder_build_with_additional_fee( port_, that, max_fee_contribution, @@ -2307,35 +2237,33 @@ class PayjoinCoreWire implements BaseWire { min_fee_rate, clamp_fee_contribution); - void wire_RequestBuilder_from_psbt_and_uri( + void wire_request_builder_from_psbt_and_uri( NativePortType port_, String psbt_base64, List uri) => - wasmModule.wire_RequestBuilder_from_psbt_and_uri(port_, psbt_base64, uri); - - void wire_RequestBuilder_new(NativePortType port_) => - wasmModule.wire_RequestBuilder_new(port_); + wasmModule.wire_request_builder_from_psbt_and_uri( + port_, psbt_base64, uri); - void wire_RequestContext_extract_v1( + void wire_request_context_extract_v1( NativePortType port_, List that) => - wasmModule.wire_RequestContext_extract_v1(port_, that); + wasmModule.wire_request_context_extract_v1(port_, that); - void wire_RequestContext_extract_v2( + void wire_request_context_extract_v2( NativePortType port_, List that, String ohttp_proxy_url) => - wasmModule.wire_RequestContext_extract_v2(port_, that, ohttp_proxy_url); + wasmModule.wire_request_context_extract_v2(port_, that, ohttp_proxy_url); - void wire_Uri_address(NativePortType port_, List that) => - wasmModule.wire_Uri_address(port_, that); + void wire_uri_address(NativePortType port_, List that) => + wasmModule.wire_uri_address(port_, that); - void wire_Uri_amount(NativePortType port_, List that) => - wasmModule.wire_Uri_amount(port_, that); + void wire_uri_amount(NativePortType port_, List that) => + wasmModule.wire_uri_amount(port_, that); - void wire_Uri_from_str(NativePortType port_, String uri) => - wasmModule.wire_Uri_from_str(port_, uri); + void wire_uri_from_str(NativePortType port_, String uri) => + wasmModule.wire_uri_from_str(port_, uri); - void wire_Url_from_str(NativePortType port_, String url) => - wasmModule.wire_Url_from_str(port_, url); + void wire_url_from_str(NativePortType port_, String url) => + wasmModule.wire_url_from_str(port_, url); - void wire_Url_query(NativePortType port_, List that) => - wasmModule.wire_Url_query(port_, that); + void wire_url_query(NativePortType port_, List that) => + wasmModule.wire_url_query(port_, that); void rust_arc_increment_strong_count_RustOpaque_Arcpayjoin_ffireceivev1MaybeInputsOwned( dynamic ptr) => @@ -2573,30 +2501,6 @@ class PayjoinCoreWire implements BaseWire { .rust_arc_decrement_strong_count_RustOpaque_MutexOptionohttpClientResponse( ptr); - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - dynamic ptr) => - wasmModule - .rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ptr); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - dynamic ptr) => - wasmModule - .rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ptr); - - void rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - dynamic ptr) => - wasmModule - .rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ptr); - - void rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - dynamic ptr) => - wasmModule - .rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ptr); - void rust_arc_increment_strong_count_RustOpaque_payjoin_ffireceivev1UncheckedProposal( dynamic ptr) => wasmModule @@ -2646,187 +2550,185 @@ class PayjoinCoreWasmModule implements WasmModule { @override external PayjoinCoreWasmModule bind(dynamic thisArg, String moduleName); - external void wire_Enrolled_extract_req( + external void wire_enrolled_extract_req( NativePortType port_, List that); - external void wire_Enrolled_fallback_target( + external void wire_enrolled_fallback_target( NativePortType port_, List that); - external void wire_Enrolled_process_res(NativePortType port_, + external void wire_enrolled_process_res(NativePortType port_, List that, List body, List ctx); - external void wire_Enrolled_subdirectory( + external void wire_enrolled_subdirectory( NativePortType port_, List that); - external void wire_Enroller_extract_req( + external void wire_enroller_extract_req( NativePortType port_, List that); - external void wire_Enroller_from_relay_config(NativePortType port_, + external void wire_enroller_from_relay_config(NativePortType port_, String relay_url, String ohttp_config_base64, String ohttp_proxy_url); - external void wire_Enroller_payjoin_subdir( + external void wire_enroller_payjoin_subdir( NativePortType port_, List that); - external void wire_Enroller_process_res(NativePortType port_, + external void wire_enroller_process_res(NativePortType port_, List that, List body, List ctx); - external void wire_Enroller_subdirectory( + external void wire_enroller_subdirectory( NativePortType port_, List that); - external void wire_Headers_from_vec(NativePortType port_, List body); - - external void wire_MaybeInputsOwned_check_inputs_not_owned( - NativePortType port_, List that, PlatformPointer is_owned); + external void wire_maybe_inputs_owned_check_inputs_not_owned( + NativePortType port_, List ptr, PlatformPointer is_owned); - external void wire_MaybeInputsSeen_check_no_inputs_seen_before( - NativePortType port_, List that, PlatformPointer is_known); + external void wire_maybe_inputs_seen_check_no_inputs_seen_before( + NativePortType port_, List ptr, PlatformPointer is_known); - external void wire_MaybeMixedInputScripts_check_no_mixed_input_scripts( - NativePortType port_, List that); + external void wire_maybe_mixed_input_scripts_check_no_mixed_input_scripts( + NativePortType port_, List ptr); - external void wire_OutputsUnknown_identify_receiver_outputs( + external void wire_outputs_unknown_identify_receiver_outputs( NativePortType port_, - List that, + List ptr, PlatformPointer is_receiver_output); - external void wire_PayjoinProposal_is_output_substitution_disabled( + external void wire_payjoin_proposal_is_output_substitution_disabled( NativePortType port_, List that); - external void wire_PayjoinProposal_owned_vouts( + external void wire_payjoin_proposal_owned_vouts( NativePortType port_, List that); - external void wire_PayjoinProposal_psbt( + external void wire_payjoin_proposal_psbt( NativePortType port_, List that); - external void wire_PayjoinProposal_utxos_to_be_locked( + external void wire_payjoin_proposal_utxos_to_be_locked( NativePortType port_, List that); - external void wire_ProvisionalProposal_contribute_non_witness_input( + external void wire_provisional_proposal_contribute_non_witness_input( NativePortType port_, List that, List tx, List outpoint); - external void wire_ProvisionalProposal_contribute_witness_input( + external void wire_provisional_proposal_contribute_witness_input( NativePortType port_, List that, List txo, List outpoint); - external void wire_ProvisionalProposal_finalize_proposal( + external void wire_provisional_proposal_finalize_proposal( NativePortType port_, - List that, + List ptr, PlatformPointer process_psbt, Object? min_feerate_sat_per_vb); - external void wire_ProvisionalProposal_substitute_output_address( + external void wire_provisional_proposal_substitute_output_address( NativePortType port_, List that, String address); - external void wire_ProvisionalProposal_try_preserving_privacy( + external void wire_provisional_proposal_try_preserving_privacy( NativePortType port_, List that, List candidate_inputs); - external void wire_UncheckedProposal_assume_interactive_receiver( - NativePortType port_, List that); + external void wire_unchecked_proposal_assume_interactive_receiver( + NativePortType port_, List ptr); - external void wire_UncheckedProposal_check_broadcast_suitability( + external void wire_unchecked_proposal_check_broadcast_suitability( NativePortType port_, - List that, + List ptr, Object? min_fee_rate, PlatformPointer can_broadcast); - external void wire_UncheckedProposal_extract_tx_to_schedule_broadcast( + external void wire_unchecked_proposal_extract_tx_to_schedule_broadcast( NativePortType port_, List that); - external void wire_UncheckedProposal_from_request(NativePortType port_, + external void wire_unchecked_proposal_from_request(NativePortType port_, List body, String query, List headers); - external void wire_V2MaybeInputsOwned_check_inputs_not_owned( + external void wire_v_2_maybe_inputs_owned_check_inputs_not_owned( NativePortType port_, List that, PlatformPointer is_owned); - external void wire_V2MaybeInputsSeen_check_no_inputs_seen_before( + external void wire_v_2_maybe_inputs_seen_check_no_inputs_seen_before( NativePortType port_, List that, PlatformPointer is_known); - external void wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts( + external void wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts( NativePortType port_, List that); - external void wire_V2OutputsUnknown_identify_receiver_outputs( + external void wire_v_2_outputs_unknown_identify_receiver_outputs( NativePortType port_, List that, PlatformPointer is_receiver_output); - external void wire_V2PayjoinProposal_deserialize_res(NativePortType port_, + external void wire_v_2_payjoin_proposal_deserialize_res(NativePortType port_, List that, List res, List ohttp_context); - external void wire_V2PayjoinProposal_extract_v1_req( + external void wire_v_2_payjoin_proposal_extract_v1_req( NativePortType port_, List that); - external void wire_V2PayjoinProposal_extract_v2_req( + external void wire_v_2_payjoin_proposal_extract_v2_req( NativePortType port_, List that); - external void wire_V2PayjoinProposal_is_output_substitution_disabled( + external void wire_v_2_payjoin_proposal_is_output_substitution_disabled( NativePortType port_, List that); - external void wire_V2PayjoinProposal_owned_vouts( + external void wire_v_2_payjoin_proposal_owned_vouts( NativePortType port_, List that); - external void wire_V2PayjoinProposal_psbt( + external void wire_v_2_payjoin_proposal_psbt( NativePortType port_, List that); - external void wire_V2PayjoinProposal_utxos_to_be_locked( + external void wire_v_2_payjoin_proposal_utxos_to_be_locked( NativePortType port_, List that); - external void wire_V2ProvisionalProposal_contribute_non_witness_input( + external void wire_v_2_provisional_proposal_contribute_non_witness_input( NativePortType port_, List that, List tx, List outpoint); - external void wire_V2ProvisionalProposal_contribute_witness_input( + external void wire_v_2_provisional_proposal_contribute_witness_input( NativePortType port_, List that, List txo, List outpoint); - external void wire_V2ProvisionalProposal_finalize_proposal( + external void wire_v_2_provisional_proposal_finalize_proposal( NativePortType port_, List that, PlatformPointer process_psbt, Object? min_feerate_sat_per_vb); - external void wire_V2ProvisionalProposal_substitute_output_address( + external void wire_v_2_provisional_proposal_substitute_output_address( NativePortType port_, List that, String address); - external void wire_V2ProvisionalProposal_try_preserving_privacy( + external void wire_v_2_provisional_proposal_try_preserving_privacy( NativePortType port_, List that, List candidate_inputs); - external void wire_V2UncheckedProposal_assume_interactive_receiver( + external void wire_v_2_unchecked_proposal_assume_interactive_receiver( NativePortType port_, List that); - external void wire_V2UncheckedProposal_check_broadcast_suitability( + external void wire_v_2_unchecked_proposal_check_broadcast_suitability( NativePortType port_, List that, Object? min_fee_rate, PlatformPointer can_broadcast); - external void wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast( + external void wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcast( NativePortType port_, List that); - external void wire_ContextV1_process_response( + external void wire_context_v_1_process_response( NativePortType port_, List that, List response); - external void wire_ContextV2_process_response( + external void wire_context_v_2_process_response( NativePortType port_, List that, List response); - external void wire_RequestBuilder_always_disable_output_substitution( + external void wire_request_builder_always_disable_output_substitution( NativePortType port_, List that, bool disable); - external void wire_RequestBuilder_build_non_incentivizing( + external void wire_request_builder_build_non_incentivizing( NativePortType port_, List that); - external void wire_RequestBuilder_build_recommended( + external void wire_request_builder_build_recommended( NativePortType port_, List that, Object min_fee_rate); - external void wire_RequestBuilder_build_with_additional_fee( + external void wire_request_builder_build_with_additional_fee( NativePortType port_, List that, Object max_fee_contribution, @@ -2834,26 +2736,24 @@ class PayjoinCoreWasmModule implements WasmModule { Object min_fee_rate, bool clamp_fee_contribution); - external void wire_RequestBuilder_from_psbt_and_uri( + external void wire_request_builder_from_psbt_and_uri( NativePortType port_, String psbt_base64, List uri); - external void wire_RequestBuilder_new(NativePortType port_); - - external void wire_RequestContext_extract_v1( + external void wire_request_context_extract_v1( NativePortType port_, List that); - external void wire_RequestContext_extract_v2( + external void wire_request_context_extract_v2( NativePortType port_, List that, String ohttp_proxy_url); - external void wire_Uri_address(NativePortType port_, List that); + external void wire_uri_address(NativePortType port_, List that); - external void wire_Uri_amount(NativePortType port_, List that); + external void wire_uri_amount(NativePortType port_, List that); - external void wire_Uri_from_str(NativePortType port_, String uri); + external void wire_uri_from_str(NativePortType port_, String uri); - external void wire_Url_from_str(NativePortType port_, String url); + external void wire_url_from_str(NativePortType port_, String url); - external void wire_Url_query(NativePortType port_, List that); + external void wire_url_query(NativePortType port_, List that); external void rust_arc_increment_strong_count_RustOpaque_Arcpayjoin_ffireceivev1MaybeInputsOwned( @@ -3011,22 +2911,6 @@ class PayjoinCoreWasmModule implements WasmModule { rust_arc_decrement_strong_count_RustOpaque_MutexOptionohttpClientResponse( dynamic ptr); - external void - rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - dynamic ptr); - - external void - rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - dynamic ptr); - - external void - rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - dynamic ptr); - - external void - rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - dynamic ptr); - external void rust_arc_increment_strong_count_RustOpaque_payjoin_ffireceivev1UncheckedProposal( dynamic ptr); diff --git a/rust/src/frb_generated.io.rs b/rust/src/frb_generated.io.rs index a349663..2e92344 100644 --- a/rust/src/frb_generated.io.rs +++ b/rust/src/frb_generated.io.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. // Section: imports @@ -16,28 +16,6 @@ flutter_rust_bridge::frb_generated_boilerplate_io!(); // Section: dart2rust -impl CstDecode> for usize { - // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> Arc { - CstDecode::< - RustOpaqueNom< - flutter_rust_bridge::for_generated::rust_async::RwLock>, - >, - >::cst_decode(self) - .rust_auto_opaque_decode_owned() - } -} -impl CstDecode> for usize { - // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> Arc { - CstDecode::< - RustOpaqueNom< - flutter_rust_bridge::for_generated::rust_async::RwLock>, - >, - >::cst_decode(self) - .rust_auto_opaque_decode_owned() - } -} impl CstDecode for *const std::ffi::c_void { // Codec=Cst (C-struct based), see doc to use other codecs fn cst_decode(self) -> flutter_rust_bridge::DartOpaque { @@ -53,12 +31,12 @@ impl CstDecode> vec.into_iter().collect() } } -impl CstDecode> +impl CstDecode> for *mut wire_cst_list_record_u_64_out_point { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> std::collections::HashMap { - let vec: Vec<(u64, crate::api::receive::OutPoint)> = self.cst_decode(); + fn cst_decode(self) -> std::collections::HashMap { + let vec: Vec<(u64, crate::utils::types::OutPoint)> = self.cst_decode(); vec.into_iter().collect() } } @@ -182,37 +160,6 @@ impl CstDecode>>> for usize { unsafe { decode_rust_opaque_nom(self as _) } } } -impl - CstDecode< - RustOpaqueNom< - flutter_rust_bridge::for_generated::rust_async::RwLock>, - >, - > for usize -{ - // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode( - self, - ) -> RustOpaqueNom< - flutter_rust_bridge::for_generated::rust_async::RwLock>, - > { - unsafe { decode_rust_opaque_nom(self as _) } - } -} -impl - CstDecode< - RustOpaqueNom< - flutter_rust_bridge::for_generated::rust_async::RwLock>, - >, - > for usize -{ - // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode( - self, - ) -> RustOpaqueNom>> - { - unsafe { decode_rust_opaque_nom(self as _) } - } -} impl CstDecode> for usize { // Codec=Cst (C-struct based), see doc to use other codecs fn cst_decode(self) -> RustOpaqueNom { @@ -273,11 +220,11 @@ impl CstDecode for *mut wire_cst_enroller { CstDecode::::cst_decode(*wrap).into() } } -impl CstDecode for *mut wire_cst_headers { +impl CstDecode for *mut wire_cst_headers { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> crate::api::receive::Headers { + fn cst_decode(self) -> crate::utils::types::Headers { let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }; - CstDecode::::cst_decode(*wrap).into() + CstDecode::::cst_decode(*wrap).into() } } impl CstDecode for *mut wire_cst_maybe_inputs_owned { @@ -303,11 +250,11 @@ impl CstDecode CstDecode::::cst_decode(*wrap).into() } } -impl CstDecode for *mut wire_cst_out_point { +impl CstDecode for *mut wire_cst_out_point { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> crate::api::receive::OutPoint { + fn cst_decode(self) -> crate::utils::types::OutPoint { let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }; - CstDecode::::cst_decode(*wrap).into() + CstDecode::::cst_decode(*wrap).into() } } impl CstDecode for *mut wire_cst_outputs_unknown { @@ -345,11 +292,11 @@ impl CstDecode for *mut wire_cst_request_conte CstDecode::::cst_decode(*wrap).into() } } -impl CstDecode for *mut wire_cst_tx_out { +impl CstDecode for *mut wire_cst_tx_out { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> crate::api::receive::TxOut { + fn cst_decode(self) -> crate::utils::types::TxOut { let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }; - CstDecode::::cst_decode(*wrap).into() + CstDecode::::cst_decode(*wrap).into() } } impl CstDecode for *mut u64 { @@ -468,15 +415,17 @@ impl CstDecode for wire_cst_enroller { crate::api::receive::Enroller(self.field0.cst_decode()) } } -impl CstDecode for wire_cst_headers { +impl CstDecode for wire_cst_headers { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> crate::api::receive::Headers { - crate::api::receive::Headers(self.field0.cst_decode()) + fn cst_decode(self) -> crate::utils::types::Headers { + crate::utils::types::Headers { + map: self.map.cst_decode(), + } } } -impl CstDecode> for *mut wire_cst_list_out_point { +impl CstDecode> for *mut wire_cst_list_out_point { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> Vec { + fn cst_decode(self) -> Vec { let vec = unsafe { let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self); flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len) @@ -521,11 +470,11 @@ impl CstDecode> for *mut wire_cst_list_record_string_strin vec.into_iter().map(CstDecode::cst_decode).collect() } } -impl CstDecode> +impl CstDecode> for *mut wire_cst_list_record_u_64_out_point { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> Vec<(u64, crate::api::receive::OutPoint)> { + fn cst_decode(self) -> Vec<(u64, crate::utils::types::OutPoint)> { let vec = unsafe { let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self); flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len) @@ -551,10 +500,10 @@ impl CstDecode for wire_cst_maybe_m crate::api::receive::MaybeMixedInputScripts(self.field0.cst_decode()) } } -impl CstDecode for wire_cst_out_point { +impl CstDecode for wire_cst_out_point { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> crate::api::receive::OutPoint { - crate::api::receive::OutPoint { + fn cst_decode(self) -> crate::utils::types::OutPoint { + crate::utils::types::OutPoint { txid: self.txid.cst_decode(), vout: self.vout.cst_decode(), } @@ -688,25 +637,38 @@ impl CstDecode for wire_cst_provisiona crate::api::receive::ProvisionalProposal(self.field0.cst_decode()) } } +impl + CstDecode<( + (crate::api::uri::Url, Vec), + crate::api::receive::ClientResponse, + )> for wire_cst_record_record_url_list_prim_u_8_strict_client_response +{ + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode( + self, + ) -> ( + (crate::api::uri::Url, Vec), + crate::api::receive::ClientResponse, + ) { + (self.field0.cst_decode(), self.field1.cst_decode()) + } +} impl CstDecode<(String, String)> for wire_cst_record_string_string { // Codec=Cst (C-struct based), see doc to use other codecs fn cst_decode(self) -> (String, String) { (self.field0.cst_decode(), self.field1.cst_decode()) } } -impl CstDecode<(u64, crate::api::receive::OutPoint)> for wire_cst_record_u_64_out_point { +impl CstDecode<(u64, crate::utils::types::OutPoint)> for wire_cst_record_u_64_out_point { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> (u64, crate::api::receive::OutPoint) { + fn cst_decode(self) -> (u64, crate::utils::types::OutPoint) { (self.field0.cst_decode(), self.field1.cst_decode()) } } -impl CstDecode for wire_cst_request { +impl CstDecode<(crate::api::uri::Url, Vec)> for wire_cst_record_url_list_prim_u_8_strict { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> crate::api::send::Request { - crate::api::send::Request { - url: self.url.cst_decode(), - body: self.body.cst_decode(), - } + fn cst_decode(self) -> (crate::api::uri::Url, Vec) { + (self.field0.cst_decode(), self.field1.cst_decode()) } } impl CstDecode for wire_cst_request_builder { @@ -739,19 +701,10 @@ impl CstDecode for wire_cst_request_context_ } } } -impl CstDecode for wire_cst_request_response { - // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> crate::api::receive::RequestResponse { - crate::api::receive::RequestResponse { - request: self.request.cst_decode(), - client_response: self.client_response.cst_decode(), - } - } -} -impl CstDecode for wire_cst_tx_out { +impl CstDecode for wire_cst_tx_out { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> crate::api::receive::TxOut { - crate::api::receive::TxOut { + fn cst_decode(self) -> crate::utils::types::TxOut { + crate::utils::types::TxOut { value: self.value.cst_decode(), script_pubkey: self.script_pubkey.cst_decode(), } @@ -882,7 +835,7 @@ impl Default for wire_cst_enroller { impl NewWithNullPtr for wire_cst_headers { fn new_with_null_ptr() -> Self { Self { - field0: core::ptr::null_mut(), + map: core::ptr::null_mut(), } } } @@ -989,6 +942,19 @@ impl Default for wire_cst_provisional_proposal { Self::new_with_null_ptr() } } +impl NewWithNullPtr for wire_cst_record_record_url_list_prim_u_8_strict_client_response { + fn new_with_null_ptr() -> Self { + Self { + field0: Default::default(), + field1: Default::default(), + } + } +} +impl Default for wire_cst_record_record_url_list_prim_u_8_strict_client_response { + fn default() -> Self { + Self::new_with_null_ptr() + } +} impl NewWithNullPtr for wire_cst_record_string_string { fn new_with_null_ptr() -> Self { Self { @@ -1015,15 +981,15 @@ impl Default for wire_cst_record_u_64_out_point { Self::new_with_null_ptr() } } -impl NewWithNullPtr for wire_cst_request { +impl NewWithNullPtr for wire_cst_record_url_list_prim_u_8_strict { fn new_with_null_ptr() -> Self { Self { - url: Default::default(), - body: core::ptr::null_mut(), + field0: Default::default(), + field1: core::ptr::null_mut(), } } } -impl Default for wire_cst_request { +impl Default for wire_cst_record_url_list_prim_u_8_strict { fn default() -> Self { Self::new_with_null_ptr() } @@ -1078,19 +1044,6 @@ impl Default for wire_cst_request_context_v_2 { Self::new_with_null_ptr() } } -impl NewWithNullPtr for wire_cst_request_response { - fn new_with_null_ptr() -> Self { - Self { - request: Default::default(), - client_response: Default::default(), - } - } -} -impl Default for wire_cst_request_response { - fn default() -> Self { - Self::new_with_null_ptr() - } -} impl NewWithNullPtr for wire_cst_tx_out { fn new_with_null_ptr() -> Self { Self { @@ -1226,373 +1179,365 @@ impl Default for wire_cst_v_2_unchecked_proposal { } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_Enrolled_extract_req( +pub extern "C" fn frbgen_payjoin_flutter_wire_enrolled_extract_req( port_: i64, that: *mut wire_cst_enrolled, ) { - wire_Enrolled_extract_req_impl(port_, that) + wire_enrolled_extract_req_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_Enrolled_fallback_target( +pub extern "C" fn frbgen_payjoin_flutter_wire_enrolled_fallback_target( port_: i64, that: *mut wire_cst_enrolled, ) { - wire_Enrolled_fallback_target_impl(port_, that) + wire_enrolled_fallback_target_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_Enrolled_process_res( +pub extern "C" fn frbgen_payjoin_flutter_wire_enrolled_process_res( port_: i64, that: *mut wire_cst_enrolled, body: *mut wire_cst_list_prim_u_8_loose, ctx: *mut wire_cst_client_response, ) { - wire_Enrolled_process_res_impl(port_, that, body, ctx) + wire_enrolled_process_res_impl(port_, that, body, ctx) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_Enrolled_subdirectory( +pub extern "C" fn frbgen_payjoin_flutter_wire_enrolled_subdirectory( port_: i64, that: *mut wire_cst_enrolled, ) { - wire_Enrolled_subdirectory_impl(port_, that) + wire_enrolled_subdirectory_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_Enroller_extract_req( +pub extern "C" fn frbgen_payjoin_flutter_wire_enroller_extract_req( port_: i64, that: *mut wire_cst_enroller, ) { - wire_Enroller_extract_req_impl(port_, that) + wire_enroller_extract_req_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_Enroller_from_relay_config( +pub extern "C" fn frbgen_payjoin_flutter_wire_enroller_from_relay_config( port_: i64, relay_url: *mut wire_cst_list_prim_u_8_strict, ohttp_config_base64: *mut wire_cst_list_prim_u_8_strict, ohttp_proxy_url: *mut wire_cst_list_prim_u_8_strict, ) { - wire_Enroller_from_relay_config_impl(port_, relay_url, ohttp_config_base64, ohttp_proxy_url) + wire_enroller_from_relay_config_impl(port_, relay_url, ohttp_config_base64, ohttp_proxy_url) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_Enroller_payjoin_subdir( +pub extern "C" fn frbgen_payjoin_flutter_wire_enroller_payjoin_subdir( port_: i64, that: *mut wire_cst_enroller, ) { - wire_Enroller_payjoin_subdir_impl(port_, that) + wire_enroller_payjoin_subdir_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_Enroller_process_res( +pub extern "C" fn frbgen_payjoin_flutter_wire_enroller_process_res( port_: i64, that: *mut wire_cst_enroller, body: *mut wire_cst_list_prim_u_8_loose, ctx: *mut wire_cst_client_response, ) { - wire_Enroller_process_res_impl(port_, that, body, ctx) + wire_enroller_process_res_impl(port_, that, body, ctx) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_Enroller_subdirectory( +pub extern "C" fn frbgen_payjoin_flutter_wire_enroller_subdirectory( port_: i64, that: *mut wire_cst_enroller, ) { - wire_Enroller_subdirectory_impl(port_, that) -} - -#[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_Headers_from_vec( - port_: i64, - body: *mut wire_cst_list_prim_u_8_loose, -) { - wire_Headers_from_vec_impl(port_, body) + wire_enroller_subdirectory_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_MaybeInputsOwned_check_inputs_not_owned( +pub extern "C" fn frbgen_payjoin_flutter_wire_maybe_inputs_owned_check_inputs_not_owned( port_: i64, - that: *mut wire_cst_maybe_inputs_owned, + ptr: *mut wire_cst_maybe_inputs_owned, is_owned: *const std::ffi::c_void, ) { - wire_MaybeInputsOwned_check_inputs_not_owned_impl(port_, that, is_owned) + wire_maybe_inputs_owned_check_inputs_not_owned_impl(port_, ptr, is_owned) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_MaybeInputsSeen_check_no_inputs_seen_before( +pub extern "C" fn frbgen_payjoin_flutter_wire_maybe_inputs_seen_check_no_inputs_seen_before( port_: i64, - that: *mut wire_cst_maybe_inputs_seen, + ptr: *mut wire_cst_maybe_inputs_seen, is_known: *const std::ffi::c_void, ) { - wire_MaybeInputsSeen_check_no_inputs_seen_before_impl(port_, that, is_known) + wire_maybe_inputs_seen_check_no_inputs_seen_before_impl(port_, ptr, is_known) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_MaybeMixedInputScripts_check_no_mixed_input_scripts( +pub extern "C" fn frbgen_payjoin_flutter_wire_maybe_mixed_input_scripts_check_no_mixed_input_scripts( port_: i64, - that: *mut wire_cst_maybe_mixed_input_scripts, + ptr: *mut wire_cst_maybe_mixed_input_scripts, ) { - wire_MaybeMixedInputScripts_check_no_mixed_input_scripts_impl(port_, that) + wire_maybe_mixed_input_scripts_check_no_mixed_input_scripts_impl(port_, ptr) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_OutputsUnknown_identify_receiver_outputs( +pub extern "C" fn frbgen_payjoin_flutter_wire_outputs_unknown_identify_receiver_outputs( port_: i64, - that: *mut wire_cst_outputs_unknown, + ptr: *mut wire_cst_outputs_unknown, is_receiver_output: *const std::ffi::c_void, ) { - wire_OutputsUnknown_identify_receiver_outputs_impl(port_, that, is_receiver_output) + wire_outputs_unknown_identify_receiver_outputs_impl(port_, ptr, is_receiver_output) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_PayjoinProposal_is_output_substitution_disabled( +pub extern "C" fn frbgen_payjoin_flutter_wire_payjoin_proposal_is_output_substitution_disabled( port_: i64, that: *mut wire_cst_payjoin_proposal, ) { - wire_PayjoinProposal_is_output_substitution_disabled_impl(port_, that) + wire_payjoin_proposal_is_output_substitution_disabled_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_PayjoinProposal_owned_vouts( +pub extern "C" fn frbgen_payjoin_flutter_wire_payjoin_proposal_owned_vouts( port_: i64, that: *mut wire_cst_payjoin_proposal, ) { - wire_PayjoinProposal_owned_vouts_impl(port_, that) + wire_payjoin_proposal_owned_vouts_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_PayjoinProposal_psbt( +pub extern "C" fn frbgen_payjoin_flutter_wire_payjoin_proposal_psbt( port_: i64, that: *mut wire_cst_payjoin_proposal, ) { - wire_PayjoinProposal_psbt_impl(port_, that) + wire_payjoin_proposal_psbt_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_PayjoinProposal_utxos_to_be_locked( +pub extern "C" fn frbgen_payjoin_flutter_wire_payjoin_proposal_utxos_to_be_locked( port_: i64, that: *mut wire_cst_payjoin_proposal, ) { - wire_PayjoinProposal_utxos_to_be_locked_impl(port_, that) + wire_payjoin_proposal_utxos_to_be_locked_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_ProvisionalProposal_contribute_non_witness_input( +pub extern "C" fn frbgen_payjoin_flutter_wire_provisional_proposal_contribute_non_witness_input( port_: i64, that: *mut wire_cst_provisional_proposal, tx: *mut wire_cst_list_prim_u_8_loose, outpoint: *mut wire_cst_out_point, ) { - wire_ProvisionalProposal_contribute_non_witness_input_impl(port_, that, tx, outpoint) + wire_provisional_proposal_contribute_non_witness_input_impl(port_, that, tx, outpoint) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_ProvisionalProposal_contribute_witness_input( +pub extern "C" fn frbgen_payjoin_flutter_wire_provisional_proposal_contribute_witness_input( port_: i64, that: *mut wire_cst_provisional_proposal, txo: *mut wire_cst_tx_out, outpoint: *mut wire_cst_out_point, ) { - wire_ProvisionalProposal_contribute_witness_input_impl(port_, that, txo, outpoint) + wire_provisional_proposal_contribute_witness_input_impl(port_, that, txo, outpoint) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_ProvisionalProposal_finalize_proposal( +pub extern "C" fn frbgen_payjoin_flutter_wire_provisional_proposal_finalize_proposal( port_: i64, - that: *mut wire_cst_provisional_proposal, + ptr: *mut wire_cst_provisional_proposal, process_psbt: *const std::ffi::c_void, min_feerate_sat_per_vb: *mut u64, ) { - wire_ProvisionalProposal_finalize_proposal_impl( + wire_provisional_proposal_finalize_proposal_impl( port_, - that, + ptr, process_psbt, min_feerate_sat_per_vb, ) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_ProvisionalProposal_substitute_output_address( +pub extern "C" fn frbgen_payjoin_flutter_wire_provisional_proposal_substitute_output_address( port_: i64, that: *mut wire_cst_provisional_proposal, address: *mut wire_cst_list_prim_u_8_strict, ) { - wire_ProvisionalProposal_substitute_output_address_impl(port_, that, address) + wire_provisional_proposal_substitute_output_address_impl(port_, that, address) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_ProvisionalProposal_try_preserving_privacy( +pub extern "C" fn frbgen_payjoin_flutter_wire_provisional_proposal_try_preserving_privacy( port_: i64, that: *mut wire_cst_provisional_proposal, candidate_inputs: *mut wire_cst_list_record_u_64_out_point, ) { - wire_ProvisionalProposal_try_preserving_privacy_impl(port_, that, candidate_inputs) + wire_provisional_proposal_try_preserving_privacy_impl(port_, that, candidate_inputs) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_UncheckedProposal_assume_interactive_receiver( +pub extern "C" fn frbgen_payjoin_flutter_wire_unchecked_proposal_assume_interactive_receiver( port_: i64, - that: *mut wire_cst_unchecked_proposal, + ptr: *mut wire_cst_unchecked_proposal, ) { - wire_UncheckedProposal_assume_interactive_receiver_impl(port_, that) + wire_unchecked_proposal_assume_interactive_receiver_impl(port_, ptr) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_UncheckedProposal_check_broadcast_suitability( +pub extern "C" fn frbgen_payjoin_flutter_wire_unchecked_proposal_check_broadcast_suitability( port_: i64, - that: *mut wire_cst_unchecked_proposal, + ptr: *mut wire_cst_unchecked_proposal, min_fee_rate: *mut u64, can_broadcast: *const std::ffi::c_void, ) { - wire_UncheckedProposal_check_broadcast_suitability_impl( + wire_unchecked_proposal_check_broadcast_suitability_impl( port_, - that, + ptr, min_fee_rate, can_broadcast, ) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_UncheckedProposal_extract_tx_to_schedule_broadcast( +pub extern "C" fn frbgen_payjoin_flutter_wire_unchecked_proposal_extract_tx_to_schedule_broadcast( port_: i64, that: *mut wire_cst_unchecked_proposal, ) { - wire_UncheckedProposal_extract_tx_to_schedule_broadcast_impl(port_, that) + wire_unchecked_proposal_extract_tx_to_schedule_broadcast_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_UncheckedProposal_from_request( +pub extern "C" fn frbgen_payjoin_flutter_wire_unchecked_proposal_from_request( port_: i64, body: *mut wire_cst_list_prim_u_8_loose, query: *mut wire_cst_list_prim_u_8_strict, headers: *mut wire_cst_headers, ) { - wire_UncheckedProposal_from_request_impl(port_, body, query, headers) + wire_unchecked_proposal_from_request_impl(port_, body, query, headers) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2MaybeInputsOwned_check_inputs_not_owned( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_maybe_inputs_owned_check_inputs_not_owned( port_: i64, that: *mut wire_cst_v_2_maybe_inputs_owned, is_owned: *const std::ffi::c_void, ) { - wire_V2MaybeInputsOwned_check_inputs_not_owned_impl(port_, that, is_owned) + wire_v_2_maybe_inputs_owned_check_inputs_not_owned_impl(port_, that, is_owned) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2MaybeInputsSeen_check_no_inputs_seen_before( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_maybe_inputs_seen_check_no_inputs_seen_before( port_: i64, that: *mut wire_cst_v_2_maybe_inputs_seen, is_known: *const std::ffi::c_void, ) { - wire_V2MaybeInputsSeen_check_no_inputs_seen_before_impl(port_, that, is_known) + wire_v_2_maybe_inputs_seen_check_no_inputs_seen_before_impl(port_, that, is_known) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts( port_: i64, that: *mut wire_cst_v_2_maybe_mixed_input_scripts, ) { - wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts_impl(port_, that) + wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2OutputsUnknown_identify_receiver_outputs( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_outputs_unknown_identify_receiver_outputs( port_: i64, that: *mut wire_cst_v_2_outputs_unknown, is_receiver_output: *const std::ffi::c_void, ) { - wire_V2OutputsUnknown_identify_receiver_outputs_impl(port_, that, is_receiver_output) + wire_v_2_outputs_unknown_identify_receiver_outputs_impl(port_, that, is_receiver_output) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2PayjoinProposal_deserialize_res( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_deserialize_res( port_: i64, that: *mut wire_cst_v_2_payjoin_proposal, res: *mut wire_cst_list_prim_u_8_loose, ohttp_context: *mut wire_cst_client_response, ) { - wire_V2PayjoinProposal_deserialize_res_impl(port_, that, res, ohttp_context) + wire_v_2_payjoin_proposal_deserialize_res_impl(port_, that, res, ohttp_context) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2PayjoinProposal_extract_v1_req( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_extract_v1_req( port_: i64, that: *mut wire_cst_v_2_payjoin_proposal, ) { - wire_V2PayjoinProposal_extract_v1_req_impl(port_, that) + wire_v_2_payjoin_proposal_extract_v1_req_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2PayjoinProposal_extract_v2_req( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_extract_v2_req( port_: i64, that: *mut wire_cst_v_2_payjoin_proposal, ) { - wire_V2PayjoinProposal_extract_v2_req_impl(port_, that) + wire_v_2_payjoin_proposal_extract_v2_req_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2PayjoinProposal_is_output_substitution_disabled( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_is_output_substitution_disabled( port_: i64, that: *mut wire_cst_v_2_payjoin_proposal, ) { - wire_V2PayjoinProposal_is_output_substitution_disabled_impl(port_, that) + wire_v_2_payjoin_proposal_is_output_substitution_disabled_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2PayjoinProposal_owned_vouts( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_owned_vouts( port_: i64, that: *mut wire_cst_v_2_payjoin_proposal, ) { - wire_V2PayjoinProposal_owned_vouts_impl(port_, that) + wire_v_2_payjoin_proposal_owned_vouts_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2PayjoinProposal_psbt( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_psbt( port_: i64, that: *mut wire_cst_v_2_payjoin_proposal, ) { - wire_V2PayjoinProposal_psbt_impl(port_, that) + wire_v_2_payjoin_proposal_psbt_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2PayjoinProposal_utxos_to_be_locked( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_utxos_to_be_locked( port_: i64, that: *mut wire_cst_v_2_payjoin_proposal, ) { - wire_V2PayjoinProposal_utxos_to_be_locked_impl(port_, that) + wire_v_2_payjoin_proposal_utxos_to_be_locked_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2ProvisionalProposal_contribute_non_witness_input( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_provisional_proposal_contribute_non_witness_input( port_: i64, that: *mut wire_cst_v_2_provisional_proposal, tx: *mut wire_cst_list_prim_u_8_loose, outpoint: *mut wire_cst_out_point, ) { - wire_V2ProvisionalProposal_contribute_non_witness_input_impl(port_, that, tx, outpoint) + wire_v_2_provisional_proposal_contribute_non_witness_input_impl(port_, that, tx, outpoint) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2ProvisionalProposal_contribute_witness_input( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_provisional_proposal_contribute_witness_input( port_: i64, that: *mut wire_cst_v_2_provisional_proposal, txo: *mut wire_cst_tx_out, outpoint: *mut wire_cst_out_point, ) { - wire_V2ProvisionalProposal_contribute_witness_input_impl(port_, that, txo, outpoint) + wire_v_2_provisional_proposal_contribute_witness_input_impl(port_, that, txo, outpoint) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2ProvisionalProposal_finalize_proposal( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_provisional_proposal_finalize_proposal( port_: i64, that: *mut wire_cst_v_2_provisional_proposal, process_psbt: *const std::ffi::c_void, min_feerate_sat_per_vb: *mut u64, ) { - wire_V2ProvisionalProposal_finalize_proposal_impl( + wire_v_2_provisional_proposal_finalize_proposal_impl( port_, that, process_psbt, @@ -1601,39 +1546,39 @@ pub extern "C" fn frbgen_payjoin_flutter_wire_V2ProvisionalProposal_finalize_pro } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2ProvisionalProposal_substitute_output_address( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_provisional_proposal_substitute_output_address( port_: i64, that: *mut wire_cst_v_2_provisional_proposal, address: *mut wire_cst_list_prim_u_8_strict, ) { - wire_V2ProvisionalProposal_substitute_output_address_impl(port_, that, address) + wire_v_2_provisional_proposal_substitute_output_address_impl(port_, that, address) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2ProvisionalProposal_try_preserving_privacy( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_provisional_proposal_try_preserving_privacy( port_: i64, that: *mut wire_cst_v_2_provisional_proposal, candidate_inputs: *mut wire_cst_list_record_u_64_out_point, ) { - wire_V2ProvisionalProposal_try_preserving_privacy_impl(port_, that, candidate_inputs) + wire_v_2_provisional_proposal_try_preserving_privacy_impl(port_, that, candidate_inputs) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2UncheckedProposal_assume_interactive_receiver( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_unchecked_proposal_assume_interactive_receiver( port_: i64, that: *mut wire_cst_v_2_unchecked_proposal, ) { - wire_V2UncheckedProposal_assume_interactive_receiver_impl(port_, that) + wire_v_2_unchecked_proposal_assume_interactive_receiver_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2UncheckedProposal_check_broadcast_suitability( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_unchecked_proposal_check_broadcast_suitability( port_: i64, that: *mut wire_cst_v_2_unchecked_proposal, min_fee_rate: *mut u64, can_broadcast: *const std::ffi::c_void, ) { - wire_V2UncheckedProposal_check_broadcast_suitability_impl( + wire_v_2_unchecked_proposal_check_broadcast_suitability_impl( port_, that, min_fee_rate, @@ -1642,59 +1587,59 @@ pub extern "C" fn frbgen_payjoin_flutter_wire_V2UncheckedProposal_check_broadcas } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast( +pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcast( port_: i64, that: *mut wire_cst_v_2_unchecked_proposal, ) { - wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast_impl(port_, that) + wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcast_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_ContextV1_process_response( +pub extern "C" fn frbgen_payjoin_flutter_wire_context_v_1_process_response( port_: i64, that: *mut wire_cst_context_v_1, response: *mut wire_cst_list_prim_u_8_loose, ) { - wire_ContextV1_process_response_impl(port_, that, response) + wire_context_v_1_process_response_impl(port_, that, response) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_ContextV2_process_response( +pub extern "C" fn frbgen_payjoin_flutter_wire_context_v_2_process_response( port_: i64, that: *mut wire_cst_context_v_2, response: *mut wire_cst_list_prim_u_8_loose, ) { - wire_ContextV2_process_response_impl(port_, that, response) + wire_context_v_2_process_response_impl(port_, that, response) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_RequestBuilder_always_disable_output_substitution( +pub extern "C" fn frbgen_payjoin_flutter_wire_request_builder_always_disable_output_substitution( port_: i64, that: *mut wire_cst_request_builder, disable: bool, ) { - wire_RequestBuilder_always_disable_output_substitution_impl(port_, that, disable) + wire_request_builder_always_disable_output_substitution_impl(port_, that, disable) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_RequestBuilder_build_non_incentivizing( +pub extern "C" fn frbgen_payjoin_flutter_wire_request_builder_build_non_incentivizing( port_: i64, that: *mut wire_cst_request_builder, ) { - wire_RequestBuilder_build_non_incentivizing_impl(port_, that) + wire_request_builder_build_non_incentivizing_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_RequestBuilder_build_recommended( +pub extern "C" fn frbgen_payjoin_flutter_wire_request_builder_build_recommended( port_: i64, that: *mut wire_cst_request_builder, min_fee_rate: u64, ) { - wire_RequestBuilder_build_recommended_impl(port_, that, min_fee_rate) + wire_request_builder_build_recommended_impl(port_, that, min_fee_rate) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_RequestBuilder_build_with_additional_fee( +pub extern "C" fn frbgen_payjoin_flutter_wire_request_builder_build_with_additional_fee( port_: i64, that: *mut wire_cst_request_builder, max_fee_contribution: u64, @@ -1702,7 +1647,7 @@ pub extern "C" fn frbgen_payjoin_flutter_wire_RequestBuilder_build_with_addition min_fee_rate: u64, clamp_fee_contribution: bool, ) { - wire_RequestBuilder_build_with_additional_fee_impl( + wire_request_builder_build_with_additional_fee_impl( port_, that, max_fee_contribution, @@ -1713,65 +1658,60 @@ pub extern "C" fn frbgen_payjoin_flutter_wire_RequestBuilder_build_with_addition } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_RequestBuilder_from_psbt_and_uri( +pub extern "C" fn frbgen_payjoin_flutter_wire_request_builder_from_psbt_and_uri( port_: i64, psbt_base64: *mut wire_cst_list_prim_u_8_strict, uri: *mut wire_cst_uri, ) { - wire_RequestBuilder_from_psbt_and_uri_impl(port_, psbt_base64, uri) + wire_request_builder_from_psbt_and_uri_impl(port_, psbt_base64, uri) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_RequestBuilder_new(port_: i64) { - wire_RequestBuilder_new_impl(port_) -} - -#[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_RequestContext_extract_v1( +pub extern "C" fn frbgen_payjoin_flutter_wire_request_context_extract_v1( port_: i64, that: *mut wire_cst_request_context, ) { - wire_RequestContext_extract_v1_impl(port_, that) + wire_request_context_extract_v1_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_RequestContext_extract_v2( +pub extern "C" fn frbgen_payjoin_flutter_wire_request_context_extract_v2( port_: i64, that: *mut wire_cst_request_context, ohttp_proxy_url: *mut wire_cst_list_prim_u_8_strict, ) { - wire_RequestContext_extract_v2_impl(port_, that, ohttp_proxy_url) + wire_request_context_extract_v2_impl(port_, that, ohttp_proxy_url) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_Uri_address(port_: i64, that: *mut wire_cst_uri) { - wire_Uri_address_impl(port_, that) +pub extern "C" fn frbgen_payjoin_flutter_wire_uri_address(port_: i64, that: *mut wire_cst_uri) { + wire_uri_address_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_Uri_amount(port_: i64, that: *mut wire_cst_uri) { - wire_Uri_amount_impl(port_, that) +pub extern "C" fn frbgen_payjoin_flutter_wire_uri_amount(port_: i64, that: *mut wire_cst_uri) { + wire_uri_amount_impl(port_, that) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_Uri_from_str( +pub extern "C" fn frbgen_payjoin_flutter_wire_uri_from_str( port_: i64, uri: *mut wire_cst_list_prim_u_8_strict, ) { - wire_Uri_from_str_impl(port_, uri) + wire_uri_from_str_impl(port_, uri) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_Url_from_str( +pub extern "C" fn frbgen_payjoin_flutter_wire_url_from_str( port_: i64, url: *mut wire_cst_list_prim_u_8_strict, ) { - wire_Url_from_str_impl(port_, url) + wire_url_from_str_impl(port_, url) } #[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_wire_Url_query(port_: i64, that: *mut wire_cst_url) { - wire_Url_query_impl(port_, that) +pub extern "C" fn frbgen_payjoin_flutter_wire_url_query(port_: i64, that: *mut wire_cst_url) { + wire_url_query_impl(port_, that) } #[no_mangle] @@ -2162,42 +2102,6 @@ pub extern "C" fn frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpa } } -#[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ptr: *const std::ffi::c_void, -) { - unsafe { - StdArc::>>::increment_strong_count(ptr as _); - } -} - -#[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ptr: *const std::ffi::c_void, -) { - unsafe { - StdArc::>>::decrement_strong_count(ptr as _); - } -} - -#[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ptr: *const std::ffi::c_void, -) { - unsafe { - StdArc::>>::increment_strong_count(ptr as _); - } -} - -#[no_mangle] -pub extern "C" fn frbgen_payjoin_flutter_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ptr: *const std::ffi::c_void, -) { - unsafe { - StdArc::>>::decrement_strong_count(ptr as _); - } -} - #[no_mangle] pub extern "C" fn frbgen_payjoin_flutter_rust_arc_increment_strong_count_RustOpaque_payjoin_ffireceivev1UncheckedProposal( ptr: *const std::ffi::c_void, @@ -2549,7 +2453,7 @@ pub struct wire_cst_enroller { #[repr(C)] #[derive(Clone, Copy)] pub struct wire_cst_headers { - field0: *mut wire_cst_list_record_string_string, + map: *mut wire_cst_list_record_string_string, } #[repr(C)] #[derive(Clone, Copy)] @@ -2738,6 +2642,12 @@ pub struct wire_cst_provisional_proposal { } #[repr(C)] #[derive(Clone, Copy)] +pub struct wire_cst_record_record_url_list_prim_u_8_strict_client_response { + field0: wire_cst_record_url_list_prim_u_8_strict, + field1: wire_cst_client_response, +} +#[repr(C)] +#[derive(Clone, Copy)] pub struct wire_cst_record_string_string { field0: *mut wire_cst_list_prim_u_8_strict, field1: *mut wire_cst_list_prim_u_8_strict, @@ -2750,9 +2660,9 @@ pub struct wire_cst_record_u_64_out_point { } #[repr(C)] #[derive(Clone, Copy)] -pub struct wire_cst_request { - url: wire_cst_url, - body: *mut wire_cst_list_prim_u_8_strict, +pub struct wire_cst_record_url_list_prim_u_8_strict { + field0: wire_cst_url, + field1: *mut wire_cst_list_prim_u_8_strict, } #[repr(C)] #[derive(Clone, Copy)] @@ -2767,23 +2677,17 @@ pub struct wire_cst_request_context { #[repr(C)] #[derive(Clone, Copy)] pub struct wire_cst_request_context_v_1 { - request: wire_cst_request, + request: wire_cst_record_url_list_prim_u_8_strict, context_v1: wire_cst_context_v_1, } #[repr(C)] #[derive(Clone, Copy)] pub struct wire_cst_request_context_v_2 { - request: wire_cst_request, + request: wire_cst_record_url_list_prim_u_8_strict, context_v2: wire_cst_context_v_2, } #[repr(C)] #[derive(Clone, Copy)] -pub struct wire_cst_request_response { - request: wire_cst_request, - client_response: wire_cst_client_response, -} -#[repr(C)] -#[derive(Clone, Copy)] pub struct wire_cst_tx_out { value: u64, script_pubkey: *mut wire_cst_list_prim_u_8_strict, diff --git a/rust/src/frb_generated.rs b/rust/src/frb_generated.rs index bc53d56..d629ede 100644 --- a/rust/src/frb_generated.rs +++ b/rust/src/frb_generated.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. #![allow( non_camel_case_types, @@ -32,7 +32,8 @@ flutter_rust_bridge::frb_generated_boilerplate!( default_rust_opaque = RustOpaqueNom, default_rust_auto_opaque = RustAutoOpaqueNom, ); -const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.0.0-dev.28"; +pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.0.0-dev.32"; +pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = 812692583; // Section: executor @@ -40,13 +41,13 @@ flutter_rust_bridge::frb_generated_default_handler!(); // Section: wire_funcs -fn wire_Enrolled_extract_req_impl( +fn wire_enrolled_extract_req_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Enrolled_extract_req", + debug_name: "enrolled_extract_req", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -60,13 +61,13 @@ fn wire_Enrolled_extract_req_impl( }, ) } -fn wire_Enrolled_fallback_target_impl( +fn wire_enrolled_fallback_target_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Enrolled_fallback_target", + debug_name: "enrolled_fallback_target", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -80,7 +81,7 @@ fn wire_Enrolled_fallback_target_impl( }, ) } -fn wire_Enrolled_process_res_impl( +fn wire_enrolled_process_res_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, body: impl CstDecode>, @@ -88,7 +89,7 @@ fn wire_Enrolled_process_res_impl( ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Enrolled_process_res", + debug_name: "enrolled_process_res", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -104,13 +105,13 @@ fn wire_Enrolled_process_res_impl( }, ) } -fn wire_Enrolled_subdirectory_impl( +fn wire_enrolled_subdirectory_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Enrolled_subdirectory", + debug_name: "enrolled_subdirectory", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -124,13 +125,13 @@ fn wire_Enrolled_subdirectory_impl( }, ) } -fn wire_Enroller_extract_req_impl( +fn wire_enroller_extract_req_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Enroller_extract_req", + debug_name: "enroller_extract_req", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -144,7 +145,7 @@ fn wire_Enroller_extract_req_impl( }, ) } -fn wire_Enroller_from_relay_config_impl( +fn wire_enroller_from_relay_config_impl( port_: flutter_rust_bridge::for_generated::MessagePort, relay_url: impl CstDecode, ohttp_config_base64: impl CstDecode, @@ -152,7 +153,7 @@ fn wire_Enroller_from_relay_config_impl( ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Enroller_from_relay_config", + debug_name: "enroller_from_relay_config", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -172,13 +173,13 @@ fn wire_Enroller_from_relay_config_impl( }, ) } -fn wire_Enroller_payjoin_subdir_impl( +fn wire_enroller_payjoin_subdir_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Enroller_payjoin_subdir", + debug_name: "enroller_payjoin_subdir", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -192,7 +193,7 @@ fn wire_Enroller_payjoin_subdir_impl( }, ) } -fn wire_Enroller_process_res_impl( +fn wire_enroller_process_res_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, body: impl CstDecode>, @@ -200,7 +201,7 @@ fn wire_Enroller_process_res_impl( ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Enroller_process_res", + debug_name: "enroller_process_res", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -216,13 +217,13 @@ fn wire_Enroller_process_res_impl( }, ) } -fn wire_Enroller_subdirectory_impl( +fn wire_enroller_subdirectory_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Enroller_subdirectory", + debug_name: "enroller_subdirectory", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -236,45 +237,25 @@ fn wire_Enroller_subdirectory_impl( }, ) } -fn wire_Headers_from_vec_impl( +fn wire_maybe_inputs_owned_check_inputs_not_owned_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - body: impl CstDecode>, -) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Headers_from_vec", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - let api_body = body.cst_decode(); - move |context| { - transform_result_dco((move || { - Result::<_, ()>::Ok(crate::api::receive::Headers::from_vec(api_body)) - })()) - } - }, - ) -} -fn wire_MaybeInputsOwned_check_inputs_not_owned_impl( - port_: flutter_rust_bridge::for_generated::MessagePort, - that: impl CstDecode, + ptr: impl CstDecode, is_owned: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "MaybeInputsOwned_check_inputs_not_owned", + debug_name: "maybe_inputs_owned_check_inputs_not_owned", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let api_that = that.cst_decode(); + let api_ptr = ptr.cst_decode(); let api_is_owned = decode_DartFn_Inputs_list_prim_u_8_strict_Output_bool(is_owned.cst_decode()); move |context| { transform_result_dco((move || { crate::api::receive::MaybeInputsOwned::check_inputs_not_owned( - &api_that, + api_ptr, api_is_owned, ) })()) @@ -282,24 +263,24 @@ fn wire_MaybeInputsOwned_check_inputs_not_owned_impl( }, ) } -fn wire_MaybeInputsSeen_check_no_inputs_seen_before_impl( +fn wire_maybe_inputs_seen_check_no_inputs_seen_before_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - that: impl CstDecode, + ptr: impl CstDecode, is_known: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "MaybeInputsSeen_check_no_inputs_seen_before", + debug_name: "maybe_inputs_seen_check_no_inputs_seen_before", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let api_that = that.cst_decode(); + let api_ptr = ptr.cst_decode(); let api_is_known = decode_DartFn_Inputs_out_point_Output_bool(is_known.cst_decode()); move |context| { transform_result_dco((move || { crate::api::receive::MaybeInputsSeen::check_no_inputs_seen_before( - &api_that, + api_ptr, api_is_known, ) })()) @@ -307,48 +288,48 @@ fn wire_MaybeInputsSeen_check_no_inputs_seen_before_impl( }, ) } -fn wire_MaybeMixedInputScripts_check_no_mixed_input_scripts_impl( +fn wire_maybe_mixed_input_scripts_check_no_mixed_input_scripts_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - that: impl CstDecode, + ptr: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "MaybeMixedInputScripts_check_no_mixed_input_scripts", + debug_name: "maybe_mixed_input_scripts_check_no_mixed_input_scripts", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let api_that = that.cst_decode(); + let api_ptr = ptr.cst_decode(); move |context| { transform_result_dco((move || { crate::api::receive::MaybeMixedInputScripts::check_no_mixed_input_scripts( - &api_that, + api_ptr, ) })()) } }, ) } -fn wire_OutputsUnknown_identify_receiver_outputs_impl( +fn wire_outputs_unknown_identify_receiver_outputs_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - that: impl CstDecode, + ptr: impl CstDecode, is_receiver_output: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "OutputsUnknown_identify_receiver_outputs", + debug_name: "outputs_unknown_identify_receiver_outputs", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let api_that = that.cst_decode(); + let api_ptr = ptr.cst_decode(); let api_is_receiver_output = decode_DartFn_Inputs_list_prim_u_8_strict_Output_bool( is_receiver_output.cst_decode(), ); move |context| { transform_result_dco((move || { crate::api::receive::OutputsUnknown::identify_receiver_outputs( - &api_that, + api_ptr, api_is_receiver_output, ) })()) @@ -356,13 +337,13 @@ fn wire_OutputsUnknown_identify_receiver_outputs_impl( }, ) } -fn wire_PayjoinProposal_is_output_substitution_disabled_impl( +fn wire_payjoin_proposal_is_output_substitution_disabled_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "PayjoinProposal_is_output_substitution_disabled", + debug_name: "payjoin_proposal_is_output_substitution_disabled", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -380,13 +361,13 @@ fn wire_PayjoinProposal_is_output_substitution_disabled_impl( }, ) } -fn wire_PayjoinProposal_owned_vouts_impl( +fn wire_payjoin_proposal_owned_vouts_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "PayjoinProposal_owned_vouts", + debug_name: "payjoin_proposal_owned_vouts", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -402,13 +383,13 @@ fn wire_PayjoinProposal_owned_vouts_impl( }, ) } -fn wire_PayjoinProposal_psbt_impl( +fn wire_payjoin_proposal_psbt_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "PayjoinProposal_psbt", + debug_name: "payjoin_proposal_psbt", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -422,13 +403,13 @@ fn wire_PayjoinProposal_psbt_impl( }, ) } -fn wire_PayjoinProposal_utxos_to_be_locked_impl( +fn wire_payjoin_proposal_utxos_to_be_locked_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "PayjoinProposal_utxos_to_be_locked", + debug_name: "payjoin_proposal_utxos_to_be_locked", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -444,15 +425,15 @@ fn wire_PayjoinProposal_utxos_to_be_locked_impl( }, ) } -fn wire_ProvisionalProposal_contribute_non_witness_input_impl( +fn wire_provisional_proposal_contribute_non_witness_input_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, tx: impl CstDecode>, - outpoint: impl CstDecode, + outpoint: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ProvisionalProposal_contribute_non_witness_input", + debug_name: "provisional_proposal_contribute_non_witness_input", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -472,15 +453,15 @@ fn wire_ProvisionalProposal_contribute_non_witness_input_impl( }, ) } -fn wire_ProvisionalProposal_contribute_witness_input_impl( +fn wire_provisional_proposal_contribute_witness_input_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, - txo: impl CstDecode, - outpoint: impl CstDecode, + txo: impl CstDecode, + outpoint: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ProvisionalProposal_contribute_witness_input", + debug_name: "provisional_proposal_contribute_witness_input", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -500,27 +481,27 @@ fn wire_ProvisionalProposal_contribute_witness_input_impl( }, ) } -fn wire_ProvisionalProposal_finalize_proposal_impl( +fn wire_provisional_proposal_finalize_proposal_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - that: impl CstDecode, + ptr: impl CstDecode, process_psbt: impl CstDecode, min_feerate_sat_per_vb: impl CstDecode>, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ProvisionalProposal_finalize_proposal", + debug_name: "provisional_proposal_finalize_proposal", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let api_that = that.cst_decode(); + let api_ptr = ptr.cst_decode(); let api_process_psbt = decode_DartFn_Inputs_String_Output_String(process_psbt.cst_decode()); let api_min_feerate_sat_per_vb = min_feerate_sat_per_vb.cst_decode(); move |context| { transform_result_dco((move || { crate::api::receive::ProvisionalProposal::finalize_proposal( - &api_that, + api_ptr, api_process_psbt, api_min_feerate_sat_per_vb, ) @@ -529,14 +510,14 @@ fn wire_ProvisionalProposal_finalize_proposal_impl( }, ) } -fn wire_ProvisionalProposal_substitute_output_address_impl( +fn wire_provisional_proposal_substitute_output_address_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, address: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ProvisionalProposal_substitute_output_address", + debug_name: "provisional_proposal_substitute_output_address", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -554,14 +535,14 @@ fn wire_ProvisionalProposal_substitute_output_address_impl( }, ) } -fn wire_ProvisionalProposal_try_preserving_privacy_impl( +fn wire_provisional_proposal_try_preserving_privacy_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, - candidate_inputs: impl CstDecode>, + candidate_inputs: impl CstDecode>, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ProvisionalProposal_try_preserving_privacy", + debug_name: "provisional_proposal_try_preserving_privacy", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -579,23 +560,23 @@ fn wire_ProvisionalProposal_try_preserving_privacy_impl( }, ) } -fn wire_UncheckedProposal_assume_interactive_receiver_impl( +fn wire_unchecked_proposal_assume_interactive_receiver_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - that: impl CstDecode, + ptr: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UncheckedProposal_assume_interactive_receiver", + debug_name: "unchecked_proposal_assume_interactive_receiver", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let api_that = that.cst_decode(); + let api_ptr = ptr.cst_decode(); move |context| { transform_result_dco((move || { Result::<_, ()>::Ok( crate::api::receive::UncheckedProposal::assume_interactive_receiver( - &api_that, + api_ptr, ), ) })()) @@ -603,27 +584,27 @@ fn wire_UncheckedProposal_assume_interactive_receiver_impl( }, ) } -fn wire_UncheckedProposal_check_broadcast_suitability_impl( +fn wire_unchecked_proposal_check_broadcast_suitability_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - that: impl CstDecode, + ptr: impl CstDecode, min_fee_rate: impl CstDecode>, can_broadcast: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UncheckedProposal_check_broadcast_suitability", + debug_name: "unchecked_proposal_check_broadcast_suitability", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let api_that = that.cst_decode(); + let api_ptr = ptr.cst_decode(); let api_min_fee_rate = min_fee_rate.cst_decode(); let api_can_broadcast = decode_DartFn_Inputs_list_prim_u_8_strict_Output_bool(can_broadcast.cst_decode()); move |context| { transform_result_dco((move || { crate::api::receive::UncheckedProposal::check_broadcast_suitability( - &api_that, + api_ptr, api_min_fee_rate, api_can_broadcast, ) @@ -632,13 +613,13 @@ fn wire_UncheckedProposal_check_broadcast_suitability_impl( }, ) } -fn wire_UncheckedProposal_extract_tx_to_schedule_broadcast_impl( +fn wire_unchecked_proposal_extract_tx_to_schedule_broadcast_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UncheckedProposal_extract_tx_to_schedule_broadcast", + debug_name: "unchecked_proposal_extract_tx_to_schedule_broadcast", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -656,15 +637,15 @@ fn wire_UncheckedProposal_extract_tx_to_schedule_broadcast_impl( }, ) } -fn wire_UncheckedProposal_from_request_impl( +fn wire_unchecked_proposal_from_request_impl( port_: flutter_rust_bridge::for_generated::MessagePort, body: impl CstDecode>, query: impl CstDecode, - headers: impl CstDecode, + headers: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "UncheckedProposal_from_request", + debug_name: "unchecked_proposal_from_request", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -684,14 +665,14 @@ fn wire_UncheckedProposal_from_request_impl( }, ) } -fn wire_V2MaybeInputsOwned_check_inputs_not_owned_impl( +fn wire_v_2_maybe_inputs_owned_check_inputs_not_owned_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, is_owned: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2MaybeInputsOwned_check_inputs_not_owned", + debug_name: "v_2_maybe_inputs_owned_check_inputs_not_owned", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -710,14 +691,14 @@ fn wire_V2MaybeInputsOwned_check_inputs_not_owned_impl( }, ) } -fn wire_V2MaybeInputsSeen_check_no_inputs_seen_before_impl( +fn wire_v_2_maybe_inputs_seen_check_no_inputs_seen_before_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, is_known: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2MaybeInputsSeen_check_no_inputs_seen_before", + debug_name: "v_2_maybe_inputs_seen_check_no_inputs_seen_before", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -735,13 +716,13 @@ fn wire_V2MaybeInputsSeen_check_no_inputs_seen_before_impl( }, ) } -fn wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts_impl( +fn wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2MaybeMixedInputScripts_check_no_mixed_input_scripts", + debug_name: "v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -757,14 +738,14 @@ fn wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts_impl( }, ) } -fn wire_V2OutputsUnknown_identify_receiver_outputs_impl( +fn wire_v_2_outputs_unknown_identify_receiver_outputs_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, is_receiver_output: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2OutputsUnknown_identify_receiver_outputs", + debug_name: "v_2_outputs_unknown_identify_receiver_outputs", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -784,7 +765,7 @@ fn wire_V2OutputsUnknown_identify_receiver_outputs_impl( }, ) } -fn wire_V2PayjoinProposal_deserialize_res_impl( +fn wire_v_2_payjoin_proposal_deserialize_res_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, res: impl CstDecode>, @@ -792,7 +773,7 @@ fn wire_V2PayjoinProposal_deserialize_res_impl( ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2PayjoinProposal_deserialize_res", + debug_name: "v_2_payjoin_proposal_deserialize_res", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -812,13 +793,13 @@ fn wire_V2PayjoinProposal_deserialize_res_impl( }, ) } -fn wire_V2PayjoinProposal_extract_v1_req_impl( +fn wire_v_2_payjoin_proposal_extract_v1_req_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2PayjoinProposal_extract_v1_req", + debug_name: "v_2_payjoin_proposal_extract_v1_req", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -834,13 +815,13 @@ fn wire_V2PayjoinProposal_extract_v1_req_impl( }, ) } -fn wire_V2PayjoinProposal_extract_v2_req_impl( +fn wire_v_2_payjoin_proposal_extract_v2_req_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2PayjoinProposal_extract_v2_req", + debug_name: "v_2_payjoin_proposal_extract_v2_req", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -854,13 +835,13 @@ fn wire_V2PayjoinProposal_extract_v2_req_impl( }, ) } -fn wire_V2PayjoinProposal_is_output_substitution_disabled_impl( +fn wire_v_2_payjoin_proposal_is_output_substitution_disabled_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2PayjoinProposal_is_output_substitution_disabled", + debug_name: "v_2_payjoin_proposal_is_output_substitution_disabled", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -878,13 +859,13 @@ fn wire_V2PayjoinProposal_is_output_substitution_disabled_impl( }, ) } -fn wire_V2PayjoinProposal_owned_vouts_impl( +fn wire_v_2_payjoin_proposal_owned_vouts_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2PayjoinProposal_owned_vouts", + debug_name: "v_2_payjoin_proposal_owned_vouts", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -900,13 +881,13 @@ fn wire_V2PayjoinProposal_owned_vouts_impl( }, ) } -fn wire_V2PayjoinProposal_psbt_impl( +fn wire_v_2_payjoin_proposal_psbt_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2PayjoinProposal_psbt", + debug_name: "v_2_payjoin_proposal_psbt", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -920,13 +901,13 @@ fn wire_V2PayjoinProposal_psbt_impl( }, ) } -fn wire_V2PayjoinProposal_utxos_to_be_locked_impl( +fn wire_v_2_payjoin_proposal_utxos_to_be_locked_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2PayjoinProposal_utxos_to_be_locked", + debug_name: "v_2_payjoin_proposal_utxos_to_be_locked", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -942,15 +923,15 @@ fn wire_V2PayjoinProposal_utxos_to_be_locked_impl( }, ) } -fn wire_V2ProvisionalProposal_contribute_non_witness_input_impl( +fn wire_v_2_provisional_proposal_contribute_non_witness_input_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, tx: impl CstDecode>, - outpoint: impl CstDecode, + outpoint: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2ProvisionalProposal_contribute_non_witness_input", + debug_name: "v_2_provisional_proposal_contribute_non_witness_input", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -970,15 +951,15 @@ fn wire_V2ProvisionalProposal_contribute_non_witness_input_impl( }, ) } -fn wire_V2ProvisionalProposal_contribute_witness_input_impl( +fn wire_v_2_provisional_proposal_contribute_witness_input_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, - txo: impl CstDecode, - outpoint: impl CstDecode, + txo: impl CstDecode, + outpoint: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2ProvisionalProposal_contribute_witness_input", + debug_name: "v_2_provisional_proposal_contribute_witness_input", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -998,7 +979,7 @@ fn wire_V2ProvisionalProposal_contribute_witness_input_impl( }, ) } -fn wire_V2ProvisionalProposal_finalize_proposal_impl( +fn wire_v_2_provisional_proposal_finalize_proposal_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, process_psbt: impl CstDecode, @@ -1006,7 +987,7 @@ fn wire_V2ProvisionalProposal_finalize_proposal_impl( ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2ProvisionalProposal_finalize_proposal", + debug_name: "v_2_provisional_proposal_finalize_proposal", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1027,14 +1008,14 @@ fn wire_V2ProvisionalProposal_finalize_proposal_impl( }, ) } -fn wire_V2ProvisionalProposal_substitute_output_address_impl( +fn wire_v_2_provisional_proposal_substitute_output_address_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, address: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2ProvisionalProposal_substitute_output_address", + debug_name: "v_2_provisional_proposal_substitute_output_address", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1052,14 +1033,14 @@ fn wire_V2ProvisionalProposal_substitute_output_address_impl( }, ) } -fn wire_V2ProvisionalProposal_try_preserving_privacy_impl( +fn wire_v_2_provisional_proposal_try_preserving_privacy_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, - candidate_inputs: impl CstDecode>, + candidate_inputs: impl CstDecode>, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2ProvisionalProposal_try_preserving_privacy", + debug_name: "v_2_provisional_proposal_try_preserving_privacy", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1077,13 +1058,13 @@ fn wire_V2ProvisionalProposal_try_preserving_privacy_impl( }, ) } -fn wire_V2UncheckedProposal_assume_interactive_receiver_impl( +fn wire_v_2_unchecked_proposal_assume_interactive_receiver_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2UncheckedProposal_assume_interactive_receiver", + debug_name: "v_2_unchecked_proposal_assume_interactive_receiver", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1101,7 +1082,7 @@ fn wire_V2UncheckedProposal_assume_interactive_receiver_impl( }, ) } -fn wire_V2UncheckedProposal_check_broadcast_suitability_impl( +fn wire_v_2_unchecked_proposal_check_broadcast_suitability_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, min_fee_rate: impl CstDecode>, @@ -1109,7 +1090,7 @@ fn wire_V2UncheckedProposal_check_broadcast_suitability_impl( ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2UncheckedProposal_check_broadcast_suitability", + debug_name: "v_2_unchecked_proposal_check_broadcast_suitability", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1130,13 +1111,13 @@ fn wire_V2UncheckedProposal_check_broadcast_suitability_impl( }, ) } -fn wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast_impl( +fn wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcast_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "V2UncheckedProposal_extract_tx_to_schedule_broadcast", + debug_name: "v_2_unchecked_proposal_extract_tx_to_schedule_broadcast", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1154,14 +1135,14 @@ fn wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast_impl( }, ) } -fn wire_ContextV1_process_response_impl( +fn wire_context_v_1_process_response_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, response: impl CstDecode>, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ContextV1_process_response", + debug_name: "context_v_1_process_response", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1176,14 +1157,14 @@ fn wire_ContextV1_process_response_impl( }, ) } -fn wire_ContextV2_process_response_impl( +fn wire_context_v_2_process_response_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, response: impl CstDecode>, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "ContextV2_process_response", + debug_name: "context_v_2_process_response", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1198,14 +1179,14 @@ fn wire_ContextV2_process_response_impl( }, ) } -fn wire_RequestBuilder_always_disable_output_substitution_impl( +fn wire_request_builder_always_disable_output_substitution_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, disable: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "RequestBuilder_always_disable_output_substitution", + debug_name: "request_builder_always_disable_output_substitution", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1225,13 +1206,13 @@ fn wire_RequestBuilder_always_disable_output_substitution_impl( }, ) } -fn wire_RequestBuilder_build_non_incentivizing_impl( +fn wire_request_builder_build_non_incentivizing_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "RequestBuilder_build_non_incentivizing", + debug_name: "request_builder_build_non_incentivizing", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1245,14 +1226,14 @@ fn wire_RequestBuilder_build_non_incentivizing_impl( }, ) } -fn wire_RequestBuilder_build_recommended_impl( +fn wire_request_builder_build_recommended_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, min_fee_rate: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "RequestBuilder_build_recommended", + debug_name: "request_builder_build_recommended", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1267,7 +1248,7 @@ fn wire_RequestBuilder_build_recommended_impl( }, ) } -fn wire_RequestBuilder_build_with_additional_fee_impl( +fn wire_request_builder_build_with_additional_fee_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, max_fee_contribution: impl CstDecode, @@ -1277,7 +1258,7 @@ fn wire_RequestBuilder_build_with_additional_fee_impl( ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "RequestBuilder_build_with_additional_fee", + debug_name: "request_builder_build_with_additional_fee", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1301,14 +1282,14 @@ fn wire_RequestBuilder_build_with_additional_fee_impl( }, ) } -fn wire_RequestBuilder_from_psbt_and_uri_impl( +fn wire_request_builder_from_psbt_and_uri_impl( port_: flutter_rust_bridge::for_generated::MessagePort, psbt_base64: impl CstDecode, uri: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "RequestBuilder_from_psbt_and_uri", + debug_name: "request_builder_from_psbt_and_uri", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1323,29 +1304,13 @@ fn wire_RequestBuilder_from_psbt_and_uri_impl( }, ) } -fn wire_RequestBuilder_new_impl(port_: flutter_rust_bridge::for_generated::MessagePort) { - FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( - flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "RequestBuilder_new", - port: Some(port_), - mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, - }, - move || { - move |context| { - transform_result_dco((move || { - Result::<_, ()>::Ok(crate::api::send::RequestBuilder::new()) - })()) - } - }, - ) -} -fn wire_RequestContext_extract_v1_impl( +fn wire_request_context_extract_v1_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "RequestContext_extract_v1", + debug_name: "request_context_extract_v1", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1359,14 +1324,14 @@ fn wire_RequestContext_extract_v1_impl( }, ) } -fn wire_RequestContext_extract_v2_impl( +fn wire_request_context_extract_v2_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ohttp_proxy_url: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "RequestContext_extract_v2", + debug_name: "request_context_extract_v2", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1381,13 +1346,13 @@ fn wire_RequestContext_extract_v2_impl( }, ) } -fn wire_Uri_address_impl( +fn wire_uri_address_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Uri_address", + debug_name: "uri_address", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1401,13 +1366,13 @@ fn wire_Uri_address_impl( }, ) } -fn wire_Uri_amount_impl( +fn wire_uri_amount_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Uri_amount", + debug_name: "uri_amount", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1421,13 +1386,13 @@ fn wire_Uri_amount_impl( }, ) } -fn wire_Uri_from_str_impl( +fn wire_uri_from_str_impl( port_: flutter_rust_bridge::for_generated::MessagePort, uri: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Uri_from_str", + debug_name: "uri_from_str", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1437,13 +1402,13 @@ fn wire_Uri_from_str_impl( }, ) } -fn wire_Url_from_str_impl( +fn wire_url_from_str_impl( port_: flutter_rust_bridge::for_generated::MessagePort, url: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Url_from_str", + debug_name: "url_from_str", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1453,13 +1418,13 @@ fn wire_Url_from_str_impl( }, ) } -fn wire_Url_query_impl( +fn wire_url_query_impl( port_: flutter_rust_bridge::for_generated::MessagePort, that: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { - debug_name: "Url_query", + debug_name: "url_query", port: Some(port_), mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, @@ -1518,12 +1483,12 @@ fn decode_DartFn_Inputs_list_prim_u_8_strict_Output_bool( } fn decode_DartFn_Inputs_out_point_Output_bool( dart_opaque: flutter_rust_bridge::DartOpaque, -) -> impl Fn(crate::api::receive::OutPoint) -> flutter_rust_bridge::DartFnFuture { +) -> impl Fn(crate::utils::types::OutPoint) -> flutter_rust_bridge::DartFnFuture { use flutter_rust_bridge::IntoDart; async fn body( dart_opaque: flutter_rust_bridge::DartOpaque, - arg0: crate::api::receive::OutPoint, + arg0: crate::utils::types::OutPoint, ) -> bool { let args = vec![arg0.into_into_dart().into_dart()]; let message = FLUTTER_RUST_BRIDGE_HANDLER @@ -1532,7 +1497,7 @@ fn decode_DartFn_Inputs_out_point_Output_bool( ::sse_decode_single(message) } - move |arg0: crate::api::receive::OutPoint| { + move |arg0: crate::utils::types::OutPoint| { flutter_rust_bridge::for_generated::convert_into_dart_fn_future(body( dart_opaque.clone(), arg0, @@ -1572,26 +1537,6 @@ impl CstDecode for usize { self } } -impl SseDecode for Arc { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return inner.rust_auto_opaque_decode_owned(); - } -} - -impl SseDecode for Arc { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >, - >>::sse_decode(deserializer); - return inner.rust_auto_opaque_decode_owned(); - } -} - impl SseDecode for flutter_rust_bridge::DartOpaque { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { @@ -1608,10 +1553,10 @@ impl SseDecode for std::collections::HashMap { } } -impl SseDecode for std::collections::HashMap { +impl SseDecode for std::collections::HashMap { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = >::sse_decode(deserializer); + let mut inner = >::sse_decode(deserializer); return inner.into_iter().collect(); } } @@ -1776,30 +1721,6 @@ impl SseDecode for RustOpaqueNom>> { } } -impl SseDecode - for RustOpaqueNom< - flutter_rust_bridge::for_generated::rust_async::RwLock>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return unsafe { decode_rust_opaque_nom(inner) }; - } -} - -impl SseDecode - for RustOpaqueNom< - flutter_rust_bridge::for_generated::rust_async::RwLock>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { - let mut inner = ::sse_decode(deserializer); - return unsafe { decode_rust_opaque_nom(inner) }; - } -} - impl SseDecode for RustOpaqueNom { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { @@ -1884,21 +1805,21 @@ impl SseDecode for crate::api::receive::Enroller { } } -impl SseDecode for crate::api::receive::Headers { +impl SseDecode for crate::utils::types::Headers { // 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_field0 = >::sse_decode(deserializer); - return crate::api::receive::Headers(var_field0); + let mut var_map = >::sse_decode(deserializer); + return crate::utils::types::Headers { map: var_map }; } } -impl SseDecode for Vec { +impl SseDecode for Vec { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { let mut len_ = ::sse_decode(deserializer); let mut ans_ = vec![]; for idx_ in 0..len_ { - ans_.push(::sse_decode(deserializer)); + ans_.push(::sse_decode(deserializer)); } return ans_; } @@ -1940,13 +1861,13 @@ impl SseDecode for Vec<(String, String)> { } } -impl SseDecode for Vec<(u64, crate::api::receive::OutPoint)> { +impl SseDecode for Vec<(u64, crate::utils::types::OutPoint)> { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { let mut len_ = ::sse_decode(deserializer); let mut ans_ = vec![]; for idx_ in 0..len_ { - ans_.push(<(u64, crate::api::receive::OutPoint)>::sse_decode( + ans_.push(<(u64, crate::utils::types::OutPoint)>::sse_decode( deserializer, )); } @@ -2033,12 +1954,12 @@ impl SseDecode for Option { } } -impl SseDecode for crate::api::receive::OutPoint { +impl SseDecode for crate::utils::types::OutPoint { // 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_txid = ::sse_decode(deserializer); let mut var_vout = ::sse_decode(deserializer); - return crate::api::receive::OutPoint { + return crate::utils::types::OutPoint { txid: var_txid, vout: var_vout, }; @@ -2192,6 +2113,20 @@ impl SseDecode for crate::api::receive::ProvisionalProposal { } } +impl SseDecode + for ( + (crate::api::uri::Url, Vec), + crate::api::receive::ClientResponse, + ) +{ + // 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_field0 = <(crate::api::uri::Url, Vec)>::sse_decode(deserializer); + let mut var_field1 = ::sse_decode(deserializer); + return (var_field0, var_field1); + } +} + impl SseDecode for (String, String) { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { @@ -2201,24 +2136,21 @@ impl SseDecode for (String, String) { } } -impl SseDecode for (u64, crate::api::receive::OutPoint) { +impl SseDecode for (u64, crate::utils::types::OutPoint) { // 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_field0 = ::sse_decode(deserializer); - let mut var_field1 = ::sse_decode(deserializer); + let mut var_field1 = ::sse_decode(deserializer); return (var_field0, var_field1); } } -impl SseDecode for crate::api::send::Request { +impl SseDecode for (crate::api::uri::Url, Vec) { // 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_url = ::sse_decode(deserializer); - let mut var_body = >::sse_decode(deserializer); - return crate::api::send::Request { - url: var_url, - body: var_body, - }; + let mut var_field0 = ::sse_decode(deserializer); + let mut var_field1 = >::sse_decode(deserializer); + return (var_field0, var_field1); } } @@ -2243,7 +2175,7 @@ impl SseDecode for crate::api::send::RequestContext { impl SseDecode for crate::api::send::RequestContextV1 { // 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_request = ::sse_decode(deserializer); + let mut var_request = <(crate::api::uri::Url, Vec)>::sse_decode(deserializer); let mut var_contextV1 = ::sse_decode(deserializer); return crate::api::send::RequestContextV1 { request: var_request, @@ -2255,7 +2187,7 @@ impl SseDecode for crate::api::send::RequestContextV1 { impl SseDecode for crate::api::send::RequestContextV2 { // 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_request = ::sse_decode(deserializer); + let mut var_request = <(crate::api::uri::Url, Vec)>::sse_decode(deserializer); let mut var_contextV2 = ::sse_decode(deserializer); return crate::api::send::RequestContextV2 { request: var_request, @@ -2264,25 +2196,12 @@ impl SseDecode for crate::api::send::RequestContextV2 { } } -impl SseDecode for crate::api::receive::RequestResponse { - // 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_request = ::sse_decode(deserializer); - let mut var_clientResponse = - ::sse_decode(deserializer); - return crate::api::receive::RequestResponse { - request: var_request, - client_response: var_clientResponse, - }; - } -} - -impl SseDecode for crate::api::receive::TxOut { +impl SseDecode for crate::utils::types::TxOut { // 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_value = ::sse_decode(deserializer); let mut var_scriptPubkey = >::sse_decode(deserializer); - return crate::api::receive::TxOut { + return crate::utils::types::TxOut { value: var_value, script_pubkey: var_scriptPubkey, }; @@ -2458,36 +2377,6 @@ fn pde_ffi_dispatcher_sync_impl( // Section: rust2dart -pub struct Local_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - Arc, -); -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for Local_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, StdArc<_>>(self.0).into_dart() - } - } -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for Local_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned {} -impl flutter_rust_bridge::IntoIntoDart for Arc < V2MaybeInputsOwned > { - fn into_into_dart(self) -> Local_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned { - Local_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned(self) - } - } -pub struct Local_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - Arc, -); -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for Local_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, StdArc<_>>(self.0).into_dart() - } - } -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for Local_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen {} -impl flutter_rust_bridge::IntoIntoDart for Arc < V2MaybeInputsSeen > { - fn into_into_dart(self) -> Local_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen { - Local_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen(self) - } - } // Codec=Dco (DartCObject based), see doc to use other codecs impl flutter_rust_bridge::IntoDart for crate::api::receive::ClientResponse { fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { @@ -2562,16 +2451,16 @@ impl flutter_rust_bridge::IntoIntoDart } } // Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for crate::api::receive::Headers { +impl flutter_rust_bridge::IntoDart for crate::utils::types::Headers { fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - [self.0.into_into_dart().into_dart()].into_dart() + [self.map.into_into_dart().into_dart()].into_dart() } } -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::api::receive::Headers {} -impl flutter_rust_bridge::IntoIntoDart - for crate::api::receive::Headers +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::utils::types::Headers {} +impl flutter_rust_bridge::IntoIntoDart + for crate::utils::types::Headers { - fn into_into_dart(self) -> crate::api::receive::Headers { + fn into_into_dart(self) -> crate::utils::types::Headers { self } } @@ -2627,7 +2516,7 @@ impl flutter_rust_bridge::IntoIntoDart flutter_rust_bridge::for_generated::DartAbi { [ self.txid.into_into_dart().into_dart(), @@ -2636,11 +2525,11 @@ impl flutter_rust_bridge::IntoDart for crate::api::receive::OutPoint { .into_dart() } } -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::api::receive::OutPoint {} -impl flutter_rust_bridge::IntoIntoDart - for crate::api::receive::OutPoint +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::utils::types::OutPoint {} +impl flutter_rust_bridge::IntoIntoDart + for crate::utils::types::OutPoint { - fn into_into_dart(self) -> crate::api::receive::OutPoint { + fn into_into_dart(self) -> crate::utils::types::OutPoint { self } } @@ -2765,22 +2654,6 @@ impl flutter_rust_bridge::IntoIntoDart } } // Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for crate::api::send::Request { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - [ - self.url.into_into_dart().into_dart(), - self.body.into_into_dart().into_dart(), - ] - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::api::send::Request {} -impl flutter_rust_bridge::IntoIntoDart for crate::api::send::Request { - fn into_into_dart(self) -> crate::api::send::Request { - self - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs impl flutter_rust_bridge::IntoDart for crate::api::send::RequestBuilder { fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { [self.0.into_into_dart().into_dart()].into_dart() @@ -2857,28 +2730,7 @@ impl flutter_rust_bridge::IntoIntoDart } } // Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for crate::api::receive::RequestResponse { - fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { - [ - self.request.into_into_dart().into_dart(), - self.client_response.into_into_dart().into_dart(), - ] - .into_dart() - } -} -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive - for crate::api::receive::RequestResponse -{ -} -impl flutter_rust_bridge::IntoIntoDart - for crate::api::receive::RequestResponse -{ - fn into_into_dart(self) -> crate::api::receive::RequestResponse { - self - } -} -// Codec=Dco (DartCObject based), see doc to use other codecs -impl flutter_rust_bridge::IntoDart for crate::api::receive::TxOut { +impl flutter_rust_bridge::IntoDart for crate::utils::types::TxOut { fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi { [ self.value.into_into_dart().into_dart(), @@ -2887,9 +2739,9 @@ impl flutter_rust_bridge::IntoDart for crate::api::receive::TxOut { .into_dart() } } -impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::api::receive::TxOut {} -impl flutter_rust_bridge::IntoIntoDart for crate::api::receive::TxOut { - fn into_into_dart(self) -> crate::api::receive::TxOut { +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::utils::types::TxOut {} +impl flutter_rust_bridge::IntoIntoDart for crate::utils::types::TxOut { + fn into_into_dart(self) -> crate::utils::types::TxOut { self } } @@ -3054,30 +2906,6 @@ impl flutter_rust_bridge::IntoIntoDart } } -impl SseEncode for Arc { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, StdArc<_>>(self), - serializer, - ); - } -} - -impl SseEncode for Arc { - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >, - >>::sse_encode( - flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, StdArc<_>>(self), - serializer, - ); - } -} - impl SseEncode for flutter_rust_bridge::DartOpaque { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { @@ -3092,10 +2920,10 @@ impl SseEncode for std::collections::HashMap { } } -impl SseEncode for std::collections::HashMap { +impl SseEncode for std::collections::HashMap { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - >::sse_encode( + >::sse_encode( self.into_iter().collect(), serializer, ); @@ -3282,32 +3110,6 @@ impl SseEncode for RustOpaqueNom>> { } } -impl SseEncode - for RustOpaqueNom< - flutter_rust_bridge::for_generated::rust_async::RwLock>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - -impl SseEncode - for RustOpaqueNom< - flutter_rust_bridge::for_generated::rust_async::RwLock>, - > -{ - // Codec=Sse (Serialization based), see doc to use other codecs - fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { - let (ptr, size) = self.sse_encode_raw(); - ::sse_encode(ptr, serializer); - ::sse_encode(size, serializer); - } -} - impl SseEncode for RustOpaqueNom { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { @@ -3384,19 +3186,19 @@ impl SseEncode for crate::api::receive::Enroller { } } -impl SseEncode for crate::api::receive::Headers { +impl SseEncode for crate::utils::types::Headers { // 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.0, serializer); + >::sse_encode(self.map, serializer); } } -impl SseEncode for Vec { +impl SseEncode for Vec { // 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.len() as _, serializer); for item in self { - ::sse_encode(item, serializer); + ::sse_encode(item, serializer); } } } @@ -3431,12 +3233,12 @@ impl SseEncode for Vec<(String, String)> { } } -impl SseEncode for Vec<(u64, crate::api::receive::OutPoint)> { +impl SseEncode for Vec<(u64, crate::utils::types::OutPoint)> { // 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.len() as _, serializer); for item in self { - <(u64, crate::api::receive::OutPoint)>::sse_encode(item, serializer); + <(u64, crate::utils::types::OutPoint)>::sse_encode(item, serializer); } } } @@ -3508,7 +3310,7 @@ impl SseEncode for Option { } } -impl SseEncode for crate::api::receive::OutPoint { +impl SseEncode for crate::utils::types::OutPoint { // 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.txid, serializer); @@ -3619,6 +3421,19 @@ impl SseEncode for crate::api::receive::ProvisionalProposal { } } +impl SseEncode + for ( + (crate::api::uri::Url, Vec), + crate::api::receive::ClientResponse, + ) +{ + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + <(crate::api::uri::Url, Vec)>::sse_encode(self.0, serializer); + ::sse_encode(self.1, serializer); + } +} + impl SseEncode for (String, String) { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { @@ -3627,19 +3442,19 @@ impl SseEncode for (String, String) { } } -impl SseEncode for (u64, crate::api::receive::OutPoint) { +impl SseEncode for (u64, crate::utils::types::OutPoint) { // 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.0, serializer); - ::sse_encode(self.1, serializer); + ::sse_encode(self.1, serializer); } } -impl SseEncode for crate::api::send::Request { +impl SseEncode for (crate::api::uri::Url, Vec) { // 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.url, serializer); - >::sse_encode(self.body, serializer); + ::sse_encode(self.0, serializer); + >::sse_encode(self.1, serializer); } } @@ -3660,7 +3475,7 @@ impl SseEncode for crate::api::send::RequestContext { impl SseEncode for crate::api::send::RequestContextV1 { // 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.request, serializer); + <(crate::api::uri::Url, Vec)>::sse_encode(self.request, serializer); ::sse_encode(self.context_v1, serializer); } } @@ -3668,20 +3483,12 @@ impl SseEncode for crate::api::send::RequestContextV1 { impl SseEncode for crate::api::send::RequestContextV2 { // 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.request, serializer); + <(crate::api::uri::Url, Vec)>::sse_encode(self.request, serializer); ::sse_encode(self.context_v2, serializer); } } -impl SseEncode for crate::api::receive::RequestResponse { - // 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.request, serializer); - ::sse_encode(self.client_response, serializer); - } -} - -impl SseEncode for crate::api::receive::TxOut { +impl SseEncode for crate::utils::types::TxOut { // 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.value, serializer); diff --git a/rust/src/frb_generated.web.rs b/rust/src/frb_generated.web.rs index 90b588c..914c6d2 100644 --- a/rust/src/frb_generated.web.rs +++ b/rust/src/frb_generated.web.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.28. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. // Section: imports @@ -117,11 +117,11 @@ impl CstDecode crate::api::receive::Enroller(self_.get(0).cst_decode()) } } -impl CstDecode +impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> crate::api::receive::Headers { + fn cst_decode(self) -> crate::utils::types::Headers { let self_ = self .dyn_into::() .unwrap(); @@ -131,14 +131,16 @@ impl CstDecode "Expected 1 elements, got {}", self_.length() ); - crate::api::receive::Headers(self_.get(0).cst_decode()) + crate::utils::types::Headers { + map: self_.get(0).cst_decode(), + } } } -impl CstDecode> +impl CstDecode> for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> Vec { + fn cst_decode(self) -> Vec { self.dyn_into::() .unwrap() .iter() @@ -170,11 +172,11 @@ impl CstDecode> .collect() } } -impl CstDecode> +impl CstDecode> for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> Vec<(u64, crate::api::receive::OutPoint)> { + fn cst_decode(self) -> Vec<(u64, crate::utils::types::OutPoint)> { self.dyn_into::() .unwrap() .iter() @@ -239,11 +241,11 @@ impl CstDecode> for Option { self.map(CstDecode::cst_decode) } } -impl CstDecode +impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> crate::api::receive::OutPoint { + fn cst_decode(self) -> crate::utils::types::OutPoint { let self_ = self .dyn_into::() .unwrap(); @@ -253,7 +255,7 @@ impl CstDecode "Expected 2 elements, got {}", self_.length() ); - crate::api::receive::OutPoint { + crate::utils::types::OutPoint { txid: self_.get(0).cst_decode(), vout: self_.get(1).cst_decode(), } @@ -372,6 +374,31 @@ impl CstDecode crate::api::receive::ProvisionalProposal(self_.get(0).cst_decode()) } } +impl + CstDecode<( + (crate::api::uri::Url, Vec), + crate::api::receive::ClientResponse, + )> for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue +{ + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode( + self, + ) -> ( + (crate::api::uri::Url, Vec), + crate::api::receive::ClientResponse, + ) { + let self_ = self + .dyn_into::() + .unwrap(); + assert_eq!( + self_.length(), + 2, + "Expected 2 elements, got {}", + self_.length() + ); + (self_.get(0).cst_decode(), self_.get(1).cst_decode()) + } +} impl CstDecode<(String, String)> for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { // Codec=Cst (C-struct based), see doc to use other codecs fn cst_decode(self) -> (String, String) { @@ -387,11 +414,11 @@ impl CstDecode<(String, String)> for flutter_rust_bridge::for_generated::wasm_bi (self_.get(0).cst_decode(), self_.get(1).cst_decode()) } } -impl CstDecode<(u64, crate::api::receive::OutPoint)> +impl CstDecode<(u64, crate::utils::types::OutPoint)> for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> (u64, crate::api::receive::OutPoint) { + fn cst_decode(self) -> (u64, crate::utils::types::OutPoint) { let self_ = self .dyn_into::() .unwrap(); @@ -404,11 +431,11 @@ impl CstDecode<(u64, crate::api::receive::OutPoint)> (self_.get(0).cst_decode(), self_.get(1).cst_decode()) } } -impl CstDecode +impl CstDecode<(crate::api::uri::Url, Vec)> for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> crate::api::send::Request { + fn cst_decode(self) -> (crate::api::uri::Url, Vec) { let self_ = self .dyn_into::() .unwrap(); @@ -418,10 +445,7 @@ impl CstDecode "Expected 2 elements, got {}", self_.length() ); - crate::api::send::Request { - url: self_.get(0).cst_decode(), - body: self_.get(1).cst_decode(), - } + (self_.get(0).cst_decode(), self_.get(1).cst_decode()) } } impl CstDecode @@ -498,31 +522,11 @@ impl CstDecode } } } -impl CstDecode - for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue -{ - // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> crate::api::receive::RequestResponse { - let self_ = self - .dyn_into::() - .unwrap(); - assert_eq!( - self_.length(), - 2, - "Expected 2 elements, got {}", - self_.length() - ); - crate::api::receive::RequestResponse { - request: self_.get(0).cst_decode(), - client_response: self_.get(1).cst_decode(), - } - } -} -impl CstDecode +impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> crate::api::receive::TxOut { + fn cst_decode(self) -> crate::utils::types::TxOut { let self_ = self .dyn_into::() .unwrap(); @@ -532,7 +536,7 @@ impl CstDecode "Expected 2 elements, got {}", self_.length() ); - crate::api::receive::TxOut { + crate::utils::types::TxOut { value: self_.get(0).cst_decode(), script_pubkey: self_.get(1).cst_decode(), } @@ -704,32 +708,6 @@ impl CstDecode crate::api::receive::V2UncheckedProposal(self_.get(0).cst_decode()) } } -impl CstDecode> - for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue -{ - // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> Arc { - CstDecode::< - RustOpaqueNom< - flutter_rust_bridge::for_generated::rust_async::RwLock>, - >, - >::cst_decode(self) - .rust_auto_opaque_decode_owned() - } -} -impl CstDecode> - for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue -{ - // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> Arc { - CstDecode::< - RustOpaqueNom< - flutter_rust_bridge::for_generated::rust_async::RwLock>, - >, - >::cst_decode(self) - .rust_auto_opaque_decode_owned() - } -} impl CstDecode> for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { @@ -739,12 +717,12 @@ impl CstDecode> vec.into_iter().collect() } } -impl CstDecode> +impl CstDecode> for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode(self) -> std::collections::HashMap { - let vec: Vec<(u64, crate::api::receive::OutPoint)> = self.cst_decode(); + fn cst_decode(self) -> std::collections::HashMap { + let vec: Vec<(u64, crate::utils::types::OutPoint)> = self.cst_decode(); vec.into_iter().collect() } } @@ -988,45 +966,6 @@ impl CstDecode>>> unsafe { decode_rust_opaque_nom((self.as_f64().unwrap() as usize) as _) } } } -impl - CstDecode< - RustOpaqueNom< - flutter_rust_bridge::for_generated::rust_async::RwLock>, - >, - > for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue -{ - // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode( - self, - ) -> RustOpaqueNom< - flutter_rust_bridge::for_generated::rust_async::RwLock>, - > { - #[cfg(target_pointer_width = "64")] - { - compile_error!("64-bit pointers are not supported."); - } - unsafe { decode_rust_opaque_nom((self.as_f64().unwrap() as usize) as _) } - } -} -impl - CstDecode< - RustOpaqueNom< - flutter_rust_bridge::for_generated::rust_async::RwLock>, - >, - > for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue -{ - // Codec=Cst (C-struct based), see doc to use other codecs - fn cst_decode( - self, - ) -> RustOpaqueNom>> - { - #[cfg(target_pointer_width = "64")] - { - compile_error!("64-bit pointers are not supported."); - } - unsafe { decode_rust_opaque_nom((self.as_f64().unwrap() as usize) as _) } - } -} impl CstDecode> for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { @@ -1123,373 +1062,365 @@ impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsVa } #[wasm_bindgen] -pub fn wire_Enrolled_extract_req( +pub fn wire_enrolled_extract_req( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_Enrolled_extract_req_impl(port_, that) + wire_enrolled_extract_req_impl(port_, that) } #[wasm_bindgen] -pub fn wire_Enrolled_fallback_target( +pub fn wire_enrolled_fallback_target( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_Enrolled_fallback_target_impl(port_, that) + wire_enrolled_fallback_target_impl(port_, that) } #[wasm_bindgen] -pub fn wire_Enrolled_process_res( +pub fn wire_enrolled_process_res( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, body: Box<[u8]>, ctx: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_Enrolled_process_res_impl(port_, that, body, ctx) + wire_enrolled_process_res_impl(port_, that, body, ctx) } #[wasm_bindgen] -pub fn wire_Enrolled_subdirectory( +pub fn wire_enrolled_subdirectory( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_Enrolled_subdirectory_impl(port_, that) + wire_enrolled_subdirectory_impl(port_, that) } #[wasm_bindgen] -pub fn wire_Enroller_extract_req( +pub fn wire_enroller_extract_req( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_Enroller_extract_req_impl(port_, that) + wire_enroller_extract_req_impl(port_, that) } #[wasm_bindgen] -pub fn wire_Enroller_from_relay_config( +pub fn wire_enroller_from_relay_config( port_: flutter_rust_bridge::for_generated::MessagePort, relay_url: String, ohttp_config_base64: String, ohttp_proxy_url: String, ) { - wire_Enroller_from_relay_config_impl(port_, relay_url, ohttp_config_base64, ohttp_proxy_url) + wire_enroller_from_relay_config_impl(port_, relay_url, ohttp_config_base64, ohttp_proxy_url) } #[wasm_bindgen] -pub fn wire_Enroller_payjoin_subdir( +pub fn wire_enroller_payjoin_subdir( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_Enroller_payjoin_subdir_impl(port_, that) + wire_enroller_payjoin_subdir_impl(port_, that) } #[wasm_bindgen] -pub fn wire_Enroller_process_res( +pub fn wire_enroller_process_res( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, body: Box<[u8]>, ctx: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_Enroller_process_res_impl(port_, that, body, ctx) + wire_enroller_process_res_impl(port_, that, body, ctx) } #[wasm_bindgen] -pub fn wire_Enroller_subdirectory( +pub fn wire_enroller_subdirectory( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_Enroller_subdirectory_impl(port_, that) + wire_enroller_subdirectory_impl(port_, that) } #[wasm_bindgen] -pub fn wire_Headers_from_vec( +pub fn wire_maybe_inputs_owned_check_inputs_not_owned( port_: flutter_rust_bridge::for_generated::MessagePort, - body: Box<[u8]>, -) { - wire_Headers_from_vec_impl(port_, body) -} - -#[wasm_bindgen] -pub fn wire_MaybeInputsOwned_check_inputs_not_owned( - port_: flutter_rust_bridge::for_generated::MessagePort, - that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ptr: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, is_owned: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_MaybeInputsOwned_check_inputs_not_owned_impl(port_, that, is_owned) + wire_maybe_inputs_owned_check_inputs_not_owned_impl(port_, ptr, is_owned) } #[wasm_bindgen] -pub fn wire_MaybeInputsSeen_check_no_inputs_seen_before( +pub fn wire_maybe_inputs_seen_check_no_inputs_seen_before( port_: flutter_rust_bridge::for_generated::MessagePort, - that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ptr: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, is_known: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_MaybeInputsSeen_check_no_inputs_seen_before_impl(port_, that, is_known) + wire_maybe_inputs_seen_check_no_inputs_seen_before_impl(port_, ptr, is_known) } #[wasm_bindgen] -pub fn wire_MaybeMixedInputScripts_check_no_mixed_input_scripts( +pub fn wire_maybe_mixed_input_scripts_check_no_mixed_input_scripts( port_: flutter_rust_bridge::for_generated::MessagePort, - that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ptr: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_MaybeMixedInputScripts_check_no_mixed_input_scripts_impl(port_, that) + wire_maybe_mixed_input_scripts_check_no_mixed_input_scripts_impl(port_, ptr) } #[wasm_bindgen] -pub fn wire_OutputsUnknown_identify_receiver_outputs( +pub fn wire_outputs_unknown_identify_receiver_outputs( port_: flutter_rust_bridge::for_generated::MessagePort, - that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ptr: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, is_receiver_output: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_OutputsUnknown_identify_receiver_outputs_impl(port_, that, is_receiver_output) + wire_outputs_unknown_identify_receiver_outputs_impl(port_, ptr, is_receiver_output) } #[wasm_bindgen] -pub fn wire_PayjoinProposal_is_output_substitution_disabled( +pub fn wire_payjoin_proposal_is_output_substitution_disabled( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_PayjoinProposal_is_output_substitution_disabled_impl(port_, that) + wire_payjoin_proposal_is_output_substitution_disabled_impl(port_, that) } #[wasm_bindgen] -pub fn wire_PayjoinProposal_owned_vouts( +pub fn wire_payjoin_proposal_owned_vouts( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_PayjoinProposal_owned_vouts_impl(port_, that) + wire_payjoin_proposal_owned_vouts_impl(port_, that) } #[wasm_bindgen] -pub fn wire_PayjoinProposal_psbt( +pub fn wire_payjoin_proposal_psbt( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_PayjoinProposal_psbt_impl(port_, that) + wire_payjoin_proposal_psbt_impl(port_, that) } #[wasm_bindgen] -pub fn wire_PayjoinProposal_utxos_to_be_locked( +pub fn wire_payjoin_proposal_utxos_to_be_locked( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_PayjoinProposal_utxos_to_be_locked_impl(port_, that) + wire_payjoin_proposal_utxos_to_be_locked_impl(port_, that) } #[wasm_bindgen] -pub fn wire_ProvisionalProposal_contribute_non_witness_input( +pub fn wire_provisional_proposal_contribute_non_witness_input( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, tx: Box<[u8]>, outpoint: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_ProvisionalProposal_contribute_non_witness_input_impl(port_, that, tx, outpoint) + wire_provisional_proposal_contribute_non_witness_input_impl(port_, that, tx, outpoint) } #[wasm_bindgen] -pub fn wire_ProvisionalProposal_contribute_witness_input( +pub fn wire_provisional_proposal_contribute_witness_input( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, txo: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, outpoint: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_ProvisionalProposal_contribute_witness_input_impl(port_, that, txo, outpoint) + wire_provisional_proposal_contribute_witness_input_impl(port_, that, txo, outpoint) } #[wasm_bindgen] -pub fn wire_ProvisionalProposal_finalize_proposal( +pub fn wire_provisional_proposal_finalize_proposal( port_: flutter_rust_bridge::for_generated::MessagePort, - that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ptr: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, process_psbt: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, min_feerate_sat_per_vb: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_ProvisionalProposal_finalize_proposal_impl( + wire_provisional_proposal_finalize_proposal_impl( port_, - that, + ptr, process_psbt, min_feerate_sat_per_vb, ) } #[wasm_bindgen] -pub fn wire_ProvisionalProposal_substitute_output_address( +pub fn wire_provisional_proposal_substitute_output_address( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, address: String, ) { - wire_ProvisionalProposal_substitute_output_address_impl(port_, that, address) + wire_provisional_proposal_substitute_output_address_impl(port_, that, address) } #[wasm_bindgen] -pub fn wire_ProvisionalProposal_try_preserving_privacy( +pub fn wire_provisional_proposal_try_preserving_privacy( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, candidate_inputs: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_ProvisionalProposal_try_preserving_privacy_impl(port_, that, candidate_inputs) + wire_provisional_proposal_try_preserving_privacy_impl(port_, that, candidate_inputs) } #[wasm_bindgen] -pub fn wire_UncheckedProposal_assume_interactive_receiver( +pub fn wire_unchecked_proposal_assume_interactive_receiver( port_: flutter_rust_bridge::for_generated::MessagePort, - that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ptr: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_UncheckedProposal_assume_interactive_receiver_impl(port_, that) + wire_unchecked_proposal_assume_interactive_receiver_impl(port_, ptr) } #[wasm_bindgen] -pub fn wire_UncheckedProposal_check_broadcast_suitability( +pub fn wire_unchecked_proposal_check_broadcast_suitability( port_: flutter_rust_bridge::for_generated::MessagePort, - that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ptr: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, min_fee_rate: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, can_broadcast: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_UncheckedProposal_check_broadcast_suitability_impl( + wire_unchecked_proposal_check_broadcast_suitability_impl( port_, - that, + ptr, min_fee_rate, can_broadcast, ) } #[wasm_bindgen] -pub fn wire_UncheckedProposal_extract_tx_to_schedule_broadcast( +pub fn wire_unchecked_proposal_extract_tx_to_schedule_broadcast( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_UncheckedProposal_extract_tx_to_schedule_broadcast_impl(port_, that) + wire_unchecked_proposal_extract_tx_to_schedule_broadcast_impl(port_, that) } #[wasm_bindgen] -pub fn wire_UncheckedProposal_from_request( +pub fn wire_unchecked_proposal_from_request( port_: flutter_rust_bridge::for_generated::MessagePort, body: Box<[u8]>, query: String, headers: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_UncheckedProposal_from_request_impl(port_, body, query, headers) + wire_unchecked_proposal_from_request_impl(port_, body, query, headers) } #[wasm_bindgen] -pub fn wire_V2MaybeInputsOwned_check_inputs_not_owned( +pub fn wire_v_2_maybe_inputs_owned_check_inputs_not_owned( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, is_owned: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2MaybeInputsOwned_check_inputs_not_owned_impl(port_, that, is_owned) + wire_v_2_maybe_inputs_owned_check_inputs_not_owned_impl(port_, that, is_owned) } #[wasm_bindgen] -pub fn wire_V2MaybeInputsSeen_check_no_inputs_seen_before( +pub fn wire_v_2_maybe_inputs_seen_check_no_inputs_seen_before( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, is_known: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2MaybeInputsSeen_check_no_inputs_seen_before_impl(port_, that, is_known) + wire_v_2_maybe_inputs_seen_check_no_inputs_seen_before_impl(port_, that, is_known) } #[wasm_bindgen] -pub fn wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts( +pub fn wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2MaybeMixedInputScripts_check_no_mixed_input_scripts_impl(port_, that) + wire_v_2_maybe_mixed_input_scripts_check_no_mixed_input_scripts_impl(port_, that) } #[wasm_bindgen] -pub fn wire_V2OutputsUnknown_identify_receiver_outputs( +pub fn wire_v_2_outputs_unknown_identify_receiver_outputs( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, is_receiver_output: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2OutputsUnknown_identify_receiver_outputs_impl(port_, that, is_receiver_output) + wire_v_2_outputs_unknown_identify_receiver_outputs_impl(port_, that, is_receiver_output) } #[wasm_bindgen] -pub fn wire_V2PayjoinProposal_deserialize_res( +pub fn wire_v_2_payjoin_proposal_deserialize_res( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, res: Box<[u8]>, ohttp_context: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2PayjoinProposal_deserialize_res_impl(port_, that, res, ohttp_context) + wire_v_2_payjoin_proposal_deserialize_res_impl(port_, that, res, ohttp_context) } #[wasm_bindgen] -pub fn wire_V2PayjoinProposal_extract_v1_req( +pub fn wire_v_2_payjoin_proposal_extract_v1_req( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2PayjoinProposal_extract_v1_req_impl(port_, that) + wire_v_2_payjoin_proposal_extract_v1_req_impl(port_, that) } #[wasm_bindgen] -pub fn wire_V2PayjoinProposal_extract_v2_req( +pub fn wire_v_2_payjoin_proposal_extract_v2_req( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2PayjoinProposal_extract_v2_req_impl(port_, that) + wire_v_2_payjoin_proposal_extract_v2_req_impl(port_, that) } #[wasm_bindgen] -pub fn wire_V2PayjoinProposal_is_output_substitution_disabled( +pub fn wire_v_2_payjoin_proposal_is_output_substitution_disabled( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2PayjoinProposal_is_output_substitution_disabled_impl(port_, that) + wire_v_2_payjoin_proposal_is_output_substitution_disabled_impl(port_, that) } #[wasm_bindgen] -pub fn wire_V2PayjoinProposal_owned_vouts( +pub fn wire_v_2_payjoin_proposal_owned_vouts( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2PayjoinProposal_owned_vouts_impl(port_, that) + wire_v_2_payjoin_proposal_owned_vouts_impl(port_, that) } #[wasm_bindgen] -pub fn wire_V2PayjoinProposal_psbt( +pub fn wire_v_2_payjoin_proposal_psbt( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2PayjoinProposal_psbt_impl(port_, that) + wire_v_2_payjoin_proposal_psbt_impl(port_, that) } #[wasm_bindgen] -pub fn wire_V2PayjoinProposal_utxos_to_be_locked( +pub fn wire_v_2_payjoin_proposal_utxos_to_be_locked( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2PayjoinProposal_utxos_to_be_locked_impl(port_, that) + wire_v_2_payjoin_proposal_utxos_to_be_locked_impl(port_, that) } #[wasm_bindgen] -pub fn wire_V2ProvisionalProposal_contribute_non_witness_input( +pub fn wire_v_2_provisional_proposal_contribute_non_witness_input( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, tx: Box<[u8]>, outpoint: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2ProvisionalProposal_contribute_non_witness_input_impl(port_, that, tx, outpoint) + wire_v_2_provisional_proposal_contribute_non_witness_input_impl(port_, that, tx, outpoint) } #[wasm_bindgen] -pub fn wire_V2ProvisionalProposal_contribute_witness_input( +pub fn wire_v_2_provisional_proposal_contribute_witness_input( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, txo: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, outpoint: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2ProvisionalProposal_contribute_witness_input_impl(port_, that, txo, outpoint) + wire_v_2_provisional_proposal_contribute_witness_input_impl(port_, that, txo, outpoint) } #[wasm_bindgen] -pub fn wire_V2ProvisionalProposal_finalize_proposal( +pub fn wire_v_2_provisional_proposal_finalize_proposal( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, process_psbt: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, min_feerate_sat_per_vb: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2ProvisionalProposal_finalize_proposal_impl( + wire_v_2_provisional_proposal_finalize_proposal_impl( port_, that, process_psbt, @@ -1498,39 +1429,39 @@ pub fn wire_V2ProvisionalProposal_finalize_proposal( } #[wasm_bindgen] -pub fn wire_V2ProvisionalProposal_substitute_output_address( +pub fn wire_v_2_provisional_proposal_substitute_output_address( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, address: String, ) { - wire_V2ProvisionalProposal_substitute_output_address_impl(port_, that, address) + wire_v_2_provisional_proposal_substitute_output_address_impl(port_, that, address) } #[wasm_bindgen] -pub fn wire_V2ProvisionalProposal_try_preserving_privacy( +pub fn wire_v_2_provisional_proposal_try_preserving_privacy( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, candidate_inputs: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2ProvisionalProposal_try_preserving_privacy_impl(port_, that, candidate_inputs) + wire_v_2_provisional_proposal_try_preserving_privacy_impl(port_, that, candidate_inputs) } #[wasm_bindgen] -pub fn wire_V2UncheckedProposal_assume_interactive_receiver( +pub fn wire_v_2_unchecked_proposal_assume_interactive_receiver( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2UncheckedProposal_assume_interactive_receiver_impl(port_, that) + wire_v_2_unchecked_proposal_assume_interactive_receiver_impl(port_, that) } #[wasm_bindgen] -pub fn wire_V2UncheckedProposal_check_broadcast_suitability( +pub fn wire_v_2_unchecked_proposal_check_broadcast_suitability( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, min_fee_rate: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, can_broadcast: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2UncheckedProposal_check_broadcast_suitability_impl( + wire_v_2_unchecked_proposal_check_broadcast_suitability_impl( port_, that, min_fee_rate, @@ -1539,59 +1470,59 @@ pub fn wire_V2UncheckedProposal_check_broadcast_suitability( } #[wasm_bindgen] -pub fn wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast( +pub fn wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcast( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_V2UncheckedProposal_extract_tx_to_schedule_broadcast_impl(port_, that) + wire_v_2_unchecked_proposal_extract_tx_to_schedule_broadcast_impl(port_, that) } #[wasm_bindgen] -pub fn wire_ContextV1_process_response( +pub fn wire_context_v_1_process_response( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, response: Box<[u8]>, ) { - wire_ContextV1_process_response_impl(port_, that, response) + wire_context_v_1_process_response_impl(port_, that, response) } #[wasm_bindgen] -pub fn wire_ContextV2_process_response( +pub fn wire_context_v_2_process_response( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, response: Box<[u8]>, ) { - wire_ContextV2_process_response_impl(port_, that, response) + wire_context_v_2_process_response_impl(port_, that, response) } #[wasm_bindgen] -pub fn wire_RequestBuilder_always_disable_output_substitution( +pub fn wire_request_builder_always_disable_output_substitution( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, disable: bool, ) { - wire_RequestBuilder_always_disable_output_substitution_impl(port_, that, disable) + wire_request_builder_always_disable_output_substitution_impl(port_, that, disable) } #[wasm_bindgen] -pub fn wire_RequestBuilder_build_non_incentivizing( +pub fn wire_request_builder_build_non_incentivizing( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_RequestBuilder_build_non_incentivizing_impl(port_, that) + wire_request_builder_build_non_incentivizing_impl(port_, that) } #[wasm_bindgen] -pub fn wire_RequestBuilder_build_recommended( +pub fn wire_request_builder_build_recommended( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, min_fee_rate: u64, ) { - wire_RequestBuilder_build_recommended_impl(port_, that, min_fee_rate) + wire_request_builder_build_recommended_impl(port_, that, min_fee_rate) } #[wasm_bindgen] -pub fn wire_RequestBuilder_build_with_additional_fee( +pub fn wire_request_builder_build_with_additional_fee( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, max_fee_contribution: u64, @@ -1599,7 +1530,7 @@ pub fn wire_RequestBuilder_build_with_additional_fee( min_fee_rate: u64, clamp_fee_contribution: bool, ) { - wire_RequestBuilder_build_with_additional_fee_impl( + wire_request_builder_build_with_additional_fee_impl( port_, that, max_fee_contribution, @@ -1610,68 +1541,63 @@ pub fn wire_RequestBuilder_build_with_additional_fee( } #[wasm_bindgen] -pub fn wire_RequestBuilder_from_psbt_and_uri( +pub fn wire_request_builder_from_psbt_and_uri( port_: flutter_rust_bridge::for_generated::MessagePort, psbt_base64: String, uri: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_RequestBuilder_from_psbt_and_uri_impl(port_, psbt_base64, uri) -} - -#[wasm_bindgen] -pub fn wire_RequestBuilder_new(port_: flutter_rust_bridge::for_generated::MessagePort) { - wire_RequestBuilder_new_impl(port_) + wire_request_builder_from_psbt_and_uri_impl(port_, psbt_base64, uri) } #[wasm_bindgen] -pub fn wire_RequestContext_extract_v1( +pub fn wire_request_context_extract_v1( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_RequestContext_extract_v1_impl(port_, that) + wire_request_context_extract_v1_impl(port_, that) } #[wasm_bindgen] -pub fn wire_RequestContext_extract_v2( +pub fn wire_request_context_extract_v2( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ohttp_proxy_url: String, ) { - wire_RequestContext_extract_v2_impl(port_, that, ohttp_proxy_url) + wire_request_context_extract_v2_impl(port_, that, ohttp_proxy_url) } #[wasm_bindgen] -pub fn wire_Uri_address( +pub fn wire_uri_address( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_Uri_address_impl(port_, that) + wire_uri_address_impl(port_, that) } #[wasm_bindgen] -pub fn wire_Uri_amount( +pub fn wire_uri_amount( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_Uri_amount_impl(port_, that) + wire_uri_amount_impl(port_, that) } #[wasm_bindgen] -pub fn wire_Uri_from_str(port_: flutter_rust_bridge::for_generated::MessagePort, uri: String) { - wire_Uri_from_str_impl(port_, uri) +pub fn wire_uri_from_str(port_: flutter_rust_bridge::for_generated::MessagePort, uri: String) { + wire_uri_from_str_impl(port_, uri) } #[wasm_bindgen] -pub fn wire_Url_from_str(port_: flutter_rust_bridge::for_generated::MessagePort, url: String) { - wire_Url_from_str_impl(port_, url) +pub fn wire_url_from_str(port_: flutter_rust_bridge::for_generated::MessagePort, url: String) { + wire_url_from_str_impl(port_, url) } #[wasm_bindgen] -pub fn wire_Url_query( +pub fn wire_url_query( port_: flutter_rust_bridge::for_generated::MessagePort, that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_Url_query_impl(port_, that) + wire_url_query_impl(port_, that) } #[wasm_bindgen] @@ -2062,42 +1988,6 @@ pub fn rust_arc_decrement_strong_count_RustOpaque_MutexOptionohttpClientResponse } } -#[wasm_bindgen] -pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ptr: *const std::ffi::c_void, -) { - unsafe { - StdArc::>>::increment_strong_count(ptr as _); - } -} - -#[wasm_bindgen] -pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsOwned( - ptr: *const std::ffi::c_void, -) { - unsafe { - StdArc::>>::decrement_strong_count(ptr as _); - } -} - -#[wasm_bindgen] -pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ptr: *const std::ffi::c_void, -) { - unsafe { - StdArc::>>::increment_strong_count(ptr as _); - } -} - -#[wasm_bindgen] -pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockArcV2MaybeInputsSeen( - ptr: *const std::ffi::c_void, -) { - unsafe { - StdArc::>>::decrement_strong_count(ptr as _); - } -} - #[wasm_bindgen] pub fn rust_arc_increment_strong_count_RustOpaque_payjoin_ffireceivev1UncheckedProposal( ptr: *const std::ffi::c_void, diff --git a/rust/src/utils/mod.rs b/rust/src/utils/mod.rs index a91e735..5c74364 100644 --- a/rust/src/utils/mod.rs +++ b/rust/src/utils/mod.rs @@ -1 +1,2 @@ pub mod error; +pub mod types; From c342d3405883c439d8d4a4f57b43765e34b36b30 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sat, 13 Apr 2024 13:02:00 -0400 Subject: [PATCH 18/63] Request class exposed --- lib/common.dart | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 lib/common.dart diff --git a/lib/common.dart b/lib/common.dart new file mode 100644 index 0000000..045a825 --- /dev/null +++ b/lib/common.dart @@ -0,0 +1,11 @@ +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import 'package:payjoin_flutter/uri.dart'; + +export 'src/exceptions.dart' hide mapPayjoinError, ExceptionBase; +export 'src/generated/utils/types.dart'; + +class Request { + final Url url; + final Uint8List body; + Request(this.url, this.body); +} From e4d20b0371c9724c5ca457e0fdae10b563e7a8b3 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sun, 14 Apr 2024 11:54:00 -0400 Subject: [PATCH 19/63] PConfig added --- lib/src/config.dart | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 lib/src/config.dart diff --git a/lib/src/config.dart b/lib/src/config.dart new file mode 100644 index 0000000..43d6f09 --- /dev/null +++ b/lib/src/config.dart @@ -0,0 +1,14 @@ +import 'exceptions.dart'; +import 'generated/frb_generated.dart'; + +class PConfig { + static Future initializeApp() async { + try { + if (!PayjoinCore.instance.initialized) { + await PayjoinCore.init(); + } + } catch (e) { + throw PayjoinException(message: "failed to initialize payjoin"); + } + } +} From c418f155352663cf55aeac9381dd9c78a57f9fc9 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sun, 14 Apr 2024 11:08:00 -0400 Subject: [PATCH 20/63] code cleanup --- lib/payjoin.dart | 5 ----- lib/src/root.dart | 17 ----------------- 2 files changed, 22 deletions(-) delete mode 100644 lib/payjoin.dart delete mode 100644 lib/src/root.dart diff --git a/lib/payjoin.dart b/lib/payjoin.dart deleted file mode 100644 index 2282f8d..0000000 --- a/lib/payjoin.dart +++ /dev/null @@ -1,5 +0,0 @@ -export 'src/generated/api/receive.dart'; -export 'src/generated/api/send.dart'; -export 'src/generated/api/uri.dart'; -export 'src/generated/utils/error.dart'; -export 'src/root.dart'; diff --git a/lib/src/root.dart b/lib/src/root.dart deleted file mode 100644 index 5270555..0000000 --- a/lib/src/root.dart +++ /dev/null @@ -1,17 +0,0 @@ -import 'package:flutter/cupertino.dart'; - -import 'generated/frb_generated.dart'; - -class Payjoin { - static Future initialize() async { - try { - if (!PayjoinCore.instance.initialized) { - await PayjoinCore.init(); - } - } catch (e) { - debugPrint(e.toString()); - throw Exception( - "Failed to initialize payjoin: Ensure that Payjoin.initialize() is called and awaited."); - } - } -} From 6887759007ca402897fec9123c7a1af5dae65889 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sun, 14 Apr 2024 13:26:00 -0400 Subject: [PATCH 21/63] uri mod created --- lib/uri.dart | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 lib/uri.dart diff --git a/lib/uri.dart b/lib/uri.dart new file mode 100644 index 0000000..e200a6c --- /dev/null +++ b/lib/uri.dart @@ -0,0 +1,60 @@ +import 'package:payjoin_flutter/src/config.dart'; +import 'package:payjoin_flutter/src/exceptions.dart'; + +import 'src/generated/api/uri.dart' as generated; +import 'src/generated/utils/error.dart' as error; + +class Uri extends generated.Uri { + Uri._({required super.field0}); + + static Future fromString(String uri) async { + try { + await PConfig.initializeApp(); + final res = await generated.Uri.fromStr(uri: uri); + return Uri._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + ///Gets the amount in satoshis. + @override + Future amount({hint}) { + try { + return super.amount(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future address({hint}) { + try { + return super.address(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class Url extends generated.Url { + Url._({required super.field0}); + static Future fromString(String uri) async { + try { + await PConfig.initializeApp(); + final res = await generated.Url.fromStr(url: uri); + return Url._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future query({hint}) { + try { + return super.query(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} From 9ed0f38621d04881390daadd2ca5b81301908dc3 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sun, 14 Apr 2024 15:00:00 -0400 Subject: [PATCH 22/63] receive/v1 created --- lib/receive/v1.dart | 229 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 229 insertions(+) create mode 100644 lib/receive/v1.dart diff --git a/lib/receive/v1.dart b/lib/receive/v1.dart new file mode 100644 index 0000000..e66bff0 --- /dev/null +++ b/lib/receive/v1.dart @@ -0,0 +1,229 @@ +import 'dart:async'; + +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +import '../common.dart' as common; +import '../common.dart'; +import '../src/config.dart'; +import '../src/exceptions.dart'; +import '../src/generated/api/receive.dart' as receive; +import '../src/generated/utils/error.dart' as error; + +class UncheckedProposal extends receive.UncheckedProposal { + UncheckedProposal._({required super.field0}); + static Future fromRequest({ + required List body, + required String query, + required common.Headers headers, + }) async { + try { + await PConfig.initializeApp(); + final res = await receive.UncheckedProposal.fromRequest( + body: body, query: query, headers: headers); + return UncheckedProposal._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + ///The Sender’s Original PSBT + @override + Future extractTxToScheduleBroadcast({hint}) async { + try { + return super.extractTxToScheduleBroadcast(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + ///Call after checking that the Original PSBT can be broadcast. + /// Receiver MUST check that the Original PSBT from the sender can be broadcast, i.e. testmempoolaccept bitcoind rpc returns { “allowed”: true,.. } for gettransactiontocheckbroadcast() before calling this method. + /// Do this check if you generate bitcoin uri to receive Payjoin on sender request without manual human approval, like a payment processor. Such so called “non-interactive” receivers are otherwise vulnerable to probing attacks. If a sender can make requests at will, they can learn which bitcoin the receiver owns at no cost. Broadcasting the Original PSBT after some time in the failure case makes incurs sender cost and prevents probing. + /// Call this after checking downstream. + Future checkBroadcastSuitability( + {int? minFeeRate, + required FutureOr Function(Uint8List) canBroadcast, + hint}) async { + try { + final res = await receive.UncheckedProposal.checkBroadcastSuitability( + minFeeRate: minFeeRate, canBroadcast: canBroadcast, ptr: super); + return MaybeInputsOwned._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + ///Call this method if the only way to initiate a Payjoin with this receiver requires manual intervention, as in most consumer wallets. + /// So-called “non-interactive” receivers, like payment processors, + /// that allow arbitrary requests are otherwise vulnerable to probing attacks. Those receivers call gettransactiontocheckbroadcast() and attesttestedandscheduledbroadcast() after making those checks downstream + Future assumeInteractiveReceiver() async { + try { + final res = + await receive.UncheckedProposal.assumeInteractiveReceiver(ptr: super); + return MaybeInputsOwned._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class MaybeInputsOwned extends receive.MaybeInputsOwned { + MaybeInputsOwned._({required super.field0}); + Future checkInputsNotOwned( + {required FutureOr Function(Uint8List) isOwned}) async { + try { + final res = await receive.MaybeInputsOwned.checkInputsNotOwned( + ptr: super, isOwned: isOwned); + return MaybeMixedInputScripts._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class MaybeMixedInputScripts extends receive.MaybeMixedInputScripts { + MaybeMixedInputScripts._({required super.field0}); + + /// Verify the original transaction did not have mixed input types Call this after checking downstream. + /// + /// Note: mixed spends do not necessarily indicate distinct wallet fingerprints. This check is intended to prevent some types of wallet fingerprinting. + Future checkNoMixedInputScripts() async { + try { + final res = await receive.MaybeMixedInputScripts.checkNoMixedInputScripts( + ptr: super); + return MaybeInputsSeen._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class MaybeInputsSeen extends receive.MaybeInputsSeen { + MaybeInputsSeen._({required super.field0}); + Future checkNoInputsSeenBefore( + {required MaybeInputsSeen ptr, + required FutureOr Function(OutPoint) isKnown}) async { + try { + final res = await receive.MaybeInputsSeen.checkNoInputsSeenBefore( + ptr: super, isKnown: isKnown); + return OutputsUnknown._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class OutputsUnknown extends receive.OutputsUnknown { + OutputsUnknown._({required super.field0}); + Future checkNoInputsSeenBefore( + {required Future Function(Uint8List) isReceiverOutput}) async { + try { + final res = await receive.OutputsUnknown.identifyReceiverOutputs( + ptr: super, isReceiverOutput: isReceiverOutput); + return ProvisionalProposal._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class ProvisionalProposal extends receive.ProvisionalProposal { + ProvisionalProposal._({required super.field0}); + @override + Future substituteOutputAddress({required String address, hint}) { + try { + return super.substituteOutputAddress(address: address); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future contributeNonWitnessInput( + {required List tx, required common.OutPoint outpoint, hint}) { + try { + return super.contributeNonWitnessInput(tx: tx, outpoint: outpoint); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future contributeWitnessInput( + {required common.TxOut txo, required common.OutPoint outpoint, hint}) { + try { + return super.contributeWitnessInput(txo: txo, outpoint: outpoint); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + /// Select receiver input such that the common.dart avoids surveillance. Return the input chosen that has been applied to the Proposal. + /// + /// Proper coin selection allows common.dart to resemble ordinary transactions. To ensure the resemblance, a number of heuristics must be avoided. + /// + /// UIH “Unnecessary input heuristic” is one class of them to avoid. We define UIH1 and UIH2 according to the BlockSci practice BlockSci UIH1 and UIH2: + @override + Future tryPreservingPrivacy( + {required Map candidateInputs, hint}) { + try { + return super.tryPreservingPrivacy(candidateInputs: candidateInputs); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + Future finalizeProposal( + {required FutureOr Function(String) processPsbt, + int? minFeeRateSatPerVb}) async { + try { + final res = await receive.ProvisionalProposal.finalizeProposal( + processPsbt: processPsbt, + minFeerateSatPerVb: minFeeRateSatPerVb, + ptr: super); + return PayjoinProposal._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class PayjoinProposal extends receive.PayjoinProposal { + PayjoinProposal._({required super.field0}); + + @override + Future isOutputSubstitutionDisabled({hint}) { + try { + return super.isOutputSubstitutionDisabled(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future ownedVouts({hint}) async { + try { + return super.ownedVouts(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future psbt({hint}) { + try { + return super.psbt(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future> utxosToBeLocked({hint}) { + try { + return super.utxosToBeLocked(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} From 9207ef3cdf785f4ab726203ccc3b1fd66b962453 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sun, 14 Apr 2024 19:17:00 -0400 Subject: [PATCH 23/63] receive/v2 created --- lib/receive/v2.dart | 357 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 357 insertions(+) create mode 100644 lib/receive/v2.dart diff --git a/lib/receive/v2.dart b/lib/receive/v2.dart new file mode 100644 index 0000000..f3e8a58 --- /dev/null +++ b/lib/receive/v2.dart @@ -0,0 +1,357 @@ +import 'dart:async'; + +import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; + +import '../common.dart'; +import '../src/exceptions.dart'; +import '../src/generated/api/receive.dart' as receive; +import '../src/generated/utils/error.dart' as error; +import '../uri.dart' as uri; + +class Enroller extends receive.Enroller { + Enroller._({required super.field0}); + + Future fromRelayConfig( + {required String relayUrl, + required String ohttpConfigBase64, + required String ohttpProxyUrl, + dynamic hint}) async { + try { + final res = await receive.Enroller.fromRelayConfig( + relayUrl: relayUrl, + ohttpConfigBase64: ohttpConfigBase64, + ohttpProxyUrl: ohttpProxyUrl); + return Enroller._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future payjoinSubdir({dynamic hint}) { + try { + return super.payjoinSubdir(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future subdirectory({dynamic hint}) { + try { + return super.subdirectory(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + Future processResponse( + {required List body, required ClientResponse clientResponse}) async { + try { + final res = await super.processRes(body: body, ctx: clientResponse); + return Enrolled._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + Future<(Request, ClientResponse)> extractRequest({hint}) async { + try { + final res = await super.extractReq(); + final request = Request( + await uri.Url.fromString((await res.$1.$1.query())!), res.$1.$2); + return (request, ClientResponse._(field0: res.$2.field0)); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class Enrolled extends receive.Enrolled { + Enrolled._({required super.field0}); + Future<(Request, ClientResponse)> extractV2Request({hint}) async { + try { + final res = await super.extractReq(); + final request = Request( + await uri.Url.fromString((await res.$1.$1.query())!), res.$1.$2); + return (request, ClientResponse._(field0: res.$2.field0)); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + Future processResponse( + {required List body, required ClientResponse clientResponse}) async { + try { + final res = await super.processRes(body: body, ctx: clientResponse); + if (res != null) { + return UncheckedProposal._(field0: res.field0); + } else { + return null; + } + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future fallbackTarget({dynamic hint}) { + try { + return super.fallbackTarget(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class UncheckedProposal extends receive.V2UncheckedProposal { + UncheckedProposal._({required super.field0}); + + ///The Sender’s Original PSBT + @override + Future extractTxToScheduleBroadcast({hint}) async { + try { + return super.extractTxToScheduleBroadcast(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + ///Call after checking that the Original PSBT can be broadcast. + /// Receiver MUST check that the Original PSBT from the sender can be broadcast, i.e. testmempoolaccept bitcoind rpc returns { “allowed”: true,.. } for gettransactiontocheckbroadcast() before calling this method. + /// Do this check if you generate bitcoin uri to receive Payjoin on sender request without manual human approval, like a payment processor. Such so called “non-interactive” receivers are otherwise vulnerable to probing attacks. If a sender can make requests at will, they can learn which bitcoin the receiver owns at no cost. Broadcasting the Original PSBT after some time in the failure case makes incurs sender cost and prevents probing. + /// Call this after checking downstream. + @override + Future checkBroadcastSuitability( + {int? minFeeRate, + required FutureOr Function(Uint8List p1) canBroadcast, + hint}) async { + try { + final res = await super.checkBroadcastSuitability( + minFeeRate: minFeeRate, canBroadcast: canBroadcast); + return MaybeInputsOwned._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + ///Call this method if the only way to initiate a Payjoin with this receiver requires manual intervention, as in most consumer wallets. + /// So-called “non-interactive” receivers, like payment processors, + /// that allow arbitrary requests are otherwise vulnerable to probing attacks. Those receivers call gettransactiontocheckbroadcast() and attesttestedandscheduledbroadcast() after making those checks downstream + @override + Future assumeInteractiveReceiver({hint}) async { + try { + final res = await super.assumeInteractiveReceiver(); + return MaybeInputsOwned._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class MaybeInputsOwned extends receive.V2MaybeInputsOwned { + MaybeInputsOwned._({required super.field0}); + + ///Check that the Original PSBT has no receiver-owned inputs. Return original-psbt-rejected error or otherwise refuse to sign undesirable inputs. + /// An attacker could try to spend receiver's own inputs. This check prevents that. + @override + Future checkInputsNotOwned( + {required FutureOr Function(Uint8List p1) isOwned, hint}) async { + try { + final res = await super.checkInputsNotOwned(isOwned: isOwned); + return MaybeMixedInputScripts._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class MaybeMixedInputScripts extends receive.V2MaybeMixedInputScripts { + MaybeMixedInputScripts._({required super.field0}); + + /// Make sure that the original transaction inputs have never been seen before. + /// This prevents probing attacks. This prevents reentrant Payjoin, where a sender + /// proposes a Payjoin PSBT as a new Original PSBT for a new Payjoin. + @override + Future checkNoMixedInputScripts({hint}) async { + try { + final res = await super.checkNoMixedInputScripts(); + return MaybeInputsSeen._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class MaybeInputsSeen extends receive.V2MaybeInputsSeen { + MaybeInputsSeen._({required super.field0}); + + /// Make sure that the original transaction inputs have never been seen before. + /// This prevents probing attacks. This prevents reentrant Payjoin, where a sender + /// proposes a Payjoin PSBT as a new Original PSBT for a new Payjoin. + @override + Future checkNoInputsSeenBefore( + {required FutureOr Function(OutPoint p1) isKnown, hint}) async { + try { + final res = await super.checkNoInputsSeenBefore(isKnown: isKnown); + return OutputsUnknown._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class OutputsUnknown extends receive.V2OutputsUnknown { + OutputsUnknown._({required super.field0}); + + /// Find which outputs belong to the receiver + @override + Future identifyReceiverOutputs( + {required FutureOr Function(Uint8List p1) isReceiverOutput, + hint}) async { + try { + final res = await super + .identifyReceiverOutputs(isReceiverOutput: isReceiverOutput); + return ProvisionalProposal._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class ProvisionalProposal extends receive.V2ProvisionalProposal { + ProvisionalProposal._({required super.field0}); + + @override + Future substituteOutputAddress({required String address, hint}) { + try { + return super.substituteOutputAddress(address: address); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future contributeNonWitnessInput( + {required List tx, required OutPoint outpoint, hint}) { + try { + return super.contributeNonWitnessInput(tx: tx, outpoint: outpoint); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future contributeWitnessInput( + {required TxOut txo, required OutPoint outpoint, hint}) { + try { + return super.contributeWitnessInput(txo: txo, outpoint: outpoint); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + /// Select receiver input such that the common.dart avoids surveillance. Return the input chosen that has been applied to the Proposal. + /// + /// Proper coin selection allows common.dart to resemble ordinary transactions. To ensure the resemblance, a number of heuristics must be avoided. + /// + /// UIH “Unnecessary input heuristic” is one class of them to avoid. We define UIH1 and UIH2 according to the BlockSci practice BlockSci UIH1 and UIH2: + @override + Future tryPreservingPrivacy( + {required Map candidateInputs, hint}) { + try { + return super.tryPreservingPrivacy(candidateInputs: candidateInputs); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future finalizeProposal( + {required FutureOr Function(String p1) processPsbt, + int? minFeerateSatPerVb, + hint}) async { + try { + final res = await super.finalizeProposal( + processPsbt: processPsbt, minFeerateSatPerVb: minFeerateSatPerVb); + return PayjoinProposal._(field0: res.field0); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class PayjoinProposal extends receive.V2PayjoinProposal { + PayjoinProposal._({required super.field0}); + @override + Future deserializeRes( + {required List res, + required receive.ClientResponse ohttpContext, + hint}) async { + try { + return super.deserializeRes(ohttpContext: ohttpContext, res: res); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future extractV1Req({hint}) { + try { + return super.extractV1Req(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + Future<(Request, ClientResponse)> extractV2Request({hint}) async { + try { + final res = await super.extractV2Req(); + final request = Request( + await uri.Url.fromString((await res.$1.$1.query())!), res.$1.$2); + return (request, ClientResponse._(field0: res.$2.field0)); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future isOutputSubstitutionDisabled({hint}) { + try { + return super.isOutputSubstitutionDisabled(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future ownedVouts({hint}) { + try { + return super.ownedVouts(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future psbt({hint}) { + try { + return super.psbt(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } + + @override + Future> utxosToBeLocked({hint}) { + try { + return super.utxosToBeLocked(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } +} + +class ClientResponse extends receive.ClientResponse { + ClientResponse._({required super.field0}); +} From be511ff6f62043799317f2dcbe935a37d68d8005 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Mon, 15 Apr 2024 17:51:00 -0400 Subject: [PATCH 24/63] code cleanup --- example/lib/main.dart | 44 ++++---------------------------- example/lib/payjoin_library.dart | 20 ++++++++------- 2 files changed, 16 insertions(+), 48 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 9385cb2..a830a5f 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,9 +1,6 @@ -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:payjoin_flutter/payjoin.dart'; void main() async { - await Payjoin.initialize(); runApp(const MyApp()); } @@ -23,37 +20,6 @@ class _MyAppState extends State { super.initState(); } - Future buildPjUri(double amount, String pj) async { - try { - // final address = await aliceWallet.getAddress( - // addressIndex: const AddressIndex.increase()); - // final qUriAddress = await (await Address.fromString( - // s: address.address, network: Network.testnet)) - // .toQrUri(); - final pjUri = - "tb1q5tsjcyz7xmet07yxtumakt739y53hcttmntajq?amount=${amount / 100000000.0}&pj=$pj"; - return await Uri.fromStr(uri: pjUri); - } catch (e) { - debugPrint(e.toString()); - rethrow; - } - } - - Future buildRequestBuilder(String psbt, Uri uri) async { - try { - final res = await (await RequestBuilder.fromPsbtAndUri( - psbtBase64: psbt, uri: uri)) - .buildWithAdditionalFee( - maxFeeContribution: 10000, - minFeeRate: 1, - clampFeeContribution: false); - return (await res.extractV1()); - } catch (e) { - debugPrint(e.toString()); - rethrow; - } - } - @override Widget build(BuildContext context) { return MaterialApp( @@ -69,11 +35,11 @@ class _MyAppState extends State { children: [ TextButton( onPressed: () async { - final uri = await buildPjUri(10000000, - "https://testnet.demo.btcpayserver.org/BTC/pj"); - if (kDebugMode) { - print(await uri.address()); - } + // final uri = await buildPjUri(10000000, + // "https://testnet.demo.btcpayserver.org/BTC/pj"); + // if (kDebugMode) { + // print(await uri.address()); + // } }, child: const Text("Build PjUri")) ], diff --git a/example/lib/payjoin_library.dart b/example/lib/payjoin_library.dart index ad5d076..18baf03 100644 --- a/example/lib/payjoin_library.dart +++ b/example/lib/payjoin_library.dart @@ -1,14 +1,16 @@ import 'package:flutter/cupertino.dart'; -import 'package:payjoin_flutter/payjoin.dart'; +import 'package:payjoin_flutter/common.dart'; +import 'package:payjoin_flutter/receive/v1.dart' as v1; +import 'package:payjoin_flutter/uri.dart' as uri; class PayjoinLibrary { - static const PJ_URL = "https://localhost:8088"; - static const OH_RELAY = "https://localhost:8088"; - static const LOCAL_CERT_FILE = "localhost.der"; - Future buildPjUri(double amount, String address, String pj) async { + static const pjUrl = "https://localhost:8088"; + static const ohRelay = "https://localhost:8088"; + static const localCertFile = "localhost.der"; + Future buildPjUri(double amount, String address, String pj) async { try { final pjUri = "bitcoin:$address?amount=${amount / 100000000.0}&pj=$pj"; - return await Uri.fromStr(uri: pjUri); + return await uri.Uri.fromString(pjUri); } catch (e) { debugPrint(e.toString()); rethrow; @@ -16,16 +18,16 @@ class PayjoinLibrary { } handlePjRequest(Request req, Headers headers) async { - final proposal = await UncheckedProposal.fromRequest( + final _ = await v1.UncheckedProposal.fromRequest( body: req.body.toList(), query: (await req.url.query())!, headers: headers); } - handleProposal(UncheckedProposal proposal) async { + handleProposal(v1.UncheckedProposal proposal) async { try { final _ = await proposal.extractTxToScheduleBroadcast(); - } on PayjoinError catch (e) { + } on Exception catch (e) { debugPrint(e.toString()); } } From aac61ea03e1bded138b741b866819406b42483c0 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Tue, 16 Apr 2024 13:01:00 -0400 Subject: [PATCH 25/63] changed usePrecompiledBinaries default to true --- cargokit/build_tool/lib/src/options.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cargokit/build_tool/lib/src/options.dart b/cargokit/build_tool/lib/src/options.dart index 7937dca..b2c0f7a 100644 --- a/cargokit/build_tool/lib/src/options.dart +++ b/cargokit/build_tool/lib/src/options.dart @@ -298,7 +298,10 @@ class CargokitUserOptions { } userProjectDir = userProjectDir.parent; } - return CargokitUserOptions._(); + return CargokitUserOptions( + usePrecompiledBinaries: true, + verboseLogging: false, + ); } final bool usePrecompiledBinaries; From 7b93dfb70a7016b3df2d441066e2383e9490c2f8 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Wed, 17 Apr 2024 18:11:00 -0400 Subject: [PATCH 26/63] moved cargokit_options.yaml --- cargokit_options.yaml => example/cargokit_options.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename cargokit_options.yaml => example/cargokit_options.yaml (100%) diff --git a/cargokit_options.yaml b/example/cargokit_options.yaml similarity index 100% rename from cargokit_options.yaml rename to example/cargokit_options.yaml From 4068ae7a2103f1729ef2e31491ece2b0e1f9cd46 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Wed, 17 Apr 2024 20:40:00 -0400 Subject: [PATCH 27/63] code cleanup --- example/lib/bdk_library.dart | 105 ----------------------------------- 1 file changed, 105 deletions(-) delete mode 100644 example/lib/bdk_library.dart diff --git a/example/lib/bdk_library.dart b/example/lib/bdk_library.dart deleted file mode 100644 index ec5c0da..0000000 --- a/example/lib/bdk_library.dart +++ /dev/null @@ -1,105 +0,0 @@ -// import 'package:bdk_flutter/bdk_flutter.dart'; -// import 'package:flutter/cupertino.dart'; -// -// class BdkLibrary { -// Future createMnemonic() async { -// final res = await Mnemonic.create(WordCount.words12); -// return res; -// } -// -// Future createDescriptor(Mnemonic mnemonic) async { -// final descriptorSecretKey = await DescriptorSecretKey.create( -// network: Network.testnet, -// mnemonic: mnemonic, -// ); -// final descriptor = await Descriptor.newBip84( -// secretKey: descriptorSecretKey, -// network: Network.testnet, -// keychain: KeychainKind.externalChain); -// return descriptor; -// } -// -// Future initializeBlockchain() async { -// return await Blockchain.create( -// config: const BlockchainConfig.esplora( -// config: -// EsploraConfig(baseUrl: 'https://0.0.0.0:30000', stopGap: 10))); -// } -// -// Future restoreWallet(Descriptor descriptor) async { -// final wallet = await Wallet.create( -// descriptor: descriptor, -// network: Network.regtest, -// databaseConfig: const DatabaseConfig.memory()); -// return wallet; -// } -// -// Future sync(Blockchain blockchain, Wallet wallet) async { -// try { -// await wallet.sync(blockchain: blockchain); -// } on EsploraException catch (e) { -// debugPrint(e.message); -// } -// } -// -// Future getAddress(Wallet aliceWallet) async { -// final address = await aliceWallet.getAddress( -// addressIndex: const AddressIndex.increase()); -// return address; -// } -// -// Future> getUnConfirmedTransactions( -// Wallet wallet) async { -// List unConfirmed = []; -// final res = await wallet.listTransactions(includeRaw: true); -// for (var e in res) { -// if (e.confirmationTime == null) unConfirmed.add(e); -// } -// return unConfirmed; -// } -// -// Future> getConfirmedTransactions( -// Wallet wallet) async { -// List confirmed = []; -// final res = await wallet.listTransactions(includeRaw: true); -// -// for (var e in res) { -// if (e.confirmationTime != null) confirmed.add(e); -// } -// return confirmed; -// } -// -// Future getBalance(Wallet wallet) async { -// final res = await wallet.getBalance(); -// return res; -// } -// -// Future> listUnspend(Wallet wallet) async { -// final res = await wallet.listUnspent(); -// return res; -// } -// -// Future estimateFeeRate( -// int blocks, -// Blockchain blockchain, -// ) async { -// final feeRate = await blockchain.estimateFee(target: blocks); -// return feeRate; -// } -// -// Future buildPartiallySignedTransaction( -// Blockchain blockchain, Wallet wallet, Address address) async { -// try { -// final txBuilder = TxBuilder(); -// final script = await address.scriptPubkey(); -// final feeRate = await estimateFeeRate(25, blockchain); -// final (psbt, _) = await txBuilder -// .addRecipient(script, 750) -// .feeRate(feeRate.satPerVb) -// .finish(wallet); -// return psbt; -// } on Exception catch (_) { -// rethrow; -// } -// } -// } From 0acf9ddaa351ca5879e24277be21d9e44967867a Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Thu, 18 Apr 2024 15:44:00 -0400 Subject: [PATCH 28/63] replaced super with this --- lib/receive/v1.dart | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/receive/v1.dart b/lib/receive/v1.dart index e66bff0..cab1364 100644 --- a/lib/receive/v1.dart +++ b/lib/receive/v1.dart @@ -46,7 +46,7 @@ class UncheckedProposal extends receive.UncheckedProposal { hint}) async { try { final res = await receive.UncheckedProposal.checkBroadcastSuitability( - minFeeRate: minFeeRate, canBroadcast: canBroadcast, ptr: super); + minFeeRate: minFeeRate, canBroadcast: canBroadcast, ptr: this); return MaybeInputsOwned._(field0: res.field0); } on error.PayjoinError catch (e) { throw mapPayjoinError(e); @@ -59,7 +59,7 @@ class UncheckedProposal extends receive.UncheckedProposal { Future assumeInteractiveReceiver() async { try { final res = - await receive.UncheckedProposal.assumeInteractiveReceiver(ptr: super); + await receive.UncheckedProposal.assumeInteractiveReceiver(ptr: this); return MaybeInputsOwned._(field0: res.field0); } on error.PayjoinError catch (e) { throw mapPayjoinError(e); @@ -73,7 +73,7 @@ class MaybeInputsOwned extends receive.MaybeInputsOwned { {required FutureOr Function(Uint8List) isOwned}) async { try { final res = await receive.MaybeInputsOwned.checkInputsNotOwned( - ptr: super, isOwned: isOwned); + ptr: this, isOwned: isOwned); return MaybeMixedInputScripts._(field0: res.field0); } on error.PayjoinError catch (e) { throw mapPayjoinError(e); @@ -90,7 +90,7 @@ class MaybeMixedInputScripts extends receive.MaybeMixedInputScripts { Future checkNoMixedInputScripts() async { try { final res = await receive.MaybeMixedInputScripts.checkNoMixedInputScripts( - ptr: super); + ptr: this); return MaybeInputsSeen._(field0: res.field0); } on error.PayjoinError catch (e) { throw mapPayjoinError(e); @@ -105,7 +105,7 @@ class MaybeInputsSeen extends receive.MaybeInputsSeen { required FutureOr Function(OutPoint) isKnown}) async { try { final res = await receive.MaybeInputsSeen.checkNoInputsSeenBefore( - ptr: super, isKnown: isKnown); + ptr: this, isKnown: isKnown); return OutputsUnknown._(field0: res.field0); } on error.PayjoinError catch (e) { throw mapPayjoinError(e); @@ -119,7 +119,7 @@ class OutputsUnknown extends receive.OutputsUnknown { {required Future Function(Uint8List) isReceiverOutput}) async { try { final res = await receive.OutputsUnknown.identifyReceiverOutputs( - ptr: super, isReceiverOutput: isReceiverOutput); + ptr: this, isReceiverOutput: isReceiverOutput); return ProvisionalProposal._(field0: res.field0); } on error.PayjoinError catch (e) { throw mapPayjoinError(e); @@ -180,7 +180,7 @@ class ProvisionalProposal extends receive.ProvisionalProposal { final res = await receive.ProvisionalProposal.finalizeProposal( processPsbt: processPsbt, minFeerateSatPerVb: minFeeRateSatPerVb, - ptr: super); + ptr: this); return PayjoinProposal._(field0: res.field0); } on error.PayjoinError catch (e) { throw mapPayjoinError(e); From e75f456cb083df7b9b9c58d487fdf8149d79596b Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Thu, 18 Apr 2024 19:14:00 -0400 Subject: [PATCH 29/63] dart_coin_rpc added --- example/pubspec.lock | 32 ++++++++++++++++++++++++++++++++ example/pubspec.yaml | 1 + 2 files changed, 33 insertions(+) diff --git a/example/pubspec.lock b/example/pubspec.lock index 58810f7..a6d60a6 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -73,6 +73,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.6" + dart_coin_rpc: + dependency: "direct main" + description: + name: dart_coin_rpc + sha256: b1e193f323d3361b293d99d7ed9fd5e7774990ecc0da1d73b552360e70375c40 + url: "https://pub.dev" + source: hosted + version: "2.1.7" + dio: + dependency: transitive + description: + name: dio + sha256: "11e40df547d418cc0c4900a9318b26304e665da6fa4755399a9ff9efd09034b5" + url: "https://pub.dev" + source: hosted + version: "5.4.3+1" + dio_smart_retry: + dependency: transitive + description: + name: dio_smart_retry + sha256: "3d71450c19b4d91ef4c7d726a55a284bfc11eb3634f1f25006cdfab3f8595653" + url: "https://pub.dev" + source: hosted + version: "6.0.0" fake_async: dependency: transitive description: @@ -131,6 +155,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.4.1" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" + source: hosted + version: "4.0.2" js: dependency: transitive description: diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 5006f66..4f9c371 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -41,6 +41,7 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 + dart_coin_rpc: ^2.1.7 dev_dependencies: flutter_test: From 249474a8c0c0df8245024745d3af5d66295b6339 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Fri, 19 Apr 2024 14:30:00 -0400 Subject: [PATCH 30/63] code cleanup --- example/lib/main.dart | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index a830a5f..636b796 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,4 +1,6 @@ +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:payjoin_flutter_example/payjoin_library.dart'; void main() async { runApp(const MyApp()); @@ -12,9 +14,7 @@ class MyApp extends StatefulWidget { } class _MyAppState extends State { - // BdkLibrary lib = BdkLibrary(); - // late Wallet aliceWallet; - // Blockchain? blockchain; + PayjoinLibrary payJoinLibrary = PayjoinLibrary(); @override void initState() { super.initState(); @@ -35,11 +35,13 @@ class _MyAppState extends State { children: [ TextButton( onPressed: () async { - // final uri = await buildPjUri(10000000, - // "https://testnet.demo.btcpayserver.org/BTC/pj"); - // if (kDebugMode) { - // print(await uri.address()); - // } + final uri = await payJoinLibrary.buildPjUri( + 10000000, + "32iVBEu4dxkUQk9dJbZUiBiQdmypcEyJRf", + "https://testnet.demo.btcpayserver.org/BTC/pj"); + if (kDebugMode) { + print(await uri.address()); + } }, child: const Text("Build PjUri")) ], From b7c67fcb5d1ca716b32553b2335998c7d197fb5d Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sat, 20 Apr 2024 17:31:00 -0400 Subject: [PATCH 31/63] fix(MaybeInputsSeen): removed unnecessary params --- lib/receive/v1.dart | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/receive/v1.dart b/lib/receive/v1.dart index cab1364..3b07e7f 100644 --- a/lib/receive/v1.dart +++ b/lib/receive/v1.dart @@ -101,8 +101,7 @@ class MaybeMixedInputScripts extends receive.MaybeMixedInputScripts { class MaybeInputsSeen extends receive.MaybeInputsSeen { MaybeInputsSeen._({required super.field0}); Future checkNoInputsSeenBefore( - {required MaybeInputsSeen ptr, - required FutureOr Function(OutPoint) isKnown}) async { + {required FutureOr Function(OutPoint) isKnown}) async { try { final res = await receive.MaybeInputsSeen.checkNoInputsSeenBefore( ptr: this, isKnown: isKnown); @@ -115,7 +114,7 @@ class MaybeInputsSeen extends receive.MaybeInputsSeen { class OutputsUnknown extends receive.OutputsUnknown { OutputsUnknown._({required super.field0}); - Future checkNoInputsSeenBefore( + Future identifyReceiverOutputs( {required Future Function(Uint8List) isReceiverOutput}) async { try { final res = await receive.OutputsUnknown.identifyReceiverOutputs( From 66ea9f10c913f4c9ae9d797aebc2a5bc4e9416ff Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sat, 20 Apr 2024 23:50:00 -0400 Subject: [PATCH 32/63] flutter_rust_bridge downgraded to 2.0.0-dev.31 --- example/pubspec.lock | 268 +++++++++++- example/pubspec.yaml | 4 +- makefile | 2 +- pubspec.lock | 4 +- rust/Cargo.lock | 986 ++----------------------------------------- rust/Cargo.toml | 4 +- 6 files changed, 293 insertions(+), 975 deletions(-) diff --git a/example/pubspec.lock b/example/pubspec.lock index a6d60a6..38f5312 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -1,6 +1,22 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" + url: "https://pub.dev" + source: hosted + version: "67.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" + url: "https://pub.dev" + source: hosted + version: "6.4.1" args: dependency: transitive description: @@ -17,6 +33,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.11.0" + bdk_flutter: + dependency: "direct main" + description: + name: bdk_flutter + sha256: c912a10a473fc8d378a6fd56f9eeb46f0cacaabee6c51c61a5e4566dadc674a6 + url: "https://pub.dev" + source: hosted + version: "0.31.2-dev.1" boolean_selector: dependency: transitive description: @@ -25,6 +49,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" + build: + dependency: transitive + description: + name: build + sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + url: "https://pub.dev" + source: hosted + version: "2.4.1" build_cli_annotations: dependency: transitive description: @@ -33,6 +65,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" + built_collection: + dependency: transitive + description: + name: built_collection + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" + source: hosted + version: "5.1.1" + built_value: + dependency: transitive + description: + name: built_value + sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb + url: "https://pub.dev" + source: hosted + version: "8.9.2" characters: dependency: transitive description: @@ -49,6 +97,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.1" + code_builder: + dependency: transitive + description: + name: code_builder + sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 + url: "https://pub.dev" + source: hosted + version: "4.10.0" collection: dependency: transitive description: @@ -57,6 +113,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.18.0" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" crypto: dependency: transitive description: @@ -73,30 +137,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.6" - dart_coin_rpc: - dependency: "direct main" + dart_style: + dependency: transitive description: - name: dart_coin_rpc - sha256: b1e193f323d3361b293d99d7ed9fd5e7774990ecc0da1d73b552360e70375c40 + name: dart_style + sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" url: "https://pub.dev" source: hosted - version: "2.1.7" + version: "2.3.6" dio: - dependency: transitive + dependency: "direct main" description: name: dio sha256: "11e40df547d418cc0c4900a9318b26304e665da6fa4755399a9ff9efd09034b5" url: "https://pub.dev" source: hosted version: "5.4.3+1" - dio_smart_retry: - dependency: transitive - description: - name: dio_smart_retry - sha256: "3d71450c19b4d91ef4c7d726a55a284bfc11eb3634f1f25006cdfab3f8595653" - url: "https://pub.dev" - source: hosted - version: "6.0.0" fake_async: dependency: transitive description: @@ -113,6 +169,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" + file: + dependency: transitive + description: + name: file + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + url: "https://pub.dev" + source: hosted + version: "7.0.0" fixnum: dependency: transitive description: @@ -138,10 +202,10 @@ packages: dependency: transitive description: name: flutter_rust_bridge - sha256: d65dbdd271de6050d3204bab69a8ae25a291deb359403cd4f95a86055cab66c3 + sha256: e9a8716b1ad2fc81c434f3e4bf84b86c578578678c57e568b44aea7acf210102 url: "https://pub.dev" source: hosted - version: "2.0.0-dev.32" + version: "2.0.0-dev.31" flutter_test: dependency: "direct dev" description: flutter @@ -155,6 +219,30 @@ packages: url: "https://pub.dev" source: hosted version: "2.4.1" + glob: + dependency: transitive + description: + name: glob + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + google_fonts: + dependency: "direct main" + description: + name: google_fonts + sha256: b1ac0fe2832c9cc95e5e88b57d627c5e68c223b9657f4b96e1487aa9098c7b82 + url: "https://pub.dev" + source: hosted + version: "6.2.1" + http: + dependency: transitive + description: + name: http + sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" + url: "https://pub.dev" + source: hosted + version: "1.2.1" http_parser: dependency: transitive description: @@ -211,6 +299,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" + logging: + dependency: transitive + description: + name: logging + sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + url: "https://pub.dev" + source: hosted + version: "1.2.0" matcher: dependency: transitive description: @@ -235,6 +331,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.11.0" + mockito: + dependency: transitive + description: + name: mockito + sha256: "6841eed20a7befac0ce07df8116c8b8233ed1f4486a7647c7fc5a02ae6163917" + url: "https://pub.dev" + source: hosted + version: "5.4.4" + package_config: + dependency: transitive + description: + name: package_config + sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + url: "https://pub.dev" + source: hosted + version: "2.1.0" path: dependency: transitive description: @@ -243,6 +355,54 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.0" + path_provider: + dependency: transitive + description: + name: path_provider + sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161 + url: "https://pub.dev" + source: hosted + version: "2.1.3" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: a248d8146ee5983446bf03ed5ea8f6533129a12b11f12057ad1b4a67a2b3b41d + url: "https://pub.dev" + source: hosted + version: "2.2.4" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 + url: "https://pub.dev" + source: hosted + version: "2.4.0" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 + url: "https://pub.dev" + source: hosted + version: "2.2.1" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" + url: "https://pub.dev" + source: hosted + version: "2.2.1" payjoin_flutter: dependency: "direct main" description: @@ -250,11 +410,43 @@ packages: relative: true source: path version: "0.13.0" + platform: + dependency: transitive + description: + name: platform + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + url: "https://pub.dev" + source: hosted + version: "3.1.4" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + url: "https://pub.dev" + source: hosted + version: "2.1.4" sky_engine: dependency: transitive description: flutter source: sdk version: "0.0.99" + source_gen: + dependency: transitive + description: + name: source_gen + sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + url: "https://pub.dev" + source: hosted + version: "1.5.0" source_span: dependency: transitive description: @@ -343,6 +535,46 @@ packages: url: "https://pub.dev" source: hosted version: "13.0.0" + watcher: + dependency: transitive + description: + name: watcher + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + web: + dependency: transitive + description: + name: web + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + url: "https://pub.dev" + source: hosted + version: "0.5.1" + win32: + dependency: transitive + description: + name: win32 + sha256: "464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8" + url: "https://pub.dev" + source: hosted + version: "5.2.0" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d + url: "https://pub.dev" + source: hosted + version: "1.0.4" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" sdks: - dart: ">=3.2.3 <4.0.0" - flutter: ">=3.3.0" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.19.2" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 4f9c371..dfc4576 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -41,7 +41,9 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 - dart_coin_rpc: ^2.1.7 + dio: ^5.4.3+1 + bdk_flutter: ^0.31.2-dev.1 + google_fonts: ^6.2.1 dev_dependencies: flutter_test: diff --git a/makefile b/makefile index 2ee4124..5a42da9 100644 --- a/makefile +++ b/makefile @@ -11,7 +11,7 @@ help: makefile ## init: Install missing dependencies. init: - cargo install 'flutter_rust_bridge_codegen@^2.0.0-dev.32' + cargo install flutter_rust_bridge_codegen --version 2.0.0-dev.31 ## : all: init generate-bindings diff --git a/pubspec.lock b/pubspec.lock index 6d674a6..f13c3c1 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -242,10 +242,10 @@ packages: dependency: "direct main" description: name: flutter_rust_bridge - sha256: d65dbdd271de6050d3204bab69a8ae25a291deb359403cd4f95a86055cab66c3 + sha256: e9a8716b1ad2fc81c434f3e4bf84b86c578578678c57e568b44aea7acf210102 url: "https://pub.dev" source: hosted - version: "2.0.0-dev.32" + version: "2.0.0-dev.31" flutter_test: dependency: "direct dev" description: flutter diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 9074213..668d3c6 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -108,12 +108,6 @@ dependencies = [ "backtrace", ] -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - [[package]] name = "android_log-sys" version = "0.3.1" @@ -132,15 +126,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - [[package]] name = "anstream" version = "0.6.11" @@ -176,7 +161,7 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" dependencies = [ - "windows-sys 0.52.0", + "windows-sys", ] [[package]] @@ -186,7 +171,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "windows-sys", ] [[package]] @@ -194,9 +179,6 @@ name = "anyhow" version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" -dependencies = [ - "backtrace", -] [[package]] name = "askama" @@ -221,7 +203,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.49", + "syn", ] [[package]] @@ -245,17 +227,6 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba" -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "autocfg" version = "1.1.0" @@ -357,18 +328,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" - [[package]] name = "block-buffer" version = "0.9.0" @@ -435,19 +394,6 @@ dependencies = [ "serde", ] -[[package]] -name = "cargo_metadata" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", -] - [[package]] name = "cargo_metadata" version = "0.15.4" @@ -462,34 +408,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "cargo_toml" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "802b755090e39835a4b0440fb0bbee0df7495a8b337f63db21e616f7821c7e8c" -dependencies = [ - "serde", - "toml 0.8.10", -] - -[[package]] -name = "cbindgen" -version = "0.24.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b922faaf31122819ec80c4047cc684c6979a087366c069611e33649bf98e18d" -dependencies = [ - "heck", - "indexmap 1.9.3", - "log", - "proc-macro2", - "quote", - "serde", - "serde_json", - "syn 1.0.109", - "tempfile", - "toml 0.5.11", -] - [[package]] name = "cc" version = "1.0.83" @@ -554,20 +472,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "chrono" -version = "0.4.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "wasm-bindgen", - "windows-targets 0.52.0", -] - [[package]] name = "cipher" version = "0.3.0" @@ -619,7 +523,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.49", + "syn", ] [[package]] @@ -634,30 +538,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" -[[package]] -name = "colored" -version = "1.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f741c91823341bebf717d4c71bda820630ce065443b58bd1b7451af008355" -dependencies = [ - "is-terminal", - "lazy_static", - "winapi", -] - -[[package]] -name = "console" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" -dependencies = [ - "encode_unicode", - "lazy_static", - "libc", - "unicode-width", - "windows-sys 0.52.0", -] - [[package]] name = "console_error_panic_hook" version = "0.1.7" @@ -668,18 +548,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "convert_case" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4a24b1aaf0fd0ce8b45161144d6f42cd91677fd5940fd431183eb023b3a2b8" - -[[package]] -name = "core-foundation-sys" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" - [[package]] name = "cpufeatures" version = "0.1.5" @@ -698,21 +566,6 @@ dependencies = [ "libc", ] -[[package]] -name = "crossbeam-channel" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" - [[package]] name = "crypto-common" version = "0.1.6" @@ -784,19 +637,6 @@ dependencies = [ "num_cpus", ] -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.3", - "lock_api", - "once_cell", - "parking_lot_core", -] - [[package]] name = "delegate-attr" version = "0.3.0" @@ -805,18 +645,7 @@ checksum = "51aac4c99b2e6775164b412ea33ae8441b2fde2dbf05a20bc0052a63d08c475b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.49", -] - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "syn", ] [[package]] @@ -839,50 +668,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "either" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" - -[[package]] -name = "encode_unicode" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" - -[[package]] -name = "enum-iterator" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fd242f399be1da0a5354aa462d57b4ab2b4ee0683cc552f7c007d2d12d36e94" -dependencies = [ - "enum-iterator-derive", -] - -[[package]] -name = "enum-iterator-derive" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03cdc46ec28bd728e67540c528013c6a10eb69a02eb31078a1bda695438cbfb8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.49", -] - -[[package]] -name = "enum_dispatch" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f33313078bb8d4d05a2733a94ac4c2d8a0df9a2b84424ebf4f33bfc224a890e" -dependencies = [ - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.49", -] - [[package]] name = "env_logger" version = "0.10.2" @@ -893,56 +678,11 @@ dependencies = [ "regex", ] -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "errno" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "fastrand" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" - -[[package]] -name = "fern" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f0c14694cbd524c8720dd69b0e3179344f04ebb5f90f2e4a440c6ea3b2f1ee" -dependencies = [ - "chrono", - "colored", - "log", -] - -[[package]] -name = "filetime" -version = "0.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "windows-sys 0.52.0", -] - [[package]] name = "flutter_rust_bridge" -version = "2.0.0-dev.32" +version = "2.0.0-dev.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34014207992d96657886c50c90ab503bb4581cc9c2b1ea7ffad2ec12400032da" +checksum = "9d9ceb6f8db0bf711a55e20151c6699132bb5975f846ecac2c3bc7d23cc0845d" dependencies = [ "allo-isolate", "android_logger", @@ -965,59 +705,15 @@ dependencies = [ "web-sys", ] -[[package]] -name = "flutter_rust_bridge_codegen" -version = "2.0.0-dev.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e7121d658626cf3921aa75de2cae9f77814b4317a1353e7be7c6be8d656cf01" -dependencies = [ - "anyhow", - "atty", - "cargo_metadata 0.14.2", - "cargo_toml", - "cbindgen", - "chrono", - "clap", - "convert_case", - "derivative", - "enum-iterator", - "enum_dispatch", - "fern", - "glob", - "include_dir", - "indicatif", - "indicatif-log-bridge", - "itertools", - "lazy_static", - "log", - "notify", - "notify-debouncer-mini", - "paste", - "pathdiff", - "proc-macro2", - "quote", - "regex", - "serde", - "serde_json", - "serde_yaml", - "serial_test", - "strum", - "strum_macros", - "syn 2.0.49", - "tempfile", - "toml 0.5.11", - "topological-sort", -] - [[package]] name = "flutter_rust_bridge_macros" -version = "2.0.0-dev.32" +version = "2.0.0-dev.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd250246955bb9548a99733859946a5721289ec152de5fcc6eb03da7d3143dd1" +checksum = "e02edfe56f04af804d3145b17dfe7820d46a6753b214160f227dbdfa1073f7cb" dependencies = [ "hex", "quote", - "syn 2.0.49", + "syn", ] [[package]] @@ -1038,15 +734,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "fsevent-sys" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" -dependencies = [ - "libc", -] - [[package]] name = "futures" version = "0.3.30" @@ -1103,7 +790,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.49", + "syn", ] [[package]] @@ -1200,33 +887,12 @@ dependencies = [ "scroll", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "hashbrown" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" - [[package]] name = "heck" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.3.6" @@ -1304,29 +970,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "iana-time-zone" -version = "0.1.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - [[package]] name = "idna" version = "0.5.0" @@ -1337,88 +980,6 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "include_dir" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e" -dependencies = [ - "include_dir_macros", -] - -[[package]] -name = "include_dir_macros" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" -dependencies = [ - "proc-macro2", - "quote", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - -[[package]] -name = "indexmap" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" -dependencies = [ - "equivalent", - "hashbrown 0.14.3", -] - -[[package]] -name = "indicatif" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" -dependencies = [ - "console", - "instant", - "number_prefix", - "portable-atomic", - "unicode-width", -] - -[[package]] -name = "indicatif-log-bridge" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2963046f28a204e3e3fd7e754fd90a6235da05b5378f24707ff0ec9513725ce3" -dependencies = [ - "indicatif", - "log", -] - -[[package]] -name = "inotify" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" -dependencies = [ - "bitflags 1.3.2", - "inotify-sys", - "libc", -] - -[[package]] -name = "inotify-sys" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" -dependencies = [ - "libc", -] - [[package]] name = "inout" version = "0.1.3" @@ -1428,35 +989,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "is-terminal" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" -dependencies = [ - "hermit-abi 0.3.6", - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.10" @@ -1467,29 +999,9 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" name = "js-sys" version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "kqueue" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c" -dependencies = [ - "kqueue-sys", - "libc", -] - -[[package]] -name = "kqueue-sys" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ - "bitflags 1.3.2", - "libc", + "wasm-bindgen", ] [[package]] @@ -1504,28 +1016,6 @@ version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - -[[package]] -name = "linux-raw-sys" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" - -[[package]] -name = "lock_api" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" -dependencies = [ - "autocfg", - "scopeguard", -] - [[package]] name = "log" version = "0.4.20" @@ -1569,18 +1059,6 @@ dependencies = [ "adler", ] -[[package]] -name = "mio" -version = "0.8.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.48.0", -] - [[package]] name = "nom" version = "7.1.3" @@ -1591,61 +1069,16 @@ dependencies = [ "minimal-lexical", ] -[[package]] -name = "notify" -version = "6.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" -dependencies = [ - "bitflags 2.4.2", - "crossbeam-channel", - "filetime", - "fsevent-sys", - "inotify", - "kqueue", - "libc", - "log", - "mio", - "walkdir", - "windows-sys 0.48.0", -] - -[[package]] -name = "notify-debouncer-mini" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d40b221972a1fc5ef4d858a2f671fb34c75983eb385463dff3780eeff6a9d43" -dependencies = [ - "crossbeam-channel", - "log", - "notify", -] - -[[package]] -name = "num-traits" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" -dependencies = [ - "autocfg", -] - [[package]] name = "num_cpus" version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.6", + "hermit-abi", "libc", ] -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - [[package]] name = "object" version = "0.32.2" @@ -1675,7 +1108,7 @@ dependencies = [ "serde_derive", "sha2 0.9.9", "thiserror", - "toml 0.5.11", + "toml", ] [[package]] @@ -1703,45 +1136,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8343ce955f18e7e68c0207dd0ea776ec453035685395ababd2ea651c569728b3" dependencies = [ "cc", - "dashmap 4.0.2", + "dashmap", "log", ] -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.48.5", -] - [[package]] name = "paste" version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" -[[package]] -name = "pathdiff" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" - [[package]] name = "payjoin" version = "0.13.0" @@ -1776,7 +1180,6 @@ version = "0.13.0" dependencies = [ "anyhow", "flutter_rust_bridge", - "flutter_rust_bridge_codegen", "ohttp", "payjoin_ffi", "tokio", @@ -1858,12 +1261,6 @@ dependencies = [ "universal-hash 0.5.1", ] -[[package]] -name = "portable-atomic" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" - [[package]] name = "ppv-lite86" version = "0.2.17" @@ -1924,15 +1321,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "regex" version = "1.10.3" @@ -1968,46 +1356,12 @@ version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" -[[package]] -name = "rustix" -version = "0.38.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" -dependencies = [ - "bitflags 2.4.2", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustversion" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" - [[package]] name = "ryu" version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - [[package]] name = "scroll" version = "0.12.0" @@ -2025,7 +1379,7 @@ checksum = "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932" dependencies = [ "proc-macro2", "quote", - "syn 2.0.49", + "syn", ] [[package]] @@ -2075,7 +1429,7 @@ checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.49", + "syn", ] [[package]] @@ -2089,52 +1443,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_spanned" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_yaml" -version = "0.8.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" -dependencies = [ - "indexmap 1.9.3", - "ryu", - "serde", - "yaml-rust", -] - -[[package]] -name = "serial_test" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d" -dependencies = [ - "dashmap 5.5.3", - "futures", - "lazy_static", - "log", - "parking_lot", - "serial_test_derive", -] - -[[package]] -name = "serial_test_derive" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.49", -] - [[package]] name = "sha2" version = "0.9.9" @@ -2174,12 +1482,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "smallvec" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" - [[package]] name = "smawk" version = "0.3.2" @@ -2198,42 +1500,12 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" -[[package]] -name = "strum" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" - -[[package]] -name = "strum_macros" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn 1.0.109", -] - [[package]] name = "subtle" version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.49" @@ -2245,18 +1517,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "tempfile" -version = "3.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" -dependencies = [ - "cfg-if", - "fastrand", - "rustix", - "windows-sys 0.52.0", -] - [[package]] name = "textwrap" version = "0.16.1" @@ -2285,7 +1545,7 @@ checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" dependencies = [ "proc-macro2", "quote", - "syn 2.0.49", + "syn", ] [[package]] @@ -2332,46 +1592,6 @@ dependencies = [ "serde", ] -[[package]] -name = "toml" -version = "0.8.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit", -] - -[[package]] -name = "toml_datetime" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6" -dependencies = [ - "indexmap 2.2.3", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - -[[package]] -name = "topological-sort" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d" - [[package]] name = "typenum" version = "1.17.0" @@ -2444,7 +1664,7 @@ dependencies = [ "anyhow", "askama", "camino", - "cargo_metadata 0.15.4", + "cargo_metadata", "clap", "fs-err", "glob", @@ -2454,7 +1674,7 @@ dependencies = [ "paste", "serde", "textwrap", - "toml 0.5.11", + "toml", "uniffi_meta", "uniffi_testing", "uniffi_udl", @@ -2478,7 +1698,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72775b3afa6adb30e0c92b3107858d2fcb0ff1a417ac242db1f648b0e2dd0ef2" dependencies = [ "quote", - "syn 2.0.49", + "syn", ] [[package]] @@ -2510,8 +1730,8 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.49", - "toml 0.5.11", + "syn", + "toml", "uniffi_build", "uniffi_meta", ] @@ -2536,7 +1756,7 @@ checksum = "cdca5719a22edf34c8239cc6ac9e3906d7ebc2a3e8a5e6ece4c3dffc312a4251" dependencies = [ "anyhow", "camino", - "cargo_metadata 0.15.4", + "cargo_metadata", "fs-err", "once_cell", ] @@ -2597,16 +1817,6 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -[[package]] -name = "walkdir" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" -dependencies = [ - "same-file", - "winapi-util", -] - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -2634,7 +1844,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.49", + "syn", "wasm-bindgen-shared", ] @@ -2668,7 +1878,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.49", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -2698,77 +1908,13 @@ dependencies = [ "nom", ] -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.0", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - [[package]] name = "windows-sys" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", + "windows-targets", ] [[package]] @@ -2777,108 +1923,57 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - [[package]] name = "windows_aarch64_msvc" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - [[package]] name = "windows_i686_gnu" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - [[package]] name = "windows_i686_msvc" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - [[package]] name = "windows_x86_64_gnu" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - [[package]] name = "windows_x86_64_gnullvm" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - [[package]] name = "windows_x86_64_msvc" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" -[[package]] -name = "winnow" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d90f4e0f530c4c69f62b80d839e9ef3855edc9cba471a160c4d692deed62b401" -dependencies = [ - "memchr", -] - [[package]] name = "x25519-dalek" version = "2.0.0-pre.1" @@ -2890,15 +1985,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "yaml-rust" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" -dependencies = [ - "linked-hash-map", -] - [[package]] name = "zeroize" version = "1.7.0" @@ -2916,5 +2002,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.49", + "syn", ] diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 265f53f..3f08c55 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -6,13 +6,11 @@ edition = "2021" [lib] crate-type = ["cdylib", "staticlib"] -[build-dependencies] -flutter_rust_bridge_codegen = { version = "=2.0.0-dev.28" } anyhow = "1.0.68" [dependencies] ohttp = { version = "0.5.1" } payjoin_ffi = {git = "https://github.com/LtbLightning/payjoin-ffi", branch = "v0.13"} -flutter_rust_bridge = "=2.0.0-dev.32" +flutter_rust_bridge = "=2.0.0-dev.31" anyhow = "1.0.68" tokio = "1.36.0" From 663e14d41c64d0e7f30eb221ac149526b2a18e08 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sun, 21 Apr 2024 12:19:00 -0400 Subject: [PATCH 33/63] flutter_rust_bridge downgraded to 2.0.0-dev.31 --- lib/src/generated/api/receive.dart | 2 +- lib/src/generated/api/send.dart | 2 +- lib/src/generated/api/uri.dart | 2 +- lib/src/generated/utils/types.dart | 2 +- pubspec.yaml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/src/generated/api/receive.dart b/lib/src/generated/api/receive.dart index db1db5d..ee0ad24 100644 --- a/lib/src/generated/api/receive.dart +++ b/lib/src/generated/api/receive.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.31. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/lib/src/generated/api/send.dart b/lib/src/generated/api/send.dart index 0a33262..80d9e4c 100644 --- a/lib/src/generated/api/send.dart +++ b/lib/src/generated/api/send.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.31. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/lib/src/generated/api/uri.dart b/lib/src/generated/api/uri.dart index 673925f..188dca3 100644 --- a/lib/src/generated/api/uri.dart +++ b/lib/src/generated/api/uri.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.31. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/lib/src/generated/utils/types.dart b/lib/src/generated/utils/types.dart index 7a10fdf..6f2f4ed 100644 --- a/lib/src/generated/utils/types.dart +++ b/lib/src/generated/utils/types.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.31. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/pubspec.yaml b/pubspec.yaml index a1a50ca..6796388 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,7 +12,7 @@ dependencies: sdk: flutter collection: ^1.17.1 ffi: ^2.0.1 - flutter_rust_bridge: ">2.0.0-dev.30 <= 2.0.0-dev.32" + flutter_rust_bridge: ">2.0.0-dev.30 <= 2.0.0-dev.31" freezed_annotation: ^2.2.0 meta: ^1.10.0 uuid: ^4.2.1 From 05b16898222cd7da4d914a156830a2f450d0aeed Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sun, 21 Apr 2024 15:19:00 -0400 Subject: [PATCH 34/63] doc comments updated --- lib/receive/v1.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/receive/v1.dart b/lib/receive/v1.dart index 3b07e7f..d436f85 100644 --- a/lib/receive/v1.dart +++ b/lib/receive/v1.dart @@ -157,7 +157,7 @@ class ProvisionalProposal extends receive.ProvisionalProposal { } } - /// Select receiver input such that the common.dart avoids surveillance. Return the input chosen that has been applied to the Proposal. + /// Select receiver input such that the payJoin avoids surveillance. Return the input chosen that has been applied to the Proposal. /// /// Proper coin selection allows common.dart to resemble ordinary transactions. To ensure the resemblance, a number of heuristics must be avoided. /// From d37c2b96153418fe29d371052849798b0ebc1942 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Mon, 22 Apr 2024 14:31:00 -0400 Subject: [PATCH 35/63] bindings updated --- lib/src/generated/frb_generated.dart | 7 ++----- lib/src/generated/frb_generated.io.dart | 2 +- lib/src/generated/frb_generated.web.dart | 2 +- lib/src/generated/utils/error.dart | 2 +- rust/src/frb_generated.io.rs | 2 +- rust/src/frb_generated.rs | 5 ++--- rust/src/frb_generated.web.rs | 2 +- 7 files changed, 9 insertions(+), 13 deletions(-) diff --git a/lib/src/generated/frb_generated.dart b/lib/src/generated/frb_generated.dart index 632aae0..82f41c2 100644 --- a/lib/src/generated/frb_generated.dart +++ b/lib/src/generated/frb_generated.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.31. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field @@ -56,10 +56,7 @@ class PayjoinCore extends BaseEntrypoint '2.0.0-dev.32'; - - @override - int get rustContentHash => 812692583; + String get codegenVersion => '2.0.0-dev.31'; static const kDefaultExternalLibraryLoaderConfig = ExternalLibraryLoaderConfig( diff --git a/lib/src/generated/frb_generated.io.dart b/lib/src/generated/frb_generated.io.dart index d7c2d56..d980148 100644 --- a/lib/src/generated/frb_generated.io.dart +++ b/lib/src/generated/frb_generated.io.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.31. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/lib/src/generated/frb_generated.web.dart b/lib/src/generated/frb_generated.web.dart index ca9ea5a..2ec57be 100644 --- a/lib/src/generated/frb_generated.web.dart +++ b/lib/src/generated/frb_generated.web.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.31. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/lib/src/generated/utils/error.dart b/lib/src/generated/utils/error.dart index 8891308..4207324 100644 --- a/lib/src/generated/utils/error.dart +++ b/lib/src/generated/utils/error.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.31. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/rust/src/frb_generated.io.rs b/rust/src/frb_generated.io.rs index 2e92344..f0b1eab 100644 --- a/rust/src/frb_generated.io.rs +++ b/rust/src/frb_generated.io.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.31. // Section: imports diff --git a/rust/src/frb_generated.rs b/rust/src/frb_generated.rs index d629ede..5b37ee8 100644 --- a/rust/src/frb_generated.rs +++ b/rust/src/frb_generated.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.31. #![allow( non_camel_case_types, @@ -32,8 +32,7 @@ flutter_rust_bridge::frb_generated_boilerplate!( default_rust_opaque = RustOpaqueNom, default_rust_auto_opaque = RustAutoOpaqueNom, ); -pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.0.0-dev.32"; -pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = 812692583; +pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.0.0-dev.31"; // Section: executor diff --git a/rust/src/frb_generated.web.rs b/rust/src/frb_generated.web.rs index 914c6d2..294deee 100644 --- a/rust/src/frb_generated.web.rs +++ b/rust/src/frb_generated.web.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.0.0-dev.32. +// Generated by `flutter_rust_bridge`@ 2.0.0-dev.31. // Section: imports From df2ce296a38d92e260425dde73d8da6a940de512 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Tue, 23 Apr 2024 13:57:00 -0400 Subject: [PATCH 36/63] code cleanup --- example/ios/Flutter/AppFrameworkInfo.plist | 2 +- example/ios/Podfile.lock | 2 +- example/ios/Runner.xcodeproj/project.pbxproj | 8 ++++---- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/example/ios/Flutter/AppFrameworkInfo.plist b/example/ios/Flutter/AppFrameworkInfo.plist index 9625e10..7c56964 100644 --- a/example/ios/Flutter/AppFrameworkInfo.plist +++ b/example/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 11.0 + 12.0 diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index c8e9e91..2ec3228 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -13,7 +13,7 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/payjoin_flutter/ios" SPEC CHECKSUMS: - Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 payjoin_flutter: 9011d8ef87f28bd66bcf80a21fdef14951b8a2aa PODFILE CHECKSUM: a57f30d18f102dd3ce366b1d62a55ecbef2158e5 diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj index 849b132..cd39452 100644 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/ios/Runner.xcodeproj/project.pbxproj @@ -216,7 +216,7 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = YES; - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -453,7 +453,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -581,7 +581,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -630,7 +630,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 87131a0..8e3ca5d 100644 --- a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ Date: Tue, 23 Apr 2024 15:21:00 -0400 Subject: [PATCH 37/63] bitcoin core function added --- example/lib/btc_client.dart | 201 ++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 example/lib/btc_client.dart diff --git a/example/lib/btc_client.dart b/example/lib/btc_client.dart new file mode 100644 index 0000000..4e92b25 --- /dev/null +++ b/example/lib/btc_client.dart @@ -0,0 +1,201 @@ +import 'dart:convert'; +import 'dart:io'; + +import 'package:dio/dio.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:payjoin_flutter/uri.dart' as pay_join_uri; + +class BtcClient { + Dio? _dioClient; + late Map _headers; + late String _url; + final String wallet; + + String getConnectionString(String host, int port, String wallet) { + if (wallet == "") { + return 'http://$host:$port'; + } else { + return 'http://$host:$port/wallet/$wallet'; + } + } + + BtcClient(this.wallet) { + _headers = { + 'Content-Type': 'application/json', + 'authorization': 'Basic ${base64.encode(utf8.encode('admin1:123'))}' + }; + _url = getConnectionString( + Platform.isAndroid ? "10.0.2.2" : "0.0.0.0", 18443, wallet); + _dioClient = Dio(); + } + + Future loadWallet() async { + try { + var params = [wallet]; + await call("loadwallet", params); + } on Exception catch (e) { + if (e.toString().contains("-4")) { + debugPrint(" $wallet already loaded!"); + } else if (e.toString().contains("-18")) { + debugPrint("$wallet doesn't exist!"); + var params = [wallet]; + await call("createwallet", params); + } + } + } + + Future testMemPoolAccept(String rawtx) async { + var params = [ + [rawtx] + ]; + final res = await call("testmempoolaccept", params); + return res; + } + + Future getNewAddress() async { + var params = []; + final res = await call("getnewaddress", params); + return res; + } + + Future getBalance() async { + var params = []; + final res = await call("getbalance", params); + return res; + } + + Future> getAddressInfo(String address) async { + var params = [address]; + final res = await call("getaddressinfo", params); + return res; + } + + Future sendRawTransaction(String psbt) async { + var params = [psbt]; + final res = await call("sendrawtransaction", params); + return res; + } + + Future> walletProcessPsbt(String psbt) async { + var params = [psbt]; + final res = await call("walletprocesspsbt", params); + return res as Map; + } + + Future>> listUnspent(List addresses) async { + var params = [ + 1, + 9999999, + addresses, + ]; + final res = await call("listunspent", params); + return res as List>; + } + + Future> walletCreateFundedPsbt( + String pjUri, int feeRate) async { + final pay_join_uri.Uri uri = await pay_join_uri.Uri.fromString(pjUri); + final address = await uri.address(); + final amount = await uri.amount(); + var params = [ + [], + [ + {address: amount} + ], + 0, + {"lockUnspents": false, "fee_rate": feeRate} + ]; + final res = await call("walletcreatefundedpsbt", params); + return res as Map; + } + + Future> generateToAddress( + String address, int blocks) async { + var params = [ + // [], + // [ + // {address: amount} + // ], + // 0, + // {"lockUnspents": true, "fee_rate": feeRate} + ]; + final res = await call("generatetoaddress", params); + return res as Map; + } + + Future call(var methodName, [var params]) async { + var body = { + 'jsonrpc': '2.0', + 'method': methodName, + 'params': params ?? [], + 'id': '1' + }; + + try { + var response = await _dioClient!.post( + _url, + data: body, + options: Options( + headers: _headers, + ), + ); + if (response.statusCode == HttpStatus.ok) { + var body = response.data as Map; + if (body.containsKey('error') && body["error"] != null) { + var error = body['error']; + + if (error["message"] is Map) { + error = error['message']; + } + + throw Exception( + "errorCode: ${error['code']},errorMsg: ${error['message']}", + ); + } + return body['result']; + } + } on DioException catch (e) { + if (e.type == DioExceptionType.badResponse) { + var errorResponseBody = e.response!.data; + + switch (e.response!.statusCode) { + case 401: + throw Exception( + " code: 401, message: Unauthorized", + ); + case 403: + throw Exception( + "code: 403,message: Forbidden", + ); + case 404: + if (errorResponseBody['error'] != null) { + var error = errorResponseBody['error']; + throw Exception( + "errorCode: ${error['code']},errorMsg: ${error['message']}", + ); + } + throw Exception( + "code: 500, message: Internal Server Error", + ); + default: + if (errorResponseBody['error'] != null) { + var error = errorResponseBody['error']; + throw Exception( + "errorCode: ${error['code']},errorMsg: ${error['message']}", + ); + } + throw Exception( + "code: 500, message: 'Internal Server Error'", + ); + } + } else if (e.type == DioExceptionType.connectionError) { + throw Exception( + "code: 500,message: e.message ?? 'Connection Error'", + ); + } + throw Exception( + "code: 500, message: e.message ?? 'Unknown Error'", + ); + } + } +} From 8858a9b81b6558f3453b5dbc9bfd60beccc26bce Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Tue, 23 Apr 2024 21:08:00 -0400 Subject: [PATCH 38/63] payjoin_library.dart added --- example/lib/main.dart | 171 ++++++++++++++++++++++++++----- example/lib/payjoin_library.dart | 107 +++++++++++++++++-- 2 files changed, 242 insertions(+), 36 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 636b796..3b82dee 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,5 +1,6 @@ -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:google_fonts/google_fonts.dart'; +import 'package:payjoin_flutter_example/btc_client.dart'; import 'package:payjoin_flutter_example/payjoin_library.dart'; void main() async { @@ -14,7 +15,6 @@ class MyApp extends StatefulWidget { } class _MyAppState extends State { - PayjoinLibrary payJoinLibrary = PayjoinLibrary(); @override void initState() { super.initState(); @@ -22,31 +22,150 @@ class _MyAppState extends State { @override Widget build(BuildContext context) { - return MaterialApp( - debugShowCheckedModeBanner: false, - home: Scaffold( - appBar: AppBar( - title: const Text('Payjoin Example App'), - ), - body: SingleChildScrollView( - child: Container( - padding: const EdgeInsets.all(10), - child: Column( - children: [ - TextButton( - onPressed: () async { - final uri = await payJoinLibrary.buildPjUri( - 10000000, - "32iVBEu4dxkUQk9dJbZUiBiQdmypcEyJRf", - "https://testnet.demo.btcpayserver.org/BTC/pj"); - if (kDebugMode) { - print(await uri.address()); - } - }, - child: const Text("Build PjUri")) - ], + return const MaterialApp( + debugShowCheckedModeBanner: false, home: PayJoin()); + } +} + +class PayJoin extends StatefulWidget { + const PayJoin({super.key}); + + @override + State createState() => _PayJoinState(); +} + +class _PayJoinState extends State { + static const primaryColor = 0xffC71585; + PayJoinLibrary payJoinLibrary = PayJoinLibrary(); + BtcClient senderRpc = BtcClient("sender"); + BtcClient receiverRpc = BtcClient("receiver"); + + String displayText = ""; + String pjUri = ""; + String senderPsbt = ""; + String processedAndFinalizedPsbt = ""; + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + backgroundColor: const Color(primaryColor), + elevation: 0, + centerTitle: false, + title: Text('PayJoin App', + style: GoogleFonts.ibmPlexMono( + fontWeight: FontWeight.w900, + fontSize: 18, + color: Colors.white)), // Set this heigh + ), + body: SingleChildScrollView( + child: Column( + children: [ + Container( + margin: const EdgeInsets.only(bottom: 50), + padding: const EdgeInsets.only(left: 15, right: 15, bottom: 20), + color: const Color(primaryColor), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text("Response: ", + textAlign: TextAlign.center, + style: GoogleFonts.manrope( + color: Colors.white, + fontSize: 12, + fontWeight: FontWeight.w700)), + Expanded( + child: SelectableText( + displayText, + maxLines: 3, + textAlign: TextAlign.start, + style: GoogleFonts.ibmPlexMono( + color: Colors.white, + fontSize: 12, + fontWeight: FontWeight.w700), + ), + ), + ], + ), ), - ), + TextButton( + onPressed: () async { + await senderRpc.loadWallet(); + await receiverRpc.loadWallet(); + }, + child: Text( + "Init Sender & Receiver", + style: GoogleFonts.manrope( + color: Colors.black, + fontSize: 14, + fontWeight: FontWeight.w800), + )), + TextButton( + onPressed: () async { + final address = await receiverRpc.getNewAddress(); + final res = await payJoinLibrary.buildPjUri(150.0, address); + setState(() { + pjUri = res; + displayText = res; + }); + }, + child: Text( + "Build Receiver pj Uri", + style: GoogleFonts.manrope( + color: Colors.black, + fontSize: 14, + fontWeight: FontWeight.w800), + )), + TextButton( + onPressed: () async { + final balance = await senderRpc.getBalance(); + debugPrint("Sender Balance: ${balance.toString()}"); + final psbt = (await senderRpc.walletCreateFundedPsbt( + pjUri, 2))["psbt"]; + debugPrint( + "\nOriginal sender psbt: ${psbt}", + ); + setState(() { + senderPsbt = psbt; + }); + }, + child: Text( + "Create Sender psbt using receiver pjUri", + style: GoogleFonts.manrope( + color: Colors.black, + fontSize: 14, + fontWeight: FontWeight.w800), + )), + TextButton( + onPressed: () async { + final psbt = await payJoinLibrary.handlePjRequest( + senderPsbt, pjUri, 1, receiverRpc); + debugPrint("\n Original receiver psbt: $psbt"); + setState(() { + processedAndFinalizedPsbt = psbt; + }); + }, + child: Text( + "Process and finalize receiver Pj request", + style: GoogleFonts.manrope( + color: Colors.black, + fontSize: 14, + fontWeight: FontWeight.w800), + )), + TextButton( + onPressed: () async { + final res = await senderRpc + .sendRawTransaction(processedAndFinalizedPsbt); + debugPrint("Broadcast success: $res"); + }, + child: Text( + "Broadcast processed psbt", + style: GoogleFonts.manrope( + color: Colors.black, + fontSize: 14, + fontWeight: FontWeight.w800), + )) + ], ), ), ); diff --git a/example/lib/payjoin_library.dart b/example/lib/payjoin_library.dart index 18baf03..e4ffd1b 100644 --- a/example/lib/payjoin_library.dart +++ b/example/lib/payjoin_library.dart @@ -1,34 +1,121 @@ +import 'dart:async'; +import 'dart:convert'; +import 'dart:typed_data'; + +import 'package:bdk_flutter/bdk_flutter.dart'; import 'package:flutter/cupertino.dart'; -import 'package:payjoin_flutter/common.dart'; +import 'package:payjoin_flutter/common.dart' as common; import 'package:payjoin_flutter/receive/v1.dart' as v1; +import 'package:payjoin_flutter/send.dart' as send; import 'package:payjoin_flutter/uri.dart' as uri; +import 'package:payjoin_flutter_example/btc_client.dart'; -class PayjoinLibrary { +class PayJoinLibrary { static const pjUrl = "https://localhost:8088"; static const ohRelay = "https://localhost:8088"; static const localCertFile = "localhost.der"; - Future buildPjUri(double amount, String address, String pj) async { + Future buildPjUri(double amount, String address, {String? pj}) async { try { - final pjUri = "bitcoin:$address?amount=${amount / 100000000.0}&pj=$pj"; - return await uri.Uri.fromString(pjUri); + final pjUri = + "bitcoin:$address?amount=${amount / 100000000.0}&pj=${pj ?? pjUrl}"; + await uri.Uri.fromString(pjUri); + return pjUri; } catch (e) { debugPrint(e.toString()); rethrow; } } - handlePjRequest(Request req, Headers headers) async { - final _ = await v1.UncheckedProposal.fromRequest( + Future handlePjRequest(String psbtBase64, String uriStr, + int minFeeRate, BtcClient client) async { + final uriObj = await uri.Uri.fromString(uriStr); + final (req, cxt) = await (await (await send.RequestBuilder.fromPsbtAndUri( + psbtBase64: psbtBase64, uri: uriObj)) + .buildWithAdditionalFee( + maxFeeContribution: 10000, + minFeeRate: 1, + clampFeeContribution: false)) + .extractContextV1(); + final headers = common.Headers(map: { + 'content-type': 'text/plain', + 'content-length': req.body.length.toString(), + }); + final unchecked = await v1.UncheckedProposal.fromRequest( body: req.body.toList(), query: (await req.url.query())!, headers: headers); + final payJoinProposal = await handleProposal(unchecked, client); + final psbt = await payJoinProposal.psbt(); + // Sender checks, signs, finalizes, extracts, and broadcasts + final checkedPsbt = await cxt.processResponse(response: base64Decode(psbt)); + return checkedPsbt; + } + + Future canBroadcast(Uint8List tx) async { + return true; + } + + Future isKnown(common.OutPoint o) async { + return false; + } + + Future isOwned(Uint8List scriptBytes, BtcClient client) async { + final script = ScriptBuf(bytes: scriptBytes); + final address = await (await Address.fromScript( + script: script, network: Network.regtest)) + .asString(); + return (await client.getAddressInfo(address))["ismine"]; + } + + Future processPsbt(String psbt, BtcClient client) async { + final res = await client.walletProcessPsbt(psbt); + return res["psbt"]; } - handleProposal(v1.UncheckedProposal proposal) async { + Future handleProposal( + v1.UncheckedProposal uncheckedProposal, BtcClient receiver) async { try { - final _ = await proposal.extractTxToScheduleBroadcast(); + // in a payment processor where the sender could go offline, this is where you schedule to broadcast the original_tx + var broadcastInFailureCase = + await uncheckedProposal.extractTxToScheduleBroadcast(); + final inputsOwned = await uncheckedProposal.checkBroadcastSuitability( + canBroadcast: canBroadcast); + // Receive Check 2: receiver can't sign for proposal inputs + final mixedInputScripts = await inputsOwned.checkInputsNotOwned( + isOwned: (e) => isOwned(e, receiver)); + + // Receive Check 3: receiver can't sign for proposal inputs + final seenInputs = await mixedInputScripts.checkNoMixedInputScripts(); + // Receive Check 4: have we seen this input before? More of a check for non-interactive i.e. payment processor receivers. + final provisionalProposal = + await (await seenInputs.checkNoInputsSeenBefore(isKnown: isKnown)) + .identifyReceiverOutputs( + isReceiverOutput: (e) => isOwned(e, receiver)); + final availableInputs = await receiver.listUnspent([]); + // Select receiver payjoin inputs. TODO Lock them. + Map candidateInputs = {}; + for (var e in availableInputs) { + candidateInputs[e["amount"]] = + common.OutPoint(txid: e["txid"], vout: e["vout"]); + } + final selectedOutpoint = await provisionalProposal.tryPreservingPrivacy( + candidateInputs: candidateInputs); + final selectedUtxo = availableInputs.firstWhere((e) => + (e["txid"] == selectedOutpoint.txid) && + (e["vout"] == selectedOutpoint.vout)); + final txoutToContribute = common.TxOut( + scriptPubkey: selectedUtxo["scriptPubKey"], + value: selectedUtxo["amount"], + ); + final outputToContribute = common.OutPoint( + txid: selectedUtxo["txid"], vout: selectedUtxo["vout"]); + await provisionalProposal.contributeWitnessInput( + txo: txoutToContribute, outpoint: outputToContribute); + final payJoinProposal = await provisionalProposal.finalizeProposal( + processPsbt: (e) => processPsbt(e, receiver)); + return payJoinProposal; } on Exception catch (e) { - debugPrint(e.toString()); + rethrow; } } } From 0acbb41bbe34a38b90f7f98d4b309ff73fb0d407 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Wed, 24 Apr 2024 10:20:00 -0400 Subject: [PATCH 39/63] feat(Url): as_string() added; --- lib/src/generated/api/uri.dart | 3 +++ lib/uri.dart | 9 +++++++++ rust/src/api/uri.rs | 3 +++ 3 files changed, 15 insertions(+) diff --git a/lib/src/generated/api/uri.dart b/lib/src/generated/api/uri.dart index 188dca3..4df0076 100644 --- a/lib/src/generated/api/uri.dart +++ b/lib/src/generated/api/uri.dart @@ -44,6 +44,9 @@ class Url { required this.field0, }); + Future asString({dynamic hint}) => + PayjoinCore.instance.api.urlAsString(that: this, hint: hint); + static Future fromStr({required String url, dynamic hint}) => PayjoinCore.instance.api.urlFromStr(url: url, hint: hint); diff --git a/lib/uri.dart b/lib/uri.dart index e200a6c..dc0344a 100644 --- a/lib/uri.dart +++ b/lib/uri.dart @@ -57,4 +57,13 @@ class Url extends generated.Url { throw mapPayjoinError(e); } } + + @override + Future asString({hint}) { + try { + return super.asString(); + } on error.PayjoinError catch (e) { + throw mapPayjoinError(e); + } + } } diff --git a/rust/src/api/uri.rs b/rust/src/api/uri.rs index cc910b8..22359f0 100644 --- a/rust/src/api/uri.rs +++ b/rust/src/api/uri.rs @@ -24,6 +24,9 @@ impl Url { pub fn query(&self) -> Option { self.0.query() } + pub fn as_string(&self) -> String { + self.0.as_string() + } } pub struct Uri(pub RustOpaque>); From e49a3324b8da03b57c075b87be6a4480650a4027 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Thu, 25 Apr 2024 09:13:00 -0400 Subject: [PATCH 40/63] fix(RequestContext): code cleanup --- lib/send.dart | 9 +++++---- lib/src/generated/api/send.dart | 13 ++++++++----- rust/src/api/send.rs | 8 ++++---- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/lib/send.dart b/lib/send.dart index 006ac90..692866f 100644 --- a/lib/send.dart +++ b/lib/send.dart @@ -77,9 +77,9 @@ class RequestContext extends send.RequestContext { Future<(common.Request, ContextV1)> extractContextV1() async { try { - final res = await super.extractV1(); + final res = await send.RequestContext.extractV1(ptr: this); final request = common.Request( - await Url.fromString((await res.request.$1.query())!), + await Url.fromString((await res.request.$1.asString())), res.request.$2); return (request, ContextV1._(field0: res.contextV1.field0)); } on error.PayjoinError catch (e) { @@ -90,9 +90,10 @@ class RequestContext extends send.RequestContext { Future<(common.Request, ContextV2)> extractContextV2( String ohttpProxyUrl) async { try { - final res = await super.extractV2(ohttpProxyUrl: ohttpProxyUrl); + final res = await send.RequestContext.extractV2( + ohttpProxyUrl: ohttpProxyUrl, ptr: this); final request = common.Request( - await Url.fromString((await res.request.$1.query())!), + await Url.fromString((await res.request.$1.asString())), res.request.$2); return (request, ContextV2._(field0: res.contextV2.field0)); } on error.PayjoinError catch (e) { diff --git a/lib/src/generated/api/send.dart b/lib/src/generated/api/send.dart index 80d9e4c..af31255 100644 --- a/lib/src/generated/api/send.dart +++ b/lib/src/generated/api/send.dart @@ -207,13 +207,16 @@ class RequestContext { required this.field0, }); - Future extractV1({dynamic hint}) => - PayjoinCore.instance.api.requestContextExtractV1(that: this, hint: hint); + static Future extractV1( + {required RequestContext ptr, dynamic hint}) => + PayjoinCore.instance.api.requestContextExtractV1(ptr: ptr, hint: hint); - Future extractV2( - {required String ohttpProxyUrl, dynamic hint}) => + static Future extractV2( + {required RequestContext ptr, + required String ohttpProxyUrl, + dynamic hint}) => PayjoinCore.instance.api.requestContextExtractV2( - that: this, ohttpProxyUrl: ohttpProxyUrl, hint: hint); + ptr: ptr, ohttpProxyUrl: ohttpProxyUrl, hint: hint); @override int get hashCode => field0.hashCode; diff --git a/rust/src/api/send.rs b/rust/src/api/send.rs index a2aa3eb..abe3b27 100644 --- a/rust/src/api/send.rs +++ b/rust/src/api/send.rs @@ -88,14 +88,14 @@ impl From for payjoin_ffi::send::v1::RequestContext { } } impl RequestContext { - pub fn extract_v1(&self) -> Result { - match self.0.extract_v1() { + pub fn extract_v1(ptr: Self) -> Result { + match ptr.0.extract_v1() { Ok(e) => Ok(e.into()), Err(e) => Err(e.into()), } } - pub fn extract_v2(&self, ohttp_proxy_url: String) -> Result { - match self.0.extract_v2(ohttp_proxy_url) { + pub fn extract_v2(ptr: Self, ohttp_proxy_url: String) -> Result { + match ptr.0.extract_v2(ohttp_proxy_url) { Ok(e) => Ok(e.into()), Err(e) => Err(e.into()), } From c8c0692a11adf6b4207590a16e2bb4a9d95965e5 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Fri, 26 Apr 2024 13:46:00 -0400 Subject: [PATCH 41/63] fix(Enrolled & Enroller): code cleanup --- lib/receive/v2.dart | 11 ++++++----- lib/src/generated/api/receive.dart | 15 +++++++++------ rust/src/api/receive.rs | 12 ++++++------ 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/lib/receive/v2.dart b/lib/receive/v2.dart index f3e8a58..46452cc 100644 --- a/lib/receive/v2.dart +++ b/lib/receive/v2.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; +import '../common.dart' as common; import '../common.dart'; import '../src/exceptions.dart'; import '../src/generated/api/receive.dart' as receive; @@ -55,9 +56,9 @@ class Enroller extends receive.Enroller { } } - Future<(Request, ClientResponse)> extractRequest({hint}) async { + Future<(common.Request, ClientResponse)> extractRequest({hint}) async { try { - final res = await super.extractReq(); + final res = await receive.Enroller.extractReq(ptr: this); final request = Request( await uri.Url.fromString((await res.$1.$1.query())!), res.$1.$2); return (request, ClientResponse._(field0: res.$2.field0)); @@ -69,9 +70,9 @@ class Enroller extends receive.Enroller { class Enrolled extends receive.Enrolled { Enrolled._({required super.field0}); - Future<(Request, ClientResponse)> extractV2Request({hint}) async { + Future<(common.Request, ClientResponse)> extractRequest({hint}) async { try { - final res = await super.extractReq(); + final res = await receive.Enrolled.extractReq(ptr: this); final request = Request( await uri.Url.fromString((await res.$1.$1.query())!), res.$1.$2); return (request, ClientResponse._(field0: res.$2.field0)); @@ -306,7 +307,7 @@ class PayjoinProposal extends receive.V2PayjoinProposal { Future<(Request, ClientResponse)> extractV2Request({hint}) async { try { - final res = await super.extractV2Req(); + final res = await receive.V2PayjoinProposal.extractV2Req(ptr: this); final request = Request( await uri.Url.fromString((await res.$1.$1.query())!), res.$1.$2); return (request, ClientResponse._(field0: res.$2.field0)); diff --git a/lib/src/generated/api/receive.dart b/lib/src/generated/api/receive.dart index ee0ad24..8d9ada6 100644 --- a/lib/src/generated/api/receive.dart +++ b/lib/src/generated/api/receive.dart @@ -390,8 +390,9 @@ class Enrolled { required this.field0, }); - Future<((Url, Uint8List), ClientResponse)> extractReq({dynamic hint}) => - PayjoinCore.instance.api.enrolledExtractReq(that: this, hint: hint); + static Future<((Url, Uint8List), ClientResponse)> extractReq( + {required Enrolled ptr, dynamic hint}) => + PayjoinCore.instance.api.enrolledExtractReq(ptr: ptr, hint: hint); Future fallbackTarget({dynamic hint}) => PayjoinCore.instance.api.enrolledFallbackTarget(that: this, hint: hint); @@ -424,8 +425,9 @@ class Enroller { required this.field0, }); - Future<((Url, Uint8List), ClientResponse)> extractReq({dynamic hint}) => - PayjoinCore.instance.api.enrollerExtractReq(that: this, hint: hint); + static Future<((Url, Uint8List), ClientResponse)> extractReq( + {required Enroller ptr, dynamic hint}) => + PayjoinCore.instance.api.enrollerExtractReq(ptr: ptr, hint: hint); static Future fromRelayConfig( {required String relayUrl, @@ -819,9 +821,10 @@ class V2PayjoinProposal { Future extractV1Req({dynamic hint}) => PayjoinCore.instance.api .v2PayjoinProposalExtractV1Req(that: this, hint: hint); - Future<((Url, Uint8List), ClientResponse)> extractV2Req({dynamic hint}) => + static Future<((Url, Uint8List), ClientResponse)> extractV2Req( + {required V2PayjoinProposal ptr, dynamic hint}) => PayjoinCore.instance.api - .v2PayjoinProposalExtractV2Req(that: this, hint: hint); + .v2PayjoinProposalExtractV2Req(ptr: ptr, hint: hint); Future isOutputSubstitutionDisabled({dynamic hint}) => PayjoinCore .instance.api diff --git a/rust/src/api/receive.rs b/rust/src/api/receive.rs index 2ee62d6..6221929 100644 --- a/rust/src/api/receive.rs +++ b/rust/src/api/receive.rs @@ -266,8 +266,8 @@ impl Enroller { pub fn payjoin_subdir(&self) -> String { self.0.payjoin_subdir() } - pub fn extract_req(&self) -> Result<((Url, Vec), ClientResponse), PayjoinError> { - self.0 + pub fn extract_req(ptr:Self) -> Result<((Url, Vec), ClientResponse), PayjoinError> { + ptr.0 .extract_req_as_tuple() .map(|e| ( ((*e.0.url).clone().into(), e.0.body), @@ -301,8 +301,8 @@ impl Enrolled { pub fn fallback_target(&self) -> String { self.0.fallback_target() } - pub fn extract_req(&self) -> Result<((Url, Vec), ClientResponse), PayjoinError> { - self.0 + pub fn extract_req(ptr:Self) -> Result<((Url, Vec), ClientResponse), PayjoinError> { + ptr.0 .extract_req_as_tuple() .map(|e| ( ((*e.0.url).clone().into(), e.0.body), @@ -546,8 +546,8 @@ impl V2PayjoinProposal { pub fn extract_v1_req(&self) -> String { self.0.extract_v1_req() } - pub fn extract_v2_req(&self) -> Result<((Url, Vec), ClientResponse), PayjoinError> { - self.0.clone().extract_v2_req_as_tuple().map(|e| ( + pub fn extract_v2_req(ptr: Self) -> Result<((Url, Vec), ClientResponse), PayjoinError> { + ptr.0.clone().extract_v2_req_as_tuple().map(|e| ( ((*e.0.url).clone().into(), e.0.body), e.1.into(), )) From a0865072a75e3a0954bd5d358ce4cff6af7fd6a8 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sat, 27 Apr 2024 16:54:00 -0400 Subject: [PATCH 42/63] bindings updated --- ios/Classes/frb_generated.h | 15 ++--- lib/src/generated/frb_generated.dart | 75 ++++++++++++++++-------- lib/src/generated/frb_generated.io.dart | 37 ++++++++---- lib/src/generated/frb_generated.web.dart | 35 ++++++----- rust/src/frb_generated.io.rs | 25 ++++---- rust/src/frb_generated.rs | 50 +++++++++++----- rust/src/frb_generated.web.rs | 28 +++++---- 7 files changed, 173 insertions(+), 92 deletions(-) diff --git a/ios/Classes/frb_generated.h b/ios/Classes/frb_generated.h index 884c8ed..fb1b836 100644 --- a/ios/Classes/frb_generated.h +++ b/ios/Classes/frb_generated.h @@ -273,8 +273,7 @@ typedef struct wire_cst_request_context_v_2 { struct wire_cst_context_v_2 context_v2; } wire_cst_request_context_v_2; -void frbgen_payjoin_flutter_wire_enrolled_extract_req(int64_t port_, - struct wire_cst_enrolled *that); +void frbgen_payjoin_flutter_wire_enrolled_extract_req(int64_t port_, struct wire_cst_enrolled *ptr); void frbgen_payjoin_flutter_wire_enrolled_fallback_target(int64_t port_, struct wire_cst_enrolled *that); @@ -287,8 +286,7 @@ void frbgen_payjoin_flutter_wire_enrolled_process_res(int64_t port_, void frbgen_payjoin_flutter_wire_enrolled_subdirectory(int64_t port_, struct wire_cst_enrolled *that); -void frbgen_payjoin_flutter_wire_enroller_extract_req(int64_t port_, - struct wire_cst_enroller *that); +void frbgen_payjoin_flutter_wire_enroller_extract_req(int64_t port_, struct wire_cst_enroller *ptr); void frbgen_payjoin_flutter_wire_enroller_from_relay_config(int64_t port_, struct wire_cst_list_prim_u_8_strict *relay_url, @@ -396,7 +394,7 @@ void frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_extract_v1_req(int64_t por struct wire_cst_v_2_payjoin_proposal *that); void frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_extract_v2_req(int64_t port_, - struct wire_cst_v_2_payjoin_proposal *that); + struct wire_cst_v_2_payjoin_proposal *ptr); void frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_is_output_substitution_disabled(int64_t port_, struct wire_cst_v_2_payjoin_proposal *that); @@ -475,10 +473,10 @@ void frbgen_payjoin_flutter_wire_request_builder_from_psbt_and_uri(int64_t port_ struct wire_cst_uri *uri); void frbgen_payjoin_flutter_wire_request_context_extract_v1(int64_t port_, - struct wire_cst_request_context *that); + struct wire_cst_request_context *ptr); void frbgen_payjoin_flutter_wire_request_context_extract_v2(int64_t port_, - struct wire_cst_request_context *that, + struct wire_cst_request_context *ptr, struct wire_cst_list_prim_u_8_strict *ohttp_proxy_url); void frbgen_payjoin_flutter_wire_uri_address(int64_t port_, struct wire_cst_uri *that); @@ -488,6 +486,8 @@ void frbgen_payjoin_flutter_wire_uri_amount(int64_t port_, struct wire_cst_uri * void frbgen_payjoin_flutter_wire_uri_from_str(int64_t port_, struct wire_cst_list_prim_u_8_strict *uri); +void frbgen_payjoin_flutter_wire_url_as_string(int64_t port_, struct wire_cst_url *that); + void frbgen_payjoin_flutter_wire_url_from_str(int64_t port_, struct wire_cst_list_prim_u_8_strict *url); @@ -772,6 +772,7 @@ static int64_t dummy_method_to_enforce_bundling(void) { dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_uri_address); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_uri_amount); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_uri_from_str); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_url_as_string); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_url_from_str); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_url_query); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_wire_v_2_maybe_inputs_owned_check_inputs_not_owned); diff --git a/lib/src/generated/frb_generated.dart b/lib/src/generated/frb_generated.dart index 82f41c2..33ea689 100644 --- a/lib/src/generated/frb_generated.dart +++ b/lib/src/generated/frb_generated.dart @@ -68,7 +68,7 @@ class PayjoinCore extends BaseEntrypoint enrolledExtractReq( - {required Enrolled that, dynamic hint}); + {required Enrolled ptr, dynamic hint}); Future enrolledFallbackTarget({required Enrolled that, dynamic hint}); @@ -82,7 +82,7 @@ abstract class PayjoinCoreApi extends BaseApi { {required Enrolled that, dynamic hint}); Future<((Url, Uint8List), ClientResponse)> enrollerExtractReq( - {required Enroller that, dynamic hint}); + {required Enroller ptr, dynamic hint}); Future enrollerFromRelayConfig( {required String relayUrl, @@ -204,7 +204,7 @@ abstract class PayjoinCoreApi extends BaseApi { {required V2PayjoinProposal that, dynamic hint}); Future<((Url, Uint8List), ClientResponse)> v2PayjoinProposalExtractV2Req( - {required V2PayjoinProposal that, dynamic hint}); + {required V2PayjoinProposal ptr, dynamic hint}); Future v2PayjoinProposalIsOutputSubstitutionDisabled( {required V2PayjoinProposal that, dynamic hint}); @@ -285,10 +285,10 @@ abstract class PayjoinCoreApi extends BaseApi { {required String psbtBase64, required Uri uri, dynamic hint}); Future requestContextExtractV1( - {required RequestContext that, dynamic hint}); + {required RequestContext ptr, dynamic hint}); Future requestContextExtractV2( - {required RequestContext that, + {required RequestContext ptr, required String ohttpProxyUrl, dynamic hint}); @@ -298,6 +298,8 @@ abstract class PayjoinCoreApi extends BaseApi { Future uriFromStr({required String uri, dynamic hint}); + Future urlAsString({required Url that, dynamic hint}); + Future urlFromStr({required String url, dynamic hint}); Future urlQuery({required Url that, dynamic hint}); @@ -521,10 +523,10 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform @override Future<((Url, Uint8List), ClientResponse)> enrolledExtractReq( - {required Enrolled that, dynamic hint}) { + {required Enrolled ptr, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - var arg0 = cst_encode_box_autoadd_enrolled(that); + var arg0 = cst_encode_box_autoadd_enrolled(ptr); return wire.wire_enrolled_extract_req(port_, arg0); }, codec: DcoCodec( @@ -533,7 +535,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform decodeErrorData: dco_decode_payjoin_error, ), constMeta: kEnrolledExtractReqConstMeta, - argValues: [that], + argValues: [ptr], apiImpl: this, hint: hint, )); @@ -541,7 +543,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kEnrolledExtractReqConstMeta => const TaskConstMeta( debugName: "enrolled_extract_req", - argNames: ["that"], + argNames: ["ptr"], ); @override @@ -623,10 +625,10 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform @override Future<((Url, Uint8List), ClientResponse)> enrollerExtractReq( - {required Enroller that, dynamic hint}) { + {required Enroller ptr, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - var arg0 = cst_encode_box_autoadd_enroller(that); + var arg0 = cst_encode_box_autoadd_enroller(ptr); return wire.wire_enroller_extract_req(port_, arg0); }, codec: DcoCodec( @@ -635,7 +637,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform decodeErrorData: dco_decode_payjoin_error, ), constMeta: kEnrollerExtractReqConstMeta, - argValues: [that], + argValues: [ptr], apiImpl: this, hint: hint, )); @@ -643,7 +645,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kEnrollerExtractReqConstMeta => const TaskConstMeta( debugName: "enroller_extract_req", - argNames: ["that"], + argNames: ["ptr"], ); @override @@ -1406,10 +1408,10 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform @override Future<((Url, Uint8List), ClientResponse)> v2PayjoinProposalExtractV2Req( - {required V2PayjoinProposal that, dynamic hint}) { + {required V2PayjoinProposal ptr, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - var arg0 = cst_encode_box_autoadd_v_2_payjoin_proposal(that); + var arg0 = cst_encode_box_autoadd_v_2_payjoin_proposal(ptr); return wire.wire_v_2_payjoin_proposal_extract_v2_req(port_, arg0); }, codec: DcoCodec( @@ -1418,7 +1420,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform decodeErrorData: dco_decode_payjoin_error, ), constMeta: kV2PayjoinProposalExtractV2ReqConstMeta, - argValues: [that], + argValues: [ptr], apiImpl: this, hint: hint, )); @@ -1427,7 +1429,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kV2PayjoinProposalExtractV2ReqConstMeta => const TaskConstMeta( debugName: "v_2_payjoin_proposal_extract_v2_req", - argNames: ["that"], + argNames: ["ptr"], ); @override @@ -1969,10 +1971,10 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform @override Future requestContextExtractV1( - {required RequestContext that, dynamic hint}) { + {required RequestContext ptr, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - var arg0 = cst_encode_box_autoadd_request_context(that); + var arg0 = cst_encode_box_autoadd_request_context(ptr); return wire.wire_request_context_extract_v1(port_, arg0); }, codec: DcoCodec( @@ -1980,7 +1982,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform decodeErrorData: dco_decode_payjoin_error, ), constMeta: kRequestContextExtractV1ConstMeta, - argValues: [that], + argValues: [ptr], apiImpl: this, hint: hint, )); @@ -1988,17 +1990,17 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kRequestContextExtractV1ConstMeta => const TaskConstMeta( debugName: "request_context_extract_v1", - argNames: ["that"], + argNames: ["ptr"], ); @override Future requestContextExtractV2( - {required RequestContext that, + {required RequestContext ptr, required String ohttpProxyUrl, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { - var arg0 = cst_encode_box_autoadd_request_context(that); + var arg0 = cst_encode_box_autoadd_request_context(ptr); var arg1 = cst_encode_String(ohttpProxyUrl); return wire.wire_request_context_extract_v2(port_, arg0, arg1); }, @@ -2007,7 +2009,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform decodeErrorData: dco_decode_payjoin_error, ), constMeta: kRequestContextExtractV2ConstMeta, - argValues: [that, ohttpProxyUrl], + argValues: [ptr, ohttpProxyUrl], apiImpl: this, hint: hint, )); @@ -2015,7 +2017,7 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform TaskConstMeta get kRequestContextExtractV2ConstMeta => const TaskConstMeta( debugName: "request_context_extract_v2", - argNames: ["that", "ohttpProxyUrl"], + argNames: ["ptr", "ohttpProxyUrl"], ); @override @@ -2087,6 +2089,29 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform argNames: ["uri"], ); + @override + Future urlAsString({required Url that, dynamic hint}) { + return handler.executeNormal(NormalTask( + callFfi: (port_) { + var arg0 = cst_encode_box_autoadd_url(that); + return wire.wire_url_as_string(port_, arg0); + }, + codec: DcoCodec( + decodeSuccessData: dco_decode_String, + decodeErrorData: null, + ), + constMeta: kUrlAsStringConstMeta, + argValues: [that], + apiImpl: this, + hint: hint, + )); + } + + TaskConstMeta get kUrlAsStringConstMeta => const TaskConstMeta( + debugName: "url_as_string", + argNames: ["that"], + ); + @override Future urlFromStr({required String url, dynamic hint}) { return handler.executeNormal(NormalTask( diff --git a/lib/src/generated/frb_generated.io.dart b/lib/src/generated/frb_generated.io.dart index d980148..a05e7b0 100644 --- a/lib/src/generated/frb_generated.io.dart +++ b/lib/src/generated/frb_generated.io.dart @@ -2313,11 +2313,11 @@ class PayjoinCoreWire implements BaseWire { void wire_enrolled_extract_req( int port_, - ffi.Pointer that, + ffi.Pointer ptr, ) { return _wire_enrolled_extract_req( port_, - that, + ptr, ); } @@ -2394,11 +2394,11 @@ class PayjoinCoreWire implements BaseWire { void wire_enroller_extract_req( int port_, - ffi.Pointer that, + ffi.Pointer ptr, ) { return _wire_enroller_extract_req( port_, - that, + ptr, ); } @@ -3044,11 +3044,11 @@ class PayjoinCoreWire implements BaseWire { void wire_v_2_payjoin_proposal_extract_v2_req( int port_, - ffi.Pointer that, + ffi.Pointer ptr, ) { return _wire_v_2_payjoin_proposal_extract_v2_req( port_, - that, + ptr, ); } @@ -3503,11 +3503,11 @@ class PayjoinCoreWire implements BaseWire { void wire_request_context_extract_v1( int port_, - ffi.Pointer that, + ffi.Pointer ptr, ) { return _wire_request_context_extract_v1( port_, - that, + ptr, ); } @@ -3522,12 +3522,12 @@ class PayjoinCoreWire implements BaseWire { void wire_request_context_extract_v2( int port_, - ffi.Pointer that, + ffi.Pointer ptr, ffi.Pointer ohttp_proxy_url, ) { return _wire_request_context_extract_v2( port_, - that, + ptr, ohttp_proxy_url, ); } @@ -3596,6 +3596,23 @@ class PayjoinCoreWire implements BaseWire { late final _wire_uri_from_str = _wire_uri_from_strPtr.asFunction< void Function(int, ffi.Pointer)>(); + void wire_url_as_string( + int port_, + ffi.Pointer that, + ) { + return _wire_url_as_string( + port_, + that, + ); + } + + late final _wire_url_as_stringPtr = _lookup< + ffi.NativeFunction< + ffi.Void Function(ffi.Int64, ffi.Pointer)>>( + 'frbgen_payjoin_flutter_wire_url_as_string'); + late final _wire_url_as_string = _wire_url_as_stringPtr + .asFunction)>(); + void wire_url_from_str( int port_, ffi.Pointer url, diff --git a/lib/src/generated/frb_generated.web.dart b/lib/src/generated/frb_generated.web.dart index 2ec57be..3f9645f 100644 --- a/lib/src/generated/frb_generated.web.dart +++ b/lib/src/generated/frb_generated.web.dart @@ -1973,8 +1973,8 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { class PayjoinCoreWire implements BaseWire { PayjoinCoreWire.fromExternalLibrary(ExternalLibrary lib); - void wire_enrolled_extract_req(NativePortType port_, List that) => - wasmModule.wire_enrolled_extract_req(port_, that); + void wire_enrolled_extract_req(NativePortType port_, List ptr) => + wasmModule.wire_enrolled_extract_req(port_, ptr); void wire_enrolled_fallback_target( NativePortType port_, List that) => @@ -1987,8 +1987,8 @@ class PayjoinCoreWire implements BaseWire { void wire_enrolled_subdirectory(NativePortType port_, List that) => wasmModule.wire_enrolled_subdirectory(port_, that); - void wire_enroller_extract_req(NativePortType port_, List that) => - wasmModule.wire_enroller_extract_req(port_, that); + void wire_enroller_extract_req(NativePortType port_, List ptr) => + wasmModule.wire_enroller_extract_req(port_, ptr); void wire_enroller_from_relay_config(NativePortType port_, String relay_url, String ohttp_config_base64, String ohttp_proxy_url) => @@ -2126,8 +2126,8 @@ class PayjoinCoreWire implements BaseWire { wasmModule.wire_v_2_payjoin_proposal_extract_v1_req(port_, that); void wire_v_2_payjoin_proposal_extract_v2_req( - NativePortType port_, List that) => - wasmModule.wire_v_2_payjoin_proposal_extract_v2_req(port_, that); + NativePortType port_, List ptr) => + wasmModule.wire_v_2_payjoin_proposal_extract_v2_req(port_, ptr); void wire_v_2_payjoin_proposal_is_output_substitution_disabled( NativePortType port_, List that) => @@ -2243,12 +2243,12 @@ class PayjoinCoreWire implements BaseWire { port_, psbt_base64, uri); void wire_request_context_extract_v1( - NativePortType port_, List that) => - wasmModule.wire_request_context_extract_v1(port_, that); + NativePortType port_, List ptr) => + wasmModule.wire_request_context_extract_v1(port_, ptr); void wire_request_context_extract_v2( - NativePortType port_, List that, String ohttp_proxy_url) => - wasmModule.wire_request_context_extract_v2(port_, that, ohttp_proxy_url); + NativePortType port_, List ptr, String ohttp_proxy_url) => + wasmModule.wire_request_context_extract_v2(port_, ptr, ohttp_proxy_url); void wire_uri_address(NativePortType port_, List that) => wasmModule.wire_uri_address(port_, that); @@ -2259,6 +2259,9 @@ class PayjoinCoreWire implements BaseWire { void wire_uri_from_str(NativePortType port_, String uri) => wasmModule.wire_uri_from_str(port_, uri); + void wire_url_as_string(NativePortType port_, List that) => + wasmModule.wire_url_as_string(port_, that); + void wire_url_from_str(NativePortType port_, String url) => wasmModule.wire_url_from_str(port_, url); @@ -2551,7 +2554,7 @@ class PayjoinCoreWasmModule implements WasmModule { external PayjoinCoreWasmModule bind(dynamic thisArg, String moduleName); external void wire_enrolled_extract_req( - NativePortType port_, List that); + NativePortType port_, List ptr); external void wire_enrolled_fallback_target( NativePortType port_, List that); @@ -2563,7 +2566,7 @@ class PayjoinCoreWasmModule implements WasmModule { NativePortType port_, List that); external void wire_enroller_extract_req( - NativePortType port_, List that); + NativePortType port_, List ptr); external void wire_enroller_from_relay_config(NativePortType port_, String relay_url, String ohttp_config_base64, String ohttp_proxy_url); @@ -2663,7 +2666,7 @@ class PayjoinCoreWasmModule implements WasmModule { NativePortType port_, List that); external void wire_v_2_payjoin_proposal_extract_v2_req( - NativePortType port_, List that); + NativePortType port_, List ptr); external void wire_v_2_payjoin_proposal_is_output_substitution_disabled( NativePortType port_, List that); @@ -2740,10 +2743,10 @@ class PayjoinCoreWasmModule implements WasmModule { NativePortType port_, String psbt_base64, List uri); external void wire_request_context_extract_v1( - NativePortType port_, List that); + NativePortType port_, List ptr); external void wire_request_context_extract_v2( - NativePortType port_, List that, String ohttp_proxy_url); + NativePortType port_, List ptr, String ohttp_proxy_url); external void wire_uri_address(NativePortType port_, List that); @@ -2751,6 +2754,8 @@ class PayjoinCoreWasmModule implements WasmModule { external void wire_uri_from_str(NativePortType port_, String uri); + external void wire_url_as_string(NativePortType port_, List that); + external void wire_url_from_str(NativePortType port_, String url); external void wire_url_query(NativePortType port_, List that); diff --git a/rust/src/frb_generated.io.rs b/rust/src/frb_generated.io.rs index f0b1eab..2c74f3c 100644 --- a/rust/src/frb_generated.io.rs +++ b/rust/src/frb_generated.io.rs @@ -1181,9 +1181,9 @@ impl Default for wire_cst_v_2_unchecked_proposal { #[no_mangle] pub extern "C" fn frbgen_payjoin_flutter_wire_enrolled_extract_req( port_: i64, - that: *mut wire_cst_enrolled, + ptr: *mut wire_cst_enrolled, ) { - wire_enrolled_extract_req_impl(port_, that) + wire_enrolled_extract_req_impl(port_, ptr) } #[no_mangle] @@ -1215,9 +1215,9 @@ pub extern "C" fn frbgen_payjoin_flutter_wire_enrolled_subdirectory( #[no_mangle] pub extern "C" fn frbgen_payjoin_flutter_wire_enroller_extract_req( port_: i64, - that: *mut wire_cst_enroller, + ptr: *mut wire_cst_enroller, ) { - wire_enroller_extract_req_impl(port_, that) + wire_enroller_extract_req_impl(port_, ptr) } #[no_mangle] @@ -1473,9 +1473,9 @@ pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_extract_v1_re #[no_mangle] pub extern "C" fn frbgen_payjoin_flutter_wire_v_2_payjoin_proposal_extract_v2_req( port_: i64, - that: *mut wire_cst_v_2_payjoin_proposal, + ptr: *mut wire_cst_v_2_payjoin_proposal, ) { - wire_v_2_payjoin_proposal_extract_v2_req_impl(port_, that) + wire_v_2_payjoin_proposal_extract_v2_req_impl(port_, ptr) } #[no_mangle] @@ -1669,18 +1669,18 @@ pub extern "C" fn frbgen_payjoin_flutter_wire_request_builder_from_psbt_and_uri( #[no_mangle] pub extern "C" fn frbgen_payjoin_flutter_wire_request_context_extract_v1( port_: i64, - that: *mut wire_cst_request_context, + ptr: *mut wire_cst_request_context, ) { - wire_request_context_extract_v1_impl(port_, that) + wire_request_context_extract_v1_impl(port_, ptr) } #[no_mangle] pub extern "C" fn frbgen_payjoin_flutter_wire_request_context_extract_v2( port_: i64, - that: *mut wire_cst_request_context, + ptr: *mut wire_cst_request_context, ohttp_proxy_url: *mut wire_cst_list_prim_u_8_strict, ) { - wire_request_context_extract_v2_impl(port_, that, ohttp_proxy_url) + wire_request_context_extract_v2_impl(port_, ptr, ohttp_proxy_url) } #[no_mangle] @@ -1701,6 +1701,11 @@ pub extern "C" fn frbgen_payjoin_flutter_wire_uri_from_str( wire_uri_from_str_impl(port_, uri) } +#[no_mangle] +pub extern "C" fn frbgen_payjoin_flutter_wire_url_as_string(port_: i64, that: *mut wire_cst_url) { + wire_url_as_string_impl(port_, that) +} + #[no_mangle] pub extern "C" fn frbgen_payjoin_flutter_wire_url_from_str( port_: i64, diff --git a/rust/src/frb_generated.rs b/rust/src/frb_generated.rs index 5b37ee8..e164ff8 100644 --- a/rust/src/frb_generated.rs +++ b/rust/src/frb_generated.rs @@ -42,7 +42,7 @@ flutter_rust_bridge::frb_generated_default_handler!(); fn wire_enrolled_extract_req_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - that: impl CstDecode, + ptr: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { @@ -51,10 +51,10 @@ fn wire_enrolled_extract_req_impl( mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let api_that = that.cst_decode(); + let api_ptr = ptr.cst_decode(); move |context| { transform_result_dco((move || { - crate::api::receive::Enrolled::extract_req(&api_that) + crate::api::receive::Enrolled::extract_req(api_ptr) })()) } }, @@ -126,7 +126,7 @@ fn wire_enrolled_subdirectory_impl( } fn wire_enroller_extract_req_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - that: impl CstDecode, + ptr: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { @@ -135,10 +135,10 @@ fn wire_enroller_extract_req_impl( mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let api_that = that.cst_decode(); + let api_ptr = ptr.cst_decode(); move |context| { transform_result_dco((move || { - crate::api::receive::Enroller::extract_req(&api_that) + crate::api::receive::Enroller::extract_req(api_ptr) })()) } }, @@ -816,7 +816,7 @@ fn wire_v_2_payjoin_proposal_extract_v1_req_impl( } fn wire_v_2_payjoin_proposal_extract_v2_req_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - that: impl CstDecode, + ptr: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { @@ -825,10 +825,10 @@ fn wire_v_2_payjoin_proposal_extract_v2_req_impl( mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let api_that = that.cst_decode(); + let api_ptr = ptr.cst_decode(); move |context| { transform_result_dco((move || { - crate::api::receive::V2PayjoinProposal::extract_v2_req(&api_that) + crate::api::receive::V2PayjoinProposal::extract_v2_req(api_ptr) })()) } }, @@ -1305,7 +1305,7 @@ fn wire_request_builder_from_psbt_and_uri_impl( } fn wire_request_context_extract_v1_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - that: impl CstDecode, + ptr: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( flutter_rust_bridge::for_generated::TaskInfo { @@ -1314,10 +1314,10 @@ fn wire_request_context_extract_v1_impl( mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let api_that = that.cst_decode(); + let api_ptr = ptr.cst_decode(); move |context| { transform_result_dco((move || { - crate::api::send::RequestContext::extract_v1(&api_that) + crate::api::send::RequestContext::extract_v1(api_ptr) })()) } }, @@ -1325,7 +1325,7 @@ fn wire_request_context_extract_v1_impl( } fn wire_request_context_extract_v2_impl( port_: flutter_rust_bridge::for_generated::MessagePort, - that: impl CstDecode, + ptr: impl CstDecode, ohttp_proxy_url: impl CstDecode, ) { FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( @@ -1335,11 +1335,11 @@ fn wire_request_context_extract_v2_impl( mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, }, move || { - let api_that = that.cst_decode(); + let api_ptr = ptr.cst_decode(); let api_ohttp_proxy_url = ohttp_proxy_url.cst_decode(); move |context| { transform_result_dco((move || { - crate::api::send::RequestContext::extract_v2(&api_that, api_ohttp_proxy_url) + crate::api::send::RequestContext::extract_v2(api_ptr, api_ohttp_proxy_url) })()) } }, @@ -1401,6 +1401,26 @@ fn wire_uri_from_str_impl( }, ) } +fn wire_url_as_string_impl( + port_: flutter_rust_bridge::for_generated::MessagePort, + that: impl CstDecode, +) { + FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::( + flutter_rust_bridge::for_generated::TaskInfo { + debug_name: "url_as_string", + port: Some(port_), + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal, + }, + move || { + let api_that = that.cst_decode(); + move |context| { + transform_result_dco((move || { + Result::<_, ()>::Ok(crate::api::uri::Url::as_string(&api_that)) + })()) + } + }, + ) +} fn wire_url_from_str_impl( port_: flutter_rust_bridge::for_generated::MessagePort, url: impl CstDecode, diff --git a/rust/src/frb_generated.web.rs b/rust/src/frb_generated.web.rs index 294deee..79e2879 100644 --- a/rust/src/frb_generated.web.rs +++ b/rust/src/frb_generated.web.rs @@ -1064,9 +1064,9 @@ impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsVa #[wasm_bindgen] pub fn wire_enrolled_extract_req( port_: flutter_rust_bridge::for_generated::MessagePort, - that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ptr: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_enrolled_extract_req_impl(port_, that) + wire_enrolled_extract_req_impl(port_, ptr) } #[wasm_bindgen] @@ -1098,9 +1098,9 @@ pub fn wire_enrolled_subdirectory( #[wasm_bindgen] pub fn wire_enroller_extract_req( port_: flutter_rust_bridge::for_generated::MessagePort, - that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ptr: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_enroller_extract_req_impl(port_, that) + wire_enroller_extract_req_impl(port_, ptr) } #[wasm_bindgen] @@ -1356,9 +1356,9 @@ pub fn wire_v_2_payjoin_proposal_extract_v1_req( #[wasm_bindgen] pub fn wire_v_2_payjoin_proposal_extract_v2_req( port_: flutter_rust_bridge::for_generated::MessagePort, - that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ptr: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_v_2_payjoin_proposal_extract_v2_req_impl(port_, that) + wire_v_2_payjoin_proposal_extract_v2_req_impl(port_, ptr) } #[wasm_bindgen] @@ -1552,18 +1552,18 @@ pub fn wire_request_builder_from_psbt_and_uri( #[wasm_bindgen] pub fn wire_request_context_extract_v1( port_: flutter_rust_bridge::for_generated::MessagePort, - that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ptr: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ) { - wire_request_context_extract_v1_impl(port_, that) + wire_request_context_extract_v1_impl(port_, ptr) } #[wasm_bindgen] pub fn wire_request_context_extract_v2( port_: flutter_rust_bridge::for_generated::MessagePort, - that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, + ptr: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, ohttp_proxy_url: String, ) { - wire_request_context_extract_v2_impl(port_, that, ohttp_proxy_url) + wire_request_context_extract_v2_impl(port_, ptr, ohttp_proxy_url) } #[wasm_bindgen] @@ -1587,6 +1587,14 @@ pub fn wire_uri_from_str(port_: flutter_rust_bridge::for_generated::MessagePort, wire_uri_from_str_impl(port_, uri) } +#[wasm_bindgen] +pub fn wire_url_as_string( + port_: flutter_rust_bridge::for_generated::MessagePort, + that: flutter_rust_bridge::for_generated::wasm_bindgen::JsValue, +) { + wire_url_as_string_impl(port_, that) +} + #[wasm_bindgen] pub fn wire_url_from_str(port_: flutter_rust_bridge::for_generated::MessagePort, url: String) { wire_url_from_str_impl(port_, url) From d18c9a4170109d3a53021ce08083e59a7a05b62f Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sun, 28 Apr 2024 11:00:00 -0400 Subject: [PATCH 43/63] code cleanup --- rust/Cargo.lock | 130 ++++++++++++++++++++++++++++-------------------- 1 file changed, 75 insertions(+), 55 deletions(-) diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 668d3c6..830e332 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -128,47 +128,48 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.11" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" dependencies = [ "windows-sys", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" dependencies = [ "anstyle", "windows-sys", @@ -387,9 +388,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "694c8807f2ae16faecc43dc17d74b3eb042482789fd0eb64b39a2e04e087053f" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" dependencies = [ "serde", ] @@ -494,9 +495,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.1" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" dependencies = [ "clap_builder", "clap_derive", @@ -504,9 +505,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.1" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" dependencies = [ "anstream", "anstyle", @@ -516,11 +517,11 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.0" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", "syn", @@ -534,9 +535,9 @@ checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "console_error_panic_hook" @@ -878,9 +879,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "goblin" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb07a4ffed2093b118a525b1d8f5204ae274faed5604537caf7135d0f18d9887" +checksum = "1b363a30c165f666402fe6a3024d3bec7ebc898f96a4a23bd1c99f8dbf3f4f47" dependencies = [ "log", "plain", @@ -893,6 +894,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.3.6" @@ -989,11 +996,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" @@ -1142,9 +1155,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "payjoin" @@ -1166,7 +1179,7 @@ dependencies = [ [[package]] name = "payjoin_ffi" version = "0.13.0" -source = "git+https://github.com/LtbLightning/payjoin-ffi?branch=v0.13#8ebcea47367b710d1b0d80a03bdd8106025c1ef2" +source = "git+https://github.com/LtbLightning/payjoin-ffi?branch=v0.13#6639d6680235a7bc6732fdbe724b1f788c24de81" dependencies = [ "ohttp", "payjoin", @@ -1358,9 +1371,9 @@ checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "ryu" -version = "1.0.16" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "scroll" @@ -1405,9 +1418,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" dependencies = [ "serde", ] @@ -1434,9 +1447,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.113" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -1496,9 +1509,9 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "strsim" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "subtle" @@ -1636,9 +1649,9 @@ dependencies = [ [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" [[package]] name = "uniffi" @@ -1669,7 +1682,7 @@ dependencies = [ "fs-err", "glob", "goblin", - "heck", + "heck 0.4.1", "once_cell", "paste", "serde", @@ -1919,13 +1932,14 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", "windows_i686_gnu", + "windows_i686_gnullvm", "windows_i686_msvc", "windows_x86_64_gnu", "windows_x86_64_gnullvm", @@ -1934,45 +1948,51 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "x25519-dalek" From b1ffd14fd2a781a2643d444b7b0fa34486fc1723 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sun, 28 Apr 2024 17:05:00 -0400 Subject: [PATCH 44/63] README.md updated --- README.md | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fb0b5b9..7c6e739 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,34 @@ -# payjoin +# Payjoin Flutter + +A Flutter library for the [Payjoin Dev Kit](https://payjoindevkit.org/). + +### How to Use + +To use the `payjoin_flutter` package in your project, add it as a dependency in your project's pubspec.yaml: + +```dart +dependencies: +payjoin_flutter: 0.13.0 +``` +### Requirements + +- Flutter : 3.0 or higher +- Android minSdkVersion. : API 23 or higher. +- Deployment target : iOS 12.0 or greater. + +## Run the example app + +Before running the example app, we need to set up the Bitcoin core properly in the regtest network. If you donot +have Bitcoin Core locally, please refer to this [page](https://learn.saylor.org/mod/page/view.php?id=36347). Or you can +install `Nigiri Bitcoin`, which is a tool designed to simplify the process of running local instances of Bitcoin and +Liquid networks for development and testing purposes. You can refer to +this [link](https://github.com/vulpemventures/nigiri), to install it on your local machine. + +NB: The default credentials would be the following +``` +rpc_user = "admin1" +rpc_password = "123" +rpc_host = "localhost" +rpc_port = "18443" +``` From 0acd59d7d18365fd92cc1dcd6f1f4b9209ddacf3 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Mon, 29 Apr 2024 14:43:00 -0400 Subject: [PATCH 45/63] fix(Uri): amount() returns the value in BTC --- lib/src/generated/api/uri.dart | 4 ++-- lib/uri.dart | 2 +- rust/src/api/uri.rs | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/src/generated/api/uri.dart b/lib/src/generated/api/uri.dart index 4df0076..46bbdd4 100644 --- a/lib/src/generated/api/uri.dart +++ b/lib/src/generated/api/uri.dart @@ -19,8 +19,8 @@ class Uri { Future address({dynamic hint}) => PayjoinCore.instance.api.uriAddress(that: this, hint: hint); - ///Gets the amount in satoshis. - Future amount({dynamic hint}) => + ///Gets the amount in btc. + Future amount({dynamic hint}) => PayjoinCore.instance.api.uriAmount(that: this, hint: hint); static Future fromStr({required String uri, dynamic hint}) => diff --git a/lib/uri.dart b/lib/uri.dart index dc0344a..dc64fbd 100644 --- a/lib/uri.dart +++ b/lib/uri.dart @@ -19,7 +19,7 @@ class Uri extends generated.Uri { ///Gets the amount in satoshis. @override - Future amount({hint}) { + Future amount({hint}) { try { return super.amount(); } on error.PayjoinError catch (e) { diff --git a/rust/src/api/uri.rs b/rust/src/api/uri.rs index 22359f0..47a7f1c 100644 --- a/rust/src/api/uri.rs +++ b/rust/src/api/uri.rs @@ -52,8 +52,8 @@ impl Uri { pub fn address(&self) -> String { self.0.address() } - ///Gets the amount in satoshis. - pub fn amount(&self) -> Option { + ///Gets the amount in btc. + pub fn amount(&self) -> Option { self.0.amount() } } From e4ae4f5e84b45b8be6d9be0e5c6660d1942a2703 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Tue, 30 Apr 2024 14:26:00 -0400 Subject: [PATCH 46/63] bindings updated --- ios/Classes/frb_generated.h | 3 + lib/src/generated/frb_generated.dart | 75 +++++++++++++++++++++++- lib/src/generated/frb_generated.io.dart | 56 ++++++++++++++++++ lib/src/generated/frb_generated.web.dart | 42 +++++++++++++ rust/Cargo.lock | 2 +- rust/src/frb_generated.io.rs | 11 ++++ rust/src/frb_generated.rs | 41 +++++++++++++ rust/src/frb_generated.web.rs | 6 ++ 8 files changed, 232 insertions(+), 4 deletions(-) diff --git a/ios/Classes/frb_generated.h b/ios/Classes/frb_generated.h index fb1b836..7d1fd81 100644 --- a/ios/Classes/frb_generated.h +++ b/ios/Classes/frb_generated.h @@ -595,6 +595,8 @@ struct wire_cst_enrolled *frbgen_payjoin_flutter_cst_new_box_autoadd_enrolled(vo struct wire_cst_enroller *frbgen_payjoin_flutter_cst_new_box_autoadd_enroller(void); +double *frbgen_payjoin_flutter_cst_new_box_autoadd_f_64(double value); + struct wire_cst_headers *frbgen_payjoin_flutter_cst_new_box_autoadd_headers(void); struct wire_cst_maybe_inputs_owned *frbgen_payjoin_flutter_cst_new_box_autoadd_maybe_inputs_owned(void); @@ -659,6 +661,7 @@ static int64_t dummy_method_to_enforce_bundling(void) { dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_cst_new_box_autoadd_context_v_2); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_cst_new_box_autoadd_enrolled); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_cst_new_box_autoadd_enroller); + dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_cst_new_box_autoadd_f_64); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_cst_new_box_autoadd_headers); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_cst_new_box_autoadd_maybe_inputs_owned); dummy_var ^= ((int64_t) (void*) frbgen_payjoin_flutter_cst_new_box_autoadd_maybe_inputs_seen); diff --git a/lib/src/generated/frb_generated.dart b/lib/src/generated/frb_generated.dart index 33ea689..6cb45cc 100644 --- a/lib/src/generated/frb_generated.dart +++ b/lib/src/generated/frb_generated.dart @@ -294,7 +294,7 @@ abstract class PayjoinCoreApi extends BaseApi { Future uriAddress({required Uri that, dynamic hint}); - Future uriAmount({required Uri that, dynamic hint}); + Future uriAmount({required Uri that, dynamic hint}); Future uriFromStr({required String uri, dynamic hint}); @@ -2044,14 +2044,14 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform ); @override - Future uriAmount({required Uri that, dynamic hint}) { + Future uriAmount({required Uri that, dynamic hint}) { return handler.executeNormal(NormalTask( callFfi: (port_) { var arg0 = cst_encode_box_autoadd_uri(that); return wire.wire_uri_amount(port_, arg0); }, codec: DcoCodec( - decodeSuccessData: dco_decode_opt_box_autoadd_u_64, + decodeSuccessData: dco_decode_opt_box_autoadd_f_64, decodeErrorData: null, ), constMeta: kUriAmountConstMeta, @@ -2667,6 +2667,12 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return dco_decode_enroller(raw); } + @protected + double dco_decode_box_autoadd_f_64(dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + return raw as double; + } + @protected Headers dco_decode_box_autoadd_headers(dynamic raw) { // Codec=Dco (DartCObject based), see doc to use other codecs @@ -2865,6 +2871,12 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform ); } + @protected + double dco_decode_f_64(dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + return raw as double; + } + @protected Headers dco_decode_headers(dynamic raw) { // Codec=Dco (DartCObject based), see doc to use other codecs @@ -2957,6 +2969,12 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return raw == null ? null : dco_decode_String(raw); } + @protected + double? dco_decode_opt_box_autoadd_f_64(dynamic raw) { + // Codec=Dco (DartCObject based), see doc to use other codecs + return raw == null ? null : dco_decode_box_autoadd_f_64(raw); + } + @protected int? dco_decode_opt_box_autoadd_u_64(dynamic raw) { // Codec=Dco (DartCObject based), see doc to use other codecs @@ -3638,6 +3656,12 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return (sse_decode_enroller(deserializer)); } + @protected + double sse_decode_box_autoadd_f_64(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + return (sse_decode_f_64(deserializer)); + } + @protected Headers sse_decode_box_autoadd_headers(SseDeserializer deserializer) { // Codec=Sse (Serialization based), see doc to use other codecs @@ -3832,6 +3856,12 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return Enroller(field0: var_field0); } + @protected + double sse_decode_f_64(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + return deserializer.buffer.getFloat64(); + } + @protected Headers sse_decode_headers(SseDeserializer deserializer) { // Codec=Sse (Serialization based), see doc to use other codecs @@ -3937,6 +3967,17 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } } + @protected + double? sse_decode_opt_box_autoadd_f_64(SseDeserializer deserializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + + if (sse_decode_bool(deserializer)) { + return (sse_decode_box_autoadd_f_64(deserializer)); + } else { + return null; + } + } + @protected int? sse_decode_opt_box_autoadd_u_64(SseDeserializer deserializer) { // Codec=Sse (Serialization based), see doc to use other codecs @@ -4496,6 +4537,12 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform return raw; } + @protected + double cst_encode_f_64(double raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw; + } + @protected int cst_encode_u_32(int raw) { // Codec=Cst (C-struct based), see doc to use other codecs @@ -4782,6 +4829,12 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform sse_encode_enroller(self, serializer); } + @protected + void sse_encode_box_autoadd_f_64(double self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + sse_encode_f_64(self, serializer); + } + @protected void sse_encode_box_autoadd_headers(Headers self, SseSerializer serializer) { // Codec=Sse (Serialization based), see doc to use other codecs @@ -4972,6 +5025,12 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform sse_encode_RustOpaque_payjoin_ffireceivev2Enroller(self.field0, serializer); } + @protected + void sse_encode_f_64(double self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + serializer.buffer.putFloat64(self); + } + @protected void sse_encode_headers(Headers self, SseSerializer serializer) { // Codec=Sse (Serialization based), see doc to use other codecs @@ -5067,6 +5126,16 @@ class PayjoinCoreApiImpl extends PayjoinCoreApiImplPlatform } } + @protected + void sse_encode_opt_box_autoadd_f_64(double? self, SseSerializer serializer) { + // Codec=Sse (Serialization based), see doc to use other codecs + + sse_encode_bool(self != null, serializer); + if (self != null) { + sse_encode_box_autoadd_f_64(self, serializer); + } + } + @protected void sse_encode_opt_box_autoadd_u_64(int? self, SseSerializer serializer) { // Codec=Sse (Serialization based), see doc to use other codecs diff --git a/lib/src/generated/frb_generated.io.dart b/lib/src/generated/frb_generated.io.dart index a05e7b0..0f1e8f0 100644 --- a/lib/src/generated/frb_generated.io.dart +++ b/lib/src/generated/frb_generated.io.dart @@ -256,6 +256,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected Enroller dco_decode_box_autoadd_enroller(dynamic raw); + @protected + double dco_decode_box_autoadd_f_64(dynamic raw); + @protected Headers dco_decode_box_autoadd_headers(dynamic raw); @@ -344,6 +347,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected Enroller dco_decode_enroller(dynamic raw); + @protected + double dco_decode_f_64(dynamic raw); + @protected Headers dco_decode_headers(dynamic raw); @@ -377,6 +383,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected String? dco_decode_opt_String(dynamic raw); + @protected + double? dco_decode_opt_box_autoadd_f_64(dynamic raw); + @protected int? dco_decode_opt_box_autoadd_u_64(dynamic raw); @@ -623,6 +632,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected Enroller sse_decode_box_autoadd_enroller(SseDeserializer deserializer); + @protected + double sse_decode_box_autoadd_f_64(SseDeserializer deserializer); + @protected Headers sse_decode_box_autoadd_headers(SseDeserializer deserializer); @@ -723,6 +735,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected Enroller sse_decode_enroller(SseDeserializer deserializer); + @protected + double sse_decode_f_64(SseDeserializer deserializer); + @protected Headers sse_decode_headers(SseDeserializer deserializer); @@ -759,6 +774,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected String? sse_decode_opt_String(SseDeserializer deserializer); + @protected + double? sse_decode_opt_box_autoadd_f_64(SseDeserializer deserializer); + @protected int? sse_decode_opt_box_autoadd_u_64(SseDeserializer deserializer); @@ -936,6 +954,12 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { return ptr; } + @protected + ffi.Pointer cst_encode_box_autoadd_f_64(double raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return wire.cst_new_box_autoadd_f_64(cst_encode_f_64(raw)); + } + @protected ffi.Pointer cst_encode_box_autoadd_headers(Headers raw) { // Codec=Cst (C-struct based), see doc to use other codecs @@ -1203,6 +1227,12 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { return raw == null ? ffi.nullptr : cst_encode_String(raw); } + @protected + ffi.Pointer cst_encode_opt_box_autoadd_f_64(double? raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw == null ? ffi.nullptr : cst_encode_box_autoadd_f_64(raw); + } + @protected ffi.Pointer cst_encode_opt_box_autoadd_u_64(int? raw) { // Codec=Cst (C-struct based), see doc to use other codecs @@ -1854,6 +1884,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected bool cst_encode_bool(bool raw); + @protected + double cst_encode_f_64(double raw); + @protected int cst_encode_u_32(int raw); @@ -2008,6 +2041,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected void sse_encode_box_autoadd_enroller(Enroller self, SseSerializer serializer); + @protected + void sse_encode_box_autoadd_f_64(double self, SseSerializer serializer); + @protected void sse_encode_box_autoadd_headers(Headers self, SseSerializer serializer); @@ -2110,6 +2146,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected void sse_encode_enroller(Enroller self, SseSerializer serializer); + @protected + void sse_encode_f_64(double self, SseSerializer serializer); + @protected void sse_encode_headers(Headers self, SseSerializer serializer); @@ -2150,6 +2189,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected void sse_encode_opt_String(String? self, SseSerializer serializer); + @protected + void sse_encode_opt_box_autoadd_f_64(double? self, SseSerializer serializer); + @protected void sse_encode_opt_box_autoadd_u_64(int? self, SseSerializer serializer); @@ -4427,6 +4469,20 @@ class PayjoinCoreWire implements BaseWire { late final _cst_new_box_autoadd_enroller = _cst_new_box_autoadd_enrollerPtr .asFunction Function()>(); + ffi.Pointer cst_new_box_autoadd_f_64( + double value, + ) { + return _cst_new_box_autoadd_f_64( + value, + ); + } + + late final _cst_new_box_autoadd_f_64Ptr = + _lookup Function(ffi.Double)>>( + 'frbgen_payjoin_flutter_cst_new_box_autoadd_f_64'); + late final _cst_new_box_autoadd_f_64 = _cst_new_box_autoadd_f_64Ptr + .asFunction Function(double)>(); + ffi.Pointer cst_new_box_autoadd_headers() { return _cst_new_box_autoadd_headers(); } diff --git a/lib/src/generated/frb_generated.web.dart b/lib/src/generated/frb_generated.web.dart index 3f9645f..c1d1c51 100644 --- a/lib/src/generated/frb_generated.web.dart +++ b/lib/src/generated/frb_generated.web.dart @@ -255,6 +255,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected Enroller dco_decode_box_autoadd_enroller(dynamic raw); + @protected + double dco_decode_box_autoadd_f_64(dynamic raw); + @protected Headers dco_decode_box_autoadd_headers(dynamic raw); @@ -343,6 +346,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected Enroller dco_decode_enroller(dynamic raw); + @protected + double dco_decode_f_64(dynamic raw); + @protected Headers dco_decode_headers(dynamic raw); @@ -376,6 +382,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected String? dco_decode_opt_String(dynamic raw); + @protected + double? dco_decode_opt_box_autoadd_f_64(dynamic raw); + @protected int? dco_decode_opt_box_autoadd_u_64(dynamic raw); @@ -622,6 +631,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected Enroller sse_decode_box_autoadd_enroller(SseDeserializer deserializer); + @protected + double sse_decode_box_autoadd_f_64(SseDeserializer deserializer); + @protected Headers sse_decode_box_autoadd_headers(SseDeserializer deserializer); @@ -722,6 +734,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected Enroller sse_decode_enroller(SseDeserializer deserializer); + @protected + double sse_decode_f_64(SseDeserializer deserializer); + @protected Headers sse_decode_headers(SseDeserializer deserializer); @@ -758,6 +773,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected String? sse_decode_opt_String(SseDeserializer deserializer); + @protected + double? sse_decode_opt_box_autoadd_f_64(SseDeserializer deserializer); + @protected int? sse_decode_opt_box_autoadd_u_64(SseDeserializer deserializer); @@ -920,6 +938,12 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { return cst_encode_enroller(raw); } + @protected + double cst_encode_box_autoadd_f_64(double raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return cst_encode_f_64(raw); + } + @protected List cst_encode_box_autoadd_headers(Headers raw) { // Codec=Cst (C-struct based), see doc to use other codecs @@ -1175,6 +1199,12 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { return raw == null ? null : cst_encode_String(raw); } + @protected + double? cst_encode_opt_box_autoadd_f_64(double? raw) { + // Codec=Cst (C-struct based), see doc to use other codecs + return raw == null ? null : cst_encode_box_autoadd_f_64(raw); + } + @protected Object? cst_encode_opt_box_autoadd_u_64(int? raw) { // Codec=Cst (C-struct based), see doc to use other codecs @@ -1552,6 +1582,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected bool cst_encode_bool(bool raw); + @protected + double cst_encode_f_64(double raw); + @protected int cst_encode_u_32(int raw); @@ -1706,6 +1739,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected void sse_encode_box_autoadd_enroller(Enroller self, SseSerializer serializer); + @protected + void sse_encode_box_autoadd_f_64(double self, SseSerializer serializer); + @protected void sse_encode_box_autoadd_headers(Headers self, SseSerializer serializer); @@ -1808,6 +1844,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected void sse_encode_enroller(Enroller self, SseSerializer serializer); + @protected + void sse_encode_f_64(double self, SseSerializer serializer); + @protected void sse_encode_headers(Headers self, SseSerializer serializer); @@ -1848,6 +1887,9 @@ abstract class PayjoinCoreApiImplPlatform extends BaseApiImpl { @protected void sse_encode_opt_String(String? self, SseSerializer serializer); + @protected + void sse_encode_opt_box_autoadd_f_64(double? self, SseSerializer serializer); + @protected void sse_encode_opt_box_autoadd_u_64(int? self, SseSerializer serializer); diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 830e332..f65bb2e 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -1179,7 +1179,7 @@ dependencies = [ [[package]] name = "payjoin_ffi" version = "0.13.0" -source = "git+https://github.com/LtbLightning/payjoin-ffi?branch=v0.13#6639d6680235a7bc6732fdbe724b1f788c24de81" +source = "git+https://github.com/LtbLightning/payjoin-ffi?branch=v0.13#e0c57c32fb8036d5eefc5c3b0a96b812e8805e42" dependencies = [ "ohttp", "payjoin", diff --git a/rust/src/frb_generated.io.rs b/rust/src/frb_generated.io.rs index 2c74f3c..f30ffe1 100644 --- a/rust/src/frb_generated.io.rs +++ b/rust/src/frb_generated.io.rs @@ -220,6 +220,12 @@ impl CstDecode for *mut wire_cst_enroller { CstDecode::::cst_decode(*wrap).into() } } +impl CstDecode for *mut f64 { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> f64 { + unsafe { *flutter_rust_bridge::for_generated::box_from_leak_ptr(self) } + } +} impl CstDecode for *mut wire_cst_headers { // Codec=Cst (C-struct based), see doc to use other codecs fn cst_decode(self) -> crate::utils::types::Headers { @@ -2191,6 +2197,11 @@ pub extern "C" fn frbgen_payjoin_flutter_cst_new_box_autoadd_enroller() -> *mut flutter_rust_bridge::for_generated::new_leak_box_ptr(wire_cst_enroller::new_with_null_ptr()) } +#[no_mangle] +pub extern "C" fn frbgen_payjoin_flutter_cst_new_box_autoadd_f_64(value: f64) -> *mut f64 { + flutter_rust_bridge::for_generated::new_leak_box_ptr(value) +} + #[no_mangle] pub extern "C" fn frbgen_payjoin_flutter_cst_new_box_autoadd_headers() -> *mut wire_cst_headers { flutter_rust_bridge::for_generated::new_leak_box_ptr(wire_cst_headers::new_with_null_ptr()) diff --git a/rust/src/frb_generated.rs b/rust/src/frb_generated.rs index e164ff8..c51c200 100644 --- a/rust/src/frb_generated.rs +++ b/rust/src/frb_generated.rs @@ -1532,6 +1532,12 @@ impl CstDecode for bool { self } } +impl CstDecode for f64 { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> f64 { + self + } +} impl CstDecode for u32 { // Codec=Cst (C-struct based), see doc to use other codecs fn cst_decode(self) -> u32 { @@ -1824,6 +1830,13 @@ impl SseDecode for crate::api::receive::Enroller { } } +impl SseDecode for f64 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + deserializer.cursor.read_f64::().unwrap() + } +} + impl SseDecode for crate::utils::types::Headers { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { @@ -1938,6 +1951,17 @@ impl SseDecode for Option { } } +impl SseDecode for Option { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { + if (::sse_decode(deserializer)) { + return Some(::sse_decode(deserializer)); + } else { + return None; + } + } +} + impl SseDecode for Option { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self { @@ -3205,6 +3229,13 @@ impl SseEncode for crate::api::receive::Enroller { } } +impl SseEncode for f64 { + // Codec=Sse (Serialization based), see doc to use other codecs + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { + serializer.cursor.write_f64::(self).unwrap(); + } +} + impl SseEncode for crate::utils::types::Headers { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { @@ -3299,6 +3330,16 @@ impl SseEncode for Option { } } +impl SseEncode for Option { + // 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.is_some(), serializer); + if let Some(value) = self { + ::sse_encode(value, serializer); + } + } +} + impl SseEncode for Option { // Codec=Sse (Serialization based), see doc to use other codecs fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) { diff --git a/rust/src/frb_generated.web.rs b/rust/src/frb_generated.web.rs index 79e2879..6563092 100644 --- a/rust/src/frb_generated.web.rs +++ b/rust/src/frb_generated.web.rs @@ -1014,6 +1014,12 @@ impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsVal self.is_truthy() } } +impl CstDecode for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { + // Codec=Cst (C-struct based), see doc to use other codecs + fn cst_decode(self) -> f64 { + self.unchecked_into_f64() as _ + } +} impl CstDecode> for flutter_rust_bridge::for_generated::wasm_bindgen::JsValue { // Codec=Cst (C-struct based), see doc to use other codecs fn cst_decode(self) -> Vec { From 1e4489167602835caba8ac67bfbb815587d85389 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Tue, 30 Apr 2024 21:11:00 -0400 Subject: [PATCH 47/63] integration tests updated --- .../bitcoin_core_full_cycle_test.dart | 41 +++++++++++++++ example/ios/Podfile.lock | 19 +++++++ example/lib/btc_client.dart | 23 ++++++--- example/pubspec.lock | 39 ++++++++++++++ example/pubspec.yaml | 51 ++----------------- 5 files changed, 120 insertions(+), 53 deletions(-) create mode 100644 example/integration_test/bitcoin_core_full_cycle_test.dart diff --git a/example/integration_test/bitcoin_core_full_cycle_test.dart b/example/integration_test/bitcoin_core_full_cycle_test.dart new file mode 100644 index 0000000..45a0ca5 --- /dev/null +++ b/example/integration_test/bitcoin_core_full_cycle_test.dart @@ -0,0 +1,41 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:integration_test/integration_test.dart'; +import 'package:payjoin_flutter/uri.dart' as pay_join_uri; +import 'package:payjoin_flutter_example/btc_client.dart'; +import 'package:payjoin_flutter_example/payjoin_library.dart'; + +void main() { + IntegrationTestWidgetsFlutterBinding.ensureInitialized(); + + group('v1_to_v1', () { + setUp(() async {}); + testWidgets('full_cycle', (WidgetTester tester) async { + final payJoinLib = PayJoinLibrary(); + final sender = BtcClient("receiver"); + final receiver = BtcClient("sender"); + // Receiver creates the payjoin URI + final pjReceiverAddress = await receiver.getNewAddress(); + final pjUri = await payJoinLib.buildPjUri(0.0000035, pjReceiverAddress); + // Sender create a funded PSBT (not broadcast) to address with amount given in the pjUri + debugPrint("Sender Balance: ${(await sender.getBalance()).toString()}"); + final uri = await pay_join_uri.Uri.fromString(pjUri); + final address = await uri.address(); + final amount = await uri.amount(); + final senderPsbt = + (await sender.walletCreateFundedPsbt(amount, address, 1))["psbt"]; + debugPrint( + "\nOriginal sender psbt: ${senderPsbt}", + ); + final receiverPsbt = + await payJoinLib.handlePjRequest(senderPsbt, pjUri, 1, receiver); + debugPrint("\n Original receiver psbt: $receiverPsbt"); + final senderProcessedPsbt = + (await sender.walletProcessPsbt(receiverPsbt))["psbt"]; + final senderFinalizedPsbt = + (await sender.finalizePsbt(senderProcessedPsbt))["psbt"]; + final res = await sender.sendRawTransaction(senderFinalizedPsbt); + debugPrint("Broadcast success: $res"); + }); + }); +} diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 2ec3228..db2c023 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,19 +1,38 @@ PODS: + - bdk_flutter (0.31.2-dev.1): + - Flutter - Flutter (1.0.0) + - integration_test (0.0.1): + - Flutter + - path_provider_foundation (0.0.1): + - Flutter + - FlutterMacOS - payjoin_flutter (0.0.1) DEPENDENCIES: + - bdk_flutter (from `.symlinks/plugins/bdk_flutter/ios`) - Flutter (from `Flutter`) + - integration_test (from `.symlinks/plugins/integration_test/ios`) + - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - payjoin_flutter (from `.symlinks/plugins/payjoin_flutter/ios`) EXTERNAL SOURCES: + bdk_flutter: + :path: ".symlinks/plugins/bdk_flutter/ios" Flutter: :path: Flutter + integration_test: + :path: ".symlinks/plugins/integration_test/ios" + path_provider_foundation: + :path: ".symlinks/plugins/path_provider_foundation/darwin" payjoin_flutter: :path: ".symlinks/plugins/payjoin_flutter/ios" SPEC CHECKSUMS: + bdk_flutter: 1d889a00393def5bcd2be9cad91fa0c2a34fff7f Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + integration_test: 13825b8a9334a850581300559b8839134b124670 + path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 payjoin_flutter: 9011d8ef87f28bd66bcf80a21fdef14951b8a2aa PODFILE CHECKSUM: a57f30d18f102dd3ce366b1d62a55ecbef2158e5 diff --git a/example/lib/btc_client.dart b/example/lib/btc_client.dart index 4e92b25..b9e192b 100644 --- a/example/lib/btc_client.dart +++ b/example/lib/btc_client.dart @@ -3,7 +3,6 @@ import 'dart:io'; import 'package:dio/dio.dart'; import 'package:flutter/cupertino.dart'; -import 'package:payjoin_flutter/uri.dart' as pay_join_uri; class BtcClient { Dio? _dioClient; @@ -82,21 +81,31 @@ class BtcClient { return res as Map; } - Future>> listUnspent(List addresses) async { + Future> finalizePsbt(String psbt) async { + var params = [psbt]; + final res = await call("finalizepsbt", params); + return res as Map; + } + + Future> listUnspent(List addresses) async { var params = [ 1, 9999999, addresses, ]; final res = await call("listunspent", params); - return res as List>; + if (res == []) { + return res; + } else { + return res; + } } Future> walletCreateFundedPsbt( - String pjUri, int feeRate) async { - final pay_join_uri.Uri uri = await pay_join_uri.Uri.fromString(pjUri); - final address = await uri.address(); - final amount = await uri.amount(); + amount, + address, + int feeRate, + ) async { var params = [ [], [ diff --git a/example/pubspec.lock b/example/pubspec.lock index 38f5312..bcc6287 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -190,6 +190,11 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_driver: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" flutter_lints: dependency: "direct dev" description: @@ -219,6 +224,11 @@ packages: url: "https://pub.dev" source: hosted version: "2.4.1" + fuchsia_remote_debug_protocol: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" glob: dependency: transitive description: @@ -251,6 +261,11 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.2" + integration_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" js: dependency: transitive description: @@ -426,6 +441,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.8" + process: + dependency: transitive + description: + name: process + sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32" + url: "https://pub.dev" + source: hosted + version: "5.0.2" pub_semver: dependency: transitive description: @@ -487,6 +510,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" + sync_http: + dependency: transitive + description: + name: sync_http + sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961" + url: "https://pub.dev" + source: hosted + version: "0.3.1" term_glyph: dependency: transitive description: @@ -551,6 +582,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.1" + webdriver: + dependency: transitive + description: + name: webdriver + sha256: "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e" + url: "https://pub.dev" + source: hosted + version: "3.0.3" win32: dependency: transitive description: diff --git a/example/pubspec.yaml b/example/pubspec.yaml index dfc4576..c2d0bf2 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -48,52 +48,11 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - - # The "flutter_lints" package below contains a set of recommended lints to - # encourage good coding practices. The lint set provided by the package is - # activated in the `analysis_options.yaml` file located at the root of your - # package. See that file for information about deactivating specific lint - # rules and activating additional ones. + integration_test: + sdk: flutter + flutter_driver: + sdk: flutter flutter_lints: ^2.0.0 -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following section is specific to Flutter packages. flutter: - - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. - uses-material-design: true - - # To add assets to your application, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg - - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/assets-and-images/#resolution-aware - - # For details regarding adding assets from package dependencies, see - # https://flutter.dev/assets-and-images/#from-packages - - # To add custom fonts to your application, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts from package dependencies, - # see https://flutter.dev/custom-fonts/#from-packages + uses-material-design: true \ No newline at end of file From 6b257e5f31ea85c2bf3eec93cb04f7f2d079602b Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Wed, 1 May 2024 12:43:00 -0400 Subject: [PATCH 48/63] code cleanup --- example/lib/main.dart | 9 +++++++-- example/lib/payjoin_library.dart | 20 +++++++++++++------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 3b82dee..43cb95a 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; +import 'package:payjoin_flutter/uri.dart' as pay_join_uri; import 'package:payjoin_flutter_example/btc_client.dart'; import 'package:payjoin_flutter_example/payjoin_library.dart'; @@ -103,7 +104,8 @@ class _PayJoinState extends State { TextButton( onPressed: () async { final address = await receiverRpc.getNewAddress(); - final res = await payJoinLibrary.buildPjUri(150.0, address); + final res = + await payJoinLibrary.buildPjUri(0.0000035, address); setState(() { pjUri = res; displayText = res; @@ -120,8 +122,11 @@ class _PayJoinState extends State { onPressed: () async { final balance = await senderRpc.getBalance(); debugPrint("Sender Balance: ${balance.toString()}"); + final uri = await pay_join_uri.Uri.fromString(pjUri); + final address = await uri.address(); + final amount = await uri.amount(); final psbt = (await senderRpc.walletCreateFundedPsbt( - pjUri, 2))["psbt"]; + amount, address, 1))["psbt"]; debugPrint( "\nOriginal sender psbt: ${psbt}", ); diff --git a/example/lib/payjoin_library.dart b/example/lib/payjoin_library.dart index e4ffd1b..e6a6ee9 100644 --- a/example/lib/payjoin_library.dart +++ b/example/lib/payjoin_library.dart @@ -16,8 +16,7 @@ class PayJoinLibrary { static const localCertFile = "localhost.der"; Future buildPjUri(double amount, String address, {String? pj}) async { try { - final pjUri = - "bitcoin:$address?amount=${amount / 100000000.0}&pj=${pj ?? pjUrl}"; + final pjUri = "bitcoin:$address?amount=$amount&pj=${pj ?? pjUrl}"; await uri.Uri.fromString(pjUri); return pjUri; } catch (e) { @@ -33,7 +32,7 @@ class PayJoinLibrary { psbtBase64: psbtBase64, uri: uriObj)) .buildWithAdditionalFee( maxFeeContribution: 10000, - minFeeRate: 1, + minFeeRate: 0, clampFeeContribution: false)) .extractContextV1(); final headers = common.Headers(map: { @@ -47,7 +46,7 @@ class PayJoinLibrary { final payJoinProposal = await handleProposal(unchecked, client); final psbt = await payJoinProposal.psbt(); // Sender checks, signs, finalizes, extracts, and broadcasts - final checkedPsbt = await cxt.processResponse(response: base64Decode(psbt)); + final checkedPsbt = await cxt.processResponse(response: utf8.encode(psbt)); return checkedPsbt; } @@ -95,7 +94,8 @@ class PayJoinLibrary { // Select receiver payjoin inputs. TODO Lock them. Map candidateInputs = {}; for (var e in availableInputs) { - candidateInputs[e["amount"]] = + int amount = (e["amount"] * 100000000).toInt(); + candidateInputs[amount] = common.OutPoint(txid: e["txid"], vout: e["vout"]); } final selectedOutpoint = await provisionalProposal.tryPreservingPrivacy( @@ -103,14 +103,20 @@ class PayJoinLibrary { final selectedUtxo = availableInputs.firstWhere((e) => (e["txid"] == selectedOutpoint.txid) && (e["vout"] == selectedOutpoint.vout)); + final selectedUtxoScriptPubKey = + await ScriptBuf.fromHex(selectedUtxo["scriptPubKey"]); + int selectedUtxoAmount = (selectedUtxo["amount"] * 100000000).toInt(); final txoutToContribute = common.TxOut( - scriptPubkey: selectedUtxo["scriptPubKey"], - value: selectedUtxo["amount"], + scriptPubkey: selectedUtxoScriptPubKey.bytes, + value: selectedUtxoAmount, ); final outputToContribute = common.OutPoint( txid: selectedUtxo["txid"], vout: selectedUtxo["vout"]); await provisionalProposal.contributeWitnessInput( txo: txoutToContribute, outpoint: outputToContribute); + final newReceiverAddress = await receiver.getNewAddress(); + await provisionalProposal.substituteOutputAddress( + address: newReceiverAddress); final payJoinProposal = await provisionalProposal.finalizeProposal( processPsbt: (e) => processPsbt(e, receiver)); return payJoinProposal; From 76717e77edf4cb664a367f6205d10069a2ff5a86 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Thu, 2 May 2024 16:12:00 -0400 Subject: [PATCH 49/63] README.md updated --- README.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7c6e739..d42921e 100644 --- a/README.md +++ b/README.md @@ -16,9 +16,9 @@ payjoin_flutter: 0.13.0 - Android minSdkVersion. : API 23 or higher. - Deployment target : iOS 12.0 or greater. -## Run the example app +### Build and run code -Before running the example app, we need to set up the Bitcoin core properly in the regtest network. If you donot +Before building the code, we need to set up the Bitcoin core properly in the regtest network. If you "don't" have Bitcoin Core locally, please refer to this [page](https://learn.saylor.org/mod/page/view.php?id=36347). Or you can install `Nigiri Bitcoin`, which is a tool designed to simplify the process of running local instances of Bitcoin and Liquid networks for development and testing purposes. You can refer to @@ -31,4 +31,16 @@ rpc_password = "123" rpc_host = "localhost" rpc_port = "18443" ``` +## Running the integration tests +Once we have set up the Bitcoin core properly in the `Regtest` network, + +```shell +git clone https://github.com/LtbLightning/payjoin-flutter.git +cd payjoin-flutter +git checkout v0.13 + +cd example +#Run the integration test +flutter test integration_test +``` From 9bd8b0bc9a4c8f35e0f3121368b96296b156a4f2 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Fri, 3 May 2024 15:34:00 -0400 Subject: [PATCH 50/63] code cleanup --- example/lib/payjoin_library.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/example/lib/payjoin_library.dart b/example/lib/payjoin_library.dart index e6a6ee9..2125c66 100644 --- a/example/lib/payjoin_library.dart +++ b/example/lib/payjoin_library.dart @@ -7,7 +7,7 @@ import 'package:flutter/cupertino.dart'; import 'package:payjoin_flutter/common.dart' as common; import 'package:payjoin_flutter/receive/v1.dart' as v1; import 'package:payjoin_flutter/send.dart' as send; -import 'package:payjoin_flutter/uri.dart' as uri; +import 'package:payjoin_flutter/uri.dart' as pj_uri; import 'package:payjoin_flutter_example/btc_client.dart'; class PayJoinLibrary { @@ -17,7 +17,7 @@ class PayJoinLibrary { Future buildPjUri(double amount, String address, {String? pj}) async { try { final pjUri = "bitcoin:$address?amount=$amount&pj=${pj ?? pjUrl}"; - await uri.Uri.fromString(pjUri); + await pj_uri.Uri.fromString(pjUri); return pjUri; } catch (e) { debugPrint(e.toString()); @@ -27,9 +27,9 @@ class PayJoinLibrary { Future handlePjRequest(String psbtBase64, String uriStr, int minFeeRate, BtcClient client) async { - final uriObj = await uri.Uri.fromString(uriStr); + final uri = await pj_uri.Uri.fromString(uriStr); final (req, cxt) = await (await (await send.RequestBuilder.fromPsbtAndUri( - psbtBase64: psbtBase64, uri: uriObj)) + psbtBase64: psbtBase64, uri: uri)) .buildWithAdditionalFee( maxFeeContribution: 10000, minFeeRate: 0, From 3a6332cc64d5cf16e316d1d10434701b54932354 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Fri, 3 May 2024 20:48:00 -0400 Subject: [PATCH 51/63] feat(BtcClient):generateToAddress() added --- example/lib/btc_client.dart | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/example/lib/btc_client.dart b/example/lib/btc_client.dart index b9e192b..5df8311 100644 --- a/example/lib/btc_client.dart +++ b/example/lib/btc_client.dart @@ -57,6 +57,15 @@ class BtcClient { return res; } + Future> generateToAddress(int nblocks, String address) async { + var params = [ + nblocks, + address, + ]; + final res = await call("generatetoaddress", params); + return res; + } + Future getBalance() async { var params = []; final res = await call("getbalance", params); @@ -118,20 +127,6 @@ class BtcClient { return res as Map; } - Future> generateToAddress( - String address, int blocks) async { - var params = [ - // [], - // [ - // {address: amount} - // ], - // 0, - // {"lockUnspents": true, "fee_rate": feeRate} - ]; - final res = await call("generatetoaddress", params); - return res as Map; - } - Future call(var methodName, [var params]) async { var body = { 'jsonrpc': '2.0', From 2ec7e5b2fe15364a73a113c574f552dc9ad35930 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sat, 4 May 2024 13:58:00 -0400 Subject: [PATCH 52/63] generate blocks to sender and receiver --- example/integration_test/bitcoin_core_full_cycle_test.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/example/integration_test/bitcoin_core_full_cycle_test.dart b/example/integration_test/bitcoin_core_full_cycle_test.dart index 45a0ca5..9b69b58 100644 --- a/example/integration_test/bitcoin_core_full_cycle_test.dart +++ b/example/integration_test/bitcoin_core_full_cycle_test.dart @@ -16,6 +16,10 @@ void main() { final receiver = BtcClient("sender"); // Receiver creates the payjoin URI final pjReceiverAddress = await receiver.getNewAddress(); + final pjSenderAddress = await sender.getNewAddress(); + //Generate blocks to receiver and sender + await sender.generateToAddress(101, pjSenderAddress); + await receiver.generateToAddress(101, pjReceiverAddress); final pjUri = await payJoinLib.buildPjUri(0.0000035, pjReceiverAddress); // Sender create a funded PSBT (not broadcast) to address with amount given in the pjUri debugPrint("Sender Balance: ${(await sender.getBalance()).toString()}"); From 7714e02c137c2dc469e102c4afc82d1be24f1d96 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sun, 5 May 2024 15:39:00 -0400 Subject: [PATCH 53/63] code cleanup --- example/ios/Podfile.lock | 2 +- example/pubspec.lock | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index db2c023..f4facd9 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -31,7 +31,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: bdk_flutter: 1d889a00393def5bcd2be9cad91fa0c2a34fff7f Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 - integration_test: 13825b8a9334a850581300559b8839134b124670 + integration_test: ce0a3ffa1de96d1a89ca0ac26fca7ea18a749ef4 path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 payjoin_flutter: 9011d8ef87f28bd66bcf80a21fdef14951b8a2aa diff --git a/example/pubspec.lock b/example/pubspec.lock index bcc6287..63b4401 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -286,26 +286,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.1" lints: dependency: transitive description: @@ -342,10 +342,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" mockito: dependency: transitive description: @@ -530,10 +530,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" typed_data: dependency: transitive description: @@ -562,10 +562,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.2.1" watcher: dependency: transitive description: From 898d83e780857e2aaf64f58a110a309810c2b0e7 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Mon, 6 May 2024 17:58:00 -0400 Subject: [PATCH 54/63] removed unnecessary params from handlePjRequest --- example/lib/main.dart | 2 +- example/lib/payjoin_library.dart | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 43cb95a..c885343 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -144,7 +144,7 @@ class _PayJoinState extends State { TextButton( onPressed: () async { final psbt = await payJoinLibrary.handlePjRequest( - senderPsbt, pjUri, 1, receiverRpc); + senderPsbt, pjUri, receiverRpc); debugPrint("\n Original receiver psbt: $psbt"); setState(() { processedAndFinalizedPsbt = psbt; diff --git a/example/lib/payjoin_library.dart b/example/lib/payjoin_library.dart index 2125c66..b9199d4 100644 --- a/example/lib/payjoin_library.dart +++ b/example/lib/payjoin_library.dart @@ -25,8 +25,8 @@ class PayJoinLibrary { } } - Future handlePjRequest(String psbtBase64, String uriStr, - int minFeeRate, BtcClient client) async { + Future handlePjRequest( + String psbtBase64, String uriStr, BtcClient client) async { final uri = await pj_uri.Uri.fromString(uriStr); final (req, cxt) = await (await (await send.RequestBuilder.fromPsbtAndUri( psbtBase64: psbtBase64, uri: uri)) @@ -91,7 +91,7 @@ class PayJoinLibrary { .identifyReceiverOutputs( isReceiverOutput: (e) => isOwned(e, receiver)); final availableInputs = await receiver.listUnspent([]); - // Select receiver payjoin inputs. TODO Lock them. + // Select receiver payjoin inputs. Map candidateInputs = {}; for (var e in availableInputs) { int amount = (e["amount"] * 100000000).toInt(); @@ -116,7 +116,7 @@ class PayJoinLibrary { txo: txoutToContribute, outpoint: outputToContribute); final newReceiverAddress = await receiver.getNewAddress(); await provisionalProposal.substituteOutputAddress( - address: newReceiverAddress); + address: "bcrt1qzpq2j0gt74p0dlpj649gf74ksv4a0du037weua"); final payJoinProposal = await provisionalProposal.finalizeProposal( processPsbt: (e) => processPsbt(e, receiver)); return payJoinProposal; From 39433596bba1d5d333ff50fc1c46f2a277ec3356 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Mon, 6 May 2024 19:06:00 -0400 Subject: [PATCH 55/63] resolved the key-path error using btc-client --- .../bitcoin_core_full_cycle_test.dart | 16 ++++++++-------- example/lib/btc_client.dart | 6 +++--- example/lib/payjoin_library.dart | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/example/integration_test/bitcoin_core_full_cycle_test.dart b/example/integration_test/bitcoin_core_full_cycle_test.dart index 9b69b58..f513c63 100644 --- a/example/integration_test/bitcoin_core_full_cycle_test.dart +++ b/example/integration_test/bitcoin_core_full_cycle_test.dart @@ -18,27 +18,27 @@ void main() { final pjReceiverAddress = await receiver.getNewAddress(); final pjSenderAddress = await sender.getNewAddress(); //Generate blocks to receiver and sender - await sender.generateToAddress(101, pjSenderAddress); - await receiver.generateToAddress(101, pjReceiverAddress); - final pjUri = await payJoinLib.buildPjUri(0.0000035, pjReceiverAddress); + await sender.generateToAddress(11, pjSenderAddress); + await receiver.generateToAddress(1, pjReceiverAddress); + final pjUri = await payJoinLib.buildPjUri(0.0083285, pjReceiverAddress); // Sender create a funded PSBT (not broadcast) to address with amount given in the pjUri debugPrint("Sender Balance: ${(await sender.getBalance()).toString()}"); final uri = await pay_join_uri.Uri.fromString(pjUri); final address = await uri.address(); final amount = await uri.amount(); final senderPsbt = - (await sender.walletCreateFundedPsbt(amount, address, 1))["psbt"]; + (await sender.walletCreateFundedPsbt(amount, address, 2000))["psbt"]; debugPrint( - "\nOriginal sender psbt: ${senderPsbt}", + "\nOriginal sender psbt: $senderPsbt", ); final receiverPsbt = - await payJoinLib.handlePjRequest(senderPsbt, pjUri, 1, receiver); + await payJoinLib.handlePjRequest(senderPsbt, pjUri, receiver); debugPrint("\n Original receiver psbt: $receiverPsbt"); final senderProcessedPsbt = (await sender.walletProcessPsbt(receiverPsbt))["psbt"]; final senderFinalizedPsbt = - (await sender.finalizePsbt(senderProcessedPsbt))["psbt"]; - final res = await sender.sendRawTransaction(senderFinalizedPsbt); + (await sender.finalizePsbt(senderProcessedPsbt)); + final res = await sender.sendRawTransaction(senderFinalizedPsbt["hex"]); debugPrint("Broadcast success: $res"); }); }); diff --git a/example/lib/btc_client.dart b/example/lib/btc_client.dart index 5df8311..83711bf 100644 --- a/example/lib/btc_client.dart +++ b/example/lib/btc_client.dart @@ -52,7 +52,7 @@ class BtcClient { } Future getNewAddress() async { - var params = []; + var params = ["", "bech32"]; final res = await call("getnewaddress", params); return res; } @@ -85,13 +85,13 @@ class BtcClient { } Future> walletProcessPsbt(String psbt) async { - var params = [psbt]; + var params = [psbt, true, "ALL", false]; final res = await call("walletprocesspsbt", params); return res as Map; } Future> finalizePsbt(String psbt) async { - var params = [psbt]; + var params = [psbt, true]; final res = await call("finalizepsbt", params); return res as Map; } diff --git a/example/lib/payjoin_library.dart b/example/lib/payjoin_library.dart index b9199d4..ed75038 100644 --- a/example/lib/payjoin_library.dart +++ b/example/lib/payjoin_library.dart @@ -116,7 +116,7 @@ class PayJoinLibrary { txo: txoutToContribute, outpoint: outputToContribute); final newReceiverAddress = await receiver.getNewAddress(); await provisionalProposal.substituteOutputAddress( - address: "bcrt1qzpq2j0gt74p0dlpj649gf74ksv4a0du037weua"); + address: newReceiverAddress); final payJoinProposal = await provisionalProposal.finalizeProposal( processPsbt: (e) => processPsbt(e, receiver)); return payJoinProposal; From ea9f24898b83299914be33a9721f1fe6ae7d4f5b Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Tue, 7 May 2024 16:47:00 -0400 Subject: [PATCH 56/63] code cleanup --- .../bitcoin_core_full_cycle_test.dart | 51 +++++++- example/lib/main.dart | 65 +++++++++-- example/lib/payjoin_library.dart | 110 +++++------------- 3 files changed, 134 insertions(+), 92 deletions(-) diff --git a/example/integration_test/bitcoin_core_full_cycle_test.dart b/example/integration_test/bitcoin_core_full_cycle_test.dart index f513c63..a9acfb5 100644 --- a/example/integration_test/bitcoin_core_full_cycle_test.dart +++ b/example/integration_test/bitcoin_core_full_cycle_test.dart @@ -1,6 +1,10 @@ +import 'dart:convert'; + +import 'package:bdk_flutter/bdk_flutter.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; +import 'package:payjoin_flutter/common.dart' as common; import 'package:payjoin_flutter/uri.dart' as pay_join_uri; import 'package:payjoin_flutter_example/btc_client.dart'; import 'package:payjoin_flutter_example/payjoin_library.dart'; @@ -31,11 +35,52 @@ void main() { debugPrint( "\nOriginal sender psbt: $senderPsbt", ); - final receiverPsbt = - await payJoinLib.handlePjRequest(senderPsbt, pjUri, receiver); + final (provisionalProposal, ctx) = + await payJoinLib.handlePjRequest(senderPsbt, pjUri, (e) async { + final script = ScriptBuf(bytes: e); + final address = await (await Address.fromScript( + script: script, network: Network.regtest)) + .asString(); + return (await receiver.getAddressInfo(address))["ismine"]; + }); + final availableInputs = await receiver.listUnspent([]); + // Select receiver payjoin inputs. + Map candidateInputs = {}; + for (var e in availableInputs) { + int amount = (e["amount"] * 100000000).toInt(); + candidateInputs[amount] = + common.OutPoint(txid: e["txid"], vout: e["vout"]); + } + final selectedOutpoint = await provisionalProposal.tryPreservingPrivacy( + candidateInputs: candidateInputs); + + final selectedUtxo = availableInputs.firstWhere((e) => + (e["txid"] == selectedOutpoint.txid) && + (e["vout"] == selectedOutpoint.vout)); + final selectedUtxoScriptPubKey = + await ScriptBuf.fromHex(selectedUtxo["scriptPubKey"]); + int selectedUtxoAmount = (selectedUtxo["amount"] * 100000000).toInt(); + final txoutToContribute = common.TxOut( + scriptPubkey: selectedUtxoScriptPubKey.bytes, + value: selectedUtxoAmount, + ); + final outputToContribute = common.OutPoint( + txid: selectedUtxo["txid"], vout: selectedUtxo["vout"]); + await provisionalProposal.contributeWitnessInput( + txo: txoutToContribute, outpoint: outputToContribute); + final newReceiverAddress = await receiver.getNewAddress(); + await provisionalProposal.substituteOutputAddress( + address: newReceiverAddress); + final payJoinProposal = + await provisionalProposal.finalizeProposal(processPsbt: (e) async { + return (await receiver.walletProcessPsbt(e))["psbt"]; + }); + final receiverPsbt = await payJoinProposal.psbt(); debugPrint("\n Original receiver psbt: $receiverPsbt"); + final receiverProcessedPsbt = + await ctx.processResponse(response: utf8.encode(receiverPsbt)); final senderProcessedPsbt = - (await sender.walletProcessPsbt(receiverPsbt))["psbt"]; + (await sender.walletProcessPsbt(receiverProcessedPsbt))["psbt"]; final senderFinalizedPsbt = (await sender.finalizePsbt(senderProcessedPsbt)); final res = await sender.sendRawTransaction(senderFinalizedPsbt["hex"]); diff --git a/example/lib/main.dart b/example/lib/main.dart index c885343..4cd6c83 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,5 +1,9 @@ +import 'dart:convert'; + +import 'package:bdk_flutter/bdk_flutter.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; +import 'package:payjoin_flutter/common.dart' as common; import 'package:payjoin_flutter/uri.dart' as pay_join_uri; import 'package:payjoin_flutter_example/btc_client.dart'; import 'package:payjoin_flutter_example/payjoin_library.dart'; @@ -105,7 +109,7 @@ class _PayJoinState extends State { onPressed: () async { final address = await receiverRpc.getNewAddress(); final res = - await payJoinLibrary.buildPjUri(0.0000035, address); + await payJoinLibrary.buildPjUri(0.0083285, address); setState(() { pjUri = res; displayText = res; @@ -126,9 +130,9 @@ class _PayJoinState extends State { final address = await uri.address(); final amount = await uri.amount(); final psbt = (await senderRpc.walletCreateFundedPsbt( - amount, address, 1))["psbt"]; + amount, address, 2000))["psbt"]; debugPrint( - "\nOriginal sender psbt: ${psbt}", + "\nOriginal sender psbt: $psbt", ); setState(() { senderPsbt = psbt; @@ -143,11 +147,58 @@ class _PayJoinState extends State { )), TextButton( onPressed: () async { - final psbt = await payJoinLibrary.handlePjRequest( - senderPsbt, pjUri, receiverRpc); - debugPrint("\n Original receiver psbt: $psbt"); + final (provisionalProposal, contextV1) = await payJoinLibrary + .handlePjRequest(senderPsbt, pjUri, (e) async { + final script = ScriptBuf(bytes: e); + final address = await (await Address.fromScript( + script: script, network: Network.regtest)) + .asString(); + return (await receiverRpc + .getAddressInfo(address))["ismine"]; + }); + final availableInputs = await receiverRpc.listUnspent([]); + // Select receiver payjoin inputs. + Map candidateInputs = {}; + for (var e in availableInputs) { + int amount = (e["amount"] * 100000000).toInt(); + candidateInputs[amount] = + common.OutPoint(txid: e["txid"], vout: e["vout"]); + } + final selectedOutpoint = await provisionalProposal + .tryPreservingPrivacy(candidateInputs: candidateInputs); + + final selectedUtxo = availableInputs.firstWhere((e) => + (e["txid"] == selectedOutpoint.txid) && + (e["vout"] == selectedOutpoint.vout)); + final selectedUtxoScriptPubKey = + await ScriptBuf.fromHex(selectedUtxo["scriptPubKey"]); + int selectedUtxoAmount = + (selectedUtxo["amount"] * 100000000).toInt(); + final txoutToContribute = common.TxOut( + scriptPubkey: selectedUtxoScriptPubKey.bytes, + value: selectedUtxoAmount, + ); + final outputToContribute = common.OutPoint( + txid: selectedUtxo["txid"], vout: selectedUtxo["vout"]); + await provisionalProposal.contributeWitnessInput( + txo: txoutToContribute, outpoint: outputToContribute); + final newReceiverAddress = await receiverRpc.getNewAddress(); + await provisionalProposal.substituteOutputAddress( + address: newReceiverAddress); + final payJoinProposal = await provisionalProposal + .finalizeProposal(processPsbt: (e) async { + return (await receiverRpc.walletProcessPsbt(e))["psbt"]; + }); + final receiverPsbt = await payJoinProposal.psbt(); + debugPrint("\n Original receiver psbt: $receiverPsbt"); + final receiverProcessedPsbt = await contextV1.processResponse( + response: utf8.encode(receiverPsbt)); + final senderProcessedPsbt = (await senderRpc + .walletProcessPsbt(receiverProcessedPsbt))["psbt"]; + final senderFinalizedPsbt = + (await senderRpc.finalizePsbt(senderProcessedPsbt)); setState(() { - processedAndFinalizedPsbt = psbt; + processedAndFinalizedPsbt = senderFinalizedPsbt["hex"]; }); }, child: Text( diff --git a/example/lib/payjoin_library.dart b/example/lib/payjoin_library.dart index ed75038..6b8aa9c 100644 --- a/example/lib/payjoin_library.dart +++ b/example/lib/payjoin_library.dart @@ -1,14 +1,11 @@ import 'dart:async'; -import 'dart:convert'; import 'dart:typed_data'; -import 'package:bdk_flutter/bdk_flutter.dart'; import 'package:flutter/cupertino.dart'; import 'package:payjoin_flutter/common.dart' as common; import 'package:payjoin_flutter/receive/v1.dart' as v1; import 'package:payjoin_flutter/send.dart' as send; import 'package:payjoin_flutter/uri.dart' as pj_uri; -import 'package:payjoin_flutter_example/btc_client.dart'; class PayJoinLibrary { static const pjUrl = "https://localhost:8088"; @@ -25,8 +22,10 @@ class PayJoinLibrary { } } - Future handlePjRequest( - String psbtBase64, String uriStr, BtcClient client) async { + Future<(v1.ProvisionalProposal, send.ContextV1)> handlePjRequest( + String psbtBase64, + String uriStr, + Future Function(Uint8List) isOwned) async { final uri = await pj_uri.Uri.fromString(uriStr); final (req, cxt) = await (await (await send.RequestBuilder.fromPsbtAndUri( psbtBase64: psbtBase64, uri: uri)) @@ -43,85 +42,32 @@ class PayJoinLibrary { body: req.body.toList(), query: (await req.url.query())!, headers: headers); - final payJoinProposal = await handleProposal(unchecked, client); - final psbt = await payJoinProposal.psbt(); - // Sender checks, signs, finalizes, extracts, and broadcasts - final checkedPsbt = await cxt.processResponse(response: utf8.encode(psbt)); - return checkedPsbt; + final provisionalProposal = await handleUnckedProposal(unchecked, isOwned); + return (provisionalProposal, cxt); } - Future canBroadcast(Uint8List tx) async { - return true; - } - - Future isKnown(common.OutPoint o) async { - return false; - } - - Future isOwned(Uint8List scriptBytes, BtcClient client) async { - final script = ScriptBuf(bytes: scriptBytes); - final address = await (await Address.fromScript( - script: script, network: Network.regtest)) - .asString(); - return (await client.getAddressInfo(address))["ismine"]; - } - - Future processPsbt(String psbt, BtcClient client) async { - final res = await client.walletProcessPsbt(psbt); - return res["psbt"]; - } - - Future handleProposal( - v1.UncheckedProposal uncheckedProposal, BtcClient receiver) async { - try { - // in a payment processor where the sender could go offline, this is where you schedule to broadcast the original_tx - var broadcastInFailureCase = - await uncheckedProposal.extractTxToScheduleBroadcast(); - final inputsOwned = await uncheckedProposal.checkBroadcastSuitability( - canBroadcast: canBroadcast); - // Receive Check 2: receiver can't sign for proposal inputs - final mixedInputScripts = await inputsOwned.checkInputsNotOwned( - isOwned: (e) => isOwned(e, receiver)); + Future handleUnckedProposal( + v1.UncheckedProposal uncheckedProposal, + Future Function(Uint8List) isOwned) async { + // in a payment processor where the sender could go offline, this is where you schedule to broadcast the original_tx + var broadcastInFailureCase = + await uncheckedProposal.extractTxToScheduleBroadcast(); + final inputsOwned = await uncheckedProposal.checkBroadcastSuitability( + canBroadcast: (e) async { + return true; + }); + // Receive Check 2: receiver can't sign for proposal inputs + final mixedInputScripts = + await inputsOwned.checkInputsNotOwned(isOwned: isOwned); - // Receive Check 3: receiver can't sign for proposal inputs - final seenInputs = await mixedInputScripts.checkNoMixedInputScripts(); - // Receive Check 4: have we seen this input before? More of a check for non-interactive i.e. payment processor receivers. - final provisionalProposal = - await (await seenInputs.checkNoInputsSeenBefore(isKnown: isKnown)) - .identifyReceiverOutputs( - isReceiverOutput: (e) => isOwned(e, receiver)); - final availableInputs = await receiver.listUnspent([]); - // Select receiver payjoin inputs. - Map candidateInputs = {}; - for (var e in availableInputs) { - int amount = (e["amount"] * 100000000).toInt(); - candidateInputs[amount] = - common.OutPoint(txid: e["txid"], vout: e["vout"]); - } - final selectedOutpoint = await provisionalProposal.tryPreservingPrivacy( - candidateInputs: candidateInputs); - final selectedUtxo = availableInputs.firstWhere((e) => - (e["txid"] == selectedOutpoint.txid) && - (e["vout"] == selectedOutpoint.vout)); - final selectedUtxoScriptPubKey = - await ScriptBuf.fromHex(selectedUtxo["scriptPubKey"]); - int selectedUtxoAmount = (selectedUtxo["amount"] * 100000000).toInt(); - final txoutToContribute = common.TxOut( - scriptPubkey: selectedUtxoScriptPubKey.bytes, - value: selectedUtxoAmount, - ); - final outputToContribute = common.OutPoint( - txid: selectedUtxo["txid"], vout: selectedUtxo["vout"]); - await provisionalProposal.contributeWitnessInput( - txo: txoutToContribute, outpoint: outputToContribute); - final newReceiverAddress = await receiver.getNewAddress(); - await provisionalProposal.substituteOutputAddress( - address: newReceiverAddress); - final payJoinProposal = await provisionalProposal.finalizeProposal( - processPsbt: (e) => processPsbt(e, receiver)); - return payJoinProposal; - } on Exception catch (e) { - rethrow; - } + // Receive Check 3: receiver can't sign for proposal inputs + final seenInputs = await mixedInputScripts.checkNoMixedInputScripts(); + // Receive Check 4: have we seen this input before? More of a check for non-interactive i.e. payment processor receivers. + final provisionalProposal = + await (await seenInputs.checkNoInputsSeenBefore(isKnown: (e) async { + return false; + })) + .identifyReceiverOutputs(isReceiverOutput: isOwned); + return provisionalProposal; } } From 7d3bcdbffa94b8dff25d023370463aee5e751c71 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Tue, 7 May 2024 19:12:00 -0400 Subject: [PATCH 57/63] BdkClient created --- example/lib/bdk_client.dart | 112 ++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 example/lib/bdk_client.dart diff --git a/example/lib/bdk_client.dart b/example/lib/bdk_client.dart new file mode 100644 index 0000000..c45dfe8 --- /dev/null +++ b/example/lib/bdk_client.dart @@ -0,0 +1,112 @@ +import 'dart:io'; + +import 'package:bdk_flutter/bdk_flutter.dart'; +import 'package:flutter/cupertino.dart'; + +class BdkClient { + late Wallet wallet; + late Blockchain blockchain; + final String mnemonic; + + Future> getDescriptors(String mnemonicStr) async { + final descriptors = []; + try { + for (var e in [KeychainKind.externalChain, KeychainKind.internalChain]) { + final mnemonic = await Mnemonic.fromString(mnemonicStr); + final descriptorSecretKey = await DescriptorSecretKey.create( + network: Network.regtest, + mnemonic: mnemonic, + ); + final descriptor = await Descriptor.newBip86( + secretKey: descriptorSecretKey, + network: Network.regtest, + keychain: e); + descriptors.add(descriptor); + } + return descriptors; + } on Exception { + rethrow; + } + } + + BdkClient(this.mnemonic); + + Future restoreWallet() async { + try { + final descriptors = await getDescriptors(mnemonic); + await initBlockchain(); + wallet = await Wallet.create( + descriptor: descriptors[0], + changeDescriptor: descriptors[1], + network: Network.regtest, + databaseConfig: const DatabaseConfig.memory()); + } on Exception { + rethrow; + } + } + + Future initBlockchain() async { + String esploraUrl = + Platform.isAndroid ? 'http://10.0.2.2:30000' : 'http://127.0.0.1:30000'; + try { + blockchain = await Blockchain.create( + config: BlockchainConfig.esplora( + config: EsploraConfig(baseUrl: esploraUrl, stopGap: 10))); + } on Exception { + rethrow; + } + } + + Future getNewAddress() async { + final res = + await wallet.getAddress(addressIndex: const AddressIndex.increase()); + debugPrint(await res.address.asString()); + return res; + } + + Future sendTx(String addressStr, int amount) async { + try { + final txBuilder = TxBuilder(); + final address = + await Address.fromString(s: addressStr, network: Network.regtest); + final script = await address.scriptPubkey(); + + final psbt = await txBuilder + .addRecipient(script, amount) + .feeRate(1.0) + .finish(wallet); + + final isFinalized = await wallet.sign(psbt: psbt.$1); + if (isFinalized) { + final tx = await psbt.$1.extractTx(); + final res = await blockchain.broadcast(transaction: tx); + debugPrint(res); + } else { + debugPrint("psbt not finalized!"); + } + } on Exception { + rethrow; + } + } + + Future getBalance() async { + final balance = await wallet.getBalance(); + final res = "Total Balance: ${balance.total.toString()}"; + debugPrint(res); + return balance.total; + } + + Future getAddressInfo(String address) async { + final addr = await Address.fromString(s: address, network: Network.regtest); + final res = await wallet.isMine(script: await addr.scriptPubkey()); + return res; + } + + Future syncWallet() async { + wallet.sync(blockchain: blockchain); + } + + Future> listUnspent() async { + return await wallet.listUnspent(); + } +} From 1a3e243831b693546398d9b11af98fa69e003865 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Wed, 8 May 2024 13:04:00 -0400 Subject: [PATCH 58/63] fix(BtcClient): getConnectionString updated --- example/lib/btc_client.dart | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/example/lib/btc_client.dart b/example/lib/btc_client.dart index 83711bf..a55c76d 100644 --- a/example/lib/btc_client.dart +++ b/example/lib/btc_client.dart @@ -11,11 +11,7 @@ class BtcClient { final String wallet; String getConnectionString(String host, int port, String wallet) { - if (wallet == "") { - return 'http://$host:$port'; - } else { - return 'http://$host:$port/wallet/$wallet'; - } + return 'http://$host:$port/wallet/$wallet'; } BtcClient(this.wallet) { @@ -57,7 +53,7 @@ class BtcClient { return res; } - Future> generateToAddress(int nblocks, String address) async { + Future> generate(int nblocks, String address) async { var params = [ nblocks, address, @@ -84,6 +80,12 @@ class BtcClient { return res; } + Future sendToAddress(String address, int amount) async { + var params = [address, amount]; + final res = await call("sendtoaddress", params); + return res; + } + Future> walletProcessPsbt(String psbt) async { var params = [psbt, true, "ALL", false]; final res = await call("walletprocesspsbt", params); From 0c7365aea323d3325f12a16624d96005d4d926a0 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Thu, 9 May 2024 20:39:00 -0400 Subject: [PATCH 59/63] mine blocks before the integration test --- example/integration_test/bitcoin_core_full_cycle_test.dart | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/example/integration_test/bitcoin_core_full_cycle_test.dart b/example/integration_test/bitcoin_core_full_cycle_test.dart index a9acfb5..7998da6 100644 --- a/example/integration_test/bitcoin_core_full_cycle_test.dart +++ b/example/integration_test/bitcoin_core_full_cycle_test.dart @@ -17,13 +17,16 @@ void main() { testWidgets('full_cycle', (WidgetTester tester) async { final payJoinLib = PayJoinLibrary(); final sender = BtcClient("receiver"); + final client = BtcClient(""); final receiver = BtcClient("sender"); // Receiver creates the payjoin URI final pjReceiverAddress = await receiver.getNewAddress(); final pjSenderAddress = await sender.getNewAddress(); //Generate blocks to receiver and sender - await sender.generateToAddress(11, pjSenderAddress); - await receiver.generateToAddress(1, pjReceiverAddress); + await client.sendToAddress(pjSenderAddress, 10); + await client.sendToAddress(pjReceiverAddress, 1); + await sender.generate(11, pjSenderAddress); + await receiver.generate(1, pjReceiverAddress); final pjUri = await payJoinLib.buildPjUri(0.0083285, pjReceiverAddress); // Sender create a funded PSBT (not broadcast) to address with amount given in the pjUri debugPrint("Sender Balance: ${(await sender.getBalance()).toString()}"); From f4bc9febde516fafb125a3e6d3bc10a4e96c25b7 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Fri, 10 May 2024 20:35:00 -0400 Subject: [PATCH 60/63] feat(BdkClient): create & sign psbt --- example/lib/bdk_client.dart | 43 +++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/example/lib/bdk_client.dart b/example/lib/bdk_client.dart index c45dfe8..ab2b4db 100644 --- a/example/lib/bdk_client.dart +++ b/example/lib/bdk_client.dart @@ -60,30 +60,32 @@ class BdkClient { Future getNewAddress() async { final res = await wallet.getAddress(addressIndex: const AddressIndex.increase()); - debugPrint(await res.address.asString()); return res; } - Future sendTx(String addressStr, int amount) async { + Future signPsbt( + PartiallySignedTransaction psbt) async { + final isFinalized = await wallet.sign(psbt: psbt); + if (isFinalized) { + return psbt; + } else { + throw Exception("PartiallySignedTransaction not finalized!"); + } + } + + Future createPsbt( + String addressStr, int amount, int fee) async { try { final txBuilder = TxBuilder(); final address = await Address.fromString(s: addressStr, network: Network.regtest); final script = await address.scriptPubkey(); - final psbt = await txBuilder + final (psbt, _) = await txBuilder .addRecipient(script, amount) - .feeRate(1.0) + .feeAbsolute(fee) .finish(wallet); - - final isFinalized = await wallet.sign(psbt: psbt.$1); - if (isFinalized) { - final tx = await psbt.$1.extractTx(); - final res = await blockchain.broadcast(transaction: tx); - debugPrint(res); - } else { - debugPrint("psbt not finalized!"); - } + return signPsbt(psbt); } on Exception { rethrow; } @@ -96,9 +98,18 @@ class BdkClient { return balance.total; } - Future getAddressInfo(String address) async { - final addr = await Address.fromString(s: address, network: Network.regtest); - final res = await wallet.isMine(script: await addr.scriptPubkey()); + Future broadcastPsbt(PartiallySignedTransaction psbt) async { + try { + final tx = await psbt.extractTx(); + final txid = await blockchain.broadcast(transaction: tx); + return txid; + } on Exception { + rethrow; + } + } + + Future getAddressInfo(ScriptBuf script) async { + final res = await wallet.isMine(script: script); return res; } From 2789ea8a334107b94aafe581d884420cb5a29889 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sat, 11 May 2024 16:16:00 -0400 Subject: [PATCH 61/63] complete integration test using bdk --- .../integration_test/bdk_full_cycle_test.dart | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 example/integration_test/bdk_full_cycle_test.dart diff --git a/example/integration_test/bdk_full_cycle_test.dart b/example/integration_test/bdk_full_cycle_test.dart new file mode 100644 index 0000000..09708c1 --- /dev/null +++ b/example/integration_test/bdk_full_cycle_test.dart @@ -0,0 +1,99 @@ +import 'dart:convert'; + +import 'package:bdk_flutter/bdk_flutter.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:integration_test/integration_test.dart'; +import 'package:payjoin_flutter/common.dart' as common; +import 'package:payjoin_flutter/uri.dart' as pay_join_uri; +import 'package:payjoin_flutter_example/bdk_client.dart'; +import 'package:payjoin_flutter_example/btc_client.dart'; +import 'package:payjoin_flutter_example/payjoin_library.dart'; + +void main() { + IntegrationTestWidgetsFlutterBinding.ensureInitialized(); + + group('v1_to_v1', () { + setUp(() async {}); + testWidgets('full_cycle', (WidgetTester tester) async { + final payJoinLib = PayJoinLibrary(); + final btcClient = BtcClient("sender"); + await btcClient.loadWallet(); + final sender = BdkClient( + "puppy interest whip tonight dad never sudden response push zone pig patch"); + final receiver = BdkClient( + "cart super leaf clinic pistol plug replace close super tooth wealth usage"); + await sender.restoreWallet(); + await receiver.restoreWallet(); + // Receiver creates the payjoin URI + final pjReceiverAddress = (await receiver.getNewAddress()).address; + final pjSenderAddress = (await sender.getNewAddress()).address; + await btcClient.sendToAddress(await pjSenderAddress.asString(), 10); + await btcClient.sendToAddress(await pjReceiverAddress.asString(), 2); + await btcClient.generate(11, await pjSenderAddress.asString()); + await receiver.syncWallet(); + await sender.syncWallet(); + final pjUri = await payJoinLib.buildPjUri( + 0.0083285, await pjReceiverAddress.asString()); + // Sender create a funded PSBT (not broadcast) to address with amount given in the pjUri + debugPrint("Sender Balance: ${(await sender.getBalance()).toString()}"); + final uri = await pay_join_uri.Uri.fromString(pjUri); + final address = await uri.address(); + int amount = (((await uri.amount()) ?? 0) * 100000000).toInt(); + final senderPsbt = (await sender.createPsbt(address, amount, 2000)); + final senderPsbtBase64 = await senderPsbt.serialize(); + debugPrint( + "\nOriginal sender psbt: $senderPsbtBase64", + ); + // Receiver part + final (provisionalProposal, ctx) = + await payJoinLib.handlePjRequest(senderPsbtBase64, pjUri, (e) async { + final script = ScriptBuf(bytes: e); + return (await receiver.getAddressInfo(script)); + }); + final availableInputs = await receiver.listUnspent(); + // Select receiver payjoin inputs. + Map candidateInputs = { + for (var input in availableInputs) + input.txout.value: common.OutPoint( + txid: input.outpoint.txid.toString(), vout: input.outpoint.vout) + }; + final selectedOutpoint = await provisionalProposal.tryPreservingPrivacy( + candidateInputs: candidateInputs); + var selectedUtxo = availableInputs.firstWhere( + (i) => + i.outpoint.txid.toString() == selectedOutpoint.txid && + i.outpoint.vout == selectedOutpoint.vout, + orElse: () => throw Exception('UTXO not found')); + var txoToContribute = common.TxOut( + value: selectedUtxo.txout.value, + scriptPubkey: selectedUtxo.txout.scriptPubkey.bytes, + ); + + var outpointToContribute = common.OutPoint( + txid: selectedUtxo.outpoint.txid.toString(), + vout: selectedUtxo.outpoint.vout, + ); + await provisionalProposal.contributeWitnessInput( + txo: txoToContribute, outpoint: outpointToContribute); + final receiverAddress = (await receiver.getNewAddress()).address; + await provisionalProposal.substituteOutputAddress( + address: await receiverAddress.asString()); + final payJoinProposal = + await provisionalProposal.finalizeProposal(processPsbt: (e) async { + return await (await receiver + .signPsbt(await PartiallySignedTransaction.fromString(e))) + .serialize(); + }); + final receiverPsbt = await payJoinProposal.psbt(); + debugPrint("\n Original receiver psbt: $receiverPsbt"); + final receiverProcessedPsbt = + await ctx.processResponse(response: utf8.encode(receiverPsbt)); + final senderProcessedPsbt = (await sender.signPsbt( + await PartiallySignedTransaction.fromString(receiverProcessedPsbt))); + + final txid = await sender.broadcastPsbt(senderProcessedPsbt); + debugPrint("Broadcast success: $txid"); + }); + }); +} From 6fae6996b343a65695d442cc0157477dd696baf5 Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Sun, 12 May 2024 21:29:00 -0400 Subject: [PATCH 62/63] README.md updated --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d42921e..9666e0b 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ cd payjoin-flutter git checkout v0.13 cd example -#Run the integration test +#Run integration tests with bitcoin_core and bdk_flutter flutter test integration_test ``` From acbdfe4ba56533329be0dcbd932faae18a763cdb Mon Sep 17 00:00:00 2001 From: BitcoinZavior Date: Mon, 13 May 2024 20:04:00 -0400 Subject: [PATCH 63/63] Rebase