breez_sdk_core/
frb_generated.rs

1// This file is automatically generated, so please do not edit it.
2// @generated by `flutter_rust_bridge`@ 2.9.0.
3
4#![allow(
5    non_camel_case_types,
6    unused,
7    non_snake_case,
8    clippy::needless_return,
9    clippy::redundant_closure_call,
10    clippy::redundant_closure,
11    clippy::useless_conversion,
12    clippy::unit_arg,
13    clippy::unused_unit,
14    clippy::double_parens,
15    clippy::let_and_return,
16    clippy::too_many_arguments,
17    clippy::match_single_binding,
18    clippy::clone_on_copy,
19    clippy::let_unit_value,
20    clippy::deref_addrof,
21    clippy::explicit_auto_deref,
22    clippy::borrow_deref_ref,
23    clippy::needless_borrow
24)]
25
26// Section: imports
27
28use crate::breez_services::EventListener;
29use flutter_rust_bridge::for_generated::byteorder::{NativeEndian, ReadBytesExt, WriteBytesExt};
30use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable};
31use flutter_rust_bridge::{Handler, IntoIntoDart};
32
33// Section: boilerplate
34
35flutter_rust_bridge::frb_generated_boilerplate!(
36    default_stream_sink_codec = DcoCodec,
37    default_rust_opaque = RustOpaqueNom,
38    default_rust_auto_opaque = RustAutoOpaqueNom,
39);
40pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.9.0";
41pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = -1202170102;
42
43// Section: executor
44
45flutter_rust_bridge::frb_generated_default_handler!();
46
47// Section: wire_funcs
48
49fn wire__crate__binding__backup_impl(port_: flutter_rust_bridge::for_generated::MessagePort) {
50    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
51        flutter_rust_bridge::for_generated::TaskInfo {
52            debug_name: "backup",
53            port: Some(port_),
54            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
55        },
56        move || {
57            move |context| {
58                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
59                    (move || {
60                        let output_ok = crate::binding::backup()?;
61                        Ok(output_ok)
62                    })(),
63                )
64            }
65        },
66    )
67}
68fn wire__crate__binding__backup_status_impl(
69    port_: flutter_rust_bridge::for_generated::MessagePort,
70) {
71    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
72        flutter_rust_bridge::for_generated::TaskInfo {
73            debug_name: "backup_status",
74            port: Some(port_),
75            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
76        },
77        move || {
78            move |context| {
79                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
80                    (move || {
81                        let output_ok = crate::binding::backup_status()?;
82                        Ok(output_ok)
83                    })(),
84                )
85            }
86        },
87    )
88}
89fn wire__crate__binding__binding_event_listener_on_event_impl(
90    port_: flutter_rust_bridge::for_generated::MessagePort,
91    that: impl CstDecode<crate::binding::BindingEventListener>,
92    e: impl CstDecode<crate::breez_services::BreezEvent>,
93) {
94    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
95        flutter_rust_bridge::for_generated::TaskInfo {
96            debug_name: "binding_event_listener_on_event",
97            port: Some(port_),
98            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
99        },
100        move || {
101            let api_that = that.cst_decode();
102            let api_e = e.cst_decode();
103            move |context| {
104                transform_result_dco::<_, _, ()>((move || {
105                    let output_ok = Result::<_, ()>::Ok({
106                        crate::binding::BindingEventListener::on_event(&api_that, api_e);
107                    })?;
108                    Ok(output_ok)
109                })())
110            }
111        },
112    )
113}
114fn wire__crate__binding__breez_events_stream_impl(
115    port_: flutter_rust_bridge::for_generated::MessagePort,
116    s: impl CstDecode<
117        StreamSink<crate::breez_services::BreezEvent, flutter_rust_bridge::for_generated::DcoCodec>,
118    >,
119) {
120    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
121        flutter_rust_bridge::for_generated::TaskInfo {
122            debug_name: "breez_events_stream",
123            port: Some(port_),
124            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
125        },
126        move || {
127            let api_s = s.cst_decode();
128            move |context| {
129                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
130                    (move || {
131                        let output_ok = crate::binding::breez_events_stream(api_s)?;
132                        Ok(output_ok)
133                    })(),
134                )
135            }
136        },
137    )
138}
139fn wire__crate__binding__breez_log_stream_impl(
140    port_: flutter_rust_bridge::for_generated::MessagePort,
141    s: impl CstDecode<StreamSink<crate::models::LogEntry, flutter_rust_bridge::for_generated::DcoCodec>>,
142) {
143    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
144        flutter_rust_bridge::for_generated::TaskInfo {
145            debug_name: "breez_log_stream",
146            port: Some(port_),
147            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
148        },
149        move || {
150            let api_s = s.cst_decode();
151            move |context| {
152                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
153                    (move || {
154                        let output_ok = crate::binding::breez_log_stream(api_s)?;
155                        Ok(output_ok)
156                    })(),
157                )
158            }
159        },
160    )
161}
162fn wire__crate__binding__buy_bitcoin_impl(
163    port_: flutter_rust_bridge::for_generated::MessagePort,
164    req: impl CstDecode<crate::models::BuyBitcoinRequest>,
165) {
166    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
167        flutter_rust_bridge::for_generated::TaskInfo {
168            debug_name: "buy_bitcoin",
169            port: Some(port_),
170            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
171        },
172        move || {
173            let api_req = req.cst_decode();
174            move |context| {
175                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
176                    (move || {
177                        let output_ok = crate::binding::buy_bitcoin(api_req)?;
178                        Ok(output_ok)
179                    })(),
180                )
181            }
182        },
183    )
184}
185fn wire__crate__binding__check_message_impl(
186    port_: flutter_rust_bridge::for_generated::MessagePort,
187    req: impl CstDecode<crate::breez_services::CheckMessageRequest>,
188) {
189    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
190        flutter_rust_bridge::for_generated::TaskInfo {
191            debug_name: "check_message",
192            port: Some(port_),
193            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
194        },
195        move || {
196            let api_req = req.cst_decode();
197            move |context| {
198                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
199                    (move || {
200                        let output_ok = crate::binding::check_message(api_req)?;
201                        Ok(output_ok)
202                    })(),
203                )
204            }
205        },
206    )
207}
208fn wire__crate__binding__claim_reverse_swap_impl(
209    port_: flutter_rust_bridge::for_generated::MessagePort,
210    lockup_address: impl CstDecode<String>,
211) {
212    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
213        flutter_rust_bridge::for_generated::TaskInfo {
214            debug_name: "claim_reverse_swap",
215            port: Some(port_),
216            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
217        },
218        move || {
219            let api_lockup_address = lockup_address.cst_decode();
220            move |context| {
221                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
222                    (move || {
223                        let output_ok = crate::binding::claim_reverse_swap(api_lockup_address)?;
224                        Ok(output_ok)
225                    })(),
226                )
227            }
228        },
229    )
230}
231fn wire__crate__binding__close_lsp_channels_impl(
232    port_: flutter_rust_bridge::for_generated::MessagePort,
233) {
234    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
235        flutter_rust_bridge::for_generated::TaskInfo {
236            debug_name: "close_lsp_channels",
237            port: Some(port_),
238            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
239        },
240        move || {
241            move |context| {
242                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
243                    (move || {
244                        let output_ok = crate::binding::close_lsp_channels()?;
245                        Ok(output_ok)
246                    })(),
247                )
248            }
249        },
250    )
251}
252fn wire__crate__binding__configure_node_impl(
253    port_: flutter_rust_bridge::for_generated::MessagePort,
254    req: impl CstDecode<crate::models::ConfigureNodeRequest>,
255) {
256    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
257        flutter_rust_bridge::for_generated::TaskInfo {
258            debug_name: "configure_node",
259            port: Some(port_),
260            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
261        },
262        move || {
263            let api_req = req.cst_decode();
264            move |context| {
265                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
266                    (move || {
267                        let output_ok = crate::binding::configure_node(api_req)?;
268                        Ok(output_ok)
269                    })(),
270                )
271            }
272        },
273    )
274}
275fn wire__crate__binding__connect_impl(
276    port_: flutter_rust_bridge::for_generated::MessagePort,
277    req: impl CstDecode<crate::models::ConnectRequest>,
278) {
279    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
280        flutter_rust_bridge::for_generated::TaskInfo {
281            debug_name: "connect",
282            port: Some(port_),
283            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
284        },
285        move || {
286            let api_req = req.cst_decode();
287            move |context| {
288                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
289                    (move || {
290                        let output_ok = crate::binding::connect(api_req)?;
291                        Ok(output_ok)
292                    })(),
293                )
294            }
295        },
296    )
297}
298fn wire__crate__binding__connect_lsp_impl(
299    port_: flutter_rust_bridge::for_generated::MessagePort,
300    lsp_id: impl CstDecode<String>,
301) {
302    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
303        flutter_rust_bridge::for_generated::TaskInfo {
304            debug_name: "connect_lsp",
305            port: Some(port_),
306            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
307        },
308        move || {
309            let api_lsp_id = lsp_id.cst_decode();
310            move |context| {
311                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
312                    (move || {
313                        let output_ok = crate::binding::connect_lsp(api_lsp_id)?;
314                        Ok(output_ok)
315                    })(),
316                )
317            }
318        },
319    )
320}
321fn wire__crate__binding__default_config_impl(
322    port_: flutter_rust_bridge::for_generated::MessagePort,
323    env_type: impl CstDecode<crate::models::EnvironmentType>,
324    api_key: impl CstDecode<String>,
325    node_config: impl CstDecode<crate::models::NodeConfig>,
326) {
327    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
328        flutter_rust_bridge::for_generated::TaskInfo {
329            debug_name: "default_config",
330            port: Some(port_),
331            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
332        },
333        move || {
334            let api_env_type = env_type.cst_decode();
335            let api_api_key = api_key.cst_decode();
336            let api_node_config = node_config.cst_decode();
337            move |context| {
338                transform_result_dco::<_, _, ()>((move || {
339                    let output_ok = Result::<_, ()>::Ok(crate::binding::default_config(
340                        api_env_type,
341                        api_api_key,
342                        api_node_config,
343                    ))?;
344                    Ok(output_ok)
345                })())
346            }
347        },
348    )
349}
350fn wire__crate__binding__disconnect_impl(port_: flutter_rust_bridge::for_generated::MessagePort) {
351    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
352        flutter_rust_bridge::for_generated::TaskInfo {
353            debug_name: "disconnect",
354            port: Some(port_),
355            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
356        },
357        move || {
358            move |context| {
359                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
360                    (move || {
361                        let output_ok = crate::binding::disconnect()?;
362                        Ok(output_ok)
363                    })(),
364                )
365            }
366        },
367    )
368}
369fn wire__crate__binding__execute_command_impl(
370    port_: flutter_rust_bridge::for_generated::MessagePort,
371    command: impl CstDecode<String>,
372) {
373    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
374        flutter_rust_bridge::for_generated::TaskInfo {
375            debug_name: "execute_command",
376            port: Some(port_),
377            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
378        },
379        move || {
380            let api_command = command.cst_decode();
381            move |context| {
382                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
383                    (move || {
384                        let output_ok = crate::binding::execute_command(api_command)?;
385                        Ok(output_ok)
386                    })(),
387                )
388            }
389        },
390    )
391}
392fn wire__crate__binding__fetch_fiat_rates_impl(
393    port_: flutter_rust_bridge::for_generated::MessagePort,
394) {
395    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
396        flutter_rust_bridge::for_generated::TaskInfo {
397            debug_name: "fetch_fiat_rates",
398            port: Some(port_),
399            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
400        },
401        move || {
402            move |context| {
403                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
404                    (move || {
405                        let output_ok = crate::binding::fetch_fiat_rates()?;
406                        Ok(output_ok)
407                    })(),
408                )
409            }
410        },
411    )
412}
413fn wire__crate__binding__fetch_lsp_info_impl(
414    port_: flutter_rust_bridge::for_generated::MessagePort,
415    id: impl CstDecode<String>,
416) {
417    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
418        flutter_rust_bridge::for_generated::TaskInfo {
419            debug_name: "fetch_lsp_info",
420            port: Some(port_),
421            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
422        },
423        move || {
424            let api_id = id.cst_decode();
425            move |context| {
426                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
427                    (move || {
428                        let output_ok = crate::binding::fetch_lsp_info(api_id)?;
429                        Ok(output_ok)
430                    })(),
431                )
432            }
433        },
434    )
435}
436fn wire__crate__binding__fetch_reverse_swap_fees_impl(
437    port_: flutter_rust_bridge::for_generated::MessagePort,
438    req: impl CstDecode<crate::models::ReverseSwapFeesRequest>,
439) {
440    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
441        flutter_rust_bridge::for_generated::TaskInfo {
442            debug_name: "fetch_reverse_swap_fees",
443            port: Some(port_),
444            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
445        },
446        move || {
447            let api_req = req.cst_decode();
448            move |context| {
449                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
450                    (move || {
451                        let output_ok = crate::binding::fetch_reverse_swap_fees(api_req)?;
452                        Ok(output_ok)
453                    })(),
454                )
455            }
456        },
457    )
458}
459fn wire__crate__binding__generate_diagnostic_data_impl(
460    port_: flutter_rust_bridge::for_generated::MessagePort,
461) {
462    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
463        flutter_rust_bridge::for_generated::TaskInfo {
464            debug_name: "generate_diagnostic_data",
465            port: Some(port_),
466            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
467        },
468        move || {
469            move |context| {
470                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
471                    (move || {
472                        let output_ok = crate::binding::generate_diagnostic_data()?;
473                        Ok(output_ok)
474                    })(),
475                )
476            }
477        },
478    )
479}
480fn wire__crate__binding__in_progress_onchain_payments_impl(
481    port_: flutter_rust_bridge::for_generated::MessagePort,
482) {
483    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
484        flutter_rust_bridge::for_generated::TaskInfo {
485            debug_name: "in_progress_onchain_payments",
486            port: Some(port_),
487            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
488        },
489        move || {
490            move |context| {
491                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
492                    (move || {
493                        let output_ok = crate::binding::in_progress_onchain_payments()?;
494                        Ok(output_ok)
495                    })(),
496                )
497            }
498        },
499    )
500}
501fn wire__crate__binding__in_progress_swap_impl(
502    port_: flutter_rust_bridge::for_generated::MessagePort,
503) {
504    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
505        flutter_rust_bridge::for_generated::TaskInfo {
506            debug_name: "in_progress_swap",
507            port: Some(port_),
508            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
509        },
510        move || {
511            move |context| {
512                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
513                    (move || {
514                        let output_ok = crate::binding::in_progress_swap()?;
515                        Ok(output_ok)
516                    })(),
517                )
518            }
519        },
520    )
521}
522fn wire__crate__binding__is_initialized_impl(
523    port_: flutter_rust_bridge::for_generated::MessagePort,
524) {
525    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
526        flutter_rust_bridge::for_generated::TaskInfo {
527            debug_name: "is_initialized",
528            port: Some(port_),
529            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
530        },
531        move || {
532            move |context| {
533                transform_result_dco::<_, _, ()>((move || {
534                    let output_ok = Result::<_, ()>::Ok(crate::binding::is_initialized())?;
535                    Ok(output_ok)
536                })())
537            }
538        },
539    )
540}
541fn wire__crate__binding__list_fiat_currencies_impl(
542    port_: flutter_rust_bridge::for_generated::MessagePort,
543) {
544    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
545        flutter_rust_bridge::for_generated::TaskInfo {
546            debug_name: "list_fiat_currencies",
547            port: Some(port_),
548            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
549        },
550        move || {
551            move |context| {
552                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
553                    (move || {
554                        let output_ok = crate::binding::list_fiat_currencies()?;
555                        Ok(output_ok)
556                    })(),
557                )
558            }
559        },
560    )
561}
562fn wire__crate__binding__list_lsps_impl(port_: flutter_rust_bridge::for_generated::MessagePort) {
563    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
564        flutter_rust_bridge::for_generated::TaskInfo {
565            debug_name: "list_lsps",
566            port: Some(port_),
567            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
568        },
569        move || {
570            move |context| {
571                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
572                    (move || {
573                        let output_ok = crate::binding::list_lsps()?;
574                        Ok(output_ok)
575                    })(),
576                )
577            }
578        },
579    )
580}
581fn wire__crate__binding__list_payments_impl(
582    port_: flutter_rust_bridge::for_generated::MessagePort,
583    req: impl CstDecode<crate::models::ListPaymentsRequest>,
584) {
585    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
586        flutter_rust_bridge::for_generated::TaskInfo {
587            debug_name: "list_payments",
588            port: Some(port_),
589            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
590        },
591        move || {
592            let api_req = req.cst_decode();
593            move |context| {
594                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
595                    (move || {
596                        let output_ok = crate::binding::list_payments(api_req)?;
597                        Ok(output_ok)
598                    })(),
599                )
600            }
601        },
602    )
603}
604fn wire__crate__binding__list_refundables_impl(
605    port_: flutter_rust_bridge::for_generated::MessagePort,
606) {
607    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
608        flutter_rust_bridge::for_generated::TaskInfo {
609            debug_name: "list_refundables",
610            port: Some(port_),
611            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
612        },
613        move || {
614            move |context| {
615                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
616                    (move || {
617                        let output_ok = crate::binding::list_refundables()?;
618                        Ok(output_ok)
619                    })(),
620                )
621            }
622        },
623    )
624}
625fn wire__crate__binding__list_swaps_impl(
626    port_: flutter_rust_bridge::for_generated::MessagePort,
627    req: impl CstDecode<crate::models::ListSwapsRequest>,
628) {
629    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
630        flutter_rust_bridge::for_generated::TaskInfo {
631            debug_name: "list_swaps",
632            port: Some(port_),
633            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
634        },
635        move || {
636            let api_req = req.cst_decode();
637            move |context| {
638                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
639                    (move || {
640                        let output_ok = crate::binding::list_swaps(api_req)?;
641                        Ok(output_ok)
642                    })(),
643                )
644            }
645        },
646    )
647}
648fn wire__crate__binding__lnurl_auth_impl(
649    port_: flutter_rust_bridge::for_generated::MessagePort,
650    req_data: impl CstDecode<crate::binding::LnUrlAuthRequestData>,
651) {
652    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
653        flutter_rust_bridge::for_generated::TaskInfo {
654            debug_name: "lnurl_auth",
655            port: Some(port_),
656            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
657        },
658        move || {
659            let api_req_data = req_data.cst_decode();
660            move |context| {
661                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
662                    (move || {
663                        let output_ok = crate::binding::lnurl_auth(api_req_data)?;
664                        Ok(output_ok)
665                    })(),
666                )
667            }
668        },
669    )
670}
671fn wire__crate__binding__lnurl_pay_impl(
672    port_: flutter_rust_bridge::for_generated::MessagePort,
673    req: impl CstDecode<crate::binding::LnUrlPayRequest>,
674) {
675    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
676        flutter_rust_bridge::for_generated::TaskInfo {
677            debug_name: "lnurl_pay",
678            port: Some(port_),
679            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
680        },
681        move || {
682            let api_req = req.cst_decode();
683            move |context| {
684                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
685                    (move || {
686                        let output_ok = crate::binding::lnurl_pay(api_req)?;
687                        Ok(output_ok)
688                    })(),
689                )
690            }
691        },
692    )
693}
694fn wire__crate__binding__lnurl_withdraw_impl(
695    port_: flutter_rust_bridge::for_generated::MessagePort,
696    req: impl CstDecode<crate::binding::LnUrlWithdrawRequest>,
697) {
698    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
699        flutter_rust_bridge::for_generated::TaskInfo {
700            debug_name: "lnurl_withdraw",
701            port: Some(port_),
702            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
703        },
704        move || {
705            let api_req = req.cst_decode();
706            move |context| {
707                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
708                    (move || {
709                        let output_ok = crate::binding::lnurl_withdraw(api_req)?;
710                        Ok(output_ok)
711                    })(),
712                )
713            }
714        },
715    )
716}
717fn wire__crate__binding__lsp_id_impl(port_: flutter_rust_bridge::for_generated::MessagePort) {
718    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
719        flutter_rust_bridge::for_generated::TaskInfo {
720            debug_name: "lsp_id",
721            port: Some(port_),
722            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
723        },
724        move || {
725            move |context| {
726                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
727                    (move || {
728                        let output_ok = crate::binding::lsp_id()?;
729                        Ok(output_ok)
730                    })(),
731                )
732            }
733        },
734    )
735}
736fn wire__crate__binding__lsp_info_impl(port_: flutter_rust_bridge::for_generated::MessagePort) {
737    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
738        flutter_rust_bridge::for_generated::TaskInfo {
739            debug_name: "lsp_info",
740            port: Some(port_),
741            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
742        },
743        move || {
744            move |context| {
745                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
746                    (move || {
747                        let output_ok = crate::binding::lsp_info()?;
748                        Ok(output_ok)
749                    })(),
750                )
751            }
752        },
753    )
754}
755fn wire__crate__binding__mnemonic_to_seed_impl(
756    port_: flutter_rust_bridge::for_generated::MessagePort,
757    phrase: impl CstDecode<String>,
758) {
759    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
760        flutter_rust_bridge::for_generated::TaskInfo {
761            debug_name: "mnemonic_to_seed",
762            port: Some(port_),
763            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
764        },
765        move || {
766            let api_phrase = phrase.cst_decode();
767            move |context| {
768                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
769                    (move || {
770                        let output_ok = crate::binding::mnemonic_to_seed(api_phrase)?;
771                        Ok(output_ok)
772                    })(),
773                )
774            }
775        },
776    )
777}
778fn wire__crate__binding__node_credentials_impl(
779    port_: flutter_rust_bridge::for_generated::MessagePort,
780) {
781    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
782        flutter_rust_bridge::for_generated::TaskInfo {
783            debug_name: "node_credentials",
784            port: Some(port_),
785            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
786        },
787        move || {
788            move |context| {
789                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
790                    (move || {
791                        let output_ok = crate::binding::node_credentials()?;
792                        Ok(output_ok)
793                    })(),
794                )
795            }
796        },
797    )
798}
799fn wire__crate__binding__node_info_impl(port_: flutter_rust_bridge::for_generated::MessagePort) {
800    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
801        flutter_rust_bridge::for_generated::TaskInfo {
802            debug_name: "node_info",
803            port: Some(port_),
804            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
805        },
806        move || {
807            move |context| {
808                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
809                    (move || {
810                        let output_ok = crate::binding::node_info()?;
811                        Ok(output_ok)
812                    })(),
813                )
814            }
815        },
816    )
817}
818fn wire__crate__binding__onchain_payment_limits_impl(
819    port_: flutter_rust_bridge::for_generated::MessagePort,
820) {
821    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
822        flutter_rust_bridge::for_generated::TaskInfo {
823            debug_name: "onchain_payment_limits",
824            port: Some(port_),
825            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
826        },
827        move || {
828            move |context| {
829                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
830                    (move || {
831                        let output_ok = crate::binding::onchain_payment_limits()?;
832                        Ok(output_ok)
833                    })(),
834                )
835            }
836        },
837    )
838}
839fn wire__crate__binding__open_channel_fee_impl(
840    port_: flutter_rust_bridge::for_generated::MessagePort,
841    req: impl CstDecode<crate::models::OpenChannelFeeRequest>,
842) {
843    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
844        flutter_rust_bridge::for_generated::TaskInfo {
845            debug_name: "open_channel_fee",
846            port: Some(port_),
847            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
848        },
849        move || {
850            let api_req = req.cst_decode();
851            move |context| {
852                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
853                    (move || {
854                        let output_ok = crate::binding::open_channel_fee(api_req)?;
855                        Ok(output_ok)
856                    })(),
857                )
858            }
859        },
860    )
861}
862fn wire__crate__binding__parse_input_impl(
863    port_: flutter_rust_bridge::for_generated::MessagePort,
864    input: impl CstDecode<String>,
865) {
866    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
867        flutter_rust_bridge::for_generated::TaskInfo {
868            debug_name: "parse_input",
869            port: Some(port_),
870            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
871        },
872        move || {
873            let api_input = input.cst_decode();
874            move |context| {
875                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
876                    (move || {
877                        let output_ok = crate::binding::parse_input(api_input)?;
878                        Ok(output_ok)
879                    })(),
880                )
881            }
882        },
883    )
884}
885fn wire__crate__binding__parse_invoice_impl(
886    port_: flutter_rust_bridge::for_generated::MessagePort,
887    invoice: impl CstDecode<String>,
888) {
889    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
890        flutter_rust_bridge::for_generated::TaskInfo {
891            debug_name: "parse_invoice",
892            port: Some(port_),
893            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
894        },
895        move || {
896            let api_invoice = invoice.cst_decode();
897            move |context| {
898                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
899                    (move || {
900                        let output_ok = crate::binding::parse_invoice(api_invoice)?;
901                        Ok(output_ok)
902                    })(),
903                )
904            }
905        },
906    )
907}
908fn wire__crate__binding__pay_onchain_impl(
909    port_: flutter_rust_bridge::for_generated::MessagePort,
910    req: impl CstDecode<crate::models::PayOnchainRequest>,
911) {
912    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
913        flutter_rust_bridge::for_generated::TaskInfo {
914            debug_name: "pay_onchain",
915            port: Some(port_),
916            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
917        },
918        move || {
919            let api_req = req.cst_decode();
920            move |context| {
921                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
922                    (move || {
923                        let output_ok = crate::binding::pay_onchain(api_req)?;
924                        Ok(output_ok)
925                    })(),
926                )
927            }
928        },
929    )
930}
931fn wire__crate__binding__payment_by_hash_impl(
932    port_: flutter_rust_bridge::for_generated::MessagePort,
933    hash: impl CstDecode<String>,
934) {
935    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
936        flutter_rust_bridge::for_generated::TaskInfo {
937            debug_name: "payment_by_hash",
938            port: Some(port_),
939            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
940        },
941        move || {
942            let api_hash = hash.cst_decode();
943            move |context| {
944                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
945                    (move || {
946                        let output_ok = crate::binding::payment_by_hash(api_hash)?;
947                        Ok(output_ok)
948                    })(),
949                )
950            }
951        },
952    )
953}
954fn wire__crate__binding__prepare_onchain_payment_impl(
955    port_: flutter_rust_bridge::for_generated::MessagePort,
956    req: impl CstDecode<crate::models::PrepareOnchainPaymentRequest>,
957) {
958    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
959        flutter_rust_bridge::for_generated::TaskInfo {
960            debug_name: "prepare_onchain_payment",
961            port: Some(port_),
962            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
963        },
964        move || {
965            let api_req = req.cst_decode();
966            move |context| {
967                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
968                    (move || {
969                        let output_ok = crate::binding::prepare_onchain_payment(api_req)?;
970                        Ok(output_ok)
971                    })(),
972                )
973            }
974        },
975    )
976}
977fn wire__crate__binding__prepare_redeem_onchain_funds_impl(
978    port_: flutter_rust_bridge::for_generated::MessagePort,
979    req: impl CstDecode<crate::models::PrepareRedeemOnchainFundsRequest>,
980) {
981    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
982        flutter_rust_bridge::for_generated::TaskInfo {
983            debug_name: "prepare_redeem_onchain_funds",
984            port: Some(port_),
985            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
986        },
987        move || {
988            let api_req = req.cst_decode();
989            move |context| {
990                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
991                    (move || {
992                        let output_ok = crate::binding::prepare_redeem_onchain_funds(api_req)?;
993                        Ok(output_ok)
994                    })(),
995                )
996            }
997        },
998    )
999}
1000fn wire__crate__binding__prepare_refund_impl(
1001    port_: flutter_rust_bridge::for_generated::MessagePort,
1002    req: impl CstDecode<crate::models::PrepareRefundRequest>,
1003) {
1004    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1005        flutter_rust_bridge::for_generated::TaskInfo {
1006            debug_name: "prepare_refund",
1007            port: Some(port_),
1008            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1009        },
1010        move || {
1011            let api_req = req.cst_decode();
1012            move |context| {
1013                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1014                    (move || {
1015                        let output_ok = crate::binding::prepare_refund(api_req)?;
1016                        Ok(output_ok)
1017                    })(),
1018                )
1019            }
1020        },
1021    )
1022}
1023fn wire__crate__binding__receive_onchain_impl(
1024    port_: flutter_rust_bridge::for_generated::MessagePort,
1025    req: impl CstDecode<crate::models::ReceiveOnchainRequest>,
1026) {
1027    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1028        flutter_rust_bridge::for_generated::TaskInfo {
1029            debug_name: "receive_onchain",
1030            port: Some(port_),
1031            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1032        },
1033        move || {
1034            let api_req = req.cst_decode();
1035            move |context| {
1036                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1037                    (move || {
1038                        let output_ok = crate::binding::receive_onchain(api_req)?;
1039                        Ok(output_ok)
1040                    })(),
1041                )
1042            }
1043        },
1044    )
1045}
1046fn wire__crate__binding__receive_payment_impl(
1047    port_: flutter_rust_bridge::for_generated::MessagePort,
1048    req: impl CstDecode<crate::models::ReceivePaymentRequest>,
1049) {
1050    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1051        flutter_rust_bridge::for_generated::TaskInfo {
1052            debug_name: "receive_payment",
1053            port: Some(port_),
1054            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1055        },
1056        move || {
1057            let api_req = req.cst_decode();
1058            move |context| {
1059                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1060                    (move || {
1061                        let output_ok = crate::binding::receive_payment(api_req)?;
1062                        Ok(output_ok)
1063                    })(),
1064                )
1065            }
1066        },
1067    )
1068}
1069fn wire__crate__binding__recommended_fees_impl(
1070    port_: flutter_rust_bridge::for_generated::MessagePort,
1071) {
1072    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1073        flutter_rust_bridge::for_generated::TaskInfo {
1074            debug_name: "recommended_fees",
1075            port: Some(port_),
1076            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1077        },
1078        move || {
1079            move |context| {
1080                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1081                    (move || {
1082                        let output_ok = crate::binding::recommended_fees()?;
1083                        Ok(output_ok)
1084                    })(),
1085                )
1086            }
1087        },
1088    )
1089}
1090fn wire__crate__binding__redeem_onchain_funds_impl(
1091    port_: flutter_rust_bridge::for_generated::MessagePort,
1092    req: impl CstDecode<crate::models::RedeemOnchainFundsRequest>,
1093) {
1094    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1095        flutter_rust_bridge::for_generated::TaskInfo {
1096            debug_name: "redeem_onchain_funds",
1097            port: Some(port_),
1098            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1099        },
1100        move || {
1101            let api_req = req.cst_decode();
1102            move |context| {
1103                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1104                    (move || {
1105                        let output_ok = crate::binding::redeem_onchain_funds(api_req)?;
1106                        Ok(output_ok)
1107                    })(),
1108                )
1109            }
1110        },
1111    )
1112}
1113fn wire__crate__binding__redeem_swap_impl(
1114    port_: flutter_rust_bridge::for_generated::MessagePort,
1115    swap_address: impl CstDecode<String>,
1116) {
1117    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1118        flutter_rust_bridge::for_generated::TaskInfo {
1119            debug_name: "redeem_swap",
1120            port: Some(port_),
1121            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1122        },
1123        move || {
1124            let api_swap_address = swap_address.cst_decode();
1125            move |context| {
1126                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1127                    (move || {
1128                        let output_ok = crate::binding::redeem_swap(api_swap_address)?;
1129                        Ok(output_ok)
1130                    })(),
1131                )
1132            }
1133        },
1134    )
1135}
1136fn wire__crate__binding__refund_impl(
1137    port_: flutter_rust_bridge::for_generated::MessagePort,
1138    req: impl CstDecode<crate::models::RefundRequest>,
1139) {
1140    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1141        flutter_rust_bridge::for_generated::TaskInfo {
1142            debug_name: "refund",
1143            port: Some(port_),
1144            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1145        },
1146        move || {
1147            let api_req = req.cst_decode();
1148            move |context| {
1149                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1150                    (move || {
1151                        let output_ok = crate::binding::refund(api_req)?;
1152                        Ok(output_ok)
1153                    })(),
1154                )
1155            }
1156        },
1157    )
1158}
1159fn wire__crate__binding__register_webhook_impl(
1160    port_: flutter_rust_bridge::for_generated::MessagePort,
1161    webhook_url: impl CstDecode<String>,
1162) {
1163    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1164        flutter_rust_bridge::for_generated::TaskInfo {
1165            debug_name: "register_webhook",
1166            port: Some(port_),
1167            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1168        },
1169        move || {
1170            let api_webhook_url = webhook_url.cst_decode();
1171            move |context| {
1172                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1173                    (move || {
1174                        let output_ok = crate::binding::register_webhook(api_webhook_url)?;
1175                        Ok(output_ok)
1176                    })(),
1177                )
1178            }
1179        },
1180    )
1181}
1182fn wire__crate__binding__report_issue_impl(
1183    port_: flutter_rust_bridge::for_generated::MessagePort,
1184    req: impl CstDecode<crate::models::ReportIssueRequest>,
1185) {
1186    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1187        flutter_rust_bridge::for_generated::TaskInfo {
1188            debug_name: "report_issue",
1189            port: Some(port_),
1190            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1191        },
1192        move || {
1193            let api_req = req.cst_decode();
1194            move |context| {
1195                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1196                    (move || {
1197                        let output_ok = crate::binding::report_issue(api_req)?;
1198                        Ok(output_ok)
1199                    })(),
1200                )
1201            }
1202        },
1203    )
1204}
1205fn wire__crate__binding__rescan_swaps_impl(port_: flutter_rust_bridge::for_generated::MessagePort) {
1206    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1207        flutter_rust_bridge::for_generated::TaskInfo {
1208            debug_name: "rescan_swaps",
1209            port: Some(port_),
1210            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1211        },
1212        move || {
1213            move |context| {
1214                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1215                    (move || {
1216                        let output_ok = crate::binding::rescan_swaps()?;
1217                        Ok(output_ok)
1218                    })(),
1219                )
1220            }
1221        },
1222    )
1223}
1224fn wire__crate__binding__send_payment_impl(
1225    port_: flutter_rust_bridge::for_generated::MessagePort,
1226    req: impl CstDecode<crate::models::SendPaymentRequest>,
1227) {
1228    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1229        flutter_rust_bridge::for_generated::TaskInfo {
1230            debug_name: "send_payment",
1231            port: Some(port_),
1232            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1233        },
1234        move || {
1235            let api_req = req.cst_decode();
1236            move |context| {
1237                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1238                    (move || {
1239                        let output_ok = crate::binding::send_payment(api_req)?;
1240                        Ok(output_ok)
1241                    })(),
1242                )
1243            }
1244        },
1245    )
1246}
1247fn wire__crate__binding__send_spontaneous_payment_impl(
1248    port_: flutter_rust_bridge::for_generated::MessagePort,
1249    req: impl CstDecode<crate::models::SendSpontaneousPaymentRequest>,
1250) {
1251    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1252        flutter_rust_bridge::for_generated::TaskInfo {
1253            debug_name: "send_spontaneous_payment",
1254            port: Some(port_),
1255            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1256        },
1257        move || {
1258            let api_req = req.cst_decode();
1259            move |context| {
1260                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1261                    (move || {
1262                        let output_ok = crate::binding::send_spontaneous_payment(api_req)?;
1263                        Ok(output_ok)
1264                    })(),
1265                )
1266            }
1267        },
1268    )
1269}
1270fn wire__crate__binding__service_health_check_impl(
1271    port_: flutter_rust_bridge::for_generated::MessagePort,
1272    api_key: impl CstDecode<String>,
1273) {
1274    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1275        flutter_rust_bridge::for_generated::TaskInfo {
1276            debug_name: "service_health_check",
1277            port: Some(port_),
1278            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1279        },
1280        move || {
1281            let api_api_key = api_key.cst_decode();
1282            move |context| {
1283                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1284                    (move || {
1285                        let output_ok = crate::binding::service_health_check(api_api_key)?;
1286                        Ok(output_ok)
1287                    })(),
1288                )
1289            }
1290        },
1291    )
1292}
1293fn wire__crate__binding__set_payment_metadata_impl(
1294    port_: flutter_rust_bridge::for_generated::MessagePort,
1295    hash: impl CstDecode<String>,
1296    metadata: impl CstDecode<String>,
1297) {
1298    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1299        flutter_rust_bridge::for_generated::TaskInfo {
1300            debug_name: "set_payment_metadata",
1301            port: Some(port_),
1302            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1303        },
1304        move || {
1305            let api_hash = hash.cst_decode();
1306            let api_metadata = metadata.cst_decode();
1307            move |context| {
1308                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1309                    (move || {
1310                        let output_ok =
1311                            crate::binding::set_payment_metadata(api_hash, api_metadata)?;
1312                        Ok(output_ok)
1313                    })(),
1314                )
1315            }
1316        },
1317    )
1318}
1319fn wire__crate__binding__sign_message_impl(
1320    port_: flutter_rust_bridge::for_generated::MessagePort,
1321    req: impl CstDecode<crate::breez_services::SignMessageRequest>,
1322) {
1323    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1324        flutter_rust_bridge::for_generated::TaskInfo {
1325            debug_name: "sign_message",
1326            port: Some(port_),
1327            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1328        },
1329        move || {
1330            let api_req = req.cst_decode();
1331            move |context| {
1332                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1333                    (move || {
1334                        let output_ok = crate::binding::sign_message(api_req)?;
1335                        Ok(output_ok)
1336                    })(),
1337                )
1338            }
1339        },
1340    )
1341}
1342fn wire__crate__binding__static_backup_impl(
1343    port_: flutter_rust_bridge::for_generated::MessagePort,
1344    req: impl CstDecode<crate::models::StaticBackupRequest>,
1345) {
1346    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1347        flutter_rust_bridge::for_generated::TaskInfo {
1348            debug_name: "static_backup",
1349            port: Some(port_),
1350            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1351        },
1352        move || {
1353            let api_req = req.cst_decode();
1354            move |context| {
1355                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1356                    (move || {
1357                        let output_ok = crate::binding::static_backup(api_req)?;
1358                        Ok(output_ok)
1359                    })(),
1360                )
1361            }
1362        },
1363    )
1364}
1365fn wire__crate__binding__sync_impl(port_: flutter_rust_bridge::for_generated::MessagePort) {
1366    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1367        flutter_rust_bridge::for_generated::TaskInfo {
1368            debug_name: "sync(dart_style=sync)",
1369            port: Some(port_),
1370            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1371        },
1372        move || {
1373            move |context| {
1374                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1375                    (move || {
1376                        let output_ok = crate::binding::sync()?;
1377                        Ok(output_ok)
1378                    })(),
1379                )
1380            }
1381        },
1382    )
1383}
1384fn wire__crate__binding__unregister_webhook_impl(
1385    port_: flutter_rust_bridge::for_generated::MessagePort,
1386    webhook_url: impl CstDecode<String>,
1387) {
1388    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
1389        flutter_rust_bridge::for_generated::TaskInfo {
1390            debug_name: "unregister_webhook",
1391            port: Some(port_),
1392            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
1393        },
1394        move || {
1395            let api_webhook_url = webhook_url.cst_decode();
1396            move |context| {
1397                transform_result_dco::<_, _, flutter_rust_bridge::for_generated::anyhow::Error>(
1398                    (move || {
1399                        let output_ok = crate::binding::unregister_webhook(api_webhook_url)?;
1400                        Ok(output_ok)
1401                    })(),
1402                )
1403            }
1404        },
1405    )
1406}
1407
1408// Section: static_checks
1409
1410#[allow(clippy::unnecessary_literal_unwrap)]
1411const _: fn() = || {
1412    {
1413        let AesSuccessActionDataDecrypted =
1414            None::<crate::binding::AesSuccessActionDataDecrypted>.unwrap();
1415        let _: String = AesSuccessActionDataDecrypted.description;
1416        let _: String = AesSuccessActionDataDecrypted.plaintext;
1417    }
1418    match None::<crate::binding::AesSuccessActionDataResult>.unwrap() {
1419        crate::binding::AesSuccessActionDataResult::Decrypted { data } => {
1420            let _: crate::binding::AesSuccessActionDataDecrypted = data;
1421        }
1422        crate::binding::AesSuccessActionDataResult::ErrorStatus { reason } => {
1423            let _: String = reason;
1424        }
1425    }
1426    {
1427        let BitcoinAddressData = None::<crate::binding::BitcoinAddressData>.unwrap();
1428        let _: String = BitcoinAddressData.address;
1429        let _: crate::binding::Network = BitcoinAddressData.network;
1430        let _: Option<u64> = BitcoinAddressData.amount_sat;
1431        let _: Option<String> = BitcoinAddressData.label;
1432        let _: Option<String> = BitcoinAddressData.message;
1433    }
1434    {
1435        let CurrencyInfo = None::<crate::binding::CurrencyInfo>.unwrap();
1436        let _: String = CurrencyInfo.name;
1437        let _: u32 = CurrencyInfo.fraction_size;
1438        let _: Option<u32> = CurrencyInfo.spacing;
1439        let _: Option<crate::binding::Symbol> = CurrencyInfo.symbol;
1440        let _: Option<crate::binding::Symbol> = CurrencyInfo.uniq_symbol;
1441        let _: Vec<crate::binding::LocalizedName> = CurrencyInfo.localized_name;
1442        let _: Vec<crate::binding::LocaleOverrides> = CurrencyInfo.locale_overrides;
1443    }
1444    {
1445        let FiatCurrency = None::<crate::binding::FiatCurrency>.unwrap();
1446        let _: String = FiatCurrency.id;
1447        let _: crate::binding::CurrencyInfo = FiatCurrency.info;
1448    }
1449    match None::<crate::binding::InputType>.unwrap() {
1450        crate::binding::InputType::BitcoinAddress { address } => {
1451            let _: crate::binding::BitcoinAddressData = address;
1452        }
1453        crate::binding::InputType::Bolt11 { invoice } => {
1454            let _: crate::binding::LNInvoice = invoice;
1455        }
1456        crate::binding::InputType::NodeId { node_id } => {
1457            let _: String = node_id;
1458        }
1459        crate::binding::InputType::Url { url } => {
1460            let _: String = url;
1461        }
1462        crate::binding::InputType::LnUrlPay {
1463            data,
1464            bip353_address,
1465        } => {
1466            let _: crate::binding::LnUrlPayRequestData = data;
1467            let _: Option<String> = bip353_address;
1468        }
1469        crate::binding::InputType::LnUrlWithdraw { data } => {
1470            let _: crate::binding::LnUrlWithdrawRequestData = data;
1471        }
1472        crate::binding::InputType::LnUrlAuth { data } => {
1473            let _: crate::binding::LnUrlAuthRequestData = data;
1474        }
1475        crate::binding::InputType::LnUrlError { data } => {
1476            let _: crate::binding::LnUrlErrorData = data;
1477        }
1478    }
1479    {
1480        let LNInvoice = None::<crate::binding::LNInvoice>.unwrap();
1481        let _: String = LNInvoice.bolt11;
1482        let _: crate::binding::Network = LNInvoice.network;
1483        let _: String = LNInvoice.payee_pubkey;
1484        let _: String = LNInvoice.payment_hash;
1485        let _: Option<String> = LNInvoice.description;
1486        let _: Option<String> = LNInvoice.description_hash;
1487        let _: Option<u64> = LNInvoice.amount_msat;
1488        let _: u64 = LNInvoice.timestamp;
1489        let _: u64 = LNInvoice.expiry;
1490        let _: Vec<crate::binding::RouteHint> = LNInvoice.routing_hints;
1491        let _: Vec<u8> = LNInvoice.payment_secret;
1492        let _: u64 = LNInvoice.min_final_cltv_expiry_delta;
1493    }
1494    {
1495        let LnUrlAuthRequestData = None::<crate::binding::LnUrlAuthRequestData>.unwrap();
1496        let _: String = LnUrlAuthRequestData.k1;
1497        let _: Option<String> = LnUrlAuthRequestData.action;
1498        let _: String = LnUrlAuthRequestData.domain;
1499        let _: String = LnUrlAuthRequestData.url;
1500    }
1501    match None::<crate::binding::LnUrlCallbackStatus>.unwrap() {
1502        crate::binding::LnUrlCallbackStatus::Ok => {}
1503        crate::binding::LnUrlCallbackStatus::ErrorStatus { data } => {
1504            let _: crate::binding::LnUrlErrorData = data;
1505        }
1506    }
1507    {
1508        let LnUrlErrorData = None::<crate::binding::LnUrlErrorData>.unwrap();
1509        let _: String = LnUrlErrorData.reason;
1510    }
1511    {
1512        let LnUrlPayErrorData = None::<crate::binding::LnUrlPayErrorData>.unwrap();
1513        let _: String = LnUrlPayErrorData.payment_hash;
1514        let _: String = LnUrlPayErrorData.reason;
1515    }
1516    {
1517        let LnUrlPayRequest = None::<crate::binding::LnUrlPayRequest>.unwrap();
1518        let _: crate::binding::LnUrlPayRequestData = LnUrlPayRequest.data;
1519        let _: u64 = LnUrlPayRequest.amount_msat;
1520        let _: bool = LnUrlPayRequest.use_trampoline;
1521        let _: Option<String> = LnUrlPayRequest.comment;
1522        let _: Option<String> = LnUrlPayRequest.payment_label;
1523        let _: Option<bool> = LnUrlPayRequest.validate_success_action_url;
1524    }
1525    {
1526        let LnUrlPayRequestData = None::<crate::binding::LnUrlPayRequestData>.unwrap();
1527        let _: String = LnUrlPayRequestData.callback;
1528        let _: u64 = LnUrlPayRequestData.min_sendable;
1529        let _: u64 = LnUrlPayRequestData.max_sendable;
1530        let _: String = LnUrlPayRequestData.metadata_str;
1531        let _: u16 = LnUrlPayRequestData.comment_allowed;
1532        let _: String = LnUrlPayRequestData.domain;
1533        let _: bool = LnUrlPayRequestData.allows_nostr;
1534        let _: Option<String> = LnUrlPayRequestData.nostr_pubkey;
1535        let _: Option<String> = LnUrlPayRequestData.ln_address;
1536    }
1537    {
1538        let LnUrlWithdrawRequest = None::<crate::binding::LnUrlWithdrawRequest>.unwrap();
1539        let _: crate::binding::LnUrlWithdrawRequestData = LnUrlWithdrawRequest.data;
1540        let _: u64 = LnUrlWithdrawRequest.amount_msat;
1541        let _: Option<String> = LnUrlWithdrawRequest.description;
1542    }
1543    {
1544        let LnUrlWithdrawRequestData = None::<crate::binding::LnUrlWithdrawRequestData>.unwrap();
1545        let _: String = LnUrlWithdrawRequestData.callback;
1546        let _: String = LnUrlWithdrawRequestData.k1;
1547        let _: String = LnUrlWithdrawRequestData.default_description;
1548        let _: u64 = LnUrlWithdrawRequestData.min_withdrawable;
1549        let _: u64 = LnUrlWithdrawRequestData.max_withdrawable;
1550    }
1551    match None::<crate::binding::LnUrlWithdrawResult>.unwrap() {
1552        crate::binding::LnUrlWithdrawResult::Ok { data } => {
1553            let _: crate::binding::LnUrlWithdrawSuccessData = data;
1554        }
1555        crate::binding::LnUrlWithdrawResult::Timeout { data } => {
1556            let _: crate::binding::LnUrlWithdrawSuccessData = data;
1557        }
1558        crate::binding::LnUrlWithdrawResult::ErrorStatus { data } => {
1559            let _: crate::binding::LnUrlErrorData = data;
1560        }
1561    }
1562    {
1563        let LnUrlWithdrawSuccessData = None::<crate::binding::LnUrlWithdrawSuccessData>.unwrap();
1564        let _: crate::binding::LNInvoice = LnUrlWithdrawSuccessData.invoice;
1565    }
1566    {
1567        let LocaleOverrides = None::<crate::binding::LocaleOverrides>.unwrap();
1568        let _: String = LocaleOverrides.locale;
1569        let _: Option<u32> = LocaleOverrides.spacing;
1570        let _: crate::binding::Symbol = LocaleOverrides.symbol;
1571    }
1572    {
1573        let LocalizedName = None::<crate::binding::LocalizedName>.unwrap();
1574        let _: String = LocalizedName.locale;
1575        let _: String = LocalizedName.name;
1576    }
1577    {
1578        let MessageSuccessActionData = None::<crate::binding::MessageSuccessActionData>.unwrap();
1579        let _: String = MessageSuccessActionData.message;
1580    }
1581    {
1582        let Rate = None::<crate::binding::Rate>.unwrap();
1583        let _: String = Rate.coin;
1584        let _: f64 = Rate.value;
1585    }
1586    {
1587        let RouteHint = None::<crate::binding::RouteHint>.unwrap();
1588        let _: Vec<crate::binding::RouteHintHop> = RouteHint.hops;
1589    }
1590    {
1591        let RouteHintHop = None::<crate::binding::RouteHintHop>.unwrap();
1592        let _: String = RouteHintHop.src_node_id;
1593        let _: String = RouteHintHop.short_channel_id;
1594        let _: u32 = RouteHintHop.fees_base_msat;
1595        let _: u32 = RouteHintHop.fees_proportional_millionths;
1596        let _: u64 = RouteHintHop.cltv_expiry_delta;
1597        let _: Option<u64> = RouteHintHop.htlc_minimum_msat;
1598        let _: Option<u64> = RouteHintHop.htlc_maximum_msat;
1599    }
1600    match None::<crate::binding::SuccessActionProcessed>.unwrap() {
1601        crate::binding::SuccessActionProcessed::Aes { result } => {
1602            let _: crate::binding::AesSuccessActionDataResult = result;
1603        }
1604        crate::binding::SuccessActionProcessed::Message { data } => {
1605            let _: crate::binding::MessageSuccessActionData = data;
1606        }
1607        crate::binding::SuccessActionProcessed::Url { data } => {
1608            let _: crate::binding::UrlSuccessActionData = data;
1609        }
1610    }
1611    {
1612        let Symbol = None::<crate::binding::Symbol>.unwrap();
1613        let _: Option<String> = Symbol.grapheme;
1614        let _: Option<String> = Symbol.template;
1615        let _: Option<bool> = Symbol.rtl;
1616        let _: Option<u32> = Symbol.position;
1617    }
1618    {
1619        let UrlSuccessActionData = None::<crate::binding::UrlSuccessActionData>.unwrap();
1620        let _: String = UrlSuccessActionData.description;
1621        let _: String = UrlSuccessActionData.url;
1622        let _: bool = UrlSuccessActionData.matches_callback_domain;
1623    }
1624};
1625
1626// Section: dart2rust
1627
1628impl CstDecode<bool> for bool {
1629    // Codec=Cst (C-struct based), see doc to use other codecs
1630    fn cst_decode(self) -> bool {
1631        self
1632    }
1633}
1634impl CstDecode<crate::models::BuyBitcoinProvider> for i32 {
1635    // Codec=Cst (C-struct based), see doc to use other codecs
1636    fn cst_decode(self) -> crate::models::BuyBitcoinProvider {
1637        match self {
1638            0 => crate::models::BuyBitcoinProvider::Moonpay,
1639            _ => unreachable!("Invalid variant for BuyBitcoinProvider: {}", self),
1640        }
1641    }
1642}
1643impl CstDecode<crate::models::ChannelState> for i32 {
1644    // Codec=Cst (C-struct based), see doc to use other codecs
1645    fn cst_decode(self) -> crate::models::ChannelState {
1646        match self {
1647            0 => crate::models::ChannelState::PendingOpen,
1648            1 => crate::models::ChannelState::Opened,
1649            2 => crate::models::ChannelState::PendingClose,
1650            3 => crate::models::ChannelState::Closed,
1651            _ => unreachable!("Invalid variant for ChannelState: {}", self),
1652        }
1653    }
1654}
1655impl CstDecode<crate::models::EnvironmentType> for i32 {
1656    // Codec=Cst (C-struct based), see doc to use other codecs
1657    fn cst_decode(self) -> crate::models::EnvironmentType {
1658        match self {
1659            0 => crate::models::EnvironmentType::Production,
1660            1 => crate::models::EnvironmentType::Staging,
1661            2 => crate::models::EnvironmentType::Regtest,
1662            _ => unreachable!("Invalid variant for EnvironmentType: {}", self),
1663        }
1664    }
1665}
1666impl CstDecode<f64> for f64 {
1667    // Codec=Cst (C-struct based), see doc to use other codecs
1668    fn cst_decode(self) -> f64 {
1669        self
1670    }
1671}
1672impl CstDecode<crate::models::HealthCheckStatus> for i32 {
1673    // Codec=Cst (C-struct based), see doc to use other codecs
1674    fn cst_decode(self) -> crate::models::HealthCheckStatus {
1675        match self {
1676            0 => crate::models::HealthCheckStatus::Operational,
1677            1 => crate::models::HealthCheckStatus::Maintenance,
1678            2 => crate::models::HealthCheckStatus::ServiceDisruption,
1679            _ => unreachable!("Invalid variant for HealthCheckStatus: {}", self),
1680        }
1681    }
1682}
1683impl CstDecode<i32> for i32 {
1684    // Codec=Cst (C-struct based), see doc to use other codecs
1685    fn cst_decode(self) -> i32 {
1686        self
1687    }
1688}
1689impl CstDecode<i64> for i64 {
1690    // Codec=Cst (C-struct based), see doc to use other codecs
1691    fn cst_decode(self) -> i64 {
1692        self
1693    }
1694}
1695impl CstDecode<crate::binding::Network> for i32 {
1696    // Codec=Cst (C-struct based), see doc to use other codecs
1697    fn cst_decode(self) -> crate::binding::Network {
1698        match self {
1699            0 => crate::binding::Network::Bitcoin,
1700            1 => crate::binding::Network::Testnet,
1701            2 => crate::binding::Network::Signet,
1702            3 => crate::binding::Network::Regtest,
1703            _ => unreachable!("Invalid variant for Network: {}", self),
1704        }
1705    }
1706}
1707impl CstDecode<crate::models::PaymentStatus> for i32 {
1708    // Codec=Cst (C-struct based), see doc to use other codecs
1709    fn cst_decode(self) -> crate::models::PaymentStatus {
1710        match self {
1711            0 => crate::models::PaymentStatus::Pending,
1712            1 => crate::models::PaymentStatus::Complete,
1713            2 => crate::models::PaymentStatus::Failed,
1714            _ => unreachable!("Invalid variant for PaymentStatus: {}", self),
1715        }
1716    }
1717}
1718impl CstDecode<crate::models::PaymentType> for i32 {
1719    // Codec=Cst (C-struct based), see doc to use other codecs
1720    fn cst_decode(self) -> crate::models::PaymentType {
1721        match self {
1722            0 => crate::models::PaymentType::Sent,
1723            1 => crate::models::PaymentType::Received,
1724            2 => crate::models::PaymentType::ClosedChannel,
1725            _ => unreachable!("Invalid variant for PaymentType: {}", self),
1726        }
1727    }
1728}
1729impl CstDecode<crate::models::PaymentTypeFilter> for i32 {
1730    // Codec=Cst (C-struct based), see doc to use other codecs
1731    fn cst_decode(self) -> crate::models::PaymentTypeFilter {
1732        match self {
1733            0 => crate::models::PaymentTypeFilter::Sent,
1734            1 => crate::models::PaymentTypeFilter::Received,
1735            2 => crate::models::PaymentTypeFilter::ClosedChannel,
1736            _ => unreachable!("Invalid variant for PaymentTypeFilter: {}", self),
1737        }
1738    }
1739}
1740impl CstDecode<crate::models::ReverseSwapStatus> for i32 {
1741    // Codec=Cst (C-struct based), see doc to use other codecs
1742    fn cst_decode(self) -> crate::models::ReverseSwapStatus {
1743        match self {
1744            0 => crate::models::ReverseSwapStatus::Initial,
1745            1 => crate::models::ReverseSwapStatus::InProgress,
1746            2 => crate::models::ReverseSwapStatus::Cancelled,
1747            3 => crate::models::ReverseSwapStatus::CompletedSeen,
1748            4 => crate::models::ReverseSwapStatus::CompletedConfirmed,
1749            _ => unreachable!("Invalid variant for ReverseSwapStatus: {}", self),
1750        }
1751    }
1752}
1753impl CstDecode<crate::models::SwapAmountType> for i32 {
1754    // Codec=Cst (C-struct based), see doc to use other codecs
1755    fn cst_decode(self) -> crate::models::SwapAmountType {
1756        match self {
1757            0 => crate::models::SwapAmountType::Send,
1758            1 => crate::models::SwapAmountType::Receive,
1759            _ => unreachable!("Invalid variant for SwapAmountType: {}", self),
1760        }
1761    }
1762}
1763impl CstDecode<crate::models::SwapStatus> for i32 {
1764    // Codec=Cst (C-struct based), see doc to use other codecs
1765    fn cst_decode(self) -> crate::models::SwapStatus {
1766        match self {
1767            0 => crate::models::SwapStatus::Initial,
1768            1 => crate::models::SwapStatus::WaitingConfirmation,
1769            2 => crate::models::SwapStatus::Redeemable,
1770            3 => crate::models::SwapStatus::Redeemed,
1771            4 => crate::models::SwapStatus::Refundable,
1772            5 => crate::models::SwapStatus::Completed,
1773            _ => unreachable!("Invalid variant for SwapStatus: {}", self),
1774        }
1775    }
1776}
1777impl CstDecode<u16> for u16 {
1778    // Codec=Cst (C-struct based), see doc to use other codecs
1779    fn cst_decode(self) -> u16 {
1780        self
1781    }
1782}
1783impl CstDecode<u32> for u32 {
1784    // Codec=Cst (C-struct based), see doc to use other codecs
1785    fn cst_decode(self) -> u32 {
1786        self
1787    }
1788}
1789impl CstDecode<u64> for u64 {
1790    // Codec=Cst (C-struct based), see doc to use other codecs
1791    fn cst_decode(self) -> u64 {
1792        self
1793    }
1794}
1795impl CstDecode<u8> for u8 {
1796    // Codec=Cst (C-struct based), see doc to use other codecs
1797    fn cst_decode(self) -> u8 {
1798        self
1799    }
1800}
1801impl SseDecode for flutter_rust_bridge::for_generated::anyhow::Error {
1802    // Codec=Sse (Serialization based), see doc to use other codecs
1803    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1804        let mut inner = <String>::sse_decode(deserializer);
1805        return flutter_rust_bridge::for_generated::anyhow::anyhow!("{}", inner);
1806    }
1807}
1808
1809impl SseDecode
1810    for StreamSink<crate::breez_services::BreezEvent, flutter_rust_bridge::for_generated::DcoCodec>
1811{
1812    // Codec=Sse (Serialization based), see doc to use other codecs
1813    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1814        let mut inner = <String>::sse_decode(deserializer);
1815        return StreamSink::deserialize(inner);
1816    }
1817}
1818
1819impl SseDecode
1820    for StreamSink<crate::models::LogEntry, flutter_rust_bridge::for_generated::DcoCodec>
1821{
1822    // Codec=Sse (Serialization based), see doc to use other codecs
1823    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1824        let mut inner = <String>::sse_decode(deserializer);
1825        return StreamSink::deserialize(inner);
1826    }
1827}
1828
1829impl SseDecode for String {
1830    // Codec=Sse (Serialization based), see doc to use other codecs
1831    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1832        let mut inner = <Vec<u8>>::sse_decode(deserializer);
1833        return String::from_utf8(inner).unwrap();
1834    }
1835}
1836
1837impl SseDecode for crate::binding::AesSuccessActionDataDecrypted {
1838    // Codec=Sse (Serialization based), see doc to use other codecs
1839    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1840        let mut var_description = <String>::sse_decode(deserializer);
1841        let mut var_plaintext = <String>::sse_decode(deserializer);
1842        return crate::binding::AesSuccessActionDataDecrypted {
1843            description: var_description,
1844            plaintext: var_plaintext,
1845        };
1846    }
1847}
1848
1849impl SseDecode for crate::binding::AesSuccessActionDataResult {
1850    // Codec=Sse (Serialization based), see doc to use other codecs
1851    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1852        let mut tag_ = <i32>::sse_decode(deserializer);
1853        match tag_ {
1854            0 => {
1855                let mut var_data =
1856                    <crate::binding::AesSuccessActionDataDecrypted>::sse_decode(deserializer);
1857                return crate::binding::AesSuccessActionDataResult::Decrypted { data: var_data };
1858            }
1859            1 => {
1860                let mut var_reason = <String>::sse_decode(deserializer);
1861                return crate::binding::AesSuccessActionDataResult::ErrorStatus {
1862                    reason: var_reason,
1863                };
1864            }
1865            _ => {
1866                unimplemented!("");
1867            }
1868        }
1869    }
1870}
1871
1872impl SseDecode for crate::breez_services::BackupFailedData {
1873    // Codec=Sse (Serialization based), see doc to use other codecs
1874    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1875        let mut var_error = <String>::sse_decode(deserializer);
1876        return crate::breez_services::BackupFailedData { error: var_error };
1877    }
1878}
1879
1880impl SseDecode for crate::models::BackupStatus {
1881    // Codec=Sse (Serialization based), see doc to use other codecs
1882    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1883        let mut var_backedUp = <bool>::sse_decode(deserializer);
1884        let mut var_lastBackupTime = <Option<u64>>::sse_decode(deserializer);
1885        return crate::models::BackupStatus {
1886            backed_up: var_backedUp,
1887            last_backup_time: var_lastBackupTime,
1888        };
1889    }
1890}
1891
1892impl SseDecode for crate::binding::BindingEventListener {
1893    // Codec=Sse (Serialization based), see doc to use other codecs
1894    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1895        return crate::binding::BindingEventListener {};
1896    }
1897}
1898
1899impl SseDecode for crate::binding::BitcoinAddressData {
1900    // Codec=Sse (Serialization based), see doc to use other codecs
1901    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1902        let mut var_address = <String>::sse_decode(deserializer);
1903        let mut var_network = <crate::binding::Network>::sse_decode(deserializer);
1904        let mut var_amountSat = <Option<u64>>::sse_decode(deserializer);
1905        let mut var_label = <Option<String>>::sse_decode(deserializer);
1906        let mut var_message = <Option<String>>::sse_decode(deserializer);
1907        return crate::binding::BitcoinAddressData {
1908            address: var_address,
1909            network: var_network,
1910            amount_sat: var_amountSat,
1911            label: var_label,
1912            message: var_message,
1913        };
1914    }
1915}
1916
1917impl SseDecode for bool {
1918    // Codec=Sse (Serialization based), see doc to use other codecs
1919    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1920        deserializer.cursor.read_u8().unwrap() != 0
1921    }
1922}
1923
1924impl SseDecode for crate::breez_services::BreezEvent {
1925    // Codec=Sse (Serialization based), see doc to use other codecs
1926    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1927        let mut tag_ = <i32>::sse_decode(deserializer);
1928        match tag_ {
1929            0 => {
1930                let mut var_block = <u32>::sse_decode(deserializer);
1931                return crate::breez_services::BreezEvent::NewBlock { block: var_block };
1932            }
1933            1 => {
1934                let mut var_details =
1935                    <crate::breez_services::InvoicePaidDetails>::sse_decode(deserializer);
1936                return crate::breez_services::BreezEvent::InvoicePaid {
1937                    details: var_details,
1938                };
1939            }
1940            2 => {
1941                return crate::breez_services::BreezEvent::Synced;
1942            }
1943            3 => {
1944                let mut var_details = <crate::models::Payment>::sse_decode(deserializer);
1945                return crate::breez_services::BreezEvent::PaymentSucceed {
1946                    details: var_details,
1947                };
1948            }
1949            4 => {
1950                let mut var_details =
1951                    <crate::breez_services::PaymentFailedData>::sse_decode(deserializer);
1952                return crate::breez_services::BreezEvent::PaymentFailed {
1953                    details: var_details,
1954                };
1955            }
1956            5 => {
1957                return crate::breez_services::BreezEvent::BackupStarted;
1958            }
1959            6 => {
1960                return crate::breez_services::BreezEvent::BackupSucceeded;
1961            }
1962            7 => {
1963                let mut var_details =
1964                    <crate::breez_services::BackupFailedData>::sse_decode(deserializer);
1965                return crate::breez_services::BreezEvent::BackupFailed {
1966                    details: var_details,
1967                };
1968            }
1969            8 => {
1970                let mut var_details = <crate::models::ReverseSwapInfo>::sse_decode(deserializer);
1971                return crate::breez_services::BreezEvent::ReverseSwapUpdated {
1972                    details: var_details,
1973                };
1974            }
1975            9 => {
1976                let mut var_details = <crate::models::SwapInfo>::sse_decode(deserializer);
1977                return crate::breez_services::BreezEvent::SwapUpdated {
1978                    details: var_details,
1979                };
1980            }
1981            _ => {
1982                unimplemented!("");
1983            }
1984        }
1985    }
1986}
1987
1988impl SseDecode for crate::models::BuyBitcoinProvider {
1989    // Codec=Sse (Serialization based), see doc to use other codecs
1990    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1991        let mut inner = <i32>::sse_decode(deserializer);
1992        return match inner {
1993            0 => crate::models::BuyBitcoinProvider::Moonpay,
1994            _ => unreachable!("Invalid variant for BuyBitcoinProvider: {}", inner),
1995        };
1996    }
1997}
1998
1999impl SseDecode for crate::models::BuyBitcoinRequest {
2000    // Codec=Sse (Serialization based), see doc to use other codecs
2001    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2002        let mut var_provider = <crate::models::BuyBitcoinProvider>::sse_decode(deserializer);
2003        let mut var_openingFeeParams =
2004            <Option<crate::models::OpeningFeeParams>>::sse_decode(deserializer);
2005        let mut var_redirectUrl = <Option<String>>::sse_decode(deserializer);
2006        return crate::models::BuyBitcoinRequest {
2007            provider: var_provider,
2008            opening_fee_params: var_openingFeeParams,
2009            redirect_url: var_redirectUrl,
2010        };
2011    }
2012}
2013
2014impl SseDecode for crate::models::BuyBitcoinResponse {
2015    // Codec=Sse (Serialization based), see doc to use other codecs
2016    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2017        let mut var_url = <String>::sse_decode(deserializer);
2018        let mut var_openingFeeParams =
2019            <Option<crate::models::OpeningFeeParams>>::sse_decode(deserializer);
2020        return crate::models::BuyBitcoinResponse {
2021            url: var_url,
2022            opening_fee_params: var_openingFeeParams,
2023        };
2024    }
2025}
2026
2027impl SseDecode for crate::models::ChannelState {
2028    // Codec=Sse (Serialization based), see doc to use other codecs
2029    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2030        let mut inner = <i32>::sse_decode(deserializer);
2031        return match inner {
2032            0 => crate::models::ChannelState::PendingOpen,
2033            1 => crate::models::ChannelState::Opened,
2034            2 => crate::models::ChannelState::PendingClose,
2035            3 => crate::models::ChannelState::Closed,
2036            _ => unreachable!("Invalid variant for ChannelState: {}", inner),
2037        };
2038    }
2039}
2040
2041impl SseDecode for crate::breez_services::CheckMessageRequest {
2042    // Codec=Sse (Serialization based), see doc to use other codecs
2043    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2044        let mut var_message = <String>::sse_decode(deserializer);
2045        let mut var_pubkey = <String>::sse_decode(deserializer);
2046        let mut var_signature = <String>::sse_decode(deserializer);
2047        return crate::breez_services::CheckMessageRequest {
2048            message: var_message,
2049            pubkey: var_pubkey,
2050            signature: var_signature,
2051        };
2052    }
2053}
2054
2055impl SseDecode for crate::breez_services::CheckMessageResponse {
2056    // Codec=Sse (Serialization based), see doc to use other codecs
2057    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2058        let mut var_isValid = <bool>::sse_decode(deserializer);
2059        return crate::breez_services::CheckMessageResponse {
2060            is_valid: var_isValid,
2061        };
2062    }
2063}
2064
2065impl SseDecode for crate::models::ClosedChannelPaymentDetails {
2066    // Codec=Sse (Serialization based), see doc to use other codecs
2067    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2068        let mut var_state = <crate::models::ChannelState>::sse_decode(deserializer);
2069        let mut var_fundingTxid = <String>::sse_decode(deserializer);
2070        let mut var_shortChannelId = <Option<String>>::sse_decode(deserializer);
2071        let mut var_closingTxid = <Option<String>>::sse_decode(deserializer);
2072        return crate::models::ClosedChannelPaymentDetails {
2073            state: var_state,
2074            funding_txid: var_fundingTxid,
2075            short_channel_id: var_shortChannelId,
2076            closing_txid: var_closingTxid,
2077        };
2078    }
2079}
2080
2081impl SseDecode for crate::models::Config {
2082    // Codec=Sse (Serialization based), see doc to use other codecs
2083    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2084        let mut var_breezserver = <String>::sse_decode(deserializer);
2085        let mut var_chainnotifierUrl = <String>::sse_decode(deserializer);
2086        let mut var_mempoolspaceUrl = <Option<String>>::sse_decode(deserializer);
2087        let mut var_workingDir = <String>::sse_decode(deserializer);
2088        let mut var_network = <crate::binding::Network>::sse_decode(deserializer);
2089        let mut var_paymentTimeoutSec = <u32>::sse_decode(deserializer);
2090        let mut var_defaultLspId = <Option<String>>::sse_decode(deserializer);
2091        let mut var_apiKey = <Option<String>>::sse_decode(deserializer);
2092        let mut var_maxfeePercent = <f64>::sse_decode(deserializer);
2093        let mut var_exemptfeeMsat = <u64>::sse_decode(deserializer);
2094        let mut var_nodeConfig = <crate::models::NodeConfig>::sse_decode(deserializer);
2095        return crate::models::Config {
2096            breezserver: var_breezserver,
2097            chainnotifier_url: var_chainnotifierUrl,
2098            mempoolspace_url: var_mempoolspaceUrl,
2099            working_dir: var_workingDir,
2100            network: var_network,
2101            payment_timeout_sec: var_paymentTimeoutSec,
2102            default_lsp_id: var_defaultLspId,
2103            api_key: var_apiKey,
2104            maxfee_percent: var_maxfeePercent,
2105            exemptfee_msat: var_exemptfeeMsat,
2106            node_config: var_nodeConfig,
2107        };
2108    }
2109}
2110
2111impl SseDecode for crate::models::ConfigureNodeRequest {
2112    // Codec=Sse (Serialization based), see doc to use other codecs
2113    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2114        let mut var_closeToAddress = <Option<String>>::sse_decode(deserializer);
2115        return crate::models::ConfigureNodeRequest {
2116            close_to_address: var_closeToAddress,
2117        };
2118    }
2119}
2120
2121impl SseDecode for crate::models::ConnectRequest {
2122    // Codec=Sse (Serialization based), see doc to use other codecs
2123    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2124        let mut var_config = <crate::models::Config>::sse_decode(deserializer);
2125        let mut var_seed = <Vec<u8>>::sse_decode(deserializer);
2126        let mut var_restoreOnly = <Option<bool>>::sse_decode(deserializer);
2127        return crate::models::ConnectRequest {
2128            config: var_config,
2129            seed: var_seed,
2130            restore_only: var_restoreOnly,
2131        };
2132    }
2133}
2134
2135impl SseDecode for crate::binding::CurrencyInfo {
2136    // Codec=Sse (Serialization based), see doc to use other codecs
2137    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2138        let mut var_name = <String>::sse_decode(deserializer);
2139        let mut var_fractionSize = <u32>::sse_decode(deserializer);
2140        let mut var_spacing = <Option<u32>>::sse_decode(deserializer);
2141        let mut var_symbol = <Option<crate::binding::Symbol>>::sse_decode(deserializer);
2142        let mut var_uniqSymbol = <Option<crate::binding::Symbol>>::sse_decode(deserializer);
2143        let mut var_localizedName = <Vec<crate::binding::LocalizedName>>::sse_decode(deserializer);
2144        let mut var_localeOverrides =
2145            <Vec<crate::binding::LocaleOverrides>>::sse_decode(deserializer);
2146        return crate::binding::CurrencyInfo {
2147            name: var_name,
2148            fraction_size: var_fractionSize,
2149            spacing: var_spacing,
2150            symbol: var_symbol,
2151            uniq_symbol: var_uniqSymbol,
2152            localized_name: var_localizedName,
2153            locale_overrides: var_localeOverrides,
2154        };
2155    }
2156}
2157
2158impl SseDecode for crate::models::EnvironmentType {
2159    // Codec=Sse (Serialization based), see doc to use other codecs
2160    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2161        let mut inner = <i32>::sse_decode(deserializer);
2162        return match inner {
2163            0 => crate::models::EnvironmentType::Production,
2164            1 => crate::models::EnvironmentType::Staging,
2165            2 => crate::models::EnvironmentType::Regtest,
2166            _ => unreachable!("Invalid variant for EnvironmentType: {}", inner),
2167        };
2168    }
2169}
2170
2171impl SseDecode for f64 {
2172    // Codec=Sse (Serialization based), see doc to use other codecs
2173    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2174        deserializer.cursor.read_f64::<NativeEndian>().unwrap()
2175    }
2176}
2177
2178impl SseDecode for crate::binding::FiatCurrency {
2179    // Codec=Sse (Serialization based), see doc to use other codecs
2180    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2181        let mut var_id = <String>::sse_decode(deserializer);
2182        let mut var_info = <crate::binding::CurrencyInfo>::sse_decode(deserializer);
2183        return crate::binding::FiatCurrency {
2184            id: var_id,
2185            info: var_info,
2186        };
2187    }
2188}
2189
2190impl SseDecode for crate::models::GreenlightCredentials {
2191    // Codec=Sse (Serialization based), see doc to use other codecs
2192    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2193        let mut var_developerKey = <Vec<u8>>::sse_decode(deserializer);
2194        let mut var_developerCert = <Vec<u8>>::sse_decode(deserializer);
2195        return crate::models::GreenlightCredentials {
2196            developer_key: var_developerKey,
2197            developer_cert: var_developerCert,
2198        };
2199    }
2200}
2201
2202impl SseDecode for crate::models::GreenlightDeviceCredentials {
2203    // Codec=Sse (Serialization based), see doc to use other codecs
2204    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2205        let mut var_device = <Vec<u8>>::sse_decode(deserializer);
2206        return crate::models::GreenlightDeviceCredentials { device: var_device };
2207    }
2208}
2209
2210impl SseDecode for crate::models::GreenlightNodeConfig {
2211    // Codec=Sse (Serialization based), see doc to use other codecs
2212    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2213        let mut var_partnerCredentials =
2214            <Option<crate::models::GreenlightCredentials>>::sse_decode(deserializer);
2215        let mut var_inviteCode = <Option<String>>::sse_decode(deserializer);
2216        return crate::models::GreenlightNodeConfig {
2217            partner_credentials: var_partnerCredentials,
2218            invite_code: var_inviteCode,
2219        };
2220    }
2221}
2222
2223impl SseDecode for crate::models::HealthCheckStatus {
2224    // Codec=Sse (Serialization based), see doc to use other codecs
2225    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2226        let mut inner = <i32>::sse_decode(deserializer);
2227        return match inner {
2228            0 => crate::models::HealthCheckStatus::Operational,
2229            1 => crate::models::HealthCheckStatus::Maintenance,
2230            2 => crate::models::HealthCheckStatus::ServiceDisruption,
2231            _ => unreachable!("Invalid variant for HealthCheckStatus: {}", inner),
2232        };
2233    }
2234}
2235
2236impl SseDecode for i32 {
2237    // Codec=Sse (Serialization based), see doc to use other codecs
2238    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2239        deserializer.cursor.read_i32::<NativeEndian>().unwrap()
2240    }
2241}
2242
2243impl SseDecode for i64 {
2244    // Codec=Sse (Serialization based), see doc to use other codecs
2245    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2246        deserializer.cursor.read_i64::<NativeEndian>().unwrap()
2247    }
2248}
2249
2250impl SseDecode for crate::binding::InputType {
2251    // Codec=Sse (Serialization based), see doc to use other codecs
2252    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2253        let mut tag_ = <i32>::sse_decode(deserializer);
2254        match tag_ {
2255            0 => {
2256                let mut var_address =
2257                    <crate::binding::BitcoinAddressData>::sse_decode(deserializer);
2258                return crate::binding::InputType::BitcoinAddress {
2259                    address: var_address,
2260                };
2261            }
2262            1 => {
2263                let mut var_invoice = <crate::binding::LNInvoice>::sse_decode(deserializer);
2264                return crate::binding::InputType::Bolt11 {
2265                    invoice: var_invoice,
2266                };
2267            }
2268            2 => {
2269                let mut var_nodeId = <String>::sse_decode(deserializer);
2270                return crate::binding::InputType::NodeId {
2271                    node_id: var_nodeId,
2272                };
2273            }
2274            3 => {
2275                let mut var_url = <String>::sse_decode(deserializer);
2276                return crate::binding::InputType::Url { url: var_url };
2277            }
2278            4 => {
2279                let mut var_data = <crate::binding::LnUrlPayRequestData>::sse_decode(deserializer);
2280                let mut var_bip353Address = <Option<String>>::sse_decode(deserializer);
2281                return crate::binding::InputType::LnUrlPay {
2282                    data: var_data,
2283                    bip353_address: var_bip353Address,
2284                };
2285            }
2286            5 => {
2287                let mut var_data =
2288                    <crate::binding::LnUrlWithdrawRequestData>::sse_decode(deserializer);
2289                return crate::binding::InputType::LnUrlWithdraw { data: var_data };
2290            }
2291            6 => {
2292                let mut var_data = <crate::binding::LnUrlAuthRequestData>::sse_decode(deserializer);
2293                return crate::binding::InputType::LnUrlAuth { data: var_data };
2294            }
2295            7 => {
2296                let mut var_data = <crate::binding::LnUrlErrorData>::sse_decode(deserializer);
2297                return crate::binding::InputType::LnUrlError { data: var_data };
2298            }
2299            _ => {
2300                unimplemented!("");
2301            }
2302        }
2303    }
2304}
2305
2306impl SseDecode for crate::breez_services::InvoicePaidDetails {
2307    // Codec=Sse (Serialization based), see doc to use other codecs
2308    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2309        let mut var_paymentHash = <String>::sse_decode(deserializer);
2310        let mut var_bolt11 = <String>::sse_decode(deserializer);
2311        let mut var_payment = <Option<crate::models::Payment>>::sse_decode(deserializer);
2312        return crate::breez_services::InvoicePaidDetails {
2313            payment_hash: var_paymentHash,
2314            bolt11: var_bolt11,
2315            payment: var_payment,
2316        };
2317    }
2318}
2319
2320impl SseDecode for Vec<String> {
2321    // Codec=Sse (Serialization based), see doc to use other codecs
2322    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2323        let mut len_ = <i32>::sse_decode(deserializer);
2324        let mut ans_ = vec![];
2325        for idx_ in 0..len_ {
2326            ans_.push(<String>::sse_decode(deserializer));
2327        }
2328        return ans_;
2329    }
2330}
2331
2332impl SseDecode for Vec<crate::binding::FiatCurrency> {
2333    // Codec=Sse (Serialization based), see doc to use other codecs
2334    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2335        let mut len_ = <i32>::sse_decode(deserializer);
2336        let mut ans_ = vec![];
2337        for idx_ in 0..len_ {
2338            ans_.push(<crate::binding::FiatCurrency>::sse_decode(deserializer));
2339        }
2340        return ans_;
2341    }
2342}
2343
2344impl SseDecode for Vec<crate::binding::LocaleOverrides> {
2345    // Codec=Sse (Serialization based), see doc to use other codecs
2346    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2347        let mut len_ = <i32>::sse_decode(deserializer);
2348        let mut ans_ = vec![];
2349        for idx_ in 0..len_ {
2350            ans_.push(<crate::binding::LocaleOverrides>::sse_decode(deserializer));
2351        }
2352        return ans_;
2353    }
2354}
2355
2356impl SseDecode for Vec<crate::binding::LocalizedName> {
2357    // Codec=Sse (Serialization based), see doc to use other codecs
2358    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2359        let mut len_ = <i32>::sse_decode(deserializer);
2360        let mut ans_ = vec![];
2361        for idx_ in 0..len_ {
2362            ans_.push(<crate::binding::LocalizedName>::sse_decode(deserializer));
2363        }
2364        return ans_;
2365    }
2366}
2367
2368impl SseDecode for Vec<crate::lsp::LspInformation> {
2369    // Codec=Sse (Serialization based), see doc to use other codecs
2370    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2371        let mut len_ = <i32>::sse_decode(deserializer);
2372        let mut ans_ = vec![];
2373        for idx_ in 0..len_ {
2374            ans_.push(<crate::lsp::LspInformation>::sse_decode(deserializer));
2375        }
2376        return ans_;
2377    }
2378}
2379
2380impl SseDecode for Vec<crate::models::MetadataFilter> {
2381    // Codec=Sse (Serialization based), see doc to use other codecs
2382    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2383        let mut len_ = <i32>::sse_decode(deserializer);
2384        let mut ans_ = vec![];
2385        for idx_ in 0..len_ {
2386            ans_.push(<crate::models::MetadataFilter>::sse_decode(deserializer));
2387        }
2388        return ans_;
2389    }
2390}
2391
2392impl SseDecode for Vec<crate::models::OpeningFeeParams> {
2393    // Codec=Sse (Serialization based), see doc to use other codecs
2394    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2395        let mut len_ = <i32>::sse_decode(deserializer);
2396        let mut ans_ = vec![];
2397        for idx_ in 0..len_ {
2398            ans_.push(<crate::models::OpeningFeeParams>::sse_decode(deserializer));
2399        }
2400        return ans_;
2401    }
2402}
2403
2404impl SseDecode for Vec<crate::models::Payment> {
2405    // Codec=Sse (Serialization based), see doc to use other codecs
2406    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2407        let mut len_ = <i32>::sse_decode(deserializer);
2408        let mut ans_ = vec![];
2409        for idx_ in 0..len_ {
2410            ans_.push(<crate::models::Payment>::sse_decode(deserializer));
2411        }
2412        return ans_;
2413    }
2414}
2415
2416impl SseDecode for Vec<crate::models::PaymentTypeFilter> {
2417    // Codec=Sse (Serialization based), see doc to use other codecs
2418    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2419        let mut len_ = <i32>::sse_decode(deserializer);
2420        let mut ans_ = vec![];
2421        for idx_ in 0..len_ {
2422            ans_.push(<crate::models::PaymentTypeFilter>::sse_decode(deserializer));
2423        }
2424        return ans_;
2425    }
2426}
2427
2428impl SseDecode for crate::models::ListPaymentsRequest {
2429    // Codec=Sse (Serialization based), see doc to use other codecs
2430    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2431        let mut var_filters =
2432            <Option<Vec<crate::models::PaymentTypeFilter>>>::sse_decode(deserializer);
2433        let mut var_metadataFilters =
2434            <Option<Vec<crate::models::MetadataFilter>>>::sse_decode(deserializer);
2435        let mut var_fromTimestamp = <Option<i64>>::sse_decode(deserializer);
2436        let mut var_toTimestamp = <Option<i64>>::sse_decode(deserializer);
2437        let mut var_includeFailures = <Option<bool>>::sse_decode(deserializer);
2438        let mut var_offset = <Option<u32>>::sse_decode(deserializer);
2439        let mut var_limit = <Option<u32>>::sse_decode(deserializer);
2440        return crate::models::ListPaymentsRequest {
2441            filters: var_filters,
2442            metadata_filters: var_metadataFilters,
2443            from_timestamp: var_fromTimestamp,
2444            to_timestamp: var_toTimestamp,
2445            include_failures: var_includeFailures,
2446            offset: var_offset,
2447            limit: var_limit,
2448        };
2449    }
2450}
2451
2452impl SseDecode for Vec<u8> {
2453    // Codec=Sse (Serialization based), see doc to use other codecs
2454    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2455        let mut len_ = <i32>::sse_decode(deserializer);
2456        let mut ans_ = vec![];
2457        for idx_ in 0..len_ {
2458            ans_.push(<u8>::sse_decode(deserializer));
2459        }
2460        return ans_;
2461    }
2462}
2463
2464impl SseDecode for Vec<crate::binding::Rate> {
2465    // Codec=Sse (Serialization based), see doc to use other codecs
2466    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2467        let mut len_ = <i32>::sse_decode(deserializer);
2468        let mut ans_ = vec![];
2469        for idx_ in 0..len_ {
2470            ans_.push(<crate::binding::Rate>::sse_decode(deserializer));
2471        }
2472        return ans_;
2473    }
2474}
2475
2476impl SseDecode for Vec<crate::models::ReverseSwapInfo> {
2477    // Codec=Sse (Serialization based), see doc to use other codecs
2478    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2479        let mut len_ = <i32>::sse_decode(deserializer);
2480        let mut ans_ = vec![];
2481        for idx_ in 0..len_ {
2482            ans_.push(<crate::models::ReverseSwapInfo>::sse_decode(deserializer));
2483        }
2484        return ans_;
2485    }
2486}
2487
2488impl SseDecode for Vec<crate::binding::RouteHint> {
2489    // Codec=Sse (Serialization based), see doc to use other codecs
2490    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2491        let mut len_ = <i32>::sse_decode(deserializer);
2492        let mut ans_ = vec![];
2493        for idx_ in 0..len_ {
2494            ans_.push(<crate::binding::RouteHint>::sse_decode(deserializer));
2495        }
2496        return ans_;
2497    }
2498}
2499
2500impl SseDecode for Vec<crate::binding::RouteHintHop> {
2501    // Codec=Sse (Serialization based), see doc to use other codecs
2502    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2503        let mut len_ = <i32>::sse_decode(deserializer);
2504        let mut ans_ = vec![];
2505        for idx_ in 0..len_ {
2506            ans_.push(<crate::binding::RouteHintHop>::sse_decode(deserializer));
2507        }
2508        return ans_;
2509    }
2510}
2511
2512impl SseDecode for Vec<crate::models::SwapInfo> {
2513    // Codec=Sse (Serialization based), see doc to use other codecs
2514    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2515        let mut len_ = <i32>::sse_decode(deserializer);
2516        let mut ans_ = vec![];
2517        for idx_ in 0..len_ {
2518            ans_.push(<crate::models::SwapInfo>::sse_decode(deserializer));
2519        }
2520        return ans_;
2521    }
2522}
2523
2524impl SseDecode for Vec<crate::models::SwapStatus> {
2525    // Codec=Sse (Serialization based), see doc to use other codecs
2526    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2527        let mut len_ = <i32>::sse_decode(deserializer);
2528        let mut ans_ = vec![];
2529        for idx_ in 0..len_ {
2530            ans_.push(<crate::models::SwapStatus>::sse_decode(deserializer));
2531        }
2532        return ans_;
2533    }
2534}
2535
2536impl SseDecode for crate::models::ListSwapsRequest {
2537    // Codec=Sse (Serialization based), see doc to use other codecs
2538    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2539        let mut var_status = <Option<Vec<crate::models::SwapStatus>>>::sse_decode(deserializer);
2540        let mut var_fromTimestamp = <Option<i64>>::sse_decode(deserializer);
2541        let mut var_toTimestamp = <Option<i64>>::sse_decode(deserializer);
2542        let mut var_offset = <Option<u32>>::sse_decode(deserializer);
2543        let mut var_limit = <Option<u32>>::sse_decode(deserializer);
2544        return crate::models::ListSwapsRequest {
2545            status: var_status,
2546            from_timestamp: var_fromTimestamp,
2547            to_timestamp: var_toTimestamp,
2548            offset: var_offset,
2549            limit: var_limit,
2550        };
2551    }
2552}
2553
2554impl SseDecode for Vec<crate::models::TlvEntry> {
2555    // Codec=Sse (Serialization based), see doc to use other codecs
2556    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2557        let mut len_ = <i32>::sse_decode(deserializer);
2558        let mut ans_ = vec![];
2559        for idx_ in 0..len_ {
2560            ans_.push(<crate::models::TlvEntry>::sse_decode(deserializer));
2561        }
2562        return ans_;
2563    }
2564}
2565
2566impl SseDecode for Vec<crate::models::UnspentTransactionOutput> {
2567    // Codec=Sse (Serialization based), see doc to use other codecs
2568    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2569        let mut len_ = <i32>::sse_decode(deserializer);
2570        let mut ans_ = vec![];
2571        for idx_ in 0..len_ {
2572            ans_.push(<crate::models::UnspentTransactionOutput>::sse_decode(
2573                deserializer,
2574            ));
2575        }
2576        return ans_;
2577    }
2578}
2579
2580impl SseDecode for crate::binding::LNInvoice {
2581    // Codec=Sse (Serialization based), see doc to use other codecs
2582    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2583        let mut var_bolt11 = <String>::sse_decode(deserializer);
2584        let mut var_network = <crate::binding::Network>::sse_decode(deserializer);
2585        let mut var_payeePubkey = <String>::sse_decode(deserializer);
2586        let mut var_paymentHash = <String>::sse_decode(deserializer);
2587        let mut var_description = <Option<String>>::sse_decode(deserializer);
2588        let mut var_descriptionHash = <Option<String>>::sse_decode(deserializer);
2589        let mut var_amountMsat = <Option<u64>>::sse_decode(deserializer);
2590        let mut var_timestamp = <u64>::sse_decode(deserializer);
2591        let mut var_expiry = <u64>::sse_decode(deserializer);
2592        let mut var_routingHints = <Vec<crate::binding::RouteHint>>::sse_decode(deserializer);
2593        let mut var_paymentSecret = <Vec<u8>>::sse_decode(deserializer);
2594        let mut var_minFinalCltvExpiryDelta = <u64>::sse_decode(deserializer);
2595        return crate::binding::LNInvoice {
2596            bolt11: var_bolt11,
2597            network: var_network,
2598            payee_pubkey: var_payeePubkey,
2599            payment_hash: var_paymentHash,
2600            description: var_description,
2601            description_hash: var_descriptionHash,
2602            amount_msat: var_amountMsat,
2603            timestamp: var_timestamp,
2604            expiry: var_expiry,
2605            routing_hints: var_routingHints,
2606            payment_secret: var_paymentSecret,
2607            min_final_cltv_expiry_delta: var_minFinalCltvExpiryDelta,
2608        };
2609    }
2610}
2611
2612impl SseDecode for crate::models::LnPaymentDetails {
2613    // Codec=Sse (Serialization based), see doc to use other codecs
2614    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2615        let mut var_paymentHash = <String>::sse_decode(deserializer);
2616        let mut var_label = <String>::sse_decode(deserializer);
2617        let mut var_destinationPubkey = <String>::sse_decode(deserializer);
2618        let mut var_paymentPreimage = <String>::sse_decode(deserializer);
2619        let mut var_keysend = <bool>::sse_decode(deserializer);
2620        let mut var_bolt11 = <String>::sse_decode(deserializer);
2621        let mut var_openChannelBolt11 = <Option<String>>::sse_decode(deserializer);
2622        let mut var_lnurlSuccessAction =
2623            <Option<crate::binding::SuccessActionProcessed>>::sse_decode(deserializer);
2624        let mut var_lnurlPayDomain = <Option<String>>::sse_decode(deserializer);
2625        let mut var_lnurlPayComment = <Option<String>>::sse_decode(deserializer);
2626        let mut var_lnAddress = <Option<String>>::sse_decode(deserializer);
2627        let mut var_lnurlMetadata = <Option<String>>::sse_decode(deserializer);
2628        let mut var_lnurlWithdrawEndpoint = <Option<String>>::sse_decode(deserializer);
2629        let mut var_swapInfo = <Option<crate::models::SwapInfo>>::sse_decode(deserializer);
2630        let mut var_reverseSwapInfo =
2631            <Option<crate::models::ReverseSwapInfo>>::sse_decode(deserializer);
2632        let mut var_pendingExpirationBlock = <Option<u32>>::sse_decode(deserializer);
2633        return crate::models::LnPaymentDetails {
2634            payment_hash: var_paymentHash,
2635            label: var_label,
2636            destination_pubkey: var_destinationPubkey,
2637            payment_preimage: var_paymentPreimage,
2638            keysend: var_keysend,
2639            bolt11: var_bolt11,
2640            open_channel_bolt11: var_openChannelBolt11,
2641            lnurl_success_action: var_lnurlSuccessAction,
2642            lnurl_pay_domain: var_lnurlPayDomain,
2643            lnurl_pay_comment: var_lnurlPayComment,
2644            ln_address: var_lnAddress,
2645            lnurl_metadata: var_lnurlMetadata,
2646            lnurl_withdraw_endpoint: var_lnurlWithdrawEndpoint,
2647            swap_info: var_swapInfo,
2648            reverse_swap_info: var_reverseSwapInfo,
2649            pending_expiration_block: var_pendingExpirationBlock,
2650        };
2651    }
2652}
2653
2654impl SseDecode for crate::binding::LnUrlAuthRequestData {
2655    // Codec=Sse (Serialization based), see doc to use other codecs
2656    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2657        let mut var_k1 = <String>::sse_decode(deserializer);
2658        let mut var_action = <Option<String>>::sse_decode(deserializer);
2659        let mut var_domain = <String>::sse_decode(deserializer);
2660        let mut var_url = <String>::sse_decode(deserializer);
2661        return crate::binding::LnUrlAuthRequestData {
2662            k1: var_k1,
2663            action: var_action,
2664            domain: var_domain,
2665            url: var_url,
2666        };
2667    }
2668}
2669
2670impl SseDecode for crate::binding::LnUrlCallbackStatus {
2671    // Codec=Sse (Serialization based), see doc to use other codecs
2672    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2673        let mut tag_ = <i32>::sse_decode(deserializer);
2674        match tag_ {
2675            0 => {
2676                return crate::binding::LnUrlCallbackStatus::Ok;
2677            }
2678            1 => {
2679                let mut var_data = <crate::binding::LnUrlErrorData>::sse_decode(deserializer);
2680                return crate::binding::LnUrlCallbackStatus::ErrorStatus { data: var_data };
2681            }
2682            _ => {
2683                unimplemented!("");
2684            }
2685        }
2686    }
2687}
2688
2689impl SseDecode for crate::binding::LnUrlErrorData {
2690    // Codec=Sse (Serialization based), see doc to use other codecs
2691    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2692        let mut var_reason = <String>::sse_decode(deserializer);
2693        return crate::binding::LnUrlErrorData { reason: var_reason };
2694    }
2695}
2696
2697impl SseDecode for crate::binding::LnUrlPayErrorData {
2698    // Codec=Sse (Serialization based), see doc to use other codecs
2699    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2700        let mut var_paymentHash = <String>::sse_decode(deserializer);
2701        let mut var_reason = <String>::sse_decode(deserializer);
2702        return crate::binding::LnUrlPayErrorData {
2703            payment_hash: var_paymentHash,
2704            reason: var_reason,
2705        };
2706    }
2707}
2708
2709impl SseDecode for crate::binding::LnUrlPayRequest {
2710    // Codec=Sse (Serialization based), see doc to use other codecs
2711    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2712        let mut var_data = <crate::binding::LnUrlPayRequestData>::sse_decode(deserializer);
2713        let mut var_amountMsat = <u64>::sse_decode(deserializer);
2714        let mut var_useTrampoline = <bool>::sse_decode(deserializer);
2715        let mut var_comment = <Option<String>>::sse_decode(deserializer);
2716        let mut var_paymentLabel = <Option<String>>::sse_decode(deserializer);
2717        let mut var_validateSuccessActionUrl = <Option<bool>>::sse_decode(deserializer);
2718        return crate::binding::LnUrlPayRequest {
2719            data: var_data,
2720            amount_msat: var_amountMsat,
2721            use_trampoline: var_useTrampoline,
2722            comment: var_comment,
2723            payment_label: var_paymentLabel,
2724            validate_success_action_url: var_validateSuccessActionUrl,
2725        };
2726    }
2727}
2728
2729impl SseDecode for crate::binding::LnUrlPayRequestData {
2730    // Codec=Sse (Serialization based), see doc to use other codecs
2731    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2732        let mut var_callback = <String>::sse_decode(deserializer);
2733        let mut var_minSendable = <u64>::sse_decode(deserializer);
2734        let mut var_maxSendable = <u64>::sse_decode(deserializer);
2735        let mut var_metadataStr = <String>::sse_decode(deserializer);
2736        let mut var_commentAllowed = <u16>::sse_decode(deserializer);
2737        let mut var_domain = <String>::sse_decode(deserializer);
2738        let mut var_allowsNostr = <bool>::sse_decode(deserializer);
2739        let mut var_nostrPubkey = <Option<String>>::sse_decode(deserializer);
2740        let mut var_lnAddress = <Option<String>>::sse_decode(deserializer);
2741        return crate::binding::LnUrlPayRequestData {
2742            callback: var_callback,
2743            min_sendable: var_minSendable,
2744            max_sendable: var_maxSendable,
2745            metadata_str: var_metadataStr,
2746            comment_allowed: var_commentAllowed,
2747            domain: var_domain,
2748            allows_nostr: var_allowsNostr,
2749            nostr_pubkey: var_nostrPubkey,
2750            ln_address: var_lnAddress,
2751        };
2752    }
2753}
2754
2755impl SseDecode for crate::lnurl::pay::LnUrlPayResult {
2756    // Codec=Sse (Serialization based), see doc to use other codecs
2757    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2758        let mut tag_ = <i32>::sse_decode(deserializer);
2759        match tag_ {
2760            0 => {
2761                let mut var_data =
2762                    <crate::lnurl::pay::LnUrlPaySuccessData>::sse_decode(deserializer);
2763                return crate::lnurl::pay::LnUrlPayResult::EndpointSuccess { data: var_data };
2764            }
2765            1 => {
2766                let mut var_data = <crate::binding::LnUrlErrorData>::sse_decode(deserializer);
2767                return crate::lnurl::pay::LnUrlPayResult::EndpointError { data: var_data };
2768            }
2769            2 => {
2770                let mut var_data = <crate::binding::LnUrlPayErrorData>::sse_decode(deserializer);
2771                return crate::lnurl::pay::LnUrlPayResult::PayError { data: var_data };
2772            }
2773            _ => {
2774                unimplemented!("");
2775            }
2776        }
2777    }
2778}
2779
2780impl SseDecode for crate::lnurl::pay::LnUrlPaySuccessData {
2781    // Codec=Sse (Serialization based), see doc to use other codecs
2782    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2783        let mut var_payment = <crate::models::Payment>::sse_decode(deserializer);
2784        let mut var_successAction =
2785            <Option<crate::binding::SuccessActionProcessed>>::sse_decode(deserializer);
2786        return crate::lnurl::pay::LnUrlPaySuccessData {
2787            payment: var_payment,
2788            success_action: var_successAction,
2789        };
2790    }
2791}
2792
2793impl SseDecode for crate::binding::LnUrlWithdrawRequest {
2794    // Codec=Sse (Serialization based), see doc to use other codecs
2795    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2796        let mut var_data = <crate::binding::LnUrlWithdrawRequestData>::sse_decode(deserializer);
2797        let mut var_amountMsat = <u64>::sse_decode(deserializer);
2798        let mut var_description = <Option<String>>::sse_decode(deserializer);
2799        return crate::binding::LnUrlWithdrawRequest {
2800            data: var_data,
2801            amount_msat: var_amountMsat,
2802            description: var_description,
2803        };
2804    }
2805}
2806
2807impl SseDecode for crate::binding::LnUrlWithdrawRequestData {
2808    // Codec=Sse (Serialization based), see doc to use other codecs
2809    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2810        let mut var_callback = <String>::sse_decode(deserializer);
2811        let mut var_k1 = <String>::sse_decode(deserializer);
2812        let mut var_defaultDescription = <String>::sse_decode(deserializer);
2813        let mut var_minWithdrawable = <u64>::sse_decode(deserializer);
2814        let mut var_maxWithdrawable = <u64>::sse_decode(deserializer);
2815        return crate::binding::LnUrlWithdrawRequestData {
2816            callback: var_callback,
2817            k1: var_k1,
2818            default_description: var_defaultDescription,
2819            min_withdrawable: var_minWithdrawable,
2820            max_withdrawable: var_maxWithdrawable,
2821        };
2822    }
2823}
2824
2825impl SseDecode for crate::binding::LnUrlWithdrawResult {
2826    // Codec=Sse (Serialization based), see doc to use other codecs
2827    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2828        let mut tag_ = <i32>::sse_decode(deserializer);
2829        match tag_ {
2830            0 => {
2831                let mut var_data =
2832                    <crate::binding::LnUrlWithdrawSuccessData>::sse_decode(deserializer);
2833                return crate::binding::LnUrlWithdrawResult::Ok { data: var_data };
2834            }
2835            1 => {
2836                let mut var_data =
2837                    <crate::binding::LnUrlWithdrawSuccessData>::sse_decode(deserializer);
2838                return crate::binding::LnUrlWithdrawResult::Timeout { data: var_data };
2839            }
2840            2 => {
2841                let mut var_data = <crate::binding::LnUrlErrorData>::sse_decode(deserializer);
2842                return crate::binding::LnUrlWithdrawResult::ErrorStatus { data: var_data };
2843            }
2844            _ => {
2845                unimplemented!("");
2846            }
2847        }
2848    }
2849}
2850
2851impl SseDecode for crate::binding::LnUrlWithdrawSuccessData {
2852    // Codec=Sse (Serialization based), see doc to use other codecs
2853    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2854        let mut var_invoice = <crate::binding::LNInvoice>::sse_decode(deserializer);
2855        return crate::binding::LnUrlWithdrawSuccessData {
2856            invoice: var_invoice,
2857        };
2858    }
2859}
2860
2861impl SseDecode for crate::binding::LocaleOverrides {
2862    // Codec=Sse (Serialization based), see doc to use other codecs
2863    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2864        let mut var_locale = <String>::sse_decode(deserializer);
2865        let mut var_spacing = <Option<u32>>::sse_decode(deserializer);
2866        let mut var_symbol = <crate::binding::Symbol>::sse_decode(deserializer);
2867        return crate::binding::LocaleOverrides {
2868            locale: var_locale,
2869            spacing: var_spacing,
2870            symbol: var_symbol,
2871        };
2872    }
2873}
2874
2875impl SseDecode for crate::binding::LocalizedName {
2876    // Codec=Sse (Serialization based), see doc to use other codecs
2877    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2878        let mut var_locale = <String>::sse_decode(deserializer);
2879        let mut var_name = <String>::sse_decode(deserializer);
2880        return crate::binding::LocalizedName {
2881            locale: var_locale,
2882            name: var_name,
2883        };
2884    }
2885}
2886
2887impl SseDecode for crate::models::LogEntry {
2888    // Codec=Sse (Serialization based), see doc to use other codecs
2889    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2890        let mut var_line = <String>::sse_decode(deserializer);
2891        let mut var_level = <String>::sse_decode(deserializer);
2892        return crate::models::LogEntry {
2893            line: var_line,
2894            level: var_level,
2895        };
2896    }
2897}
2898
2899impl SseDecode for crate::lsp::LspInformation {
2900    // Codec=Sse (Serialization based), see doc to use other codecs
2901    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2902        let mut var_id = <String>::sse_decode(deserializer);
2903        let mut var_name = <String>::sse_decode(deserializer);
2904        let mut var_widgetUrl = <String>::sse_decode(deserializer);
2905        let mut var_pubkey = <String>::sse_decode(deserializer);
2906        let mut var_host = <String>::sse_decode(deserializer);
2907        let mut var_baseFeeMsat = <i64>::sse_decode(deserializer);
2908        let mut var_feeRate = <f64>::sse_decode(deserializer);
2909        let mut var_timeLockDelta = <u32>::sse_decode(deserializer);
2910        let mut var_minHtlcMsat = <i64>::sse_decode(deserializer);
2911        let mut var_lspPubkey = <Vec<u8>>::sse_decode(deserializer);
2912        let mut var_openingFeeParamsList =
2913            <crate::models::OpeningFeeParamsMenu>::sse_decode(deserializer);
2914        return crate::lsp::LspInformation {
2915            id: var_id,
2916            name: var_name,
2917            widget_url: var_widgetUrl,
2918            pubkey: var_pubkey,
2919            host: var_host,
2920            base_fee_msat: var_baseFeeMsat,
2921            fee_rate: var_feeRate,
2922            time_lock_delta: var_timeLockDelta,
2923            min_htlc_msat: var_minHtlcMsat,
2924            lsp_pubkey: var_lspPubkey,
2925            opening_fee_params_list: var_openingFeeParamsList,
2926        };
2927    }
2928}
2929
2930impl SseDecode for crate::binding::MessageSuccessActionData {
2931    // Codec=Sse (Serialization based), see doc to use other codecs
2932    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2933        let mut var_message = <String>::sse_decode(deserializer);
2934        return crate::binding::MessageSuccessActionData {
2935            message: var_message,
2936        };
2937    }
2938}
2939
2940impl SseDecode for crate::models::MetadataFilter {
2941    // Codec=Sse (Serialization based), see doc to use other codecs
2942    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2943        let mut var_jsonPath = <String>::sse_decode(deserializer);
2944        let mut var_jsonValue = <String>::sse_decode(deserializer);
2945        return crate::models::MetadataFilter {
2946            json_path: var_jsonPath,
2947            json_value: var_jsonValue,
2948        };
2949    }
2950}
2951
2952impl SseDecode for crate::binding::Network {
2953    // Codec=Sse (Serialization based), see doc to use other codecs
2954    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2955        let mut inner = <i32>::sse_decode(deserializer);
2956        return match inner {
2957            0 => crate::binding::Network::Bitcoin,
2958            1 => crate::binding::Network::Testnet,
2959            2 => crate::binding::Network::Signet,
2960            3 => crate::binding::Network::Regtest,
2961            _ => unreachable!("Invalid variant for Network: {}", inner),
2962        };
2963    }
2964}
2965
2966impl SseDecode for crate::models::NodeConfig {
2967    // Codec=Sse (Serialization based), see doc to use other codecs
2968    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2969        let mut tag_ = <i32>::sse_decode(deserializer);
2970        match tag_ {
2971            0 => {
2972                let mut var_config =
2973                    <crate::models::GreenlightNodeConfig>::sse_decode(deserializer);
2974                return crate::models::NodeConfig::Greenlight { config: var_config };
2975            }
2976            _ => {
2977                unimplemented!("");
2978            }
2979        }
2980    }
2981}
2982
2983impl SseDecode for crate::models::NodeCredentials {
2984    // Codec=Sse (Serialization based), see doc to use other codecs
2985    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2986        let mut tag_ = <i32>::sse_decode(deserializer);
2987        match tag_ {
2988            0 => {
2989                let mut var_credentials =
2990                    <crate::models::GreenlightDeviceCredentials>::sse_decode(deserializer);
2991                return crate::models::NodeCredentials::Greenlight {
2992                    credentials: var_credentials,
2993                };
2994            }
2995            _ => {
2996                unimplemented!("");
2997            }
2998        }
2999    }
3000}
3001
3002impl SseDecode for crate::models::NodeState {
3003    // Codec=Sse (Serialization based), see doc to use other codecs
3004    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3005        let mut var_id = <String>::sse_decode(deserializer);
3006        let mut var_blockHeight = <u32>::sse_decode(deserializer);
3007        let mut var_channelsBalanceMsat = <u64>::sse_decode(deserializer);
3008        let mut var_onchainBalanceMsat = <u64>::sse_decode(deserializer);
3009        let mut var_pendingOnchainBalanceMsat = <u64>::sse_decode(deserializer);
3010        let mut var_utxos =
3011            <Vec<crate::models::UnspentTransactionOutput>>::sse_decode(deserializer);
3012        let mut var_maxPayableMsat = <u64>::sse_decode(deserializer);
3013        let mut var_maxReceivableMsat = <u64>::sse_decode(deserializer);
3014        let mut var_maxSinglePaymentAmountMsat = <u64>::sse_decode(deserializer);
3015        let mut var_maxChanReserveMsats = <u64>::sse_decode(deserializer);
3016        let mut var_connectedPeers = <Vec<String>>::sse_decode(deserializer);
3017        let mut var_maxReceivableSinglePaymentAmountMsat = <u64>::sse_decode(deserializer);
3018        let mut var_totalInboundLiquidityMsats = <u64>::sse_decode(deserializer);
3019        return crate::models::NodeState {
3020            id: var_id,
3021            block_height: var_blockHeight,
3022            channels_balance_msat: var_channelsBalanceMsat,
3023            onchain_balance_msat: var_onchainBalanceMsat,
3024            pending_onchain_balance_msat: var_pendingOnchainBalanceMsat,
3025            utxos: var_utxos,
3026            max_payable_msat: var_maxPayableMsat,
3027            max_receivable_msat: var_maxReceivableMsat,
3028            max_single_payment_amount_msat: var_maxSinglePaymentAmountMsat,
3029            max_chan_reserve_msats: var_maxChanReserveMsats,
3030            connected_peers: var_connectedPeers,
3031            max_receivable_single_payment_amount_msat: var_maxReceivableSinglePaymentAmountMsat,
3032            total_inbound_liquidity_msats: var_totalInboundLiquidityMsats,
3033        };
3034    }
3035}
3036
3037impl SseDecode for crate::models::OnchainPaymentLimitsResponse {
3038    // Codec=Sse (Serialization based), see doc to use other codecs
3039    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3040        let mut var_minSat = <u64>::sse_decode(deserializer);
3041        let mut var_maxSat = <u64>::sse_decode(deserializer);
3042        let mut var_maxPayableSat = <u64>::sse_decode(deserializer);
3043        return crate::models::OnchainPaymentLimitsResponse {
3044            min_sat: var_minSat,
3045            max_sat: var_maxSat,
3046            max_payable_sat: var_maxPayableSat,
3047        };
3048    }
3049}
3050
3051impl SseDecode for crate::models::OpenChannelFeeRequest {
3052    // Codec=Sse (Serialization based), see doc to use other codecs
3053    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3054        let mut var_amountMsat = <Option<u64>>::sse_decode(deserializer);
3055        let mut var_expiry = <Option<u32>>::sse_decode(deserializer);
3056        return crate::models::OpenChannelFeeRequest {
3057            amount_msat: var_amountMsat,
3058            expiry: var_expiry,
3059        };
3060    }
3061}
3062
3063impl SseDecode for crate::models::OpenChannelFeeResponse {
3064    // Codec=Sse (Serialization based), see doc to use other codecs
3065    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3066        let mut var_feeMsat = <Option<u64>>::sse_decode(deserializer);
3067        let mut var_feeParams = <crate::models::OpeningFeeParams>::sse_decode(deserializer);
3068        return crate::models::OpenChannelFeeResponse {
3069            fee_msat: var_feeMsat,
3070            fee_params: var_feeParams,
3071        };
3072    }
3073}
3074
3075impl SseDecode for crate::models::OpeningFeeParams {
3076    // Codec=Sse (Serialization based), see doc to use other codecs
3077    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3078        let mut var_minMsat = <u64>::sse_decode(deserializer);
3079        let mut var_proportional = <u32>::sse_decode(deserializer);
3080        let mut var_validUntil = <String>::sse_decode(deserializer);
3081        let mut var_maxIdleTime = <u32>::sse_decode(deserializer);
3082        let mut var_maxClientToSelfDelay = <u32>::sse_decode(deserializer);
3083        let mut var_promise = <String>::sse_decode(deserializer);
3084        return crate::models::OpeningFeeParams {
3085            min_msat: var_minMsat,
3086            proportional: var_proportional,
3087            valid_until: var_validUntil,
3088            max_idle_time: var_maxIdleTime,
3089            max_client_to_self_delay: var_maxClientToSelfDelay,
3090            promise: var_promise,
3091        };
3092    }
3093}
3094
3095impl SseDecode for crate::models::OpeningFeeParamsMenu {
3096    // Codec=Sse (Serialization based), see doc to use other codecs
3097    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3098        let mut var_values = <Vec<crate::models::OpeningFeeParams>>::sse_decode(deserializer);
3099        return crate::models::OpeningFeeParamsMenu { values: var_values };
3100    }
3101}
3102
3103impl SseDecode for Option<String> {
3104    // Codec=Sse (Serialization based), see doc to use other codecs
3105    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3106        if (<bool>::sse_decode(deserializer)) {
3107            return Some(<String>::sse_decode(deserializer));
3108        } else {
3109            return None;
3110        }
3111    }
3112}
3113
3114impl SseDecode for Option<bool> {
3115    // Codec=Sse (Serialization based), see doc to use other codecs
3116    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3117        if (<bool>::sse_decode(deserializer)) {
3118            return Some(<bool>::sse_decode(deserializer));
3119        } else {
3120            return None;
3121        }
3122    }
3123}
3124
3125impl SseDecode for Option<crate::models::GreenlightCredentials> {
3126    // Codec=Sse (Serialization based), see doc to use other codecs
3127    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3128        if (<bool>::sse_decode(deserializer)) {
3129            return Some(<crate::models::GreenlightCredentials>::sse_decode(
3130                deserializer,
3131            ));
3132        } else {
3133            return None;
3134        }
3135    }
3136}
3137
3138impl SseDecode for Option<i64> {
3139    // Codec=Sse (Serialization based), see doc to use other codecs
3140    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3141        if (<bool>::sse_decode(deserializer)) {
3142            return Some(<i64>::sse_decode(deserializer));
3143        } else {
3144            return None;
3145        }
3146    }
3147}
3148
3149impl SseDecode for Option<crate::binding::LNInvoice> {
3150    // Codec=Sse (Serialization based), see doc to use other codecs
3151    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3152        if (<bool>::sse_decode(deserializer)) {
3153            return Some(<crate::binding::LNInvoice>::sse_decode(deserializer));
3154        } else {
3155            return None;
3156        }
3157    }
3158}
3159
3160impl SseDecode for Option<crate::lsp::LspInformation> {
3161    // Codec=Sse (Serialization based), see doc to use other codecs
3162    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3163        if (<bool>::sse_decode(deserializer)) {
3164            return Some(<crate::lsp::LspInformation>::sse_decode(deserializer));
3165        } else {
3166            return None;
3167        }
3168    }
3169}
3170
3171impl SseDecode for Option<crate::models::NodeCredentials> {
3172    // Codec=Sse (Serialization based), see doc to use other codecs
3173    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3174        if (<bool>::sse_decode(deserializer)) {
3175            return Some(<crate::models::NodeCredentials>::sse_decode(deserializer));
3176        } else {
3177            return None;
3178        }
3179    }
3180}
3181
3182impl SseDecode for Option<crate::models::OpeningFeeParams> {
3183    // Codec=Sse (Serialization based), see doc to use other codecs
3184    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3185        if (<bool>::sse_decode(deserializer)) {
3186            return Some(<crate::models::OpeningFeeParams>::sse_decode(deserializer));
3187        } else {
3188            return None;
3189        }
3190    }
3191}
3192
3193impl SseDecode for Option<crate::models::Payment> {
3194    // Codec=Sse (Serialization based), see doc to use other codecs
3195    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3196        if (<bool>::sse_decode(deserializer)) {
3197            return Some(<crate::models::Payment>::sse_decode(deserializer));
3198        } else {
3199            return None;
3200        }
3201    }
3202}
3203
3204impl SseDecode for Option<crate::models::ReverseSwapInfo> {
3205    // Codec=Sse (Serialization based), see doc to use other codecs
3206    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3207        if (<bool>::sse_decode(deserializer)) {
3208            return Some(<crate::models::ReverseSwapInfo>::sse_decode(deserializer));
3209        } else {
3210            return None;
3211        }
3212    }
3213}
3214
3215impl SseDecode for Option<crate::binding::SuccessActionProcessed> {
3216    // Codec=Sse (Serialization based), see doc to use other codecs
3217    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3218        if (<bool>::sse_decode(deserializer)) {
3219            return Some(<crate::binding::SuccessActionProcessed>::sse_decode(
3220                deserializer,
3221            ));
3222        } else {
3223            return None;
3224        }
3225    }
3226}
3227
3228impl SseDecode for Option<crate::models::SwapInfo> {
3229    // Codec=Sse (Serialization based), see doc to use other codecs
3230    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3231        if (<bool>::sse_decode(deserializer)) {
3232            return Some(<crate::models::SwapInfo>::sse_decode(deserializer));
3233        } else {
3234            return None;
3235        }
3236    }
3237}
3238
3239impl SseDecode for Option<crate::binding::Symbol> {
3240    // Codec=Sse (Serialization based), see doc to use other codecs
3241    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3242        if (<bool>::sse_decode(deserializer)) {
3243            return Some(<crate::binding::Symbol>::sse_decode(deserializer));
3244        } else {
3245            return None;
3246        }
3247    }
3248}
3249
3250impl SseDecode for Option<u32> {
3251    // Codec=Sse (Serialization based), see doc to use other codecs
3252    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3253        if (<bool>::sse_decode(deserializer)) {
3254            return Some(<u32>::sse_decode(deserializer));
3255        } else {
3256            return None;
3257        }
3258    }
3259}
3260
3261impl SseDecode for Option<u64> {
3262    // Codec=Sse (Serialization based), see doc to use other codecs
3263    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3264        if (<bool>::sse_decode(deserializer)) {
3265            return Some(<u64>::sse_decode(deserializer));
3266        } else {
3267            return None;
3268        }
3269    }
3270}
3271
3272impl SseDecode for Option<Vec<String>> {
3273    // Codec=Sse (Serialization based), see doc to use other codecs
3274    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3275        if (<bool>::sse_decode(deserializer)) {
3276            return Some(<Vec<String>>::sse_decode(deserializer));
3277        } else {
3278            return None;
3279        }
3280    }
3281}
3282
3283impl SseDecode for Option<Vec<crate::models::MetadataFilter>> {
3284    // Codec=Sse (Serialization based), see doc to use other codecs
3285    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3286        if (<bool>::sse_decode(deserializer)) {
3287            return Some(<Vec<crate::models::MetadataFilter>>::sse_decode(
3288                deserializer,
3289            ));
3290        } else {
3291            return None;
3292        }
3293    }
3294}
3295
3296impl SseDecode for Option<Vec<crate::models::PaymentTypeFilter>> {
3297    // Codec=Sse (Serialization based), see doc to use other codecs
3298    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3299        if (<bool>::sse_decode(deserializer)) {
3300            return Some(<Vec<crate::models::PaymentTypeFilter>>::sse_decode(
3301                deserializer,
3302            ));
3303        } else {
3304            return None;
3305        }
3306    }
3307}
3308
3309impl SseDecode for Option<Vec<u8>> {
3310    // Codec=Sse (Serialization based), see doc to use other codecs
3311    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3312        if (<bool>::sse_decode(deserializer)) {
3313            return Some(<Vec<u8>>::sse_decode(deserializer));
3314        } else {
3315            return None;
3316        }
3317    }
3318}
3319
3320impl SseDecode for Option<Vec<crate::models::SwapStatus>> {
3321    // Codec=Sse (Serialization based), see doc to use other codecs
3322    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3323        if (<bool>::sse_decode(deserializer)) {
3324            return Some(<Vec<crate::models::SwapStatus>>::sse_decode(deserializer));
3325        } else {
3326            return None;
3327        }
3328    }
3329}
3330
3331impl SseDecode for Option<Vec<crate::models::TlvEntry>> {
3332    // Codec=Sse (Serialization based), see doc to use other codecs
3333    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3334        if (<bool>::sse_decode(deserializer)) {
3335            return Some(<Vec<crate::models::TlvEntry>>::sse_decode(deserializer));
3336        } else {
3337            return None;
3338        }
3339    }
3340}
3341
3342impl SseDecode for crate::models::PayOnchainRequest {
3343    // Codec=Sse (Serialization based), see doc to use other codecs
3344    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3345        let mut var_recipientAddress = <String>::sse_decode(deserializer);
3346        let mut var_prepareRes =
3347            <crate::models::PrepareOnchainPaymentResponse>::sse_decode(deserializer);
3348        return crate::models::PayOnchainRequest {
3349            recipient_address: var_recipientAddress,
3350            prepare_res: var_prepareRes,
3351        };
3352    }
3353}
3354
3355impl SseDecode for crate::models::PayOnchainResponse {
3356    // Codec=Sse (Serialization based), see doc to use other codecs
3357    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3358        let mut var_reverseSwapInfo = <crate::models::ReverseSwapInfo>::sse_decode(deserializer);
3359        return crate::models::PayOnchainResponse {
3360            reverse_swap_info: var_reverseSwapInfo,
3361        };
3362    }
3363}
3364
3365impl SseDecode for crate::models::Payment {
3366    // Codec=Sse (Serialization based), see doc to use other codecs
3367    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3368        let mut var_id = <String>::sse_decode(deserializer);
3369        let mut var_paymentType = <crate::models::PaymentType>::sse_decode(deserializer);
3370        let mut var_paymentTime = <i64>::sse_decode(deserializer);
3371        let mut var_amountMsat = <u64>::sse_decode(deserializer);
3372        let mut var_feeMsat = <u64>::sse_decode(deserializer);
3373        let mut var_status = <crate::models::PaymentStatus>::sse_decode(deserializer);
3374        let mut var_error = <Option<String>>::sse_decode(deserializer);
3375        let mut var_description = <Option<String>>::sse_decode(deserializer);
3376        let mut var_details = <crate::models::PaymentDetails>::sse_decode(deserializer);
3377        let mut var_metadata = <Option<String>>::sse_decode(deserializer);
3378        return crate::models::Payment {
3379            id: var_id,
3380            payment_type: var_paymentType,
3381            payment_time: var_paymentTime,
3382            amount_msat: var_amountMsat,
3383            fee_msat: var_feeMsat,
3384            status: var_status,
3385            error: var_error,
3386            description: var_description,
3387            details: var_details,
3388            metadata: var_metadata,
3389        };
3390    }
3391}
3392
3393impl SseDecode for crate::models::PaymentDetails {
3394    // Codec=Sse (Serialization based), see doc to use other codecs
3395    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3396        let mut tag_ = <i32>::sse_decode(deserializer);
3397        match tag_ {
3398            0 => {
3399                let mut var_data = <crate::models::LnPaymentDetails>::sse_decode(deserializer);
3400                return crate::models::PaymentDetails::Ln { data: var_data };
3401            }
3402            1 => {
3403                let mut var_data =
3404                    <crate::models::ClosedChannelPaymentDetails>::sse_decode(deserializer);
3405                return crate::models::PaymentDetails::ClosedChannel { data: var_data };
3406            }
3407            _ => {
3408                unimplemented!("");
3409            }
3410        }
3411    }
3412}
3413
3414impl SseDecode for crate::breez_services::PaymentFailedData {
3415    // Codec=Sse (Serialization based), see doc to use other codecs
3416    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3417        let mut var_error = <String>::sse_decode(deserializer);
3418        let mut var_nodeId = <String>::sse_decode(deserializer);
3419        let mut var_invoice = <Option<crate::binding::LNInvoice>>::sse_decode(deserializer);
3420        let mut var_label = <Option<String>>::sse_decode(deserializer);
3421        return crate::breez_services::PaymentFailedData {
3422            error: var_error,
3423            node_id: var_nodeId,
3424            invoice: var_invoice,
3425            label: var_label,
3426        };
3427    }
3428}
3429
3430impl SseDecode for crate::models::PaymentStatus {
3431    // Codec=Sse (Serialization based), see doc to use other codecs
3432    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3433        let mut inner = <i32>::sse_decode(deserializer);
3434        return match inner {
3435            0 => crate::models::PaymentStatus::Pending,
3436            1 => crate::models::PaymentStatus::Complete,
3437            2 => crate::models::PaymentStatus::Failed,
3438            _ => unreachable!("Invalid variant for PaymentStatus: {}", inner),
3439        };
3440    }
3441}
3442
3443impl SseDecode for crate::models::PaymentType {
3444    // Codec=Sse (Serialization based), see doc to use other codecs
3445    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3446        let mut inner = <i32>::sse_decode(deserializer);
3447        return match inner {
3448            0 => crate::models::PaymentType::Sent,
3449            1 => crate::models::PaymentType::Received,
3450            2 => crate::models::PaymentType::ClosedChannel,
3451            _ => unreachable!("Invalid variant for PaymentType: {}", inner),
3452        };
3453    }
3454}
3455
3456impl SseDecode for crate::models::PaymentTypeFilter {
3457    // Codec=Sse (Serialization based), see doc to use other codecs
3458    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3459        let mut inner = <i32>::sse_decode(deserializer);
3460        return match inner {
3461            0 => crate::models::PaymentTypeFilter::Sent,
3462            1 => crate::models::PaymentTypeFilter::Received,
3463            2 => crate::models::PaymentTypeFilter::ClosedChannel,
3464            _ => unreachable!("Invalid variant for PaymentTypeFilter: {}", inner),
3465        };
3466    }
3467}
3468
3469impl SseDecode for crate::models::PrepareOnchainPaymentRequest {
3470    // Codec=Sse (Serialization based), see doc to use other codecs
3471    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3472        let mut var_amountSat = <u64>::sse_decode(deserializer);
3473        let mut var_amountType = <crate::models::SwapAmountType>::sse_decode(deserializer);
3474        let mut var_claimTxFeerate = <u32>::sse_decode(deserializer);
3475        return crate::models::PrepareOnchainPaymentRequest {
3476            amount_sat: var_amountSat,
3477            amount_type: var_amountType,
3478            claim_tx_feerate: var_claimTxFeerate,
3479        };
3480    }
3481}
3482
3483impl SseDecode for crate::models::PrepareOnchainPaymentResponse {
3484    // Codec=Sse (Serialization based), see doc to use other codecs
3485    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3486        let mut var_feesHash = <String>::sse_decode(deserializer);
3487        let mut var_feesPercentage = <f64>::sse_decode(deserializer);
3488        let mut var_feesLockup = <u64>::sse_decode(deserializer);
3489        let mut var_feesClaim = <u64>::sse_decode(deserializer);
3490        let mut var_senderAmountSat = <u64>::sse_decode(deserializer);
3491        let mut var_recipientAmountSat = <u64>::sse_decode(deserializer);
3492        let mut var_totalFees = <u64>::sse_decode(deserializer);
3493        return crate::models::PrepareOnchainPaymentResponse {
3494            fees_hash: var_feesHash,
3495            fees_percentage: var_feesPercentage,
3496            fees_lockup: var_feesLockup,
3497            fees_claim: var_feesClaim,
3498            sender_amount_sat: var_senderAmountSat,
3499            recipient_amount_sat: var_recipientAmountSat,
3500            total_fees: var_totalFees,
3501        };
3502    }
3503}
3504
3505impl SseDecode for crate::models::PrepareRedeemOnchainFundsRequest {
3506    // Codec=Sse (Serialization based), see doc to use other codecs
3507    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3508        let mut var_toAddress = <String>::sse_decode(deserializer);
3509        let mut var_satPerVbyte = <u32>::sse_decode(deserializer);
3510        return crate::models::PrepareRedeemOnchainFundsRequest {
3511            to_address: var_toAddress,
3512            sat_per_vbyte: var_satPerVbyte,
3513        };
3514    }
3515}
3516
3517impl SseDecode for crate::models::PrepareRedeemOnchainFundsResponse {
3518    // Codec=Sse (Serialization based), see doc to use other codecs
3519    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3520        let mut var_txWeight = <u64>::sse_decode(deserializer);
3521        let mut var_txFeeSat = <u64>::sse_decode(deserializer);
3522        return crate::models::PrepareRedeemOnchainFundsResponse {
3523            tx_weight: var_txWeight,
3524            tx_fee_sat: var_txFeeSat,
3525        };
3526    }
3527}
3528
3529impl SseDecode for crate::models::PrepareRefundRequest {
3530    // Codec=Sse (Serialization based), see doc to use other codecs
3531    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3532        let mut var_swapAddress = <String>::sse_decode(deserializer);
3533        let mut var_toAddress = <String>::sse_decode(deserializer);
3534        let mut var_satPerVbyte = <u32>::sse_decode(deserializer);
3535        let mut var_unilateral = <Option<bool>>::sse_decode(deserializer);
3536        return crate::models::PrepareRefundRequest {
3537            swap_address: var_swapAddress,
3538            to_address: var_toAddress,
3539            sat_per_vbyte: var_satPerVbyte,
3540            unilateral: var_unilateral,
3541        };
3542    }
3543}
3544
3545impl SseDecode for crate::models::PrepareRefundResponse {
3546    // Codec=Sse (Serialization based), see doc to use other codecs
3547    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3548        let mut var_refundTxWeight = <u32>::sse_decode(deserializer);
3549        let mut var_refundTxFeeSat = <u64>::sse_decode(deserializer);
3550        return crate::models::PrepareRefundResponse {
3551            refund_tx_weight: var_refundTxWeight,
3552            refund_tx_fee_sat: var_refundTxFeeSat,
3553        };
3554    }
3555}
3556
3557impl SseDecode for crate::binding::Rate {
3558    // Codec=Sse (Serialization based), see doc to use other codecs
3559    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3560        let mut var_coin = <String>::sse_decode(deserializer);
3561        let mut var_value = <f64>::sse_decode(deserializer);
3562        return crate::binding::Rate {
3563            coin: var_coin,
3564            value: var_value,
3565        };
3566    }
3567}
3568
3569impl SseDecode for crate::models::ReceiveOnchainRequest {
3570    // Codec=Sse (Serialization based), see doc to use other codecs
3571    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3572        let mut var_openingFeeParams =
3573            <Option<crate::models::OpeningFeeParams>>::sse_decode(deserializer);
3574        return crate::models::ReceiveOnchainRequest {
3575            opening_fee_params: var_openingFeeParams,
3576        };
3577    }
3578}
3579
3580impl SseDecode for crate::models::ReceivePaymentRequest {
3581    // Codec=Sse (Serialization based), see doc to use other codecs
3582    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3583        let mut var_amountMsat = <u64>::sse_decode(deserializer);
3584        let mut var_description = <String>::sse_decode(deserializer);
3585        let mut var_preimage = <Option<Vec<u8>>>::sse_decode(deserializer);
3586        let mut var_openingFeeParams =
3587            <Option<crate::models::OpeningFeeParams>>::sse_decode(deserializer);
3588        let mut var_useDescriptionHash = <Option<bool>>::sse_decode(deserializer);
3589        let mut var_expiry = <Option<u32>>::sse_decode(deserializer);
3590        let mut var_cltv = <Option<u32>>::sse_decode(deserializer);
3591        return crate::models::ReceivePaymentRequest {
3592            amount_msat: var_amountMsat,
3593            description: var_description,
3594            preimage: var_preimage,
3595            opening_fee_params: var_openingFeeParams,
3596            use_description_hash: var_useDescriptionHash,
3597            expiry: var_expiry,
3598            cltv: var_cltv,
3599        };
3600    }
3601}
3602
3603impl SseDecode for crate::models::ReceivePaymentResponse {
3604    // Codec=Sse (Serialization based), see doc to use other codecs
3605    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3606        let mut var_lnInvoice = <crate::binding::LNInvoice>::sse_decode(deserializer);
3607        let mut var_openingFeeParams =
3608            <Option<crate::models::OpeningFeeParams>>::sse_decode(deserializer);
3609        let mut var_openingFeeMsat = <Option<u64>>::sse_decode(deserializer);
3610        return crate::models::ReceivePaymentResponse {
3611            ln_invoice: var_lnInvoice,
3612            opening_fee_params: var_openingFeeParams,
3613            opening_fee_msat: var_openingFeeMsat,
3614        };
3615    }
3616}
3617
3618impl SseDecode for crate::chain::RecommendedFees {
3619    // Codec=Sse (Serialization based), see doc to use other codecs
3620    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3621        let mut var_fastestFee = <u64>::sse_decode(deserializer);
3622        let mut var_halfHourFee = <u64>::sse_decode(deserializer);
3623        let mut var_hourFee = <u64>::sse_decode(deserializer);
3624        let mut var_economyFee = <u64>::sse_decode(deserializer);
3625        let mut var_minimumFee = <u64>::sse_decode(deserializer);
3626        return crate::chain::RecommendedFees {
3627            fastest_fee: var_fastestFee,
3628            half_hour_fee: var_halfHourFee,
3629            hour_fee: var_hourFee,
3630            economy_fee: var_economyFee,
3631            minimum_fee: var_minimumFee,
3632        };
3633    }
3634}
3635
3636impl SseDecode for crate::models::RedeemOnchainFundsRequest {
3637    // Codec=Sse (Serialization based), see doc to use other codecs
3638    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3639        let mut var_toAddress = <String>::sse_decode(deserializer);
3640        let mut var_satPerVbyte = <u32>::sse_decode(deserializer);
3641        return crate::models::RedeemOnchainFundsRequest {
3642            to_address: var_toAddress,
3643            sat_per_vbyte: var_satPerVbyte,
3644        };
3645    }
3646}
3647
3648impl SseDecode for crate::models::RedeemOnchainFundsResponse {
3649    // Codec=Sse (Serialization based), see doc to use other codecs
3650    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3651        let mut var_txid = <Vec<u8>>::sse_decode(deserializer);
3652        return crate::models::RedeemOnchainFundsResponse { txid: var_txid };
3653    }
3654}
3655
3656impl SseDecode for crate::models::RefundRequest {
3657    // Codec=Sse (Serialization based), see doc to use other codecs
3658    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3659        let mut var_swapAddress = <String>::sse_decode(deserializer);
3660        let mut var_toAddress = <String>::sse_decode(deserializer);
3661        let mut var_satPerVbyte = <u32>::sse_decode(deserializer);
3662        let mut var_unilateral = <Option<bool>>::sse_decode(deserializer);
3663        return crate::models::RefundRequest {
3664            swap_address: var_swapAddress,
3665            to_address: var_toAddress,
3666            sat_per_vbyte: var_satPerVbyte,
3667            unilateral: var_unilateral,
3668        };
3669    }
3670}
3671
3672impl SseDecode for crate::models::RefundResponse {
3673    // Codec=Sse (Serialization based), see doc to use other codecs
3674    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3675        let mut var_refundTxId = <String>::sse_decode(deserializer);
3676        return crate::models::RefundResponse {
3677            refund_tx_id: var_refundTxId,
3678        };
3679    }
3680}
3681
3682impl SseDecode for crate::models::ReportIssueRequest {
3683    // Codec=Sse (Serialization based), see doc to use other codecs
3684    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3685        let mut tag_ = <i32>::sse_decode(deserializer);
3686        match tag_ {
3687            0 => {
3688                let mut var_data =
3689                    <crate::models::ReportPaymentFailureDetails>::sse_decode(deserializer);
3690                return crate::models::ReportIssueRequest::PaymentFailure { data: var_data };
3691            }
3692            _ => {
3693                unimplemented!("");
3694            }
3695        }
3696    }
3697}
3698
3699impl SseDecode for crate::models::ReportPaymentFailureDetails {
3700    // Codec=Sse (Serialization based), see doc to use other codecs
3701    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3702        let mut var_paymentHash = <String>::sse_decode(deserializer);
3703        let mut var_comment = <Option<String>>::sse_decode(deserializer);
3704        return crate::models::ReportPaymentFailureDetails {
3705            payment_hash: var_paymentHash,
3706            comment: var_comment,
3707        };
3708    }
3709}
3710
3711impl SseDecode for crate::models::ReverseSwapFeesRequest {
3712    // Codec=Sse (Serialization based), see doc to use other codecs
3713    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3714        let mut var_sendAmountSat = <Option<u64>>::sse_decode(deserializer);
3715        let mut var_claimTxFeerate = <Option<u32>>::sse_decode(deserializer);
3716        return crate::models::ReverseSwapFeesRequest {
3717            send_amount_sat: var_sendAmountSat,
3718            claim_tx_feerate: var_claimTxFeerate,
3719        };
3720    }
3721}
3722
3723impl SseDecode for crate::models::ReverseSwapInfo {
3724    // Codec=Sse (Serialization based), see doc to use other codecs
3725    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3726        let mut var_id = <String>::sse_decode(deserializer);
3727        let mut var_claimPubkey = <String>::sse_decode(deserializer);
3728        let mut var_lockupTxid = <Option<String>>::sse_decode(deserializer);
3729        let mut var_claimTxid = <Option<String>>::sse_decode(deserializer);
3730        let mut var_onchainAmountSat = <u64>::sse_decode(deserializer);
3731        let mut var_status = <crate::models::ReverseSwapStatus>::sse_decode(deserializer);
3732        return crate::models::ReverseSwapInfo {
3733            id: var_id,
3734            claim_pubkey: var_claimPubkey,
3735            lockup_txid: var_lockupTxid,
3736            claim_txid: var_claimTxid,
3737            onchain_amount_sat: var_onchainAmountSat,
3738            status: var_status,
3739        };
3740    }
3741}
3742
3743impl SseDecode for crate::models::ReverseSwapPairInfo {
3744    // Codec=Sse (Serialization based), see doc to use other codecs
3745    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3746        let mut var_min = <u64>::sse_decode(deserializer);
3747        let mut var_max = <u64>::sse_decode(deserializer);
3748        let mut var_feesHash = <String>::sse_decode(deserializer);
3749        let mut var_feesPercentage = <f64>::sse_decode(deserializer);
3750        let mut var_feesLockup = <u64>::sse_decode(deserializer);
3751        let mut var_feesClaim = <u64>::sse_decode(deserializer);
3752        let mut var_totalFees = <Option<u64>>::sse_decode(deserializer);
3753        return crate::models::ReverseSwapPairInfo {
3754            min: var_min,
3755            max: var_max,
3756            fees_hash: var_feesHash,
3757            fees_percentage: var_feesPercentage,
3758            fees_lockup: var_feesLockup,
3759            fees_claim: var_feesClaim,
3760            total_fees: var_totalFees,
3761        };
3762    }
3763}
3764
3765impl SseDecode for crate::models::ReverseSwapStatus {
3766    // Codec=Sse (Serialization based), see doc to use other codecs
3767    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3768        let mut inner = <i32>::sse_decode(deserializer);
3769        return match inner {
3770            0 => crate::models::ReverseSwapStatus::Initial,
3771            1 => crate::models::ReverseSwapStatus::InProgress,
3772            2 => crate::models::ReverseSwapStatus::Cancelled,
3773            3 => crate::models::ReverseSwapStatus::CompletedSeen,
3774            4 => crate::models::ReverseSwapStatus::CompletedConfirmed,
3775            _ => unreachable!("Invalid variant for ReverseSwapStatus: {}", inner),
3776        };
3777    }
3778}
3779
3780impl SseDecode for crate::binding::RouteHint {
3781    // Codec=Sse (Serialization based), see doc to use other codecs
3782    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3783        let mut var_hops = <Vec<crate::binding::RouteHintHop>>::sse_decode(deserializer);
3784        return crate::binding::RouteHint { hops: var_hops };
3785    }
3786}
3787
3788impl SseDecode for crate::binding::RouteHintHop {
3789    // Codec=Sse (Serialization based), see doc to use other codecs
3790    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3791        let mut var_srcNodeId = <String>::sse_decode(deserializer);
3792        let mut var_shortChannelId = <String>::sse_decode(deserializer);
3793        let mut var_feesBaseMsat = <u32>::sse_decode(deserializer);
3794        let mut var_feesProportionalMillionths = <u32>::sse_decode(deserializer);
3795        let mut var_cltvExpiryDelta = <u64>::sse_decode(deserializer);
3796        let mut var_htlcMinimumMsat = <Option<u64>>::sse_decode(deserializer);
3797        let mut var_htlcMaximumMsat = <Option<u64>>::sse_decode(deserializer);
3798        return crate::binding::RouteHintHop {
3799            src_node_id: var_srcNodeId,
3800            short_channel_id: var_shortChannelId,
3801            fees_base_msat: var_feesBaseMsat,
3802            fees_proportional_millionths: var_feesProportionalMillionths,
3803            cltv_expiry_delta: var_cltvExpiryDelta,
3804            htlc_minimum_msat: var_htlcMinimumMsat,
3805            htlc_maximum_msat: var_htlcMaximumMsat,
3806        };
3807    }
3808}
3809
3810impl SseDecode for crate::models::SendPaymentRequest {
3811    // Codec=Sse (Serialization based), see doc to use other codecs
3812    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3813        let mut var_bolt11 = <String>::sse_decode(deserializer);
3814        let mut var_useTrampoline = <bool>::sse_decode(deserializer);
3815        let mut var_amountMsat = <Option<u64>>::sse_decode(deserializer);
3816        let mut var_label = <Option<String>>::sse_decode(deserializer);
3817        return crate::models::SendPaymentRequest {
3818            bolt11: var_bolt11,
3819            use_trampoline: var_useTrampoline,
3820            amount_msat: var_amountMsat,
3821            label: var_label,
3822        };
3823    }
3824}
3825
3826impl SseDecode for crate::models::SendPaymentResponse {
3827    // Codec=Sse (Serialization based), see doc to use other codecs
3828    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3829        let mut var_payment = <crate::models::Payment>::sse_decode(deserializer);
3830        return crate::models::SendPaymentResponse {
3831            payment: var_payment,
3832        };
3833    }
3834}
3835
3836impl SseDecode for crate::models::SendSpontaneousPaymentRequest {
3837    // Codec=Sse (Serialization based), see doc to use other codecs
3838    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3839        let mut var_nodeId = <String>::sse_decode(deserializer);
3840        let mut var_amountMsat = <u64>::sse_decode(deserializer);
3841        let mut var_extraTlvs = <Option<Vec<crate::models::TlvEntry>>>::sse_decode(deserializer);
3842        let mut var_label = <Option<String>>::sse_decode(deserializer);
3843        return crate::models::SendSpontaneousPaymentRequest {
3844            node_id: var_nodeId,
3845            amount_msat: var_amountMsat,
3846            extra_tlvs: var_extraTlvs,
3847            label: var_label,
3848        };
3849    }
3850}
3851
3852impl SseDecode for crate::models::ServiceHealthCheckResponse {
3853    // Codec=Sse (Serialization based), see doc to use other codecs
3854    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3855        let mut var_status = <crate::models::HealthCheckStatus>::sse_decode(deserializer);
3856        return crate::models::ServiceHealthCheckResponse { status: var_status };
3857    }
3858}
3859
3860impl SseDecode for crate::breez_services::SignMessageRequest {
3861    // Codec=Sse (Serialization based), see doc to use other codecs
3862    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3863        let mut var_message = <String>::sse_decode(deserializer);
3864        return crate::breez_services::SignMessageRequest {
3865            message: var_message,
3866        };
3867    }
3868}
3869
3870impl SseDecode for crate::breez_services::SignMessageResponse {
3871    // Codec=Sse (Serialization based), see doc to use other codecs
3872    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3873        let mut var_signature = <String>::sse_decode(deserializer);
3874        return crate::breez_services::SignMessageResponse {
3875            signature: var_signature,
3876        };
3877    }
3878}
3879
3880impl SseDecode for crate::models::StaticBackupRequest {
3881    // Codec=Sse (Serialization based), see doc to use other codecs
3882    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3883        let mut var_workingDir = <String>::sse_decode(deserializer);
3884        return crate::models::StaticBackupRequest {
3885            working_dir: var_workingDir,
3886        };
3887    }
3888}
3889
3890impl SseDecode for crate::models::StaticBackupResponse {
3891    // Codec=Sse (Serialization based), see doc to use other codecs
3892    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3893        let mut var_backup = <Option<Vec<String>>>::sse_decode(deserializer);
3894        return crate::models::StaticBackupResponse { backup: var_backup };
3895    }
3896}
3897
3898impl SseDecode for crate::binding::SuccessActionProcessed {
3899    // Codec=Sse (Serialization based), see doc to use other codecs
3900    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3901        let mut tag_ = <i32>::sse_decode(deserializer);
3902        match tag_ {
3903            0 => {
3904                let mut var_result =
3905                    <crate::binding::AesSuccessActionDataResult>::sse_decode(deserializer);
3906                return crate::binding::SuccessActionProcessed::Aes { result: var_result };
3907            }
3908            1 => {
3909                let mut var_data =
3910                    <crate::binding::MessageSuccessActionData>::sse_decode(deserializer);
3911                return crate::binding::SuccessActionProcessed::Message { data: var_data };
3912            }
3913            2 => {
3914                let mut var_data = <crate::binding::UrlSuccessActionData>::sse_decode(deserializer);
3915                return crate::binding::SuccessActionProcessed::Url { data: var_data };
3916            }
3917            _ => {
3918                unimplemented!("");
3919            }
3920        }
3921    }
3922}
3923
3924impl SseDecode for crate::models::SwapAmountType {
3925    // Codec=Sse (Serialization based), see doc to use other codecs
3926    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3927        let mut inner = <i32>::sse_decode(deserializer);
3928        return match inner {
3929            0 => crate::models::SwapAmountType::Send,
3930            1 => crate::models::SwapAmountType::Receive,
3931            _ => unreachable!("Invalid variant for SwapAmountType: {}", inner),
3932        };
3933    }
3934}
3935
3936impl SseDecode for crate::models::SwapInfo {
3937    // Codec=Sse (Serialization based), see doc to use other codecs
3938    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3939        let mut var_bitcoinAddress = <String>::sse_decode(deserializer);
3940        let mut var_createdAt = <i64>::sse_decode(deserializer);
3941        let mut var_lockHeight = <i64>::sse_decode(deserializer);
3942        let mut var_paymentHash = <Vec<u8>>::sse_decode(deserializer);
3943        let mut var_preimage = <Vec<u8>>::sse_decode(deserializer);
3944        let mut var_privateKey = <Vec<u8>>::sse_decode(deserializer);
3945        let mut var_publicKey = <Vec<u8>>::sse_decode(deserializer);
3946        let mut var_swapperPublicKey = <Vec<u8>>::sse_decode(deserializer);
3947        let mut var_script = <Vec<u8>>::sse_decode(deserializer);
3948        let mut var_bolt11 = <Option<String>>::sse_decode(deserializer);
3949        let mut var_paidMsat = <u64>::sse_decode(deserializer);
3950        let mut var_totalIncomingTxs = <u64>::sse_decode(deserializer);
3951        let mut var_confirmedSats = <u64>::sse_decode(deserializer);
3952        let mut var_unconfirmedSats = <u64>::sse_decode(deserializer);
3953        let mut var_status = <crate::models::SwapStatus>::sse_decode(deserializer);
3954        let mut var_refundTxIds = <Vec<String>>::sse_decode(deserializer);
3955        let mut var_unconfirmedTxIds = <Vec<String>>::sse_decode(deserializer);
3956        let mut var_confirmedTxIds = <Vec<String>>::sse_decode(deserializer);
3957        let mut var_minAllowedDeposit = <i64>::sse_decode(deserializer);
3958        let mut var_maxAllowedDeposit = <i64>::sse_decode(deserializer);
3959        let mut var_maxSwapperPayable = <i64>::sse_decode(deserializer);
3960        let mut var_lastRedeemError = <Option<String>>::sse_decode(deserializer);
3961        let mut var_channelOpeningFees =
3962            <Option<crate::models::OpeningFeeParams>>::sse_decode(deserializer);
3963        let mut var_confirmedAt = <Option<u32>>::sse_decode(deserializer);
3964        return crate::models::SwapInfo {
3965            bitcoin_address: var_bitcoinAddress,
3966            created_at: var_createdAt,
3967            lock_height: var_lockHeight,
3968            payment_hash: var_paymentHash,
3969            preimage: var_preimage,
3970            private_key: var_privateKey,
3971            public_key: var_publicKey,
3972            swapper_public_key: var_swapperPublicKey,
3973            script: var_script,
3974            bolt11: var_bolt11,
3975            paid_msat: var_paidMsat,
3976            total_incoming_txs: var_totalIncomingTxs,
3977            confirmed_sats: var_confirmedSats,
3978            unconfirmed_sats: var_unconfirmedSats,
3979            status: var_status,
3980            refund_tx_ids: var_refundTxIds,
3981            unconfirmed_tx_ids: var_unconfirmedTxIds,
3982            confirmed_tx_ids: var_confirmedTxIds,
3983            min_allowed_deposit: var_minAllowedDeposit,
3984            max_allowed_deposit: var_maxAllowedDeposit,
3985            max_swapper_payable: var_maxSwapperPayable,
3986            last_redeem_error: var_lastRedeemError,
3987            channel_opening_fees: var_channelOpeningFees,
3988            confirmed_at: var_confirmedAt,
3989        };
3990    }
3991}
3992
3993impl SseDecode for crate::models::SwapStatus {
3994    // Codec=Sse (Serialization based), see doc to use other codecs
3995    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3996        let mut inner = <i32>::sse_decode(deserializer);
3997        return match inner {
3998            0 => crate::models::SwapStatus::Initial,
3999            1 => crate::models::SwapStatus::WaitingConfirmation,
4000            2 => crate::models::SwapStatus::Redeemable,
4001            3 => crate::models::SwapStatus::Redeemed,
4002            4 => crate::models::SwapStatus::Refundable,
4003            5 => crate::models::SwapStatus::Completed,
4004            _ => unreachable!("Invalid variant for SwapStatus: {}", inner),
4005        };
4006    }
4007}
4008
4009impl SseDecode for crate::binding::Symbol {
4010    // Codec=Sse (Serialization based), see doc to use other codecs
4011    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4012        let mut var_grapheme = <Option<String>>::sse_decode(deserializer);
4013        let mut var_template = <Option<String>>::sse_decode(deserializer);
4014        let mut var_rtl = <Option<bool>>::sse_decode(deserializer);
4015        let mut var_position = <Option<u32>>::sse_decode(deserializer);
4016        return crate::binding::Symbol {
4017            grapheme: var_grapheme,
4018            template: var_template,
4019            rtl: var_rtl,
4020            position: var_position,
4021        };
4022    }
4023}
4024
4025impl SseDecode for crate::models::TlvEntry {
4026    // Codec=Sse (Serialization based), see doc to use other codecs
4027    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4028        let mut var_fieldNumber = <u64>::sse_decode(deserializer);
4029        let mut var_value = <Vec<u8>>::sse_decode(deserializer);
4030        return crate::models::TlvEntry {
4031            field_number: var_fieldNumber,
4032            value: var_value,
4033        };
4034    }
4035}
4036
4037impl SseDecode for u16 {
4038    // Codec=Sse (Serialization based), see doc to use other codecs
4039    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4040        deserializer.cursor.read_u16::<NativeEndian>().unwrap()
4041    }
4042}
4043
4044impl SseDecode for u32 {
4045    // Codec=Sse (Serialization based), see doc to use other codecs
4046    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4047        deserializer.cursor.read_u32::<NativeEndian>().unwrap()
4048    }
4049}
4050
4051impl SseDecode for u64 {
4052    // Codec=Sse (Serialization based), see doc to use other codecs
4053    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4054        deserializer.cursor.read_u64::<NativeEndian>().unwrap()
4055    }
4056}
4057
4058impl SseDecode for u8 {
4059    // Codec=Sse (Serialization based), see doc to use other codecs
4060    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4061        deserializer.cursor.read_u8().unwrap()
4062    }
4063}
4064
4065impl SseDecode for () {
4066    // Codec=Sse (Serialization based), see doc to use other codecs
4067    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {}
4068}
4069
4070impl SseDecode for crate::models::UnspentTransactionOutput {
4071    // Codec=Sse (Serialization based), see doc to use other codecs
4072    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4073        let mut var_txid = <Vec<u8>>::sse_decode(deserializer);
4074        let mut var_outnum = <u32>::sse_decode(deserializer);
4075        let mut var_amountMillisatoshi = <u64>::sse_decode(deserializer);
4076        let mut var_address = <String>::sse_decode(deserializer);
4077        let mut var_reserved = <bool>::sse_decode(deserializer);
4078        return crate::models::UnspentTransactionOutput {
4079            txid: var_txid,
4080            outnum: var_outnum,
4081            amount_millisatoshi: var_amountMillisatoshi,
4082            address: var_address,
4083            reserved: var_reserved,
4084        };
4085    }
4086}
4087
4088impl SseDecode for crate::binding::UrlSuccessActionData {
4089    // Codec=Sse (Serialization based), see doc to use other codecs
4090    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4091        let mut var_description = <String>::sse_decode(deserializer);
4092        let mut var_url = <String>::sse_decode(deserializer);
4093        let mut var_matchesCallbackDomain = <bool>::sse_decode(deserializer);
4094        return crate::binding::UrlSuccessActionData {
4095            description: var_description,
4096            url: var_url,
4097            matches_callback_domain: var_matchesCallbackDomain,
4098        };
4099    }
4100}
4101
4102fn pde_ffi_dispatcher_primary_impl(
4103    func_id: i32,
4104    port: flutter_rust_bridge::for_generated::MessagePort,
4105    ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
4106    rust_vec_len: i32,
4107    data_len: i32,
4108) {
4109    // Codec=Pde (Serialization + dispatch), see doc to use other codecs
4110    match func_id {
4111        _ => unreachable!(),
4112    }
4113}
4114
4115fn pde_ffi_dispatcher_sync_impl(
4116    func_id: i32,
4117    ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
4118    rust_vec_len: i32,
4119    data_len: i32,
4120) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse {
4121    // Codec=Pde (Serialization + dispatch), see doc to use other codecs
4122    match func_id {
4123        _ => unreachable!(),
4124    }
4125}
4126
4127// Section: rust2dart
4128
4129// Codec=Dco (DartCObject based), see doc to use other codecs
4130impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::AesSuccessActionDataDecrypted> {
4131    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4132        [
4133            self.0.description.into_into_dart().into_dart(),
4134            self.0.plaintext.into_into_dart().into_dart(),
4135        ]
4136        .into_dart()
4137    }
4138}
4139impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4140    for FrbWrapper<crate::binding::AesSuccessActionDataDecrypted>
4141{
4142}
4143impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::AesSuccessActionDataDecrypted>>
4144    for crate::binding::AesSuccessActionDataDecrypted
4145{
4146    fn into_into_dart(self) -> FrbWrapper<crate::binding::AesSuccessActionDataDecrypted> {
4147        self.into()
4148    }
4149}
4150// Codec=Dco (DartCObject based), see doc to use other codecs
4151impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::AesSuccessActionDataResult> {
4152    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4153        match self.0 {
4154            crate::binding::AesSuccessActionDataResult::Decrypted { data } => {
4155                [0.into_dart(), data.into_into_dart().into_dart()].into_dart()
4156            }
4157            crate::binding::AesSuccessActionDataResult::ErrorStatus { reason } => {
4158                [1.into_dart(), reason.into_into_dart().into_dart()].into_dart()
4159            }
4160            _ => {
4161                unimplemented!("");
4162            }
4163        }
4164    }
4165}
4166impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4167    for FrbWrapper<crate::binding::AesSuccessActionDataResult>
4168{
4169}
4170impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::AesSuccessActionDataResult>>
4171    for crate::binding::AesSuccessActionDataResult
4172{
4173    fn into_into_dart(self) -> FrbWrapper<crate::binding::AesSuccessActionDataResult> {
4174        self.into()
4175    }
4176}
4177// Codec=Dco (DartCObject based), see doc to use other codecs
4178impl flutter_rust_bridge::IntoDart for crate::breez_services::BackupFailedData {
4179    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4180        [self.error.into_into_dart().into_dart()].into_dart()
4181    }
4182}
4183impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4184    for crate::breez_services::BackupFailedData
4185{
4186}
4187impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::BackupFailedData>
4188    for crate::breez_services::BackupFailedData
4189{
4190    fn into_into_dart(self) -> crate::breez_services::BackupFailedData {
4191        self
4192    }
4193}
4194// Codec=Dco (DartCObject based), see doc to use other codecs
4195impl flutter_rust_bridge::IntoDart for crate::models::BackupStatus {
4196    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4197        [
4198            self.backed_up.into_into_dart().into_dart(),
4199            self.last_backup_time.into_into_dart().into_dart(),
4200        ]
4201        .into_dart()
4202    }
4203}
4204impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::BackupStatus {}
4205impl flutter_rust_bridge::IntoIntoDart<crate::models::BackupStatus>
4206    for crate::models::BackupStatus
4207{
4208    fn into_into_dart(self) -> crate::models::BackupStatus {
4209        self
4210    }
4211}
4212// Codec=Dco (DartCObject based), see doc to use other codecs
4213impl flutter_rust_bridge::IntoDart for crate::binding::BindingEventListener {
4214    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4215        Vec::<u8>::new().into_dart()
4216    }
4217}
4218impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4219    for crate::binding::BindingEventListener
4220{
4221}
4222impl flutter_rust_bridge::IntoIntoDart<crate::binding::BindingEventListener>
4223    for crate::binding::BindingEventListener
4224{
4225    fn into_into_dart(self) -> crate::binding::BindingEventListener {
4226        self
4227    }
4228}
4229// Codec=Dco (DartCObject based), see doc to use other codecs
4230impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::BitcoinAddressData> {
4231    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4232        [
4233            self.0.address.into_into_dart().into_dart(),
4234            self.0.network.into_into_dart().into_dart(),
4235            self.0.amount_sat.into_into_dart().into_dart(),
4236            self.0.label.into_into_dart().into_dart(),
4237            self.0.message.into_into_dart().into_dart(),
4238        ]
4239        .into_dart()
4240    }
4241}
4242impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4243    for FrbWrapper<crate::binding::BitcoinAddressData>
4244{
4245}
4246impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::BitcoinAddressData>>
4247    for crate::binding::BitcoinAddressData
4248{
4249    fn into_into_dart(self) -> FrbWrapper<crate::binding::BitcoinAddressData> {
4250        self.into()
4251    }
4252}
4253// Codec=Dco (DartCObject based), see doc to use other codecs
4254impl flutter_rust_bridge::IntoDart for crate::breez_services::BreezEvent {
4255    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4256        match self {
4257            crate::breez_services::BreezEvent::NewBlock { block } => {
4258                [0.into_dart(), block.into_into_dart().into_dart()].into_dart()
4259            }
4260            crate::breez_services::BreezEvent::InvoicePaid { details } => {
4261                [1.into_dart(), details.into_into_dart().into_dart()].into_dart()
4262            }
4263            crate::breez_services::BreezEvent::Synced => [2.into_dart()].into_dart(),
4264            crate::breez_services::BreezEvent::PaymentSucceed { details } => {
4265                [3.into_dart(), details.into_into_dart().into_dart()].into_dart()
4266            }
4267            crate::breez_services::BreezEvent::PaymentFailed { details } => {
4268                [4.into_dart(), details.into_into_dart().into_dart()].into_dart()
4269            }
4270            crate::breez_services::BreezEvent::BackupStarted => [5.into_dart()].into_dart(),
4271            crate::breez_services::BreezEvent::BackupSucceeded => [6.into_dart()].into_dart(),
4272            crate::breez_services::BreezEvent::BackupFailed { details } => {
4273                [7.into_dart(), details.into_into_dart().into_dart()].into_dart()
4274            }
4275            crate::breez_services::BreezEvent::ReverseSwapUpdated { details } => {
4276                [8.into_dart(), details.into_into_dart().into_dart()].into_dart()
4277            }
4278            crate::breez_services::BreezEvent::SwapUpdated { details } => {
4279                [9.into_dart(), details.into_into_dart().into_dart()].into_dart()
4280            }
4281            _ => {
4282                unimplemented!("");
4283            }
4284        }
4285    }
4286}
4287impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4288    for crate::breez_services::BreezEvent
4289{
4290}
4291impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::BreezEvent>
4292    for crate::breez_services::BreezEvent
4293{
4294    fn into_into_dart(self) -> crate::breez_services::BreezEvent {
4295        self
4296    }
4297}
4298// Codec=Dco (DartCObject based), see doc to use other codecs
4299impl flutter_rust_bridge::IntoDart for crate::models::BuyBitcoinProvider {
4300    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4301        match self {
4302            Self::Moonpay => 0.into_dart(),
4303            _ => unreachable!(),
4304        }
4305    }
4306}
4307impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4308    for crate::models::BuyBitcoinProvider
4309{
4310}
4311impl flutter_rust_bridge::IntoIntoDart<crate::models::BuyBitcoinProvider>
4312    for crate::models::BuyBitcoinProvider
4313{
4314    fn into_into_dart(self) -> crate::models::BuyBitcoinProvider {
4315        self
4316    }
4317}
4318// Codec=Dco (DartCObject based), see doc to use other codecs
4319impl flutter_rust_bridge::IntoDart for crate::models::BuyBitcoinRequest {
4320    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4321        [
4322            self.provider.into_into_dart().into_dart(),
4323            self.opening_fee_params.into_into_dart().into_dart(),
4324            self.redirect_url.into_into_dart().into_dart(),
4325        ]
4326        .into_dart()
4327    }
4328}
4329impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4330    for crate::models::BuyBitcoinRequest
4331{
4332}
4333impl flutter_rust_bridge::IntoIntoDart<crate::models::BuyBitcoinRequest>
4334    for crate::models::BuyBitcoinRequest
4335{
4336    fn into_into_dart(self) -> crate::models::BuyBitcoinRequest {
4337        self
4338    }
4339}
4340// Codec=Dco (DartCObject based), see doc to use other codecs
4341impl flutter_rust_bridge::IntoDart for crate::models::BuyBitcoinResponse {
4342    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4343        [
4344            self.url.into_into_dart().into_dart(),
4345            self.opening_fee_params.into_into_dart().into_dart(),
4346        ]
4347        .into_dart()
4348    }
4349}
4350impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4351    for crate::models::BuyBitcoinResponse
4352{
4353}
4354impl flutter_rust_bridge::IntoIntoDart<crate::models::BuyBitcoinResponse>
4355    for crate::models::BuyBitcoinResponse
4356{
4357    fn into_into_dart(self) -> crate::models::BuyBitcoinResponse {
4358        self
4359    }
4360}
4361// Codec=Dco (DartCObject based), see doc to use other codecs
4362impl flutter_rust_bridge::IntoDart for crate::models::ChannelState {
4363    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4364        match self {
4365            Self::PendingOpen => 0.into_dart(),
4366            Self::Opened => 1.into_dart(),
4367            Self::PendingClose => 2.into_dart(),
4368            Self::Closed => 3.into_dart(),
4369            _ => unreachable!(),
4370        }
4371    }
4372}
4373impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::ChannelState {}
4374impl flutter_rust_bridge::IntoIntoDart<crate::models::ChannelState>
4375    for crate::models::ChannelState
4376{
4377    fn into_into_dart(self) -> crate::models::ChannelState {
4378        self
4379    }
4380}
4381// Codec=Dco (DartCObject based), see doc to use other codecs
4382impl flutter_rust_bridge::IntoDart for crate::breez_services::CheckMessageRequest {
4383    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4384        [
4385            self.message.into_into_dart().into_dart(),
4386            self.pubkey.into_into_dart().into_dart(),
4387            self.signature.into_into_dart().into_dart(),
4388        ]
4389        .into_dart()
4390    }
4391}
4392impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4393    for crate::breez_services::CheckMessageRequest
4394{
4395}
4396impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::CheckMessageRequest>
4397    for crate::breez_services::CheckMessageRequest
4398{
4399    fn into_into_dart(self) -> crate::breez_services::CheckMessageRequest {
4400        self
4401    }
4402}
4403// Codec=Dco (DartCObject based), see doc to use other codecs
4404impl flutter_rust_bridge::IntoDart for crate::breez_services::CheckMessageResponse {
4405    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4406        [self.is_valid.into_into_dart().into_dart()].into_dart()
4407    }
4408}
4409impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4410    for crate::breez_services::CheckMessageResponse
4411{
4412}
4413impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::CheckMessageResponse>
4414    for crate::breez_services::CheckMessageResponse
4415{
4416    fn into_into_dart(self) -> crate::breez_services::CheckMessageResponse {
4417        self
4418    }
4419}
4420// Codec=Dco (DartCObject based), see doc to use other codecs
4421impl flutter_rust_bridge::IntoDart for crate::models::ClosedChannelPaymentDetails {
4422    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4423        [
4424            self.state.into_into_dart().into_dart(),
4425            self.funding_txid.into_into_dart().into_dart(),
4426            self.short_channel_id.into_into_dart().into_dart(),
4427            self.closing_txid.into_into_dart().into_dart(),
4428        ]
4429        .into_dart()
4430    }
4431}
4432impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4433    for crate::models::ClosedChannelPaymentDetails
4434{
4435}
4436impl flutter_rust_bridge::IntoIntoDart<crate::models::ClosedChannelPaymentDetails>
4437    for crate::models::ClosedChannelPaymentDetails
4438{
4439    fn into_into_dart(self) -> crate::models::ClosedChannelPaymentDetails {
4440        self
4441    }
4442}
4443// Codec=Dco (DartCObject based), see doc to use other codecs
4444impl flutter_rust_bridge::IntoDart for crate::models::Config {
4445    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4446        [
4447            self.breezserver.into_into_dart().into_dart(),
4448            self.chainnotifier_url.into_into_dart().into_dart(),
4449            self.mempoolspace_url.into_into_dart().into_dart(),
4450            self.working_dir.into_into_dart().into_dart(),
4451            self.network.into_into_dart().into_dart(),
4452            self.payment_timeout_sec.into_into_dart().into_dart(),
4453            self.default_lsp_id.into_into_dart().into_dart(),
4454            self.api_key.into_into_dart().into_dart(),
4455            self.maxfee_percent.into_into_dart().into_dart(),
4456            self.exemptfee_msat.into_into_dart().into_dart(),
4457            self.node_config.into_into_dart().into_dart(),
4458        ]
4459        .into_dart()
4460    }
4461}
4462impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::Config {}
4463impl flutter_rust_bridge::IntoIntoDart<crate::models::Config> for crate::models::Config {
4464    fn into_into_dart(self) -> crate::models::Config {
4465        self
4466    }
4467}
4468// Codec=Dco (DartCObject based), see doc to use other codecs
4469impl flutter_rust_bridge::IntoDart for crate::models::ConfigureNodeRequest {
4470    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4471        [self.close_to_address.into_into_dart().into_dart()].into_dart()
4472    }
4473}
4474impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4475    for crate::models::ConfigureNodeRequest
4476{
4477}
4478impl flutter_rust_bridge::IntoIntoDart<crate::models::ConfigureNodeRequest>
4479    for crate::models::ConfigureNodeRequest
4480{
4481    fn into_into_dart(self) -> crate::models::ConfigureNodeRequest {
4482        self
4483    }
4484}
4485// Codec=Dco (DartCObject based), see doc to use other codecs
4486impl flutter_rust_bridge::IntoDart for crate::models::ConnectRequest {
4487    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4488        [
4489            self.config.into_into_dart().into_dart(),
4490            self.seed.into_into_dart().into_dart(),
4491            self.restore_only.into_into_dart().into_dart(),
4492        ]
4493        .into_dart()
4494    }
4495}
4496impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::ConnectRequest {}
4497impl flutter_rust_bridge::IntoIntoDart<crate::models::ConnectRequest>
4498    for crate::models::ConnectRequest
4499{
4500    fn into_into_dart(self) -> crate::models::ConnectRequest {
4501        self
4502    }
4503}
4504// Codec=Dco (DartCObject based), see doc to use other codecs
4505impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::CurrencyInfo> {
4506    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4507        [
4508            self.0.name.into_into_dart().into_dart(),
4509            self.0.fraction_size.into_into_dart().into_dart(),
4510            self.0.spacing.into_into_dart().into_dart(),
4511            self.0.symbol.into_into_dart().into_dart(),
4512            self.0.uniq_symbol.into_into_dart().into_dart(),
4513            self.0.localized_name.into_into_dart().into_dart(),
4514            self.0.locale_overrides.into_into_dart().into_dart(),
4515        ]
4516        .into_dart()
4517    }
4518}
4519impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4520    for FrbWrapper<crate::binding::CurrencyInfo>
4521{
4522}
4523impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::CurrencyInfo>>
4524    for crate::binding::CurrencyInfo
4525{
4526    fn into_into_dart(self) -> FrbWrapper<crate::binding::CurrencyInfo> {
4527        self.into()
4528    }
4529}
4530// Codec=Dco (DartCObject based), see doc to use other codecs
4531impl flutter_rust_bridge::IntoDart for crate::models::EnvironmentType {
4532    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4533        match self {
4534            Self::Production => 0.into_dart(),
4535            Self::Staging => 1.into_dart(),
4536            Self::Regtest => 2.into_dart(),
4537            _ => unreachable!(),
4538        }
4539    }
4540}
4541impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4542    for crate::models::EnvironmentType
4543{
4544}
4545impl flutter_rust_bridge::IntoIntoDart<crate::models::EnvironmentType>
4546    for crate::models::EnvironmentType
4547{
4548    fn into_into_dart(self) -> crate::models::EnvironmentType {
4549        self
4550    }
4551}
4552// Codec=Dco (DartCObject based), see doc to use other codecs
4553impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::FiatCurrency> {
4554    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4555        [
4556            self.0.id.into_into_dart().into_dart(),
4557            self.0.info.into_into_dart().into_dart(),
4558        ]
4559        .into_dart()
4560    }
4561}
4562impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4563    for FrbWrapper<crate::binding::FiatCurrency>
4564{
4565}
4566impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::FiatCurrency>>
4567    for crate::binding::FiatCurrency
4568{
4569    fn into_into_dart(self) -> FrbWrapper<crate::binding::FiatCurrency> {
4570        self.into()
4571    }
4572}
4573// Codec=Dco (DartCObject based), see doc to use other codecs
4574impl flutter_rust_bridge::IntoDart for crate::models::GreenlightCredentials {
4575    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4576        [
4577            self.developer_key.into_into_dart().into_dart(),
4578            self.developer_cert.into_into_dart().into_dart(),
4579        ]
4580        .into_dart()
4581    }
4582}
4583impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4584    for crate::models::GreenlightCredentials
4585{
4586}
4587impl flutter_rust_bridge::IntoIntoDart<crate::models::GreenlightCredentials>
4588    for crate::models::GreenlightCredentials
4589{
4590    fn into_into_dart(self) -> crate::models::GreenlightCredentials {
4591        self
4592    }
4593}
4594// Codec=Dco (DartCObject based), see doc to use other codecs
4595impl flutter_rust_bridge::IntoDart for crate::models::GreenlightDeviceCredentials {
4596    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4597        [self.device.into_into_dart().into_dart()].into_dart()
4598    }
4599}
4600impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4601    for crate::models::GreenlightDeviceCredentials
4602{
4603}
4604impl flutter_rust_bridge::IntoIntoDart<crate::models::GreenlightDeviceCredentials>
4605    for crate::models::GreenlightDeviceCredentials
4606{
4607    fn into_into_dart(self) -> crate::models::GreenlightDeviceCredentials {
4608        self
4609    }
4610}
4611// Codec=Dco (DartCObject based), see doc to use other codecs
4612impl flutter_rust_bridge::IntoDart for crate::models::GreenlightNodeConfig {
4613    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4614        [
4615            self.partner_credentials.into_into_dart().into_dart(),
4616            self.invite_code.into_into_dart().into_dart(),
4617        ]
4618        .into_dart()
4619    }
4620}
4621impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4622    for crate::models::GreenlightNodeConfig
4623{
4624}
4625impl flutter_rust_bridge::IntoIntoDart<crate::models::GreenlightNodeConfig>
4626    for crate::models::GreenlightNodeConfig
4627{
4628    fn into_into_dart(self) -> crate::models::GreenlightNodeConfig {
4629        self
4630    }
4631}
4632// Codec=Dco (DartCObject based), see doc to use other codecs
4633impl flutter_rust_bridge::IntoDart for crate::models::HealthCheckStatus {
4634    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4635        match self {
4636            Self::Operational => 0.into_dart(),
4637            Self::Maintenance => 1.into_dart(),
4638            Self::ServiceDisruption => 2.into_dart(),
4639            _ => unreachable!(),
4640        }
4641    }
4642}
4643impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4644    for crate::models::HealthCheckStatus
4645{
4646}
4647impl flutter_rust_bridge::IntoIntoDart<crate::models::HealthCheckStatus>
4648    for crate::models::HealthCheckStatus
4649{
4650    fn into_into_dart(self) -> crate::models::HealthCheckStatus {
4651        self
4652    }
4653}
4654// Codec=Dco (DartCObject based), see doc to use other codecs
4655impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::InputType> {
4656    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4657        match self.0 {
4658            crate::binding::InputType::BitcoinAddress { address } => {
4659                [0.into_dart(), address.into_into_dart().into_dart()].into_dart()
4660            }
4661            crate::binding::InputType::Bolt11 { invoice } => {
4662                [1.into_dart(), invoice.into_into_dart().into_dart()].into_dart()
4663            }
4664            crate::binding::InputType::NodeId { node_id } => {
4665                [2.into_dart(), node_id.into_into_dart().into_dart()].into_dart()
4666            }
4667            crate::binding::InputType::Url { url } => {
4668                [3.into_dart(), url.into_into_dart().into_dart()].into_dart()
4669            }
4670            crate::binding::InputType::LnUrlPay {
4671                data,
4672                bip353_address,
4673            } => [
4674                4.into_dart(),
4675                data.into_into_dart().into_dart(),
4676                bip353_address.into_into_dart().into_dart(),
4677            ]
4678            .into_dart(),
4679            crate::binding::InputType::LnUrlWithdraw { data } => {
4680                [5.into_dart(), data.into_into_dart().into_dart()].into_dart()
4681            }
4682            crate::binding::InputType::LnUrlAuth { data } => {
4683                [6.into_dart(), data.into_into_dart().into_dart()].into_dart()
4684            }
4685            crate::binding::InputType::LnUrlError { data } => {
4686                [7.into_dart(), data.into_into_dart().into_dart()].into_dart()
4687            }
4688            _ => {
4689                unimplemented!("");
4690            }
4691        }
4692    }
4693}
4694impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4695    for FrbWrapper<crate::binding::InputType>
4696{
4697}
4698impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::InputType>>
4699    for crate::binding::InputType
4700{
4701    fn into_into_dart(self) -> FrbWrapper<crate::binding::InputType> {
4702        self.into()
4703    }
4704}
4705// Codec=Dco (DartCObject based), see doc to use other codecs
4706impl flutter_rust_bridge::IntoDart for crate::breez_services::InvoicePaidDetails {
4707    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4708        [
4709            self.payment_hash.into_into_dart().into_dart(),
4710            self.bolt11.into_into_dart().into_dart(),
4711            self.payment.into_into_dart().into_dart(),
4712        ]
4713        .into_dart()
4714    }
4715}
4716impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4717    for crate::breez_services::InvoicePaidDetails
4718{
4719}
4720impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::InvoicePaidDetails>
4721    for crate::breez_services::InvoicePaidDetails
4722{
4723    fn into_into_dart(self) -> crate::breez_services::InvoicePaidDetails {
4724        self
4725    }
4726}
4727// Codec=Dco (DartCObject based), see doc to use other codecs
4728impl flutter_rust_bridge::IntoDart for crate::models::ListPaymentsRequest {
4729    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4730        [
4731            self.filters.into_into_dart().into_dart(),
4732            self.metadata_filters.into_into_dart().into_dart(),
4733            self.from_timestamp.into_into_dart().into_dart(),
4734            self.to_timestamp.into_into_dart().into_dart(),
4735            self.include_failures.into_into_dart().into_dart(),
4736            self.offset.into_into_dart().into_dart(),
4737            self.limit.into_into_dart().into_dart(),
4738        ]
4739        .into_dart()
4740    }
4741}
4742impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4743    for crate::models::ListPaymentsRequest
4744{
4745}
4746impl flutter_rust_bridge::IntoIntoDart<crate::models::ListPaymentsRequest>
4747    for crate::models::ListPaymentsRequest
4748{
4749    fn into_into_dart(self) -> crate::models::ListPaymentsRequest {
4750        self
4751    }
4752}
4753// Codec=Dco (DartCObject based), see doc to use other codecs
4754impl flutter_rust_bridge::IntoDart for crate::models::ListSwapsRequest {
4755    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4756        [
4757            self.status.into_into_dart().into_dart(),
4758            self.from_timestamp.into_into_dart().into_dart(),
4759            self.to_timestamp.into_into_dart().into_dart(),
4760            self.offset.into_into_dart().into_dart(),
4761            self.limit.into_into_dart().into_dart(),
4762        ]
4763        .into_dart()
4764    }
4765}
4766impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4767    for crate::models::ListSwapsRequest
4768{
4769}
4770impl flutter_rust_bridge::IntoIntoDart<crate::models::ListSwapsRequest>
4771    for crate::models::ListSwapsRequest
4772{
4773    fn into_into_dart(self) -> crate::models::ListSwapsRequest {
4774        self
4775    }
4776}
4777// Codec=Dco (DartCObject based), see doc to use other codecs
4778impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LNInvoice> {
4779    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4780        [
4781            self.0.bolt11.into_into_dart().into_dart(),
4782            self.0.network.into_into_dart().into_dart(),
4783            self.0.payee_pubkey.into_into_dart().into_dart(),
4784            self.0.payment_hash.into_into_dart().into_dart(),
4785            self.0.description.into_into_dart().into_dart(),
4786            self.0.description_hash.into_into_dart().into_dart(),
4787            self.0.amount_msat.into_into_dart().into_dart(),
4788            self.0.timestamp.into_into_dart().into_dart(),
4789            self.0.expiry.into_into_dart().into_dart(),
4790            self.0.routing_hints.into_into_dart().into_dart(),
4791            self.0.payment_secret.into_into_dart().into_dart(),
4792            self.0
4793                .min_final_cltv_expiry_delta
4794                .into_into_dart()
4795                .into_dart(),
4796        ]
4797        .into_dart()
4798    }
4799}
4800impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4801    for FrbWrapper<crate::binding::LNInvoice>
4802{
4803}
4804impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LNInvoice>>
4805    for crate::binding::LNInvoice
4806{
4807    fn into_into_dart(self) -> FrbWrapper<crate::binding::LNInvoice> {
4808        self.into()
4809    }
4810}
4811// Codec=Dco (DartCObject based), see doc to use other codecs
4812impl flutter_rust_bridge::IntoDart for crate::models::LnPaymentDetails {
4813    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4814        [
4815            self.payment_hash.into_into_dart().into_dart(),
4816            self.label.into_into_dart().into_dart(),
4817            self.destination_pubkey.into_into_dart().into_dart(),
4818            self.payment_preimage.into_into_dart().into_dart(),
4819            self.keysend.into_into_dart().into_dart(),
4820            self.bolt11.into_into_dart().into_dart(),
4821            self.open_channel_bolt11.into_into_dart().into_dart(),
4822            self.lnurl_success_action.into_into_dart().into_dart(),
4823            self.lnurl_pay_domain.into_into_dart().into_dart(),
4824            self.lnurl_pay_comment.into_into_dart().into_dart(),
4825            self.ln_address.into_into_dart().into_dart(),
4826            self.lnurl_metadata.into_into_dart().into_dart(),
4827            self.lnurl_withdraw_endpoint.into_into_dart().into_dart(),
4828            self.swap_info.into_into_dart().into_dart(),
4829            self.reverse_swap_info.into_into_dart().into_dart(),
4830            self.pending_expiration_block.into_into_dart().into_dart(),
4831        ]
4832        .into_dart()
4833    }
4834}
4835impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4836    for crate::models::LnPaymentDetails
4837{
4838}
4839impl flutter_rust_bridge::IntoIntoDart<crate::models::LnPaymentDetails>
4840    for crate::models::LnPaymentDetails
4841{
4842    fn into_into_dart(self) -> crate::models::LnPaymentDetails {
4843        self
4844    }
4845}
4846// Codec=Dco (DartCObject based), see doc to use other codecs
4847impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlAuthRequestData> {
4848    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4849        [
4850            self.0.k1.into_into_dart().into_dart(),
4851            self.0.action.into_into_dart().into_dart(),
4852            self.0.domain.into_into_dart().into_dart(),
4853            self.0.url.into_into_dart().into_dart(),
4854        ]
4855        .into_dart()
4856    }
4857}
4858impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4859    for FrbWrapper<crate::binding::LnUrlAuthRequestData>
4860{
4861}
4862impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlAuthRequestData>>
4863    for crate::binding::LnUrlAuthRequestData
4864{
4865    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlAuthRequestData> {
4866        self.into()
4867    }
4868}
4869// Codec=Dco (DartCObject based), see doc to use other codecs
4870impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlCallbackStatus> {
4871    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4872        match self.0 {
4873            crate::binding::LnUrlCallbackStatus::Ok => [0.into_dart()].into_dart(),
4874            crate::binding::LnUrlCallbackStatus::ErrorStatus { data } => {
4875                [1.into_dart(), data.into_into_dart().into_dart()].into_dart()
4876            }
4877            _ => {
4878                unimplemented!("");
4879            }
4880        }
4881    }
4882}
4883impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4884    for FrbWrapper<crate::binding::LnUrlCallbackStatus>
4885{
4886}
4887impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlCallbackStatus>>
4888    for crate::binding::LnUrlCallbackStatus
4889{
4890    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlCallbackStatus> {
4891        self.into()
4892    }
4893}
4894// Codec=Dco (DartCObject based), see doc to use other codecs
4895impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlErrorData> {
4896    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4897        [self.0.reason.into_into_dart().into_dart()].into_dart()
4898    }
4899}
4900impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4901    for FrbWrapper<crate::binding::LnUrlErrorData>
4902{
4903}
4904impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlErrorData>>
4905    for crate::binding::LnUrlErrorData
4906{
4907    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlErrorData> {
4908        self.into()
4909    }
4910}
4911// Codec=Dco (DartCObject based), see doc to use other codecs
4912impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlPayErrorData> {
4913    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4914        [
4915            self.0.payment_hash.into_into_dart().into_dart(),
4916            self.0.reason.into_into_dart().into_dart(),
4917        ]
4918        .into_dart()
4919    }
4920}
4921impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4922    for FrbWrapper<crate::binding::LnUrlPayErrorData>
4923{
4924}
4925impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlPayErrorData>>
4926    for crate::binding::LnUrlPayErrorData
4927{
4928    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlPayErrorData> {
4929        self.into()
4930    }
4931}
4932// Codec=Dco (DartCObject based), see doc to use other codecs
4933impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlPayRequest> {
4934    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4935        [
4936            self.0.data.into_into_dart().into_dart(),
4937            self.0.amount_msat.into_into_dart().into_dart(),
4938            self.0.use_trampoline.into_into_dart().into_dart(),
4939            self.0.comment.into_into_dart().into_dart(),
4940            self.0.payment_label.into_into_dart().into_dart(),
4941            self.0
4942                .validate_success_action_url
4943                .into_into_dart()
4944                .into_dart(),
4945        ]
4946        .into_dart()
4947    }
4948}
4949impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4950    for FrbWrapper<crate::binding::LnUrlPayRequest>
4951{
4952}
4953impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlPayRequest>>
4954    for crate::binding::LnUrlPayRequest
4955{
4956    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlPayRequest> {
4957        self.into()
4958    }
4959}
4960// Codec=Dco (DartCObject based), see doc to use other codecs
4961impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlPayRequestData> {
4962    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4963        [
4964            self.0.callback.into_into_dart().into_dart(),
4965            self.0.min_sendable.into_into_dart().into_dart(),
4966            self.0.max_sendable.into_into_dart().into_dart(),
4967            self.0.metadata_str.into_into_dart().into_dart(),
4968            self.0.comment_allowed.into_into_dart().into_dart(),
4969            self.0.domain.into_into_dart().into_dart(),
4970            self.0.allows_nostr.into_into_dart().into_dart(),
4971            self.0.nostr_pubkey.into_into_dart().into_dart(),
4972            self.0.ln_address.into_into_dart().into_dart(),
4973        ]
4974        .into_dart()
4975    }
4976}
4977impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4978    for FrbWrapper<crate::binding::LnUrlPayRequestData>
4979{
4980}
4981impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlPayRequestData>>
4982    for crate::binding::LnUrlPayRequestData
4983{
4984    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlPayRequestData> {
4985        self.into()
4986    }
4987}
4988// Codec=Dco (DartCObject based), see doc to use other codecs
4989impl flutter_rust_bridge::IntoDart for crate::lnurl::pay::LnUrlPayResult {
4990    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4991        match self {
4992            crate::lnurl::pay::LnUrlPayResult::EndpointSuccess { data } => {
4993                [0.into_dart(), data.into_into_dart().into_dart()].into_dart()
4994            }
4995            crate::lnurl::pay::LnUrlPayResult::EndpointError { data } => {
4996                [1.into_dart(), data.into_into_dart().into_dart()].into_dart()
4997            }
4998            crate::lnurl::pay::LnUrlPayResult::PayError { data } => {
4999                [2.into_dart(), data.into_into_dart().into_dart()].into_dart()
5000            }
5001            _ => {
5002                unimplemented!("");
5003            }
5004        }
5005    }
5006}
5007impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5008    for crate::lnurl::pay::LnUrlPayResult
5009{
5010}
5011impl flutter_rust_bridge::IntoIntoDart<crate::lnurl::pay::LnUrlPayResult>
5012    for crate::lnurl::pay::LnUrlPayResult
5013{
5014    fn into_into_dart(self) -> crate::lnurl::pay::LnUrlPayResult {
5015        self
5016    }
5017}
5018// Codec=Dco (DartCObject based), see doc to use other codecs
5019impl flutter_rust_bridge::IntoDart for crate::lnurl::pay::LnUrlPaySuccessData {
5020    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5021        [
5022            self.payment.into_into_dart().into_dart(),
5023            self.success_action.into_into_dart().into_dart(),
5024        ]
5025        .into_dart()
5026    }
5027}
5028impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5029    for crate::lnurl::pay::LnUrlPaySuccessData
5030{
5031}
5032impl flutter_rust_bridge::IntoIntoDart<crate::lnurl::pay::LnUrlPaySuccessData>
5033    for crate::lnurl::pay::LnUrlPaySuccessData
5034{
5035    fn into_into_dart(self) -> crate::lnurl::pay::LnUrlPaySuccessData {
5036        self
5037    }
5038}
5039// Codec=Dco (DartCObject based), see doc to use other codecs
5040impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlWithdrawRequest> {
5041    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5042        [
5043            self.0.data.into_into_dart().into_dart(),
5044            self.0.amount_msat.into_into_dart().into_dart(),
5045            self.0.description.into_into_dart().into_dart(),
5046        ]
5047        .into_dart()
5048    }
5049}
5050impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5051    for FrbWrapper<crate::binding::LnUrlWithdrawRequest>
5052{
5053}
5054impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlWithdrawRequest>>
5055    for crate::binding::LnUrlWithdrawRequest
5056{
5057    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlWithdrawRequest> {
5058        self.into()
5059    }
5060}
5061// Codec=Dco (DartCObject based), see doc to use other codecs
5062impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlWithdrawRequestData> {
5063    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5064        [
5065            self.0.callback.into_into_dart().into_dart(),
5066            self.0.k1.into_into_dart().into_dart(),
5067            self.0.default_description.into_into_dart().into_dart(),
5068            self.0.min_withdrawable.into_into_dart().into_dart(),
5069            self.0.max_withdrawable.into_into_dart().into_dart(),
5070        ]
5071        .into_dart()
5072    }
5073}
5074impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5075    for FrbWrapper<crate::binding::LnUrlWithdrawRequestData>
5076{
5077}
5078impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlWithdrawRequestData>>
5079    for crate::binding::LnUrlWithdrawRequestData
5080{
5081    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlWithdrawRequestData> {
5082        self.into()
5083    }
5084}
5085// Codec=Dco (DartCObject based), see doc to use other codecs
5086impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlWithdrawResult> {
5087    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5088        match self.0 {
5089            crate::binding::LnUrlWithdrawResult::Ok { data } => {
5090                [0.into_dart(), data.into_into_dart().into_dart()].into_dart()
5091            }
5092            crate::binding::LnUrlWithdrawResult::Timeout { data } => {
5093                [1.into_dart(), data.into_into_dart().into_dart()].into_dart()
5094            }
5095            crate::binding::LnUrlWithdrawResult::ErrorStatus { data } => {
5096                [2.into_dart(), data.into_into_dart().into_dart()].into_dart()
5097            }
5098            _ => {
5099                unimplemented!("");
5100            }
5101        }
5102    }
5103}
5104impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5105    for FrbWrapper<crate::binding::LnUrlWithdrawResult>
5106{
5107}
5108impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlWithdrawResult>>
5109    for crate::binding::LnUrlWithdrawResult
5110{
5111    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlWithdrawResult> {
5112        self.into()
5113    }
5114}
5115// Codec=Dco (DartCObject based), see doc to use other codecs
5116impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlWithdrawSuccessData> {
5117    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5118        [self.0.invoice.into_into_dart().into_dart()].into_dart()
5119    }
5120}
5121impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5122    for FrbWrapper<crate::binding::LnUrlWithdrawSuccessData>
5123{
5124}
5125impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlWithdrawSuccessData>>
5126    for crate::binding::LnUrlWithdrawSuccessData
5127{
5128    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlWithdrawSuccessData> {
5129        self.into()
5130    }
5131}
5132// Codec=Dco (DartCObject based), see doc to use other codecs
5133impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LocaleOverrides> {
5134    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5135        [
5136            self.0.locale.into_into_dart().into_dart(),
5137            self.0.spacing.into_into_dart().into_dart(),
5138            self.0.symbol.into_into_dart().into_dart(),
5139        ]
5140        .into_dart()
5141    }
5142}
5143impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5144    for FrbWrapper<crate::binding::LocaleOverrides>
5145{
5146}
5147impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LocaleOverrides>>
5148    for crate::binding::LocaleOverrides
5149{
5150    fn into_into_dart(self) -> FrbWrapper<crate::binding::LocaleOverrides> {
5151        self.into()
5152    }
5153}
5154// Codec=Dco (DartCObject based), see doc to use other codecs
5155impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LocalizedName> {
5156    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5157        [
5158            self.0.locale.into_into_dart().into_dart(),
5159            self.0.name.into_into_dart().into_dart(),
5160        ]
5161        .into_dart()
5162    }
5163}
5164impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5165    for FrbWrapper<crate::binding::LocalizedName>
5166{
5167}
5168impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LocalizedName>>
5169    for crate::binding::LocalizedName
5170{
5171    fn into_into_dart(self) -> FrbWrapper<crate::binding::LocalizedName> {
5172        self.into()
5173    }
5174}
5175// Codec=Dco (DartCObject based), see doc to use other codecs
5176impl flutter_rust_bridge::IntoDart for crate::models::LogEntry {
5177    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5178        [
5179            self.line.into_into_dart().into_dart(),
5180            self.level.into_into_dart().into_dart(),
5181        ]
5182        .into_dart()
5183    }
5184}
5185impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::LogEntry {}
5186impl flutter_rust_bridge::IntoIntoDart<crate::models::LogEntry> for crate::models::LogEntry {
5187    fn into_into_dart(self) -> crate::models::LogEntry {
5188        self
5189    }
5190}
5191// Codec=Dco (DartCObject based), see doc to use other codecs
5192impl flutter_rust_bridge::IntoDart for crate::lsp::LspInformation {
5193    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5194        [
5195            self.id.into_into_dart().into_dart(),
5196            self.name.into_into_dart().into_dart(),
5197            self.widget_url.into_into_dart().into_dart(),
5198            self.pubkey.into_into_dart().into_dart(),
5199            self.host.into_into_dart().into_dart(),
5200            self.base_fee_msat.into_into_dart().into_dart(),
5201            self.fee_rate.into_into_dart().into_dart(),
5202            self.time_lock_delta.into_into_dart().into_dart(),
5203            self.min_htlc_msat.into_into_dart().into_dart(),
5204            self.lsp_pubkey.into_into_dart().into_dart(),
5205            self.opening_fee_params_list.into_into_dart().into_dart(),
5206        ]
5207        .into_dart()
5208    }
5209}
5210impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::lsp::LspInformation {}
5211impl flutter_rust_bridge::IntoIntoDart<crate::lsp::LspInformation> for crate::lsp::LspInformation {
5212    fn into_into_dart(self) -> crate::lsp::LspInformation {
5213        self
5214    }
5215}
5216// Codec=Dco (DartCObject based), see doc to use other codecs
5217impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::MessageSuccessActionData> {
5218    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5219        [self.0.message.into_into_dart().into_dart()].into_dart()
5220    }
5221}
5222impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5223    for FrbWrapper<crate::binding::MessageSuccessActionData>
5224{
5225}
5226impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::MessageSuccessActionData>>
5227    for crate::binding::MessageSuccessActionData
5228{
5229    fn into_into_dart(self) -> FrbWrapper<crate::binding::MessageSuccessActionData> {
5230        self.into()
5231    }
5232}
5233// Codec=Dco (DartCObject based), see doc to use other codecs
5234impl flutter_rust_bridge::IntoDart for crate::models::MetadataFilter {
5235    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5236        [
5237            self.json_path.into_into_dart().into_dart(),
5238            self.json_value.into_into_dart().into_dart(),
5239        ]
5240        .into_dart()
5241    }
5242}
5243impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::MetadataFilter {}
5244impl flutter_rust_bridge::IntoIntoDart<crate::models::MetadataFilter>
5245    for crate::models::MetadataFilter
5246{
5247    fn into_into_dart(self) -> crate::models::MetadataFilter {
5248        self
5249    }
5250}
5251// Codec=Dco (DartCObject based), see doc to use other codecs
5252impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::Network> {
5253    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5254        match self.0 {
5255            crate::binding::Network::Bitcoin => 0.into_dart(),
5256            crate::binding::Network::Testnet => 1.into_dart(),
5257            crate::binding::Network::Signet => 2.into_dart(),
5258            crate::binding::Network::Regtest => 3.into_dart(),
5259            _ => unreachable!(),
5260        }
5261    }
5262}
5263impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5264    for FrbWrapper<crate::binding::Network>
5265{
5266}
5267impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::Network>>
5268    for crate::binding::Network
5269{
5270    fn into_into_dart(self) -> FrbWrapper<crate::binding::Network> {
5271        self.into()
5272    }
5273}
5274// Codec=Dco (DartCObject based), see doc to use other codecs
5275impl flutter_rust_bridge::IntoDart for crate::models::NodeConfig {
5276    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5277        match self {
5278            crate::models::NodeConfig::Greenlight { config } => {
5279                [0.into_dart(), config.into_into_dart().into_dart()].into_dart()
5280            }
5281            _ => {
5282                unimplemented!("");
5283            }
5284        }
5285    }
5286}
5287impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::NodeConfig {}
5288impl flutter_rust_bridge::IntoIntoDart<crate::models::NodeConfig> for crate::models::NodeConfig {
5289    fn into_into_dart(self) -> crate::models::NodeConfig {
5290        self
5291    }
5292}
5293// Codec=Dco (DartCObject based), see doc to use other codecs
5294impl flutter_rust_bridge::IntoDart for crate::models::NodeCredentials {
5295    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5296        match self {
5297            crate::models::NodeCredentials::Greenlight { credentials } => {
5298                [0.into_dart(), credentials.into_into_dart().into_dart()].into_dart()
5299            }
5300            _ => {
5301                unimplemented!("");
5302            }
5303        }
5304    }
5305}
5306impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5307    for crate::models::NodeCredentials
5308{
5309}
5310impl flutter_rust_bridge::IntoIntoDart<crate::models::NodeCredentials>
5311    for crate::models::NodeCredentials
5312{
5313    fn into_into_dart(self) -> crate::models::NodeCredentials {
5314        self
5315    }
5316}
5317// Codec=Dco (DartCObject based), see doc to use other codecs
5318impl flutter_rust_bridge::IntoDart for crate::models::NodeState {
5319    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5320        [
5321            self.id.into_into_dart().into_dart(),
5322            self.block_height.into_into_dart().into_dart(),
5323            self.channels_balance_msat.into_into_dart().into_dart(),
5324            self.onchain_balance_msat.into_into_dart().into_dart(),
5325            self.pending_onchain_balance_msat
5326                .into_into_dart()
5327                .into_dart(),
5328            self.utxos.into_into_dart().into_dart(),
5329            self.max_payable_msat.into_into_dart().into_dart(),
5330            self.max_receivable_msat.into_into_dart().into_dart(),
5331            self.max_single_payment_amount_msat
5332                .into_into_dart()
5333                .into_dart(),
5334            self.max_chan_reserve_msats.into_into_dart().into_dart(),
5335            self.connected_peers.into_into_dart().into_dart(),
5336            self.max_receivable_single_payment_amount_msat
5337                .into_into_dart()
5338                .into_dart(),
5339            self.total_inbound_liquidity_msats
5340                .into_into_dart()
5341                .into_dart(),
5342        ]
5343        .into_dart()
5344    }
5345}
5346impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::NodeState {}
5347impl flutter_rust_bridge::IntoIntoDart<crate::models::NodeState> for crate::models::NodeState {
5348    fn into_into_dart(self) -> crate::models::NodeState {
5349        self
5350    }
5351}
5352// Codec=Dco (DartCObject based), see doc to use other codecs
5353impl flutter_rust_bridge::IntoDart for crate::models::OnchainPaymentLimitsResponse {
5354    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5355        [
5356            self.min_sat.into_into_dart().into_dart(),
5357            self.max_sat.into_into_dart().into_dart(),
5358            self.max_payable_sat.into_into_dart().into_dart(),
5359        ]
5360        .into_dart()
5361    }
5362}
5363impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5364    for crate::models::OnchainPaymentLimitsResponse
5365{
5366}
5367impl flutter_rust_bridge::IntoIntoDart<crate::models::OnchainPaymentLimitsResponse>
5368    for crate::models::OnchainPaymentLimitsResponse
5369{
5370    fn into_into_dart(self) -> crate::models::OnchainPaymentLimitsResponse {
5371        self
5372    }
5373}
5374// Codec=Dco (DartCObject based), see doc to use other codecs
5375impl flutter_rust_bridge::IntoDart for crate::models::OpenChannelFeeRequest {
5376    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5377        [
5378            self.amount_msat.into_into_dart().into_dart(),
5379            self.expiry.into_into_dart().into_dart(),
5380        ]
5381        .into_dart()
5382    }
5383}
5384impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5385    for crate::models::OpenChannelFeeRequest
5386{
5387}
5388impl flutter_rust_bridge::IntoIntoDart<crate::models::OpenChannelFeeRequest>
5389    for crate::models::OpenChannelFeeRequest
5390{
5391    fn into_into_dart(self) -> crate::models::OpenChannelFeeRequest {
5392        self
5393    }
5394}
5395// Codec=Dco (DartCObject based), see doc to use other codecs
5396impl flutter_rust_bridge::IntoDart for crate::models::OpenChannelFeeResponse {
5397    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5398        [
5399            self.fee_msat.into_into_dart().into_dart(),
5400            self.fee_params.into_into_dart().into_dart(),
5401        ]
5402        .into_dart()
5403    }
5404}
5405impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5406    for crate::models::OpenChannelFeeResponse
5407{
5408}
5409impl flutter_rust_bridge::IntoIntoDart<crate::models::OpenChannelFeeResponse>
5410    for crate::models::OpenChannelFeeResponse
5411{
5412    fn into_into_dart(self) -> crate::models::OpenChannelFeeResponse {
5413        self
5414    }
5415}
5416// Codec=Dco (DartCObject based), see doc to use other codecs
5417impl flutter_rust_bridge::IntoDart for crate::models::OpeningFeeParams {
5418    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5419        [
5420            self.min_msat.into_into_dart().into_dart(),
5421            self.proportional.into_into_dart().into_dart(),
5422            self.valid_until.into_into_dart().into_dart(),
5423            self.max_idle_time.into_into_dart().into_dart(),
5424            self.max_client_to_self_delay.into_into_dart().into_dart(),
5425            self.promise.into_into_dart().into_dart(),
5426        ]
5427        .into_dart()
5428    }
5429}
5430impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5431    for crate::models::OpeningFeeParams
5432{
5433}
5434impl flutter_rust_bridge::IntoIntoDart<crate::models::OpeningFeeParams>
5435    for crate::models::OpeningFeeParams
5436{
5437    fn into_into_dart(self) -> crate::models::OpeningFeeParams {
5438        self
5439    }
5440}
5441// Codec=Dco (DartCObject based), see doc to use other codecs
5442impl flutter_rust_bridge::IntoDart for crate::models::OpeningFeeParamsMenu {
5443    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5444        [self.values.into_into_dart().into_dart()].into_dart()
5445    }
5446}
5447impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5448    for crate::models::OpeningFeeParamsMenu
5449{
5450}
5451impl flutter_rust_bridge::IntoIntoDart<crate::models::OpeningFeeParamsMenu>
5452    for crate::models::OpeningFeeParamsMenu
5453{
5454    fn into_into_dart(self) -> crate::models::OpeningFeeParamsMenu {
5455        self
5456    }
5457}
5458// Codec=Dco (DartCObject based), see doc to use other codecs
5459impl flutter_rust_bridge::IntoDart for crate::models::PayOnchainRequest {
5460    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5461        [
5462            self.recipient_address.into_into_dart().into_dart(),
5463            self.prepare_res.into_into_dart().into_dart(),
5464        ]
5465        .into_dart()
5466    }
5467}
5468impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5469    for crate::models::PayOnchainRequest
5470{
5471}
5472impl flutter_rust_bridge::IntoIntoDart<crate::models::PayOnchainRequest>
5473    for crate::models::PayOnchainRequest
5474{
5475    fn into_into_dart(self) -> crate::models::PayOnchainRequest {
5476        self
5477    }
5478}
5479// Codec=Dco (DartCObject based), see doc to use other codecs
5480impl flutter_rust_bridge::IntoDart for crate::models::PayOnchainResponse {
5481    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5482        [self.reverse_swap_info.into_into_dart().into_dart()].into_dart()
5483    }
5484}
5485impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5486    for crate::models::PayOnchainResponse
5487{
5488}
5489impl flutter_rust_bridge::IntoIntoDart<crate::models::PayOnchainResponse>
5490    for crate::models::PayOnchainResponse
5491{
5492    fn into_into_dart(self) -> crate::models::PayOnchainResponse {
5493        self
5494    }
5495}
5496// Codec=Dco (DartCObject based), see doc to use other codecs
5497impl flutter_rust_bridge::IntoDart for crate::models::Payment {
5498    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5499        [
5500            self.id.into_into_dart().into_dart(),
5501            self.payment_type.into_into_dart().into_dart(),
5502            self.payment_time.into_into_dart().into_dart(),
5503            self.amount_msat.into_into_dart().into_dart(),
5504            self.fee_msat.into_into_dart().into_dart(),
5505            self.status.into_into_dart().into_dart(),
5506            self.error.into_into_dart().into_dart(),
5507            self.description.into_into_dart().into_dart(),
5508            self.details.into_into_dart().into_dart(),
5509            self.metadata.into_into_dart().into_dart(),
5510        ]
5511        .into_dart()
5512    }
5513}
5514impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::Payment {}
5515impl flutter_rust_bridge::IntoIntoDart<crate::models::Payment> for crate::models::Payment {
5516    fn into_into_dart(self) -> crate::models::Payment {
5517        self
5518    }
5519}
5520// Codec=Dco (DartCObject based), see doc to use other codecs
5521impl flutter_rust_bridge::IntoDart for crate::models::PaymentDetails {
5522    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5523        match self {
5524            crate::models::PaymentDetails::Ln { data } => {
5525                [0.into_dart(), data.into_into_dart().into_dart()].into_dart()
5526            }
5527            crate::models::PaymentDetails::ClosedChannel { data } => {
5528                [1.into_dart(), data.into_into_dart().into_dart()].into_dart()
5529            }
5530            _ => {
5531                unimplemented!("");
5532            }
5533        }
5534    }
5535}
5536impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::PaymentDetails {}
5537impl flutter_rust_bridge::IntoIntoDart<crate::models::PaymentDetails>
5538    for crate::models::PaymentDetails
5539{
5540    fn into_into_dart(self) -> crate::models::PaymentDetails {
5541        self
5542    }
5543}
5544// Codec=Dco (DartCObject based), see doc to use other codecs
5545impl flutter_rust_bridge::IntoDart for crate::breez_services::PaymentFailedData {
5546    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5547        [
5548            self.error.into_into_dart().into_dart(),
5549            self.node_id.into_into_dart().into_dart(),
5550            self.invoice.into_into_dart().into_dart(),
5551            self.label.into_into_dart().into_dart(),
5552        ]
5553        .into_dart()
5554    }
5555}
5556impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5557    for crate::breez_services::PaymentFailedData
5558{
5559}
5560impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::PaymentFailedData>
5561    for crate::breez_services::PaymentFailedData
5562{
5563    fn into_into_dart(self) -> crate::breez_services::PaymentFailedData {
5564        self
5565    }
5566}
5567// Codec=Dco (DartCObject based), see doc to use other codecs
5568impl flutter_rust_bridge::IntoDart for crate::models::PaymentStatus {
5569    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5570        match self {
5571            Self::Pending => 0.into_dart(),
5572            Self::Complete => 1.into_dart(),
5573            Self::Failed => 2.into_dart(),
5574            _ => unreachable!(),
5575        }
5576    }
5577}
5578impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::PaymentStatus {}
5579impl flutter_rust_bridge::IntoIntoDart<crate::models::PaymentStatus>
5580    for crate::models::PaymentStatus
5581{
5582    fn into_into_dart(self) -> crate::models::PaymentStatus {
5583        self
5584    }
5585}
5586// Codec=Dco (DartCObject based), see doc to use other codecs
5587impl flutter_rust_bridge::IntoDart for crate::models::PaymentType {
5588    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5589        match self {
5590            Self::Sent => 0.into_dart(),
5591            Self::Received => 1.into_dart(),
5592            Self::ClosedChannel => 2.into_dart(),
5593            _ => unreachable!(),
5594        }
5595    }
5596}
5597impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::PaymentType {}
5598impl flutter_rust_bridge::IntoIntoDart<crate::models::PaymentType> for crate::models::PaymentType {
5599    fn into_into_dart(self) -> crate::models::PaymentType {
5600        self
5601    }
5602}
5603// Codec=Dco (DartCObject based), see doc to use other codecs
5604impl flutter_rust_bridge::IntoDart for crate::models::PaymentTypeFilter {
5605    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5606        match self {
5607            Self::Sent => 0.into_dart(),
5608            Self::Received => 1.into_dart(),
5609            Self::ClosedChannel => 2.into_dart(),
5610            _ => unreachable!(),
5611        }
5612    }
5613}
5614impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5615    for crate::models::PaymentTypeFilter
5616{
5617}
5618impl flutter_rust_bridge::IntoIntoDart<crate::models::PaymentTypeFilter>
5619    for crate::models::PaymentTypeFilter
5620{
5621    fn into_into_dart(self) -> crate::models::PaymentTypeFilter {
5622        self
5623    }
5624}
5625// Codec=Dco (DartCObject based), see doc to use other codecs
5626impl flutter_rust_bridge::IntoDart for crate::models::PrepareOnchainPaymentRequest {
5627    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5628        [
5629            self.amount_sat.into_into_dart().into_dart(),
5630            self.amount_type.into_into_dart().into_dart(),
5631            self.claim_tx_feerate.into_into_dart().into_dart(),
5632        ]
5633        .into_dart()
5634    }
5635}
5636impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5637    for crate::models::PrepareOnchainPaymentRequest
5638{
5639}
5640impl flutter_rust_bridge::IntoIntoDart<crate::models::PrepareOnchainPaymentRequest>
5641    for crate::models::PrepareOnchainPaymentRequest
5642{
5643    fn into_into_dart(self) -> crate::models::PrepareOnchainPaymentRequest {
5644        self
5645    }
5646}
5647// Codec=Dco (DartCObject based), see doc to use other codecs
5648impl flutter_rust_bridge::IntoDart for crate::models::PrepareOnchainPaymentResponse {
5649    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5650        [
5651            self.fees_hash.into_into_dart().into_dart(),
5652            self.fees_percentage.into_into_dart().into_dart(),
5653            self.fees_lockup.into_into_dart().into_dart(),
5654            self.fees_claim.into_into_dart().into_dart(),
5655            self.sender_amount_sat.into_into_dart().into_dart(),
5656            self.recipient_amount_sat.into_into_dart().into_dart(),
5657            self.total_fees.into_into_dart().into_dart(),
5658        ]
5659        .into_dart()
5660    }
5661}
5662impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5663    for crate::models::PrepareOnchainPaymentResponse
5664{
5665}
5666impl flutter_rust_bridge::IntoIntoDart<crate::models::PrepareOnchainPaymentResponse>
5667    for crate::models::PrepareOnchainPaymentResponse
5668{
5669    fn into_into_dart(self) -> crate::models::PrepareOnchainPaymentResponse {
5670        self
5671    }
5672}
5673// Codec=Dco (DartCObject based), see doc to use other codecs
5674impl flutter_rust_bridge::IntoDart for crate::models::PrepareRedeemOnchainFundsRequest {
5675    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5676        [
5677            self.to_address.into_into_dart().into_dart(),
5678            self.sat_per_vbyte.into_into_dart().into_dart(),
5679        ]
5680        .into_dart()
5681    }
5682}
5683impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5684    for crate::models::PrepareRedeemOnchainFundsRequest
5685{
5686}
5687impl flutter_rust_bridge::IntoIntoDart<crate::models::PrepareRedeemOnchainFundsRequest>
5688    for crate::models::PrepareRedeemOnchainFundsRequest
5689{
5690    fn into_into_dart(self) -> crate::models::PrepareRedeemOnchainFundsRequest {
5691        self
5692    }
5693}
5694// Codec=Dco (DartCObject based), see doc to use other codecs
5695impl flutter_rust_bridge::IntoDart for crate::models::PrepareRedeemOnchainFundsResponse {
5696    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5697        [
5698            self.tx_weight.into_into_dart().into_dart(),
5699            self.tx_fee_sat.into_into_dart().into_dart(),
5700        ]
5701        .into_dart()
5702    }
5703}
5704impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5705    for crate::models::PrepareRedeemOnchainFundsResponse
5706{
5707}
5708impl flutter_rust_bridge::IntoIntoDart<crate::models::PrepareRedeemOnchainFundsResponse>
5709    for crate::models::PrepareRedeemOnchainFundsResponse
5710{
5711    fn into_into_dart(self) -> crate::models::PrepareRedeemOnchainFundsResponse {
5712        self
5713    }
5714}
5715// Codec=Dco (DartCObject based), see doc to use other codecs
5716impl flutter_rust_bridge::IntoDart for crate::models::PrepareRefundRequest {
5717    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5718        [
5719            self.swap_address.into_into_dart().into_dart(),
5720            self.to_address.into_into_dart().into_dart(),
5721            self.sat_per_vbyte.into_into_dart().into_dart(),
5722            self.unilateral.into_into_dart().into_dart(),
5723        ]
5724        .into_dart()
5725    }
5726}
5727impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5728    for crate::models::PrepareRefundRequest
5729{
5730}
5731impl flutter_rust_bridge::IntoIntoDart<crate::models::PrepareRefundRequest>
5732    for crate::models::PrepareRefundRequest
5733{
5734    fn into_into_dart(self) -> crate::models::PrepareRefundRequest {
5735        self
5736    }
5737}
5738// Codec=Dco (DartCObject based), see doc to use other codecs
5739impl flutter_rust_bridge::IntoDart for crate::models::PrepareRefundResponse {
5740    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5741        [
5742            self.refund_tx_weight.into_into_dart().into_dart(),
5743            self.refund_tx_fee_sat.into_into_dart().into_dart(),
5744        ]
5745        .into_dart()
5746    }
5747}
5748impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5749    for crate::models::PrepareRefundResponse
5750{
5751}
5752impl flutter_rust_bridge::IntoIntoDart<crate::models::PrepareRefundResponse>
5753    for crate::models::PrepareRefundResponse
5754{
5755    fn into_into_dart(self) -> crate::models::PrepareRefundResponse {
5756        self
5757    }
5758}
5759// Codec=Dco (DartCObject based), see doc to use other codecs
5760impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::Rate> {
5761    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5762        [
5763            self.0.coin.into_into_dart().into_dart(),
5764            self.0.value.into_into_dart().into_dart(),
5765        ]
5766        .into_dart()
5767    }
5768}
5769impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5770    for FrbWrapper<crate::binding::Rate>
5771{
5772}
5773impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::Rate>> for crate::binding::Rate {
5774    fn into_into_dart(self) -> FrbWrapper<crate::binding::Rate> {
5775        self.into()
5776    }
5777}
5778// Codec=Dco (DartCObject based), see doc to use other codecs
5779impl flutter_rust_bridge::IntoDart for crate::models::ReceiveOnchainRequest {
5780    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5781        [self.opening_fee_params.into_into_dart().into_dart()].into_dart()
5782    }
5783}
5784impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5785    for crate::models::ReceiveOnchainRequest
5786{
5787}
5788impl flutter_rust_bridge::IntoIntoDart<crate::models::ReceiveOnchainRequest>
5789    for crate::models::ReceiveOnchainRequest
5790{
5791    fn into_into_dart(self) -> crate::models::ReceiveOnchainRequest {
5792        self
5793    }
5794}
5795// Codec=Dco (DartCObject based), see doc to use other codecs
5796impl flutter_rust_bridge::IntoDart for crate::models::ReceivePaymentRequest {
5797    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5798        [
5799            self.amount_msat.into_into_dart().into_dart(),
5800            self.description.into_into_dart().into_dart(),
5801            self.preimage.into_into_dart().into_dart(),
5802            self.opening_fee_params.into_into_dart().into_dart(),
5803            self.use_description_hash.into_into_dart().into_dart(),
5804            self.expiry.into_into_dart().into_dart(),
5805            self.cltv.into_into_dart().into_dart(),
5806        ]
5807        .into_dart()
5808    }
5809}
5810impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5811    for crate::models::ReceivePaymentRequest
5812{
5813}
5814impl flutter_rust_bridge::IntoIntoDart<crate::models::ReceivePaymentRequest>
5815    for crate::models::ReceivePaymentRequest
5816{
5817    fn into_into_dart(self) -> crate::models::ReceivePaymentRequest {
5818        self
5819    }
5820}
5821// Codec=Dco (DartCObject based), see doc to use other codecs
5822impl flutter_rust_bridge::IntoDart for crate::models::ReceivePaymentResponse {
5823    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5824        [
5825            self.ln_invoice.into_into_dart().into_dart(),
5826            self.opening_fee_params.into_into_dart().into_dart(),
5827            self.opening_fee_msat.into_into_dart().into_dart(),
5828        ]
5829        .into_dart()
5830    }
5831}
5832impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5833    for crate::models::ReceivePaymentResponse
5834{
5835}
5836impl flutter_rust_bridge::IntoIntoDart<crate::models::ReceivePaymentResponse>
5837    for crate::models::ReceivePaymentResponse
5838{
5839    fn into_into_dart(self) -> crate::models::ReceivePaymentResponse {
5840        self
5841    }
5842}
5843// Codec=Dco (DartCObject based), see doc to use other codecs
5844impl flutter_rust_bridge::IntoDart for crate::chain::RecommendedFees {
5845    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5846        [
5847            self.fastest_fee.into_into_dart().into_dart(),
5848            self.half_hour_fee.into_into_dart().into_dart(),
5849            self.hour_fee.into_into_dart().into_dart(),
5850            self.economy_fee.into_into_dart().into_dart(),
5851            self.minimum_fee.into_into_dart().into_dart(),
5852        ]
5853        .into_dart()
5854    }
5855}
5856impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::chain::RecommendedFees {}
5857impl flutter_rust_bridge::IntoIntoDart<crate::chain::RecommendedFees>
5858    for crate::chain::RecommendedFees
5859{
5860    fn into_into_dart(self) -> crate::chain::RecommendedFees {
5861        self
5862    }
5863}
5864// Codec=Dco (DartCObject based), see doc to use other codecs
5865impl flutter_rust_bridge::IntoDart for crate::models::RedeemOnchainFundsRequest {
5866    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5867        [
5868            self.to_address.into_into_dart().into_dart(),
5869            self.sat_per_vbyte.into_into_dart().into_dart(),
5870        ]
5871        .into_dart()
5872    }
5873}
5874impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5875    for crate::models::RedeemOnchainFundsRequest
5876{
5877}
5878impl flutter_rust_bridge::IntoIntoDart<crate::models::RedeemOnchainFundsRequest>
5879    for crate::models::RedeemOnchainFundsRequest
5880{
5881    fn into_into_dart(self) -> crate::models::RedeemOnchainFundsRequest {
5882        self
5883    }
5884}
5885// Codec=Dco (DartCObject based), see doc to use other codecs
5886impl flutter_rust_bridge::IntoDart for crate::models::RedeemOnchainFundsResponse {
5887    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5888        [self.txid.into_into_dart().into_dart()].into_dart()
5889    }
5890}
5891impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5892    for crate::models::RedeemOnchainFundsResponse
5893{
5894}
5895impl flutter_rust_bridge::IntoIntoDart<crate::models::RedeemOnchainFundsResponse>
5896    for crate::models::RedeemOnchainFundsResponse
5897{
5898    fn into_into_dart(self) -> crate::models::RedeemOnchainFundsResponse {
5899        self
5900    }
5901}
5902// Codec=Dco (DartCObject based), see doc to use other codecs
5903impl flutter_rust_bridge::IntoDart for crate::models::RefundRequest {
5904    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5905        [
5906            self.swap_address.into_into_dart().into_dart(),
5907            self.to_address.into_into_dart().into_dart(),
5908            self.sat_per_vbyte.into_into_dart().into_dart(),
5909            self.unilateral.into_into_dart().into_dart(),
5910        ]
5911        .into_dart()
5912    }
5913}
5914impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::RefundRequest {}
5915impl flutter_rust_bridge::IntoIntoDart<crate::models::RefundRequest>
5916    for crate::models::RefundRequest
5917{
5918    fn into_into_dart(self) -> crate::models::RefundRequest {
5919        self
5920    }
5921}
5922// Codec=Dco (DartCObject based), see doc to use other codecs
5923impl flutter_rust_bridge::IntoDart for crate::models::RefundResponse {
5924    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5925        [self.refund_tx_id.into_into_dart().into_dart()].into_dart()
5926    }
5927}
5928impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::RefundResponse {}
5929impl flutter_rust_bridge::IntoIntoDart<crate::models::RefundResponse>
5930    for crate::models::RefundResponse
5931{
5932    fn into_into_dart(self) -> crate::models::RefundResponse {
5933        self
5934    }
5935}
5936// Codec=Dco (DartCObject based), see doc to use other codecs
5937impl flutter_rust_bridge::IntoDart for crate::models::ReportIssueRequest {
5938    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5939        match self {
5940            crate::models::ReportIssueRequest::PaymentFailure { data } => {
5941                [0.into_dart(), data.into_into_dart().into_dart()].into_dart()
5942            }
5943            _ => {
5944                unimplemented!("");
5945            }
5946        }
5947    }
5948}
5949impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5950    for crate::models::ReportIssueRequest
5951{
5952}
5953impl flutter_rust_bridge::IntoIntoDart<crate::models::ReportIssueRequest>
5954    for crate::models::ReportIssueRequest
5955{
5956    fn into_into_dart(self) -> crate::models::ReportIssueRequest {
5957        self
5958    }
5959}
5960// Codec=Dco (DartCObject based), see doc to use other codecs
5961impl flutter_rust_bridge::IntoDart for crate::models::ReportPaymentFailureDetails {
5962    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5963        [
5964            self.payment_hash.into_into_dart().into_dart(),
5965            self.comment.into_into_dart().into_dart(),
5966        ]
5967        .into_dart()
5968    }
5969}
5970impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5971    for crate::models::ReportPaymentFailureDetails
5972{
5973}
5974impl flutter_rust_bridge::IntoIntoDart<crate::models::ReportPaymentFailureDetails>
5975    for crate::models::ReportPaymentFailureDetails
5976{
5977    fn into_into_dart(self) -> crate::models::ReportPaymentFailureDetails {
5978        self
5979    }
5980}
5981// Codec=Dco (DartCObject based), see doc to use other codecs
5982impl flutter_rust_bridge::IntoDart for crate::models::ReverseSwapFeesRequest {
5983    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5984        [
5985            self.send_amount_sat.into_into_dart().into_dart(),
5986            self.claim_tx_feerate.into_into_dart().into_dart(),
5987        ]
5988        .into_dart()
5989    }
5990}
5991impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5992    for crate::models::ReverseSwapFeesRequest
5993{
5994}
5995impl flutter_rust_bridge::IntoIntoDart<crate::models::ReverseSwapFeesRequest>
5996    for crate::models::ReverseSwapFeesRequest
5997{
5998    fn into_into_dart(self) -> crate::models::ReverseSwapFeesRequest {
5999        self
6000    }
6001}
6002// Codec=Dco (DartCObject based), see doc to use other codecs
6003impl flutter_rust_bridge::IntoDart for crate::models::ReverseSwapInfo {
6004    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6005        [
6006            self.id.into_into_dart().into_dart(),
6007            self.claim_pubkey.into_into_dart().into_dart(),
6008            self.lockup_txid.into_into_dart().into_dart(),
6009            self.claim_txid.into_into_dart().into_dart(),
6010            self.onchain_amount_sat.into_into_dart().into_dart(),
6011            self.status.into_into_dart().into_dart(),
6012        ]
6013        .into_dart()
6014    }
6015}
6016impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6017    for crate::models::ReverseSwapInfo
6018{
6019}
6020impl flutter_rust_bridge::IntoIntoDart<crate::models::ReverseSwapInfo>
6021    for crate::models::ReverseSwapInfo
6022{
6023    fn into_into_dart(self) -> crate::models::ReverseSwapInfo {
6024        self
6025    }
6026}
6027// Codec=Dco (DartCObject based), see doc to use other codecs
6028impl flutter_rust_bridge::IntoDart for crate::models::ReverseSwapPairInfo {
6029    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6030        [
6031            self.min.into_into_dart().into_dart(),
6032            self.max.into_into_dart().into_dart(),
6033            self.fees_hash.into_into_dart().into_dart(),
6034            self.fees_percentage.into_into_dart().into_dart(),
6035            self.fees_lockup.into_into_dart().into_dart(),
6036            self.fees_claim.into_into_dart().into_dart(),
6037            self.total_fees.into_into_dart().into_dart(),
6038        ]
6039        .into_dart()
6040    }
6041}
6042impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6043    for crate::models::ReverseSwapPairInfo
6044{
6045}
6046impl flutter_rust_bridge::IntoIntoDart<crate::models::ReverseSwapPairInfo>
6047    for crate::models::ReverseSwapPairInfo
6048{
6049    fn into_into_dart(self) -> crate::models::ReverseSwapPairInfo {
6050        self
6051    }
6052}
6053// Codec=Dco (DartCObject based), see doc to use other codecs
6054impl flutter_rust_bridge::IntoDart for crate::models::ReverseSwapStatus {
6055    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6056        match self {
6057            Self::Initial => 0.into_dart(),
6058            Self::InProgress => 1.into_dart(),
6059            Self::Cancelled => 2.into_dart(),
6060            Self::CompletedSeen => 3.into_dart(),
6061            Self::CompletedConfirmed => 4.into_dart(),
6062            _ => unreachable!(),
6063        }
6064    }
6065}
6066impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6067    for crate::models::ReverseSwapStatus
6068{
6069}
6070impl flutter_rust_bridge::IntoIntoDart<crate::models::ReverseSwapStatus>
6071    for crate::models::ReverseSwapStatus
6072{
6073    fn into_into_dart(self) -> crate::models::ReverseSwapStatus {
6074        self
6075    }
6076}
6077// Codec=Dco (DartCObject based), see doc to use other codecs
6078impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::RouteHint> {
6079    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6080        [self.0.hops.into_into_dart().into_dart()].into_dart()
6081    }
6082}
6083impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6084    for FrbWrapper<crate::binding::RouteHint>
6085{
6086}
6087impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::RouteHint>>
6088    for crate::binding::RouteHint
6089{
6090    fn into_into_dart(self) -> FrbWrapper<crate::binding::RouteHint> {
6091        self.into()
6092    }
6093}
6094// Codec=Dco (DartCObject based), see doc to use other codecs
6095impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::RouteHintHop> {
6096    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6097        [
6098            self.0.src_node_id.into_into_dart().into_dart(),
6099            self.0.short_channel_id.into_into_dart().into_dart(),
6100            self.0.fees_base_msat.into_into_dart().into_dart(),
6101            self.0
6102                .fees_proportional_millionths
6103                .into_into_dart()
6104                .into_dart(),
6105            self.0.cltv_expiry_delta.into_into_dart().into_dart(),
6106            self.0.htlc_minimum_msat.into_into_dart().into_dart(),
6107            self.0.htlc_maximum_msat.into_into_dart().into_dart(),
6108        ]
6109        .into_dart()
6110    }
6111}
6112impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6113    for FrbWrapper<crate::binding::RouteHintHop>
6114{
6115}
6116impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::RouteHintHop>>
6117    for crate::binding::RouteHintHop
6118{
6119    fn into_into_dart(self) -> FrbWrapper<crate::binding::RouteHintHop> {
6120        self.into()
6121    }
6122}
6123// Codec=Dco (DartCObject based), see doc to use other codecs
6124impl flutter_rust_bridge::IntoDart for crate::models::SendPaymentRequest {
6125    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6126        [
6127            self.bolt11.into_into_dart().into_dart(),
6128            self.use_trampoline.into_into_dart().into_dart(),
6129            self.amount_msat.into_into_dart().into_dart(),
6130            self.label.into_into_dart().into_dart(),
6131        ]
6132        .into_dart()
6133    }
6134}
6135impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6136    for crate::models::SendPaymentRequest
6137{
6138}
6139impl flutter_rust_bridge::IntoIntoDart<crate::models::SendPaymentRequest>
6140    for crate::models::SendPaymentRequest
6141{
6142    fn into_into_dart(self) -> crate::models::SendPaymentRequest {
6143        self
6144    }
6145}
6146// Codec=Dco (DartCObject based), see doc to use other codecs
6147impl flutter_rust_bridge::IntoDart for crate::models::SendPaymentResponse {
6148    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6149        [self.payment.into_into_dart().into_dart()].into_dart()
6150    }
6151}
6152impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6153    for crate::models::SendPaymentResponse
6154{
6155}
6156impl flutter_rust_bridge::IntoIntoDart<crate::models::SendPaymentResponse>
6157    for crate::models::SendPaymentResponse
6158{
6159    fn into_into_dart(self) -> crate::models::SendPaymentResponse {
6160        self
6161    }
6162}
6163// Codec=Dco (DartCObject based), see doc to use other codecs
6164impl flutter_rust_bridge::IntoDart for crate::models::SendSpontaneousPaymentRequest {
6165    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6166        [
6167            self.node_id.into_into_dart().into_dart(),
6168            self.amount_msat.into_into_dart().into_dart(),
6169            self.extra_tlvs.into_into_dart().into_dart(),
6170            self.label.into_into_dart().into_dart(),
6171        ]
6172        .into_dart()
6173    }
6174}
6175impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6176    for crate::models::SendSpontaneousPaymentRequest
6177{
6178}
6179impl flutter_rust_bridge::IntoIntoDart<crate::models::SendSpontaneousPaymentRequest>
6180    for crate::models::SendSpontaneousPaymentRequest
6181{
6182    fn into_into_dart(self) -> crate::models::SendSpontaneousPaymentRequest {
6183        self
6184    }
6185}
6186// Codec=Dco (DartCObject based), see doc to use other codecs
6187impl flutter_rust_bridge::IntoDart for crate::models::ServiceHealthCheckResponse {
6188    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6189        [self.status.into_into_dart().into_dart()].into_dart()
6190    }
6191}
6192impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6193    for crate::models::ServiceHealthCheckResponse
6194{
6195}
6196impl flutter_rust_bridge::IntoIntoDart<crate::models::ServiceHealthCheckResponse>
6197    for crate::models::ServiceHealthCheckResponse
6198{
6199    fn into_into_dart(self) -> crate::models::ServiceHealthCheckResponse {
6200        self
6201    }
6202}
6203// Codec=Dco (DartCObject based), see doc to use other codecs
6204impl flutter_rust_bridge::IntoDart for crate::breez_services::SignMessageRequest {
6205    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6206        [self.message.into_into_dart().into_dart()].into_dart()
6207    }
6208}
6209impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6210    for crate::breez_services::SignMessageRequest
6211{
6212}
6213impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::SignMessageRequest>
6214    for crate::breez_services::SignMessageRequest
6215{
6216    fn into_into_dart(self) -> crate::breez_services::SignMessageRequest {
6217        self
6218    }
6219}
6220// Codec=Dco (DartCObject based), see doc to use other codecs
6221impl flutter_rust_bridge::IntoDart for crate::breez_services::SignMessageResponse {
6222    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6223        [self.signature.into_into_dart().into_dart()].into_dart()
6224    }
6225}
6226impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6227    for crate::breez_services::SignMessageResponse
6228{
6229}
6230impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::SignMessageResponse>
6231    for crate::breez_services::SignMessageResponse
6232{
6233    fn into_into_dart(self) -> crate::breez_services::SignMessageResponse {
6234        self
6235    }
6236}
6237// Codec=Dco (DartCObject based), see doc to use other codecs
6238impl flutter_rust_bridge::IntoDart for crate::models::StaticBackupRequest {
6239    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6240        [self.working_dir.into_into_dart().into_dart()].into_dart()
6241    }
6242}
6243impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6244    for crate::models::StaticBackupRequest
6245{
6246}
6247impl flutter_rust_bridge::IntoIntoDart<crate::models::StaticBackupRequest>
6248    for crate::models::StaticBackupRequest
6249{
6250    fn into_into_dart(self) -> crate::models::StaticBackupRequest {
6251        self
6252    }
6253}
6254// Codec=Dco (DartCObject based), see doc to use other codecs
6255impl flutter_rust_bridge::IntoDart for crate::models::StaticBackupResponse {
6256    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6257        [self.backup.into_into_dart().into_dart()].into_dart()
6258    }
6259}
6260impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6261    for crate::models::StaticBackupResponse
6262{
6263}
6264impl flutter_rust_bridge::IntoIntoDart<crate::models::StaticBackupResponse>
6265    for crate::models::StaticBackupResponse
6266{
6267    fn into_into_dart(self) -> crate::models::StaticBackupResponse {
6268        self
6269    }
6270}
6271// Codec=Dco (DartCObject based), see doc to use other codecs
6272impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::SuccessActionProcessed> {
6273    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6274        match self.0 {
6275            crate::binding::SuccessActionProcessed::Aes { result } => {
6276                [0.into_dart(), result.into_into_dart().into_dart()].into_dart()
6277            }
6278            crate::binding::SuccessActionProcessed::Message { data } => {
6279                [1.into_dart(), data.into_into_dart().into_dart()].into_dart()
6280            }
6281            crate::binding::SuccessActionProcessed::Url { data } => {
6282                [2.into_dart(), data.into_into_dart().into_dart()].into_dart()
6283            }
6284            _ => {
6285                unimplemented!("");
6286            }
6287        }
6288    }
6289}
6290impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6291    for FrbWrapper<crate::binding::SuccessActionProcessed>
6292{
6293}
6294impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::SuccessActionProcessed>>
6295    for crate::binding::SuccessActionProcessed
6296{
6297    fn into_into_dart(self) -> FrbWrapper<crate::binding::SuccessActionProcessed> {
6298        self.into()
6299    }
6300}
6301// Codec=Dco (DartCObject based), see doc to use other codecs
6302impl flutter_rust_bridge::IntoDart for crate::models::SwapAmountType {
6303    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6304        match self {
6305            Self::Send => 0.into_dart(),
6306            Self::Receive => 1.into_dart(),
6307            _ => unreachable!(),
6308        }
6309    }
6310}
6311impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::SwapAmountType {}
6312impl flutter_rust_bridge::IntoIntoDart<crate::models::SwapAmountType>
6313    for crate::models::SwapAmountType
6314{
6315    fn into_into_dart(self) -> crate::models::SwapAmountType {
6316        self
6317    }
6318}
6319// Codec=Dco (DartCObject based), see doc to use other codecs
6320impl flutter_rust_bridge::IntoDart for crate::models::SwapInfo {
6321    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6322        [
6323            self.bitcoin_address.into_into_dart().into_dart(),
6324            self.created_at.into_into_dart().into_dart(),
6325            self.lock_height.into_into_dart().into_dart(),
6326            self.payment_hash.into_into_dart().into_dart(),
6327            self.preimage.into_into_dart().into_dart(),
6328            self.private_key.into_into_dart().into_dart(),
6329            self.public_key.into_into_dart().into_dart(),
6330            self.swapper_public_key.into_into_dart().into_dart(),
6331            self.script.into_into_dart().into_dart(),
6332            self.bolt11.into_into_dart().into_dart(),
6333            self.paid_msat.into_into_dart().into_dart(),
6334            self.total_incoming_txs.into_into_dart().into_dart(),
6335            self.confirmed_sats.into_into_dart().into_dart(),
6336            self.unconfirmed_sats.into_into_dart().into_dart(),
6337            self.status.into_into_dart().into_dart(),
6338            self.refund_tx_ids.into_into_dart().into_dart(),
6339            self.unconfirmed_tx_ids.into_into_dart().into_dart(),
6340            self.confirmed_tx_ids.into_into_dart().into_dart(),
6341            self.min_allowed_deposit.into_into_dart().into_dart(),
6342            self.max_allowed_deposit.into_into_dart().into_dart(),
6343            self.max_swapper_payable.into_into_dart().into_dart(),
6344            self.last_redeem_error.into_into_dart().into_dart(),
6345            self.channel_opening_fees.into_into_dart().into_dart(),
6346            self.confirmed_at.into_into_dart().into_dart(),
6347        ]
6348        .into_dart()
6349    }
6350}
6351impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::SwapInfo {}
6352impl flutter_rust_bridge::IntoIntoDart<crate::models::SwapInfo> for crate::models::SwapInfo {
6353    fn into_into_dart(self) -> crate::models::SwapInfo {
6354        self
6355    }
6356}
6357// Codec=Dco (DartCObject based), see doc to use other codecs
6358impl flutter_rust_bridge::IntoDart for crate::models::SwapStatus {
6359    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6360        match self {
6361            Self::Initial => 0.into_dart(),
6362            Self::WaitingConfirmation => 1.into_dart(),
6363            Self::Redeemable => 2.into_dart(),
6364            Self::Redeemed => 3.into_dart(),
6365            Self::Refundable => 4.into_dart(),
6366            Self::Completed => 5.into_dart(),
6367            _ => unreachable!(),
6368        }
6369    }
6370}
6371impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::SwapStatus {}
6372impl flutter_rust_bridge::IntoIntoDart<crate::models::SwapStatus> for crate::models::SwapStatus {
6373    fn into_into_dart(self) -> crate::models::SwapStatus {
6374        self
6375    }
6376}
6377// Codec=Dco (DartCObject based), see doc to use other codecs
6378impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::Symbol> {
6379    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6380        [
6381            self.0.grapheme.into_into_dart().into_dart(),
6382            self.0.template.into_into_dart().into_dart(),
6383            self.0.rtl.into_into_dart().into_dart(),
6384            self.0.position.into_into_dart().into_dart(),
6385        ]
6386        .into_dart()
6387    }
6388}
6389impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6390    for FrbWrapper<crate::binding::Symbol>
6391{
6392}
6393impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::Symbol>>
6394    for crate::binding::Symbol
6395{
6396    fn into_into_dart(self) -> FrbWrapper<crate::binding::Symbol> {
6397        self.into()
6398    }
6399}
6400// Codec=Dco (DartCObject based), see doc to use other codecs
6401impl flutter_rust_bridge::IntoDart for crate::models::TlvEntry {
6402    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6403        [
6404            self.field_number.into_into_dart().into_dart(),
6405            self.value.into_into_dart().into_dart(),
6406        ]
6407        .into_dart()
6408    }
6409}
6410impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::TlvEntry {}
6411impl flutter_rust_bridge::IntoIntoDart<crate::models::TlvEntry> for crate::models::TlvEntry {
6412    fn into_into_dart(self) -> crate::models::TlvEntry {
6413        self
6414    }
6415}
6416// Codec=Dco (DartCObject based), see doc to use other codecs
6417impl flutter_rust_bridge::IntoDart for crate::models::UnspentTransactionOutput {
6418    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6419        [
6420            self.txid.into_into_dart().into_dart(),
6421            self.outnum.into_into_dart().into_dart(),
6422            self.amount_millisatoshi.into_into_dart().into_dart(),
6423            self.address.into_into_dart().into_dart(),
6424            self.reserved.into_into_dart().into_dart(),
6425        ]
6426        .into_dart()
6427    }
6428}
6429impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6430    for crate::models::UnspentTransactionOutput
6431{
6432}
6433impl flutter_rust_bridge::IntoIntoDart<crate::models::UnspentTransactionOutput>
6434    for crate::models::UnspentTransactionOutput
6435{
6436    fn into_into_dart(self) -> crate::models::UnspentTransactionOutput {
6437        self
6438    }
6439}
6440// Codec=Dco (DartCObject based), see doc to use other codecs
6441impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::UrlSuccessActionData> {
6442    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6443        [
6444            self.0.description.into_into_dart().into_dart(),
6445            self.0.url.into_into_dart().into_dart(),
6446            self.0.matches_callback_domain.into_into_dart().into_dart(),
6447        ]
6448        .into_dart()
6449    }
6450}
6451impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6452    for FrbWrapper<crate::binding::UrlSuccessActionData>
6453{
6454}
6455impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::UrlSuccessActionData>>
6456    for crate::binding::UrlSuccessActionData
6457{
6458    fn into_into_dart(self) -> FrbWrapper<crate::binding::UrlSuccessActionData> {
6459        self.into()
6460    }
6461}
6462
6463impl SseEncode for flutter_rust_bridge::for_generated::anyhow::Error {
6464    // Codec=Sse (Serialization based), see doc to use other codecs
6465    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6466        <String>::sse_encode(format!("{:?}", self), serializer);
6467    }
6468}
6469
6470impl SseEncode
6471    for StreamSink<crate::breez_services::BreezEvent, flutter_rust_bridge::for_generated::DcoCodec>
6472{
6473    // Codec=Sse (Serialization based), see doc to use other codecs
6474    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6475        unimplemented!("")
6476    }
6477}
6478
6479impl SseEncode
6480    for StreamSink<crate::models::LogEntry, flutter_rust_bridge::for_generated::DcoCodec>
6481{
6482    // Codec=Sse (Serialization based), see doc to use other codecs
6483    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6484        unimplemented!("")
6485    }
6486}
6487
6488impl SseEncode for String {
6489    // Codec=Sse (Serialization based), see doc to use other codecs
6490    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6491        <Vec<u8>>::sse_encode(self.into_bytes(), serializer);
6492    }
6493}
6494
6495impl SseEncode for crate::binding::AesSuccessActionDataDecrypted {
6496    // Codec=Sse (Serialization based), see doc to use other codecs
6497    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6498        <String>::sse_encode(self.description, serializer);
6499        <String>::sse_encode(self.plaintext, serializer);
6500    }
6501}
6502
6503impl SseEncode for crate::binding::AesSuccessActionDataResult {
6504    // Codec=Sse (Serialization based), see doc to use other codecs
6505    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6506        match self {
6507            crate::binding::AesSuccessActionDataResult::Decrypted { data } => {
6508                <i32>::sse_encode(0, serializer);
6509                <crate::binding::AesSuccessActionDataDecrypted>::sse_encode(data, serializer);
6510            }
6511            crate::binding::AesSuccessActionDataResult::ErrorStatus { reason } => {
6512                <i32>::sse_encode(1, serializer);
6513                <String>::sse_encode(reason, serializer);
6514            }
6515            _ => {
6516                unimplemented!("");
6517            }
6518        }
6519    }
6520}
6521
6522impl SseEncode for crate::breez_services::BackupFailedData {
6523    // Codec=Sse (Serialization based), see doc to use other codecs
6524    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6525        <String>::sse_encode(self.error, serializer);
6526    }
6527}
6528
6529impl SseEncode for crate::models::BackupStatus {
6530    // Codec=Sse (Serialization based), see doc to use other codecs
6531    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6532        <bool>::sse_encode(self.backed_up, serializer);
6533        <Option<u64>>::sse_encode(self.last_backup_time, serializer);
6534    }
6535}
6536
6537impl SseEncode for crate::binding::BindingEventListener {
6538    // Codec=Sse (Serialization based), see doc to use other codecs
6539    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {}
6540}
6541
6542impl SseEncode for crate::binding::BitcoinAddressData {
6543    // Codec=Sse (Serialization based), see doc to use other codecs
6544    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6545        <String>::sse_encode(self.address, serializer);
6546        <crate::binding::Network>::sse_encode(self.network, serializer);
6547        <Option<u64>>::sse_encode(self.amount_sat, serializer);
6548        <Option<String>>::sse_encode(self.label, serializer);
6549        <Option<String>>::sse_encode(self.message, serializer);
6550    }
6551}
6552
6553impl SseEncode for bool {
6554    // Codec=Sse (Serialization based), see doc to use other codecs
6555    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6556        serializer.cursor.write_u8(self as _).unwrap();
6557    }
6558}
6559
6560impl SseEncode for crate::breez_services::BreezEvent {
6561    // Codec=Sse (Serialization based), see doc to use other codecs
6562    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6563        match self {
6564            crate::breez_services::BreezEvent::NewBlock { block } => {
6565                <i32>::sse_encode(0, serializer);
6566                <u32>::sse_encode(block, serializer);
6567            }
6568            crate::breez_services::BreezEvent::InvoicePaid { details } => {
6569                <i32>::sse_encode(1, serializer);
6570                <crate::breez_services::InvoicePaidDetails>::sse_encode(details, serializer);
6571            }
6572            crate::breez_services::BreezEvent::Synced => {
6573                <i32>::sse_encode(2, serializer);
6574            }
6575            crate::breez_services::BreezEvent::PaymentSucceed { details } => {
6576                <i32>::sse_encode(3, serializer);
6577                <crate::models::Payment>::sse_encode(details, serializer);
6578            }
6579            crate::breez_services::BreezEvent::PaymentFailed { details } => {
6580                <i32>::sse_encode(4, serializer);
6581                <crate::breez_services::PaymentFailedData>::sse_encode(details, serializer);
6582            }
6583            crate::breez_services::BreezEvent::BackupStarted => {
6584                <i32>::sse_encode(5, serializer);
6585            }
6586            crate::breez_services::BreezEvent::BackupSucceeded => {
6587                <i32>::sse_encode(6, serializer);
6588            }
6589            crate::breez_services::BreezEvent::BackupFailed { details } => {
6590                <i32>::sse_encode(7, serializer);
6591                <crate::breez_services::BackupFailedData>::sse_encode(details, serializer);
6592            }
6593            crate::breez_services::BreezEvent::ReverseSwapUpdated { details } => {
6594                <i32>::sse_encode(8, serializer);
6595                <crate::models::ReverseSwapInfo>::sse_encode(details, serializer);
6596            }
6597            crate::breez_services::BreezEvent::SwapUpdated { details } => {
6598                <i32>::sse_encode(9, serializer);
6599                <crate::models::SwapInfo>::sse_encode(details, serializer);
6600            }
6601            _ => {
6602                unimplemented!("");
6603            }
6604        }
6605    }
6606}
6607
6608impl SseEncode for crate::models::BuyBitcoinProvider {
6609    // Codec=Sse (Serialization based), see doc to use other codecs
6610    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6611        <i32>::sse_encode(
6612            match self {
6613                crate::models::BuyBitcoinProvider::Moonpay => 0,
6614                _ => {
6615                    unimplemented!("");
6616                }
6617            },
6618            serializer,
6619        );
6620    }
6621}
6622
6623impl SseEncode for crate::models::BuyBitcoinRequest {
6624    // Codec=Sse (Serialization based), see doc to use other codecs
6625    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6626        <crate::models::BuyBitcoinProvider>::sse_encode(self.provider, serializer);
6627        <Option<crate::models::OpeningFeeParams>>::sse_encode(self.opening_fee_params, serializer);
6628        <Option<String>>::sse_encode(self.redirect_url, serializer);
6629    }
6630}
6631
6632impl SseEncode for crate::models::BuyBitcoinResponse {
6633    // Codec=Sse (Serialization based), see doc to use other codecs
6634    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6635        <String>::sse_encode(self.url, serializer);
6636        <Option<crate::models::OpeningFeeParams>>::sse_encode(self.opening_fee_params, serializer);
6637    }
6638}
6639
6640impl SseEncode for crate::models::ChannelState {
6641    // Codec=Sse (Serialization based), see doc to use other codecs
6642    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6643        <i32>::sse_encode(
6644            match self {
6645                crate::models::ChannelState::PendingOpen => 0,
6646                crate::models::ChannelState::Opened => 1,
6647                crate::models::ChannelState::PendingClose => 2,
6648                crate::models::ChannelState::Closed => 3,
6649                _ => {
6650                    unimplemented!("");
6651                }
6652            },
6653            serializer,
6654        );
6655    }
6656}
6657
6658impl SseEncode for crate::breez_services::CheckMessageRequest {
6659    // Codec=Sse (Serialization based), see doc to use other codecs
6660    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6661        <String>::sse_encode(self.message, serializer);
6662        <String>::sse_encode(self.pubkey, serializer);
6663        <String>::sse_encode(self.signature, serializer);
6664    }
6665}
6666
6667impl SseEncode for crate::breez_services::CheckMessageResponse {
6668    // Codec=Sse (Serialization based), see doc to use other codecs
6669    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6670        <bool>::sse_encode(self.is_valid, serializer);
6671    }
6672}
6673
6674impl SseEncode for crate::models::ClosedChannelPaymentDetails {
6675    // Codec=Sse (Serialization based), see doc to use other codecs
6676    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6677        <crate::models::ChannelState>::sse_encode(self.state, serializer);
6678        <String>::sse_encode(self.funding_txid, serializer);
6679        <Option<String>>::sse_encode(self.short_channel_id, serializer);
6680        <Option<String>>::sse_encode(self.closing_txid, serializer);
6681    }
6682}
6683
6684impl SseEncode for crate::models::Config {
6685    // Codec=Sse (Serialization based), see doc to use other codecs
6686    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6687        <String>::sse_encode(self.breezserver, serializer);
6688        <String>::sse_encode(self.chainnotifier_url, serializer);
6689        <Option<String>>::sse_encode(self.mempoolspace_url, serializer);
6690        <String>::sse_encode(self.working_dir, serializer);
6691        <crate::binding::Network>::sse_encode(self.network, serializer);
6692        <u32>::sse_encode(self.payment_timeout_sec, serializer);
6693        <Option<String>>::sse_encode(self.default_lsp_id, serializer);
6694        <Option<String>>::sse_encode(self.api_key, serializer);
6695        <f64>::sse_encode(self.maxfee_percent, serializer);
6696        <u64>::sse_encode(self.exemptfee_msat, serializer);
6697        <crate::models::NodeConfig>::sse_encode(self.node_config, serializer);
6698    }
6699}
6700
6701impl SseEncode for crate::models::ConfigureNodeRequest {
6702    // Codec=Sse (Serialization based), see doc to use other codecs
6703    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6704        <Option<String>>::sse_encode(self.close_to_address, serializer);
6705    }
6706}
6707
6708impl SseEncode for crate::models::ConnectRequest {
6709    // Codec=Sse (Serialization based), see doc to use other codecs
6710    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6711        <crate::models::Config>::sse_encode(self.config, serializer);
6712        <Vec<u8>>::sse_encode(self.seed, serializer);
6713        <Option<bool>>::sse_encode(self.restore_only, serializer);
6714    }
6715}
6716
6717impl SseEncode for crate::binding::CurrencyInfo {
6718    // Codec=Sse (Serialization based), see doc to use other codecs
6719    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6720        <String>::sse_encode(self.name, serializer);
6721        <u32>::sse_encode(self.fraction_size, serializer);
6722        <Option<u32>>::sse_encode(self.spacing, serializer);
6723        <Option<crate::binding::Symbol>>::sse_encode(self.symbol, serializer);
6724        <Option<crate::binding::Symbol>>::sse_encode(self.uniq_symbol, serializer);
6725        <Vec<crate::binding::LocalizedName>>::sse_encode(self.localized_name, serializer);
6726        <Vec<crate::binding::LocaleOverrides>>::sse_encode(self.locale_overrides, serializer);
6727    }
6728}
6729
6730impl SseEncode for crate::models::EnvironmentType {
6731    // Codec=Sse (Serialization based), see doc to use other codecs
6732    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6733        <i32>::sse_encode(
6734            match self {
6735                crate::models::EnvironmentType::Production => 0,
6736                crate::models::EnvironmentType::Staging => 1,
6737                crate::models::EnvironmentType::Regtest => 2,
6738                _ => {
6739                    unimplemented!("");
6740                }
6741            },
6742            serializer,
6743        );
6744    }
6745}
6746
6747impl SseEncode for f64 {
6748    // Codec=Sse (Serialization based), see doc to use other codecs
6749    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6750        serializer.cursor.write_f64::<NativeEndian>(self).unwrap();
6751    }
6752}
6753
6754impl SseEncode for crate::binding::FiatCurrency {
6755    // Codec=Sse (Serialization based), see doc to use other codecs
6756    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6757        <String>::sse_encode(self.id, serializer);
6758        <crate::binding::CurrencyInfo>::sse_encode(self.info, serializer);
6759    }
6760}
6761
6762impl SseEncode for crate::models::GreenlightCredentials {
6763    // Codec=Sse (Serialization based), see doc to use other codecs
6764    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6765        <Vec<u8>>::sse_encode(self.developer_key, serializer);
6766        <Vec<u8>>::sse_encode(self.developer_cert, serializer);
6767    }
6768}
6769
6770impl SseEncode for crate::models::GreenlightDeviceCredentials {
6771    // Codec=Sse (Serialization based), see doc to use other codecs
6772    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6773        <Vec<u8>>::sse_encode(self.device, serializer);
6774    }
6775}
6776
6777impl SseEncode for crate::models::GreenlightNodeConfig {
6778    // Codec=Sse (Serialization based), see doc to use other codecs
6779    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6780        <Option<crate::models::GreenlightCredentials>>::sse_encode(
6781            self.partner_credentials,
6782            serializer,
6783        );
6784        <Option<String>>::sse_encode(self.invite_code, serializer);
6785    }
6786}
6787
6788impl SseEncode for crate::models::HealthCheckStatus {
6789    // Codec=Sse (Serialization based), see doc to use other codecs
6790    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6791        <i32>::sse_encode(
6792            match self {
6793                crate::models::HealthCheckStatus::Operational => 0,
6794                crate::models::HealthCheckStatus::Maintenance => 1,
6795                crate::models::HealthCheckStatus::ServiceDisruption => 2,
6796                _ => {
6797                    unimplemented!("");
6798                }
6799            },
6800            serializer,
6801        );
6802    }
6803}
6804
6805impl SseEncode for i32 {
6806    // Codec=Sse (Serialization based), see doc to use other codecs
6807    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6808        serializer.cursor.write_i32::<NativeEndian>(self).unwrap();
6809    }
6810}
6811
6812impl SseEncode for i64 {
6813    // Codec=Sse (Serialization based), see doc to use other codecs
6814    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6815        serializer.cursor.write_i64::<NativeEndian>(self).unwrap();
6816    }
6817}
6818
6819impl SseEncode for crate::binding::InputType {
6820    // Codec=Sse (Serialization based), see doc to use other codecs
6821    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6822        match self {
6823            crate::binding::InputType::BitcoinAddress { address } => {
6824                <i32>::sse_encode(0, serializer);
6825                <crate::binding::BitcoinAddressData>::sse_encode(address, serializer);
6826            }
6827            crate::binding::InputType::Bolt11 { invoice } => {
6828                <i32>::sse_encode(1, serializer);
6829                <crate::binding::LNInvoice>::sse_encode(invoice, serializer);
6830            }
6831            crate::binding::InputType::NodeId { node_id } => {
6832                <i32>::sse_encode(2, serializer);
6833                <String>::sse_encode(node_id, serializer);
6834            }
6835            crate::binding::InputType::Url { url } => {
6836                <i32>::sse_encode(3, serializer);
6837                <String>::sse_encode(url, serializer);
6838            }
6839            crate::binding::InputType::LnUrlPay {
6840                data,
6841                bip353_address,
6842            } => {
6843                <i32>::sse_encode(4, serializer);
6844                <crate::binding::LnUrlPayRequestData>::sse_encode(data, serializer);
6845                <Option<String>>::sse_encode(bip353_address, serializer);
6846            }
6847            crate::binding::InputType::LnUrlWithdraw { data } => {
6848                <i32>::sse_encode(5, serializer);
6849                <crate::binding::LnUrlWithdrawRequestData>::sse_encode(data, serializer);
6850            }
6851            crate::binding::InputType::LnUrlAuth { data } => {
6852                <i32>::sse_encode(6, serializer);
6853                <crate::binding::LnUrlAuthRequestData>::sse_encode(data, serializer);
6854            }
6855            crate::binding::InputType::LnUrlError { data } => {
6856                <i32>::sse_encode(7, serializer);
6857                <crate::binding::LnUrlErrorData>::sse_encode(data, serializer);
6858            }
6859            _ => {
6860                unimplemented!("");
6861            }
6862        }
6863    }
6864}
6865
6866impl SseEncode for crate::breez_services::InvoicePaidDetails {
6867    // Codec=Sse (Serialization based), see doc to use other codecs
6868    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6869        <String>::sse_encode(self.payment_hash, serializer);
6870        <String>::sse_encode(self.bolt11, serializer);
6871        <Option<crate::models::Payment>>::sse_encode(self.payment, serializer);
6872    }
6873}
6874
6875impl SseEncode for Vec<String> {
6876    // Codec=Sse (Serialization based), see doc to use other codecs
6877    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6878        <i32>::sse_encode(self.len() as _, serializer);
6879        for item in self {
6880            <String>::sse_encode(item, serializer);
6881        }
6882    }
6883}
6884
6885impl SseEncode for Vec<crate::binding::FiatCurrency> {
6886    // Codec=Sse (Serialization based), see doc to use other codecs
6887    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6888        <i32>::sse_encode(self.len() as _, serializer);
6889        for item in self {
6890            <crate::binding::FiatCurrency>::sse_encode(item, serializer);
6891        }
6892    }
6893}
6894
6895impl SseEncode for Vec<crate::binding::LocaleOverrides> {
6896    // Codec=Sse (Serialization based), see doc to use other codecs
6897    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6898        <i32>::sse_encode(self.len() as _, serializer);
6899        for item in self {
6900            <crate::binding::LocaleOverrides>::sse_encode(item, serializer);
6901        }
6902    }
6903}
6904
6905impl SseEncode for Vec<crate::binding::LocalizedName> {
6906    // Codec=Sse (Serialization based), see doc to use other codecs
6907    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6908        <i32>::sse_encode(self.len() as _, serializer);
6909        for item in self {
6910            <crate::binding::LocalizedName>::sse_encode(item, serializer);
6911        }
6912    }
6913}
6914
6915impl SseEncode for Vec<crate::lsp::LspInformation> {
6916    // Codec=Sse (Serialization based), see doc to use other codecs
6917    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6918        <i32>::sse_encode(self.len() as _, serializer);
6919        for item in self {
6920            <crate::lsp::LspInformation>::sse_encode(item, serializer);
6921        }
6922    }
6923}
6924
6925impl SseEncode for Vec<crate::models::MetadataFilter> {
6926    // Codec=Sse (Serialization based), see doc to use other codecs
6927    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6928        <i32>::sse_encode(self.len() as _, serializer);
6929        for item in self {
6930            <crate::models::MetadataFilter>::sse_encode(item, serializer);
6931        }
6932    }
6933}
6934
6935impl SseEncode for Vec<crate::models::OpeningFeeParams> {
6936    // Codec=Sse (Serialization based), see doc to use other codecs
6937    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6938        <i32>::sse_encode(self.len() as _, serializer);
6939        for item in self {
6940            <crate::models::OpeningFeeParams>::sse_encode(item, serializer);
6941        }
6942    }
6943}
6944
6945impl SseEncode for Vec<crate::models::Payment> {
6946    // Codec=Sse (Serialization based), see doc to use other codecs
6947    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6948        <i32>::sse_encode(self.len() as _, serializer);
6949        for item in self {
6950            <crate::models::Payment>::sse_encode(item, serializer);
6951        }
6952    }
6953}
6954
6955impl SseEncode for Vec<crate::models::PaymentTypeFilter> {
6956    // Codec=Sse (Serialization based), see doc to use other codecs
6957    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6958        <i32>::sse_encode(self.len() as _, serializer);
6959        for item in self {
6960            <crate::models::PaymentTypeFilter>::sse_encode(item, serializer);
6961        }
6962    }
6963}
6964
6965impl SseEncode for crate::models::ListPaymentsRequest {
6966    // Codec=Sse (Serialization based), see doc to use other codecs
6967    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6968        <Option<Vec<crate::models::PaymentTypeFilter>>>::sse_encode(self.filters, serializer);
6969        <Option<Vec<crate::models::MetadataFilter>>>::sse_encode(self.metadata_filters, serializer);
6970        <Option<i64>>::sse_encode(self.from_timestamp, serializer);
6971        <Option<i64>>::sse_encode(self.to_timestamp, serializer);
6972        <Option<bool>>::sse_encode(self.include_failures, serializer);
6973        <Option<u32>>::sse_encode(self.offset, serializer);
6974        <Option<u32>>::sse_encode(self.limit, serializer);
6975    }
6976}
6977
6978impl SseEncode for Vec<u8> {
6979    // Codec=Sse (Serialization based), see doc to use other codecs
6980    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6981        <i32>::sse_encode(self.len() as _, serializer);
6982        for item in self {
6983            <u8>::sse_encode(item, serializer);
6984        }
6985    }
6986}
6987
6988impl SseEncode for Vec<crate::binding::Rate> {
6989    // Codec=Sse (Serialization based), see doc to use other codecs
6990    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6991        <i32>::sse_encode(self.len() as _, serializer);
6992        for item in self {
6993            <crate::binding::Rate>::sse_encode(item, serializer);
6994        }
6995    }
6996}
6997
6998impl SseEncode for Vec<crate::models::ReverseSwapInfo> {
6999    // Codec=Sse (Serialization based), see doc to use other codecs
7000    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7001        <i32>::sse_encode(self.len() as _, serializer);
7002        for item in self {
7003            <crate::models::ReverseSwapInfo>::sse_encode(item, serializer);
7004        }
7005    }
7006}
7007
7008impl SseEncode for Vec<crate::binding::RouteHint> {
7009    // Codec=Sse (Serialization based), see doc to use other codecs
7010    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7011        <i32>::sse_encode(self.len() as _, serializer);
7012        for item in self {
7013            <crate::binding::RouteHint>::sse_encode(item, serializer);
7014        }
7015    }
7016}
7017
7018impl SseEncode for Vec<crate::binding::RouteHintHop> {
7019    // Codec=Sse (Serialization based), see doc to use other codecs
7020    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7021        <i32>::sse_encode(self.len() as _, serializer);
7022        for item in self {
7023            <crate::binding::RouteHintHop>::sse_encode(item, serializer);
7024        }
7025    }
7026}
7027
7028impl SseEncode for Vec<crate::models::SwapInfo> {
7029    // Codec=Sse (Serialization based), see doc to use other codecs
7030    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7031        <i32>::sse_encode(self.len() as _, serializer);
7032        for item in self {
7033            <crate::models::SwapInfo>::sse_encode(item, serializer);
7034        }
7035    }
7036}
7037
7038impl SseEncode for Vec<crate::models::SwapStatus> {
7039    // Codec=Sse (Serialization based), see doc to use other codecs
7040    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7041        <i32>::sse_encode(self.len() as _, serializer);
7042        for item in self {
7043            <crate::models::SwapStatus>::sse_encode(item, serializer);
7044        }
7045    }
7046}
7047
7048impl SseEncode for crate::models::ListSwapsRequest {
7049    // Codec=Sse (Serialization based), see doc to use other codecs
7050    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7051        <Option<Vec<crate::models::SwapStatus>>>::sse_encode(self.status, serializer);
7052        <Option<i64>>::sse_encode(self.from_timestamp, serializer);
7053        <Option<i64>>::sse_encode(self.to_timestamp, serializer);
7054        <Option<u32>>::sse_encode(self.offset, serializer);
7055        <Option<u32>>::sse_encode(self.limit, serializer);
7056    }
7057}
7058
7059impl SseEncode for Vec<crate::models::TlvEntry> {
7060    // Codec=Sse (Serialization based), see doc to use other codecs
7061    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7062        <i32>::sse_encode(self.len() as _, serializer);
7063        for item in self {
7064            <crate::models::TlvEntry>::sse_encode(item, serializer);
7065        }
7066    }
7067}
7068
7069impl SseEncode for Vec<crate::models::UnspentTransactionOutput> {
7070    // Codec=Sse (Serialization based), see doc to use other codecs
7071    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7072        <i32>::sse_encode(self.len() as _, serializer);
7073        for item in self {
7074            <crate::models::UnspentTransactionOutput>::sse_encode(item, serializer);
7075        }
7076    }
7077}
7078
7079impl SseEncode for crate::binding::LNInvoice {
7080    // Codec=Sse (Serialization based), see doc to use other codecs
7081    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7082        <String>::sse_encode(self.bolt11, serializer);
7083        <crate::binding::Network>::sse_encode(self.network, serializer);
7084        <String>::sse_encode(self.payee_pubkey, serializer);
7085        <String>::sse_encode(self.payment_hash, serializer);
7086        <Option<String>>::sse_encode(self.description, serializer);
7087        <Option<String>>::sse_encode(self.description_hash, serializer);
7088        <Option<u64>>::sse_encode(self.amount_msat, serializer);
7089        <u64>::sse_encode(self.timestamp, serializer);
7090        <u64>::sse_encode(self.expiry, serializer);
7091        <Vec<crate::binding::RouteHint>>::sse_encode(self.routing_hints, serializer);
7092        <Vec<u8>>::sse_encode(self.payment_secret, serializer);
7093        <u64>::sse_encode(self.min_final_cltv_expiry_delta, serializer);
7094    }
7095}
7096
7097impl SseEncode for crate::models::LnPaymentDetails {
7098    // Codec=Sse (Serialization based), see doc to use other codecs
7099    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7100        <String>::sse_encode(self.payment_hash, serializer);
7101        <String>::sse_encode(self.label, serializer);
7102        <String>::sse_encode(self.destination_pubkey, serializer);
7103        <String>::sse_encode(self.payment_preimage, serializer);
7104        <bool>::sse_encode(self.keysend, serializer);
7105        <String>::sse_encode(self.bolt11, serializer);
7106        <Option<String>>::sse_encode(self.open_channel_bolt11, serializer);
7107        <Option<crate::binding::SuccessActionProcessed>>::sse_encode(
7108            self.lnurl_success_action,
7109            serializer,
7110        );
7111        <Option<String>>::sse_encode(self.lnurl_pay_domain, serializer);
7112        <Option<String>>::sse_encode(self.lnurl_pay_comment, serializer);
7113        <Option<String>>::sse_encode(self.ln_address, serializer);
7114        <Option<String>>::sse_encode(self.lnurl_metadata, serializer);
7115        <Option<String>>::sse_encode(self.lnurl_withdraw_endpoint, serializer);
7116        <Option<crate::models::SwapInfo>>::sse_encode(self.swap_info, serializer);
7117        <Option<crate::models::ReverseSwapInfo>>::sse_encode(self.reverse_swap_info, serializer);
7118        <Option<u32>>::sse_encode(self.pending_expiration_block, serializer);
7119    }
7120}
7121
7122impl SseEncode for crate::binding::LnUrlAuthRequestData {
7123    // Codec=Sse (Serialization based), see doc to use other codecs
7124    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7125        <String>::sse_encode(self.k1, serializer);
7126        <Option<String>>::sse_encode(self.action, serializer);
7127        <String>::sse_encode(self.domain, serializer);
7128        <String>::sse_encode(self.url, serializer);
7129    }
7130}
7131
7132impl SseEncode for crate::binding::LnUrlCallbackStatus {
7133    // Codec=Sse (Serialization based), see doc to use other codecs
7134    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7135        match self {
7136            crate::binding::LnUrlCallbackStatus::Ok => {
7137                <i32>::sse_encode(0, serializer);
7138            }
7139            crate::binding::LnUrlCallbackStatus::ErrorStatus { data } => {
7140                <i32>::sse_encode(1, serializer);
7141                <crate::binding::LnUrlErrorData>::sse_encode(data, serializer);
7142            }
7143            _ => {
7144                unimplemented!("");
7145            }
7146        }
7147    }
7148}
7149
7150impl SseEncode for crate::binding::LnUrlErrorData {
7151    // Codec=Sse (Serialization based), see doc to use other codecs
7152    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7153        <String>::sse_encode(self.reason, serializer);
7154    }
7155}
7156
7157impl SseEncode for crate::binding::LnUrlPayErrorData {
7158    // Codec=Sse (Serialization based), see doc to use other codecs
7159    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7160        <String>::sse_encode(self.payment_hash, serializer);
7161        <String>::sse_encode(self.reason, serializer);
7162    }
7163}
7164
7165impl SseEncode for crate::binding::LnUrlPayRequest {
7166    // Codec=Sse (Serialization based), see doc to use other codecs
7167    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7168        <crate::binding::LnUrlPayRequestData>::sse_encode(self.data, serializer);
7169        <u64>::sse_encode(self.amount_msat, serializer);
7170        <bool>::sse_encode(self.use_trampoline, serializer);
7171        <Option<String>>::sse_encode(self.comment, serializer);
7172        <Option<String>>::sse_encode(self.payment_label, serializer);
7173        <Option<bool>>::sse_encode(self.validate_success_action_url, serializer);
7174    }
7175}
7176
7177impl SseEncode for crate::binding::LnUrlPayRequestData {
7178    // Codec=Sse (Serialization based), see doc to use other codecs
7179    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7180        <String>::sse_encode(self.callback, serializer);
7181        <u64>::sse_encode(self.min_sendable, serializer);
7182        <u64>::sse_encode(self.max_sendable, serializer);
7183        <String>::sse_encode(self.metadata_str, serializer);
7184        <u16>::sse_encode(self.comment_allowed, serializer);
7185        <String>::sse_encode(self.domain, serializer);
7186        <bool>::sse_encode(self.allows_nostr, serializer);
7187        <Option<String>>::sse_encode(self.nostr_pubkey, serializer);
7188        <Option<String>>::sse_encode(self.ln_address, serializer);
7189    }
7190}
7191
7192impl SseEncode for crate::lnurl::pay::LnUrlPayResult {
7193    // Codec=Sse (Serialization based), see doc to use other codecs
7194    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7195        match self {
7196            crate::lnurl::pay::LnUrlPayResult::EndpointSuccess { data } => {
7197                <i32>::sse_encode(0, serializer);
7198                <crate::lnurl::pay::LnUrlPaySuccessData>::sse_encode(data, serializer);
7199            }
7200            crate::lnurl::pay::LnUrlPayResult::EndpointError { data } => {
7201                <i32>::sse_encode(1, serializer);
7202                <crate::binding::LnUrlErrorData>::sse_encode(data, serializer);
7203            }
7204            crate::lnurl::pay::LnUrlPayResult::PayError { data } => {
7205                <i32>::sse_encode(2, serializer);
7206                <crate::binding::LnUrlPayErrorData>::sse_encode(data, serializer);
7207            }
7208            _ => {
7209                unimplemented!("");
7210            }
7211        }
7212    }
7213}
7214
7215impl SseEncode for crate::lnurl::pay::LnUrlPaySuccessData {
7216    // Codec=Sse (Serialization based), see doc to use other codecs
7217    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7218        <crate::models::Payment>::sse_encode(self.payment, serializer);
7219        <Option<crate::binding::SuccessActionProcessed>>::sse_encode(
7220            self.success_action,
7221            serializer,
7222        );
7223    }
7224}
7225
7226impl SseEncode for crate::binding::LnUrlWithdrawRequest {
7227    // Codec=Sse (Serialization based), see doc to use other codecs
7228    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7229        <crate::binding::LnUrlWithdrawRequestData>::sse_encode(self.data, serializer);
7230        <u64>::sse_encode(self.amount_msat, serializer);
7231        <Option<String>>::sse_encode(self.description, serializer);
7232    }
7233}
7234
7235impl SseEncode for crate::binding::LnUrlWithdrawRequestData {
7236    // Codec=Sse (Serialization based), see doc to use other codecs
7237    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7238        <String>::sse_encode(self.callback, serializer);
7239        <String>::sse_encode(self.k1, serializer);
7240        <String>::sse_encode(self.default_description, serializer);
7241        <u64>::sse_encode(self.min_withdrawable, serializer);
7242        <u64>::sse_encode(self.max_withdrawable, serializer);
7243    }
7244}
7245
7246impl SseEncode for crate::binding::LnUrlWithdrawResult {
7247    // Codec=Sse (Serialization based), see doc to use other codecs
7248    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7249        match self {
7250            crate::binding::LnUrlWithdrawResult::Ok { data } => {
7251                <i32>::sse_encode(0, serializer);
7252                <crate::binding::LnUrlWithdrawSuccessData>::sse_encode(data, serializer);
7253            }
7254            crate::binding::LnUrlWithdrawResult::Timeout { data } => {
7255                <i32>::sse_encode(1, serializer);
7256                <crate::binding::LnUrlWithdrawSuccessData>::sse_encode(data, serializer);
7257            }
7258            crate::binding::LnUrlWithdrawResult::ErrorStatus { data } => {
7259                <i32>::sse_encode(2, serializer);
7260                <crate::binding::LnUrlErrorData>::sse_encode(data, serializer);
7261            }
7262            _ => {
7263                unimplemented!("");
7264            }
7265        }
7266    }
7267}
7268
7269impl SseEncode for crate::binding::LnUrlWithdrawSuccessData {
7270    // Codec=Sse (Serialization based), see doc to use other codecs
7271    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7272        <crate::binding::LNInvoice>::sse_encode(self.invoice, serializer);
7273    }
7274}
7275
7276impl SseEncode for crate::binding::LocaleOverrides {
7277    // Codec=Sse (Serialization based), see doc to use other codecs
7278    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7279        <String>::sse_encode(self.locale, serializer);
7280        <Option<u32>>::sse_encode(self.spacing, serializer);
7281        <crate::binding::Symbol>::sse_encode(self.symbol, serializer);
7282    }
7283}
7284
7285impl SseEncode for crate::binding::LocalizedName {
7286    // Codec=Sse (Serialization based), see doc to use other codecs
7287    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7288        <String>::sse_encode(self.locale, serializer);
7289        <String>::sse_encode(self.name, serializer);
7290    }
7291}
7292
7293impl SseEncode for crate::models::LogEntry {
7294    // Codec=Sse (Serialization based), see doc to use other codecs
7295    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7296        <String>::sse_encode(self.line, serializer);
7297        <String>::sse_encode(self.level, serializer);
7298    }
7299}
7300
7301impl SseEncode for crate::lsp::LspInformation {
7302    // Codec=Sse (Serialization based), see doc to use other codecs
7303    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7304        <String>::sse_encode(self.id, serializer);
7305        <String>::sse_encode(self.name, serializer);
7306        <String>::sse_encode(self.widget_url, serializer);
7307        <String>::sse_encode(self.pubkey, serializer);
7308        <String>::sse_encode(self.host, serializer);
7309        <i64>::sse_encode(self.base_fee_msat, serializer);
7310        <f64>::sse_encode(self.fee_rate, serializer);
7311        <u32>::sse_encode(self.time_lock_delta, serializer);
7312        <i64>::sse_encode(self.min_htlc_msat, serializer);
7313        <Vec<u8>>::sse_encode(self.lsp_pubkey, serializer);
7314        <crate::models::OpeningFeeParamsMenu>::sse_encode(self.opening_fee_params_list, serializer);
7315    }
7316}
7317
7318impl SseEncode for crate::binding::MessageSuccessActionData {
7319    // Codec=Sse (Serialization based), see doc to use other codecs
7320    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7321        <String>::sse_encode(self.message, serializer);
7322    }
7323}
7324
7325impl SseEncode for crate::models::MetadataFilter {
7326    // Codec=Sse (Serialization based), see doc to use other codecs
7327    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7328        <String>::sse_encode(self.json_path, serializer);
7329        <String>::sse_encode(self.json_value, serializer);
7330    }
7331}
7332
7333impl SseEncode for crate::binding::Network {
7334    // Codec=Sse (Serialization based), see doc to use other codecs
7335    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7336        <i32>::sse_encode(
7337            match self {
7338                crate::binding::Network::Bitcoin => 0,
7339                crate::binding::Network::Testnet => 1,
7340                crate::binding::Network::Signet => 2,
7341                crate::binding::Network::Regtest => 3,
7342                _ => {
7343                    unimplemented!("");
7344                }
7345            },
7346            serializer,
7347        );
7348    }
7349}
7350
7351impl SseEncode for crate::models::NodeConfig {
7352    // Codec=Sse (Serialization based), see doc to use other codecs
7353    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7354        match self {
7355            crate::models::NodeConfig::Greenlight { config } => {
7356                <i32>::sse_encode(0, serializer);
7357                <crate::models::GreenlightNodeConfig>::sse_encode(config, serializer);
7358            }
7359            _ => {
7360                unimplemented!("");
7361            }
7362        }
7363    }
7364}
7365
7366impl SseEncode for crate::models::NodeCredentials {
7367    // Codec=Sse (Serialization based), see doc to use other codecs
7368    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7369        match self {
7370            crate::models::NodeCredentials::Greenlight { credentials } => {
7371                <i32>::sse_encode(0, serializer);
7372                <crate::models::GreenlightDeviceCredentials>::sse_encode(credentials, serializer);
7373            }
7374            _ => {
7375                unimplemented!("");
7376            }
7377        }
7378    }
7379}
7380
7381impl SseEncode for crate::models::NodeState {
7382    // Codec=Sse (Serialization based), see doc to use other codecs
7383    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7384        <String>::sse_encode(self.id, serializer);
7385        <u32>::sse_encode(self.block_height, serializer);
7386        <u64>::sse_encode(self.channels_balance_msat, serializer);
7387        <u64>::sse_encode(self.onchain_balance_msat, serializer);
7388        <u64>::sse_encode(self.pending_onchain_balance_msat, serializer);
7389        <Vec<crate::models::UnspentTransactionOutput>>::sse_encode(self.utxos, serializer);
7390        <u64>::sse_encode(self.max_payable_msat, serializer);
7391        <u64>::sse_encode(self.max_receivable_msat, serializer);
7392        <u64>::sse_encode(self.max_single_payment_amount_msat, serializer);
7393        <u64>::sse_encode(self.max_chan_reserve_msats, serializer);
7394        <Vec<String>>::sse_encode(self.connected_peers, serializer);
7395        <u64>::sse_encode(self.max_receivable_single_payment_amount_msat, serializer);
7396        <u64>::sse_encode(self.total_inbound_liquidity_msats, serializer);
7397    }
7398}
7399
7400impl SseEncode for crate::models::OnchainPaymentLimitsResponse {
7401    // Codec=Sse (Serialization based), see doc to use other codecs
7402    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7403        <u64>::sse_encode(self.min_sat, serializer);
7404        <u64>::sse_encode(self.max_sat, serializer);
7405        <u64>::sse_encode(self.max_payable_sat, serializer);
7406    }
7407}
7408
7409impl SseEncode for crate::models::OpenChannelFeeRequest {
7410    // Codec=Sse (Serialization based), see doc to use other codecs
7411    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7412        <Option<u64>>::sse_encode(self.amount_msat, serializer);
7413        <Option<u32>>::sse_encode(self.expiry, serializer);
7414    }
7415}
7416
7417impl SseEncode for crate::models::OpenChannelFeeResponse {
7418    // Codec=Sse (Serialization based), see doc to use other codecs
7419    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7420        <Option<u64>>::sse_encode(self.fee_msat, serializer);
7421        <crate::models::OpeningFeeParams>::sse_encode(self.fee_params, serializer);
7422    }
7423}
7424
7425impl SseEncode for crate::models::OpeningFeeParams {
7426    // Codec=Sse (Serialization based), see doc to use other codecs
7427    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7428        <u64>::sse_encode(self.min_msat, serializer);
7429        <u32>::sse_encode(self.proportional, serializer);
7430        <String>::sse_encode(self.valid_until, serializer);
7431        <u32>::sse_encode(self.max_idle_time, serializer);
7432        <u32>::sse_encode(self.max_client_to_self_delay, serializer);
7433        <String>::sse_encode(self.promise, serializer);
7434    }
7435}
7436
7437impl SseEncode for crate::models::OpeningFeeParamsMenu {
7438    // Codec=Sse (Serialization based), see doc to use other codecs
7439    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7440        <Vec<crate::models::OpeningFeeParams>>::sse_encode(self.values, serializer);
7441    }
7442}
7443
7444impl SseEncode for Option<String> {
7445    // Codec=Sse (Serialization based), see doc to use other codecs
7446    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7447        <bool>::sse_encode(self.is_some(), serializer);
7448        if let Some(value) = self {
7449            <String>::sse_encode(value, serializer);
7450        }
7451    }
7452}
7453
7454impl SseEncode for Option<bool> {
7455    // Codec=Sse (Serialization based), see doc to use other codecs
7456    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7457        <bool>::sse_encode(self.is_some(), serializer);
7458        if let Some(value) = self {
7459            <bool>::sse_encode(value, serializer);
7460        }
7461    }
7462}
7463
7464impl SseEncode for Option<crate::models::GreenlightCredentials> {
7465    // Codec=Sse (Serialization based), see doc to use other codecs
7466    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7467        <bool>::sse_encode(self.is_some(), serializer);
7468        if let Some(value) = self {
7469            <crate::models::GreenlightCredentials>::sse_encode(value, serializer);
7470        }
7471    }
7472}
7473
7474impl SseEncode for Option<i64> {
7475    // Codec=Sse (Serialization based), see doc to use other codecs
7476    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7477        <bool>::sse_encode(self.is_some(), serializer);
7478        if let Some(value) = self {
7479            <i64>::sse_encode(value, serializer);
7480        }
7481    }
7482}
7483
7484impl SseEncode for Option<crate::binding::LNInvoice> {
7485    // Codec=Sse (Serialization based), see doc to use other codecs
7486    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7487        <bool>::sse_encode(self.is_some(), serializer);
7488        if let Some(value) = self {
7489            <crate::binding::LNInvoice>::sse_encode(value, serializer);
7490        }
7491    }
7492}
7493
7494impl SseEncode for Option<crate::lsp::LspInformation> {
7495    // Codec=Sse (Serialization based), see doc to use other codecs
7496    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7497        <bool>::sse_encode(self.is_some(), serializer);
7498        if let Some(value) = self {
7499            <crate::lsp::LspInformation>::sse_encode(value, serializer);
7500        }
7501    }
7502}
7503
7504impl SseEncode for Option<crate::models::NodeCredentials> {
7505    // Codec=Sse (Serialization based), see doc to use other codecs
7506    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7507        <bool>::sse_encode(self.is_some(), serializer);
7508        if let Some(value) = self {
7509            <crate::models::NodeCredentials>::sse_encode(value, serializer);
7510        }
7511    }
7512}
7513
7514impl SseEncode for Option<crate::models::OpeningFeeParams> {
7515    // Codec=Sse (Serialization based), see doc to use other codecs
7516    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7517        <bool>::sse_encode(self.is_some(), serializer);
7518        if let Some(value) = self {
7519            <crate::models::OpeningFeeParams>::sse_encode(value, serializer);
7520        }
7521    }
7522}
7523
7524impl SseEncode for Option<crate::models::Payment> {
7525    // Codec=Sse (Serialization based), see doc to use other codecs
7526    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7527        <bool>::sse_encode(self.is_some(), serializer);
7528        if let Some(value) = self {
7529            <crate::models::Payment>::sse_encode(value, serializer);
7530        }
7531    }
7532}
7533
7534impl SseEncode for Option<crate::models::ReverseSwapInfo> {
7535    // Codec=Sse (Serialization based), see doc to use other codecs
7536    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7537        <bool>::sse_encode(self.is_some(), serializer);
7538        if let Some(value) = self {
7539            <crate::models::ReverseSwapInfo>::sse_encode(value, serializer);
7540        }
7541    }
7542}
7543
7544impl SseEncode for Option<crate::binding::SuccessActionProcessed> {
7545    // Codec=Sse (Serialization based), see doc to use other codecs
7546    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7547        <bool>::sse_encode(self.is_some(), serializer);
7548        if let Some(value) = self {
7549            <crate::binding::SuccessActionProcessed>::sse_encode(value, serializer);
7550        }
7551    }
7552}
7553
7554impl SseEncode for Option<crate::models::SwapInfo> {
7555    // Codec=Sse (Serialization based), see doc to use other codecs
7556    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7557        <bool>::sse_encode(self.is_some(), serializer);
7558        if let Some(value) = self {
7559            <crate::models::SwapInfo>::sse_encode(value, serializer);
7560        }
7561    }
7562}
7563
7564impl SseEncode for Option<crate::binding::Symbol> {
7565    // Codec=Sse (Serialization based), see doc to use other codecs
7566    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7567        <bool>::sse_encode(self.is_some(), serializer);
7568        if let Some(value) = self {
7569            <crate::binding::Symbol>::sse_encode(value, serializer);
7570        }
7571    }
7572}
7573
7574impl SseEncode for Option<u32> {
7575    // Codec=Sse (Serialization based), see doc to use other codecs
7576    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7577        <bool>::sse_encode(self.is_some(), serializer);
7578        if let Some(value) = self {
7579            <u32>::sse_encode(value, serializer);
7580        }
7581    }
7582}
7583
7584impl SseEncode for Option<u64> {
7585    // Codec=Sse (Serialization based), see doc to use other codecs
7586    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7587        <bool>::sse_encode(self.is_some(), serializer);
7588        if let Some(value) = self {
7589            <u64>::sse_encode(value, serializer);
7590        }
7591    }
7592}
7593
7594impl SseEncode for Option<Vec<String>> {
7595    // Codec=Sse (Serialization based), see doc to use other codecs
7596    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7597        <bool>::sse_encode(self.is_some(), serializer);
7598        if let Some(value) = self {
7599            <Vec<String>>::sse_encode(value, serializer);
7600        }
7601    }
7602}
7603
7604impl SseEncode for Option<Vec<crate::models::MetadataFilter>> {
7605    // Codec=Sse (Serialization based), see doc to use other codecs
7606    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7607        <bool>::sse_encode(self.is_some(), serializer);
7608        if let Some(value) = self {
7609            <Vec<crate::models::MetadataFilter>>::sse_encode(value, serializer);
7610        }
7611    }
7612}
7613
7614impl SseEncode for Option<Vec<crate::models::PaymentTypeFilter>> {
7615    // Codec=Sse (Serialization based), see doc to use other codecs
7616    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7617        <bool>::sse_encode(self.is_some(), serializer);
7618        if let Some(value) = self {
7619            <Vec<crate::models::PaymentTypeFilter>>::sse_encode(value, serializer);
7620        }
7621    }
7622}
7623
7624impl SseEncode for Option<Vec<u8>> {
7625    // Codec=Sse (Serialization based), see doc to use other codecs
7626    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7627        <bool>::sse_encode(self.is_some(), serializer);
7628        if let Some(value) = self {
7629            <Vec<u8>>::sse_encode(value, serializer);
7630        }
7631    }
7632}
7633
7634impl SseEncode for Option<Vec<crate::models::SwapStatus>> {
7635    // Codec=Sse (Serialization based), see doc to use other codecs
7636    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7637        <bool>::sse_encode(self.is_some(), serializer);
7638        if let Some(value) = self {
7639            <Vec<crate::models::SwapStatus>>::sse_encode(value, serializer);
7640        }
7641    }
7642}
7643
7644impl SseEncode for Option<Vec<crate::models::TlvEntry>> {
7645    // Codec=Sse (Serialization based), see doc to use other codecs
7646    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7647        <bool>::sse_encode(self.is_some(), serializer);
7648        if let Some(value) = self {
7649            <Vec<crate::models::TlvEntry>>::sse_encode(value, serializer);
7650        }
7651    }
7652}
7653
7654impl SseEncode for crate::models::PayOnchainRequest {
7655    // Codec=Sse (Serialization based), see doc to use other codecs
7656    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7657        <String>::sse_encode(self.recipient_address, serializer);
7658        <crate::models::PrepareOnchainPaymentResponse>::sse_encode(self.prepare_res, serializer);
7659    }
7660}
7661
7662impl SseEncode for crate::models::PayOnchainResponse {
7663    // Codec=Sse (Serialization based), see doc to use other codecs
7664    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7665        <crate::models::ReverseSwapInfo>::sse_encode(self.reverse_swap_info, serializer);
7666    }
7667}
7668
7669impl SseEncode for crate::models::Payment {
7670    // Codec=Sse (Serialization based), see doc to use other codecs
7671    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7672        <String>::sse_encode(self.id, serializer);
7673        <crate::models::PaymentType>::sse_encode(self.payment_type, serializer);
7674        <i64>::sse_encode(self.payment_time, serializer);
7675        <u64>::sse_encode(self.amount_msat, serializer);
7676        <u64>::sse_encode(self.fee_msat, serializer);
7677        <crate::models::PaymentStatus>::sse_encode(self.status, serializer);
7678        <Option<String>>::sse_encode(self.error, serializer);
7679        <Option<String>>::sse_encode(self.description, serializer);
7680        <crate::models::PaymentDetails>::sse_encode(self.details, serializer);
7681        <Option<String>>::sse_encode(self.metadata, serializer);
7682    }
7683}
7684
7685impl SseEncode for crate::models::PaymentDetails {
7686    // Codec=Sse (Serialization based), see doc to use other codecs
7687    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7688        match self {
7689            crate::models::PaymentDetails::Ln { data } => {
7690                <i32>::sse_encode(0, serializer);
7691                <crate::models::LnPaymentDetails>::sse_encode(data, serializer);
7692            }
7693            crate::models::PaymentDetails::ClosedChannel { data } => {
7694                <i32>::sse_encode(1, serializer);
7695                <crate::models::ClosedChannelPaymentDetails>::sse_encode(data, serializer);
7696            }
7697            _ => {
7698                unimplemented!("");
7699            }
7700        }
7701    }
7702}
7703
7704impl SseEncode for crate::breez_services::PaymentFailedData {
7705    // Codec=Sse (Serialization based), see doc to use other codecs
7706    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7707        <String>::sse_encode(self.error, serializer);
7708        <String>::sse_encode(self.node_id, serializer);
7709        <Option<crate::binding::LNInvoice>>::sse_encode(self.invoice, serializer);
7710        <Option<String>>::sse_encode(self.label, serializer);
7711    }
7712}
7713
7714impl SseEncode for crate::models::PaymentStatus {
7715    // Codec=Sse (Serialization based), see doc to use other codecs
7716    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7717        <i32>::sse_encode(
7718            match self {
7719                crate::models::PaymentStatus::Pending => 0,
7720                crate::models::PaymentStatus::Complete => 1,
7721                crate::models::PaymentStatus::Failed => 2,
7722                _ => {
7723                    unimplemented!("");
7724                }
7725            },
7726            serializer,
7727        );
7728    }
7729}
7730
7731impl SseEncode for crate::models::PaymentType {
7732    // Codec=Sse (Serialization based), see doc to use other codecs
7733    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7734        <i32>::sse_encode(
7735            match self {
7736                crate::models::PaymentType::Sent => 0,
7737                crate::models::PaymentType::Received => 1,
7738                crate::models::PaymentType::ClosedChannel => 2,
7739                _ => {
7740                    unimplemented!("");
7741                }
7742            },
7743            serializer,
7744        );
7745    }
7746}
7747
7748impl SseEncode for crate::models::PaymentTypeFilter {
7749    // Codec=Sse (Serialization based), see doc to use other codecs
7750    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7751        <i32>::sse_encode(
7752            match self {
7753                crate::models::PaymentTypeFilter::Sent => 0,
7754                crate::models::PaymentTypeFilter::Received => 1,
7755                crate::models::PaymentTypeFilter::ClosedChannel => 2,
7756                _ => {
7757                    unimplemented!("");
7758                }
7759            },
7760            serializer,
7761        );
7762    }
7763}
7764
7765impl SseEncode for crate::models::PrepareOnchainPaymentRequest {
7766    // Codec=Sse (Serialization based), see doc to use other codecs
7767    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7768        <u64>::sse_encode(self.amount_sat, serializer);
7769        <crate::models::SwapAmountType>::sse_encode(self.amount_type, serializer);
7770        <u32>::sse_encode(self.claim_tx_feerate, serializer);
7771    }
7772}
7773
7774impl SseEncode for crate::models::PrepareOnchainPaymentResponse {
7775    // Codec=Sse (Serialization based), see doc to use other codecs
7776    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7777        <String>::sse_encode(self.fees_hash, serializer);
7778        <f64>::sse_encode(self.fees_percentage, serializer);
7779        <u64>::sse_encode(self.fees_lockup, serializer);
7780        <u64>::sse_encode(self.fees_claim, serializer);
7781        <u64>::sse_encode(self.sender_amount_sat, serializer);
7782        <u64>::sse_encode(self.recipient_amount_sat, serializer);
7783        <u64>::sse_encode(self.total_fees, serializer);
7784    }
7785}
7786
7787impl SseEncode for crate::models::PrepareRedeemOnchainFundsRequest {
7788    // Codec=Sse (Serialization based), see doc to use other codecs
7789    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7790        <String>::sse_encode(self.to_address, serializer);
7791        <u32>::sse_encode(self.sat_per_vbyte, serializer);
7792    }
7793}
7794
7795impl SseEncode for crate::models::PrepareRedeemOnchainFundsResponse {
7796    // Codec=Sse (Serialization based), see doc to use other codecs
7797    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7798        <u64>::sse_encode(self.tx_weight, serializer);
7799        <u64>::sse_encode(self.tx_fee_sat, serializer);
7800    }
7801}
7802
7803impl SseEncode for crate::models::PrepareRefundRequest {
7804    // Codec=Sse (Serialization based), see doc to use other codecs
7805    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7806        <String>::sse_encode(self.swap_address, serializer);
7807        <String>::sse_encode(self.to_address, serializer);
7808        <u32>::sse_encode(self.sat_per_vbyte, serializer);
7809        <Option<bool>>::sse_encode(self.unilateral, serializer);
7810    }
7811}
7812
7813impl SseEncode for crate::models::PrepareRefundResponse {
7814    // Codec=Sse (Serialization based), see doc to use other codecs
7815    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7816        <u32>::sse_encode(self.refund_tx_weight, serializer);
7817        <u64>::sse_encode(self.refund_tx_fee_sat, serializer);
7818    }
7819}
7820
7821impl SseEncode for crate::binding::Rate {
7822    // Codec=Sse (Serialization based), see doc to use other codecs
7823    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7824        <String>::sse_encode(self.coin, serializer);
7825        <f64>::sse_encode(self.value, serializer);
7826    }
7827}
7828
7829impl SseEncode for crate::models::ReceiveOnchainRequest {
7830    // Codec=Sse (Serialization based), see doc to use other codecs
7831    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7832        <Option<crate::models::OpeningFeeParams>>::sse_encode(self.opening_fee_params, serializer);
7833    }
7834}
7835
7836impl SseEncode for crate::models::ReceivePaymentRequest {
7837    // Codec=Sse (Serialization based), see doc to use other codecs
7838    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7839        <u64>::sse_encode(self.amount_msat, serializer);
7840        <String>::sse_encode(self.description, serializer);
7841        <Option<Vec<u8>>>::sse_encode(self.preimage, serializer);
7842        <Option<crate::models::OpeningFeeParams>>::sse_encode(self.opening_fee_params, serializer);
7843        <Option<bool>>::sse_encode(self.use_description_hash, serializer);
7844        <Option<u32>>::sse_encode(self.expiry, serializer);
7845        <Option<u32>>::sse_encode(self.cltv, serializer);
7846    }
7847}
7848
7849impl SseEncode for crate::models::ReceivePaymentResponse {
7850    // Codec=Sse (Serialization based), see doc to use other codecs
7851    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7852        <crate::binding::LNInvoice>::sse_encode(self.ln_invoice, serializer);
7853        <Option<crate::models::OpeningFeeParams>>::sse_encode(self.opening_fee_params, serializer);
7854        <Option<u64>>::sse_encode(self.opening_fee_msat, serializer);
7855    }
7856}
7857
7858impl SseEncode for crate::chain::RecommendedFees {
7859    // Codec=Sse (Serialization based), see doc to use other codecs
7860    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7861        <u64>::sse_encode(self.fastest_fee, serializer);
7862        <u64>::sse_encode(self.half_hour_fee, serializer);
7863        <u64>::sse_encode(self.hour_fee, serializer);
7864        <u64>::sse_encode(self.economy_fee, serializer);
7865        <u64>::sse_encode(self.minimum_fee, serializer);
7866    }
7867}
7868
7869impl SseEncode for crate::models::RedeemOnchainFundsRequest {
7870    // Codec=Sse (Serialization based), see doc to use other codecs
7871    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7872        <String>::sse_encode(self.to_address, serializer);
7873        <u32>::sse_encode(self.sat_per_vbyte, serializer);
7874    }
7875}
7876
7877impl SseEncode for crate::models::RedeemOnchainFundsResponse {
7878    // Codec=Sse (Serialization based), see doc to use other codecs
7879    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7880        <Vec<u8>>::sse_encode(self.txid, serializer);
7881    }
7882}
7883
7884impl SseEncode for crate::models::RefundRequest {
7885    // Codec=Sse (Serialization based), see doc to use other codecs
7886    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7887        <String>::sse_encode(self.swap_address, serializer);
7888        <String>::sse_encode(self.to_address, serializer);
7889        <u32>::sse_encode(self.sat_per_vbyte, serializer);
7890        <Option<bool>>::sse_encode(self.unilateral, serializer);
7891    }
7892}
7893
7894impl SseEncode for crate::models::RefundResponse {
7895    // Codec=Sse (Serialization based), see doc to use other codecs
7896    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7897        <String>::sse_encode(self.refund_tx_id, serializer);
7898    }
7899}
7900
7901impl SseEncode for crate::models::ReportIssueRequest {
7902    // Codec=Sse (Serialization based), see doc to use other codecs
7903    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7904        match self {
7905            crate::models::ReportIssueRequest::PaymentFailure { data } => {
7906                <i32>::sse_encode(0, serializer);
7907                <crate::models::ReportPaymentFailureDetails>::sse_encode(data, serializer);
7908            }
7909            _ => {
7910                unimplemented!("");
7911            }
7912        }
7913    }
7914}
7915
7916impl SseEncode for crate::models::ReportPaymentFailureDetails {
7917    // Codec=Sse (Serialization based), see doc to use other codecs
7918    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7919        <String>::sse_encode(self.payment_hash, serializer);
7920        <Option<String>>::sse_encode(self.comment, serializer);
7921    }
7922}
7923
7924impl SseEncode for crate::models::ReverseSwapFeesRequest {
7925    // Codec=Sse (Serialization based), see doc to use other codecs
7926    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7927        <Option<u64>>::sse_encode(self.send_amount_sat, serializer);
7928        <Option<u32>>::sse_encode(self.claim_tx_feerate, serializer);
7929    }
7930}
7931
7932impl SseEncode for crate::models::ReverseSwapInfo {
7933    // Codec=Sse (Serialization based), see doc to use other codecs
7934    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7935        <String>::sse_encode(self.id, serializer);
7936        <String>::sse_encode(self.claim_pubkey, serializer);
7937        <Option<String>>::sse_encode(self.lockup_txid, serializer);
7938        <Option<String>>::sse_encode(self.claim_txid, serializer);
7939        <u64>::sse_encode(self.onchain_amount_sat, serializer);
7940        <crate::models::ReverseSwapStatus>::sse_encode(self.status, serializer);
7941    }
7942}
7943
7944impl SseEncode for crate::models::ReverseSwapPairInfo {
7945    // Codec=Sse (Serialization based), see doc to use other codecs
7946    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7947        <u64>::sse_encode(self.min, serializer);
7948        <u64>::sse_encode(self.max, serializer);
7949        <String>::sse_encode(self.fees_hash, serializer);
7950        <f64>::sse_encode(self.fees_percentage, serializer);
7951        <u64>::sse_encode(self.fees_lockup, serializer);
7952        <u64>::sse_encode(self.fees_claim, serializer);
7953        <Option<u64>>::sse_encode(self.total_fees, serializer);
7954    }
7955}
7956
7957impl SseEncode for crate::models::ReverseSwapStatus {
7958    // Codec=Sse (Serialization based), see doc to use other codecs
7959    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7960        <i32>::sse_encode(
7961            match self {
7962                crate::models::ReverseSwapStatus::Initial => 0,
7963                crate::models::ReverseSwapStatus::InProgress => 1,
7964                crate::models::ReverseSwapStatus::Cancelled => 2,
7965                crate::models::ReverseSwapStatus::CompletedSeen => 3,
7966                crate::models::ReverseSwapStatus::CompletedConfirmed => 4,
7967                _ => {
7968                    unimplemented!("");
7969                }
7970            },
7971            serializer,
7972        );
7973    }
7974}
7975
7976impl SseEncode for crate::binding::RouteHint {
7977    // Codec=Sse (Serialization based), see doc to use other codecs
7978    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7979        <Vec<crate::binding::RouteHintHop>>::sse_encode(self.hops, serializer);
7980    }
7981}
7982
7983impl SseEncode for crate::binding::RouteHintHop {
7984    // Codec=Sse (Serialization based), see doc to use other codecs
7985    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7986        <String>::sse_encode(self.src_node_id, serializer);
7987        <String>::sse_encode(self.short_channel_id, serializer);
7988        <u32>::sse_encode(self.fees_base_msat, serializer);
7989        <u32>::sse_encode(self.fees_proportional_millionths, serializer);
7990        <u64>::sse_encode(self.cltv_expiry_delta, serializer);
7991        <Option<u64>>::sse_encode(self.htlc_minimum_msat, serializer);
7992        <Option<u64>>::sse_encode(self.htlc_maximum_msat, serializer);
7993    }
7994}
7995
7996impl SseEncode for crate::models::SendPaymentRequest {
7997    // Codec=Sse (Serialization based), see doc to use other codecs
7998    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7999        <String>::sse_encode(self.bolt11, serializer);
8000        <bool>::sse_encode(self.use_trampoline, serializer);
8001        <Option<u64>>::sse_encode(self.amount_msat, serializer);
8002        <Option<String>>::sse_encode(self.label, serializer);
8003    }
8004}
8005
8006impl SseEncode for crate::models::SendPaymentResponse {
8007    // Codec=Sse (Serialization based), see doc to use other codecs
8008    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8009        <crate::models::Payment>::sse_encode(self.payment, serializer);
8010    }
8011}
8012
8013impl SseEncode for crate::models::SendSpontaneousPaymentRequest {
8014    // Codec=Sse (Serialization based), see doc to use other codecs
8015    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8016        <String>::sse_encode(self.node_id, serializer);
8017        <u64>::sse_encode(self.amount_msat, serializer);
8018        <Option<Vec<crate::models::TlvEntry>>>::sse_encode(self.extra_tlvs, serializer);
8019        <Option<String>>::sse_encode(self.label, serializer);
8020    }
8021}
8022
8023impl SseEncode for crate::models::ServiceHealthCheckResponse {
8024    // Codec=Sse (Serialization based), see doc to use other codecs
8025    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8026        <crate::models::HealthCheckStatus>::sse_encode(self.status, serializer);
8027    }
8028}
8029
8030impl SseEncode for crate::breez_services::SignMessageRequest {
8031    // Codec=Sse (Serialization based), see doc to use other codecs
8032    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8033        <String>::sse_encode(self.message, serializer);
8034    }
8035}
8036
8037impl SseEncode for crate::breez_services::SignMessageResponse {
8038    // Codec=Sse (Serialization based), see doc to use other codecs
8039    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8040        <String>::sse_encode(self.signature, serializer);
8041    }
8042}
8043
8044impl SseEncode for crate::models::StaticBackupRequest {
8045    // Codec=Sse (Serialization based), see doc to use other codecs
8046    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8047        <String>::sse_encode(self.working_dir, serializer);
8048    }
8049}
8050
8051impl SseEncode for crate::models::StaticBackupResponse {
8052    // Codec=Sse (Serialization based), see doc to use other codecs
8053    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8054        <Option<Vec<String>>>::sse_encode(self.backup, serializer);
8055    }
8056}
8057
8058impl SseEncode for crate::binding::SuccessActionProcessed {
8059    // Codec=Sse (Serialization based), see doc to use other codecs
8060    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8061        match self {
8062            crate::binding::SuccessActionProcessed::Aes { result } => {
8063                <i32>::sse_encode(0, serializer);
8064                <crate::binding::AesSuccessActionDataResult>::sse_encode(result, serializer);
8065            }
8066            crate::binding::SuccessActionProcessed::Message { data } => {
8067                <i32>::sse_encode(1, serializer);
8068                <crate::binding::MessageSuccessActionData>::sse_encode(data, serializer);
8069            }
8070            crate::binding::SuccessActionProcessed::Url { data } => {
8071                <i32>::sse_encode(2, serializer);
8072                <crate::binding::UrlSuccessActionData>::sse_encode(data, serializer);
8073            }
8074            _ => {
8075                unimplemented!("");
8076            }
8077        }
8078    }
8079}
8080
8081impl SseEncode for crate::models::SwapAmountType {
8082    // Codec=Sse (Serialization based), see doc to use other codecs
8083    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8084        <i32>::sse_encode(
8085            match self {
8086                crate::models::SwapAmountType::Send => 0,
8087                crate::models::SwapAmountType::Receive => 1,
8088                _ => {
8089                    unimplemented!("");
8090                }
8091            },
8092            serializer,
8093        );
8094    }
8095}
8096
8097impl SseEncode for crate::models::SwapInfo {
8098    // Codec=Sse (Serialization based), see doc to use other codecs
8099    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8100        <String>::sse_encode(self.bitcoin_address, serializer);
8101        <i64>::sse_encode(self.created_at, serializer);
8102        <i64>::sse_encode(self.lock_height, serializer);
8103        <Vec<u8>>::sse_encode(self.payment_hash, serializer);
8104        <Vec<u8>>::sse_encode(self.preimage, serializer);
8105        <Vec<u8>>::sse_encode(self.private_key, serializer);
8106        <Vec<u8>>::sse_encode(self.public_key, serializer);
8107        <Vec<u8>>::sse_encode(self.swapper_public_key, serializer);
8108        <Vec<u8>>::sse_encode(self.script, serializer);
8109        <Option<String>>::sse_encode(self.bolt11, serializer);
8110        <u64>::sse_encode(self.paid_msat, serializer);
8111        <u64>::sse_encode(self.total_incoming_txs, serializer);
8112        <u64>::sse_encode(self.confirmed_sats, serializer);
8113        <u64>::sse_encode(self.unconfirmed_sats, serializer);
8114        <crate::models::SwapStatus>::sse_encode(self.status, serializer);
8115        <Vec<String>>::sse_encode(self.refund_tx_ids, serializer);
8116        <Vec<String>>::sse_encode(self.unconfirmed_tx_ids, serializer);
8117        <Vec<String>>::sse_encode(self.confirmed_tx_ids, serializer);
8118        <i64>::sse_encode(self.min_allowed_deposit, serializer);
8119        <i64>::sse_encode(self.max_allowed_deposit, serializer);
8120        <i64>::sse_encode(self.max_swapper_payable, serializer);
8121        <Option<String>>::sse_encode(self.last_redeem_error, serializer);
8122        <Option<crate::models::OpeningFeeParams>>::sse_encode(
8123            self.channel_opening_fees,
8124            serializer,
8125        );
8126        <Option<u32>>::sse_encode(self.confirmed_at, serializer);
8127    }
8128}
8129
8130impl SseEncode for crate::models::SwapStatus {
8131    // Codec=Sse (Serialization based), see doc to use other codecs
8132    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8133        <i32>::sse_encode(
8134            match self {
8135                crate::models::SwapStatus::Initial => 0,
8136                crate::models::SwapStatus::WaitingConfirmation => 1,
8137                crate::models::SwapStatus::Redeemable => 2,
8138                crate::models::SwapStatus::Redeemed => 3,
8139                crate::models::SwapStatus::Refundable => 4,
8140                crate::models::SwapStatus::Completed => 5,
8141                _ => {
8142                    unimplemented!("");
8143                }
8144            },
8145            serializer,
8146        );
8147    }
8148}
8149
8150impl SseEncode for crate::binding::Symbol {
8151    // Codec=Sse (Serialization based), see doc to use other codecs
8152    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8153        <Option<String>>::sse_encode(self.grapheme, serializer);
8154        <Option<String>>::sse_encode(self.template, serializer);
8155        <Option<bool>>::sse_encode(self.rtl, serializer);
8156        <Option<u32>>::sse_encode(self.position, serializer);
8157    }
8158}
8159
8160impl SseEncode for crate::models::TlvEntry {
8161    // Codec=Sse (Serialization based), see doc to use other codecs
8162    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8163        <u64>::sse_encode(self.field_number, serializer);
8164        <Vec<u8>>::sse_encode(self.value, serializer);
8165    }
8166}
8167
8168impl SseEncode for u16 {
8169    // Codec=Sse (Serialization based), see doc to use other codecs
8170    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8171        serializer.cursor.write_u16::<NativeEndian>(self).unwrap();
8172    }
8173}
8174
8175impl SseEncode for u32 {
8176    // Codec=Sse (Serialization based), see doc to use other codecs
8177    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8178        serializer.cursor.write_u32::<NativeEndian>(self).unwrap();
8179    }
8180}
8181
8182impl SseEncode for u64 {
8183    // Codec=Sse (Serialization based), see doc to use other codecs
8184    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8185        serializer.cursor.write_u64::<NativeEndian>(self).unwrap();
8186    }
8187}
8188
8189impl SseEncode for u8 {
8190    // Codec=Sse (Serialization based), see doc to use other codecs
8191    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8192        serializer.cursor.write_u8(self).unwrap();
8193    }
8194}
8195
8196impl SseEncode for () {
8197    // Codec=Sse (Serialization based), see doc to use other codecs
8198    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {}
8199}
8200
8201impl SseEncode for crate::models::UnspentTransactionOutput {
8202    // Codec=Sse (Serialization based), see doc to use other codecs
8203    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8204        <Vec<u8>>::sse_encode(self.txid, serializer);
8205        <u32>::sse_encode(self.outnum, serializer);
8206        <u64>::sse_encode(self.amount_millisatoshi, serializer);
8207        <String>::sse_encode(self.address, serializer);
8208        <bool>::sse_encode(self.reserved, serializer);
8209    }
8210}
8211
8212impl SseEncode for crate::binding::UrlSuccessActionData {
8213    // Codec=Sse (Serialization based), see doc to use other codecs
8214    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8215        <String>::sse_encode(self.description, serializer);
8216        <String>::sse_encode(self.url, serializer);
8217        <bool>::sse_encode(self.matches_callback_domain, serializer);
8218    }
8219}
8220
8221#[cfg(not(target_family = "wasm"))]
8222mod io {
8223    // This file is automatically generated, so please do not edit it.
8224    // @generated by `flutter_rust_bridge`@ 2.9.0.
8225
8226    // Section: imports
8227
8228    use super::*;
8229    use crate::breez_services::EventListener;
8230    use flutter_rust_bridge::for_generated::byteorder::{
8231        NativeEndian, ReadBytesExt, WriteBytesExt,
8232    };
8233    use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable};
8234    use flutter_rust_bridge::{Handler, IntoIntoDart};
8235
8236    // Section: boilerplate
8237
8238    flutter_rust_bridge::frb_generated_boilerplate_io!();
8239
8240    // Section: dart2rust
8241
8242    impl CstDecode<flutter_rust_bridge::for_generated::anyhow::Error>
8243        for *mut wire_cst_list_prim_u_8_strict
8244    {
8245        // Codec=Cst (C-struct based), see doc to use other codecs
8246        fn cst_decode(self) -> flutter_rust_bridge::for_generated::anyhow::Error {
8247            unimplemented!()
8248        }
8249    }
8250    impl
8251        CstDecode<
8252            StreamSink<
8253                crate::breez_services::BreezEvent,
8254                flutter_rust_bridge::for_generated::DcoCodec,
8255            >,
8256        > for *mut wire_cst_list_prim_u_8_strict
8257    {
8258        // Codec=Cst (C-struct based), see doc to use other codecs
8259        fn cst_decode(
8260            self,
8261        ) -> StreamSink<
8262            crate::breez_services::BreezEvent,
8263            flutter_rust_bridge::for_generated::DcoCodec,
8264        > {
8265            let raw: String = self.cst_decode();
8266            StreamSink::deserialize(raw)
8267        }
8268    }
8269    impl
8270        CstDecode<StreamSink<crate::models::LogEntry, flutter_rust_bridge::for_generated::DcoCodec>>
8271        for *mut wire_cst_list_prim_u_8_strict
8272    {
8273        // Codec=Cst (C-struct based), see doc to use other codecs
8274        fn cst_decode(
8275            self,
8276        ) -> StreamSink<crate::models::LogEntry, flutter_rust_bridge::for_generated::DcoCodec>
8277        {
8278            let raw: String = self.cst_decode();
8279            StreamSink::deserialize(raw)
8280        }
8281    }
8282    impl CstDecode<String> for *mut wire_cst_list_prim_u_8_strict {
8283        // Codec=Cst (C-struct based), see doc to use other codecs
8284        fn cst_decode(self) -> String {
8285            let vec: Vec<u8> = self.cst_decode();
8286            String::from_utf8(vec).unwrap()
8287        }
8288    }
8289    impl CstDecode<crate::binding::AesSuccessActionDataDecrypted>
8290        for wire_cst_aes_success_action_data_decrypted
8291    {
8292        // Codec=Cst (C-struct based), see doc to use other codecs
8293        fn cst_decode(self) -> crate::binding::AesSuccessActionDataDecrypted {
8294            crate::binding::AesSuccessActionDataDecrypted {
8295                description: self.description.cst_decode(),
8296                plaintext: self.plaintext.cst_decode(),
8297            }
8298        }
8299    }
8300    impl CstDecode<crate::binding::AesSuccessActionDataResult>
8301        for wire_cst_aes_success_action_data_result
8302    {
8303        // Codec=Cst (C-struct based), see doc to use other codecs
8304        fn cst_decode(self) -> crate::binding::AesSuccessActionDataResult {
8305            match self.tag {
8306                0 => {
8307                    let ans = unsafe { self.kind.Decrypted };
8308                    crate::binding::AesSuccessActionDataResult::Decrypted {
8309                        data: ans.data.cst_decode(),
8310                    }
8311                }
8312                1 => {
8313                    let ans = unsafe { self.kind.ErrorStatus };
8314                    crate::binding::AesSuccessActionDataResult::ErrorStatus {
8315                        reason: ans.reason.cst_decode(),
8316                    }
8317                }
8318                _ => unreachable!(),
8319            }
8320        }
8321    }
8322    impl CstDecode<crate::breez_services::BackupFailedData> for wire_cst_backup_failed_data {
8323        // Codec=Cst (C-struct based), see doc to use other codecs
8324        fn cst_decode(self) -> crate::breez_services::BackupFailedData {
8325            crate::breez_services::BackupFailedData {
8326                error: self.error.cst_decode(),
8327            }
8328        }
8329    }
8330    impl CstDecode<crate::models::BackupStatus> for wire_cst_backup_status {
8331        // Codec=Cst (C-struct based), see doc to use other codecs
8332        fn cst_decode(self) -> crate::models::BackupStatus {
8333            crate::models::BackupStatus {
8334                backed_up: self.backed_up.cst_decode(),
8335                last_backup_time: self.last_backup_time.cst_decode(),
8336            }
8337        }
8338    }
8339    impl CstDecode<crate::binding::BindingEventListener> for wire_cst_binding_event_listener {
8340        // Codec=Cst (C-struct based), see doc to use other codecs
8341        fn cst_decode(self) -> crate::binding::BindingEventListener {
8342            crate::binding::BindingEventListener {}
8343        }
8344    }
8345    impl CstDecode<crate::binding::BitcoinAddressData> for wire_cst_bitcoin_address_data {
8346        // Codec=Cst (C-struct based), see doc to use other codecs
8347        fn cst_decode(self) -> crate::binding::BitcoinAddressData {
8348            crate::binding::BitcoinAddressData {
8349                address: self.address.cst_decode(),
8350                network: self.network.cst_decode(),
8351                amount_sat: self.amount_sat.cst_decode(),
8352                label: self.label.cst_decode(),
8353                message: self.message.cst_decode(),
8354            }
8355        }
8356    }
8357    impl CstDecode<crate::binding::AesSuccessActionDataDecrypted>
8358        for *mut wire_cst_aes_success_action_data_decrypted
8359    {
8360        // Codec=Cst (C-struct based), see doc to use other codecs
8361        fn cst_decode(self) -> crate::binding::AesSuccessActionDataDecrypted {
8362            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8363            CstDecode::<crate::binding::AesSuccessActionDataDecrypted>::cst_decode(*wrap).into()
8364        }
8365    }
8366    impl CstDecode<crate::binding::AesSuccessActionDataResult>
8367        for *mut wire_cst_aes_success_action_data_result
8368    {
8369        // Codec=Cst (C-struct based), see doc to use other codecs
8370        fn cst_decode(self) -> crate::binding::AesSuccessActionDataResult {
8371            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8372            CstDecode::<crate::binding::AesSuccessActionDataResult>::cst_decode(*wrap).into()
8373        }
8374    }
8375    impl CstDecode<crate::breez_services::BackupFailedData> for *mut wire_cst_backup_failed_data {
8376        // Codec=Cst (C-struct based), see doc to use other codecs
8377        fn cst_decode(self) -> crate::breez_services::BackupFailedData {
8378            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8379            CstDecode::<crate::breez_services::BackupFailedData>::cst_decode(*wrap).into()
8380        }
8381    }
8382    impl CstDecode<crate::binding::BindingEventListener> for *mut wire_cst_binding_event_listener {
8383        // Codec=Cst (C-struct based), see doc to use other codecs
8384        fn cst_decode(self) -> crate::binding::BindingEventListener {
8385            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8386            CstDecode::<crate::binding::BindingEventListener>::cst_decode(*wrap).into()
8387        }
8388    }
8389    impl CstDecode<crate::binding::BitcoinAddressData> for *mut wire_cst_bitcoin_address_data {
8390        // Codec=Cst (C-struct based), see doc to use other codecs
8391        fn cst_decode(self) -> crate::binding::BitcoinAddressData {
8392            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8393            CstDecode::<crate::binding::BitcoinAddressData>::cst_decode(*wrap).into()
8394        }
8395    }
8396    impl CstDecode<bool> for *mut bool {
8397        // Codec=Cst (C-struct based), see doc to use other codecs
8398        fn cst_decode(self) -> bool {
8399            unsafe { *flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }
8400        }
8401    }
8402    impl CstDecode<crate::breez_services::BreezEvent> for *mut wire_cst_breez_event {
8403        // Codec=Cst (C-struct based), see doc to use other codecs
8404        fn cst_decode(self) -> crate::breez_services::BreezEvent {
8405            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8406            CstDecode::<crate::breez_services::BreezEvent>::cst_decode(*wrap).into()
8407        }
8408    }
8409    impl CstDecode<crate::models::BuyBitcoinRequest> for *mut wire_cst_buy_bitcoin_request {
8410        // Codec=Cst (C-struct based), see doc to use other codecs
8411        fn cst_decode(self) -> crate::models::BuyBitcoinRequest {
8412            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8413            CstDecode::<crate::models::BuyBitcoinRequest>::cst_decode(*wrap).into()
8414        }
8415    }
8416    impl CstDecode<crate::breez_services::CheckMessageRequest> for *mut wire_cst_check_message_request {
8417        // Codec=Cst (C-struct based), see doc to use other codecs
8418        fn cst_decode(self) -> crate::breez_services::CheckMessageRequest {
8419            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8420            CstDecode::<crate::breez_services::CheckMessageRequest>::cst_decode(*wrap).into()
8421        }
8422    }
8423    impl CstDecode<crate::models::ClosedChannelPaymentDetails>
8424        for *mut wire_cst_closed_channel_payment_details
8425    {
8426        // Codec=Cst (C-struct based), see doc to use other codecs
8427        fn cst_decode(self) -> crate::models::ClosedChannelPaymentDetails {
8428            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8429            CstDecode::<crate::models::ClosedChannelPaymentDetails>::cst_decode(*wrap).into()
8430        }
8431    }
8432    impl CstDecode<crate::models::ConfigureNodeRequest> for *mut wire_cst_configure_node_request {
8433        // Codec=Cst (C-struct based), see doc to use other codecs
8434        fn cst_decode(self) -> crate::models::ConfigureNodeRequest {
8435            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8436            CstDecode::<crate::models::ConfigureNodeRequest>::cst_decode(*wrap).into()
8437        }
8438    }
8439    impl CstDecode<crate::models::ConnectRequest> for *mut wire_cst_connect_request {
8440        // Codec=Cst (C-struct based), see doc to use other codecs
8441        fn cst_decode(self) -> crate::models::ConnectRequest {
8442            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8443            CstDecode::<crate::models::ConnectRequest>::cst_decode(*wrap).into()
8444        }
8445    }
8446    impl CstDecode<crate::models::GreenlightCredentials> for *mut wire_cst_greenlight_credentials {
8447        // Codec=Cst (C-struct based), see doc to use other codecs
8448        fn cst_decode(self) -> crate::models::GreenlightCredentials {
8449            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8450            CstDecode::<crate::models::GreenlightCredentials>::cst_decode(*wrap).into()
8451        }
8452    }
8453    impl CstDecode<crate::models::GreenlightDeviceCredentials>
8454        for *mut wire_cst_greenlight_device_credentials
8455    {
8456        // Codec=Cst (C-struct based), see doc to use other codecs
8457        fn cst_decode(self) -> crate::models::GreenlightDeviceCredentials {
8458            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8459            CstDecode::<crate::models::GreenlightDeviceCredentials>::cst_decode(*wrap).into()
8460        }
8461    }
8462    impl CstDecode<crate::models::GreenlightNodeConfig> for *mut wire_cst_greenlight_node_config {
8463        // Codec=Cst (C-struct based), see doc to use other codecs
8464        fn cst_decode(self) -> crate::models::GreenlightNodeConfig {
8465            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8466            CstDecode::<crate::models::GreenlightNodeConfig>::cst_decode(*wrap).into()
8467        }
8468    }
8469    impl CstDecode<i64> for *mut i64 {
8470        // Codec=Cst (C-struct based), see doc to use other codecs
8471        fn cst_decode(self) -> i64 {
8472            unsafe { *flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }
8473        }
8474    }
8475    impl CstDecode<crate::breez_services::InvoicePaidDetails> for *mut wire_cst_invoice_paid_details {
8476        // Codec=Cst (C-struct based), see doc to use other codecs
8477        fn cst_decode(self) -> crate::breez_services::InvoicePaidDetails {
8478            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8479            CstDecode::<crate::breez_services::InvoicePaidDetails>::cst_decode(*wrap).into()
8480        }
8481    }
8482    impl CstDecode<crate::models::ListPaymentsRequest> for *mut wire_cst_list_payments_request {
8483        // Codec=Cst (C-struct based), see doc to use other codecs
8484        fn cst_decode(self) -> crate::models::ListPaymentsRequest {
8485            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8486            CstDecode::<crate::models::ListPaymentsRequest>::cst_decode(*wrap).into()
8487        }
8488    }
8489    impl CstDecode<crate::models::ListSwapsRequest> for *mut wire_cst_list_swaps_request {
8490        // Codec=Cst (C-struct based), see doc to use other codecs
8491        fn cst_decode(self) -> crate::models::ListSwapsRequest {
8492            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8493            CstDecode::<crate::models::ListSwapsRequest>::cst_decode(*wrap).into()
8494        }
8495    }
8496    impl CstDecode<crate::binding::LNInvoice> for *mut wire_cst_ln_invoice {
8497        // Codec=Cst (C-struct based), see doc to use other codecs
8498        fn cst_decode(self) -> crate::binding::LNInvoice {
8499            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8500            CstDecode::<crate::binding::LNInvoice>::cst_decode(*wrap).into()
8501        }
8502    }
8503    impl CstDecode<crate::models::LnPaymentDetails> for *mut wire_cst_ln_payment_details {
8504        // Codec=Cst (C-struct based), see doc to use other codecs
8505        fn cst_decode(self) -> crate::models::LnPaymentDetails {
8506            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8507            CstDecode::<crate::models::LnPaymentDetails>::cst_decode(*wrap).into()
8508        }
8509    }
8510    impl CstDecode<crate::binding::LnUrlAuthRequestData> for *mut wire_cst_ln_url_auth_request_data {
8511        // Codec=Cst (C-struct based), see doc to use other codecs
8512        fn cst_decode(self) -> crate::binding::LnUrlAuthRequestData {
8513            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8514            CstDecode::<crate::binding::LnUrlAuthRequestData>::cst_decode(*wrap).into()
8515        }
8516    }
8517    impl CstDecode<crate::binding::LnUrlErrorData> for *mut wire_cst_ln_url_error_data {
8518        // Codec=Cst (C-struct based), see doc to use other codecs
8519        fn cst_decode(self) -> crate::binding::LnUrlErrorData {
8520            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8521            CstDecode::<crate::binding::LnUrlErrorData>::cst_decode(*wrap).into()
8522        }
8523    }
8524    impl CstDecode<crate::binding::LnUrlPayErrorData> for *mut wire_cst_ln_url_pay_error_data {
8525        // Codec=Cst (C-struct based), see doc to use other codecs
8526        fn cst_decode(self) -> crate::binding::LnUrlPayErrorData {
8527            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8528            CstDecode::<crate::binding::LnUrlPayErrorData>::cst_decode(*wrap).into()
8529        }
8530    }
8531    impl CstDecode<crate::binding::LnUrlPayRequest> for *mut wire_cst_ln_url_pay_request {
8532        // Codec=Cst (C-struct based), see doc to use other codecs
8533        fn cst_decode(self) -> crate::binding::LnUrlPayRequest {
8534            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8535            CstDecode::<crate::binding::LnUrlPayRequest>::cst_decode(*wrap).into()
8536        }
8537    }
8538    impl CstDecode<crate::binding::LnUrlPayRequestData> for *mut wire_cst_ln_url_pay_request_data {
8539        // Codec=Cst (C-struct based), see doc to use other codecs
8540        fn cst_decode(self) -> crate::binding::LnUrlPayRequestData {
8541            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8542            CstDecode::<crate::binding::LnUrlPayRequestData>::cst_decode(*wrap).into()
8543        }
8544    }
8545    impl CstDecode<crate::lnurl::pay::LnUrlPaySuccessData> for *mut wire_cst_ln_url_pay_success_data {
8546        // Codec=Cst (C-struct based), see doc to use other codecs
8547        fn cst_decode(self) -> crate::lnurl::pay::LnUrlPaySuccessData {
8548            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8549            CstDecode::<crate::lnurl::pay::LnUrlPaySuccessData>::cst_decode(*wrap).into()
8550        }
8551    }
8552    impl CstDecode<crate::binding::LnUrlWithdrawRequest> for *mut wire_cst_ln_url_withdraw_request {
8553        // Codec=Cst (C-struct based), see doc to use other codecs
8554        fn cst_decode(self) -> crate::binding::LnUrlWithdrawRequest {
8555            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8556            CstDecode::<crate::binding::LnUrlWithdrawRequest>::cst_decode(*wrap).into()
8557        }
8558    }
8559    impl CstDecode<crate::binding::LnUrlWithdrawRequestData>
8560        for *mut wire_cst_ln_url_withdraw_request_data
8561    {
8562        // Codec=Cst (C-struct based), see doc to use other codecs
8563        fn cst_decode(self) -> crate::binding::LnUrlWithdrawRequestData {
8564            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8565            CstDecode::<crate::binding::LnUrlWithdrawRequestData>::cst_decode(*wrap).into()
8566        }
8567    }
8568    impl CstDecode<crate::binding::LnUrlWithdrawSuccessData>
8569        for *mut wire_cst_ln_url_withdraw_success_data
8570    {
8571        // Codec=Cst (C-struct based), see doc to use other codecs
8572        fn cst_decode(self) -> crate::binding::LnUrlWithdrawSuccessData {
8573            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8574            CstDecode::<crate::binding::LnUrlWithdrawSuccessData>::cst_decode(*wrap).into()
8575        }
8576    }
8577    impl CstDecode<crate::lsp::LspInformation> for *mut wire_cst_lsp_information {
8578        // Codec=Cst (C-struct based), see doc to use other codecs
8579        fn cst_decode(self) -> crate::lsp::LspInformation {
8580            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8581            CstDecode::<crate::lsp::LspInformation>::cst_decode(*wrap).into()
8582        }
8583    }
8584    impl CstDecode<crate::binding::MessageSuccessActionData>
8585        for *mut wire_cst_message_success_action_data
8586    {
8587        // Codec=Cst (C-struct based), see doc to use other codecs
8588        fn cst_decode(self) -> crate::binding::MessageSuccessActionData {
8589            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8590            CstDecode::<crate::binding::MessageSuccessActionData>::cst_decode(*wrap).into()
8591        }
8592    }
8593    impl CstDecode<crate::models::NodeConfig> for *mut wire_cst_node_config {
8594        // Codec=Cst (C-struct based), see doc to use other codecs
8595        fn cst_decode(self) -> crate::models::NodeConfig {
8596            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8597            CstDecode::<crate::models::NodeConfig>::cst_decode(*wrap).into()
8598        }
8599    }
8600    impl CstDecode<crate::models::NodeCredentials> for *mut wire_cst_node_credentials {
8601        // Codec=Cst (C-struct based), see doc to use other codecs
8602        fn cst_decode(self) -> crate::models::NodeCredentials {
8603            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8604            CstDecode::<crate::models::NodeCredentials>::cst_decode(*wrap).into()
8605        }
8606    }
8607    impl CstDecode<crate::models::OpenChannelFeeRequest> for *mut wire_cst_open_channel_fee_request {
8608        // Codec=Cst (C-struct based), see doc to use other codecs
8609        fn cst_decode(self) -> crate::models::OpenChannelFeeRequest {
8610            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8611            CstDecode::<crate::models::OpenChannelFeeRequest>::cst_decode(*wrap).into()
8612        }
8613    }
8614    impl CstDecode<crate::models::OpeningFeeParams> for *mut wire_cst_opening_fee_params {
8615        // Codec=Cst (C-struct based), see doc to use other codecs
8616        fn cst_decode(self) -> crate::models::OpeningFeeParams {
8617            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8618            CstDecode::<crate::models::OpeningFeeParams>::cst_decode(*wrap).into()
8619        }
8620    }
8621    impl CstDecode<crate::models::PayOnchainRequest> for *mut wire_cst_pay_onchain_request {
8622        // Codec=Cst (C-struct based), see doc to use other codecs
8623        fn cst_decode(self) -> crate::models::PayOnchainRequest {
8624            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8625            CstDecode::<crate::models::PayOnchainRequest>::cst_decode(*wrap).into()
8626        }
8627    }
8628    impl CstDecode<crate::models::Payment> for *mut wire_cst_payment {
8629        // Codec=Cst (C-struct based), see doc to use other codecs
8630        fn cst_decode(self) -> crate::models::Payment {
8631            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8632            CstDecode::<crate::models::Payment>::cst_decode(*wrap).into()
8633        }
8634    }
8635    impl CstDecode<crate::breez_services::PaymentFailedData> for *mut wire_cst_payment_failed_data {
8636        // Codec=Cst (C-struct based), see doc to use other codecs
8637        fn cst_decode(self) -> crate::breez_services::PaymentFailedData {
8638            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8639            CstDecode::<crate::breez_services::PaymentFailedData>::cst_decode(*wrap).into()
8640        }
8641    }
8642    impl CstDecode<crate::models::PrepareOnchainPaymentRequest>
8643        for *mut wire_cst_prepare_onchain_payment_request
8644    {
8645        // Codec=Cst (C-struct based), see doc to use other codecs
8646        fn cst_decode(self) -> crate::models::PrepareOnchainPaymentRequest {
8647            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8648            CstDecode::<crate::models::PrepareOnchainPaymentRequest>::cst_decode(*wrap).into()
8649        }
8650    }
8651    impl CstDecode<crate::models::PrepareRedeemOnchainFundsRequest>
8652        for *mut wire_cst_prepare_redeem_onchain_funds_request
8653    {
8654        // Codec=Cst (C-struct based), see doc to use other codecs
8655        fn cst_decode(self) -> crate::models::PrepareRedeemOnchainFundsRequest {
8656            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8657            CstDecode::<crate::models::PrepareRedeemOnchainFundsRequest>::cst_decode(*wrap).into()
8658        }
8659    }
8660    impl CstDecode<crate::models::PrepareRefundRequest> for *mut wire_cst_prepare_refund_request {
8661        // Codec=Cst (C-struct based), see doc to use other codecs
8662        fn cst_decode(self) -> crate::models::PrepareRefundRequest {
8663            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8664            CstDecode::<crate::models::PrepareRefundRequest>::cst_decode(*wrap).into()
8665        }
8666    }
8667    impl CstDecode<crate::models::ReceiveOnchainRequest> for *mut wire_cst_receive_onchain_request {
8668        // Codec=Cst (C-struct based), see doc to use other codecs
8669        fn cst_decode(self) -> crate::models::ReceiveOnchainRequest {
8670            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8671            CstDecode::<crate::models::ReceiveOnchainRequest>::cst_decode(*wrap).into()
8672        }
8673    }
8674    impl CstDecode<crate::models::ReceivePaymentRequest> for *mut wire_cst_receive_payment_request {
8675        // Codec=Cst (C-struct based), see doc to use other codecs
8676        fn cst_decode(self) -> crate::models::ReceivePaymentRequest {
8677            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8678            CstDecode::<crate::models::ReceivePaymentRequest>::cst_decode(*wrap).into()
8679        }
8680    }
8681    impl CstDecode<crate::models::RedeemOnchainFundsRequest>
8682        for *mut wire_cst_redeem_onchain_funds_request
8683    {
8684        // Codec=Cst (C-struct based), see doc to use other codecs
8685        fn cst_decode(self) -> crate::models::RedeemOnchainFundsRequest {
8686            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8687            CstDecode::<crate::models::RedeemOnchainFundsRequest>::cst_decode(*wrap).into()
8688        }
8689    }
8690    impl CstDecode<crate::models::RefundRequest> for *mut wire_cst_refund_request {
8691        // Codec=Cst (C-struct based), see doc to use other codecs
8692        fn cst_decode(self) -> crate::models::RefundRequest {
8693            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8694            CstDecode::<crate::models::RefundRequest>::cst_decode(*wrap).into()
8695        }
8696    }
8697    impl CstDecode<crate::models::ReportIssueRequest> for *mut wire_cst_report_issue_request {
8698        // Codec=Cst (C-struct based), see doc to use other codecs
8699        fn cst_decode(self) -> crate::models::ReportIssueRequest {
8700            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8701            CstDecode::<crate::models::ReportIssueRequest>::cst_decode(*wrap).into()
8702        }
8703    }
8704    impl CstDecode<crate::models::ReportPaymentFailureDetails>
8705        for *mut wire_cst_report_payment_failure_details
8706    {
8707        // Codec=Cst (C-struct based), see doc to use other codecs
8708        fn cst_decode(self) -> crate::models::ReportPaymentFailureDetails {
8709            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8710            CstDecode::<crate::models::ReportPaymentFailureDetails>::cst_decode(*wrap).into()
8711        }
8712    }
8713    impl CstDecode<crate::models::ReverseSwapFeesRequest> for *mut wire_cst_reverse_swap_fees_request {
8714        // Codec=Cst (C-struct based), see doc to use other codecs
8715        fn cst_decode(self) -> crate::models::ReverseSwapFeesRequest {
8716            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8717            CstDecode::<crate::models::ReverseSwapFeesRequest>::cst_decode(*wrap).into()
8718        }
8719    }
8720    impl CstDecode<crate::models::ReverseSwapInfo> for *mut wire_cst_reverse_swap_info {
8721        // Codec=Cst (C-struct based), see doc to use other codecs
8722        fn cst_decode(self) -> crate::models::ReverseSwapInfo {
8723            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8724            CstDecode::<crate::models::ReverseSwapInfo>::cst_decode(*wrap).into()
8725        }
8726    }
8727    impl CstDecode<crate::models::SendPaymentRequest> for *mut wire_cst_send_payment_request {
8728        // Codec=Cst (C-struct based), see doc to use other codecs
8729        fn cst_decode(self) -> crate::models::SendPaymentRequest {
8730            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8731            CstDecode::<crate::models::SendPaymentRequest>::cst_decode(*wrap).into()
8732        }
8733    }
8734    impl CstDecode<crate::models::SendSpontaneousPaymentRequest>
8735        for *mut wire_cst_send_spontaneous_payment_request
8736    {
8737        // Codec=Cst (C-struct based), see doc to use other codecs
8738        fn cst_decode(self) -> crate::models::SendSpontaneousPaymentRequest {
8739            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8740            CstDecode::<crate::models::SendSpontaneousPaymentRequest>::cst_decode(*wrap).into()
8741        }
8742    }
8743    impl CstDecode<crate::breez_services::SignMessageRequest> for *mut wire_cst_sign_message_request {
8744        // Codec=Cst (C-struct based), see doc to use other codecs
8745        fn cst_decode(self) -> crate::breez_services::SignMessageRequest {
8746            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8747            CstDecode::<crate::breez_services::SignMessageRequest>::cst_decode(*wrap).into()
8748        }
8749    }
8750    impl CstDecode<crate::models::StaticBackupRequest> for *mut wire_cst_static_backup_request {
8751        // Codec=Cst (C-struct based), see doc to use other codecs
8752        fn cst_decode(self) -> crate::models::StaticBackupRequest {
8753            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8754            CstDecode::<crate::models::StaticBackupRequest>::cst_decode(*wrap).into()
8755        }
8756    }
8757    impl CstDecode<crate::binding::SuccessActionProcessed> for *mut wire_cst_success_action_processed {
8758        // Codec=Cst (C-struct based), see doc to use other codecs
8759        fn cst_decode(self) -> crate::binding::SuccessActionProcessed {
8760            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8761            CstDecode::<crate::binding::SuccessActionProcessed>::cst_decode(*wrap).into()
8762        }
8763    }
8764    impl CstDecode<crate::models::SwapInfo> for *mut wire_cst_swap_info {
8765        // Codec=Cst (C-struct based), see doc to use other codecs
8766        fn cst_decode(self) -> crate::models::SwapInfo {
8767            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8768            CstDecode::<crate::models::SwapInfo>::cst_decode(*wrap).into()
8769        }
8770    }
8771    impl CstDecode<crate::binding::Symbol> for *mut wire_cst_symbol {
8772        // Codec=Cst (C-struct based), see doc to use other codecs
8773        fn cst_decode(self) -> crate::binding::Symbol {
8774            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8775            CstDecode::<crate::binding::Symbol>::cst_decode(*wrap).into()
8776        }
8777    }
8778    impl CstDecode<u32> for *mut u32 {
8779        // Codec=Cst (C-struct based), see doc to use other codecs
8780        fn cst_decode(self) -> u32 {
8781            unsafe { *flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }
8782        }
8783    }
8784    impl CstDecode<u64> for *mut u64 {
8785        // Codec=Cst (C-struct based), see doc to use other codecs
8786        fn cst_decode(self) -> u64 {
8787            unsafe { *flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }
8788        }
8789    }
8790    impl CstDecode<crate::binding::UrlSuccessActionData> for *mut wire_cst_url_success_action_data {
8791        // Codec=Cst (C-struct based), see doc to use other codecs
8792        fn cst_decode(self) -> crate::binding::UrlSuccessActionData {
8793            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8794            CstDecode::<crate::binding::UrlSuccessActionData>::cst_decode(*wrap).into()
8795        }
8796    }
8797    impl CstDecode<crate::breez_services::BreezEvent> for wire_cst_breez_event {
8798        // Codec=Cst (C-struct based), see doc to use other codecs
8799        fn cst_decode(self) -> crate::breez_services::BreezEvent {
8800            match self.tag {
8801                0 => {
8802                    let ans = unsafe { self.kind.NewBlock };
8803                    crate::breez_services::BreezEvent::NewBlock {
8804                        block: ans.block.cst_decode(),
8805                    }
8806                }
8807                1 => {
8808                    let ans = unsafe { self.kind.InvoicePaid };
8809                    crate::breez_services::BreezEvent::InvoicePaid {
8810                        details: ans.details.cst_decode(),
8811                    }
8812                }
8813                2 => crate::breez_services::BreezEvent::Synced,
8814                3 => {
8815                    let ans = unsafe { self.kind.PaymentSucceed };
8816                    crate::breez_services::BreezEvent::PaymentSucceed {
8817                        details: ans.details.cst_decode(),
8818                    }
8819                }
8820                4 => {
8821                    let ans = unsafe { self.kind.PaymentFailed };
8822                    crate::breez_services::BreezEvent::PaymentFailed {
8823                        details: ans.details.cst_decode(),
8824                    }
8825                }
8826                5 => crate::breez_services::BreezEvent::BackupStarted,
8827                6 => crate::breez_services::BreezEvent::BackupSucceeded,
8828                7 => {
8829                    let ans = unsafe { self.kind.BackupFailed };
8830                    crate::breez_services::BreezEvent::BackupFailed {
8831                        details: ans.details.cst_decode(),
8832                    }
8833                }
8834                8 => {
8835                    let ans = unsafe { self.kind.ReverseSwapUpdated };
8836                    crate::breez_services::BreezEvent::ReverseSwapUpdated {
8837                        details: ans.details.cst_decode(),
8838                    }
8839                }
8840                9 => {
8841                    let ans = unsafe { self.kind.SwapUpdated };
8842                    crate::breez_services::BreezEvent::SwapUpdated {
8843                        details: ans.details.cst_decode(),
8844                    }
8845                }
8846                _ => unreachable!(),
8847            }
8848        }
8849    }
8850    impl CstDecode<crate::models::BuyBitcoinRequest> for wire_cst_buy_bitcoin_request {
8851        // Codec=Cst (C-struct based), see doc to use other codecs
8852        fn cst_decode(self) -> crate::models::BuyBitcoinRequest {
8853            crate::models::BuyBitcoinRequest {
8854                provider: self.provider.cst_decode(),
8855                opening_fee_params: self.opening_fee_params.cst_decode(),
8856                redirect_url: self.redirect_url.cst_decode(),
8857            }
8858        }
8859    }
8860    impl CstDecode<crate::models::BuyBitcoinResponse> for wire_cst_buy_bitcoin_response {
8861        // Codec=Cst (C-struct based), see doc to use other codecs
8862        fn cst_decode(self) -> crate::models::BuyBitcoinResponse {
8863            crate::models::BuyBitcoinResponse {
8864                url: self.url.cst_decode(),
8865                opening_fee_params: self.opening_fee_params.cst_decode(),
8866            }
8867        }
8868    }
8869    impl CstDecode<crate::breez_services::CheckMessageRequest> for wire_cst_check_message_request {
8870        // Codec=Cst (C-struct based), see doc to use other codecs
8871        fn cst_decode(self) -> crate::breez_services::CheckMessageRequest {
8872            crate::breez_services::CheckMessageRequest {
8873                message: self.message.cst_decode(),
8874                pubkey: self.pubkey.cst_decode(),
8875                signature: self.signature.cst_decode(),
8876            }
8877        }
8878    }
8879    impl CstDecode<crate::breez_services::CheckMessageResponse> for wire_cst_check_message_response {
8880        // Codec=Cst (C-struct based), see doc to use other codecs
8881        fn cst_decode(self) -> crate::breez_services::CheckMessageResponse {
8882            crate::breez_services::CheckMessageResponse {
8883                is_valid: self.is_valid.cst_decode(),
8884            }
8885        }
8886    }
8887    impl CstDecode<crate::models::ClosedChannelPaymentDetails>
8888        for wire_cst_closed_channel_payment_details
8889    {
8890        // Codec=Cst (C-struct based), see doc to use other codecs
8891        fn cst_decode(self) -> crate::models::ClosedChannelPaymentDetails {
8892            crate::models::ClosedChannelPaymentDetails {
8893                state: self.state.cst_decode(),
8894                funding_txid: self.funding_txid.cst_decode(),
8895                short_channel_id: self.short_channel_id.cst_decode(),
8896                closing_txid: self.closing_txid.cst_decode(),
8897            }
8898        }
8899    }
8900    impl CstDecode<crate::models::Config> for wire_cst_config {
8901        // Codec=Cst (C-struct based), see doc to use other codecs
8902        fn cst_decode(self) -> crate::models::Config {
8903            crate::models::Config {
8904                breezserver: self.breezserver.cst_decode(),
8905                chainnotifier_url: self.chainnotifier_url.cst_decode(),
8906                mempoolspace_url: self.mempoolspace_url.cst_decode(),
8907                working_dir: self.working_dir.cst_decode(),
8908                network: self.network.cst_decode(),
8909                payment_timeout_sec: self.payment_timeout_sec.cst_decode(),
8910                default_lsp_id: self.default_lsp_id.cst_decode(),
8911                api_key: self.api_key.cst_decode(),
8912                maxfee_percent: self.maxfee_percent.cst_decode(),
8913                exemptfee_msat: self.exemptfee_msat.cst_decode(),
8914                node_config: self.node_config.cst_decode(),
8915            }
8916        }
8917    }
8918    impl CstDecode<crate::models::ConfigureNodeRequest> for wire_cst_configure_node_request {
8919        // Codec=Cst (C-struct based), see doc to use other codecs
8920        fn cst_decode(self) -> crate::models::ConfigureNodeRequest {
8921            crate::models::ConfigureNodeRequest {
8922                close_to_address: self.close_to_address.cst_decode(),
8923            }
8924        }
8925    }
8926    impl CstDecode<crate::models::ConnectRequest> for wire_cst_connect_request {
8927        // Codec=Cst (C-struct based), see doc to use other codecs
8928        fn cst_decode(self) -> crate::models::ConnectRequest {
8929            crate::models::ConnectRequest {
8930                config: self.config.cst_decode(),
8931                seed: self.seed.cst_decode(),
8932                restore_only: self.restore_only.cst_decode(),
8933            }
8934        }
8935    }
8936    impl CstDecode<crate::binding::CurrencyInfo> for wire_cst_currency_info {
8937        // Codec=Cst (C-struct based), see doc to use other codecs
8938        fn cst_decode(self) -> crate::binding::CurrencyInfo {
8939            crate::binding::CurrencyInfo {
8940                name: self.name.cst_decode(),
8941                fraction_size: self.fraction_size.cst_decode(),
8942                spacing: self.spacing.cst_decode(),
8943                symbol: self.symbol.cst_decode(),
8944                uniq_symbol: self.uniq_symbol.cst_decode(),
8945                localized_name: self.localized_name.cst_decode(),
8946                locale_overrides: self.locale_overrides.cst_decode(),
8947            }
8948        }
8949    }
8950    impl CstDecode<crate::binding::FiatCurrency> for wire_cst_fiat_currency {
8951        // Codec=Cst (C-struct based), see doc to use other codecs
8952        fn cst_decode(self) -> crate::binding::FiatCurrency {
8953            crate::binding::FiatCurrency {
8954                id: self.id.cst_decode(),
8955                info: self.info.cst_decode(),
8956            }
8957        }
8958    }
8959    impl CstDecode<crate::models::GreenlightCredentials> for wire_cst_greenlight_credentials {
8960        // Codec=Cst (C-struct based), see doc to use other codecs
8961        fn cst_decode(self) -> crate::models::GreenlightCredentials {
8962            crate::models::GreenlightCredentials {
8963                developer_key: self.developer_key.cst_decode(),
8964                developer_cert: self.developer_cert.cst_decode(),
8965            }
8966        }
8967    }
8968    impl CstDecode<crate::models::GreenlightDeviceCredentials>
8969        for wire_cst_greenlight_device_credentials
8970    {
8971        // Codec=Cst (C-struct based), see doc to use other codecs
8972        fn cst_decode(self) -> crate::models::GreenlightDeviceCredentials {
8973            crate::models::GreenlightDeviceCredentials {
8974                device: self.device.cst_decode(),
8975            }
8976        }
8977    }
8978    impl CstDecode<crate::models::GreenlightNodeConfig> for wire_cst_greenlight_node_config {
8979        // Codec=Cst (C-struct based), see doc to use other codecs
8980        fn cst_decode(self) -> crate::models::GreenlightNodeConfig {
8981            crate::models::GreenlightNodeConfig {
8982                partner_credentials: self.partner_credentials.cst_decode(),
8983                invite_code: self.invite_code.cst_decode(),
8984            }
8985        }
8986    }
8987    impl CstDecode<crate::binding::InputType> for wire_cst_input_type {
8988        // Codec=Cst (C-struct based), see doc to use other codecs
8989        fn cst_decode(self) -> crate::binding::InputType {
8990            match self.tag {
8991                0 => {
8992                    let ans = unsafe { self.kind.BitcoinAddress };
8993                    crate::binding::InputType::BitcoinAddress {
8994                        address: ans.address.cst_decode(),
8995                    }
8996                }
8997                1 => {
8998                    let ans = unsafe { self.kind.Bolt11 };
8999                    crate::binding::InputType::Bolt11 {
9000                        invoice: ans.invoice.cst_decode(),
9001                    }
9002                }
9003                2 => {
9004                    let ans = unsafe { self.kind.NodeId };
9005                    crate::binding::InputType::NodeId {
9006                        node_id: ans.node_id.cst_decode(),
9007                    }
9008                }
9009                3 => {
9010                    let ans = unsafe { self.kind.Url };
9011                    crate::binding::InputType::Url {
9012                        url: ans.url.cst_decode(),
9013                    }
9014                }
9015                4 => {
9016                    let ans = unsafe { self.kind.LnUrlPay };
9017                    crate::binding::InputType::LnUrlPay {
9018                        data: ans.data.cst_decode(),
9019                        bip353_address: ans.bip353_address.cst_decode(),
9020                    }
9021                }
9022                5 => {
9023                    let ans = unsafe { self.kind.LnUrlWithdraw };
9024                    crate::binding::InputType::LnUrlWithdraw {
9025                        data: ans.data.cst_decode(),
9026                    }
9027                }
9028                6 => {
9029                    let ans = unsafe { self.kind.LnUrlAuth };
9030                    crate::binding::InputType::LnUrlAuth {
9031                        data: ans.data.cst_decode(),
9032                    }
9033                }
9034                7 => {
9035                    let ans = unsafe { self.kind.LnUrlError };
9036                    crate::binding::InputType::LnUrlError {
9037                        data: ans.data.cst_decode(),
9038                    }
9039                }
9040                _ => unreachable!(),
9041            }
9042        }
9043    }
9044    impl CstDecode<crate::breez_services::InvoicePaidDetails> for wire_cst_invoice_paid_details {
9045        // Codec=Cst (C-struct based), see doc to use other codecs
9046        fn cst_decode(self) -> crate::breez_services::InvoicePaidDetails {
9047            crate::breez_services::InvoicePaidDetails {
9048                payment_hash: self.payment_hash.cst_decode(),
9049                bolt11: self.bolt11.cst_decode(),
9050                payment: self.payment.cst_decode(),
9051            }
9052        }
9053    }
9054    impl CstDecode<Vec<String>> for *mut wire_cst_list_String {
9055        // Codec=Cst (C-struct based), see doc to use other codecs
9056        fn cst_decode(self) -> Vec<String> {
9057            let vec = unsafe {
9058                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9059                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9060            };
9061            vec.into_iter().map(CstDecode::cst_decode).collect()
9062        }
9063    }
9064    impl CstDecode<Vec<crate::binding::FiatCurrency>> for *mut wire_cst_list_fiat_currency {
9065        // Codec=Cst (C-struct based), see doc to use other codecs
9066        fn cst_decode(self) -> Vec<crate::binding::FiatCurrency> {
9067            let vec = unsafe {
9068                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9069                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9070            };
9071            vec.into_iter().map(CstDecode::cst_decode).collect()
9072        }
9073    }
9074    impl CstDecode<Vec<crate::binding::LocaleOverrides>> for *mut wire_cst_list_locale_overrides {
9075        // Codec=Cst (C-struct based), see doc to use other codecs
9076        fn cst_decode(self) -> Vec<crate::binding::LocaleOverrides> {
9077            let vec = unsafe {
9078                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9079                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9080            };
9081            vec.into_iter().map(CstDecode::cst_decode).collect()
9082        }
9083    }
9084    impl CstDecode<Vec<crate::binding::LocalizedName>> for *mut wire_cst_list_localized_name {
9085        // Codec=Cst (C-struct based), see doc to use other codecs
9086        fn cst_decode(self) -> Vec<crate::binding::LocalizedName> {
9087            let vec = unsafe {
9088                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9089                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9090            };
9091            vec.into_iter().map(CstDecode::cst_decode).collect()
9092        }
9093    }
9094    impl CstDecode<Vec<crate::lsp::LspInformation>> for *mut wire_cst_list_lsp_information {
9095        // Codec=Cst (C-struct based), see doc to use other codecs
9096        fn cst_decode(self) -> Vec<crate::lsp::LspInformation> {
9097            let vec = unsafe {
9098                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9099                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9100            };
9101            vec.into_iter().map(CstDecode::cst_decode).collect()
9102        }
9103    }
9104    impl CstDecode<Vec<crate::models::MetadataFilter>> for *mut wire_cst_list_metadata_filter {
9105        // Codec=Cst (C-struct based), see doc to use other codecs
9106        fn cst_decode(self) -> Vec<crate::models::MetadataFilter> {
9107            let vec = unsafe {
9108                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9109                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9110            };
9111            vec.into_iter().map(CstDecode::cst_decode).collect()
9112        }
9113    }
9114    impl CstDecode<Vec<crate::models::OpeningFeeParams>> for *mut wire_cst_list_opening_fee_params {
9115        // Codec=Cst (C-struct based), see doc to use other codecs
9116        fn cst_decode(self) -> Vec<crate::models::OpeningFeeParams> {
9117            let vec = unsafe {
9118                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9119                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9120            };
9121            vec.into_iter().map(CstDecode::cst_decode).collect()
9122        }
9123    }
9124    impl CstDecode<Vec<crate::models::Payment>> for *mut wire_cst_list_payment {
9125        // Codec=Cst (C-struct based), see doc to use other codecs
9126        fn cst_decode(self) -> Vec<crate::models::Payment> {
9127            let vec = unsafe {
9128                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9129                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9130            };
9131            vec.into_iter().map(CstDecode::cst_decode).collect()
9132        }
9133    }
9134    impl CstDecode<Vec<crate::models::PaymentTypeFilter>> for *mut wire_cst_list_payment_type_filter {
9135        // Codec=Cst (C-struct based), see doc to use other codecs
9136        fn cst_decode(self) -> Vec<crate::models::PaymentTypeFilter> {
9137            let vec = unsafe {
9138                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9139                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9140            };
9141            vec.into_iter().map(CstDecode::cst_decode).collect()
9142        }
9143    }
9144    impl CstDecode<crate::models::ListPaymentsRequest> for wire_cst_list_payments_request {
9145        // Codec=Cst (C-struct based), see doc to use other codecs
9146        fn cst_decode(self) -> crate::models::ListPaymentsRequest {
9147            crate::models::ListPaymentsRequest {
9148                filters: self.filters.cst_decode(),
9149                metadata_filters: self.metadata_filters.cst_decode(),
9150                from_timestamp: self.from_timestamp.cst_decode(),
9151                to_timestamp: self.to_timestamp.cst_decode(),
9152                include_failures: self.include_failures.cst_decode(),
9153                offset: self.offset.cst_decode(),
9154                limit: self.limit.cst_decode(),
9155            }
9156        }
9157    }
9158    impl CstDecode<Vec<u8>> for *mut wire_cst_list_prim_u_8_strict {
9159        // Codec=Cst (C-struct based), see doc to use other codecs
9160        fn cst_decode(self) -> Vec<u8> {
9161            unsafe {
9162                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9163                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9164            }
9165        }
9166    }
9167    impl CstDecode<Vec<crate::binding::Rate>> for *mut wire_cst_list_rate {
9168        // Codec=Cst (C-struct based), see doc to use other codecs
9169        fn cst_decode(self) -> Vec<crate::binding::Rate> {
9170            let vec = unsafe {
9171                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9172                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9173            };
9174            vec.into_iter().map(CstDecode::cst_decode).collect()
9175        }
9176    }
9177    impl CstDecode<Vec<crate::models::ReverseSwapInfo>> for *mut wire_cst_list_reverse_swap_info {
9178        // Codec=Cst (C-struct based), see doc to use other codecs
9179        fn cst_decode(self) -> Vec<crate::models::ReverseSwapInfo> {
9180            let vec = unsafe {
9181                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9182                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9183            };
9184            vec.into_iter().map(CstDecode::cst_decode).collect()
9185        }
9186    }
9187    impl CstDecode<Vec<crate::binding::RouteHint>> for *mut wire_cst_list_route_hint {
9188        // Codec=Cst (C-struct based), see doc to use other codecs
9189        fn cst_decode(self) -> Vec<crate::binding::RouteHint> {
9190            let vec = unsafe {
9191                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9192                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9193            };
9194            vec.into_iter().map(CstDecode::cst_decode).collect()
9195        }
9196    }
9197    impl CstDecode<Vec<crate::binding::RouteHintHop>> for *mut wire_cst_list_route_hint_hop {
9198        // Codec=Cst (C-struct based), see doc to use other codecs
9199        fn cst_decode(self) -> Vec<crate::binding::RouteHintHop> {
9200            let vec = unsafe {
9201                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9202                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9203            };
9204            vec.into_iter().map(CstDecode::cst_decode).collect()
9205        }
9206    }
9207    impl CstDecode<Vec<crate::models::SwapInfo>> for *mut wire_cst_list_swap_info {
9208        // Codec=Cst (C-struct based), see doc to use other codecs
9209        fn cst_decode(self) -> Vec<crate::models::SwapInfo> {
9210            let vec = unsafe {
9211                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9212                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9213            };
9214            vec.into_iter().map(CstDecode::cst_decode).collect()
9215        }
9216    }
9217    impl CstDecode<Vec<crate::models::SwapStatus>> for *mut wire_cst_list_swap_status {
9218        // Codec=Cst (C-struct based), see doc to use other codecs
9219        fn cst_decode(self) -> Vec<crate::models::SwapStatus> {
9220            let vec = unsafe {
9221                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9222                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9223            };
9224            vec.into_iter().map(CstDecode::cst_decode).collect()
9225        }
9226    }
9227    impl CstDecode<crate::models::ListSwapsRequest> for wire_cst_list_swaps_request {
9228        // Codec=Cst (C-struct based), see doc to use other codecs
9229        fn cst_decode(self) -> crate::models::ListSwapsRequest {
9230            crate::models::ListSwapsRequest {
9231                status: self.status.cst_decode(),
9232                from_timestamp: self.from_timestamp.cst_decode(),
9233                to_timestamp: self.to_timestamp.cst_decode(),
9234                offset: self.offset.cst_decode(),
9235                limit: self.limit.cst_decode(),
9236            }
9237        }
9238    }
9239    impl CstDecode<Vec<crate::models::TlvEntry>> for *mut wire_cst_list_tlv_entry {
9240        // Codec=Cst (C-struct based), see doc to use other codecs
9241        fn cst_decode(self) -> Vec<crate::models::TlvEntry> {
9242            let vec = unsafe {
9243                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9244                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9245            };
9246            vec.into_iter().map(CstDecode::cst_decode).collect()
9247        }
9248    }
9249    impl CstDecode<Vec<crate::models::UnspentTransactionOutput>>
9250        for *mut wire_cst_list_unspent_transaction_output
9251    {
9252        // Codec=Cst (C-struct based), see doc to use other codecs
9253        fn cst_decode(self) -> Vec<crate::models::UnspentTransactionOutput> {
9254            let vec = unsafe {
9255                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9256                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9257            };
9258            vec.into_iter().map(CstDecode::cst_decode).collect()
9259        }
9260    }
9261    impl CstDecode<crate::binding::LNInvoice> for wire_cst_ln_invoice {
9262        // Codec=Cst (C-struct based), see doc to use other codecs
9263        fn cst_decode(self) -> crate::binding::LNInvoice {
9264            crate::binding::LNInvoice {
9265                bolt11: self.bolt11.cst_decode(),
9266                network: self.network.cst_decode(),
9267                payee_pubkey: self.payee_pubkey.cst_decode(),
9268                payment_hash: self.payment_hash.cst_decode(),
9269                description: self.description.cst_decode(),
9270                description_hash: self.description_hash.cst_decode(),
9271                amount_msat: self.amount_msat.cst_decode(),
9272                timestamp: self.timestamp.cst_decode(),
9273                expiry: self.expiry.cst_decode(),
9274                routing_hints: self.routing_hints.cst_decode(),
9275                payment_secret: self.payment_secret.cst_decode(),
9276                min_final_cltv_expiry_delta: self.min_final_cltv_expiry_delta.cst_decode(),
9277            }
9278        }
9279    }
9280    impl CstDecode<crate::models::LnPaymentDetails> for wire_cst_ln_payment_details {
9281        // Codec=Cst (C-struct based), see doc to use other codecs
9282        fn cst_decode(self) -> crate::models::LnPaymentDetails {
9283            crate::models::LnPaymentDetails {
9284                payment_hash: self.payment_hash.cst_decode(),
9285                label: self.label.cst_decode(),
9286                destination_pubkey: self.destination_pubkey.cst_decode(),
9287                payment_preimage: self.payment_preimage.cst_decode(),
9288                keysend: self.keysend.cst_decode(),
9289                bolt11: self.bolt11.cst_decode(),
9290                open_channel_bolt11: self.open_channel_bolt11.cst_decode(),
9291                lnurl_success_action: self.lnurl_success_action.cst_decode(),
9292                lnurl_pay_domain: self.lnurl_pay_domain.cst_decode(),
9293                lnurl_pay_comment: self.lnurl_pay_comment.cst_decode(),
9294                ln_address: self.ln_address.cst_decode(),
9295                lnurl_metadata: self.lnurl_metadata.cst_decode(),
9296                lnurl_withdraw_endpoint: self.lnurl_withdraw_endpoint.cst_decode(),
9297                swap_info: self.swap_info.cst_decode(),
9298                reverse_swap_info: self.reverse_swap_info.cst_decode(),
9299                pending_expiration_block: self.pending_expiration_block.cst_decode(),
9300            }
9301        }
9302    }
9303    impl CstDecode<crate::binding::LnUrlAuthRequestData> for wire_cst_ln_url_auth_request_data {
9304        // Codec=Cst (C-struct based), see doc to use other codecs
9305        fn cst_decode(self) -> crate::binding::LnUrlAuthRequestData {
9306            crate::binding::LnUrlAuthRequestData {
9307                k1: self.k1.cst_decode(),
9308                action: self.action.cst_decode(),
9309                domain: self.domain.cst_decode(),
9310                url: self.url.cst_decode(),
9311            }
9312        }
9313    }
9314    impl CstDecode<crate::binding::LnUrlCallbackStatus> for wire_cst_ln_url_callback_status {
9315        // Codec=Cst (C-struct based), see doc to use other codecs
9316        fn cst_decode(self) -> crate::binding::LnUrlCallbackStatus {
9317            match self.tag {
9318                0 => crate::binding::LnUrlCallbackStatus::Ok,
9319                1 => {
9320                    let ans = unsafe { self.kind.ErrorStatus };
9321                    crate::binding::LnUrlCallbackStatus::ErrorStatus {
9322                        data: ans.data.cst_decode(),
9323                    }
9324                }
9325                _ => unreachable!(),
9326            }
9327        }
9328    }
9329    impl CstDecode<crate::binding::LnUrlErrorData> for wire_cst_ln_url_error_data {
9330        // Codec=Cst (C-struct based), see doc to use other codecs
9331        fn cst_decode(self) -> crate::binding::LnUrlErrorData {
9332            crate::binding::LnUrlErrorData {
9333                reason: self.reason.cst_decode(),
9334            }
9335        }
9336    }
9337    impl CstDecode<crate::binding::LnUrlPayErrorData> for wire_cst_ln_url_pay_error_data {
9338        // Codec=Cst (C-struct based), see doc to use other codecs
9339        fn cst_decode(self) -> crate::binding::LnUrlPayErrorData {
9340            crate::binding::LnUrlPayErrorData {
9341                payment_hash: self.payment_hash.cst_decode(),
9342                reason: self.reason.cst_decode(),
9343            }
9344        }
9345    }
9346    impl CstDecode<crate::binding::LnUrlPayRequest> for wire_cst_ln_url_pay_request {
9347        // Codec=Cst (C-struct based), see doc to use other codecs
9348        fn cst_decode(self) -> crate::binding::LnUrlPayRequest {
9349            crate::binding::LnUrlPayRequest {
9350                data: self.data.cst_decode(),
9351                amount_msat: self.amount_msat.cst_decode(),
9352                use_trampoline: self.use_trampoline.cst_decode(),
9353                comment: self.comment.cst_decode(),
9354                payment_label: self.payment_label.cst_decode(),
9355                validate_success_action_url: self.validate_success_action_url.cst_decode(),
9356            }
9357        }
9358    }
9359    impl CstDecode<crate::binding::LnUrlPayRequestData> for wire_cst_ln_url_pay_request_data {
9360        // Codec=Cst (C-struct based), see doc to use other codecs
9361        fn cst_decode(self) -> crate::binding::LnUrlPayRequestData {
9362            crate::binding::LnUrlPayRequestData {
9363                callback: self.callback.cst_decode(),
9364                min_sendable: self.min_sendable.cst_decode(),
9365                max_sendable: self.max_sendable.cst_decode(),
9366                metadata_str: self.metadata_str.cst_decode(),
9367                comment_allowed: self.comment_allowed.cst_decode(),
9368                domain: self.domain.cst_decode(),
9369                allows_nostr: self.allows_nostr.cst_decode(),
9370                nostr_pubkey: self.nostr_pubkey.cst_decode(),
9371                ln_address: self.ln_address.cst_decode(),
9372            }
9373        }
9374    }
9375    impl CstDecode<crate::lnurl::pay::LnUrlPayResult> for wire_cst_ln_url_pay_result {
9376        // Codec=Cst (C-struct based), see doc to use other codecs
9377        fn cst_decode(self) -> crate::lnurl::pay::LnUrlPayResult {
9378            match self.tag {
9379                0 => {
9380                    let ans = unsafe { self.kind.EndpointSuccess };
9381                    crate::lnurl::pay::LnUrlPayResult::EndpointSuccess {
9382                        data: ans.data.cst_decode(),
9383                    }
9384                }
9385                1 => {
9386                    let ans = unsafe { self.kind.EndpointError };
9387                    crate::lnurl::pay::LnUrlPayResult::EndpointError {
9388                        data: ans.data.cst_decode(),
9389                    }
9390                }
9391                2 => {
9392                    let ans = unsafe { self.kind.PayError };
9393                    crate::lnurl::pay::LnUrlPayResult::PayError {
9394                        data: ans.data.cst_decode(),
9395                    }
9396                }
9397                _ => unreachable!(),
9398            }
9399        }
9400    }
9401    impl CstDecode<crate::lnurl::pay::LnUrlPaySuccessData> for wire_cst_ln_url_pay_success_data {
9402        // Codec=Cst (C-struct based), see doc to use other codecs
9403        fn cst_decode(self) -> crate::lnurl::pay::LnUrlPaySuccessData {
9404            crate::lnurl::pay::LnUrlPaySuccessData {
9405                payment: self.payment.cst_decode(),
9406                success_action: self.success_action.cst_decode(),
9407            }
9408        }
9409    }
9410    impl CstDecode<crate::binding::LnUrlWithdrawRequest> for wire_cst_ln_url_withdraw_request {
9411        // Codec=Cst (C-struct based), see doc to use other codecs
9412        fn cst_decode(self) -> crate::binding::LnUrlWithdrawRequest {
9413            crate::binding::LnUrlWithdrawRequest {
9414                data: self.data.cst_decode(),
9415                amount_msat: self.amount_msat.cst_decode(),
9416                description: self.description.cst_decode(),
9417            }
9418        }
9419    }
9420    impl CstDecode<crate::binding::LnUrlWithdrawRequestData> for wire_cst_ln_url_withdraw_request_data {
9421        // Codec=Cst (C-struct based), see doc to use other codecs
9422        fn cst_decode(self) -> crate::binding::LnUrlWithdrawRequestData {
9423            crate::binding::LnUrlWithdrawRequestData {
9424                callback: self.callback.cst_decode(),
9425                k1: self.k1.cst_decode(),
9426                default_description: self.default_description.cst_decode(),
9427                min_withdrawable: self.min_withdrawable.cst_decode(),
9428                max_withdrawable: self.max_withdrawable.cst_decode(),
9429            }
9430        }
9431    }
9432    impl CstDecode<crate::binding::LnUrlWithdrawResult> for wire_cst_ln_url_withdraw_result {
9433        // Codec=Cst (C-struct based), see doc to use other codecs
9434        fn cst_decode(self) -> crate::binding::LnUrlWithdrawResult {
9435            match self.tag {
9436                0 => {
9437                    let ans = unsafe { self.kind.Ok };
9438                    crate::binding::LnUrlWithdrawResult::Ok {
9439                        data: ans.data.cst_decode(),
9440                    }
9441                }
9442                1 => {
9443                    let ans = unsafe { self.kind.Timeout };
9444                    crate::binding::LnUrlWithdrawResult::Timeout {
9445                        data: ans.data.cst_decode(),
9446                    }
9447                }
9448                2 => {
9449                    let ans = unsafe { self.kind.ErrorStatus };
9450                    crate::binding::LnUrlWithdrawResult::ErrorStatus {
9451                        data: ans.data.cst_decode(),
9452                    }
9453                }
9454                _ => unreachable!(),
9455            }
9456        }
9457    }
9458    impl CstDecode<crate::binding::LnUrlWithdrawSuccessData> for wire_cst_ln_url_withdraw_success_data {
9459        // Codec=Cst (C-struct based), see doc to use other codecs
9460        fn cst_decode(self) -> crate::binding::LnUrlWithdrawSuccessData {
9461            crate::binding::LnUrlWithdrawSuccessData {
9462                invoice: self.invoice.cst_decode(),
9463            }
9464        }
9465    }
9466    impl CstDecode<crate::binding::LocaleOverrides> for wire_cst_locale_overrides {
9467        // Codec=Cst (C-struct based), see doc to use other codecs
9468        fn cst_decode(self) -> crate::binding::LocaleOverrides {
9469            crate::binding::LocaleOverrides {
9470                locale: self.locale.cst_decode(),
9471                spacing: self.spacing.cst_decode(),
9472                symbol: self.symbol.cst_decode(),
9473            }
9474        }
9475    }
9476    impl CstDecode<crate::binding::LocalizedName> for wire_cst_localized_name {
9477        // Codec=Cst (C-struct based), see doc to use other codecs
9478        fn cst_decode(self) -> crate::binding::LocalizedName {
9479            crate::binding::LocalizedName {
9480                locale: self.locale.cst_decode(),
9481                name: self.name.cst_decode(),
9482            }
9483        }
9484    }
9485    impl CstDecode<crate::models::LogEntry> for wire_cst_log_entry {
9486        // Codec=Cst (C-struct based), see doc to use other codecs
9487        fn cst_decode(self) -> crate::models::LogEntry {
9488            crate::models::LogEntry {
9489                line: self.line.cst_decode(),
9490                level: self.level.cst_decode(),
9491            }
9492        }
9493    }
9494    impl CstDecode<crate::lsp::LspInformation> for wire_cst_lsp_information {
9495        // Codec=Cst (C-struct based), see doc to use other codecs
9496        fn cst_decode(self) -> crate::lsp::LspInformation {
9497            crate::lsp::LspInformation {
9498                id: self.id.cst_decode(),
9499                name: self.name.cst_decode(),
9500                widget_url: self.widget_url.cst_decode(),
9501                pubkey: self.pubkey.cst_decode(),
9502                host: self.host.cst_decode(),
9503                base_fee_msat: self.base_fee_msat.cst_decode(),
9504                fee_rate: self.fee_rate.cst_decode(),
9505                time_lock_delta: self.time_lock_delta.cst_decode(),
9506                min_htlc_msat: self.min_htlc_msat.cst_decode(),
9507                lsp_pubkey: self.lsp_pubkey.cst_decode(),
9508                opening_fee_params_list: self.opening_fee_params_list.cst_decode(),
9509            }
9510        }
9511    }
9512    impl CstDecode<crate::binding::MessageSuccessActionData> for wire_cst_message_success_action_data {
9513        // Codec=Cst (C-struct based), see doc to use other codecs
9514        fn cst_decode(self) -> crate::binding::MessageSuccessActionData {
9515            crate::binding::MessageSuccessActionData {
9516                message: self.message.cst_decode(),
9517            }
9518        }
9519    }
9520    impl CstDecode<crate::models::MetadataFilter> for wire_cst_metadata_filter {
9521        // Codec=Cst (C-struct based), see doc to use other codecs
9522        fn cst_decode(self) -> crate::models::MetadataFilter {
9523            crate::models::MetadataFilter {
9524                json_path: self.json_path.cst_decode(),
9525                json_value: self.json_value.cst_decode(),
9526            }
9527        }
9528    }
9529    impl CstDecode<crate::models::NodeConfig> for wire_cst_node_config {
9530        // Codec=Cst (C-struct based), see doc to use other codecs
9531        fn cst_decode(self) -> crate::models::NodeConfig {
9532            match self.tag {
9533                0 => {
9534                    let ans = unsafe { self.kind.Greenlight };
9535                    crate::models::NodeConfig::Greenlight {
9536                        config: ans.config.cst_decode(),
9537                    }
9538                }
9539                _ => unreachable!(),
9540            }
9541        }
9542    }
9543    impl CstDecode<crate::models::NodeCredentials> for wire_cst_node_credentials {
9544        // Codec=Cst (C-struct based), see doc to use other codecs
9545        fn cst_decode(self) -> crate::models::NodeCredentials {
9546            match self.tag {
9547                0 => {
9548                    let ans = unsafe { self.kind.Greenlight };
9549                    crate::models::NodeCredentials::Greenlight {
9550                        credentials: ans.credentials.cst_decode(),
9551                    }
9552                }
9553                _ => unreachable!(),
9554            }
9555        }
9556    }
9557    impl CstDecode<crate::models::NodeState> for wire_cst_node_state {
9558        // Codec=Cst (C-struct based), see doc to use other codecs
9559        fn cst_decode(self) -> crate::models::NodeState {
9560            crate::models::NodeState {
9561                id: self.id.cst_decode(),
9562                block_height: self.block_height.cst_decode(),
9563                channels_balance_msat: self.channels_balance_msat.cst_decode(),
9564                onchain_balance_msat: self.onchain_balance_msat.cst_decode(),
9565                pending_onchain_balance_msat: self.pending_onchain_balance_msat.cst_decode(),
9566                utxos: self.utxos.cst_decode(),
9567                max_payable_msat: self.max_payable_msat.cst_decode(),
9568                max_receivable_msat: self.max_receivable_msat.cst_decode(),
9569                max_single_payment_amount_msat: self.max_single_payment_amount_msat.cst_decode(),
9570                max_chan_reserve_msats: self.max_chan_reserve_msats.cst_decode(),
9571                connected_peers: self.connected_peers.cst_decode(),
9572                max_receivable_single_payment_amount_msat: self
9573                    .max_receivable_single_payment_amount_msat
9574                    .cst_decode(),
9575                total_inbound_liquidity_msats: self.total_inbound_liquidity_msats.cst_decode(),
9576            }
9577        }
9578    }
9579    impl CstDecode<crate::models::OnchainPaymentLimitsResponse>
9580        for wire_cst_onchain_payment_limits_response
9581    {
9582        // Codec=Cst (C-struct based), see doc to use other codecs
9583        fn cst_decode(self) -> crate::models::OnchainPaymentLimitsResponse {
9584            crate::models::OnchainPaymentLimitsResponse {
9585                min_sat: self.min_sat.cst_decode(),
9586                max_sat: self.max_sat.cst_decode(),
9587                max_payable_sat: self.max_payable_sat.cst_decode(),
9588            }
9589        }
9590    }
9591    impl CstDecode<crate::models::OpenChannelFeeRequest> for wire_cst_open_channel_fee_request {
9592        // Codec=Cst (C-struct based), see doc to use other codecs
9593        fn cst_decode(self) -> crate::models::OpenChannelFeeRequest {
9594            crate::models::OpenChannelFeeRequest {
9595                amount_msat: self.amount_msat.cst_decode(),
9596                expiry: self.expiry.cst_decode(),
9597            }
9598        }
9599    }
9600    impl CstDecode<crate::models::OpenChannelFeeResponse> for wire_cst_open_channel_fee_response {
9601        // Codec=Cst (C-struct based), see doc to use other codecs
9602        fn cst_decode(self) -> crate::models::OpenChannelFeeResponse {
9603            crate::models::OpenChannelFeeResponse {
9604                fee_msat: self.fee_msat.cst_decode(),
9605                fee_params: self.fee_params.cst_decode(),
9606            }
9607        }
9608    }
9609    impl CstDecode<crate::models::OpeningFeeParams> for wire_cst_opening_fee_params {
9610        // Codec=Cst (C-struct based), see doc to use other codecs
9611        fn cst_decode(self) -> crate::models::OpeningFeeParams {
9612            crate::models::OpeningFeeParams {
9613                min_msat: self.min_msat.cst_decode(),
9614                proportional: self.proportional.cst_decode(),
9615                valid_until: self.valid_until.cst_decode(),
9616                max_idle_time: self.max_idle_time.cst_decode(),
9617                max_client_to_self_delay: self.max_client_to_self_delay.cst_decode(),
9618                promise: self.promise.cst_decode(),
9619            }
9620        }
9621    }
9622    impl CstDecode<crate::models::OpeningFeeParamsMenu> for wire_cst_opening_fee_params_menu {
9623        // Codec=Cst (C-struct based), see doc to use other codecs
9624        fn cst_decode(self) -> crate::models::OpeningFeeParamsMenu {
9625            crate::models::OpeningFeeParamsMenu {
9626                values: self.values.cst_decode(),
9627            }
9628        }
9629    }
9630    impl CstDecode<crate::models::PayOnchainRequest> for wire_cst_pay_onchain_request {
9631        // Codec=Cst (C-struct based), see doc to use other codecs
9632        fn cst_decode(self) -> crate::models::PayOnchainRequest {
9633            crate::models::PayOnchainRequest {
9634                recipient_address: self.recipient_address.cst_decode(),
9635                prepare_res: self.prepare_res.cst_decode(),
9636            }
9637        }
9638    }
9639    impl CstDecode<crate::models::PayOnchainResponse> for wire_cst_pay_onchain_response {
9640        // Codec=Cst (C-struct based), see doc to use other codecs
9641        fn cst_decode(self) -> crate::models::PayOnchainResponse {
9642            crate::models::PayOnchainResponse {
9643                reverse_swap_info: self.reverse_swap_info.cst_decode(),
9644            }
9645        }
9646    }
9647    impl CstDecode<crate::models::Payment> for wire_cst_payment {
9648        // Codec=Cst (C-struct based), see doc to use other codecs
9649        fn cst_decode(self) -> crate::models::Payment {
9650            crate::models::Payment {
9651                id: self.id.cst_decode(),
9652                payment_type: self.payment_type.cst_decode(),
9653                payment_time: self.payment_time.cst_decode(),
9654                amount_msat: self.amount_msat.cst_decode(),
9655                fee_msat: self.fee_msat.cst_decode(),
9656                status: self.status.cst_decode(),
9657                error: self.error.cst_decode(),
9658                description: self.description.cst_decode(),
9659                details: self.details.cst_decode(),
9660                metadata: self.metadata.cst_decode(),
9661            }
9662        }
9663    }
9664    impl CstDecode<crate::models::PaymentDetails> for wire_cst_payment_details {
9665        // Codec=Cst (C-struct based), see doc to use other codecs
9666        fn cst_decode(self) -> crate::models::PaymentDetails {
9667            match self.tag {
9668                0 => {
9669                    let ans = unsafe { self.kind.Ln };
9670                    crate::models::PaymentDetails::Ln {
9671                        data: ans.data.cst_decode(),
9672                    }
9673                }
9674                1 => {
9675                    let ans = unsafe { self.kind.ClosedChannel };
9676                    crate::models::PaymentDetails::ClosedChannel {
9677                        data: ans.data.cst_decode(),
9678                    }
9679                }
9680                _ => unreachable!(),
9681            }
9682        }
9683    }
9684    impl CstDecode<crate::breez_services::PaymentFailedData> for wire_cst_payment_failed_data {
9685        // Codec=Cst (C-struct based), see doc to use other codecs
9686        fn cst_decode(self) -> crate::breez_services::PaymentFailedData {
9687            crate::breez_services::PaymentFailedData {
9688                error: self.error.cst_decode(),
9689                node_id: self.node_id.cst_decode(),
9690                invoice: self.invoice.cst_decode(),
9691                label: self.label.cst_decode(),
9692            }
9693        }
9694    }
9695    impl CstDecode<crate::models::PrepareOnchainPaymentRequest>
9696        for wire_cst_prepare_onchain_payment_request
9697    {
9698        // Codec=Cst (C-struct based), see doc to use other codecs
9699        fn cst_decode(self) -> crate::models::PrepareOnchainPaymentRequest {
9700            crate::models::PrepareOnchainPaymentRequest {
9701                amount_sat: self.amount_sat.cst_decode(),
9702                amount_type: self.amount_type.cst_decode(),
9703                claim_tx_feerate: self.claim_tx_feerate.cst_decode(),
9704            }
9705        }
9706    }
9707    impl CstDecode<crate::models::PrepareOnchainPaymentResponse>
9708        for wire_cst_prepare_onchain_payment_response
9709    {
9710        // Codec=Cst (C-struct based), see doc to use other codecs
9711        fn cst_decode(self) -> crate::models::PrepareOnchainPaymentResponse {
9712            crate::models::PrepareOnchainPaymentResponse {
9713                fees_hash: self.fees_hash.cst_decode(),
9714                fees_percentage: self.fees_percentage.cst_decode(),
9715                fees_lockup: self.fees_lockup.cst_decode(),
9716                fees_claim: self.fees_claim.cst_decode(),
9717                sender_amount_sat: self.sender_amount_sat.cst_decode(),
9718                recipient_amount_sat: self.recipient_amount_sat.cst_decode(),
9719                total_fees: self.total_fees.cst_decode(),
9720            }
9721        }
9722    }
9723    impl CstDecode<crate::models::PrepareRedeemOnchainFundsRequest>
9724        for wire_cst_prepare_redeem_onchain_funds_request
9725    {
9726        // Codec=Cst (C-struct based), see doc to use other codecs
9727        fn cst_decode(self) -> crate::models::PrepareRedeemOnchainFundsRequest {
9728            crate::models::PrepareRedeemOnchainFundsRequest {
9729                to_address: self.to_address.cst_decode(),
9730                sat_per_vbyte: self.sat_per_vbyte.cst_decode(),
9731            }
9732        }
9733    }
9734    impl CstDecode<crate::models::PrepareRedeemOnchainFundsResponse>
9735        for wire_cst_prepare_redeem_onchain_funds_response
9736    {
9737        // Codec=Cst (C-struct based), see doc to use other codecs
9738        fn cst_decode(self) -> crate::models::PrepareRedeemOnchainFundsResponse {
9739            crate::models::PrepareRedeemOnchainFundsResponse {
9740                tx_weight: self.tx_weight.cst_decode(),
9741                tx_fee_sat: self.tx_fee_sat.cst_decode(),
9742            }
9743        }
9744    }
9745    impl CstDecode<crate::models::PrepareRefundRequest> for wire_cst_prepare_refund_request {
9746        // Codec=Cst (C-struct based), see doc to use other codecs
9747        fn cst_decode(self) -> crate::models::PrepareRefundRequest {
9748            crate::models::PrepareRefundRequest {
9749                swap_address: self.swap_address.cst_decode(),
9750                to_address: self.to_address.cst_decode(),
9751                sat_per_vbyte: self.sat_per_vbyte.cst_decode(),
9752                unilateral: self.unilateral.cst_decode(),
9753            }
9754        }
9755    }
9756    impl CstDecode<crate::models::PrepareRefundResponse> for wire_cst_prepare_refund_response {
9757        // Codec=Cst (C-struct based), see doc to use other codecs
9758        fn cst_decode(self) -> crate::models::PrepareRefundResponse {
9759            crate::models::PrepareRefundResponse {
9760                refund_tx_weight: self.refund_tx_weight.cst_decode(),
9761                refund_tx_fee_sat: self.refund_tx_fee_sat.cst_decode(),
9762            }
9763        }
9764    }
9765    impl CstDecode<crate::binding::Rate> for wire_cst_rate {
9766        // Codec=Cst (C-struct based), see doc to use other codecs
9767        fn cst_decode(self) -> crate::binding::Rate {
9768            crate::binding::Rate {
9769                coin: self.coin.cst_decode(),
9770                value: self.value.cst_decode(),
9771            }
9772        }
9773    }
9774    impl CstDecode<crate::models::ReceiveOnchainRequest> for wire_cst_receive_onchain_request {
9775        // Codec=Cst (C-struct based), see doc to use other codecs
9776        fn cst_decode(self) -> crate::models::ReceiveOnchainRequest {
9777            crate::models::ReceiveOnchainRequest {
9778                opening_fee_params: self.opening_fee_params.cst_decode(),
9779            }
9780        }
9781    }
9782    impl CstDecode<crate::models::ReceivePaymentRequest> for wire_cst_receive_payment_request {
9783        // Codec=Cst (C-struct based), see doc to use other codecs
9784        fn cst_decode(self) -> crate::models::ReceivePaymentRequest {
9785            crate::models::ReceivePaymentRequest {
9786                amount_msat: self.amount_msat.cst_decode(),
9787                description: self.description.cst_decode(),
9788                preimage: self.preimage.cst_decode(),
9789                opening_fee_params: self.opening_fee_params.cst_decode(),
9790                use_description_hash: self.use_description_hash.cst_decode(),
9791                expiry: self.expiry.cst_decode(),
9792                cltv: self.cltv.cst_decode(),
9793            }
9794        }
9795    }
9796    impl CstDecode<crate::models::ReceivePaymentResponse> for wire_cst_receive_payment_response {
9797        // Codec=Cst (C-struct based), see doc to use other codecs
9798        fn cst_decode(self) -> crate::models::ReceivePaymentResponse {
9799            crate::models::ReceivePaymentResponse {
9800                ln_invoice: self.ln_invoice.cst_decode(),
9801                opening_fee_params: self.opening_fee_params.cst_decode(),
9802                opening_fee_msat: self.opening_fee_msat.cst_decode(),
9803            }
9804        }
9805    }
9806    impl CstDecode<crate::chain::RecommendedFees> for wire_cst_recommended_fees {
9807        // Codec=Cst (C-struct based), see doc to use other codecs
9808        fn cst_decode(self) -> crate::chain::RecommendedFees {
9809            crate::chain::RecommendedFees {
9810                fastest_fee: self.fastest_fee.cst_decode(),
9811                half_hour_fee: self.half_hour_fee.cst_decode(),
9812                hour_fee: self.hour_fee.cst_decode(),
9813                economy_fee: self.economy_fee.cst_decode(),
9814                minimum_fee: self.minimum_fee.cst_decode(),
9815            }
9816        }
9817    }
9818    impl CstDecode<crate::models::RedeemOnchainFundsRequest> for wire_cst_redeem_onchain_funds_request {
9819        // Codec=Cst (C-struct based), see doc to use other codecs
9820        fn cst_decode(self) -> crate::models::RedeemOnchainFundsRequest {
9821            crate::models::RedeemOnchainFundsRequest {
9822                to_address: self.to_address.cst_decode(),
9823                sat_per_vbyte: self.sat_per_vbyte.cst_decode(),
9824            }
9825        }
9826    }
9827    impl CstDecode<crate::models::RedeemOnchainFundsResponse>
9828        for wire_cst_redeem_onchain_funds_response
9829    {
9830        // Codec=Cst (C-struct based), see doc to use other codecs
9831        fn cst_decode(self) -> crate::models::RedeemOnchainFundsResponse {
9832            crate::models::RedeemOnchainFundsResponse {
9833                txid: self.txid.cst_decode(),
9834            }
9835        }
9836    }
9837    impl CstDecode<crate::models::RefundRequest> for wire_cst_refund_request {
9838        // Codec=Cst (C-struct based), see doc to use other codecs
9839        fn cst_decode(self) -> crate::models::RefundRequest {
9840            crate::models::RefundRequest {
9841                swap_address: self.swap_address.cst_decode(),
9842                to_address: self.to_address.cst_decode(),
9843                sat_per_vbyte: self.sat_per_vbyte.cst_decode(),
9844                unilateral: self.unilateral.cst_decode(),
9845            }
9846        }
9847    }
9848    impl CstDecode<crate::models::RefundResponse> for wire_cst_refund_response {
9849        // Codec=Cst (C-struct based), see doc to use other codecs
9850        fn cst_decode(self) -> crate::models::RefundResponse {
9851            crate::models::RefundResponse {
9852                refund_tx_id: self.refund_tx_id.cst_decode(),
9853            }
9854        }
9855    }
9856    impl CstDecode<crate::models::ReportIssueRequest> for wire_cst_report_issue_request {
9857        // Codec=Cst (C-struct based), see doc to use other codecs
9858        fn cst_decode(self) -> crate::models::ReportIssueRequest {
9859            match self.tag {
9860                0 => {
9861                    let ans = unsafe { self.kind.PaymentFailure };
9862                    crate::models::ReportIssueRequest::PaymentFailure {
9863                        data: ans.data.cst_decode(),
9864                    }
9865                }
9866                _ => unreachable!(),
9867            }
9868        }
9869    }
9870    impl CstDecode<crate::models::ReportPaymentFailureDetails>
9871        for wire_cst_report_payment_failure_details
9872    {
9873        // Codec=Cst (C-struct based), see doc to use other codecs
9874        fn cst_decode(self) -> crate::models::ReportPaymentFailureDetails {
9875            crate::models::ReportPaymentFailureDetails {
9876                payment_hash: self.payment_hash.cst_decode(),
9877                comment: self.comment.cst_decode(),
9878            }
9879        }
9880    }
9881    impl CstDecode<crate::models::ReverseSwapFeesRequest> for wire_cst_reverse_swap_fees_request {
9882        // Codec=Cst (C-struct based), see doc to use other codecs
9883        fn cst_decode(self) -> crate::models::ReverseSwapFeesRequest {
9884            crate::models::ReverseSwapFeesRequest {
9885                send_amount_sat: self.send_amount_sat.cst_decode(),
9886                claim_tx_feerate: self.claim_tx_feerate.cst_decode(),
9887            }
9888        }
9889    }
9890    impl CstDecode<crate::models::ReverseSwapInfo> for wire_cst_reverse_swap_info {
9891        // Codec=Cst (C-struct based), see doc to use other codecs
9892        fn cst_decode(self) -> crate::models::ReverseSwapInfo {
9893            crate::models::ReverseSwapInfo {
9894                id: self.id.cst_decode(),
9895                claim_pubkey: self.claim_pubkey.cst_decode(),
9896                lockup_txid: self.lockup_txid.cst_decode(),
9897                claim_txid: self.claim_txid.cst_decode(),
9898                onchain_amount_sat: self.onchain_amount_sat.cst_decode(),
9899                status: self.status.cst_decode(),
9900            }
9901        }
9902    }
9903    impl CstDecode<crate::models::ReverseSwapPairInfo> for wire_cst_reverse_swap_pair_info {
9904        // Codec=Cst (C-struct based), see doc to use other codecs
9905        fn cst_decode(self) -> crate::models::ReverseSwapPairInfo {
9906            crate::models::ReverseSwapPairInfo {
9907                min: self.min.cst_decode(),
9908                max: self.max.cst_decode(),
9909                fees_hash: self.fees_hash.cst_decode(),
9910                fees_percentage: self.fees_percentage.cst_decode(),
9911                fees_lockup: self.fees_lockup.cst_decode(),
9912                fees_claim: self.fees_claim.cst_decode(),
9913                total_fees: self.total_fees.cst_decode(),
9914            }
9915        }
9916    }
9917    impl CstDecode<crate::binding::RouteHint> for wire_cst_route_hint {
9918        // Codec=Cst (C-struct based), see doc to use other codecs
9919        fn cst_decode(self) -> crate::binding::RouteHint {
9920            crate::binding::RouteHint {
9921                hops: self.hops.cst_decode(),
9922            }
9923        }
9924    }
9925    impl CstDecode<crate::binding::RouteHintHop> for wire_cst_route_hint_hop {
9926        // Codec=Cst (C-struct based), see doc to use other codecs
9927        fn cst_decode(self) -> crate::binding::RouteHintHop {
9928            crate::binding::RouteHintHop {
9929                src_node_id: self.src_node_id.cst_decode(),
9930                short_channel_id: self.short_channel_id.cst_decode(),
9931                fees_base_msat: self.fees_base_msat.cst_decode(),
9932                fees_proportional_millionths: self.fees_proportional_millionths.cst_decode(),
9933                cltv_expiry_delta: self.cltv_expiry_delta.cst_decode(),
9934                htlc_minimum_msat: self.htlc_minimum_msat.cst_decode(),
9935                htlc_maximum_msat: self.htlc_maximum_msat.cst_decode(),
9936            }
9937        }
9938    }
9939    impl CstDecode<crate::models::SendPaymentRequest> for wire_cst_send_payment_request {
9940        // Codec=Cst (C-struct based), see doc to use other codecs
9941        fn cst_decode(self) -> crate::models::SendPaymentRequest {
9942            crate::models::SendPaymentRequest {
9943                bolt11: self.bolt11.cst_decode(),
9944                use_trampoline: self.use_trampoline.cst_decode(),
9945                amount_msat: self.amount_msat.cst_decode(),
9946                label: self.label.cst_decode(),
9947            }
9948        }
9949    }
9950    impl CstDecode<crate::models::SendPaymentResponse> for wire_cst_send_payment_response {
9951        // Codec=Cst (C-struct based), see doc to use other codecs
9952        fn cst_decode(self) -> crate::models::SendPaymentResponse {
9953            crate::models::SendPaymentResponse {
9954                payment: self.payment.cst_decode(),
9955            }
9956        }
9957    }
9958    impl CstDecode<crate::models::SendSpontaneousPaymentRequest>
9959        for wire_cst_send_spontaneous_payment_request
9960    {
9961        // Codec=Cst (C-struct based), see doc to use other codecs
9962        fn cst_decode(self) -> crate::models::SendSpontaneousPaymentRequest {
9963            crate::models::SendSpontaneousPaymentRequest {
9964                node_id: self.node_id.cst_decode(),
9965                amount_msat: self.amount_msat.cst_decode(),
9966                extra_tlvs: self.extra_tlvs.cst_decode(),
9967                label: self.label.cst_decode(),
9968            }
9969        }
9970    }
9971    impl CstDecode<crate::models::ServiceHealthCheckResponse>
9972        for wire_cst_service_health_check_response
9973    {
9974        // Codec=Cst (C-struct based), see doc to use other codecs
9975        fn cst_decode(self) -> crate::models::ServiceHealthCheckResponse {
9976            crate::models::ServiceHealthCheckResponse {
9977                status: self.status.cst_decode(),
9978            }
9979        }
9980    }
9981    impl CstDecode<crate::breez_services::SignMessageRequest> for wire_cst_sign_message_request {
9982        // Codec=Cst (C-struct based), see doc to use other codecs
9983        fn cst_decode(self) -> crate::breez_services::SignMessageRequest {
9984            crate::breez_services::SignMessageRequest {
9985                message: self.message.cst_decode(),
9986            }
9987        }
9988    }
9989    impl CstDecode<crate::breez_services::SignMessageResponse> for wire_cst_sign_message_response {
9990        // Codec=Cst (C-struct based), see doc to use other codecs
9991        fn cst_decode(self) -> crate::breez_services::SignMessageResponse {
9992            crate::breez_services::SignMessageResponse {
9993                signature: self.signature.cst_decode(),
9994            }
9995        }
9996    }
9997    impl CstDecode<crate::models::StaticBackupRequest> for wire_cst_static_backup_request {
9998        // Codec=Cst (C-struct based), see doc to use other codecs
9999        fn cst_decode(self) -> crate::models::StaticBackupRequest {
10000            crate::models::StaticBackupRequest {
10001                working_dir: self.working_dir.cst_decode(),
10002            }
10003        }
10004    }
10005    impl CstDecode<crate::models::StaticBackupResponse> for wire_cst_static_backup_response {
10006        // Codec=Cst (C-struct based), see doc to use other codecs
10007        fn cst_decode(self) -> crate::models::StaticBackupResponse {
10008            crate::models::StaticBackupResponse {
10009                backup: self.backup.cst_decode(),
10010            }
10011        }
10012    }
10013    impl CstDecode<crate::binding::SuccessActionProcessed> for wire_cst_success_action_processed {
10014        // Codec=Cst (C-struct based), see doc to use other codecs
10015        fn cst_decode(self) -> crate::binding::SuccessActionProcessed {
10016            match self.tag {
10017                0 => {
10018                    let ans = unsafe { self.kind.Aes };
10019                    crate::binding::SuccessActionProcessed::Aes {
10020                        result: ans.result.cst_decode(),
10021                    }
10022                }
10023                1 => {
10024                    let ans = unsafe { self.kind.Message };
10025                    crate::binding::SuccessActionProcessed::Message {
10026                        data: ans.data.cst_decode(),
10027                    }
10028                }
10029                2 => {
10030                    let ans = unsafe { self.kind.Url };
10031                    crate::binding::SuccessActionProcessed::Url {
10032                        data: ans.data.cst_decode(),
10033                    }
10034                }
10035                _ => unreachable!(),
10036            }
10037        }
10038    }
10039    impl CstDecode<crate::models::SwapInfo> for wire_cst_swap_info {
10040        // Codec=Cst (C-struct based), see doc to use other codecs
10041        fn cst_decode(self) -> crate::models::SwapInfo {
10042            crate::models::SwapInfo {
10043                bitcoin_address: self.bitcoin_address.cst_decode(),
10044                created_at: self.created_at.cst_decode(),
10045                lock_height: self.lock_height.cst_decode(),
10046                payment_hash: self.payment_hash.cst_decode(),
10047                preimage: self.preimage.cst_decode(),
10048                private_key: self.private_key.cst_decode(),
10049                public_key: self.public_key.cst_decode(),
10050                swapper_public_key: self.swapper_public_key.cst_decode(),
10051                script: self.script.cst_decode(),
10052                bolt11: self.bolt11.cst_decode(),
10053                paid_msat: self.paid_msat.cst_decode(),
10054                total_incoming_txs: self.total_incoming_txs.cst_decode(),
10055                confirmed_sats: self.confirmed_sats.cst_decode(),
10056                unconfirmed_sats: self.unconfirmed_sats.cst_decode(),
10057                status: self.status.cst_decode(),
10058                refund_tx_ids: self.refund_tx_ids.cst_decode(),
10059                unconfirmed_tx_ids: self.unconfirmed_tx_ids.cst_decode(),
10060                confirmed_tx_ids: self.confirmed_tx_ids.cst_decode(),
10061                min_allowed_deposit: self.min_allowed_deposit.cst_decode(),
10062                max_allowed_deposit: self.max_allowed_deposit.cst_decode(),
10063                max_swapper_payable: self.max_swapper_payable.cst_decode(),
10064                last_redeem_error: self.last_redeem_error.cst_decode(),
10065                channel_opening_fees: self.channel_opening_fees.cst_decode(),
10066                confirmed_at: self.confirmed_at.cst_decode(),
10067            }
10068        }
10069    }
10070    impl CstDecode<crate::binding::Symbol> for wire_cst_symbol {
10071        // Codec=Cst (C-struct based), see doc to use other codecs
10072        fn cst_decode(self) -> crate::binding::Symbol {
10073            crate::binding::Symbol {
10074                grapheme: self.grapheme.cst_decode(),
10075                template: self.template.cst_decode(),
10076                rtl: self.rtl.cst_decode(),
10077                position: self.position.cst_decode(),
10078            }
10079        }
10080    }
10081    impl CstDecode<crate::models::TlvEntry> for wire_cst_tlv_entry {
10082        // Codec=Cst (C-struct based), see doc to use other codecs
10083        fn cst_decode(self) -> crate::models::TlvEntry {
10084            crate::models::TlvEntry {
10085                field_number: self.field_number.cst_decode(),
10086                value: self.value.cst_decode(),
10087            }
10088        }
10089    }
10090    impl CstDecode<crate::models::UnspentTransactionOutput> for wire_cst_unspent_transaction_output {
10091        // Codec=Cst (C-struct based), see doc to use other codecs
10092        fn cst_decode(self) -> crate::models::UnspentTransactionOutput {
10093            crate::models::UnspentTransactionOutput {
10094                txid: self.txid.cst_decode(),
10095                outnum: self.outnum.cst_decode(),
10096                amount_millisatoshi: self.amount_millisatoshi.cst_decode(),
10097                address: self.address.cst_decode(),
10098                reserved: self.reserved.cst_decode(),
10099            }
10100        }
10101    }
10102    impl CstDecode<crate::binding::UrlSuccessActionData> for wire_cst_url_success_action_data {
10103        // Codec=Cst (C-struct based), see doc to use other codecs
10104        fn cst_decode(self) -> crate::binding::UrlSuccessActionData {
10105            crate::binding::UrlSuccessActionData {
10106                description: self.description.cst_decode(),
10107                url: self.url.cst_decode(),
10108                matches_callback_domain: self.matches_callback_domain.cst_decode(),
10109            }
10110        }
10111    }
10112    impl NewWithNullPtr for wire_cst_aes_success_action_data_decrypted {
10113        fn new_with_null_ptr() -> Self {
10114            Self {
10115                description: core::ptr::null_mut(),
10116                plaintext: core::ptr::null_mut(),
10117            }
10118        }
10119    }
10120    impl Default for wire_cst_aes_success_action_data_decrypted {
10121        fn default() -> Self {
10122            Self::new_with_null_ptr()
10123        }
10124    }
10125    impl NewWithNullPtr for wire_cst_aes_success_action_data_result {
10126        fn new_with_null_ptr() -> Self {
10127            Self {
10128                tag: -1,
10129                kind: AesSuccessActionDataResultKind { nil__: () },
10130            }
10131        }
10132    }
10133    impl Default for wire_cst_aes_success_action_data_result {
10134        fn default() -> Self {
10135            Self::new_with_null_ptr()
10136        }
10137    }
10138    impl NewWithNullPtr for wire_cst_backup_failed_data {
10139        fn new_with_null_ptr() -> Self {
10140            Self {
10141                error: core::ptr::null_mut(),
10142            }
10143        }
10144    }
10145    impl Default for wire_cst_backup_failed_data {
10146        fn default() -> Self {
10147            Self::new_with_null_ptr()
10148        }
10149    }
10150    impl NewWithNullPtr for wire_cst_backup_status {
10151        fn new_with_null_ptr() -> Self {
10152            Self {
10153                backed_up: Default::default(),
10154                last_backup_time: core::ptr::null_mut(),
10155            }
10156        }
10157    }
10158    impl Default for wire_cst_backup_status {
10159        fn default() -> Self {
10160            Self::new_with_null_ptr()
10161        }
10162    }
10163    impl NewWithNullPtr for wire_cst_binding_event_listener {
10164        fn new_with_null_ptr() -> Self {
10165            Self {}
10166        }
10167    }
10168    impl Default for wire_cst_binding_event_listener {
10169        fn default() -> Self {
10170            Self::new_with_null_ptr()
10171        }
10172    }
10173    impl NewWithNullPtr for wire_cst_bitcoin_address_data {
10174        fn new_with_null_ptr() -> Self {
10175            Self {
10176                address: core::ptr::null_mut(),
10177                network: Default::default(),
10178                amount_sat: core::ptr::null_mut(),
10179                label: core::ptr::null_mut(),
10180                message: core::ptr::null_mut(),
10181            }
10182        }
10183    }
10184    impl Default for wire_cst_bitcoin_address_data {
10185        fn default() -> Self {
10186            Self::new_with_null_ptr()
10187        }
10188    }
10189    impl NewWithNullPtr for wire_cst_breez_event {
10190        fn new_with_null_ptr() -> Self {
10191            Self {
10192                tag: -1,
10193                kind: BreezEventKind { nil__: () },
10194            }
10195        }
10196    }
10197    impl Default for wire_cst_breez_event {
10198        fn default() -> Self {
10199            Self::new_with_null_ptr()
10200        }
10201    }
10202    impl NewWithNullPtr for wire_cst_buy_bitcoin_request {
10203        fn new_with_null_ptr() -> Self {
10204            Self {
10205                provider: Default::default(),
10206                opening_fee_params: core::ptr::null_mut(),
10207                redirect_url: core::ptr::null_mut(),
10208            }
10209        }
10210    }
10211    impl Default for wire_cst_buy_bitcoin_request {
10212        fn default() -> Self {
10213            Self::new_with_null_ptr()
10214        }
10215    }
10216    impl NewWithNullPtr for wire_cst_buy_bitcoin_response {
10217        fn new_with_null_ptr() -> Self {
10218            Self {
10219                url: core::ptr::null_mut(),
10220                opening_fee_params: core::ptr::null_mut(),
10221            }
10222        }
10223    }
10224    impl Default for wire_cst_buy_bitcoin_response {
10225        fn default() -> Self {
10226            Self::new_with_null_ptr()
10227        }
10228    }
10229    impl NewWithNullPtr for wire_cst_check_message_request {
10230        fn new_with_null_ptr() -> Self {
10231            Self {
10232                message: core::ptr::null_mut(),
10233                pubkey: core::ptr::null_mut(),
10234                signature: core::ptr::null_mut(),
10235            }
10236        }
10237    }
10238    impl Default for wire_cst_check_message_request {
10239        fn default() -> Self {
10240            Self::new_with_null_ptr()
10241        }
10242    }
10243    impl NewWithNullPtr for wire_cst_check_message_response {
10244        fn new_with_null_ptr() -> Self {
10245            Self {
10246                is_valid: Default::default(),
10247            }
10248        }
10249    }
10250    impl Default for wire_cst_check_message_response {
10251        fn default() -> Self {
10252            Self::new_with_null_ptr()
10253        }
10254    }
10255    impl NewWithNullPtr for wire_cst_closed_channel_payment_details {
10256        fn new_with_null_ptr() -> Self {
10257            Self {
10258                state: Default::default(),
10259                funding_txid: core::ptr::null_mut(),
10260                short_channel_id: core::ptr::null_mut(),
10261                closing_txid: core::ptr::null_mut(),
10262            }
10263        }
10264    }
10265    impl Default for wire_cst_closed_channel_payment_details {
10266        fn default() -> Self {
10267            Self::new_with_null_ptr()
10268        }
10269    }
10270    impl NewWithNullPtr for wire_cst_config {
10271        fn new_with_null_ptr() -> Self {
10272            Self {
10273                breezserver: core::ptr::null_mut(),
10274                chainnotifier_url: core::ptr::null_mut(),
10275                mempoolspace_url: core::ptr::null_mut(),
10276                working_dir: core::ptr::null_mut(),
10277                network: Default::default(),
10278                payment_timeout_sec: Default::default(),
10279                default_lsp_id: core::ptr::null_mut(),
10280                api_key: core::ptr::null_mut(),
10281                maxfee_percent: Default::default(),
10282                exemptfee_msat: Default::default(),
10283                node_config: Default::default(),
10284            }
10285        }
10286    }
10287    impl Default for wire_cst_config {
10288        fn default() -> Self {
10289            Self::new_with_null_ptr()
10290        }
10291    }
10292    impl NewWithNullPtr for wire_cst_configure_node_request {
10293        fn new_with_null_ptr() -> Self {
10294            Self {
10295                close_to_address: core::ptr::null_mut(),
10296            }
10297        }
10298    }
10299    impl Default for wire_cst_configure_node_request {
10300        fn default() -> Self {
10301            Self::new_with_null_ptr()
10302        }
10303    }
10304    impl NewWithNullPtr for wire_cst_connect_request {
10305        fn new_with_null_ptr() -> Self {
10306            Self {
10307                config: Default::default(),
10308                seed: core::ptr::null_mut(),
10309                restore_only: core::ptr::null_mut(),
10310            }
10311        }
10312    }
10313    impl Default for wire_cst_connect_request {
10314        fn default() -> Self {
10315            Self::new_with_null_ptr()
10316        }
10317    }
10318    impl NewWithNullPtr for wire_cst_currency_info {
10319        fn new_with_null_ptr() -> Self {
10320            Self {
10321                name: core::ptr::null_mut(),
10322                fraction_size: Default::default(),
10323                spacing: core::ptr::null_mut(),
10324                symbol: core::ptr::null_mut(),
10325                uniq_symbol: core::ptr::null_mut(),
10326                localized_name: core::ptr::null_mut(),
10327                locale_overrides: core::ptr::null_mut(),
10328            }
10329        }
10330    }
10331    impl Default for wire_cst_currency_info {
10332        fn default() -> Self {
10333            Self::new_with_null_ptr()
10334        }
10335    }
10336    impl NewWithNullPtr for wire_cst_fiat_currency {
10337        fn new_with_null_ptr() -> Self {
10338            Self {
10339                id: core::ptr::null_mut(),
10340                info: Default::default(),
10341            }
10342        }
10343    }
10344    impl Default for wire_cst_fiat_currency {
10345        fn default() -> Self {
10346            Self::new_with_null_ptr()
10347        }
10348    }
10349    impl NewWithNullPtr for wire_cst_greenlight_credentials {
10350        fn new_with_null_ptr() -> Self {
10351            Self {
10352                developer_key: core::ptr::null_mut(),
10353                developer_cert: core::ptr::null_mut(),
10354            }
10355        }
10356    }
10357    impl Default for wire_cst_greenlight_credentials {
10358        fn default() -> Self {
10359            Self::new_with_null_ptr()
10360        }
10361    }
10362    impl NewWithNullPtr for wire_cst_greenlight_device_credentials {
10363        fn new_with_null_ptr() -> Self {
10364            Self {
10365                device: core::ptr::null_mut(),
10366            }
10367        }
10368    }
10369    impl Default for wire_cst_greenlight_device_credentials {
10370        fn default() -> Self {
10371            Self::new_with_null_ptr()
10372        }
10373    }
10374    impl NewWithNullPtr for wire_cst_greenlight_node_config {
10375        fn new_with_null_ptr() -> Self {
10376            Self {
10377                partner_credentials: core::ptr::null_mut(),
10378                invite_code: core::ptr::null_mut(),
10379            }
10380        }
10381    }
10382    impl Default for wire_cst_greenlight_node_config {
10383        fn default() -> Self {
10384            Self::new_with_null_ptr()
10385        }
10386    }
10387    impl NewWithNullPtr for wire_cst_input_type {
10388        fn new_with_null_ptr() -> Self {
10389            Self {
10390                tag: -1,
10391                kind: InputTypeKind { nil__: () },
10392            }
10393        }
10394    }
10395    impl Default for wire_cst_input_type {
10396        fn default() -> Self {
10397            Self::new_with_null_ptr()
10398        }
10399    }
10400    impl NewWithNullPtr for wire_cst_invoice_paid_details {
10401        fn new_with_null_ptr() -> Self {
10402            Self {
10403                payment_hash: core::ptr::null_mut(),
10404                bolt11: core::ptr::null_mut(),
10405                payment: core::ptr::null_mut(),
10406            }
10407        }
10408    }
10409    impl Default for wire_cst_invoice_paid_details {
10410        fn default() -> Self {
10411            Self::new_with_null_ptr()
10412        }
10413    }
10414    impl NewWithNullPtr for wire_cst_list_payments_request {
10415        fn new_with_null_ptr() -> Self {
10416            Self {
10417                filters: core::ptr::null_mut(),
10418                metadata_filters: core::ptr::null_mut(),
10419                from_timestamp: core::ptr::null_mut(),
10420                to_timestamp: core::ptr::null_mut(),
10421                include_failures: core::ptr::null_mut(),
10422                offset: core::ptr::null_mut(),
10423                limit: core::ptr::null_mut(),
10424            }
10425        }
10426    }
10427    impl Default for wire_cst_list_payments_request {
10428        fn default() -> Self {
10429            Self::new_with_null_ptr()
10430        }
10431    }
10432    impl NewWithNullPtr for wire_cst_list_swaps_request {
10433        fn new_with_null_ptr() -> Self {
10434            Self {
10435                status: core::ptr::null_mut(),
10436                from_timestamp: core::ptr::null_mut(),
10437                to_timestamp: core::ptr::null_mut(),
10438                offset: core::ptr::null_mut(),
10439                limit: core::ptr::null_mut(),
10440            }
10441        }
10442    }
10443    impl Default for wire_cst_list_swaps_request {
10444        fn default() -> Self {
10445            Self::new_with_null_ptr()
10446        }
10447    }
10448    impl NewWithNullPtr for wire_cst_ln_invoice {
10449        fn new_with_null_ptr() -> Self {
10450            Self {
10451                bolt11: core::ptr::null_mut(),
10452                network: Default::default(),
10453                payee_pubkey: core::ptr::null_mut(),
10454                payment_hash: core::ptr::null_mut(),
10455                description: core::ptr::null_mut(),
10456                description_hash: core::ptr::null_mut(),
10457                amount_msat: core::ptr::null_mut(),
10458                timestamp: Default::default(),
10459                expiry: Default::default(),
10460                routing_hints: core::ptr::null_mut(),
10461                payment_secret: core::ptr::null_mut(),
10462                min_final_cltv_expiry_delta: Default::default(),
10463            }
10464        }
10465    }
10466    impl Default for wire_cst_ln_invoice {
10467        fn default() -> Self {
10468            Self::new_with_null_ptr()
10469        }
10470    }
10471    impl NewWithNullPtr for wire_cst_ln_payment_details {
10472        fn new_with_null_ptr() -> Self {
10473            Self {
10474                payment_hash: core::ptr::null_mut(),
10475                label: core::ptr::null_mut(),
10476                destination_pubkey: core::ptr::null_mut(),
10477                payment_preimage: core::ptr::null_mut(),
10478                keysend: Default::default(),
10479                bolt11: core::ptr::null_mut(),
10480                open_channel_bolt11: core::ptr::null_mut(),
10481                lnurl_success_action: core::ptr::null_mut(),
10482                lnurl_pay_domain: core::ptr::null_mut(),
10483                lnurl_pay_comment: core::ptr::null_mut(),
10484                ln_address: core::ptr::null_mut(),
10485                lnurl_metadata: core::ptr::null_mut(),
10486                lnurl_withdraw_endpoint: core::ptr::null_mut(),
10487                swap_info: core::ptr::null_mut(),
10488                reverse_swap_info: core::ptr::null_mut(),
10489                pending_expiration_block: core::ptr::null_mut(),
10490            }
10491        }
10492    }
10493    impl Default for wire_cst_ln_payment_details {
10494        fn default() -> Self {
10495            Self::new_with_null_ptr()
10496        }
10497    }
10498    impl NewWithNullPtr for wire_cst_ln_url_auth_request_data {
10499        fn new_with_null_ptr() -> Self {
10500            Self {
10501                k1: core::ptr::null_mut(),
10502                action: core::ptr::null_mut(),
10503                domain: core::ptr::null_mut(),
10504                url: core::ptr::null_mut(),
10505            }
10506        }
10507    }
10508    impl Default for wire_cst_ln_url_auth_request_data {
10509        fn default() -> Self {
10510            Self::new_with_null_ptr()
10511        }
10512    }
10513    impl NewWithNullPtr for wire_cst_ln_url_callback_status {
10514        fn new_with_null_ptr() -> Self {
10515            Self {
10516                tag: -1,
10517                kind: LnUrlCallbackStatusKind { nil__: () },
10518            }
10519        }
10520    }
10521    impl Default for wire_cst_ln_url_callback_status {
10522        fn default() -> Self {
10523            Self::new_with_null_ptr()
10524        }
10525    }
10526    impl NewWithNullPtr for wire_cst_ln_url_error_data {
10527        fn new_with_null_ptr() -> Self {
10528            Self {
10529                reason: core::ptr::null_mut(),
10530            }
10531        }
10532    }
10533    impl Default for wire_cst_ln_url_error_data {
10534        fn default() -> Self {
10535            Self::new_with_null_ptr()
10536        }
10537    }
10538    impl NewWithNullPtr for wire_cst_ln_url_pay_error_data {
10539        fn new_with_null_ptr() -> Self {
10540            Self {
10541                payment_hash: core::ptr::null_mut(),
10542                reason: core::ptr::null_mut(),
10543            }
10544        }
10545    }
10546    impl Default for wire_cst_ln_url_pay_error_data {
10547        fn default() -> Self {
10548            Self::new_with_null_ptr()
10549        }
10550    }
10551    impl NewWithNullPtr for wire_cst_ln_url_pay_request {
10552        fn new_with_null_ptr() -> Self {
10553            Self {
10554                data: Default::default(),
10555                amount_msat: Default::default(),
10556                use_trampoline: Default::default(),
10557                comment: core::ptr::null_mut(),
10558                payment_label: core::ptr::null_mut(),
10559                validate_success_action_url: core::ptr::null_mut(),
10560            }
10561        }
10562    }
10563    impl Default for wire_cst_ln_url_pay_request {
10564        fn default() -> Self {
10565            Self::new_with_null_ptr()
10566        }
10567    }
10568    impl NewWithNullPtr for wire_cst_ln_url_pay_request_data {
10569        fn new_with_null_ptr() -> Self {
10570            Self {
10571                callback: core::ptr::null_mut(),
10572                min_sendable: Default::default(),
10573                max_sendable: Default::default(),
10574                metadata_str: core::ptr::null_mut(),
10575                comment_allowed: Default::default(),
10576                domain: core::ptr::null_mut(),
10577                allows_nostr: Default::default(),
10578                nostr_pubkey: core::ptr::null_mut(),
10579                ln_address: core::ptr::null_mut(),
10580            }
10581        }
10582    }
10583    impl Default for wire_cst_ln_url_pay_request_data {
10584        fn default() -> Self {
10585            Self::new_with_null_ptr()
10586        }
10587    }
10588    impl NewWithNullPtr for wire_cst_ln_url_pay_result {
10589        fn new_with_null_ptr() -> Self {
10590            Self {
10591                tag: -1,
10592                kind: LnUrlPayResultKind { nil__: () },
10593            }
10594        }
10595    }
10596    impl Default for wire_cst_ln_url_pay_result {
10597        fn default() -> Self {
10598            Self::new_with_null_ptr()
10599        }
10600    }
10601    impl NewWithNullPtr for wire_cst_ln_url_pay_success_data {
10602        fn new_with_null_ptr() -> Self {
10603            Self {
10604                payment: Default::default(),
10605                success_action: core::ptr::null_mut(),
10606            }
10607        }
10608    }
10609    impl Default for wire_cst_ln_url_pay_success_data {
10610        fn default() -> Self {
10611            Self::new_with_null_ptr()
10612        }
10613    }
10614    impl NewWithNullPtr for wire_cst_ln_url_withdraw_request {
10615        fn new_with_null_ptr() -> Self {
10616            Self {
10617                data: Default::default(),
10618                amount_msat: Default::default(),
10619                description: core::ptr::null_mut(),
10620            }
10621        }
10622    }
10623    impl Default for wire_cst_ln_url_withdraw_request {
10624        fn default() -> Self {
10625            Self::new_with_null_ptr()
10626        }
10627    }
10628    impl NewWithNullPtr for wire_cst_ln_url_withdraw_request_data {
10629        fn new_with_null_ptr() -> Self {
10630            Self {
10631                callback: core::ptr::null_mut(),
10632                k1: core::ptr::null_mut(),
10633                default_description: core::ptr::null_mut(),
10634                min_withdrawable: Default::default(),
10635                max_withdrawable: Default::default(),
10636            }
10637        }
10638    }
10639    impl Default for wire_cst_ln_url_withdraw_request_data {
10640        fn default() -> Self {
10641            Self::new_with_null_ptr()
10642        }
10643    }
10644    impl NewWithNullPtr for wire_cst_ln_url_withdraw_result {
10645        fn new_with_null_ptr() -> Self {
10646            Self {
10647                tag: -1,
10648                kind: LnUrlWithdrawResultKind { nil__: () },
10649            }
10650        }
10651    }
10652    impl Default for wire_cst_ln_url_withdraw_result {
10653        fn default() -> Self {
10654            Self::new_with_null_ptr()
10655        }
10656    }
10657    impl NewWithNullPtr for wire_cst_ln_url_withdraw_success_data {
10658        fn new_with_null_ptr() -> Self {
10659            Self {
10660                invoice: Default::default(),
10661            }
10662        }
10663    }
10664    impl Default for wire_cst_ln_url_withdraw_success_data {
10665        fn default() -> Self {
10666            Self::new_with_null_ptr()
10667        }
10668    }
10669    impl NewWithNullPtr for wire_cst_locale_overrides {
10670        fn new_with_null_ptr() -> Self {
10671            Self {
10672                locale: core::ptr::null_mut(),
10673                spacing: core::ptr::null_mut(),
10674                symbol: Default::default(),
10675            }
10676        }
10677    }
10678    impl Default for wire_cst_locale_overrides {
10679        fn default() -> Self {
10680            Self::new_with_null_ptr()
10681        }
10682    }
10683    impl NewWithNullPtr for wire_cst_localized_name {
10684        fn new_with_null_ptr() -> Self {
10685            Self {
10686                locale: core::ptr::null_mut(),
10687                name: core::ptr::null_mut(),
10688            }
10689        }
10690    }
10691    impl Default for wire_cst_localized_name {
10692        fn default() -> Self {
10693            Self::new_with_null_ptr()
10694        }
10695    }
10696    impl NewWithNullPtr for wire_cst_log_entry {
10697        fn new_with_null_ptr() -> Self {
10698            Self {
10699                line: core::ptr::null_mut(),
10700                level: core::ptr::null_mut(),
10701            }
10702        }
10703    }
10704    impl Default for wire_cst_log_entry {
10705        fn default() -> Self {
10706            Self::new_with_null_ptr()
10707        }
10708    }
10709    impl NewWithNullPtr for wire_cst_lsp_information {
10710        fn new_with_null_ptr() -> Self {
10711            Self {
10712                id: core::ptr::null_mut(),
10713                name: core::ptr::null_mut(),
10714                widget_url: core::ptr::null_mut(),
10715                pubkey: core::ptr::null_mut(),
10716                host: core::ptr::null_mut(),
10717                base_fee_msat: Default::default(),
10718                fee_rate: Default::default(),
10719                time_lock_delta: Default::default(),
10720                min_htlc_msat: Default::default(),
10721                lsp_pubkey: core::ptr::null_mut(),
10722                opening_fee_params_list: Default::default(),
10723            }
10724        }
10725    }
10726    impl Default for wire_cst_lsp_information {
10727        fn default() -> Self {
10728            Self::new_with_null_ptr()
10729        }
10730    }
10731    impl NewWithNullPtr for wire_cst_message_success_action_data {
10732        fn new_with_null_ptr() -> Self {
10733            Self {
10734                message: core::ptr::null_mut(),
10735            }
10736        }
10737    }
10738    impl Default for wire_cst_message_success_action_data {
10739        fn default() -> Self {
10740            Self::new_with_null_ptr()
10741        }
10742    }
10743    impl NewWithNullPtr for wire_cst_metadata_filter {
10744        fn new_with_null_ptr() -> Self {
10745            Self {
10746                json_path: core::ptr::null_mut(),
10747                json_value: core::ptr::null_mut(),
10748            }
10749        }
10750    }
10751    impl Default for wire_cst_metadata_filter {
10752        fn default() -> Self {
10753            Self::new_with_null_ptr()
10754        }
10755    }
10756    impl NewWithNullPtr for wire_cst_node_config {
10757        fn new_with_null_ptr() -> Self {
10758            Self {
10759                tag: -1,
10760                kind: NodeConfigKind { nil__: () },
10761            }
10762        }
10763    }
10764    impl Default for wire_cst_node_config {
10765        fn default() -> Self {
10766            Self::new_with_null_ptr()
10767        }
10768    }
10769    impl NewWithNullPtr for wire_cst_node_credentials {
10770        fn new_with_null_ptr() -> Self {
10771            Self {
10772                tag: -1,
10773                kind: NodeCredentialsKind { nil__: () },
10774            }
10775        }
10776    }
10777    impl Default for wire_cst_node_credentials {
10778        fn default() -> Self {
10779            Self::new_with_null_ptr()
10780        }
10781    }
10782    impl NewWithNullPtr for wire_cst_node_state {
10783        fn new_with_null_ptr() -> Self {
10784            Self {
10785                id: core::ptr::null_mut(),
10786                block_height: Default::default(),
10787                channels_balance_msat: Default::default(),
10788                onchain_balance_msat: Default::default(),
10789                pending_onchain_balance_msat: Default::default(),
10790                utxos: core::ptr::null_mut(),
10791                max_payable_msat: Default::default(),
10792                max_receivable_msat: Default::default(),
10793                max_single_payment_amount_msat: Default::default(),
10794                max_chan_reserve_msats: Default::default(),
10795                connected_peers: core::ptr::null_mut(),
10796                max_receivable_single_payment_amount_msat: Default::default(),
10797                total_inbound_liquidity_msats: Default::default(),
10798            }
10799        }
10800    }
10801    impl Default for wire_cst_node_state {
10802        fn default() -> Self {
10803            Self::new_with_null_ptr()
10804        }
10805    }
10806    impl NewWithNullPtr for wire_cst_onchain_payment_limits_response {
10807        fn new_with_null_ptr() -> Self {
10808            Self {
10809                min_sat: Default::default(),
10810                max_sat: Default::default(),
10811                max_payable_sat: Default::default(),
10812            }
10813        }
10814    }
10815    impl Default for wire_cst_onchain_payment_limits_response {
10816        fn default() -> Self {
10817            Self::new_with_null_ptr()
10818        }
10819    }
10820    impl NewWithNullPtr for wire_cst_open_channel_fee_request {
10821        fn new_with_null_ptr() -> Self {
10822            Self {
10823                amount_msat: core::ptr::null_mut(),
10824                expiry: core::ptr::null_mut(),
10825            }
10826        }
10827    }
10828    impl Default for wire_cst_open_channel_fee_request {
10829        fn default() -> Self {
10830            Self::new_with_null_ptr()
10831        }
10832    }
10833    impl NewWithNullPtr for wire_cst_open_channel_fee_response {
10834        fn new_with_null_ptr() -> Self {
10835            Self {
10836                fee_msat: core::ptr::null_mut(),
10837                fee_params: Default::default(),
10838            }
10839        }
10840    }
10841    impl Default for wire_cst_open_channel_fee_response {
10842        fn default() -> Self {
10843            Self::new_with_null_ptr()
10844        }
10845    }
10846    impl NewWithNullPtr for wire_cst_opening_fee_params {
10847        fn new_with_null_ptr() -> Self {
10848            Self {
10849                min_msat: Default::default(),
10850                proportional: Default::default(),
10851                valid_until: core::ptr::null_mut(),
10852                max_idle_time: Default::default(),
10853                max_client_to_self_delay: Default::default(),
10854                promise: core::ptr::null_mut(),
10855            }
10856        }
10857    }
10858    impl Default for wire_cst_opening_fee_params {
10859        fn default() -> Self {
10860            Self::new_with_null_ptr()
10861        }
10862    }
10863    impl NewWithNullPtr for wire_cst_opening_fee_params_menu {
10864        fn new_with_null_ptr() -> Self {
10865            Self {
10866                values: core::ptr::null_mut(),
10867            }
10868        }
10869    }
10870    impl Default for wire_cst_opening_fee_params_menu {
10871        fn default() -> Self {
10872            Self::new_with_null_ptr()
10873        }
10874    }
10875    impl NewWithNullPtr for wire_cst_pay_onchain_request {
10876        fn new_with_null_ptr() -> Self {
10877            Self {
10878                recipient_address: core::ptr::null_mut(),
10879                prepare_res: Default::default(),
10880            }
10881        }
10882    }
10883    impl Default for wire_cst_pay_onchain_request {
10884        fn default() -> Self {
10885            Self::new_with_null_ptr()
10886        }
10887    }
10888    impl NewWithNullPtr for wire_cst_pay_onchain_response {
10889        fn new_with_null_ptr() -> Self {
10890            Self {
10891                reverse_swap_info: Default::default(),
10892            }
10893        }
10894    }
10895    impl Default for wire_cst_pay_onchain_response {
10896        fn default() -> Self {
10897            Self::new_with_null_ptr()
10898        }
10899    }
10900    impl NewWithNullPtr for wire_cst_payment {
10901        fn new_with_null_ptr() -> Self {
10902            Self {
10903                id: core::ptr::null_mut(),
10904                payment_type: Default::default(),
10905                payment_time: Default::default(),
10906                amount_msat: Default::default(),
10907                fee_msat: Default::default(),
10908                status: Default::default(),
10909                error: core::ptr::null_mut(),
10910                description: core::ptr::null_mut(),
10911                details: Default::default(),
10912                metadata: core::ptr::null_mut(),
10913            }
10914        }
10915    }
10916    impl Default for wire_cst_payment {
10917        fn default() -> Self {
10918            Self::new_with_null_ptr()
10919        }
10920    }
10921    impl NewWithNullPtr for wire_cst_payment_details {
10922        fn new_with_null_ptr() -> Self {
10923            Self {
10924                tag: -1,
10925                kind: PaymentDetailsKind { nil__: () },
10926            }
10927        }
10928    }
10929    impl Default for wire_cst_payment_details {
10930        fn default() -> Self {
10931            Self::new_with_null_ptr()
10932        }
10933    }
10934    impl NewWithNullPtr for wire_cst_payment_failed_data {
10935        fn new_with_null_ptr() -> Self {
10936            Self {
10937                error: core::ptr::null_mut(),
10938                node_id: core::ptr::null_mut(),
10939                invoice: core::ptr::null_mut(),
10940                label: core::ptr::null_mut(),
10941            }
10942        }
10943    }
10944    impl Default for wire_cst_payment_failed_data {
10945        fn default() -> Self {
10946            Self::new_with_null_ptr()
10947        }
10948    }
10949    impl NewWithNullPtr for wire_cst_prepare_onchain_payment_request {
10950        fn new_with_null_ptr() -> Self {
10951            Self {
10952                amount_sat: Default::default(),
10953                amount_type: Default::default(),
10954                claim_tx_feerate: Default::default(),
10955            }
10956        }
10957    }
10958    impl Default for wire_cst_prepare_onchain_payment_request {
10959        fn default() -> Self {
10960            Self::new_with_null_ptr()
10961        }
10962    }
10963    impl NewWithNullPtr for wire_cst_prepare_onchain_payment_response {
10964        fn new_with_null_ptr() -> Self {
10965            Self {
10966                fees_hash: core::ptr::null_mut(),
10967                fees_percentage: Default::default(),
10968                fees_lockup: Default::default(),
10969                fees_claim: Default::default(),
10970                sender_amount_sat: Default::default(),
10971                recipient_amount_sat: Default::default(),
10972                total_fees: Default::default(),
10973            }
10974        }
10975    }
10976    impl Default for wire_cst_prepare_onchain_payment_response {
10977        fn default() -> Self {
10978            Self::new_with_null_ptr()
10979        }
10980    }
10981    impl NewWithNullPtr for wire_cst_prepare_redeem_onchain_funds_request {
10982        fn new_with_null_ptr() -> Self {
10983            Self {
10984                to_address: core::ptr::null_mut(),
10985                sat_per_vbyte: Default::default(),
10986            }
10987        }
10988    }
10989    impl Default for wire_cst_prepare_redeem_onchain_funds_request {
10990        fn default() -> Self {
10991            Self::new_with_null_ptr()
10992        }
10993    }
10994    impl NewWithNullPtr for wire_cst_prepare_redeem_onchain_funds_response {
10995        fn new_with_null_ptr() -> Self {
10996            Self {
10997                tx_weight: Default::default(),
10998                tx_fee_sat: Default::default(),
10999            }
11000        }
11001    }
11002    impl Default for wire_cst_prepare_redeem_onchain_funds_response {
11003        fn default() -> Self {
11004            Self::new_with_null_ptr()
11005        }
11006    }
11007    impl NewWithNullPtr for wire_cst_prepare_refund_request {
11008        fn new_with_null_ptr() -> Self {
11009            Self {
11010                swap_address: core::ptr::null_mut(),
11011                to_address: core::ptr::null_mut(),
11012                sat_per_vbyte: Default::default(),
11013                unilateral: core::ptr::null_mut(),
11014            }
11015        }
11016    }
11017    impl Default for wire_cst_prepare_refund_request {
11018        fn default() -> Self {
11019            Self::new_with_null_ptr()
11020        }
11021    }
11022    impl NewWithNullPtr for wire_cst_prepare_refund_response {
11023        fn new_with_null_ptr() -> Self {
11024            Self {
11025                refund_tx_weight: Default::default(),
11026                refund_tx_fee_sat: Default::default(),
11027            }
11028        }
11029    }
11030    impl Default for wire_cst_prepare_refund_response {
11031        fn default() -> Self {
11032            Self::new_with_null_ptr()
11033        }
11034    }
11035    impl NewWithNullPtr for wire_cst_rate {
11036        fn new_with_null_ptr() -> Self {
11037            Self {
11038                coin: core::ptr::null_mut(),
11039                value: Default::default(),
11040            }
11041        }
11042    }
11043    impl Default for wire_cst_rate {
11044        fn default() -> Self {
11045            Self::new_with_null_ptr()
11046        }
11047    }
11048    impl NewWithNullPtr for wire_cst_receive_onchain_request {
11049        fn new_with_null_ptr() -> Self {
11050            Self {
11051                opening_fee_params: core::ptr::null_mut(),
11052            }
11053        }
11054    }
11055    impl Default for wire_cst_receive_onchain_request {
11056        fn default() -> Self {
11057            Self::new_with_null_ptr()
11058        }
11059    }
11060    impl NewWithNullPtr for wire_cst_receive_payment_request {
11061        fn new_with_null_ptr() -> Self {
11062            Self {
11063                amount_msat: Default::default(),
11064                description: core::ptr::null_mut(),
11065                preimage: core::ptr::null_mut(),
11066                opening_fee_params: core::ptr::null_mut(),
11067                use_description_hash: core::ptr::null_mut(),
11068                expiry: core::ptr::null_mut(),
11069                cltv: core::ptr::null_mut(),
11070            }
11071        }
11072    }
11073    impl Default for wire_cst_receive_payment_request {
11074        fn default() -> Self {
11075            Self::new_with_null_ptr()
11076        }
11077    }
11078    impl NewWithNullPtr for wire_cst_receive_payment_response {
11079        fn new_with_null_ptr() -> Self {
11080            Self {
11081                ln_invoice: Default::default(),
11082                opening_fee_params: core::ptr::null_mut(),
11083                opening_fee_msat: core::ptr::null_mut(),
11084            }
11085        }
11086    }
11087    impl Default for wire_cst_receive_payment_response {
11088        fn default() -> Self {
11089            Self::new_with_null_ptr()
11090        }
11091    }
11092    impl NewWithNullPtr for wire_cst_recommended_fees {
11093        fn new_with_null_ptr() -> Self {
11094            Self {
11095                fastest_fee: Default::default(),
11096                half_hour_fee: Default::default(),
11097                hour_fee: Default::default(),
11098                economy_fee: Default::default(),
11099                minimum_fee: Default::default(),
11100            }
11101        }
11102    }
11103    impl Default for wire_cst_recommended_fees {
11104        fn default() -> Self {
11105            Self::new_with_null_ptr()
11106        }
11107    }
11108    impl NewWithNullPtr for wire_cst_redeem_onchain_funds_request {
11109        fn new_with_null_ptr() -> Self {
11110            Self {
11111                to_address: core::ptr::null_mut(),
11112                sat_per_vbyte: Default::default(),
11113            }
11114        }
11115    }
11116    impl Default for wire_cst_redeem_onchain_funds_request {
11117        fn default() -> Self {
11118            Self::new_with_null_ptr()
11119        }
11120    }
11121    impl NewWithNullPtr for wire_cst_redeem_onchain_funds_response {
11122        fn new_with_null_ptr() -> Self {
11123            Self {
11124                txid: core::ptr::null_mut(),
11125            }
11126        }
11127    }
11128    impl Default for wire_cst_redeem_onchain_funds_response {
11129        fn default() -> Self {
11130            Self::new_with_null_ptr()
11131        }
11132    }
11133    impl NewWithNullPtr for wire_cst_refund_request {
11134        fn new_with_null_ptr() -> Self {
11135            Self {
11136                swap_address: core::ptr::null_mut(),
11137                to_address: core::ptr::null_mut(),
11138                sat_per_vbyte: Default::default(),
11139                unilateral: core::ptr::null_mut(),
11140            }
11141        }
11142    }
11143    impl Default for wire_cst_refund_request {
11144        fn default() -> Self {
11145            Self::new_with_null_ptr()
11146        }
11147    }
11148    impl NewWithNullPtr for wire_cst_refund_response {
11149        fn new_with_null_ptr() -> Self {
11150            Self {
11151                refund_tx_id: core::ptr::null_mut(),
11152            }
11153        }
11154    }
11155    impl Default for wire_cst_refund_response {
11156        fn default() -> Self {
11157            Self::new_with_null_ptr()
11158        }
11159    }
11160    impl NewWithNullPtr for wire_cst_report_issue_request {
11161        fn new_with_null_ptr() -> Self {
11162            Self {
11163                tag: -1,
11164                kind: ReportIssueRequestKind { nil__: () },
11165            }
11166        }
11167    }
11168    impl Default for wire_cst_report_issue_request {
11169        fn default() -> Self {
11170            Self::new_with_null_ptr()
11171        }
11172    }
11173    impl NewWithNullPtr for wire_cst_report_payment_failure_details {
11174        fn new_with_null_ptr() -> Self {
11175            Self {
11176                payment_hash: core::ptr::null_mut(),
11177                comment: core::ptr::null_mut(),
11178            }
11179        }
11180    }
11181    impl Default for wire_cst_report_payment_failure_details {
11182        fn default() -> Self {
11183            Self::new_with_null_ptr()
11184        }
11185    }
11186    impl NewWithNullPtr for wire_cst_reverse_swap_fees_request {
11187        fn new_with_null_ptr() -> Self {
11188            Self {
11189                send_amount_sat: core::ptr::null_mut(),
11190                claim_tx_feerate: core::ptr::null_mut(),
11191            }
11192        }
11193    }
11194    impl Default for wire_cst_reverse_swap_fees_request {
11195        fn default() -> Self {
11196            Self::new_with_null_ptr()
11197        }
11198    }
11199    impl NewWithNullPtr for wire_cst_reverse_swap_info {
11200        fn new_with_null_ptr() -> Self {
11201            Self {
11202                id: core::ptr::null_mut(),
11203                claim_pubkey: core::ptr::null_mut(),
11204                lockup_txid: core::ptr::null_mut(),
11205                claim_txid: core::ptr::null_mut(),
11206                onchain_amount_sat: Default::default(),
11207                status: Default::default(),
11208            }
11209        }
11210    }
11211    impl Default for wire_cst_reverse_swap_info {
11212        fn default() -> Self {
11213            Self::new_with_null_ptr()
11214        }
11215    }
11216    impl NewWithNullPtr for wire_cst_reverse_swap_pair_info {
11217        fn new_with_null_ptr() -> Self {
11218            Self {
11219                min: Default::default(),
11220                max: Default::default(),
11221                fees_hash: core::ptr::null_mut(),
11222                fees_percentage: Default::default(),
11223                fees_lockup: Default::default(),
11224                fees_claim: Default::default(),
11225                total_fees: core::ptr::null_mut(),
11226            }
11227        }
11228    }
11229    impl Default for wire_cst_reverse_swap_pair_info {
11230        fn default() -> Self {
11231            Self::new_with_null_ptr()
11232        }
11233    }
11234    impl NewWithNullPtr for wire_cst_route_hint {
11235        fn new_with_null_ptr() -> Self {
11236            Self {
11237                hops: core::ptr::null_mut(),
11238            }
11239        }
11240    }
11241    impl Default for wire_cst_route_hint {
11242        fn default() -> Self {
11243            Self::new_with_null_ptr()
11244        }
11245    }
11246    impl NewWithNullPtr for wire_cst_route_hint_hop {
11247        fn new_with_null_ptr() -> Self {
11248            Self {
11249                src_node_id: core::ptr::null_mut(),
11250                short_channel_id: core::ptr::null_mut(),
11251                fees_base_msat: Default::default(),
11252                fees_proportional_millionths: Default::default(),
11253                cltv_expiry_delta: Default::default(),
11254                htlc_minimum_msat: core::ptr::null_mut(),
11255                htlc_maximum_msat: core::ptr::null_mut(),
11256            }
11257        }
11258    }
11259    impl Default for wire_cst_route_hint_hop {
11260        fn default() -> Self {
11261            Self::new_with_null_ptr()
11262        }
11263    }
11264    impl NewWithNullPtr for wire_cst_send_payment_request {
11265        fn new_with_null_ptr() -> Self {
11266            Self {
11267                bolt11: core::ptr::null_mut(),
11268                use_trampoline: Default::default(),
11269                amount_msat: core::ptr::null_mut(),
11270                label: core::ptr::null_mut(),
11271            }
11272        }
11273    }
11274    impl Default for wire_cst_send_payment_request {
11275        fn default() -> Self {
11276            Self::new_with_null_ptr()
11277        }
11278    }
11279    impl NewWithNullPtr for wire_cst_send_payment_response {
11280        fn new_with_null_ptr() -> Self {
11281            Self {
11282                payment: Default::default(),
11283            }
11284        }
11285    }
11286    impl Default for wire_cst_send_payment_response {
11287        fn default() -> Self {
11288            Self::new_with_null_ptr()
11289        }
11290    }
11291    impl NewWithNullPtr for wire_cst_send_spontaneous_payment_request {
11292        fn new_with_null_ptr() -> Self {
11293            Self {
11294                node_id: core::ptr::null_mut(),
11295                amount_msat: Default::default(),
11296                extra_tlvs: core::ptr::null_mut(),
11297                label: core::ptr::null_mut(),
11298            }
11299        }
11300    }
11301    impl Default for wire_cst_send_spontaneous_payment_request {
11302        fn default() -> Self {
11303            Self::new_with_null_ptr()
11304        }
11305    }
11306    impl NewWithNullPtr for wire_cst_service_health_check_response {
11307        fn new_with_null_ptr() -> Self {
11308            Self {
11309                status: Default::default(),
11310            }
11311        }
11312    }
11313    impl Default for wire_cst_service_health_check_response {
11314        fn default() -> Self {
11315            Self::new_with_null_ptr()
11316        }
11317    }
11318    impl NewWithNullPtr for wire_cst_sign_message_request {
11319        fn new_with_null_ptr() -> Self {
11320            Self {
11321                message: core::ptr::null_mut(),
11322            }
11323        }
11324    }
11325    impl Default for wire_cst_sign_message_request {
11326        fn default() -> Self {
11327            Self::new_with_null_ptr()
11328        }
11329    }
11330    impl NewWithNullPtr for wire_cst_sign_message_response {
11331        fn new_with_null_ptr() -> Self {
11332            Self {
11333                signature: core::ptr::null_mut(),
11334            }
11335        }
11336    }
11337    impl Default for wire_cst_sign_message_response {
11338        fn default() -> Self {
11339            Self::new_with_null_ptr()
11340        }
11341    }
11342    impl NewWithNullPtr for wire_cst_static_backup_request {
11343        fn new_with_null_ptr() -> Self {
11344            Self {
11345                working_dir: core::ptr::null_mut(),
11346            }
11347        }
11348    }
11349    impl Default for wire_cst_static_backup_request {
11350        fn default() -> Self {
11351            Self::new_with_null_ptr()
11352        }
11353    }
11354    impl NewWithNullPtr for wire_cst_static_backup_response {
11355        fn new_with_null_ptr() -> Self {
11356            Self {
11357                backup: core::ptr::null_mut(),
11358            }
11359        }
11360    }
11361    impl Default for wire_cst_static_backup_response {
11362        fn default() -> Self {
11363            Self::new_with_null_ptr()
11364        }
11365    }
11366    impl NewWithNullPtr for wire_cst_success_action_processed {
11367        fn new_with_null_ptr() -> Self {
11368            Self {
11369                tag: -1,
11370                kind: SuccessActionProcessedKind { nil__: () },
11371            }
11372        }
11373    }
11374    impl Default for wire_cst_success_action_processed {
11375        fn default() -> Self {
11376            Self::new_with_null_ptr()
11377        }
11378    }
11379    impl NewWithNullPtr for wire_cst_swap_info {
11380        fn new_with_null_ptr() -> Self {
11381            Self {
11382                bitcoin_address: core::ptr::null_mut(),
11383                created_at: Default::default(),
11384                lock_height: Default::default(),
11385                payment_hash: core::ptr::null_mut(),
11386                preimage: core::ptr::null_mut(),
11387                private_key: core::ptr::null_mut(),
11388                public_key: core::ptr::null_mut(),
11389                swapper_public_key: core::ptr::null_mut(),
11390                script: core::ptr::null_mut(),
11391                bolt11: core::ptr::null_mut(),
11392                paid_msat: Default::default(),
11393                total_incoming_txs: Default::default(),
11394                confirmed_sats: Default::default(),
11395                unconfirmed_sats: Default::default(),
11396                status: Default::default(),
11397                refund_tx_ids: core::ptr::null_mut(),
11398                unconfirmed_tx_ids: core::ptr::null_mut(),
11399                confirmed_tx_ids: core::ptr::null_mut(),
11400                min_allowed_deposit: Default::default(),
11401                max_allowed_deposit: Default::default(),
11402                max_swapper_payable: Default::default(),
11403                last_redeem_error: core::ptr::null_mut(),
11404                channel_opening_fees: core::ptr::null_mut(),
11405                confirmed_at: core::ptr::null_mut(),
11406            }
11407        }
11408    }
11409    impl Default for wire_cst_swap_info {
11410        fn default() -> Self {
11411            Self::new_with_null_ptr()
11412        }
11413    }
11414    impl NewWithNullPtr for wire_cst_symbol {
11415        fn new_with_null_ptr() -> Self {
11416            Self {
11417                grapheme: core::ptr::null_mut(),
11418                template: core::ptr::null_mut(),
11419                rtl: core::ptr::null_mut(),
11420                position: core::ptr::null_mut(),
11421            }
11422        }
11423    }
11424    impl Default for wire_cst_symbol {
11425        fn default() -> Self {
11426            Self::new_with_null_ptr()
11427        }
11428    }
11429    impl NewWithNullPtr for wire_cst_tlv_entry {
11430        fn new_with_null_ptr() -> Self {
11431            Self {
11432                field_number: Default::default(),
11433                value: core::ptr::null_mut(),
11434            }
11435        }
11436    }
11437    impl Default for wire_cst_tlv_entry {
11438        fn default() -> Self {
11439            Self::new_with_null_ptr()
11440        }
11441    }
11442    impl NewWithNullPtr for wire_cst_unspent_transaction_output {
11443        fn new_with_null_ptr() -> Self {
11444            Self {
11445                txid: core::ptr::null_mut(),
11446                outnum: Default::default(),
11447                amount_millisatoshi: Default::default(),
11448                address: core::ptr::null_mut(),
11449                reserved: Default::default(),
11450            }
11451        }
11452    }
11453    impl Default for wire_cst_unspent_transaction_output {
11454        fn default() -> Self {
11455            Self::new_with_null_ptr()
11456        }
11457    }
11458    impl NewWithNullPtr for wire_cst_url_success_action_data {
11459        fn new_with_null_ptr() -> Self {
11460            Self {
11461                description: core::ptr::null_mut(),
11462                url: core::ptr::null_mut(),
11463                matches_callback_domain: Default::default(),
11464            }
11465        }
11466    }
11467    impl Default for wire_cst_url_success_action_data {
11468        fn default() -> Self {
11469            Self::new_with_null_ptr()
11470        }
11471    }
11472
11473    #[unsafe(no_mangle)]
11474    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__backup(port_: i64) {
11475        wire__crate__binding__backup_impl(port_)
11476    }
11477
11478    #[unsafe(no_mangle)]
11479    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__backup_status(port_: i64) {
11480        wire__crate__binding__backup_status_impl(port_)
11481    }
11482
11483    #[unsafe(no_mangle)]
11484    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__binding_event_listener_on_event(
11485        port_: i64,
11486        that: *mut wire_cst_binding_event_listener,
11487        e: *mut wire_cst_breez_event,
11488    ) {
11489        wire__crate__binding__binding_event_listener_on_event_impl(port_, that, e)
11490    }
11491
11492    #[unsafe(no_mangle)]
11493    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__breez_events_stream(
11494        port_: i64,
11495        s: *mut wire_cst_list_prim_u_8_strict,
11496    ) {
11497        wire__crate__binding__breez_events_stream_impl(port_, s)
11498    }
11499
11500    #[unsafe(no_mangle)]
11501    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__breez_log_stream(
11502        port_: i64,
11503        s: *mut wire_cst_list_prim_u_8_strict,
11504    ) {
11505        wire__crate__binding__breez_log_stream_impl(port_, s)
11506    }
11507
11508    #[unsafe(no_mangle)]
11509    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__buy_bitcoin(
11510        port_: i64,
11511        req: *mut wire_cst_buy_bitcoin_request,
11512    ) {
11513        wire__crate__binding__buy_bitcoin_impl(port_, req)
11514    }
11515
11516    #[unsafe(no_mangle)]
11517    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__check_message(
11518        port_: i64,
11519        req: *mut wire_cst_check_message_request,
11520    ) {
11521        wire__crate__binding__check_message_impl(port_, req)
11522    }
11523
11524    #[unsafe(no_mangle)]
11525    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__claim_reverse_swap(
11526        port_: i64,
11527        lockup_address: *mut wire_cst_list_prim_u_8_strict,
11528    ) {
11529        wire__crate__binding__claim_reverse_swap_impl(port_, lockup_address)
11530    }
11531
11532    #[unsafe(no_mangle)]
11533    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__close_lsp_channels(port_: i64) {
11534        wire__crate__binding__close_lsp_channels_impl(port_)
11535    }
11536
11537    #[unsafe(no_mangle)]
11538    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__configure_node(
11539        port_: i64,
11540        req: *mut wire_cst_configure_node_request,
11541    ) {
11542        wire__crate__binding__configure_node_impl(port_, req)
11543    }
11544
11545    #[unsafe(no_mangle)]
11546    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__connect(
11547        port_: i64,
11548        req: *mut wire_cst_connect_request,
11549    ) {
11550        wire__crate__binding__connect_impl(port_, req)
11551    }
11552
11553    #[unsafe(no_mangle)]
11554    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__connect_lsp(
11555        port_: i64,
11556        lsp_id: *mut wire_cst_list_prim_u_8_strict,
11557    ) {
11558        wire__crate__binding__connect_lsp_impl(port_, lsp_id)
11559    }
11560
11561    #[unsafe(no_mangle)]
11562    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__default_config(
11563        port_: i64,
11564        env_type: i32,
11565        api_key: *mut wire_cst_list_prim_u_8_strict,
11566        node_config: *mut wire_cst_node_config,
11567    ) {
11568        wire__crate__binding__default_config_impl(port_, env_type, api_key, node_config)
11569    }
11570
11571    #[unsafe(no_mangle)]
11572    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__disconnect(port_: i64) {
11573        wire__crate__binding__disconnect_impl(port_)
11574    }
11575
11576    #[unsafe(no_mangle)]
11577    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__execute_command(
11578        port_: i64,
11579        command: *mut wire_cst_list_prim_u_8_strict,
11580    ) {
11581        wire__crate__binding__execute_command_impl(port_, command)
11582    }
11583
11584    #[unsafe(no_mangle)]
11585    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__fetch_fiat_rates(port_: i64) {
11586        wire__crate__binding__fetch_fiat_rates_impl(port_)
11587    }
11588
11589    #[unsafe(no_mangle)]
11590    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__fetch_lsp_info(
11591        port_: i64,
11592        id: *mut wire_cst_list_prim_u_8_strict,
11593    ) {
11594        wire__crate__binding__fetch_lsp_info_impl(port_, id)
11595    }
11596
11597    #[unsafe(no_mangle)]
11598    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__fetch_reverse_swap_fees(
11599        port_: i64,
11600        req: *mut wire_cst_reverse_swap_fees_request,
11601    ) {
11602        wire__crate__binding__fetch_reverse_swap_fees_impl(port_, req)
11603    }
11604
11605    #[unsafe(no_mangle)]
11606    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__generate_diagnostic_data(port_: i64) {
11607        wire__crate__binding__generate_diagnostic_data_impl(port_)
11608    }
11609
11610    #[unsafe(no_mangle)]
11611    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__in_progress_onchain_payments(
11612        port_: i64,
11613    ) {
11614        wire__crate__binding__in_progress_onchain_payments_impl(port_)
11615    }
11616
11617    #[unsafe(no_mangle)]
11618    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__in_progress_swap(port_: i64) {
11619        wire__crate__binding__in_progress_swap_impl(port_)
11620    }
11621
11622    #[unsafe(no_mangle)]
11623    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__is_initialized(port_: i64) {
11624        wire__crate__binding__is_initialized_impl(port_)
11625    }
11626
11627    #[unsafe(no_mangle)]
11628    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__list_fiat_currencies(port_: i64) {
11629        wire__crate__binding__list_fiat_currencies_impl(port_)
11630    }
11631
11632    #[unsafe(no_mangle)]
11633    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__list_lsps(port_: i64) {
11634        wire__crate__binding__list_lsps_impl(port_)
11635    }
11636
11637    #[unsafe(no_mangle)]
11638    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__list_payments(
11639        port_: i64,
11640        req: *mut wire_cst_list_payments_request,
11641    ) {
11642        wire__crate__binding__list_payments_impl(port_, req)
11643    }
11644
11645    #[unsafe(no_mangle)]
11646    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__list_refundables(port_: i64) {
11647        wire__crate__binding__list_refundables_impl(port_)
11648    }
11649
11650    #[unsafe(no_mangle)]
11651    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__list_swaps(
11652        port_: i64,
11653        req: *mut wire_cst_list_swaps_request,
11654    ) {
11655        wire__crate__binding__list_swaps_impl(port_, req)
11656    }
11657
11658    #[unsafe(no_mangle)]
11659    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__lnurl_auth(
11660        port_: i64,
11661        req_data: *mut wire_cst_ln_url_auth_request_data,
11662    ) {
11663        wire__crate__binding__lnurl_auth_impl(port_, req_data)
11664    }
11665
11666    #[unsafe(no_mangle)]
11667    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__lnurl_pay(
11668        port_: i64,
11669        req: *mut wire_cst_ln_url_pay_request,
11670    ) {
11671        wire__crate__binding__lnurl_pay_impl(port_, req)
11672    }
11673
11674    #[unsafe(no_mangle)]
11675    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__lnurl_withdraw(
11676        port_: i64,
11677        req: *mut wire_cst_ln_url_withdraw_request,
11678    ) {
11679        wire__crate__binding__lnurl_withdraw_impl(port_, req)
11680    }
11681
11682    #[unsafe(no_mangle)]
11683    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__lsp_id(port_: i64) {
11684        wire__crate__binding__lsp_id_impl(port_)
11685    }
11686
11687    #[unsafe(no_mangle)]
11688    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__lsp_info(port_: i64) {
11689        wire__crate__binding__lsp_info_impl(port_)
11690    }
11691
11692    #[unsafe(no_mangle)]
11693    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__mnemonic_to_seed(
11694        port_: i64,
11695        phrase: *mut wire_cst_list_prim_u_8_strict,
11696    ) {
11697        wire__crate__binding__mnemonic_to_seed_impl(port_, phrase)
11698    }
11699
11700    #[unsafe(no_mangle)]
11701    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__node_credentials(port_: i64) {
11702        wire__crate__binding__node_credentials_impl(port_)
11703    }
11704
11705    #[unsafe(no_mangle)]
11706    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__node_info(port_: i64) {
11707        wire__crate__binding__node_info_impl(port_)
11708    }
11709
11710    #[unsafe(no_mangle)]
11711    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__onchain_payment_limits(port_: i64) {
11712        wire__crate__binding__onchain_payment_limits_impl(port_)
11713    }
11714
11715    #[unsafe(no_mangle)]
11716    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__open_channel_fee(
11717        port_: i64,
11718        req: *mut wire_cst_open_channel_fee_request,
11719    ) {
11720        wire__crate__binding__open_channel_fee_impl(port_, req)
11721    }
11722
11723    #[unsafe(no_mangle)]
11724    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__parse_input(
11725        port_: i64,
11726        input: *mut wire_cst_list_prim_u_8_strict,
11727    ) {
11728        wire__crate__binding__parse_input_impl(port_, input)
11729    }
11730
11731    #[unsafe(no_mangle)]
11732    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__parse_invoice(
11733        port_: i64,
11734        invoice: *mut wire_cst_list_prim_u_8_strict,
11735    ) {
11736        wire__crate__binding__parse_invoice_impl(port_, invoice)
11737    }
11738
11739    #[unsafe(no_mangle)]
11740    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__pay_onchain(
11741        port_: i64,
11742        req: *mut wire_cst_pay_onchain_request,
11743    ) {
11744        wire__crate__binding__pay_onchain_impl(port_, req)
11745    }
11746
11747    #[unsafe(no_mangle)]
11748    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__payment_by_hash(
11749        port_: i64,
11750        hash: *mut wire_cst_list_prim_u_8_strict,
11751    ) {
11752        wire__crate__binding__payment_by_hash_impl(port_, hash)
11753    }
11754
11755    #[unsafe(no_mangle)]
11756    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__prepare_onchain_payment(
11757        port_: i64,
11758        req: *mut wire_cst_prepare_onchain_payment_request,
11759    ) {
11760        wire__crate__binding__prepare_onchain_payment_impl(port_, req)
11761    }
11762
11763    #[unsafe(no_mangle)]
11764    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__prepare_redeem_onchain_funds(
11765        port_: i64,
11766        req: *mut wire_cst_prepare_redeem_onchain_funds_request,
11767    ) {
11768        wire__crate__binding__prepare_redeem_onchain_funds_impl(port_, req)
11769    }
11770
11771    #[unsafe(no_mangle)]
11772    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__prepare_refund(
11773        port_: i64,
11774        req: *mut wire_cst_prepare_refund_request,
11775    ) {
11776        wire__crate__binding__prepare_refund_impl(port_, req)
11777    }
11778
11779    #[unsafe(no_mangle)]
11780    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__receive_onchain(
11781        port_: i64,
11782        req: *mut wire_cst_receive_onchain_request,
11783    ) {
11784        wire__crate__binding__receive_onchain_impl(port_, req)
11785    }
11786
11787    #[unsafe(no_mangle)]
11788    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__receive_payment(
11789        port_: i64,
11790        req: *mut wire_cst_receive_payment_request,
11791    ) {
11792        wire__crate__binding__receive_payment_impl(port_, req)
11793    }
11794
11795    #[unsafe(no_mangle)]
11796    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__recommended_fees(port_: i64) {
11797        wire__crate__binding__recommended_fees_impl(port_)
11798    }
11799
11800    #[unsafe(no_mangle)]
11801    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__redeem_onchain_funds(
11802        port_: i64,
11803        req: *mut wire_cst_redeem_onchain_funds_request,
11804    ) {
11805        wire__crate__binding__redeem_onchain_funds_impl(port_, req)
11806    }
11807
11808    #[unsafe(no_mangle)]
11809    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__redeem_swap(
11810        port_: i64,
11811        swap_address: *mut wire_cst_list_prim_u_8_strict,
11812    ) {
11813        wire__crate__binding__redeem_swap_impl(port_, swap_address)
11814    }
11815
11816    #[unsafe(no_mangle)]
11817    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__refund(
11818        port_: i64,
11819        req: *mut wire_cst_refund_request,
11820    ) {
11821        wire__crate__binding__refund_impl(port_, req)
11822    }
11823
11824    #[unsafe(no_mangle)]
11825    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__register_webhook(
11826        port_: i64,
11827        webhook_url: *mut wire_cst_list_prim_u_8_strict,
11828    ) {
11829        wire__crate__binding__register_webhook_impl(port_, webhook_url)
11830    }
11831
11832    #[unsafe(no_mangle)]
11833    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__report_issue(
11834        port_: i64,
11835        req: *mut wire_cst_report_issue_request,
11836    ) {
11837        wire__crate__binding__report_issue_impl(port_, req)
11838    }
11839
11840    #[unsafe(no_mangle)]
11841    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__rescan_swaps(port_: i64) {
11842        wire__crate__binding__rescan_swaps_impl(port_)
11843    }
11844
11845    #[unsafe(no_mangle)]
11846    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__send_payment(
11847        port_: i64,
11848        req: *mut wire_cst_send_payment_request,
11849    ) {
11850        wire__crate__binding__send_payment_impl(port_, req)
11851    }
11852
11853    #[unsafe(no_mangle)]
11854    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__send_spontaneous_payment(
11855        port_: i64,
11856        req: *mut wire_cst_send_spontaneous_payment_request,
11857    ) {
11858        wire__crate__binding__send_spontaneous_payment_impl(port_, req)
11859    }
11860
11861    #[unsafe(no_mangle)]
11862    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__service_health_check(
11863        port_: i64,
11864        api_key: *mut wire_cst_list_prim_u_8_strict,
11865    ) {
11866        wire__crate__binding__service_health_check_impl(port_, api_key)
11867    }
11868
11869    #[unsafe(no_mangle)]
11870    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__set_payment_metadata(
11871        port_: i64,
11872        hash: *mut wire_cst_list_prim_u_8_strict,
11873        metadata: *mut wire_cst_list_prim_u_8_strict,
11874    ) {
11875        wire__crate__binding__set_payment_metadata_impl(port_, hash, metadata)
11876    }
11877
11878    #[unsafe(no_mangle)]
11879    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__sign_message(
11880        port_: i64,
11881        req: *mut wire_cst_sign_message_request,
11882    ) {
11883        wire__crate__binding__sign_message_impl(port_, req)
11884    }
11885
11886    #[unsafe(no_mangle)]
11887    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__static_backup(
11888        port_: i64,
11889        req: *mut wire_cst_static_backup_request,
11890    ) {
11891        wire__crate__binding__static_backup_impl(port_, req)
11892    }
11893
11894    #[unsafe(no_mangle)]
11895    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__sync(port_: i64) {
11896        wire__crate__binding__sync_impl(port_)
11897    }
11898
11899    #[unsafe(no_mangle)]
11900    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__unregister_webhook(
11901        port_: i64,
11902        webhook_url: *mut wire_cst_list_prim_u_8_strict,
11903    ) {
11904        wire__crate__binding__unregister_webhook_impl(port_, webhook_url)
11905    }
11906
11907    #[unsafe(no_mangle)]
11908    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_aes_success_action_data_decrypted(
11909    ) -> *mut wire_cst_aes_success_action_data_decrypted {
11910        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11911            wire_cst_aes_success_action_data_decrypted::new_with_null_ptr(),
11912        )
11913    }
11914
11915    #[unsafe(no_mangle)]
11916    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_aes_success_action_data_result(
11917    ) -> *mut wire_cst_aes_success_action_data_result {
11918        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11919            wire_cst_aes_success_action_data_result::new_with_null_ptr(),
11920        )
11921    }
11922
11923    #[unsafe(no_mangle)]
11924    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_backup_failed_data(
11925    ) -> *mut wire_cst_backup_failed_data {
11926        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11927            wire_cst_backup_failed_data::new_with_null_ptr(),
11928        )
11929    }
11930
11931    #[unsafe(no_mangle)]
11932    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_binding_event_listener(
11933    ) -> *mut wire_cst_binding_event_listener {
11934        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11935            wire_cst_binding_event_listener::new_with_null_ptr(),
11936        )
11937    }
11938
11939    #[unsafe(no_mangle)]
11940    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_bitcoin_address_data(
11941    ) -> *mut wire_cst_bitcoin_address_data {
11942        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11943            wire_cst_bitcoin_address_data::new_with_null_ptr(),
11944        )
11945    }
11946
11947    #[unsafe(no_mangle)]
11948    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_bool(value: bool) -> *mut bool {
11949        flutter_rust_bridge::for_generated::new_leak_box_ptr(value)
11950    }
11951
11952    #[unsafe(no_mangle)]
11953    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_breez_event() -> *mut wire_cst_breez_event
11954    {
11955        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11956            wire_cst_breez_event::new_with_null_ptr(),
11957        )
11958    }
11959
11960    #[unsafe(no_mangle)]
11961    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_buy_bitcoin_request(
11962    ) -> *mut wire_cst_buy_bitcoin_request {
11963        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11964            wire_cst_buy_bitcoin_request::new_with_null_ptr(),
11965        )
11966    }
11967
11968    #[unsafe(no_mangle)]
11969    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_check_message_request(
11970    ) -> *mut wire_cst_check_message_request {
11971        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11972            wire_cst_check_message_request::new_with_null_ptr(),
11973        )
11974    }
11975
11976    #[unsafe(no_mangle)]
11977    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_closed_channel_payment_details(
11978    ) -> *mut wire_cst_closed_channel_payment_details {
11979        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11980            wire_cst_closed_channel_payment_details::new_with_null_ptr(),
11981        )
11982    }
11983
11984    #[unsafe(no_mangle)]
11985    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_configure_node_request(
11986    ) -> *mut wire_cst_configure_node_request {
11987        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11988            wire_cst_configure_node_request::new_with_null_ptr(),
11989        )
11990    }
11991
11992    #[unsafe(no_mangle)]
11993    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_connect_request(
11994    ) -> *mut wire_cst_connect_request {
11995        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11996            wire_cst_connect_request::new_with_null_ptr(),
11997        )
11998    }
11999
12000    #[unsafe(no_mangle)]
12001    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_greenlight_credentials(
12002    ) -> *mut wire_cst_greenlight_credentials {
12003        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12004            wire_cst_greenlight_credentials::new_with_null_ptr(),
12005        )
12006    }
12007
12008    #[unsafe(no_mangle)]
12009    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_greenlight_device_credentials(
12010    ) -> *mut wire_cst_greenlight_device_credentials {
12011        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12012            wire_cst_greenlight_device_credentials::new_with_null_ptr(),
12013        )
12014    }
12015
12016    #[unsafe(no_mangle)]
12017    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_greenlight_node_config(
12018    ) -> *mut wire_cst_greenlight_node_config {
12019        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12020            wire_cst_greenlight_node_config::new_with_null_ptr(),
12021        )
12022    }
12023
12024    #[unsafe(no_mangle)]
12025    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_i_64(value: i64) -> *mut i64 {
12026        flutter_rust_bridge::for_generated::new_leak_box_ptr(value)
12027    }
12028
12029    #[unsafe(no_mangle)]
12030    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_invoice_paid_details(
12031    ) -> *mut wire_cst_invoice_paid_details {
12032        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12033            wire_cst_invoice_paid_details::new_with_null_ptr(),
12034        )
12035    }
12036
12037    #[unsafe(no_mangle)]
12038    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_list_payments_request(
12039    ) -> *mut wire_cst_list_payments_request {
12040        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12041            wire_cst_list_payments_request::new_with_null_ptr(),
12042        )
12043    }
12044
12045    #[unsafe(no_mangle)]
12046    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_list_swaps_request(
12047    ) -> *mut wire_cst_list_swaps_request {
12048        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12049            wire_cst_list_swaps_request::new_with_null_ptr(),
12050        )
12051    }
12052
12053    #[unsafe(no_mangle)]
12054    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_invoice() -> *mut wire_cst_ln_invoice
12055    {
12056        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12057            wire_cst_ln_invoice::new_with_null_ptr(),
12058        )
12059    }
12060
12061    #[unsafe(no_mangle)]
12062    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_payment_details(
12063    ) -> *mut wire_cst_ln_payment_details {
12064        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12065            wire_cst_ln_payment_details::new_with_null_ptr(),
12066        )
12067    }
12068
12069    #[unsafe(no_mangle)]
12070    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_auth_request_data(
12071    ) -> *mut wire_cst_ln_url_auth_request_data {
12072        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12073            wire_cst_ln_url_auth_request_data::new_with_null_ptr(),
12074        )
12075    }
12076
12077    #[unsafe(no_mangle)]
12078    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_error_data(
12079    ) -> *mut wire_cst_ln_url_error_data {
12080        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12081            wire_cst_ln_url_error_data::new_with_null_ptr(),
12082        )
12083    }
12084
12085    #[unsafe(no_mangle)]
12086    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_pay_error_data(
12087    ) -> *mut wire_cst_ln_url_pay_error_data {
12088        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12089            wire_cst_ln_url_pay_error_data::new_with_null_ptr(),
12090        )
12091    }
12092
12093    #[unsafe(no_mangle)]
12094    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_pay_request(
12095    ) -> *mut wire_cst_ln_url_pay_request {
12096        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12097            wire_cst_ln_url_pay_request::new_with_null_ptr(),
12098        )
12099    }
12100
12101    #[unsafe(no_mangle)]
12102    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_pay_request_data(
12103    ) -> *mut wire_cst_ln_url_pay_request_data {
12104        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12105            wire_cst_ln_url_pay_request_data::new_with_null_ptr(),
12106        )
12107    }
12108
12109    #[unsafe(no_mangle)]
12110    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_pay_success_data(
12111    ) -> *mut wire_cst_ln_url_pay_success_data {
12112        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12113            wire_cst_ln_url_pay_success_data::new_with_null_ptr(),
12114        )
12115    }
12116
12117    #[unsafe(no_mangle)]
12118    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_withdraw_request(
12119    ) -> *mut wire_cst_ln_url_withdraw_request {
12120        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12121            wire_cst_ln_url_withdraw_request::new_with_null_ptr(),
12122        )
12123    }
12124
12125    #[unsafe(no_mangle)]
12126    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_withdraw_request_data(
12127    ) -> *mut wire_cst_ln_url_withdraw_request_data {
12128        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12129            wire_cst_ln_url_withdraw_request_data::new_with_null_ptr(),
12130        )
12131    }
12132
12133    #[unsafe(no_mangle)]
12134    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_withdraw_success_data(
12135    ) -> *mut wire_cst_ln_url_withdraw_success_data {
12136        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12137            wire_cst_ln_url_withdraw_success_data::new_with_null_ptr(),
12138        )
12139    }
12140
12141    #[unsafe(no_mangle)]
12142    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_lsp_information(
12143    ) -> *mut wire_cst_lsp_information {
12144        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12145            wire_cst_lsp_information::new_with_null_ptr(),
12146        )
12147    }
12148
12149    #[unsafe(no_mangle)]
12150    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_message_success_action_data(
12151    ) -> *mut wire_cst_message_success_action_data {
12152        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12153            wire_cst_message_success_action_data::new_with_null_ptr(),
12154        )
12155    }
12156
12157    #[unsafe(no_mangle)]
12158    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_node_config() -> *mut wire_cst_node_config
12159    {
12160        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12161            wire_cst_node_config::new_with_null_ptr(),
12162        )
12163    }
12164
12165    #[unsafe(no_mangle)]
12166    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_node_credentials(
12167    ) -> *mut wire_cst_node_credentials {
12168        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12169            wire_cst_node_credentials::new_with_null_ptr(),
12170        )
12171    }
12172
12173    #[unsafe(no_mangle)]
12174    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_open_channel_fee_request(
12175    ) -> *mut wire_cst_open_channel_fee_request {
12176        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12177            wire_cst_open_channel_fee_request::new_with_null_ptr(),
12178        )
12179    }
12180
12181    #[unsafe(no_mangle)]
12182    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_opening_fee_params(
12183    ) -> *mut wire_cst_opening_fee_params {
12184        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12185            wire_cst_opening_fee_params::new_with_null_ptr(),
12186        )
12187    }
12188
12189    #[unsafe(no_mangle)]
12190    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_pay_onchain_request(
12191    ) -> *mut wire_cst_pay_onchain_request {
12192        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12193            wire_cst_pay_onchain_request::new_with_null_ptr(),
12194        )
12195    }
12196
12197    #[unsafe(no_mangle)]
12198    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_payment() -> *mut wire_cst_payment {
12199        flutter_rust_bridge::for_generated::new_leak_box_ptr(wire_cst_payment::new_with_null_ptr())
12200    }
12201
12202    #[unsafe(no_mangle)]
12203    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_payment_failed_data(
12204    ) -> *mut wire_cst_payment_failed_data {
12205        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12206            wire_cst_payment_failed_data::new_with_null_ptr(),
12207        )
12208    }
12209
12210    #[unsafe(no_mangle)]
12211    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_prepare_onchain_payment_request(
12212    ) -> *mut wire_cst_prepare_onchain_payment_request {
12213        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12214            wire_cst_prepare_onchain_payment_request::new_with_null_ptr(),
12215        )
12216    }
12217
12218    #[unsafe(no_mangle)]
12219    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_prepare_redeem_onchain_funds_request(
12220    ) -> *mut wire_cst_prepare_redeem_onchain_funds_request {
12221        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12222            wire_cst_prepare_redeem_onchain_funds_request::new_with_null_ptr(),
12223        )
12224    }
12225
12226    #[unsafe(no_mangle)]
12227    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_prepare_refund_request(
12228    ) -> *mut wire_cst_prepare_refund_request {
12229        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12230            wire_cst_prepare_refund_request::new_with_null_ptr(),
12231        )
12232    }
12233
12234    #[unsafe(no_mangle)]
12235    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_receive_onchain_request(
12236    ) -> *mut wire_cst_receive_onchain_request {
12237        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12238            wire_cst_receive_onchain_request::new_with_null_ptr(),
12239        )
12240    }
12241
12242    #[unsafe(no_mangle)]
12243    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_receive_payment_request(
12244    ) -> *mut wire_cst_receive_payment_request {
12245        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12246            wire_cst_receive_payment_request::new_with_null_ptr(),
12247        )
12248    }
12249
12250    #[unsafe(no_mangle)]
12251    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_redeem_onchain_funds_request(
12252    ) -> *mut wire_cst_redeem_onchain_funds_request {
12253        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12254            wire_cst_redeem_onchain_funds_request::new_with_null_ptr(),
12255        )
12256    }
12257
12258    #[unsafe(no_mangle)]
12259    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_refund_request(
12260    ) -> *mut wire_cst_refund_request {
12261        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12262            wire_cst_refund_request::new_with_null_ptr(),
12263        )
12264    }
12265
12266    #[unsafe(no_mangle)]
12267    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_report_issue_request(
12268    ) -> *mut wire_cst_report_issue_request {
12269        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12270            wire_cst_report_issue_request::new_with_null_ptr(),
12271        )
12272    }
12273
12274    #[unsafe(no_mangle)]
12275    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_report_payment_failure_details(
12276    ) -> *mut wire_cst_report_payment_failure_details {
12277        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12278            wire_cst_report_payment_failure_details::new_with_null_ptr(),
12279        )
12280    }
12281
12282    #[unsafe(no_mangle)]
12283    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_reverse_swap_fees_request(
12284    ) -> *mut wire_cst_reverse_swap_fees_request {
12285        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12286            wire_cst_reverse_swap_fees_request::new_with_null_ptr(),
12287        )
12288    }
12289
12290    #[unsafe(no_mangle)]
12291    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_reverse_swap_info(
12292    ) -> *mut wire_cst_reverse_swap_info {
12293        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12294            wire_cst_reverse_swap_info::new_with_null_ptr(),
12295        )
12296    }
12297
12298    #[unsafe(no_mangle)]
12299    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_send_payment_request(
12300    ) -> *mut wire_cst_send_payment_request {
12301        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12302            wire_cst_send_payment_request::new_with_null_ptr(),
12303        )
12304    }
12305
12306    #[unsafe(no_mangle)]
12307    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_send_spontaneous_payment_request(
12308    ) -> *mut wire_cst_send_spontaneous_payment_request {
12309        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12310            wire_cst_send_spontaneous_payment_request::new_with_null_ptr(),
12311        )
12312    }
12313
12314    #[unsafe(no_mangle)]
12315    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_sign_message_request(
12316    ) -> *mut wire_cst_sign_message_request {
12317        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12318            wire_cst_sign_message_request::new_with_null_ptr(),
12319        )
12320    }
12321
12322    #[unsafe(no_mangle)]
12323    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_static_backup_request(
12324    ) -> *mut wire_cst_static_backup_request {
12325        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12326            wire_cst_static_backup_request::new_with_null_ptr(),
12327        )
12328    }
12329
12330    #[unsafe(no_mangle)]
12331    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_success_action_processed(
12332    ) -> *mut wire_cst_success_action_processed {
12333        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12334            wire_cst_success_action_processed::new_with_null_ptr(),
12335        )
12336    }
12337
12338    #[unsafe(no_mangle)]
12339    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_swap_info() -> *mut wire_cst_swap_info {
12340        flutter_rust_bridge::for_generated::new_leak_box_ptr(wire_cst_swap_info::new_with_null_ptr())
12341    }
12342
12343    #[unsafe(no_mangle)]
12344    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_symbol() -> *mut wire_cst_symbol {
12345        flutter_rust_bridge::for_generated::new_leak_box_ptr(wire_cst_symbol::new_with_null_ptr())
12346    }
12347
12348    #[unsafe(no_mangle)]
12349    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_u_32(value: u32) -> *mut u32 {
12350        flutter_rust_bridge::for_generated::new_leak_box_ptr(value)
12351    }
12352
12353    #[unsafe(no_mangle)]
12354    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_u_64(value: u64) -> *mut u64 {
12355        flutter_rust_bridge::for_generated::new_leak_box_ptr(value)
12356    }
12357
12358    #[unsafe(no_mangle)]
12359    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_url_success_action_data(
12360    ) -> *mut wire_cst_url_success_action_data {
12361        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12362            wire_cst_url_success_action_data::new_with_null_ptr(),
12363        )
12364    }
12365
12366    #[unsafe(no_mangle)]
12367    pub extern "C" fn frbgen_breez_sdk_cst_new_list_String(len: i32) -> *mut wire_cst_list_String {
12368        let wrap = wire_cst_list_String {
12369            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12370                <*mut wire_cst_list_prim_u_8_strict>::new_with_null_ptr(),
12371                len,
12372            ),
12373            len,
12374        };
12375        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12376    }
12377
12378    #[unsafe(no_mangle)]
12379    pub extern "C" fn frbgen_breez_sdk_cst_new_list_fiat_currency(
12380        len: i32,
12381    ) -> *mut wire_cst_list_fiat_currency {
12382        let wrap = wire_cst_list_fiat_currency {
12383            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12384                <wire_cst_fiat_currency>::new_with_null_ptr(),
12385                len,
12386            ),
12387            len,
12388        };
12389        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12390    }
12391
12392    #[unsafe(no_mangle)]
12393    pub extern "C" fn frbgen_breez_sdk_cst_new_list_locale_overrides(
12394        len: i32,
12395    ) -> *mut wire_cst_list_locale_overrides {
12396        let wrap = wire_cst_list_locale_overrides {
12397            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12398                <wire_cst_locale_overrides>::new_with_null_ptr(),
12399                len,
12400            ),
12401            len,
12402        };
12403        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12404    }
12405
12406    #[unsafe(no_mangle)]
12407    pub extern "C" fn frbgen_breez_sdk_cst_new_list_localized_name(
12408        len: i32,
12409    ) -> *mut wire_cst_list_localized_name {
12410        let wrap = wire_cst_list_localized_name {
12411            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12412                <wire_cst_localized_name>::new_with_null_ptr(),
12413                len,
12414            ),
12415            len,
12416        };
12417        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12418    }
12419
12420    #[unsafe(no_mangle)]
12421    pub extern "C" fn frbgen_breez_sdk_cst_new_list_lsp_information(
12422        len: i32,
12423    ) -> *mut wire_cst_list_lsp_information {
12424        let wrap = wire_cst_list_lsp_information {
12425            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12426                <wire_cst_lsp_information>::new_with_null_ptr(),
12427                len,
12428            ),
12429            len,
12430        };
12431        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12432    }
12433
12434    #[unsafe(no_mangle)]
12435    pub extern "C" fn frbgen_breez_sdk_cst_new_list_metadata_filter(
12436        len: i32,
12437    ) -> *mut wire_cst_list_metadata_filter {
12438        let wrap = wire_cst_list_metadata_filter {
12439            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12440                <wire_cst_metadata_filter>::new_with_null_ptr(),
12441                len,
12442            ),
12443            len,
12444        };
12445        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12446    }
12447
12448    #[unsafe(no_mangle)]
12449    pub extern "C" fn frbgen_breez_sdk_cst_new_list_opening_fee_params(
12450        len: i32,
12451    ) -> *mut wire_cst_list_opening_fee_params {
12452        let wrap = wire_cst_list_opening_fee_params {
12453            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12454                <wire_cst_opening_fee_params>::new_with_null_ptr(),
12455                len,
12456            ),
12457            len,
12458        };
12459        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12460    }
12461
12462    #[unsafe(no_mangle)]
12463    pub extern "C" fn frbgen_breez_sdk_cst_new_list_payment(
12464        len: i32,
12465    ) -> *mut wire_cst_list_payment {
12466        let wrap = wire_cst_list_payment {
12467            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12468                <wire_cst_payment>::new_with_null_ptr(),
12469                len,
12470            ),
12471            len,
12472        };
12473        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12474    }
12475
12476    #[unsafe(no_mangle)]
12477    pub extern "C" fn frbgen_breez_sdk_cst_new_list_payment_type_filter(
12478        len: i32,
12479    ) -> *mut wire_cst_list_payment_type_filter {
12480        let wrap = wire_cst_list_payment_type_filter {
12481            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(Default::default(), len),
12482            len,
12483        };
12484        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12485    }
12486
12487    #[unsafe(no_mangle)]
12488    pub extern "C" fn frbgen_breez_sdk_cst_new_list_prim_u_8_strict(
12489        len: i32,
12490    ) -> *mut wire_cst_list_prim_u_8_strict {
12491        let ans = wire_cst_list_prim_u_8_strict {
12492            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(Default::default(), len),
12493            len,
12494        };
12495        flutter_rust_bridge::for_generated::new_leak_box_ptr(ans)
12496    }
12497
12498    #[unsafe(no_mangle)]
12499    pub extern "C" fn frbgen_breez_sdk_cst_new_list_rate(len: i32) -> *mut wire_cst_list_rate {
12500        let wrap = wire_cst_list_rate {
12501            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12502                <wire_cst_rate>::new_with_null_ptr(),
12503                len,
12504            ),
12505            len,
12506        };
12507        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12508    }
12509
12510    #[unsafe(no_mangle)]
12511    pub extern "C" fn frbgen_breez_sdk_cst_new_list_reverse_swap_info(
12512        len: i32,
12513    ) -> *mut wire_cst_list_reverse_swap_info {
12514        let wrap = wire_cst_list_reverse_swap_info {
12515            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12516                <wire_cst_reverse_swap_info>::new_with_null_ptr(),
12517                len,
12518            ),
12519            len,
12520        };
12521        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12522    }
12523
12524    #[unsafe(no_mangle)]
12525    pub extern "C" fn frbgen_breez_sdk_cst_new_list_route_hint(
12526        len: i32,
12527    ) -> *mut wire_cst_list_route_hint {
12528        let wrap = wire_cst_list_route_hint {
12529            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12530                <wire_cst_route_hint>::new_with_null_ptr(),
12531                len,
12532            ),
12533            len,
12534        };
12535        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12536    }
12537
12538    #[unsafe(no_mangle)]
12539    pub extern "C" fn frbgen_breez_sdk_cst_new_list_route_hint_hop(
12540        len: i32,
12541    ) -> *mut wire_cst_list_route_hint_hop {
12542        let wrap = wire_cst_list_route_hint_hop {
12543            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12544                <wire_cst_route_hint_hop>::new_with_null_ptr(),
12545                len,
12546            ),
12547            len,
12548        };
12549        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12550    }
12551
12552    #[unsafe(no_mangle)]
12553    pub extern "C" fn frbgen_breez_sdk_cst_new_list_swap_info(
12554        len: i32,
12555    ) -> *mut wire_cst_list_swap_info {
12556        let wrap = wire_cst_list_swap_info {
12557            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12558                <wire_cst_swap_info>::new_with_null_ptr(),
12559                len,
12560            ),
12561            len,
12562        };
12563        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12564    }
12565
12566    #[unsafe(no_mangle)]
12567    pub extern "C" fn frbgen_breez_sdk_cst_new_list_swap_status(
12568        len: i32,
12569    ) -> *mut wire_cst_list_swap_status {
12570        let wrap = wire_cst_list_swap_status {
12571            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(Default::default(), len),
12572            len,
12573        };
12574        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12575    }
12576
12577    #[unsafe(no_mangle)]
12578    pub extern "C" fn frbgen_breez_sdk_cst_new_list_tlv_entry(
12579        len: i32,
12580    ) -> *mut wire_cst_list_tlv_entry {
12581        let wrap = wire_cst_list_tlv_entry {
12582            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12583                <wire_cst_tlv_entry>::new_with_null_ptr(),
12584                len,
12585            ),
12586            len,
12587        };
12588        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12589    }
12590
12591    #[unsafe(no_mangle)]
12592    pub extern "C" fn frbgen_breez_sdk_cst_new_list_unspent_transaction_output(
12593        len: i32,
12594    ) -> *mut wire_cst_list_unspent_transaction_output {
12595        let wrap = wire_cst_list_unspent_transaction_output {
12596            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12597                <wire_cst_unspent_transaction_output>::new_with_null_ptr(),
12598                len,
12599            ),
12600            len,
12601        };
12602        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12603    }
12604
12605    #[repr(C)]
12606    #[derive(Clone, Copy)]
12607    pub struct wire_cst_aes_success_action_data_decrypted {
12608        description: *mut wire_cst_list_prim_u_8_strict,
12609        plaintext: *mut wire_cst_list_prim_u_8_strict,
12610    }
12611    #[repr(C)]
12612    #[derive(Clone, Copy)]
12613    pub struct wire_cst_aes_success_action_data_result {
12614        tag: i32,
12615        kind: AesSuccessActionDataResultKind,
12616    }
12617    #[repr(C)]
12618    #[derive(Clone, Copy)]
12619    pub union AesSuccessActionDataResultKind {
12620        Decrypted: wire_cst_AesSuccessActionDataResult_Decrypted,
12621        ErrorStatus: wire_cst_AesSuccessActionDataResult_ErrorStatus,
12622        nil__: (),
12623    }
12624    #[repr(C)]
12625    #[derive(Clone, Copy)]
12626    pub struct wire_cst_AesSuccessActionDataResult_Decrypted {
12627        data: *mut wire_cst_aes_success_action_data_decrypted,
12628    }
12629    #[repr(C)]
12630    #[derive(Clone, Copy)]
12631    pub struct wire_cst_AesSuccessActionDataResult_ErrorStatus {
12632        reason: *mut wire_cst_list_prim_u_8_strict,
12633    }
12634    #[repr(C)]
12635    #[derive(Clone, Copy)]
12636    pub struct wire_cst_backup_failed_data {
12637        error: *mut wire_cst_list_prim_u_8_strict,
12638    }
12639    #[repr(C)]
12640    #[derive(Clone, Copy)]
12641    pub struct wire_cst_backup_status {
12642        backed_up: bool,
12643        last_backup_time: *mut u64,
12644    }
12645    #[repr(C)]
12646    #[derive(Clone, Copy)]
12647    pub struct wire_cst_binding_event_listener {}
12648    #[repr(C)]
12649    #[derive(Clone, Copy)]
12650    pub struct wire_cst_bitcoin_address_data {
12651        address: *mut wire_cst_list_prim_u_8_strict,
12652        network: i32,
12653        amount_sat: *mut u64,
12654        label: *mut wire_cst_list_prim_u_8_strict,
12655        message: *mut wire_cst_list_prim_u_8_strict,
12656    }
12657    #[repr(C)]
12658    #[derive(Clone, Copy)]
12659    pub struct wire_cst_breez_event {
12660        tag: i32,
12661        kind: BreezEventKind,
12662    }
12663    #[repr(C)]
12664    #[derive(Clone, Copy)]
12665    pub union BreezEventKind {
12666        NewBlock: wire_cst_BreezEvent_NewBlock,
12667        InvoicePaid: wire_cst_BreezEvent_InvoicePaid,
12668        PaymentSucceed: wire_cst_BreezEvent_PaymentSucceed,
12669        PaymentFailed: wire_cst_BreezEvent_PaymentFailed,
12670        BackupFailed: wire_cst_BreezEvent_BackupFailed,
12671        ReverseSwapUpdated: wire_cst_BreezEvent_ReverseSwapUpdated,
12672        SwapUpdated: wire_cst_BreezEvent_SwapUpdated,
12673        nil__: (),
12674    }
12675    #[repr(C)]
12676    #[derive(Clone, Copy)]
12677    pub struct wire_cst_BreezEvent_NewBlock {
12678        block: u32,
12679    }
12680    #[repr(C)]
12681    #[derive(Clone, Copy)]
12682    pub struct wire_cst_BreezEvent_InvoicePaid {
12683        details: *mut wire_cst_invoice_paid_details,
12684    }
12685    #[repr(C)]
12686    #[derive(Clone, Copy)]
12687    pub struct wire_cst_BreezEvent_PaymentSucceed {
12688        details: *mut wire_cst_payment,
12689    }
12690    #[repr(C)]
12691    #[derive(Clone, Copy)]
12692    pub struct wire_cst_BreezEvent_PaymentFailed {
12693        details: *mut wire_cst_payment_failed_data,
12694    }
12695    #[repr(C)]
12696    #[derive(Clone, Copy)]
12697    pub struct wire_cst_BreezEvent_BackupFailed {
12698        details: *mut wire_cst_backup_failed_data,
12699    }
12700    #[repr(C)]
12701    #[derive(Clone, Copy)]
12702    pub struct wire_cst_BreezEvent_ReverseSwapUpdated {
12703        details: *mut wire_cst_reverse_swap_info,
12704    }
12705    #[repr(C)]
12706    #[derive(Clone, Copy)]
12707    pub struct wire_cst_BreezEvent_SwapUpdated {
12708        details: *mut wire_cst_swap_info,
12709    }
12710    #[repr(C)]
12711    #[derive(Clone, Copy)]
12712    pub struct wire_cst_buy_bitcoin_request {
12713        provider: i32,
12714        opening_fee_params: *mut wire_cst_opening_fee_params,
12715        redirect_url: *mut wire_cst_list_prim_u_8_strict,
12716    }
12717    #[repr(C)]
12718    #[derive(Clone, Copy)]
12719    pub struct wire_cst_buy_bitcoin_response {
12720        url: *mut wire_cst_list_prim_u_8_strict,
12721        opening_fee_params: *mut wire_cst_opening_fee_params,
12722    }
12723    #[repr(C)]
12724    #[derive(Clone, Copy)]
12725    pub struct wire_cst_check_message_request {
12726        message: *mut wire_cst_list_prim_u_8_strict,
12727        pubkey: *mut wire_cst_list_prim_u_8_strict,
12728        signature: *mut wire_cst_list_prim_u_8_strict,
12729    }
12730    #[repr(C)]
12731    #[derive(Clone, Copy)]
12732    pub struct wire_cst_check_message_response {
12733        is_valid: bool,
12734    }
12735    #[repr(C)]
12736    #[derive(Clone, Copy)]
12737    pub struct wire_cst_closed_channel_payment_details {
12738        state: i32,
12739        funding_txid: *mut wire_cst_list_prim_u_8_strict,
12740        short_channel_id: *mut wire_cst_list_prim_u_8_strict,
12741        closing_txid: *mut wire_cst_list_prim_u_8_strict,
12742    }
12743    #[repr(C)]
12744    #[derive(Clone, Copy)]
12745    pub struct wire_cst_config {
12746        breezserver: *mut wire_cst_list_prim_u_8_strict,
12747        chainnotifier_url: *mut wire_cst_list_prim_u_8_strict,
12748        mempoolspace_url: *mut wire_cst_list_prim_u_8_strict,
12749        working_dir: *mut wire_cst_list_prim_u_8_strict,
12750        network: i32,
12751        payment_timeout_sec: u32,
12752        default_lsp_id: *mut wire_cst_list_prim_u_8_strict,
12753        api_key: *mut wire_cst_list_prim_u_8_strict,
12754        maxfee_percent: f64,
12755        exemptfee_msat: u64,
12756        node_config: wire_cst_node_config,
12757    }
12758    #[repr(C)]
12759    #[derive(Clone, Copy)]
12760    pub struct wire_cst_configure_node_request {
12761        close_to_address: *mut wire_cst_list_prim_u_8_strict,
12762    }
12763    #[repr(C)]
12764    #[derive(Clone, Copy)]
12765    pub struct wire_cst_connect_request {
12766        config: wire_cst_config,
12767        seed: *mut wire_cst_list_prim_u_8_strict,
12768        restore_only: *mut bool,
12769    }
12770    #[repr(C)]
12771    #[derive(Clone, Copy)]
12772    pub struct wire_cst_currency_info {
12773        name: *mut wire_cst_list_prim_u_8_strict,
12774        fraction_size: u32,
12775        spacing: *mut u32,
12776        symbol: *mut wire_cst_symbol,
12777        uniq_symbol: *mut wire_cst_symbol,
12778        localized_name: *mut wire_cst_list_localized_name,
12779        locale_overrides: *mut wire_cst_list_locale_overrides,
12780    }
12781    #[repr(C)]
12782    #[derive(Clone, Copy)]
12783    pub struct wire_cst_fiat_currency {
12784        id: *mut wire_cst_list_prim_u_8_strict,
12785        info: wire_cst_currency_info,
12786    }
12787    #[repr(C)]
12788    #[derive(Clone, Copy)]
12789    pub struct wire_cst_greenlight_credentials {
12790        developer_key: *mut wire_cst_list_prim_u_8_strict,
12791        developer_cert: *mut wire_cst_list_prim_u_8_strict,
12792    }
12793    #[repr(C)]
12794    #[derive(Clone, Copy)]
12795    pub struct wire_cst_greenlight_device_credentials {
12796        device: *mut wire_cst_list_prim_u_8_strict,
12797    }
12798    #[repr(C)]
12799    #[derive(Clone, Copy)]
12800    pub struct wire_cst_greenlight_node_config {
12801        partner_credentials: *mut wire_cst_greenlight_credentials,
12802        invite_code: *mut wire_cst_list_prim_u_8_strict,
12803    }
12804    #[repr(C)]
12805    #[derive(Clone, Copy)]
12806    pub struct wire_cst_input_type {
12807        tag: i32,
12808        kind: InputTypeKind,
12809    }
12810    #[repr(C)]
12811    #[derive(Clone, Copy)]
12812    pub union InputTypeKind {
12813        BitcoinAddress: wire_cst_InputType_BitcoinAddress,
12814        Bolt11: wire_cst_InputType_Bolt11,
12815        NodeId: wire_cst_InputType_NodeId,
12816        Url: wire_cst_InputType_Url,
12817        LnUrlPay: wire_cst_InputType_LnUrlPay,
12818        LnUrlWithdraw: wire_cst_InputType_LnUrlWithdraw,
12819        LnUrlAuth: wire_cst_InputType_LnUrlAuth,
12820        LnUrlError: wire_cst_InputType_LnUrlError,
12821        nil__: (),
12822    }
12823    #[repr(C)]
12824    #[derive(Clone, Copy)]
12825    pub struct wire_cst_InputType_BitcoinAddress {
12826        address: *mut wire_cst_bitcoin_address_data,
12827    }
12828    #[repr(C)]
12829    #[derive(Clone, Copy)]
12830    pub struct wire_cst_InputType_Bolt11 {
12831        invoice: *mut wire_cst_ln_invoice,
12832    }
12833    #[repr(C)]
12834    #[derive(Clone, Copy)]
12835    pub struct wire_cst_InputType_NodeId {
12836        node_id: *mut wire_cst_list_prim_u_8_strict,
12837    }
12838    #[repr(C)]
12839    #[derive(Clone, Copy)]
12840    pub struct wire_cst_InputType_Url {
12841        url: *mut wire_cst_list_prim_u_8_strict,
12842    }
12843    #[repr(C)]
12844    #[derive(Clone, Copy)]
12845    pub struct wire_cst_InputType_LnUrlPay {
12846        data: *mut wire_cst_ln_url_pay_request_data,
12847        bip353_address: *mut wire_cst_list_prim_u_8_strict,
12848    }
12849    #[repr(C)]
12850    #[derive(Clone, Copy)]
12851    pub struct wire_cst_InputType_LnUrlWithdraw {
12852        data: *mut wire_cst_ln_url_withdraw_request_data,
12853    }
12854    #[repr(C)]
12855    #[derive(Clone, Copy)]
12856    pub struct wire_cst_InputType_LnUrlAuth {
12857        data: *mut wire_cst_ln_url_auth_request_data,
12858    }
12859    #[repr(C)]
12860    #[derive(Clone, Copy)]
12861    pub struct wire_cst_InputType_LnUrlError {
12862        data: *mut wire_cst_ln_url_error_data,
12863    }
12864    #[repr(C)]
12865    #[derive(Clone, Copy)]
12866    pub struct wire_cst_invoice_paid_details {
12867        payment_hash: *mut wire_cst_list_prim_u_8_strict,
12868        bolt11: *mut wire_cst_list_prim_u_8_strict,
12869        payment: *mut wire_cst_payment,
12870    }
12871    #[repr(C)]
12872    #[derive(Clone, Copy)]
12873    pub struct wire_cst_list_String {
12874        ptr: *mut *mut wire_cst_list_prim_u_8_strict,
12875        len: i32,
12876    }
12877    #[repr(C)]
12878    #[derive(Clone, Copy)]
12879    pub struct wire_cst_list_fiat_currency {
12880        ptr: *mut wire_cst_fiat_currency,
12881        len: i32,
12882    }
12883    #[repr(C)]
12884    #[derive(Clone, Copy)]
12885    pub struct wire_cst_list_locale_overrides {
12886        ptr: *mut wire_cst_locale_overrides,
12887        len: i32,
12888    }
12889    #[repr(C)]
12890    #[derive(Clone, Copy)]
12891    pub struct wire_cst_list_localized_name {
12892        ptr: *mut wire_cst_localized_name,
12893        len: i32,
12894    }
12895    #[repr(C)]
12896    #[derive(Clone, Copy)]
12897    pub struct wire_cst_list_lsp_information {
12898        ptr: *mut wire_cst_lsp_information,
12899        len: i32,
12900    }
12901    #[repr(C)]
12902    #[derive(Clone, Copy)]
12903    pub struct wire_cst_list_metadata_filter {
12904        ptr: *mut wire_cst_metadata_filter,
12905        len: i32,
12906    }
12907    #[repr(C)]
12908    #[derive(Clone, Copy)]
12909    pub struct wire_cst_list_opening_fee_params {
12910        ptr: *mut wire_cst_opening_fee_params,
12911        len: i32,
12912    }
12913    #[repr(C)]
12914    #[derive(Clone, Copy)]
12915    pub struct wire_cst_list_payment {
12916        ptr: *mut wire_cst_payment,
12917        len: i32,
12918    }
12919    #[repr(C)]
12920    #[derive(Clone, Copy)]
12921    pub struct wire_cst_list_payment_type_filter {
12922        ptr: *mut i32,
12923        len: i32,
12924    }
12925    #[repr(C)]
12926    #[derive(Clone, Copy)]
12927    pub struct wire_cst_list_payments_request {
12928        filters: *mut wire_cst_list_payment_type_filter,
12929        metadata_filters: *mut wire_cst_list_metadata_filter,
12930        from_timestamp: *mut i64,
12931        to_timestamp: *mut i64,
12932        include_failures: *mut bool,
12933        offset: *mut u32,
12934        limit: *mut u32,
12935    }
12936    #[repr(C)]
12937    #[derive(Clone, Copy)]
12938    pub struct wire_cst_list_prim_u_8_strict {
12939        ptr: *mut u8,
12940        len: i32,
12941    }
12942    #[repr(C)]
12943    #[derive(Clone, Copy)]
12944    pub struct wire_cst_list_rate {
12945        ptr: *mut wire_cst_rate,
12946        len: i32,
12947    }
12948    #[repr(C)]
12949    #[derive(Clone, Copy)]
12950    pub struct wire_cst_list_reverse_swap_info {
12951        ptr: *mut wire_cst_reverse_swap_info,
12952        len: i32,
12953    }
12954    #[repr(C)]
12955    #[derive(Clone, Copy)]
12956    pub struct wire_cst_list_route_hint {
12957        ptr: *mut wire_cst_route_hint,
12958        len: i32,
12959    }
12960    #[repr(C)]
12961    #[derive(Clone, Copy)]
12962    pub struct wire_cst_list_route_hint_hop {
12963        ptr: *mut wire_cst_route_hint_hop,
12964        len: i32,
12965    }
12966    #[repr(C)]
12967    #[derive(Clone, Copy)]
12968    pub struct wire_cst_list_swap_info {
12969        ptr: *mut wire_cst_swap_info,
12970        len: i32,
12971    }
12972    #[repr(C)]
12973    #[derive(Clone, Copy)]
12974    pub struct wire_cst_list_swap_status {
12975        ptr: *mut i32,
12976        len: i32,
12977    }
12978    #[repr(C)]
12979    #[derive(Clone, Copy)]
12980    pub struct wire_cst_list_swaps_request {
12981        status: *mut wire_cst_list_swap_status,
12982        from_timestamp: *mut i64,
12983        to_timestamp: *mut i64,
12984        offset: *mut u32,
12985        limit: *mut u32,
12986    }
12987    #[repr(C)]
12988    #[derive(Clone, Copy)]
12989    pub struct wire_cst_list_tlv_entry {
12990        ptr: *mut wire_cst_tlv_entry,
12991        len: i32,
12992    }
12993    #[repr(C)]
12994    #[derive(Clone, Copy)]
12995    pub struct wire_cst_list_unspent_transaction_output {
12996        ptr: *mut wire_cst_unspent_transaction_output,
12997        len: i32,
12998    }
12999    #[repr(C)]
13000    #[derive(Clone, Copy)]
13001    pub struct wire_cst_ln_invoice {
13002        bolt11: *mut wire_cst_list_prim_u_8_strict,
13003        network: i32,
13004        payee_pubkey: *mut wire_cst_list_prim_u_8_strict,
13005        payment_hash: *mut wire_cst_list_prim_u_8_strict,
13006        description: *mut wire_cst_list_prim_u_8_strict,
13007        description_hash: *mut wire_cst_list_prim_u_8_strict,
13008        amount_msat: *mut u64,
13009        timestamp: u64,
13010        expiry: u64,
13011        routing_hints: *mut wire_cst_list_route_hint,
13012        payment_secret: *mut wire_cst_list_prim_u_8_strict,
13013        min_final_cltv_expiry_delta: u64,
13014    }
13015    #[repr(C)]
13016    #[derive(Clone, Copy)]
13017    pub struct wire_cst_ln_payment_details {
13018        payment_hash: *mut wire_cst_list_prim_u_8_strict,
13019        label: *mut wire_cst_list_prim_u_8_strict,
13020        destination_pubkey: *mut wire_cst_list_prim_u_8_strict,
13021        payment_preimage: *mut wire_cst_list_prim_u_8_strict,
13022        keysend: bool,
13023        bolt11: *mut wire_cst_list_prim_u_8_strict,
13024        open_channel_bolt11: *mut wire_cst_list_prim_u_8_strict,
13025        lnurl_success_action: *mut wire_cst_success_action_processed,
13026        lnurl_pay_domain: *mut wire_cst_list_prim_u_8_strict,
13027        lnurl_pay_comment: *mut wire_cst_list_prim_u_8_strict,
13028        ln_address: *mut wire_cst_list_prim_u_8_strict,
13029        lnurl_metadata: *mut wire_cst_list_prim_u_8_strict,
13030        lnurl_withdraw_endpoint: *mut wire_cst_list_prim_u_8_strict,
13031        swap_info: *mut wire_cst_swap_info,
13032        reverse_swap_info: *mut wire_cst_reverse_swap_info,
13033        pending_expiration_block: *mut u32,
13034    }
13035    #[repr(C)]
13036    #[derive(Clone, Copy)]
13037    pub struct wire_cst_ln_url_auth_request_data {
13038        k1: *mut wire_cst_list_prim_u_8_strict,
13039        action: *mut wire_cst_list_prim_u_8_strict,
13040        domain: *mut wire_cst_list_prim_u_8_strict,
13041        url: *mut wire_cst_list_prim_u_8_strict,
13042    }
13043    #[repr(C)]
13044    #[derive(Clone, Copy)]
13045    pub struct wire_cst_ln_url_callback_status {
13046        tag: i32,
13047        kind: LnUrlCallbackStatusKind,
13048    }
13049    #[repr(C)]
13050    #[derive(Clone, Copy)]
13051    pub union LnUrlCallbackStatusKind {
13052        ErrorStatus: wire_cst_LnUrlCallbackStatus_ErrorStatus,
13053        nil__: (),
13054    }
13055    #[repr(C)]
13056    #[derive(Clone, Copy)]
13057    pub struct wire_cst_LnUrlCallbackStatus_ErrorStatus {
13058        data: *mut wire_cst_ln_url_error_data,
13059    }
13060    #[repr(C)]
13061    #[derive(Clone, Copy)]
13062    pub struct wire_cst_ln_url_error_data {
13063        reason: *mut wire_cst_list_prim_u_8_strict,
13064    }
13065    #[repr(C)]
13066    #[derive(Clone, Copy)]
13067    pub struct wire_cst_ln_url_pay_error_data {
13068        payment_hash: *mut wire_cst_list_prim_u_8_strict,
13069        reason: *mut wire_cst_list_prim_u_8_strict,
13070    }
13071    #[repr(C)]
13072    #[derive(Clone, Copy)]
13073    pub struct wire_cst_ln_url_pay_request {
13074        data: wire_cst_ln_url_pay_request_data,
13075        amount_msat: u64,
13076        use_trampoline: bool,
13077        comment: *mut wire_cst_list_prim_u_8_strict,
13078        payment_label: *mut wire_cst_list_prim_u_8_strict,
13079        validate_success_action_url: *mut bool,
13080    }
13081    #[repr(C)]
13082    #[derive(Clone, Copy)]
13083    pub struct wire_cst_ln_url_pay_request_data {
13084        callback: *mut wire_cst_list_prim_u_8_strict,
13085        min_sendable: u64,
13086        max_sendable: u64,
13087        metadata_str: *mut wire_cst_list_prim_u_8_strict,
13088        comment_allowed: u16,
13089        domain: *mut wire_cst_list_prim_u_8_strict,
13090        allows_nostr: bool,
13091        nostr_pubkey: *mut wire_cst_list_prim_u_8_strict,
13092        ln_address: *mut wire_cst_list_prim_u_8_strict,
13093    }
13094    #[repr(C)]
13095    #[derive(Clone, Copy)]
13096    pub struct wire_cst_ln_url_pay_result {
13097        tag: i32,
13098        kind: LnUrlPayResultKind,
13099    }
13100    #[repr(C)]
13101    #[derive(Clone, Copy)]
13102    pub union LnUrlPayResultKind {
13103        EndpointSuccess: wire_cst_LnUrlPayResult_EndpointSuccess,
13104        EndpointError: wire_cst_LnUrlPayResult_EndpointError,
13105        PayError: wire_cst_LnUrlPayResult_PayError,
13106        nil__: (),
13107    }
13108    #[repr(C)]
13109    #[derive(Clone, Copy)]
13110    pub struct wire_cst_LnUrlPayResult_EndpointSuccess {
13111        data: *mut wire_cst_ln_url_pay_success_data,
13112    }
13113    #[repr(C)]
13114    #[derive(Clone, Copy)]
13115    pub struct wire_cst_LnUrlPayResult_EndpointError {
13116        data: *mut wire_cst_ln_url_error_data,
13117    }
13118    #[repr(C)]
13119    #[derive(Clone, Copy)]
13120    pub struct wire_cst_LnUrlPayResult_PayError {
13121        data: *mut wire_cst_ln_url_pay_error_data,
13122    }
13123    #[repr(C)]
13124    #[derive(Clone, Copy)]
13125    pub struct wire_cst_ln_url_pay_success_data {
13126        payment: wire_cst_payment,
13127        success_action: *mut wire_cst_success_action_processed,
13128    }
13129    #[repr(C)]
13130    #[derive(Clone, Copy)]
13131    pub struct wire_cst_ln_url_withdraw_request {
13132        data: wire_cst_ln_url_withdraw_request_data,
13133        amount_msat: u64,
13134        description: *mut wire_cst_list_prim_u_8_strict,
13135    }
13136    #[repr(C)]
13137    #[derive(Clone, Copy)]
13138    pub struct wire_cst_ln_url_withdraw_request_data {
13139        callback: *mut wire_cst_list_prim_u_8_strict,
13140        k1: *mut wire_cst_list_prim_u_8_strict,
13141        default_description: *mut wire_cst_list_prim_u_8_strict,
13142        min_withdrawable: u64,
13143        max_withdrawable: u64,
13144    }
13145    #[repr(C)]
13146    #[derive(Clone, Copy)]
13147    pub struct wire_cst_ln_url_withdraw_result {
13148        tag: i32,
13149        kind: LnUrlWithdrawResultKind,
13150    }
13151    #[repr(C)]
13152    #[derive(Clone, Copy)]
13153    pub union LnUrlWithdrawResultKind {
13154        Ok: wire_cst_LnUrlWithdrawResult_Ok,
13155        Timeout: wire_cst_LnUrlWithdrawResult_Timeout,
13156        ErrorStatus: wire_cst_LnUrlWithdrawResult_ErrorStatus,
13157        nil__: (),
13158    }
13159    #[repr(C)]
13160    #[derive(Clone, Copy)]
13161    pub struct wire_cst_LnUrlWithdrawResult_Ok {
13162        data: *mut wire_cst_ln_url_withdraw_success_data,
13163    }
13164    #[repr(C)]
13165    #[derive(Clone, Copy)]
13166    pub struct wire_cst_LnUrlWithdrawResult_Timeout {
13167        data: *mut wire_cst_ln_url_withdraw_success_data,
13168    }
13169    #[repr(C)]
13170    #[derive(Clone, Copy)]
13171    pub struct wire_cst_LnUrlWithdrawResult_ErrorStatus {
13172        data: *mut wire_cst_ln_url_error_data,
13173    }
13174    #[repr(C)]
13175    #[derive(Clone, Copy)]
13176    pub struct wire_cst_ln_url_withdraw_success_data {
13177        invoice: wire_cst_ln_invoice,
13178    }
13179    #[repr(C)]
13180    #[derive(Clone, Copy)]
13181    pub struct wire_cst_locale_overrides {
13182        locale: *mut wire_cst_list_prim_u_8_strict,
13183        spacing: *mut u32,
13184        symbol: wire_cst_symbol,
13185    }
13186    #[repr(C)]
13187    #[derive(Clone, Copy)]
13188    pub struct wire_cst_localized_name {
13189        locale: *mut wire_cst_list_prim_u_8_strict,
13190        name: *mut wire_cst_list_prim_u_8_strict,
13191    }
13192    #[repr(C)]
13193    #[derive(Clone, Copy)]
13194    pub struct wire_cst_log_entry {
13195        line: *mut wire_cst_list_prim_u_8_strict,
13196        level: *mut wire_cst_list_prim_u_8_strict,
13197    }
13198    #[repr(C)]
13199    #[derive(Clone, Copy)]
13200    pub struct wire_cst_lsp_information {
13201        id: *mut wire_cst_list_prim_u_8_strict,
13202        name: *mut wire_cst_list_prim_u_8_strict,
13203        widget_url: *mut wire_cst_list_prim_u_8_strict,
13204        pubkey: *mut wire_cst_list_prim_u_8_strict,
13205        host: *mut wire_cst_list_prim_u_8_strict,
13206        base_fee_msat: i64,
13207        fee_rate: f64,
13208        time_lock_delta: u32,
13209        min_htlc_msat: i64,
13210        lsp_pubkey: *mut wire_cst_list_prim_u_8_strict,
13211        opening_fee_params_list: wire_cst_opening_fee_params_menu,
13212    }
13213    #[repr(C)]
13214    #[derive(Clone, Copy)]
13215    pub struct wire_cst_message_success_action_data {
13216        message: *mut wire_cst_list_prim_u_8_strict,
13217    }
13218    #[repr(C)]
13219    #[derive(Clone, Copy)]
13220    pub struct wire_cst_metadata_filter {
13221        json_path: *mut wire_cst_list_prim_u_8_strict,
13222        json_value: *mut wire_cst_list_prim_u_8_strict,
13223    }
13224    #[repr(C)]
13225    #[derive(Clone, Copy)]
13226    pub struct wire_cst_node_config {
13227        tag: i32,
13228        kind: NodeConfigKind,
13229    }
13230    #[repr(C)]
13231    #[derive(Clone, Copy)]
13232    pub union NodeConfigKind {
13233        Greenlight: wire_cst_NodeConfig_Greenlight,
13234        nil__: (),
13235    }
13236    #[repr(C)]
13237    #[derive(Clone, Copy)]
13238    pub struct wire_cst_NodeConfig_Greenlight {
13239        config: *mut wire_cst_greenlight_node_config,
13240    }
13241    #[repr(C)]
13242    #[derive(Clone, Copy)]
13243    pub struct wire_cst_node_credentials {
13244        tag: i32,
13245        kind: NodeCredentialsKind,
13246    }
13247    #[repr(C)]
13248    #[derive(Clone, Copy)]
13249    pub union NodeCredentialsKind {
13250        Greenlight: wire_cst_NodeCredentials_Greenlight,
13251        nil__: (),
13252    }
13253    #[repr(C)]
13254    #[derive(Clone, Copy)]
13255    pub struct wire_cst_NodeCredentials_Greenlight {
13256        credentials: *mut wire_cst_greenlight_device_credentials,
13257    }
13258    #[repr(C)]
13259    #[derive(Clone, Copy)]
13260    pub struct wire_cst_node_state {
13261        id: *mut wire_cst_list_prim_u_8_strict,
13262        block_height: u32,
13263        channels_balance_msat: u64,
13264        onchain_balance_msat: u64,
13265        pending_onchain_balance_msat: u64,
13266        utxos: *mut wire_cst_list_unspent_transaction_output,
13267        max_payable_msat: u64,
13268        max_receivable_msat: u64,
13269        max_single_payment_amount_msat: u64,
13270        max_chan_reserve_msats: u64,
13271        connected_peers: *mut wire_cst_list_String,
13272        max_receivable_single_payment_amount_msat: u64,
13273        total_inbound_liquidity_msats: u64,
13274    }
13275    #[repr(C)]
13276    #[derive(Clone, Copy)]
13277    pub struct wire_cst_onchain_payment_limits_response {
13278        min_sat: u64,
13279        max_sat: u64,
13280        max_payable_sat: u64,
13281    }
13282    #[repr(C)]
13283    #[derive(Clone, Copy)]
13284    pub struct wire_cst_open_channel_fee_request {
13285        amount_msat: *mut u64,
13286        expiry: *mut u32,
13287    }
13288    #[repr(C)]
13289    #[derive(Clone, Copy)]
13290    pub struct wire_cst_open_channel_fee_response {
13291        fee_msat: *mut u64,
13292        fee_params: wire_cst_opening_fee_params,
13293    }
13294    #[repr(C)]
13295    #[derive(Clone, Copy)]
13296    pub struct wire_cst_opening_fee_params {
13297        min_msat: u64,
13298        proportional: u32,
13299        valid_until: *mut wire_cst_list_prim_u_8_strict,
13300        max_idle_time: u32,
13301        max_client_to_self_delay: u32,
13302        promise: *mut wire_cst_list_prim_u_8_strict,
13303    }
13304    #[repr(C)]
13305    #[derive(Clone, Copy)]
13306    pub struct wire_cst_opening_fee_params_menu {
13307        values: *mut wire_cst_list_opening_fee_params,
13308    }
13309    #[repr(C)]
13310    #[derive(Clone, Copy)]
13311    pub struct wire_cst_pay_onchain_request {
13312        recipient_address: *mut wire_cst_list_prim_u_8_strict,
13313        prepare_res: wire_cst_prepare_onchain_payment_response,
13314    }
13315    #[repr(C)]
13316    #[derive(Clone, Copy)]
13317    pub struct wire_cst_pay_onchain_response {
13318        reverse_swap_info: wire_cst_reverse_swap_info,
13319    }
13320    #[repr(C)]
13321    #[derive(Clone, Copy)]
13322    pub struct wire_cst_payment {
13323        id: *mut wire_cst_list_prim_u_8_strict,
13324        payment_type: i32,
13325        payment_time: i64,
13326        amount_msat: u64,
13327        fee_msat: u64,
13328        status: i32,
13329        error: *mut wire_cst_list_prim_u_8_strict,
13330        description: *mut wire_cst_list_prim_u_8_strict,
13331        details: wire_cst_payment_details,
13332        metadata: *mut wire_cst_list_prim_u_8_strict,
13333    }
13334    #[repr(C)]
13335    #[derive(Clone, Copy)]
13336    pub struct wire_cst_payment_details {
13337        tag: i32,
13338        kind: PaymentDetailsKind,
13339    }
13340    #[repr(C)]
13341    #[derive(Clone, Copy)]
13342    pub union PaymentDetailsKind {
13343        Ln: wire_cst_PaymentDetails_Ln,
13344        ClosedChannel: wire_cst_PaymentDetails_ClosedChannel,
13345        nil__: (),
13346    }
13347    #[repr(C)]
13348    #[derive(Clone, Copy)]
13349    pub struct wire_cst_PaymentDetails_Ln {
13350        data: *mut wire_cst_ln_payment_details,
13351    }
13352    #[repr(C)]
13353    #[derive(Clone, Copy)]
13354    pub struct wire_cst_PaymentDetails_ClosedChannel {
13355        data: *mut wire_cst_closed_channel_payment_details,
13356    }
13357    #[repr(C)]
13358    #[derive(Clone, Copy)]
13359    pub struct wire_cst_payment_failed_data {
13360        error: *mut wire_cst_list_prim_u_8_strict,
13361        node_id: *mut wire_cst_list_prim_u_8_strict,
13362        invoice: *mut wire_cst_ln_invoice,
13363        label: *mut wire_cst_list_prim_u_8_strict,
13364    }
13365    #[repr(C)]
13366    #[derive(Clone, Copy)]
13367    pub struct wire_cst_prepare_onchain_payment_request {
13368        amount_sat: u64,
13369        amount_type: i32,
13370        claim_tx_feerate: u32,
13371    }
13372    #[repr(C)]
13373    #[derive(Clone, Copy)]
13374    pub struct wire_cst_prepare_onchain_payment_response {
13375        fees_hash: *mut wire_cst_list_prim_u_8_strict,
13376        fees_percentage: f64,
13377        fees_lockup: u64,
13378        fees_claim: u64,
13379        sender_amount_sat: u64,
13380        recipient_amount_sat: u64,
13381        total_fees: u64,
13382    }
13383    #[repr(C)]
13384    #[derive(Clone, Copy)]
13385    pub struct wire_cst_prepare_redeem_onchain_funds_request {
13386        to_address: *mut wire_cst_list_prim_u_8_strict,
13387        sat_per_vbyte: u32,
13388    }
13389    #[repr(C)]
13390    #[derive(Clone, Copy)]
13391    pub struct wire_cst_prepare_redeem_onchain_funds_response {
13392        tx_weight: u64,
13393        tx_fee_sat: u64,
13394    }
13395    #[repr(C)]
13396    #[derive(Clone, Copy)]
13397    pub struct wire_cst_prepare_refund_request {
13398        swap_address: *mut wire_cst_list_prim_u_8_strict,
13399        to_address: *mut wire_cst_list_prim_u_8_strict,
13400        sat_per_vbyte: u32,
13401        unilateral: *mut bool,
13402    }
13403    #[repr(C)]
13404    #[derive(Clone, Copy)]
13405    pub struct wire_cst_prepare_refund_response {
13406        refund_tx_weight: u32,
13407        refund_tx_fee_sat: u64,
13408    }
13409    #[repr(C)]
13410    #[derive(Clone, Copy)]
13411    pub struct wire_cst_rate {
13412        coin: *mut wire_cst_list_prim_u_8_strict,
13413        value: f64,
13414    }
13415    #[repr(C)]
13416    #[derive(Clone, Copy)]
13417    pub struct wire_cst_receive_onchain_request {
13418        opening_fee_params: *mut wire_cst_opening_fee_params,
13419    }
13420    #[repr(C)]
13421    #[derive(Clone, Copy)]
13422    pub struct wire_cst_receive_payment_request {
13423        amount_msat: u64,
13424        description: *mut wire_cst_list_prim_u_8_strict,
13425        preimage: *mut wire_cst_list_prim_u_8_strict,
13426        opening_fee_params: *mut wire_cst_opening_fee_params,
13427        use_description_hash: *mut bool,
13428        expiry: *mut u32,
13429        cltv: *mut u32,
13430    }
13431    #[repr(C)]
13432    #[derive(Clone, Copy)]
13433    pub struct wire_cst_receive_payment_response {
13434        ln_invoice: wire_cst_ln_invoice,
13435        opening_fee_params: *mut wire_cst_opening_fee_params,
13436        opening_fee_msat: *mut u64,
13437    }
13438    #[repr(C)]
13439    #[derive(Clone, Copy)]
13440    pub struct wire_cst_recommended_fees {
13441        fastest_fee: u64,
13442        half_hour_fee: u64,
13443        hour_fee: u64,
13444        economy_fee: u64,
13445        minimum_fee: u64,
13446    }
13447    #[repr(C)]
13448    #[derive(Clone, Copy)]
13449    pub struct wire_cst_redeem_onchain_funds_request {
13450        to_address: *mut wire_cst_list_prim_u_8_strict,
13451        sat_per_vbyte: u32,
13452    }
13453    #[repr(C)]
13454    #[derive(Clone, Copy)]
13455    pub struct wire_cst_redeem_onchain_funds_response {
13456        txid: *mut wire_cst_list_prim_u_8_strict,
13457    }
13458    #[repr(C)]
13459    #[derive(Clone, Copy)]
13460    pub struct wire_cst_refund_request {
13461        swap_address: *mut wire_cst_list_prim_u_8_strict,
13462        to_address: *mut wire_cst_list_prim_u_8_strict,
13463        sat_per_vbyte: u32,
13464        unilateral: *mut bool,
13465    }
13466    #[repr(C)]
13467    #[derive(Clone, Copy)]
13468    pub struct wire_cst_refund_response {
13469        refund_tx_id: *mut wire_cst_list_prim_u_8_strict,
13470    }
13471    #[repr(C)]
13472    #[derive(Clone, Copy)]
13473    pub struct wire_cst_report_issue_request {
13474        tag: i32,
13475        kind: ReportIssueRequestKind,
13476    }
13477    #[repr(C)]
13478    #[derive(Clone, Copy)]
13479    pub union ReportIssueRequestKind {
13480        PaymentFailure: wire_cst_ReportIssueRequest_PaymentFailure,
13481        nil__: (),
13482    }
13483    #[repr(C)]
13484    #[derive(Clone, Copy)]
13485    pub struct wire_cst_ReportIssueRequest_PaymentFailure {
13486        data: *mut wire_cst_report_payment_failure_details,
13487    }
13488    #[repr(C)]
13489    #[derive(Clone, Copy)]
13490    pub struct wire_cst_report_payment_failure_details {
13491        payment_hash: *mut wire_cst_list_prim_u_8_strict,
13492        comment: *mut wire_cst_list_prim_u_8_strict,
13493    }
13494    #[repr(C)]
13495    #[derive(Clone, Copy)]
13496    pub struct wire_cst_reverse_swap_fees_request {
13497        send_amount_sat: *mut u64,
13498        claim_tx_feerate: *mut u32,
13499    }
13500    #[repr(C)]
13501    #[derive(Clone, Copy)]
13502    pub struct wire_cst_reverse_swap_info {
13503        id: *mut wire_cst_list_prim_u_8_strict,
13504        claim_pubkey: *mut wire_cst_list_prim_u_8_strict,
13505        lockup_txid: *mut wire_cst_list_prim_u_8_strict,
13506        claim_txid: *mut wire_cst_list_prim_u_8_strict,
13507        onchain_amount_sat: u64,
13508        status: i32,
13509    }
13510    #[repr(C)]
13511    #[derive(Clone, Copy)]
13512    pub struct wire_cst_reverse_swap_pair_info {
13513        min: u64,
13514        max: u64,
13515        fees_hash: *mut wire_cst_list_prim_u_8_strict,
13516        fees_percentage: f64,
13517        fees_lockup: u64,
13518        fees_claim: u64,
13519        total_fees: *mut u64,
13520    }
13521    #[repr(C)]
13522    #[derive(Clone, Copy)]
13523    pub struct wire_cst_route_hint {
13524        hops: *mut wire_cst_list_route_hint_hop,
13525    }
13526    #[repr(C)]
13527    #[derive(Clone, Copy)]
13528    pub struct wire_cst_route_hint_hop {
13529        src_node_id: *mut wire_cst_list_prim_u_8_strict,
13530        short_channel_id: *mut wire_cst_list_prim_u_8_strict,
13531        fees_base_msat: u32,
13532        fees_proportional_millionths: u32,
13533        cltv_expiry_delta: u64,
13534        htlc_minimum_msat: *mut u64,
13535        htlc_maximum_msat: *mut u64,
13536    }
13537    #[repr(C)]
13538    #[derive(Clone, Copy)]
13539    pub struct wire_cst_send_payment_request {
13540        bolt11: *mut wire_cst_list_prim_u_8_strict,
13541        use_trampoline: bool,
13542        amount_msat: *mut u64,
13543        label: *mut wire_cst_list_prim_u_8_strict,
13544    }
13545    #[repr(C)]
13546    #[derive(Clone, Copy)]
13547    pub struct wire_cst_send_payment_response {
13548        payment: wire_cst_payment,
13549    }
13550    #[repr(C)]
13551    #[derive(Clone, Copy)]
13552    pub struct wire_cst_send_spontaneous_payment_request {
13553        node_id: *mut wire_cst_list_prim_u_8_strict,
13554        amount_msat: u64,
13555        extra_tlvs: *mut wire_cst_list_tlv_entry,
13556        label: *mut wire_cst_list_prim_u_8_strict,
13557    }
13558    #[repr(C)]
13559    #[derive(Clone, Copy)]
13560    pub struct wire_cst_service_health_check_response {
13561        status: i32,
13562    }
13563    #[repr(C)]
13564    #[derive(Clone, Copy)]
13565    pub struct wire_cst_sign_message_request {
13566        message: *mut wire_cst_list_prim_u_8_strict,
13567    }
13568    #[repr(C)]
13569    #[derive(Clone, Copy)]
13570    pub struct wire_cst_sign_message_response {
13571        signature: *mut wire_cst_list_prim_u_8_strict,
13572    }
13573    #[repr(C)]
13574    #[derive(Clone, Copy)]
13575    pub struct wire_cst_static_backup_request {
13576        working_dir: *mut wire_cst_list_prim_u_8_strict,
13577    }
13578    #[repr(C)]
13579    #[derive(Clone, Copy)]
13580    pub struct wire_cst_static_backup_response {
13581        backup: *mut wire_cst_list_String,
13582    }
13583    #[repr(C)]
13584    #[derive(Clone, Copy)]
13585    pub struct wire_cst_success_action_processed {
13586        tag: i32,
13587        kind: SuccessActionProcessedKind,
13588    }
13589    #[repr(C)]
13590    #[derive(Clone, Copy)]
13591    pub union SuccessActionProcessedKind {
13592        Aes: wire_cst_SuccessActionProcessed_Aes,
13593        Message: wire_cst_SuccessActionProcessed_Message,
13594        Url: wire_cst_SuccessActionProcessed_Url,
13595        nil__: (),
13596    }
13597    #[repr(C)]
13598    #[derive(Clone, Copy)]
13599    pub struct wire_cst_SuccessActionProcessed_Aes {
13600        result: *mut wire_cst_aes_success_action_data_result,
13601    }
13602    #[repr(C)]
13603    #[derive(Clone, Copy)]
13604    pub struct wire_cst_SuccessActionProcessed_Message {
13605        data: *mut wire_cst_message_success_action_data,
13606    }
13607    #[repr(C)]
13608    #[derive(Clone, Copy)]
13609    pub struct wire_cst_SuccessActionProcessed_Url {
13610        data: *mut wire_cst_url_success_action_data,
13611    }
13612    #[repr(C)]
13613    #[derive(Clone, Copy)]
13614    pub struct wire_cst_swap_info {
13615        bitcoin_address: *mut wire_cst_list_prim_u_8_strict,
13616        created_at: i64,
13617        lock_height: i64,
13618        payment_hash: *mut wire_cst_list_prim_u_8_strict,
13619        preimage: *mut wire_cst_list_prim_u_8_strict,
13620        private_key: *mut wire_cst_list_prim_u_8_strict,
13621        public_key: *mut wire_cst_list_prim_u_8_strict,
13622        swapper_public_key: *mut wire_cst_list_prim_u_8_strict,
13623        script: *mut wire_cst_list_prim_u_8_strict,
13624        bolt11: *mut wire_cst_list_prim_u_8_strict,
13625        paid_msat: u64,
13626        total_incoming_txs: u64,
13627        confirmed_sats: u64,
13628        unconfirmed_sats: u64,
13629        status: i32,
13630        refund_tx_ids: *mut wire_cst_list_String,
13631        unconfirmed_tx_ids: *mut wire_cst_list_String,
13632        confirmed_tx_ids: *mut wire_cst_list_String,
13633        min_allowed_deposit: i64,
13634        max_allowed_deposit: i64,
13635        max_swapper_payable: i64,
13636        last_redeem_error: *mut wire_cst_list_prim_u_8_strict,
13637        channel_opening_fees: *mut wire_cst_opening_fee_params,
13638        confirmed_at: *mut u32,
13639    }
13640    #[repr(C)]
13641    #[derive(Clone, Copy)]
13642    pub struct wire_cst_symbol {
13643        grapheme: *mut wire_cst_list_prim_u_8_strict,
13644        template: *mut wire_cst_list_prim_u_8_strict,
13645        rtl: *mut bool,
13646        position: *mut u32,
13647    }
13648    #[repr(C)]
13649    #[derive(Clone, Copy)]
13650    pub struct wire_cst_tlv_entry {
13651        field_number: u64,
13652        value: *mut wire_cst_list_prim_u_8_strict,
13653    }
13654    #[repr(C)]
13655    #[derive(Clone, Copy)]
13656    pub struct wire_cst_unspent_transaction_output {
13657        txid: *mut wire_cst_list_prim_u_8_strict,
13658        outnum: u32,
13659        amount_millisatoshi: u64,
13660        address: *mut wire_cst_list_prim_u_8_strict,
13661        reserved: bool,
13662    }
13663    #[repr(C)]
13664    #[derive(Clone, Copy)]
13665    pub struct wire_cst_url_success_action_data {
13666        description: *mut wire_cst_list_prim_u_8_strict,
13667        url: *mut wire_cst_list_prim_u_8_strict,
13668        matches_callback_domain: bool,
13669    }
13670}
13671#[cfg(not(target_family = "wasm"))]
13672pub use io::*;