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            _ => unreachable!("Invalid variant for EnvironmentType: {}", self),
1662        }
1663    }
1664}
1665impl CstDecode<f64> for f64 {
1666    // Codec=Cst (C-struct based), see doc to use other codecs
1667    fn cst_decode(self) -> f64 {
1668        self
1669    }
1670}
1671impl CstDecode<crate::models::HealthCheckStatus> for i32 {
1672    // Codec=Cst (C-struct based), see doc to use other codecs
1673    fn cst_decode(self) -> crate::models::HealthCheckStatus {
1674        match self {
1675            0 => crate::models::HealthCheckStatus::Operational,
1676            1 => crate::models::HealthCheckStatus::Maintenance,
1677            2 => crate::models::HealthCheckStatus::ServiceDisruption,
1678            _ => unreachable!("Invalid variant for HealthCheckStatus: {}", self),
1679        }
1680    }
1681}
1682impl CstDecode<i32> for i32 {
1683    // Codec=Cst (C-struct based), see doc to use other codecs
1684    fn cst_decode(self) -> i32 {
1685        self
1686    }
1687}
1688impl CstDecode<i64> for i64 {
1689    // Codec=Cst (C-struct based), see doc to use other codecs
1690    fn cst_decode(self) -> i64 {
1691        self
1692    }
1693}
1694impl CstDecode<crate::binding::Network> for i32 {
1695    // Codec=Cst (C-struct based), see doc to use other codecs
1696    fn cst_decode(self) -> crate::binding::Network {
1697        match self {
1698            0 => crate::binding::Network::Bitcoin,
1699            1 => crate::binding::Network::Testnet,
1700            2 => crate::binding::Network::Signet,
1701            3 => crate::binding::Network::Regtest,
1702            _ => unreachable!("Invalid variant for Network: {}", self),
1703        }
1704    }
1705}
1706impl CstDecode<crate::models::PaymentStatus> for i32 {
1707    // Codec=Cst (C-struct based), see doc to use other codecs
1708    fn cst_decode(self) -> crate::models::PaymentStatus {
1709        match self {
1710            0 => crate::models::PaymentStatus::Pending,
1711            1 => crate::models::PaymentStatus::Complete,
1712            2 => crate::models::PaymentStatus::Failed,
1713            _ => unreachable!("Invalid variant for PaymentStatus: {}", self),
1714        }
1715    }
1716}
1717impl CstDecode<crate::models::PaymentType> for i32 {
1718    // Codec=Cst (C-struct based), see doc to use other codecs
1719    fn cst_decode(self) -> crate::models::PaymentType {
1720        match self {
1721            0 => crate::models::PaymentType::Sent,
1722            1 => crate::models::PaymentType::Received,
1723            2 => crate::models::PaymentType::ClosedChannel,
1724            _ => unreachable!("Invalid variant for PaymentType: {}", self),
1725        }
1726    }
1727}
1728impl CstDecode<crate::models::PaymentTypeFilter> for i32 {
1729    // Codec=Cst (C-struct based), see doc to use other codecs
1730    fn cst_decode(self) -> crate::models::PaymentTypeFilter {
1731        match self {
1732            0 => crate::models::PaymentTypeFilter::Sent,
1733            1 => crate::models::PaymentTypeFilter::Received,
1734            2 => crate::models::PaymentTypeFilter::ClosedChannel,
1735            _ => unreachable!("Invalid variant for PaymentTypeFilter: {}", self),
1736        }
1737    }
1738}
1739impl CstDecode<crate::models::ReverseSwapStatus> for i32 {
1740    // Codec=Cst (C-struct based), see doc to use other codecs
1741    fn cst_decode(self) -> crate::models::ReverseSwapStatus {
1742        match self {
1743            0 => crate::models::ReverseSwapStatus::Initial,
1744            1 => crate::models::ReverseSwapStatus::InProgress,
1745            2 => crate::models::ReverseSwapStatus::Cancelled,
1746            3 => crate::models::ReverseSwapStatus::CompletedSeen,
1747            4 => crate::models::ReverseSwapStatus::CompletedConfirmed,
1748            _ => unreachable!("Invalid variant for ReverseSwapStatus: {}", self),
1749        }
1750    }
1751}
1752impl CstDecode<crate::models::SwapAmountType> for i32 {
1753    // Codec=Cst (C-struct based), see doc to use other codecs
1754    fn cst_decode(self) -> crate::models::SwapAmountType {
1755        match self {
1756            0 => crate::models::SwapAmountType::Send,
1757            1 => crate::models::SwapAmountType::Receive,
1758            _ => unreachable!("Invalid variant for SwapAmountType: {}", self),
1759        }
1760    }
1761}
1762impl CstDecode<crate::models::SwapStatus> for i32 {
1763    // Codec=Cst (C-struct based), see doc to use other codecs
1764    fn cst_decode(self) -> crate::models::SwapStatus {
1765        match self {
1766            0 => crate::models::SwapStatus::Initial,
1767            1 => crate::models::SwapStatus::WaitingConfirmation,
1768            2 => crate::models::SwapStatus::Redeemable,
1769            3 => crate::models::SwapStatus::Redeemed,
1770            4 => crate::models::SwapStatus::Refundable,
1771            5 => crate::models::SwapStatus::Completed,
1772            _ => unreachable!("Invalid variant for SwapStatus: {}", self),
1773        }
1774    }
1775}
1776impl CstDecode<u16> for u16 {
1777    // Codec=Cst (C-struct based), see doc to use other codecs
1778    fn cst_decode(self) -> u16 {
1779        self
1780    }
1781}
1782impl CstDecode<u32> for u32 {
1783    // Codec=Cst (C-struct based), see doc to use other codecs
1784    fn cst_decode(self) -> u32 {
1785        self
1786    }
1787}
1788impl CstDecode<u64> for u64 {
1789    // Codec=Cst (C-struct based), see doc to use other codecs
1790    fn cst_decode(self) -> u64 {
1791        self
1792    }
1793}
1794impl CstDecode<u8> for u8 {
1795    // Codec=Cst (C-struct based), see doc to use other codecs
1796    fn cst_decode(self) -> u8 {
1797        self
1798    }
1799}
1800impl SseDecode for flutter_rust_bridge::for_generated::anyhow::Error {
1801    // Codec=Sse (Serialization based), see doc to use other codecs
1802    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1803        let mut inner = <String>::sse_decode(deserializer);
1804        return flutter_rust_bridge::for_generated::anyhow::anyhow!("{}", inner);
1805    }
1806}
1807
1808impl SseDecode
1809    for StreamSink<crate::breez_services::BreezEvent, flutter_rust_bridge::for_generated::DcoCodec>
1810{
1811    // Codec=Sse (Serialization based), see doc to use other codecs
1812    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1813        let mut inner = <String>::sse_decode(deserializer);
1814        return StreamSink::deserialize(inner);
1815    }
1816}
1817
1818impl SseDecode
1819    for StreamSink<crate::models::LogEntry, flutter_rust_bridge::for_generated::DcoCodec>
1820{
1821    // Codec=Sse (Serialization based), see doc to use other codecs
1822    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1823        let mut inner = <String>::sse_decode(deserializer);
1824        return StreamSink::deserialize(inner);
1825    }
1826}
1827
1828impl SseDecode for String {
1829    // Codec=Sse (Serialization based), see doc to use other codecs
1830    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1831        let mut inner = <Vec<u8>>::sse_decode(deserializer);
1832        return String::from_utf8(inner).unwrap();
1833    }
1834}
1835
1836impl SseDecode for crate::binding::AesSuccessActionDataDecrypted {
1837    // Codec=Sse (Serialization based), see doc to use other codecs
1838    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1839        let mut var_description = <String>::sse_decode(deserializer);
1840        let mut var_plaintext = <String>::sse_decode(deserializer);
1841        return crate::binding::AesSuccessActionDataDecrypted {
1842            description: var_description,
1843            plaintext: var_plaintext,
1844        };
1845    }
1846}
1847
1848impl SseDecode for crate::binding::AesSuccessActionDataResult {
1849    // Codec=Sse (Serialization based), see doc to use other codecs
1850    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1851        let mut tag_ = <i32>::sse_decode(deserializer);
1852        match tag_ {
1853            0 => {
1854                let mut var_data =
1855                    <crate::binding::AesSuccessActionDataDecrypted>::sse_decode(deserializer);
1856                return crate::binding::AesSuccessActionDataResult::Decrypted { data: var_data };
1857            }
1858            1 => {
1859                let mut var_reason = <String>::sse_decode(deserializer);
1860                return crate::binding::AesSuccessActionDataResult::ErrorStatus {
1861                    reason: var_reason,
1862                };
1863            }
1864            _ => {
1865                unimplemented!("");
1866            }
1867        }
1868    }
1869}
1870
1871impl SseDecode for crate::breez_services::BackupFailedData {
1872    // Codec=Sse (Serialization based), see doc to use other codecs
1873    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1874        let mut var_error = <String>::sse_decode(deserializer);
1875        return crate::breez_services::BackupFailedData { error: var_error };
1876    }
1877}
1878
1879impl SseDecode for crate::models::BackupStatus {
1880    // Codec=Sse (Serialization based), see doc to use other codecs
1881    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1882        let mut var_backedUp = <bool>::sse_decode(deserializer);
1883        let mut var_lastBackupTime = <Option<u64>>::sse_decode(deserializer);
1884        return crate::models::BackupStatus {
1885            backed_up: var_backedUp,
1886            last_backup_time: var_lastBackupTime,
1887        };
1888    }
1889}
1890
1891impl SseDecode for crate::binding::BindingEventListener {
1892    // Codec=Sse (Serialization based), see doc to use other codecs
1893    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1894        return crate::binding::BindingEventListener {};
1895    }
1896}
1897
1898impl SseDecode for crate::binding::BitcoinAddressData {
1899    // Codec=Sse (Serialization based), see doc to use other codecs
1900    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1901        let mut var_address = <String>::sse_decode(deserializer);
1902        let mut var_network = <crate::binding::Network>::sse_decode(deserializer);
1903        let mut var_amountSat = <Option<u64>>::sse_decode(deserializer);
1904        let mut var_label = <Option<String>>::sse_decode(deserializer);
1905        let mut var_message = <Option<String>>::sse_decode(deserializer);
1906        return crate::binding::BitcoinAddressData {
1907            address: var_address,
1908            network: var_network,
1909            amount_sat: var_amountSat,
1910            label: var_label,
1911            message: var_message,
1912        };
1913    }
1914}
1915
1916impl SseDecode for bool {
1917    // Codec=Sse (Serialization based), see doc to use other codecs
1918    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1919        deserializer.cursor.read_u8().unwrap() != 0
1920    }
1921}
1922
1923impl SseDecode for crate::breez_services::BreezEvent {
1924    // Codec=Sse (Serialization based), see doc to use other codecs
1925    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1926        let mut tag_ = <i32>::sse_decode(deserializer);
1927        match tag_ {
1928            0 => {
1929                let mut var_block = <u32>::sse_decode(deserializer);
1930                return crate::breez_services::BreezEvent::NewBlock { block: var_block };
1931            }
1932            1 => {
1933                let mut var_details =
1934                    <crate::breez_services::InvoicePaidDetails>::sse_decode(deserializer);
1935                return crate::breez_services::BreezEvent::InvoicePaid {
1936                    details: var_details,
1937                };
1938            }
1939            2 => {
1940                return crate::breez_services::BreezEvent::Synced;
1941            }
1942            3 => {
1943                let mut var_details = <crate::models::Payment>::sse_decode(deserializer);
1944                return crate::breez_services::BreezEvent::PaymentSucceed {
1945                    details: var_details,
1946                };
1947            }
1948            4 => {
1949                let mut var_details =
1950                    <crate::breez_services::PaymentFailedData>::sse_decode(deserializer);
1951                return crate::breez_services::BreezEvent::PaymentFailed {
1952                    details: var_details,
1953                };
1954            }
1955            5 => {
1956                return crate::breez_services::BreezEvent::BackupStarted;
1957            }
1958            6 => {
1959                return crate::breez_services::BreezEvent::BackupSucceeded;
1960            }
1961            7 => {
1962                let mut var_details =
1963                    <crate::breez_services::BackupFailedData>::sse_decode(deserializer);
1964                return crate::breez_services::BreezEvent::BackupFailed {
1965                    details: var_details,
1966                };
1967            }
1968            8 => {
1969                let mut var_details = <crate::models::ReverseSwapInfo>::sse_decode(deserializer);
1970                return crate::breez_services::BreezEvent::ReverseSwapUpdated {
1971                    details: var_details,
1972                };
1973            }
1974            9 => {
1975                let mut var_details = <crate::models::SwapInfo>::sse_decode(deserializer);
1976                return crate::breez_services::BreezEvent::SwapUpdated {
1977                    details: var_details,
1978                };
1979            }
1980            _ => {
1981                unimplemented!("");
1982            }
1983        }
1984    }
1985}
1986
1987impl SseDecode for crate::models::BuyBitcoinProvider {
1988    // Codec=Sse (Serialization based), see doc to use other codecs
1989    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1990        let mut inner = <i32>::sse_decode(deserializer);
1991        return match inner {
1992            0 => crate::models::BuyBitcoinProvider::Moonpay,
1993            _ => unreachable!("Invalid variant for BuyBitcoinProvider: {}", inner),
1994        };
1995    }
1996}
1997
1998impl SseDecode for crate::models::BuyBitcoinRequest {
1999    // Codec=Sse (Serialization based), see doc to use other codecs
2000    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2001        let mut var_provider = <crate::models::BuyBitcoinProvider>::sse_decode(deserializer);
2002        let mut var_openingFeeParams =
2003            <Option<crate::models::OpeningFeeParams>>::sse_decode(deserializer);
2004        let mut var_redirectUrl = <Option<String>>::sse_decode(deserializer);
2005        return crate::models::BuyBitcoinRequest {
2006            provider: var_provider,
2007            opening_fee_params: var_openingFeeParams,
2008            redirect_url: var_redirectUrl,
2009        };
2010    }
2011}
2012
2013impl SseDecode for crate::models::BuyBitcoinResponse {
2014    // Codec=Sse (Serialization based), see doc to use other codecs
2015    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2016        let mut var_url = <String>::sse_decode(deserializer);
2017        let mut var_openingFeeParams =
2018            <Option<crate::models::OpeningFeeParams>>::sse_decode(deserializer);
2019        return crate::models::BuyBitcoinResponse {
2020            url: var_url,
2021            opening_fee_params: var_openingFeeParams,
2022        };
2023    }
2024}
2025
2026impl SseDecode for crate::models::ChannelState {
2027    // Codec=Sse (Serialization based), see doc to use other codecs
2028    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2029        let mut inner = <i32>::sse_decode(deserializer);
2030        return match inner {
2031            0 => crate::models::ChannelState::PendingOpen,
2032            1 => crate::models::ChannelState::Opened,
2033            2 => crate::models::ChannelState::PendingClose,
2034            3 => crate::models::ChannelState::Closed,
2035            _ => unreachable!("Invalid variant for ChannelState: {}", inner),
2036        };
2037    }
2038}
2039
2040impl SseDecode for crate::breez_services::CheckMessageRequest {
2041    // Codec=Sse (Serialization based), see doc to use other codecs
2042    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2043        let mut var_message = <String>::sse_decode(deserializer);
2044        let mut var_pubkey = <String>::sse_decode(deserializer);
2045        let mut var_signature = <String>::sse_decode(deserializer);
2046        return crate::breez_services::CheckMessageRequest {
2047            message: var_message,
2048            pubkey: var_pubkey,
2049            signature: var_signature,
2050        };
2051    }
2052}
2053
2054impl SseDecode for crate::breez_services::CheckMessageResponse {
2055    // Codec=Sse (Serialization based), see doc to use other codecs
2056    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2057        let mut var_isValid = <bool>::sse_decode(deserializer);
2058        return crate::breez_services::CheckMessageResponse {
2059            is_valid: var_isValid,
2060        };
2061    }
2062}
2063
2064impl SseDecode for crate::models::ClosedChannelPaymentDetails {
2065    // Codec=Sse (Serialization based), see doc to use other codecs
2066    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2067        let mut var_state = <crate::models::ChannelState>::sse_decode(deserializer);
2068        let mut var_fundingTxid = <String>::sse_decode(deserializer);
2069        let mut var_shortChannelId = <Option<String>>::sse_decode(deserializer);
2070        let mut var_closingTxid = <Option<String>>::sse_decode(deserializer);
2071        return crate::models::ClosedChannelPaymentDetails {
2072            state: var_state,
2073            funding_txid: var_fundingTxid,
2074            short_channel_id: var_shortChannelId,
2075            closing_txid: var_closingTxid,
2076        };
2077    }
2078}
2079
2080impl SseDecode for crate::models::Config {
2081    // Codec=Sse (Serialization based), see doc to use other codecs
2082    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2083        let mut var_breezserver = <String>::sse_decode(deserializer);
2084        let mut var_chainnotifierUrl = <String>::sse_decode(deserializer);
2085        let mut var_mempoolspaceUrl = <Option<String>>::sse_decode(deserializer);
2086        let mut var_workingDir = <String>::sse_decode(deserializer);
2087        let mut var_network = <crate::binding::Network>::sse_decode(deserializer);
2088        let mut var_paymentTimeoutSec = <u32>::sse_decode(deserializer);
2089        let mut var_defaultLspId = <Option<String>>::sse_decode(deserializer);
2090        let mut var_apiKey = <Option<String>>::sse_decode(deserializer);
2091        let mut var_maxfeePercent = <f64>::sse_decode(deserializer);
2092        let mut var_exemptfeeMsat = <u64>::sse_decode(deserializer);
2093        let mut var_nodeConfig = <crate::models::NodeConfig>::sse_decode(deserializer);
2094        return crate::models::Config {
2095            breezserver: var_breezserver,
2096            chainnotifier_url: var_chainnotifierUrl,
2097            mempoolspace_url: var_mempoolspaceUrl,
2098            working_dir: var_workingDir,
2099            network: var_network,
2100            payment_timeout_sec: var_paymentTimeoutSec,
2101            default_lsp_id: var_defaultLspId,
2102            api_key: var_apiKey,
2103            maxfee_percent: var_maxfeePercent,
2104            exemptfee_msat: var_exemptfeeMsat,
2105            node_config: var_nodeConfig,
2106        };
2107    }
2108}
2109
2110impl SseDecode for crate::models::ConfigureNodeRequest {
2111    // Codec=Sse (Serialization based), see doc to use other codecs
2112    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2113        let mut var_closeToAddress = <Option<String>>::sse_decode(deserializer);
2114        return crate::models::ConfigureNodeRequest {
2115            close_to_address: var_closeToAddress,
2116        };
2117    }
2118}
2119
2120impl SseDecode for crate::models::ConnectRequest {
2121    // Codec=Sse (Serialization based), see doc to use other codecs
2122    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2123        let mut var_config = <crate::models::Config>::sse_decode(deserializer);
2124        let mut var_seed = <Vec<u8>>::sse_decode(deserializer);
2125        let mut var_restoreOnly = <Option<bool>>::sse_decode(deserializer);
2126        return crate::models::ConnectRequest {
2127            config: var_config,
2128            seed: var_seed,
2129            restore_only: var_restoreOnly,
2130        };
2131    }
2132}
2133
2134impl SseDecode for crate::binding::CurrencyInfo {
2135    // Codec=Sse (Serialization based), see doc to use other codecs
2136    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2137        let mut var_name = <String>::sse_decode(deserializer);
2138        let mut var_fractionSize = <u32>::sse_decode(deserializer);
2139        let mut var_spacing = <Option<u32>>::sse_decode(deserializer);
2140        let mut var_symbol = <Option<crate::binding::Symbol>>::sse_decode(deserializer);
2141        let mut var_uniqSymbol = <Option<crate::binding::Symbol>>::sse_decode(deserializer);
2142        let mut var_localizedName = <Vec<crate::binding::LocalizedName>>::sse_decode(deserializer);
2143        let mut var_localeOverrides =
2144            <Vec<crate::binding::LocaleOverrides>>::sse_decode(deserializer);
2145        return crate::binding::CurrencyInfo {
2146            name: var_name,
2147            fraction_size: var_fractionSize,
2148            spacing: var_spacing,
2149            symbol: var_symbol,
2150            uniq_symbol: var_uniqSymbol,
2151            localized_name: var_localizedName,
2152            locale_overrides: var_localeOverrides,
2153        };
2154    }
2155}
2156
2157impl SseDecode for crate::models::EnvironmentType {
2158    // Codec=Sse (Serialization based), see doc to use other codecs
2159    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2160        let mut inner = <i32>::sse_decode(deserializer);
2161        return match inner {
2162            0 => crate::models::EnvironmentType::Production,
2163            1 => crate::models::EnvironmentType::Staging,
2164            _ => unreachable!("Invalid variant for EnvironmentType: {}", inner),
2165        };
2166    }
2167}
2168
2169impl SseDecode for f64 {
2170    // Codec=Sse (Serialization based), see doc to use other codecs
2171    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2172        deserializer.cursor.read_f64::<NativeEndian>().unwrap()
2173    }
2174}
2175
2176impl SseDecode for crate::binding::FiatCurrency {
2177    // Codec=Sse (Serialization based), see doc to use other codecs
2178    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2179        let mut var_id = <String>::sse_decode(deserializer);
2180        let mut var_info = <crate::binding::CurrencyInfo>::sse_decode(deserializer);
2181        return crate::binding::FiatCurrency {
2182            id: var_id,
2183            info: var_info,
2184        };
2185    }
2186}
2187
2188impl SseDecode for crate::models::GreenlightCredentials {
2189    // Codec=Sse (Serialization based), see doc to use other codecs
2190    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2191        let mut var_developerKey = <Vec<u8>>::sse_decode(deserializer);
2192        let mut var_developerCert = <Vec<u8>>::sse_decode(deserializer);
2193        return crate::models::GreenlightCredentials {
2194            developer_key: var_developerKey,
2195            developer_cert: var_developerCert,
2196        };
2197    }
2198}
2199
2200impl SseDecode for crate::models::GreenlightDeviceCredentials {
2201    // Codec=Sse (Serialization based), see doc to use other codecs
2202    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2203        let mut var_device = <Vec<u8>>::sse_decode(deserializer);
2204        return crate::models::GreenlightDeviceCredentials { device: var_device };
2205    }
2206}
2207
2208impl SseDecode for crate::models::GreenlightNodeConfig {
2209    // Codec=Sse (Serialization based), see doc to use other codecs
2210    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2211        let mut var_partnerCredentials =
2212            <Option<crate::models::GreenlightCredentials>>::sse_decode(deserializer);
2213        let mut var_inviteCode = <Option<String>>::sse_decode(deserializer);
2214        return crate::models::GreenlightNodeConfig {
2215            partner_credentials: var_partnerCredentials,
2216            invite_code: var_inviteCode,
2217        };
2218    }
2219}
2220
2221impl SseDecode for crate::models::HealthCheckStatus {
2222    // Codec=Sse (Serialization based), see doc to use other codecs
2223    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2224        let mut inner = <i32>::sse_decode(deserializer);
2225        return match inner {
2226            0 => crate::models::HealthCheckStatus::Operational,
2227            1 => crate::models::HealthCheckStatus::Maintenance,
2228            2 => crate::models::HealthCheckStatus::ServiceDisruption,
2229            _ => unreachable!("Invalid variant for HealthCheckStatus: {}", inner),
2230        };
2231    }
2232}
2233
2234impl SseDecode for i32 {
2235    // Codec=Sse (Serialization based), see doc to use other codecs
2236    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2237        deserializer.cursor.read_i32::<NativeEndian>().unwrap()
2238    }
2239}
2240
2241impl SseDecode for i64 {
2242    // Codec=Sse (Serialization based), see doc to use other codecs
2243    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2244        deserializer.cursor.read_i64::<NativeEndian>().unwrap()
2245    }
2246}
2247
2248impl SseDecode for crate::binding::InputType {
2249    // Codec=Sse (Serialization based), see doc to use other codecs
2250    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2251        let mut tag_ = <i32>::sse_decode(deserializer);
2252        match tag_ {
2253            0 => {
2254                let mut var_address =
2255                    <crate::binding::BitcoinAddressData>::sse_decode(deserializer);
2256                return crate::binding::InputType::BitcoinAddress {
2257                    address: var_address,
2258                };
2259            }
2260            1 => {
2261                let mut var_invoice = <crate::binding::LNInvoice>::sse_decode(deserializer);
2262                return crate::binding::InputType::Bolt11 {
2263                    invoice: var_invoice,
2264                };
2265            }
2266            2 => {
2267                let mut var_nodeId = <String>::sse_decode(deserializer);
2268                return crate::binding::InputType::NodeId {
2269                    node_id: var_nodeId,
2270                };
2271            }
2272            3 => {
2273                let mut var_url = <String>::sse_decode(deserializer);
2274                return crate::binding::InputType::Url { url: var_url };
2275            }
2276            4 => {
2277                let mut var_data = <crate::binding::LnUrlPayRequestData>::sse_decode(deserializer);
2278                let mut var_bip353Address = <Option<String>>::sse_decode(deserializer);
2279                return crate::binding::InputType::LnUrlPay {
2280                    data: var_data,
2281                    bip353_address: var_bip353Address,
2282                };
2283            }
2284            5 => {
2285                let mut var_data =
2286                    <crate::binding::LnUrlWithdrawRequestData>::sse_decode(deserializer);
2287                return crate::binding::InputType::LnUrlWithdraw { data: var_data };
2288            }
2289            6 => {
2290                let mut var_data = <crate::binding::LnUrlAuthRequestData>::sse_decode(deserializer);
2291                return crate::binding::InputType::LnUrlAuth { data: var_data };
2292            }
2293            7 => {
2294                let mut var_data = <crate::binding::LnUrlErrorData>::sse_decode(deserializer);
2295                return crate::binding::InputType::LnUrlError { data: var_data };
2296            }
2297            _ => {
2298                unimplemented!("");
2299            }
2300        }
2301    }
2302}
2303
2304impl SseDecode for crate::breez_services::InvoicePaidDetails {
2305    // Codec=Sse (Serialization based), see doc to use other codecs
2306    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2307        let mut var_paymentHash = <String>::sse_decode(deserializer);
2308        let mut var_bolt11 = <String>::sse_decode(deserializer);
2309        let mut var_payment = <Option<crate::models::Payment>>::sse_decode(deserializer);
2310        return crate::breez_services::InvoicePaidDetails {
2311            payment_hash: var_paymentHash,
2312            bolt11: var_bolt11,
2313            payment: var_payment,
2314        };
2315    }
2316}
2317
2318impl SseDecode for Vec<String> {
2319    // Codec=Sse (Serialization based), see doc to use other codecs
2320    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2321        let mut len_ = <i32>::sse_decode(deserializer);
2322        let mut ans_ = vec![];
2323        for idx_ in 0..len_ {
2324            ans_.push(<String>::sse_decode(deserializer));
2325        }
2326        return ans_;
2327    }
2328}
2329
2330impl SseDecode for Vec<crate::binding::FiatCurrency> {
2331    // Codec=Sse (Serialization based), see doc to use other codecs
2332    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2333        let mut len_ = <i32>::sse_decode(deserializer);
2334        let mut ans_ = vec![];
2335        for idx_ in 0..len_ {
2336            ans_.push(<crate::binding::FiatCurrency>::sse_decode(deserializer));
2337        }
2338        return ans_;
2339    }
2340}
2341
2342impl SseDecode for Vec<crate::binding::LocaleOverrides> {
2343    // Codec=Sse (Serialization based), see doc to use other codecs
2344    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2345        let mut len_ = <i32>::sse_decode(deserializer);
2346        let mut ans_ = vec![];
2347        for idx_ in 0..len_ {
2348            ans_.push(<crate::binding::LocaleOverrides>::sse_decode(deserializer));
2349        }
2350        return ans_;
2351    }
2352}
2353
2354impl SseDecode for Vec<crate::binding::LocalizedName> {
2355    // Codec=Sse (Serialization based), see doc to use other codecs
2356    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2357        let mut len_ = <i32>::sse_decode(deserializer);
2358        let mut ans_ = vec![];
2359        for idx_ in 0..len_ {
2360            ans_.push(<crate::binding::LocalizedName>::sse_decode(deserializer));
2361        }
2362        return ans_;
2363    }
2364}
2365
2366impl SseDecode for Vec<crate::lsp::LspInformation> {
2367    // Codec=Sse (Serialization based), see doc to use other codecs
2368    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2369        let mut len_ = <i32>::sse_decode(deserializer);
2370        let mut ans_ = vec![];
2371        for idx_ in 0..len_ {
2372            ans_.push(<crate::lsp::LspInformation>::sse_decode(deserializer));
2373        }
2374        return ans_;
2375    }
2376}
2377
2378impl SseDecode for Vec<crate::models::MetadataFilter> {
2379    // Codec=Sse (Serialization based), see doc to use other codecs
2380    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2381        let mut len_ = <i32>::sse_decode(deserializer);
2382        let mut ans_ = vec![];
2383        for idx_ in 0..len_ {
2384            ans_.push(<crate::models::MetadataFilter>::sse_decode(deserializer));
2385        }
2386        return ans_;
2387    }
2388}
2389
2390impl SseDecode for Vec<crate::models::OpeningFeeParams> {
2391    // Codec=Sse (Serialization based), see doc to use other codecs
2392    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2393        let mut len_ = <i32>::sse_decode(deserializer);
2394        let mut ans_ = vec![];
2395        for idx_ in 0..len_ {
2396            ans_.push(<crate::models::OpeningFeeParams>::sse_decode(deserializer));
2397        }
2398        return ans_;
2399    }
2400}
2401
2402impl SseDecode for Vec<crate::models::Payment> {
2403    // Codec=Sse (Serialization based), see doc to use other codecs
2404    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2405        let mut len_ = <i32>::sse_decode(deserializer);
2406        let mut ans_ = vec![];
2407        for idx_ in 0..len_ {
2408            ans_.push(<crate::models::Payment>::sse_decode(deserializer));
2409        }
2410        return ans_;
2411    }
2412}
2413
2414impl SseDecode for Vec<crate::models::PaymentTypeFilter> {
2415    // Codec=Sse (Serialization based), see doc to use other codecs
2416    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2417        let mut len_ = <i32>::sse_decode(deserializer);
2418        let mut ans_ = vec![];
2419        for idx_ in 0..len_ {
2420            ans_.push(<crate::models::PaymentTypeFilter>::sse_decode(deserializer));
2421        }
2422        return ans_;
2423    }
2424}
2425
2426impl SseDecode for crate::models::ListPaymentsRequest {
2427    // Codec=Sse (Serialization based), see doc to use other codecs
2428    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2429        let mut var_filters =
2430            <Option<Vec<crate::models::PaymentTypeFilter>>>::sse_decode(deserializer);
2431        let mut var_metadataFilters =
2432            <Option<Vec<crate::models::MetadataFilter>>>::sse_decode(deserializer);
2433        let mut var_fromTimestamp = <Option<i64>>::sse_decode(deserializer);
2434        let mut var_toTimestamp = <Option<i64>>::sse_decode(deserializer);
2435        let mut var_includeFailures = <Option<bool>>::sse_decode(deserializer);
2436        let mut var_offset = <Option<u32>>::sse_decode(deserializer);
2437        let mut var_limit = <Option<u32>>::sse_decode(deserializer);
2438        return crate::models::ListPaymentsRequest {
2439            filters: var_filters,
2440            metadata_filters: var_metadataFilters,
2441            from_timestamp: var_fromTimestamp,
2442            to_timestamp: var_toTimestamp,
2443            include_failures: var_includeFailures,
2444            offset: var_offset,
2445            limit: var_limit,
2446        };
2447    }
2448}
2449
2450impl SseDecode for Vec<u8> {
2451    // Codec=Sse (Serialization based), see doc to use other codecs
2452    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2453        let mut len_ = <i32>::sse_decode(deserializer);
2454        let mut ans_ = vec![];
2455        for idx_ in 0..len_ {
2456            ans_.push(<u8>::sse_decode(deserializer));
2457        }
2458        return ans_;
2459    }
2460}
2461
2462impl SseDecode for Vec<crate::binding::Rate> {
2463    // Codec=Sse (Serialization based), see doc to use other codecs
2464    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2465        let mut len_ = <i32>::sse_decode(deserializer);
2466        let mut ans_ = vec![];
2467        for idx_ in 0..len_ {
2468            ans_.push(<crate::binding::Rate>::sse_decode(deserializer));
2469        }
2470        return ans_;
2471    }
2472}
2473
2474impl SseDecode for Vec<crate::models::ReverseSwapInfo> {
2475    // Codec=Sse (Serialization based), see doc to use other codecs
2476    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2477        let mut len_ = <i32>::sse_decode(deserializer);
2478        let mut ans_ = vec![];
2479        for idx_ in 0..len_ {
2480            ans_.push(<crate::models::ReverseSwapInfo>::sse_decode(deserializer));
2481        }
2482        return ans_;
2483    }
2484}
2485
2486impl SseDecode for Vec<crate::binding::RouteHint> {
2487    // Codec=Sse (Serialization based), see doc to use other codecs
2488    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2489        let mut len_ = <i32>::sse_decode(deserializer);
2490        let mut ans_ = vec![];
2491        for idx_ in 0..len_ {
2492            ans_.push(<crate::binding::RouteHint>::sse_decode(deserializer));
2493        }
2494        return ans_;
2495    }
2496}
2497
2498impl SseDecode for Vec<crate::binding::RouteHintHop> {
2499    // Codec=Sse (Serialization based), see doc to use other codecs
2500    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2501        let mut len_ = <i32>::sse_decode(deserializer);
2502        let mut ans_ = vec![];
2503        for idx_ in 0..len_ {
2504            ans_.push(<crate::binding::RouteHintHop>::sse_decode(deserializer));
2505        }
2506        return ans_;
2507    }
2508}
2509
2510impl SseDecode for Vec<crate::models::SwapInfo> {
2511    // Codec=Sse (Serialization based), see doc to use other codecs
2512    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2513        let mut len_ = <i32>::sse_decode(deserializer);
2514        let mut ans_ = vec![];
2515        for idx_ in 0..len_ {
2516            ans_.push(<crate::models::SwapInfo>::sse_decode(deserializer));
2517        }
2518        return ans_;
2519    }
2520}
2521
2522impl SseDecode for Vec<crate::models::SwapStatus> {
2523    // Codec=Sse (Serialization based), see doc to use other codecs
2524    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2525        let mut len_ = <i32>::sse_decode(deserializer);
2526        let mut ans_ = vec![];
2527        for idx_ in 0..len_ {
2528            ans_.push(<crate::models::SwapStatus>::sse_decode(deserializer));
2529        }
2530        return ans_;
2531    }
2532}
2533
2534impl SseDecode for crate::models::ListSwapsRequest {
2535    // Codec=Sse (Serialization based), see doc to use other codecs
2536    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2537        let mut var_status = <Option<Vec<crate::models::SwapStatus>>>::sse_decode(deserializer);
2538        let mut var_fromTimestamp = <Option<i64>>::sse_decode(deserializer);
2539        let mut var_toTimestamp = <Option<i64>>::sse_decode(deserializer);
2540        let mut var_offset = <Option<u32>>::sse_decode(deserializer);
2541        let mut var_limit = <Option<u32>>::sse_decode(deserializer);
2542        return crate::models::ListSwapsRequest {
2543            status: var_status,
2544            from_timestamp: var_fromTimestamp,
2545            to_timestamp: var_toTimestamp,
2546            offset: var_offset,
2547            limit: var_limit,
2548        };
2549    }
2550}
2551
2552impl SseDecode for Vec<crate::models::TlvEntry> {
2553    // Codec=Sse (Serialization based), see doc to use other codecs
2554    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2555        let mut len_ = <i32>::sse_decode(deserializer);
2556        let mut ans_ = vec![];
2557        for idx_ in 0..len_ {
2558            ans_.push(<crate::models::TlvEntry>::sse_decode(deserializer));
2559        }
2560        return ans_;
2561    }
2562}
2563
2564impl SseDecode for Vec<crate::models::UnspentTransactionOutput> {
2565    // Codec=Sse (Serialization based), see doc to use other codecs
2566    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2567        let mut len_ = <i32>::sse_decode(deserializer);
2568        let mut ans_ = vec![];
2569        for idx_ in 0..len_ {
2570            ans_.push(<crate::models::UnspentTransactionOutput>::sse_decode(
2571                deserializer,
2572            ));
2573        }
2574        return ans_;
2575    }
2576}
2577
2578impl SseDecode for crate::binding::LNInvoice {
2579    // Codec=Sse (Serialization based), see doc to use other codecs
2580    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2581        let mut var_bolt11 = <String>::sse_decode(deserializer);
2582        let mut var_network = <crate::binding::Network>::sse_decode(deserializer);
2583        let mut var_payeePubkey = <String>::sse_decode(deserializer);
2584        let mut var_paymentHash = <String>::sse_decode(deserializer);
2585        let mut var_description = <Option<String>>::sse_decode(deserializer);
2586        let mut var_descriptionHash = <Option<String>>::sse_decode(deserializer);
2587        let mut var_amountMsat = <Option<u64>>::sse_decode(deserializer);
2588        let mut var_timestamp = <u64>::sse_decode(deserializer);
2589        let mut var_expiry = <u64>::sse_decode(deserializer);
2590        let mut var_routingHints = <Vec<crate::binding::RouteHint>>::sse_decode(deserializer);
2591        let mut var_paymentSecret = <Vec<u8>>::sse_decode(deserializer);
2592        let mut var_minFinalCltvExpiryDelta = <u64>::sse_decode(deserializer);
2593        return crate::binding::LNInvoice {
2594            bolt11: var_bolt11,
2595            network: var_network,
2596            payee_pubkey: var_payeePubkey,
2597            payment_hash: var_paymentHash,
2598            description: var_description,
2599            description_hash: var_descriptionHash,
2600            amount_msat: var_amountMsat,
2601            timestamp: var_timestamp,
2602            expiry: var_expiry,
2603            routing_hints: var_routingHints,
2604            payment_secret: var_paymentSecret,
2605            min_final_cltv_expiry_delta: var_minFinalCltvExpiryDelta,
2606        };
2607    }
2608}
2609
2610impl SseDecode for crate::models::LnPaymentDetails {
2611    // Codec=Sse (Serialization based), see doc to use other codecs
2612    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2613        let mut var_paymentHash = <String>::sse_decode(deserializer);
2614        let mut var_label = <String>::sse_decode(deserializer);
2615        let mut var_destinationPubkey = <String>::sse_decode(deserializer);
2616        let mut var_paymentPreimage = <String>::sse_decode(deserializer);
2617        let mut var_keysend = <bool>::sse_decode(deserializer);
2618        let mut var_bolt11 = <String>::sse_decode(deserializer);
2619        let mut var_openChannelBolt11 = <Option<String>>::sse_decode(deserializer);
2620        let mut var_lnurlSuccessAction =
2621            <Option<crate::binding::SuccessActionProcessed>>::sse_decode(deserializer);
2622        let mut var_lnurlPayDomain = <Option<String>>::sse_decode(deserializer);
2623        let mut var_lnurlPayComment = <Option<String>>::sse_decode(deserializer);
2624        let mut var_lnAddress = <Option<String>>::sse_decode(deserializer);
2625        let mut var_lnurlMetadata = <Option<String>>::sse_decode(deserializer);
2626        let mut var_lnurlWithdrawEndpoint = <Option<String>>::sse_decode(deserializer);
2627        let mut var_swapInfo = <Option<crate::models::SwapInfo>>::sse_decode(deserializer);
2628        let mut var_reverseSwapInfo =
2629            <Option<crate::models::ReverseSwapInfo>>::sse_decode(deserializer);
2630        let mut var_pendingExpirationBlock = <Option<u32>>::sse_decode(deserializer);
2631        return crate::models::LnPaymentDetails {
2632            payment_hash: var_paymentHash,
2633            label: var_label,
2634            destination_pubkey: var_destinationPubkey,
2635            payment_preimage: var_paymentPreimage,
2636            keysend: var_keysend,
2637            bolt11: var_bolt11,
2638            open_channel_bolt11: var_openChannelBolt11,
2639            lnurl_success_action: var_lnurlSuccessAction,
2640            lnurl_pay_domain: var_lnurlPayDomain,
2641            lnurl_pay_comment: var_lnurlPayComment,
2642            ln_address: var_lnAddress,
2643            lnurl_metadata: var_lnurlMetadata,
2644            lnurl_withdraw_endpoint: var_lnurlWithdrawEndpoint,
2645            swap_info: var_swapInfo,
2646            reverse_swap_info: var_reverseSwapInfo,
2647            pending_expiration_block: var_pendingExpirationBlock,
2648        };
2649    }
2650}
2651
2652impl SseDecode for crate::binding::LnUrlAuthRequestData {
2653    // Codec=Sse (Serialization based), see doc to use other codecs
2654    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2655        let mut var_k1 = <String>::sse_decode(deserializer);
2656        let mut var_action = <Option<String>>::sse_decode(deserializer);
2657        let mut var_domain = <String>::sse_decode(deserializer);
2658        let mut var_url = <String>::sse_decode(deserializer);
2659        return crate::binding::LnUrlAuthRequestData {
2660            k1: var_k1,
2661            action: var_action,
2662            domain: var_domain,
2663            url: var_url,
2664        };
2665    }
2666}
2667
2668impl SseDecode for crate::binding::LnUrlCallbackStatus {
2669    // Codec=Sse (Serialization based), see doc to use other codecs
2670    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2671        let mut tag_ = <i32>::sse_decode(deserializer);
2672        match tag_ {
2673            0 => {
2674                return crate::binding::LnUrlCallbackStatus::Ok;
2675            }
2676            1 => {
2677                let mut var_data = <crate::binding::LnUrlErrorData>::sse_decode(deserializer);
2678                return crate::binding::LnUrlCallbackStatus::ErrorStatus { data: var_data };
2679            }
2680            _ => {
2681                unimplemented!("");
2682            }
2683        }
2684    }
2685}
2686
2687impl SseDecode for crate::binding::LnUrlErrorData {
2688    // Codec=Sse (Serialization based), see doc to use other codecs
2689    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2690        let mut var_reason = <String>::sse_decode(deserializer);
2691        return crate::binding::LnUrlErrorData { reason: var_reason };
2692    }
2693}
2694
2695impl SseDecode for crate::binding::LnUrlPayErrorData {
2696    // Codec=Sse (Serialization based), see doc to use other codecs
2697    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2698        let mut var_paymentHash = <String>::sse_decode(deserializer);
2699        let mut var_reason = <String>::sse_decode(deserializer);
2700        return crate::binding::LnUrlPayErrorData {
2701            payment_hash: var_paymentHash,
2702            reason: var_reason,
2703        };
2704    }
2705}
2706
2707impl SseDecode for crate::binding::LnUrlPayRequest {
2708    // Codec=Sse (Serialization based), see doc to use other codecs
2709    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2710        let mut var_data = <crate::binding::LnUrlPayRequestData>::sse_decode(deserializer);
2711        let mut var_amountMsat = <u64>::sse_decode(deserializer);
2712        let mut var_useTrampoline = <bool>::sse_decode(deserializer);
2713        let mut var_comment = <Option<String>>::sse_decode(deserializer);
2714        let mut var_paymentLabel = <Option<String>>::sse_decode(deserializer);
2715        let mut var_validateSuccessActionUrl = <Option<bool>>::sse_decode(deserializer);
2716        return crate::binding::LnUrlPayRequest {
2717            data: var_data,
2718            amount_msat: var_amountMsat,
2719            use_trampoline: var_useTrampoline,
2720            comment: var_comment,
2721            payment_label: var_paymentLabel,
2722            validate_success_action_url: var_validateSuccessActionUrl,
2723        };
2724    }
2725}
2726
2727impl SseDecode for crate::binding::LnUrlPayRequestData {
2728    // Codec=Sse (Serialization based), see doc to use other codecs
2729    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2730        let mut var_callback = <String>::sse_decode(deserializer);
2731        let mut var_minSendable = <u64>::sse_decode(deserializer);
2732        let mut var_maxSendable = <u64>::sse_decode(deserializer);
2733        let mut var_metadataStr = <String>::sse_decode(deserializer);
2734        let mut var_commentAllowed = <u16>::sse_decode(deserializer);
2735        let mut var_domain = <String>::sse_decode(deserializer);
2736        let mut var_allowsNostr = <bool>::sse_decode(deserializer);
2737        let mut var_nostrPubkey = <Option<String>>::sse_decode(deserializer);
2738        let mut var_lnAddress = <Option<String>>::sse_decode(deserializer);
2739        return crate::binding::LnUrlPayRequestData {
2740            callback: var_callback,
2741            min_sendable: var_minSendable,
2742            max_sendable: var_maxSendable,
2743            metadata_str: var_metadataStr,
2744            comment_allowed: var_commentAllowed,
2745            domain: var_domain,
2746            allows_nostr: var_allowsNostr,
2747            nostr_pubkey: var_nostrPubkey,
2748            ln_address: var_lnAddress,
2749        };
2750    }
2751}
2752
2753impl SseDecode for crate::lnurl::pay::LnUrlPayResult {
2754    // Codec=Sse (Serialization based), see doc to use other codecs
2755    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2756        let mut tag_ = <i32>::sse_decode(deserializer);
2757        match tag_ {
2758            0 => {
2759                let mut var_data =
2760                    <crate::lnurl::pay::LnUrlPaySuccessData>::sse_decode(deserializer);
2761                return crate::lnurl::pay::LnUrlPayResult::EndpointSuccess { data: var_data };
2762            }
2763            1 => {
2764                let mut var_data = <crate::binding::LnUrlErrorData>::sse_decode(deserializer);
2765                return crate::lnurl::pay::LnUrlPayResult::EndpointError { data: var_data };
2766            }
2767            2 => {
2768                let mut var_data = <crate::binding::LnUrlPayErrorData>::sse_decode(deserializer);
2769                return crate::lnurl::pay::LnUrlPayResult::PayError { data: var_data };
2770            }
2771            _ => {
2772                unimplemented!("");
2773            }
2774        }
2775    }
2776}
2777
2778impl SseDecode for crate::lnurl::pay::LnUrlPaySuccessData {
2779    // Codec=Sse (Serialization based), see doc to use other codecs
2780    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2781        let mut var_payment = <crate::models::Payment>::sse_decode(deserializer);
2782        let mut var_successAction =
2783            <Option<crate::binding::SuccessActionProcessed>>::sse_decode(deserializer);
2784        return crate::lnurl::pay::LnUrlPaySuccessData {
2785            payment: var_payment,
2786            success_action: var_successAction,
2787        };
2788    }
2789}
2790
2791impl SseDecode for crate::binding::LnUrlWithdrawRequest {
2792    // Codec=Sse (Serialization based), see doc to use other codecs
2793    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2794        let mut var_data = <crate::binding::LnUrlWithdrawRequestData>::sse_decode(deserializer);
2795        let mut var_amountMsat = <u64>::sse_decode(deserializer);
2796        let mut var_description = <Option<String>>::sse_decode(deserializer);
2797        return crate::binding::LnUrlWithdrawRequest {
2798            data: var_data,
2799            amount_msat: var_amountMsat,
2800            description: var_description,
2801        };
2802    }
2803}
2804
2805impl SseDecode for crate::binding::LnUrlWithdrawRequestData {
2806    // Codec=Sse (Serialization based), see doc to use other codecs
2807    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2808        let mut var_callback = <String>::sse_decode(deserializer);
2809        let mut var_k1 = <String>::sse_decode(deserializer);
2810        let mut var_defaultDescription = <String>::sse_decode(deserializer);
2811        let mut var_minWithdrawable = <u64>::sse_decode(deserializer);
2812        let mut var_maxWithdrawable = <u64>::sse_decode(deserializer);
2813        return crate::binding::LnUrlWithdrawRequestData {
2814            callback: var_callback,
2815            k1: var_k1,
2816            default_description: var_defaultDescription,
2817            min_withdrawable: var_minWithdrawable,
2818            max_withdrawable: var_maxWithdrawable,
2819        };
2820    }
2821}
2822
2823impl SseDecode for crate::binding::LnUrlWithdrawResult {
2824    // Codec=Sse (Serialization based), see doc to use other codecs
2825    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2826        let mut tag_ = <i32>::sse_decode(deserializer);
2827        match tag_ {
2828            0 => {
2829                let mut var_data =
2830                    <crate::binding::LnUrlWithdrawSuccessData>::sse_decode(deserializer);
2831                return crate::binding::LnUrlWithdrawResult::Ok { data: var_data };
2832            }
2833            1 => {
2834                let mut var_data =
2835                    <crate::binding::LnUrlWithdrawSuccessData>::sse_decode(deserializer);
2836                return crate::binding::LnUrlWithdrawResult::Timeout { data: var_data };
2837            }
2838            2 => {
2839                let mut var_data = <crate::binding::LnUrlErrorData>::sse_decode(deserializer);
2840                return crate::binding::LnUrlWithdrawResult::ErrorStatus { data: var_data };
2841            }
2842            _ => {
2843                unimplemented!("");
2844            }
2845        }
2846    }
2847}
2848
2849impl SseDecode for crate::binding::LnUrlWithdrawSuccessData {
2850    // Codec=Sse (Serialization based), see doc to use other codecs
2851    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2852        let mut var_invoice = <crate::binding::LNInvoice>::sse_decode(deserializer);
2853        return crate::binding::LnUrlWithdrawSuccessData {
2854            invoice: var_invoice,
2855        };
2856    }
2857}
2858
2859impl SseDecode for crate::binding::LocaleOverrides {
2860    // Codec=Sse (Serialization based), see doc to use other codecs
2861    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2862        let mut var_locale = <String>::sse_decode(deserializer);
2863        let mut var_spacing = <Option<u32>>::sse_decode(deserializer);
2864        let mut var_symbol = <crate::binding::Symbol>::sse_decode(deserializer);
2865        return crate::binding::LocaleOverrides {
2866            locale: var_locale,
2867            spacing: var_spacing,
2868            symbol: var_symbol,
2869        };
2870    }
2871}
2872
2873impl SseDecode for crate::binding::LocalizedName {
2874    // Codec=Sse (Serialization based), see doc to use other codecs
2875    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2876        let mut var_locale = <String>::sse_decode(deserializer);
2877        let mut var_name = <String>::sse_decode(deserializer);
2878        return crate::binding::LocalizedName {
2879            locale: var_locale,
2880            name: var_name,
2881        };
2882    }
2883}
2884
2885impl SseDecode for crate::models::LogEntry {
2886    // Codec=Sse (Serialization based), see doc to use other codecs
2887    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2888        let mut var_line = <String>::sse_decode(deserializer);
2889        let mut var_level = <String>::sse_decode(deserializer);
2890        return crate::models::LogEntry {
2891            line: var_line,
2892            level: var_level,
2893        };
2894    }
2895}
2896
2897impl SseDecode for crate::lsp::LspInformation {
2898    // Codec=Sse (Serialization based), see doc to use other codecs
2899    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2900        let mut var_id = <String>::sse_decode(deserializer);
2901        let mut var_name = <String>::sse_decode(deserializer);
2902        let mut var_widgetUrl = <String>::sse_decode(deserializer);
2903        let mut var_pubkey = <String>::sse_decode(deserializer);
2904        let mut var_host = <String>::sse_decode(deserializer);
2905        let mut var_baseFeeMsat = <i64>::sse_decode(deserializer);
2906        let mut var_feeRate = <f64>::sse_decode(deserializer);
2907        let mut var_timeLockDelta = <u32>::sse_decode(deserializer);
2908        let mut var_minHtlcMsat = <i64>::sse_decode(deserializer);
2909        let mut var_lspPubkey = <Vec<u8>>::sse_decode(deserializer);
2910        let mut var_openingFeeParamsList =
2911            <crate::models::OpeningFeeParamsMenu>::sse_decode(deserializer);
2912        return crate::lsp::LspInformation {
2913            id: var_id,
2914            name: var_name,
2915            widget_url: var_widgetUrl,
2916            pubkey: var_pubkey,
2917            host: var_host,
2918            base_fee_msat: var_baseFeeMsat,
2919            fee_rate: var_feeRate,
2920            time_lock_delta: var_timeLockDelta,
2921            min_htlc_msat: var_minHtlcMsat,
2922            lsp_pubkey: var_lspPubkey,
2923            opening_fee_params_list: var_openingFeeParamsList,
2924        };
2925    }
2926}
2927
2928impl SseDecode for crate::binding::MessageSuccessActionData {
2929    // Codec=Sse (Serialization based), see doc to use other codecs
2930    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2931        let mut var_message = <String>::sse_decode(deserializer);
2932        return crate::binding::MessageSuccessActionData {
2933            message: var_message,
2934        };
2935    }
2936}
2937
2938impl SseDecode for crate::models::MetadataFilter {
2939    // Codec=Sse (Serialization based), see doc to use other codecs
2940    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2941        let mut var_jsonPath = <String>::sse_decode(deserializer);
2942        let mut var_jsonValue = <String>::sse_decode(deserializer);
2943        return crate::models::MetadataFilter {
2944            json_path: var_jsonPath,
2945            json_value: var_jsonValue,
2946        };
2947    }
2948}
2949
2950impl SseDecode for crate::binding::Network {
2951    // Codec=Sse (Serialization based), see doc to use other codecs
2952    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2953        let mut inner = <i32>::sse_decode(deserializer);
2954        return match inner {
2955            0 => crate::binding::Network::Bitcoin,
2956            1 => crate::binding::Network::Testnet,
2957            2 => crate::binding::Network::Signet,
2958            3 => crate::binding::Network::Regtest,
2959            _ => unreachable!("Invalid variant for Network: {}", inner),
2960        };
2961    }
2962}
2963
2964impl SseDecode for crate::models::NodeConfig {
2965    // Codec=Sse (Serialization based), see doc to use other codecs
2966    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2967        let mut tag_ = <i32>::sse_decode(deserializer);
2968        match tag_ {
2969            0 => {
2970                let mut var_config =
2971                    <crate::models::GreenlightNodeConfig>::sse_decode(deserializer);
2972                return crate::models::NodeConfig::Greenlight { config: var_config };
2973            }
2974            _ => {
2975                unimplemented!("");
2976            }
2977        }
2978    }
2979}
2980
2981impl SseDecode for crate::models::NodeCredentials {
2982    // Codec=Sse (Serialization based), see doc to use other codecs
2983    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
2984        let mut tag_ = <i32>::sse_decode(deserializer);
2985        match tag_ {
2986            0 => {
2987                let mut var_credentials =
2988                    <crate::models::GreenlightDeviceCredentials>::sse_decode(deserializer);
2989                return crate::models::NodeCredentials::Greenlight {
2990                    credentials: var_credentials,
2991                };
2992            }
2993            _ => {
2994                unimplemented!("");
2995            }
2996        }
2997    }
2998}
2999
3000impl SseDecode for crate::models::NodeState {
3001    // Codec=Sse (Serialization based), see doc to use other codecs
3002    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3003        let mut var_id = <String>::sse_decode(deserializer);
3004        let mut var_blockHeight = <u32>::sse_decode(deserializer);
3005        let mut var_channelsBalanceMsat = <u64>::sse_decode(deserializer);
3006        let mut var_onchainBalanceMsat = <u64>::sse_decode(deserializer);
3007        let mut var_pendingOnchainBalanceMsat = <u64>::sse_decode(deserializer);
3008        let mut var_utxos =
3009            <Vec<crate::models::UnspentTransactionOutput>>::sse_decode(deserializer);
3010        let mut var_maxPayableMsat = <u64>::sse_decode(deserializer);
3011        let mut var_maxReceivableMsat = <u64>::sse_decode(deserializer);
3012        let mut var_maxSinglePaymentAmountMsat = <u64>::sse_decode(deserializer);
3013        let mut var_maxChanReserveMsats = <u64>::sse_decode(deserializer);
3014        let mut var_connectedPeers = <Vec<String>>::sse_decode(deserializer);
3015        let mut var_maxReceivableSinglePaymentAmountMsat = <u64>::sse_decode(deserializer);
3016        let mut var_totalInboundLiquidityMsats = <u64>::sse_decode(deserializer);
3017        return crate::models::NodeState {
3018            id: var_id,
3019            block_height: var_blockHeight,
3020            channels_balance_msat: var_channelsBalanceMsat,
3021            onchain_balance_msat: var_onchainBalanceMsat,
3022            pending_onchain_balance_msat: var_pendingOnchainBalanceMsat,
3023            utxos: var_utxos,
3024            max_payable_msat: var_maxPayableMsat,
3025            max_receivable_msat: var_maxReceivableMsat,
3026            max_single_payment_amount_msat: var_maxSinglePaymentAmountMsat,
3027            max_chan_reserve_msats: var_maxChanReserveMsats,
3028            connected_peers: var_connectedPeers,
3029            max_receivable_single_payment_amount_msat: var_maxReceivableSinglePaymentAmountMsat,
3030            total_inbound_liquidity_msats: var_totalInboundLiquidityMsats,
3031        };
3032    }
3033}
3034
3035impl SseDecode for crate::models::OnchainPaymentLimitsResponse {
3036    // Codec=Sse (Serialization based), see doc to use other codecs
3037    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3038        let mut var_minSat = <u64>::sse_decode(deserializer);
3039        let mut var_maxSat = <u64>::sse_decode(deserializer);
3040        let mut var_maxPayableSat = <u64>::sse_decode(deserializer);
3041        return crate::models::OnchainPaymentLimitsResponse {
3042            min_sat: var_minSat,
3043            max_sat: var_maxSat,
3044            max_payable_sat: var_maxPayableSat,
3045        };
3046    }
3047}
3048
3049impl SseDecode for crate::models::OpenChannelFeeRequest {
3050    // Codec=Sse (Serialization based), see doc to use other codecs
3051    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3052        let mut var_amountMsat = <Option<u64>>::sse_decode(deserializer);
3053        let mut var_expiry = <Option<u32>>::sse_decode(deserializer);
3054        return crate::models::OpenChannelFeeRequest {
3055            amount_msat: var_amountMsat,
3056            expiry: var_expiry,
3057        };
3058    }
3059}
3060
3061impl SseDecode for crate::models::OpenChannelFeeResponse {
3062    // Codec=Sse (Serialization based), see doc to use other codecs
3063    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3064        let mut var_feeMsat = <Option<u64>>::sse_decode(deserializer);
3065        let mut var_feeParams = <crate::models::OpeningFeeParams>::sse_decode(deserializer);
3066        return crate::models::OpenChannelFeeResponse {
3067            fee_msat: var_feeMsat,
3068            fee_params: var_feeParams,
3069        };
3070    }
3071}
3072
3073impl SseDecode for crate::models::OpeningFeeParams {
3074    // Codec=Sse (Serialization based), see doc to use other codecs
3075    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3076        let mut var_minMsat = <u64>::sse_decode(deserializer);
3077        let mut var_proportional = <u32>::sse_decode(deserializer);
3078        let mut var_validUntil = <String>::sse_decode(deserializer);
3079        let mut var_maxIdleTime = <u32>::sse_decode(deserializer);
3080        let mut var_maxClientToSelfDelay = <u32>::sse_decode(deserializer);
3081        let mut var_promise = <String>::sse_decode(deserializer);
3082        return crate::models::OpeningFeeParams {
3083            min_msat: var_minMsat,
3084            proportional: var_proportional,
3085            valid_until: var_validUntil,
3086            max_idle_time: var_maxIdleTime,
3087            max_client_to_self_delay: var_maxClientToSelfDelay,
3088            promise: var_promise,
3089        };
3090    }
3091}
3092
3093impl SseDecode for crate::models::OpeningFeeParamsMenu {
3094    // Codec=Sse (Serialization based), see doc to use other codecs
3095    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3096        let mut var_values = <Vec<crate::models::OpeningFeeParams>>::sse_decode(deserializer);
3097        return crate::models::OpeningFeeParamsMenu { values: var_values };
3098    }
3099}
3100
3101impl SseDecode for Option<String> {
3102    // Codec=Sse (Serialization based), see doc to use other codecs
3103    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3104        if (<bool>::sse_decode(deserializer)) {
3105            return Some(<String>::sse_decode(deserializer));
3106        } else {
3107            return None;
3108        }
3109    }
3110}
3111
3112impl SseDecode for Option<bool> {
3113    // Codec=Sse (Serialization based), see doc to use other codecs
3114    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3115        if (<bool>::sse_decode(deserializer)) {
3116            return Some(<bool>::sse_decode(deserializer));
3117        } else {
3118            return None;
3119        }
3120    }
3121}
3122
3123impl SseDecode for Option<crate::models::GreenlightCredentials> {
3124    // Codec=Sse (Serialization based), see doc to use other codecs
3125    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3126        if (<bool>::sse_decode(deserializer)) {
3127            return Some(<crate::models::GreenlightCredentials>::sse_decode(
3128                deserializer,
3129            ));
3130        } else {
3131            return None;
3132        }
3133    }
3134}
3135
3136impl SseDecode for Option<i64> {
3137    // Codec=Sse (Serialization based), see doc to use other codecs
3138    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3139        if (<bool>::sse_decode(deserializer)) {
3140            return Some(<i64>::sse_decode(deserializer));
3141        } else {
3142            return None;
3143        }
3144    }
3145}
3146
3147impl SseDecode for Option<crate::binding::LNInvoice> {
3148    // Codec=Sse (Serialization based), see doc to use other codecs
3149    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3150        if (<bool>::sse_decode(deserializer)) {
3151            return Some(<crate::binding::LNInvoice>::sse_decode(deserializer));
3152        } else {
3153            return None;
3154        }
3155    }
3156}
3157
3158impl SseDecode for Option<crate::lsp::LspInformation> {
3159    // Codec=Sse (Serialization based), see doc to use other codecs
3160    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3161        if (<bool>::sse_decode(deserializer)) {
3162            return Some(<crate::lsp::LspInformation>::sse_decode(deserializer));
3163        } else {
3164            return None;
3165        }
3166    }
3167}
3168
3169impl SseDecode for Option<crate::models::NodeCredentials> {
3170    // Codec=Sse (Serialization based), see doc to use other codecs
3171    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3172        if (<bool>::sse_decode(deserializer)) {
3173            return Some(<crate::models::NodeCredentials>::sse_decode(deserializer));
3174        } else {
3175            return None;
3176        }
3177    }
3178}
3179
3180impl SseDecode for Option<crate::models::OpeningFeeParams> {
3181    // Codec=Sse (Serialization based), see doc to use other codecs
3182    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3183        if (<bool>::sse_decode(deserializer)) {
3184            return Some(<crate::models::OpeningFeeParams>::sse_decode(deserializer));
3185        } else {
3186            return None;
3187        }
3188    }
3189}
3190
3191impl SseDecode for Option<crate::models::Payment> {
3192    // Codec=Sse (Serialization based), see doc to use other codecs
3193    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3194        if (<bool>::sse_decode(deserializer)) {
3195            return Some(<crate::models::Payment>::sse_decode(deserializer));
3196        } else {
3197            return None;
3198        }
3199    }
3200}
3201
3202impl SseDecode for Option<crate::models::ReverseSwapInfo> {
3203    // Codec=Sse (Serialization based), see doc to use other codecs
3204    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3205        if (<bool>::sse_decode(deserializer)) {
3206            return Some(<crate::models::ReverseSwapInfo>::sse_decode(deserializer));
3207        } else {
3208            return None;
3209        }
3210    }
3211}
3212
3213impl SseDecode for Option<crate::binding::SuccessActionProcessed> {
3214    // Codec=Sse (Serialization based), see doc to use other codecs
3215    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3216        if (<bool>::sse_decode(deserializer)) {
3217            return Some(<crate::binding::SuccessActionProcessed>::sse_decode(
3218                deserializer,
3219            ));
3220        } else {
3221            return None;
3222        }
3223    }
3224}
3225
3226impl SseDecode for Option<crate::models::SwapInfo> {
3227    // Codec=Sse (Serialization based), see doc to use other codecs
3228    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3229        if (<bool>::sse_decode(deserializer)) {
3230            return Some(<crate::models::SwapInfo>::sse_decode(deserializer));
3231        } else {
3232            return None;
3233        }
3234    }
3235}
3236
3237impl SseDecode for Option<crate::binding::Symbol> {
3238    // Codec=Sse (Serialization based), see doc to use other codecs
3239    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3240        if (<bool>::sse_decode(deserializer)) {
3241            return Some(<crate::binding::Symbol>::sse_decode(deserializer));
3242        } else {
3243            return None;
3244        }
3245    }
3246}
3247
3248impl SseDecode for Option<u32> {
3249    // Codec=Sse (Serialization based), see doc to use other codecs
3250    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3251        if (<bool>::sse_decode(deserializer)) {
3252            return Some(<u32>::sse_decode(deserializer));
3253        } else {
3254            return None;
3255        }
3256    }
3257}
3258
3259impl SseDecode for Option<u64> {
3260    // Codec=Sse (Serialization based), see doc to use other codecs
3261    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3262        if (<bool>::sse_decode(deserializer)) {
3263            return Some(<u64>::sse_decode(deserializer));
3264        } else {
3265            return None;
3266        }
3267    }
3268}
3269
3270impl SseDecode for Option<Vec<String>> {
3271    // Codec=Sse (Serialization based), see doc to use other codecs
3272    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3273        if (<bool>::sse_decode(deserializer)) {
3274            return Some(<Vec<String>>::sse_decode(deserializer));
3275        } else {
3276            return None;
3277        }
3278    }
3279}
3280
3281impl SseDecode for Option<Vec<crate::models::MetadataFilter>> {
3282    // Codec=Sse (Serialization based), see doc to use other codecs
3283    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3284        if (<bool>::sse_decode(deserializer)) {
3285            return Some(<Vec<crate::models::MetadataFilter>>::sse_decode(
3286                deserializer,
3287            ));
3288        } else {
3289            return None;
3290        }
3291    }
3292}
3293
3294impl SseDecode for Option<Vec<crate::models::PaymentTypeFilter>> {
3295    // Codec=Sse (Serialization based), see doc to use other codecs
3296    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3297        if (<bool>::sse_decode(deserializer)) {
3298            return Some(<Vec<crate::models::PaymentTypeFilter>>::sse_decode(
3299                deserializer,
3300            ));
3301        } else {
3302            return None;
3303        }
3304    }
3305}
3306
3307impl SseDecode for Option<Vec<u8>> {
3308    // Codec=Sse (Serialization based), see doc to use other codecs
3309    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3310        if (<bool>::sse_decode(deserializer)) {
3311            return Some(<Vec<u8>>::sse_decode(deserializer));
3312        } else {
3313            return None;
3314        }
3315    }
3316}
3317
3318impl SseDecode for Option<Vec<crate::models::SwapStatus>> {
3319    // Codec=Sse (Serialization based), see doc to use other codecs
3320    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3321        if (<bool>::sse_decode(deserializer)) {
3322            return Some(<Vec<crate::models::SwapStatus>>::sse_decode(deserializer));
3323        } else {
3324            return None;
3325        }
3326    }
3327}
3328
3329impl SseDecode for Option<Vec<crate::models::TlvEntry>> {
3330    // Codec=Sse (Serialization based), see doc to use other codecs
3331    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3332        if (<bool>::sse_decode(deserializer)) {
3333            return Some(<Vec<crate::models::TlvEntry>>::sse_decode(deserializer));
3334        } else {
3335            return None;
3336        }
3337    }
3338}
3339
3340impl SseDecode for crate::models::PayOnchainRequest {
3341    // Codec=Sse (Serialization based), see doc to use other codecs
3342    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3343        let mut var_recipientAddress = <String>::sse_decode(deserializer);
3344        let mut var_prepareRes =
3345            <crate::models::PrepareOnchainPaymentResponse>::sse_decode(deserializer);
3346        return crate::models::PayOnchainRequest {
3347            recipient_address: var_recipientAddress,
3348            prepare_res: var_prepareRes,
3349        };
3350    }
3351}
3352
3353impl SseDecode for crate::models::PayOnchainResponse {
3354    // Codec=Sse (Serialization based), see doc to use other codecs
3355    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3356        let mut var_reverseSwapInfo = <crate::models::ReverseSwapInfo>::sse_decode(deserializer);
3357        return crate::models::PayOnchainResponse {
3358            reverse_swap_info: var_reverseSwapInfo,
3359        };
3360    }
3361}
3362
3363impl SseDecode for crate::models::Payment {
3364    // Codec=Sse (Serialization based), see doc to use other codecs
3365    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3366        let mut var_id = <String>::sse_decode(deserializer);
3367        let mut var_paymentType = <crate::models::PaymentType>::sse_decode(deserializer);
3368        let mut var_paymentTime = <i64>::sse_decode(deserializer);
3369        let mut var_amountMsat = <u64>::sse_decode(deserializer);
3370        let mut var_feeMsat = <u64>::sse_decode(deserializer);
3371        let mut var_status = <crate::models::PaymentStatus>::sse_decode(deserializer);
3372        let mut var_error = <Option<String>>::sse_decode(deserializer);
3373        let mut var_description = <Option<String>>::sse_decode(deserializer);
3374        let mut var_details = <crate::models::PaymentDetails>::sse_decode(deserializer);
3375        let mut var_metadata = <Option<String>>::sse_decode(deserializer);
3376        return crate::models::Payment {
3377            id: var_id,
3378            payment_type: var_paymentType,
3379            payment_time: var_paymentTime,
3380            amount_msat: var_amountMsat,
3381            fee_msat: var_feeMsat,
3382            status: var_status,
3383            error: var_error,
3384            description: var_description,
3385            details: var_details,
3386            metadata: var_metadata,
3387        };
3388    }
3389}
3390
3391impl SseDecode for crate::models::PaymentDetails {
3392    // Codec=Sse (Serialization based), see doc to use other codecs
3393    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3394        let mut tag_ = <i32>::sse_decode(deserializer);
3395        match tag_ {
3396            0 => {
3397                let mut var_data = <crate::models::LnPaymentDetails>::sse_decode(deserializer);
3398                return crate::models::PaymentDetails::Ln { data: var_data };
3399            }
3400            1 => {
3401                let mut var_data =
3402                    <crate::models::ClosedChannelPaymentDetails>::sse_decode(deserializer);
3403                return crate::models::PaymentDetails::ClosedChannel { data: var_data };
3404            }
3405            _ => {
3406                unimplemented!("");
3407            }
3408        }
3409    }
3410}
3411
3412impl SseDecode for crate::breez_services::PaymentFailedData {
3413    // Codec=Sse (Serialization based), see doc to use other codecs
3414    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3415        let mut var_error = <String>::sse_decode(deserializer);
3416        let mut var_nodeId = <String>::sse_decode(deserializer);
3417        let mut var_invoice = <Option<crate::binding::LNInvoice>>::sse_decode(deserializer);
3418        let mut var_label = <Option<String>>::sse_decode(deserializer);
3419        return crate::breez_services::PaymentFailedData {
3420            error: var_error,
3421            node_id: var_nodeId,
3422            invoice: var_invoice,
3423            label: var_label,
3424        };
3425    }
3426}
3427
3428impl SseDecode for crate::models::PaymentStatus {
3429    // Codec=Sse (Serialization based), see doc to use other codecs
3430    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3431        let mut inner = <i32>::sse_decode(deserializer);
3432        return match inner {
3433            0 => crate::models::PaymentStatus::Pending,
3434            1 => crate::models::PaymentStatus::Complete,
3435            2 => crate::models::PaymentStatus::Failed,
3436            _ => unreachable!("Invalid variant for PaymentStatus: {}", inner),
3437        };
3438    }
3439}
3440
3441impl SseDecode for crate::models::PaymentType {
3442    // Codec=Sse (Serialization based), see doc to use other codecs
3443    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3444        let mut inner = <i32>::sse_decode(deserializer);
3445        return match inner {
3446            0 => crate::models::PaymentType::Sent,
3447            1 => crate::models::PaymentType::Received,
3448            2 => crate::models::PaymentType::ClosedChannel,
3449            _ => unreachable!("Invalid variant for PaymentType: {}", inner),
3450        };
3451    }
3452}
3453
3454impl SseDecode for crate::models::PaymentTypeFilter {
3455    // Codec=Sse (Serialization based), see doc to use other codecs
3456    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3457        let mut inner = <i32>::sse_decode(deserializer);
3458        return match inner {
3459            0 => crate::models::PaymentTypeFilter::Sent,
3460            1 => crate::models::PaymentTypeFilter::Received,
3461            2 => crate::models::PaymentTypeFilter::ClosedChannel,
3462            _ => unreachable!("Invalid variant for PaymentTypeFilter: {}", inner),
3463        };
3464    }
3465}
3466
3467impl SseDecode for crate::models::PrepareOnchainPaymentRequest {
3468    // Codec=Sse (Serialization based), see doc to use other codecs
3469    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3470        let mut var_amountSat = <u64>::sse_decode(deserializer);
3471        let mut var_amountType = <crate::models::SwapAmountType>::sse_decode(deserializer);
3472        let mut var_claimTxFeerate = <u32>::sse_decode(deserializer);
3473        return crate::models::PrepareOnchainPaymentRequest {
3474            amount_sat: var_amountSat,
3475            amount_type: var_amountType,
3476            claim_tx_feerate: var_claimTxFeerate,
3477        };
3478    }
3479}
3480
3481impl SseDecode for crate::models::PrepareOnchainPaymentResponse {
3482    // Codec=Sse (Serialization based), see doc to use other codecs
3483    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3484        let mut var_feesHash = <String>::sse_decode(deserializer);
3485        let mut var_feesPercentage = <f64>::sse_decode(deserializer);
3486        let mut var_feesLockup = <u64>::sse_decode(deserializer);
3487        let mut var_feesClaim = <u64>::sse_decode(deserializer);
3488        let mut var_senderAmountSat = <u64>::sse_decode(deserializer);
3489        let mut var_recipientAmountSat = <u64>::sse_decode(deserializer);
3490        let mut var_totalFees = <u64>::sse_decode(deserializer);
3491        return crate::models::PrepareOnchainPaymentResponse {
3492            fees_hash: var_feesHash,
3493            fees_percentage: var_feesPercentage,
3494            fees_lockup: var_feesLockup,
3495            fees_claim: var_feesClaim,
3496            sender_amount_sat: var_senderAmountSat,
3497            recipient_amount_sat: var_recipientAmountSat,
3498            total_fees: var_totalFees,
3499        };
3500    }
3501}
3502
3503impl SseDecode for crate::models::PrepareRedeemOnchainFundsRequest {
3504    // Codec=Sse (Serialization based), see doc to use other codecs
3505    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3506        let mut var_toAddress = <String>::sse_decode(deserializer);
3507        let mut var_satPerVbyte = <u32>::sse_decode(deserializer);
3508        return crate::models::PrepareRedeemOnchainFundsRequest {
3509            to_address: var_toAddress,
3510            sat_per_vbyte: var_satPerVbyte,
3511        };
3512    }
3513}
3514
3515impl SseDecode for crate::models::PrepareRedeemOnchainFundsResponse {
3516    // Codec=Sse (Serialization based), see doc to use other codecs
3517    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3518        let mut var_txWeight = <u64>::sse_decode(deserializer);
3519        let mut var_txFeeSat = <u64>::sse_decode(deserializer);
3520        return crate::models::PrepareRedeemOnchainFundsResponse {
3521            tx_weight: var_txWeight,
3522            tx_fee_sat: var_txFeeSat,
3523        };
3524    }
3525}
3526
3527impl SseDecode for crate::models::PrepareRefundRequest {
3528    // Codec=Sse (Serialization based), see doc to use other codecs
3529    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3530        let mut var_swapAddress = <String>::sse_decode(deserializer);
3531        let mut var_toAddress = <String>::sse_decode(deserializer);
3532        let mut var_satPerVbyte = <u32>::sse_decode(deserializer);
3533        let mut var_unilateral = <Option<bool>>::sse_decode(deserializer);
3534        return crate::models::PrepareRefundRequest {
3535            swap_address: var_swapAddress,
3536            to_address: var_toAddress,
3537            sat_per_vbyte: var_satPerVbyte,
3538            unilateral: var_unilateral,
3539        };
3540    }
3541}
3542
3543impl SseDecode for crate::models::PrepareRefundResponse {
3544    // Codec=Sse (Serialization based), see doc to use other codecs
3545    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3546        let mut var_refundTxWeight = <u32>::sse_decode(deserializer);
3547        let mut var_refundTxFeeSat = <u64>::sse_decode(deserializer);
3548        return crate::models::PrepareRefundResponse {
3549            refund_tx_weight: var_refundTxWeight,
3550            refund_tx_fee_sat: var_refundTxFeeSat,
3551        };
3552    }
3553}
3554
3555impl SseDecode for crate::binding::Rate {
3556    // Codec=Sse (Serialization based), see doc to use other codecs
3557    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3558        let mut var_coin = <String>::sse_decode(deserializer);
3559        let mut var_value = <f64>::sse_decode(deserializer);
3560        return crate::binding::Rate {
3561            coin: var_coin,
3562            value: var_value,
3563        };
3564    }
3565}
3566
3567impl SseDecode for crate::models::ReceiveOnchainRequest {
3568    // Codec=Sse (Serialization based), see doc to use other codecs
3569    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3570        let mut var_openingFeeParams =
3571            <Option<crate::models::OpeningFeeParams>>::sse_decode(deserializer);
3572        return crate::models::ReceiveOnchainRequest {
3573            opening_fee_params: var_openingFeeParams,
3574        };
3575    }
3576}
3577
3578impl SseDecode for crate::models::ReceivePaymentRequest {
3579    // Codec=Sse (Serialization based), see doc to use other codecs
3580    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3581        let mut var_amountMsat = <u64>::sse_decode(deserializer);
3582        let mut var_description = <String>::sse_decode(deserializer);
3583        let mut var_preimage = <Option<Vec<u8>>>::sse_decode(deserializer);
3584        let mut var_openingFeeParams =
3585            <Option<crate::models::OpeningFeeParams>>::sse_decode(deserializer);
3586        let mut var_useDescriptionHash = <Option<bool>>::sse_decode(deserializer);
3587        let mut var_expiry = <Option<u32>>::sse_decode(deserializer);
3588        let mut var_cltv = <Option<u32>>::sse_decode(deserializer);
3589        return crate::models::ReceivePaymentRequest {
3590            amount_msat: var_amountMsat,
3591            description: var_description,
3592            preimage: var_preimage,
3593            opening_fee_params: var_openingFeeParams,
3594            use_description_hash: var_useDescriptionHash,
3595            expiry: var_expiry,
3596            cltv: var_cltv,
3597        };
3598    }
3599}
3600
3601impl SseDecode for crate::models::ReceivePaymentResponse {
3602    // Codec=Sse (Serialization based), see doc to use other codecs
3603    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3604        let mut var_lnInvoice = <crate::binding::LNInvoice>::sse_decode(deserializer);
3605        let mut var_openingFeeParams =
3606            <Option<crate::models::OpeningFeeParams>>::sse_decode(deserializer);
3607        let mut var_openingFeeMsat = <Option<u64>>::sse_decode(deserializer);
3608        return crate::models::ReceivePaymentResponse {
3609            ln_invoice: var_lnInvoice,
3610            opening_fee_params: var_openingFeeParams,
3611            opening_fee_msat: var_openingFeeMsat,
3612        };
3613    }
3614}
3615
3616impl SseDecode for crate::chain::RecommendedFees {
3617    // Codec=Sse (Serialization based), see doc to use other codecs
3618    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3619        let mut var_fastestFee = <u64>::sse_decode(deserializer);
3620        let mut var_halfHourFee = <u64>::sse_decode(deserializer);
3621        let mut var_hourFee = <u64>::sse_decode(deserializer);
3622        let mut var_economyFee = <u64>::sse_decode(deserializer);
3623        let mut var_minimumFee = <u64>::sse_decode(deserializer);
3624        return crate::chain::RecommendedFees {
3625            fastest_fee: var_fastestFee,
3626            half_hour_fee: var_halfHourFee,
3627            hour_fee: var_hourFee,
3628            economy_fee: var_economyFee,
3629            minimum_fee: var_minimumFee,
3630        };
3631    }
3632}
3633
3634impl SseDecode for crate::models::RedeemOnchainFundsRequest {
3635    // Codec=Sse (Serialization based), see doc to use other codecs
3636    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3637        let mut var_toAddress = <String>::sse_decode(deserializer);
3638        let mut var_satPerVbyte = <u32>::sse_decode(deserializer);
3639        return crate::models::RedeemOnchainFundsRequest {
3640            to_address: var_toAddress,
3641            sat_per_vbyte: var_satPerVbyte,
3642        };
3643    }
3644}
3645
3646impl SseDecode for crate::models::RedeemOnchainFundsResponse {
3647    // Codec=Sse (Serialization based), see doc to use other codecs
3648    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3649        let mut var_txid = <Vec<u8>>::sse_decode(deserializer);
3650        return crate::models::RedeemOnchainFundsResponse { txid: var_txid };
3651    }
3652}
3653
3654impl SseDecode for crate::models::RefundRequest {
3655    // Codec=Sse (Serialization based), see doc to use other codecs
3656    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3657        let mut var_swapAddress = <String>::sse_decode(deserializer);
3658        let mut var_toAddress = <String>::sse_decode(deserializer);
3659        let mut var_satPerVbyte = <u32>::sse_decode(deserializer);
3660        let mut var_unilateral = <Option<bool>>::sse_decode(deserializer);
3661        return crate::models::RefundRequest {
3662            swap_address: var_swapAddress,
3663            to_address: var_toAddress,
3664            sat_per_vbyte: var_satPerVbyte,
3665            unilateral: var_unilateral,
3666        };
3667    }
3668}
3669
3670impl SseDecode for crate::models::RefundResponse {
3671    // Codec=Sse (Serialization based), see doc to use other codecs
3672    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3673        let mut var_refundTxId = <String>::sse_decode(deserializer);
3674        return crate::models::RefundResponse {
3675            refund_tx_id: var_refundTxId,
3676        };
3677    }
3678}
3679
3680impl SseDecode for crate::models::ReportIssueRequest {
3681    // Codec=Sse (Serialization based), see doc to use other codecs
3682    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3683        let mut tag_ = <i32>::sse_decode(deserializer);
3684        match tag_ {
3685            0 => {
3686                let mut var_data =
3687                    <crate::models::ReportPaymentFailureDetails>::sse_decode(deserializer);
3688                return crate::models::ReportIssueRequest::PaymentFailure { data: var_data };
3689            }
3690            _ => {
3691                unimplemented!("");
3692            }
3693        }
3694    }
3695}
3696
3697impl SseDecode for crate::models::ReportPaymentFailureDetails {
3698    // Codec=Sse (Serialization based), see doc to use other codecs
3699    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3700        let mut var_paymentHash = <String>::sse_decode(deserializer);
3701        let mut var_comment = <Option<String>>::sse_decode(deserializer);
3702        return crate::models::ReportPaymentFailureDetails {
3703            payment_hash: var_paymentHash,
3704            comment: var_comment,
3705        };
3706    }
3707}
3708
3709impl SseDecode for crate::models::ReverseSwapFeesRequest {
3710    // Codec=Sse (Serialization based), see doc to use other codecs
3711    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3712        let mut var_sendAmountSat = <Option<u64>>::sse_decode(deserializer);
3713        let mut var_claimTxFeerate = <Option<u32>>::sse_decode(deserializer);
3714        return crate::models::ReverseSwapFeesRequest {
3715            send_amount_sat: var_sendAmountSat,
3716            claim_tx_feerate: var_claimTxFeerate,
3717        };
3718    }
3719}
3720
3721impl SseDecode for crate::models::ReverseSwapInfo {
3722    // Codec=Sse (Serialization based), see doc to use other codecs
3723    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3724        let mut var_id = <String>::sse_decode(deserializer);
3725        let mut var_claimPubkey = <String>::sse_decode(deserializer);
3726        let mut var_lockupTxid = <Option<String>>::sse_decode(deserializer);
3727        let mut var_claimTxid = <Option<String>>::sse_decode(deserializer);
3728        let mut var_onchainAmountSat = <u64>::sse_decode(deserializer);
3729        let mut var_status = <crate::models::ReverseSwapStatus>::sse_decode(deserializer);
3730        return crate::models::ReverseSwapInfo {
3731            id: var_id,
3732            claim_pubkey: var_claimPubkey,
3733            lockup_txid: var_lockupTxid,
3734            claim_txid: var_claimTxid,
3735            onchain_amount_sat: var_onchainAmountSat,
3736            status: var_status,
3737        };
3738    }
3739}
3740
3741impl SseDecode for crate::models::ReverseSwapPairInfo {
3742    // Codec=Sse (Serialization based), see doc to use other codecs
3743    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3744        let mut var_min = <u64>::sse_decode(deserializer);
3745        let mut var_max = <u64>::sse_decode(deserializer);
3746        let mut var_feesHash = <String>::sse_decode(deserializer);
3747        let mut var_feesPercentage = <f64>::sse_decode(deserializer);
3748        let mut var_feesLockup = <u64>::sse_decode(deserializer);
3749        let mut var_feesClaim = <u64>::sse_decode(deserializer);
3750        let mut var_totalFees = <Option<u64>>::sse_decode(deserializer);
3751        return crate::models::ReverseSwapPairInfo {
3752            min: var_min,
3753            max: var_max,
3754            fees_hash: var_feesHash,
3755            fees_percentage: var_feesPercentage,
3756            fees_lockup: var_feesLockup,
3757            fees_claim: var_feesClaim,
3758            total_fees: var_totalFees,
3759        };
3760    }
3761}
3762
3763impl SseDecode for crate::models::ReverseSwapStatus {
3764    // Codec=Sse (Serialization based), see doc to use other codecs
3765    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3766        let mut inner = <i32>::sse_decode(deserializer);
3767        return match inner {
3768            0 => crate::models::ReverseSwapStatus::Initial,
3769            1 => crate::models::ReverseSwapStatus::InProgress,
3770            2 => crate::models::ReverseSwapStatus::Cancelled,
3771            3 => crate::models::ReverseSwapStatus::CompletedSeen,
3772            4 => crate::models::ReverseSwapStatus::CompletedConfirmed,
3773            _ => unreachable!("Invalid variant for ReverseSwapStatus: {}", inner),
3774        };
3775    }
3776}
3777
3778impl SseDecode for crate::binding::RouteHint {
3779    // Codec=Sse (Serialization based), see doc to use other codecs
3780    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3781        let mut var_hops = <Vec<crate::binding::RouteHintHop>>::sse_decode(deserializer);
3782        return crate::binding::RouteHint { hops: var_hops };
3783    }
3784}
3785
3786impl SseDecode for crate::binding::RouteHintHop {
3787    // Codec=Sse (Serialization based), see doc to use other codecs
3788    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3789        let mut var_srcNodeId = <String>::sse_decode(deserializer);
3790        let mut var_shortChannelId = <String>::sse_decode(deserializer);
3791        let mut var_feesBaseMsat = <u32>::sse_decode(deserializer);
3792        let mut var_feesProportionalMillionths = <u32>::sse_decode(deserializer);
3793        let mut var_cltvExpiryDelta = <u64>::sse_decode(deserializer);
3794        let mut var_htlcMinimumMsat = <Option<u64>>::sse_decode(deserializer);
3795        let mut var_htlcMaximumMsat = <Option<u64>>::sse_decode(deserializer);
3796        return crate::binding::RouteHintHop {
3797            src_node_id: var_srcNodeId,
3798            short_channel_id: var_shortChannelId,
3799            fees_base_msat: var_feesBaseMsat,
3800            fees_proportional_millionths: var_feesProportionalMillionths,
3801            cltv_expiry_delta: var_cltvExpiryDelta,
3802            htlc_minimum_msat: var_htlcMinimumMsat,
3803            htlc_maximum_msat: var_htlcMaximumMsat,
3804        };
3805    }
3806}
3807
3808impl SseDecode for crate::models::SendPaymentRequest {
3809    // Codec=Sse (Serialization based), see doc to use other codecs
3810    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3811        let mut var_bolt11 = <String>::sse_decode(deserializer);
3812        let mut var_useTrampoline = <bool>::sse_decode(deserializer);
3813        let mut var_amountMsat = <Option<u64>>::sse_decode(deserializer);
3814        let mut var_label = <Option<String>>::sse_decode(deserializer);
3815        return crate::models::SendPaymentRequest {
3816            bolt11: var_bolt11,
3817            use_trampoline: var_useTrampoline,
3818            amount_msat: var_amountMsat,
3819            label: var_label,
3820        };
3821    }
3822}
3823
3824impl SseDecode for crate::models::SendPaymentResponse {
3825    // Codec=Sse (Serialization based), see doc to use other codecs
3826    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3827        let mut var_payment = <crate::models::Payment>::sse_decode(deserializer);
3828        return crate::models::SendPaymentResponse {
3829            payment: var_payment,
3830        };
3831    }
3832}
3833
3834impl SseDecode for crate::models::SendSpontaneousPaymentRequest {
3835    // Codec=Sse (Serialization based), see doc to use other codecs
3836    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3837        let mut var_nodeId = <String>::sse_decode(deserializer);
3838        let mut var_amountMsat = <u64>::sse_decode(deserializer);
3839        let mut var_extraTlvs = <Option<Vec<crate::models::TlvEntry>>>::sse_decode(deserializer);
3840        let mut var_label = <Option<String>>::sse_decode(deserializer);
3841        return crate::models::SendSpontaneousPaymentRequest {
3842            node_id: var_nodeId,
3843            amount_msat: var_amountMsat,
3844            extra_tlvs: var_extraTlvs,
3845            label: var_label,
3846        };
3847    }
3848}
3849
3850impl SseDecode for crate::models::ServiceHealthCheckResponse {
3851    // Codec=Sse (Serialization based), see doc to use other codecs
3852    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3853        let mut var_status = <crate::models::HealthCheckStatus>::sse_decode(deserializer);
3854        return crate::models::ServiceHealthCheckResponse { status: var_status };
3855    }
3856}
3857
3858impl SseDecode for crate::breez_services::SignMessageRequest {
3859    // Codec=Sse (Serialization based), see doc to use other codecs
3860    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3861        let mut var_message = <String>::sse_decode(deserializer);
3862        return crate::breez_services::SignMessageRequest {
3863            message: var_message,
3864        };
3865    }
3866}
3867
3868impl SseDecode for crate::breez_services::SignMessageResponse {
3869    // Codec=Sse (Serialization based), see doc to use other codecs
3870    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3871        let mut var_signature = <String>::sse_decode(deserializer);
3872        return crate::breez_services::SignMessageResponse {
3873            signature: var_signature,
3874        };
3875    }
3876}
3877
3878impl SseDecode for crate::models::StaticBackupRequest {
3879    // Codec=Sse (Serialization based), see doc to use other codecs
3880    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3881        let mut var_workingDir = <String>::sse_decode(deserializer);
3882        return crate::models::StaticBackupRequest {
3883            working_dir: var_workingDir,
3884        };
3885    }
3886}
3887
3888impl SseDecode for crate::models::StaticBackupResponse {
3889    // Codec=Sse (Serialization based), see doc to use other codecs
3890    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3891        let mut var_backup = <Option<Vec<String>>>::sse_decode(deserializer);
3892        return crate::models::StaticBackupResponse { backup: var_backup };
3893    }
3894}
3895
3896impl SseDecode for crate::binding::SuccessActionProcessed {
3897    // Codec=Sse (Serialization based), see doc to use other codecs
3898    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3899        let mut tag_ = <i32>::sse_decode(deserializer);
3900        match tag_ {
3901            0 => {
3902                let mut var_result =
3903                    <crate::binding::AesSuccessActionDataResult>::sse_decode(deserializer);
3904                return crate::binding::SuccessActionProcessed::Aes { result: var_result };
3905            }
3906            1 => {
3907                let mut var_data =
3908                    <crate::binding::MessageSuccessActionData>::sse_decode(deserializer);
3909                return crate::binding::SuccessActionProcessed::Message { data: var_data };
3910            }
3911            2 => {
3912                let mut var_data = <crate::binding::UrlSuccessActionData>::sse_decode(deserializer);
3913                return crate::binding::SuccessActionProcessed::Url { data: var_data };
3914            }
3915            _ => {
3916                unimplemented!("");
3917            }
3918        }
3919    }
3920}
3921
3922impl SseDecode for crate::models::SwapAmountType {
3923    // Codec=Sse (Serialization based), see doc to use other codecs
3924    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3925        let mut inner = <i32>::sse_decode(deserializer);
3926        return match inner {
3927            0 => crate::models::SwapAmountType::Send,
3928            1 => crate::models::SwapAmountType::Receive,
3929            _ => unreachable!("Invalid variant for SwapAmountType: {}", inner),
3930        };
3931    }
3932}
3933
3934impl SseDecode for crate::models::SwapInfo {
3935    // Codec=Sse (Serialization based), see doc to use other codecs
3936    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3937        let mut var_bitcoinAddress = <String>::sse_decode(deserializer);
3938        let mut var_createdAt = <i64>::sse_decode(deserializer);
3939        let mut var_lockHeight = <i64>::sse_decode(deserializer);
3940        let mut var_paymentHash = <Vec<u8>>::sse_decode(deserializer);
3941        let mut var_preimage = <Vec<u8>>::sse_decode(deserializer);
3942        let mut var_privateKey = <Vec<u8>>::sse_decode(deserializer);
3943        let mut var_publicKey = <Vec<u8>>::sse_decode(deserializer);
3944        let mut var_swapperPublicKey = <Vec<u8>>::sse_decode(deserializer);
3945        let mut var_script = <Vec<u8>>::sse_decode(deserializer);
3946        let mut var_bolt11 = <Option<String>>::sse_decode(deserializer);
3947        let mut var_paidMsat = <u64>::sse_decode(deserializer);
3948        let mut var_totalIncomingTxs = <u64>::sse_decode(deserializer);
3949        let mut var_confirmedSats = <u64>::sse_decode(deserializer);
3950        let mut var_unconfirmedSats = <u64>::sse_decode(deserializer);
3951        let mut var_status = <crate::models::SwapStatus>::sse_decode(deserializer);
3952        let mut var_refundTxIds = <Vec<String>>::sse_decode(deserializer);
3953        let mut var_unconfirmedTxIds = <Vec<String>>::sse_decode(deserializer);
3954        let mut var_confirmedTxIds = <Vec<String>>::sse_decode(deserializer);
3955        let mut var_minAllowedDeposit = <i64>::sse_decode(deserializer);
3956        let mut var_maxAllowedDeposit = <i64>::sse_decode(deserializer);
3957        let mut var_maxSwapperPayable = <i64>::sse_decode(deserializer);
3958        let mut var_lastRedeemError = <Option<String>>::sse_decode(deserializer);
3959        let mut var_channelOpeningFees =
3960            <Option<crate::models::OpeningFeeParams>>::sse_decode(deserializer);
3961        let mut var_confirmedAt = <Option<u32>>::sse_decode(deserializer);
3962        return crate::models::SwapInfo {
3963            bitcoin_address: var_bitcoinAddress,
3964            created_at: var_createdAt,
3965            lock_height: var_lockHeight,
3966            payment_hash: var_paymentHash,
3967            preimage: var_preimage,
3968            private_key: var_privateKey,
3969            public_key: var_publicKey,
3970            swapper_public_key: var_swapperPublicKey,
3971            script: var_script,
3972            bolt11: var_bolt11,
3973            paid_msat: var_paidMsat,
3974            total_incoming_txs: var_totalIncomingTxs,
3975            confirmed_sats: var_confirmedSats,
3976            unconfirmed_sats: var_unconfirmedSats,
3977            status: var_status,
3978            refund_tx_ids: var_refundTxIds,
3979            unconfirmed_tx_ids: var_unconfirmedTxIds,
3980            confirmed_tx_ids: var_confirmedTxIds,
3981            min_allowed_deposit: var_minAllowedDeposit,
3982            max_allowed_deposit: var_maxAllowedDeposit,
3983            max_swapper_payable: var_maxSwapperPayable,
3984            last_redeem_error: var_lastRedeemError,
3985            channel_opening_fees: var_channelOpeningFees,
3986            confirmed_at: var_confirmedAt,
3987        };
3988    }
3989}
3990
3991impl SseDecode for crate::models::SwapStatus {
3992    // Codec=Sse (Serialization based), see doc to use other codecs
3993    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
3994        let mut inner = <i32>::sse_decode(deserializer);
3995        return match inner {
3996            0 => crate::models::SwapStatus::Initial,
3997            1 => crate::models::SwapStatus::WaitingConfirmation,
3998            2 => crate::models::SwapStatus::Redeemable,
3999            3 => crate::models::SwapStatus::Redeemed,
4000            4 => crate::models::SwapStatus::Refundable,
4001            5 => crate::models::SwapStatus::Completed,
4002            _ => unreachable!("Invalid variant for SwapStatus: {}", inner),
4003        };
4004    }
4005}
4006
4007impl SseDecode for crate::binding::Symbol {
4008    // Codec=Sse (Serialization based), see doc to use other codecs
4009    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4010        let mut var_grapheme = <Option<String>>::sse_decode(deserializer);
4011        let mut var_template = <Option<String>>::sse_decode(deserializer);
4012        let mut var_rtl = <Option<bool>>::sse_decode(deserializer);
4013        let mut var_position = <Option<u32>>::sse_decode(deserializer);
4014        return crate::binding::Symbol {
4015            grapheme: var_grapheme,
4016            template: var_template,
4017            rtl: var_rtl,
4018            position: var_position,
4019        };
4020    }
4021}
4022
4023impl SseDecode for crate::models::TlvEntry {
4024    // Codec=Sse (Serialization based), see doc to use other codecs
4025    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4026        let mut var_fieldNumber = <u64>::sse_decode(deserializer);
4027        let mut var_value = <Vec<u8>>::sse_decode(deserializer);
4028        return crate::models::TlvEntry {
4029            field_number: var_fieldNumber,
4030            value: var_value,
4031        };
4032    }
4033}
4034
4035impl SseDecode for u16 {
4036    // Codec=Sse (Serialization based), see doc to use other codecs
4037    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4038        deserializer.cursor.read_u16::<NativeEndian>().unwrap()
4039    }
4040}
4041
4042impl SseDecode for u32 {
4043    // Codec=Sse (Serialization based), see doc to use other codecs
4044    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4045        deserializer.cursor.read_u32::<NativeEndian>().unwrap()
4046    }
4047}
4048
4049impl SseDecode for u64 {
4050    // Codec=Sse (Serialization based), see doc to use other codecs
4051    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4052        deserializer.cursor.read_u64::<NativeEndian>().unwrap()
4053    }
4054}
4055
4056impl SseDecode for u8 {
4057    // Codec=Sse (Serialization based), see doc to use other codecs
4058    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4059        deserializer.cursor.read_u8().unwrap()
4060    }
4061}
4062
4063impl SseDecode for () {
4064    // Codec=Sse (Serialization based), see doc to use other codecs
4065    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {}
4066}
4067
4068impl SseDecode for crate::models::UnspentTransactionOutput {
4069    // Codec=Sse (Serialization based), see doc to use other codecs
4070    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4071        let mut var_txid = <Vec<u8>>::sse_decode(deserializer);
4072        let mut var_outnum = <u32>::sse_decode(deserializer);
4073        let mut var_amountMillisatoshi = <u64>::sse_decode(deserializer);
4074        let mut var_address = <String>::sse_decode(deserializer);
4075        let mut var_reserved = <bool>::sse_decode(deserializer);
4076        return crate::models::UnspentTransactionOutput {
4077            txid: var_txid,
4078            outnum: var_outnum,
4079            amount_millisatoshi: var_amountMillisatoshi,
4080            address: var_address,
4081            reserved: var_reserved,
4082        };
4083    }
4084}
4085
4086impl SseDecode for crate::binding::UrlSuccessActionData {
4087    // Codec=Sse (Serialization based), see doc to use other codecs
4088    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
4089        let mut var_description = <String>::sse_decode(deserializer);
4090        let mut var_url = <String>::sse_decode(deserializer);
4091        let mut var_matchesCallbackDomain = <bool>::sse_decode(deserializer);
4092        return crate::binding::UrlSuccessActionData {
4093            description: var_description,
4094            url: var_url,
4095            matches_callback_domain: var_matchesCallbackDomain,
4096        };
4097    }
4098}
4099
4100fn pde_ffi_dispatcher_primary_impl(
4101    func_id: i32,
4102    port: flutter_rust_bridge::for_generated::MessagePort,
4103    ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
4104    rust_vec_len: i32,
4105    data_len: i32,
4106) {
4107    // Codec=Pde (Serialization + dispatch), see doc to use other codecs
4108    match func_id {
4109        _ => unreachable!(),
4110    }
4111}
4112
4113fn pde_ffi_dispatcher_sync_impl(
4114    func_id: i32,
4115    ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
4116    rust_vec_len: i32,
4117    data_len: i32,
4118) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse {
4119    // Codec=Pde (Serialization + dispatch), see doc to use other codecs
4120    match func_id {
4121        _ => unreachable!(),
4122    }
4123}
4124
4125// Section: rust2dart
4126
4127// Codec=Dco (DartCObject based), see doc to use other codecs
4128impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::AesSuccessActionDataDecrypted> {
4129    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4130        [
4131            self.0.description.into_into_dart().into_dart(),
4132            self.0.plaintext.into_into_dart().into_dart(),
4133        ]
4134        .into_dart()
4135    }
4136}
4137impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4138    for FrbWrapper<crate::binding::AesSuccessActionDataDecrypted>
4139{
4140}
4141impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::AesSuccessActionDataDecrypted>>
4142    for crate::binding::AesSuccessActionDataDecrypted
4143{
4144    fn into_into_dart(self) -> FrbWrapper<crate::binding::AesSuccessActionDataDecrypted> {
4145        self.into()
4146    }
4147}
4148// Codec=Dco (DartCObject based), see doc to use other codecs
4149impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::AesSuccessActionDataResult> {
4150    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4151        match self.0 {
4152            crate::binding::AesSuccessActionDataResult::Decrypted { data } => {
4153                [0.into_dart(), data.into_into_dart().into_dart()].into_dart()
4154            }
4155            crate::binding::AesSuccessActionDataResult::ErrorStatus { reason } => {
4156                [1.into_dart(), reason.into_into_dart().into_dart()].into_dart()
4157            }
4158            _ => {
4159                unimplemented!("");
4160            }
4161        }
4162    }
4163}
4164impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4165    for FrbWrapper<crate::binding::AesSuccessActionDataResult>
4166{
4167}
4168impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::AesSuccessActionDataResult>>
4169    for crate::binding::AesSuccessActionDataResult
4170{
4171    fn into_into_dart(self) -> FrbWrapper<crate::binding::AesSuccessActionDataResult> {
4172        self.into()
4173    }
4174}
4175// Codec=Dco (DartCObject based), see doc to use other codecs
4176impl flutter_rust_bridge::IntoDart for crate::breez_services::BackupFailedData {
4177    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4178        [self.error.into_into_dart().into_dart()].into_dart()
4179    }
4180}
4181impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4182    for crate::breez_services::BackupFailedData
4183{
4184}
4185impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::BackupFailedData>
4186    for crate::breez_services::BackupFailedData
4187{
4188    fn into_into_dart(self) -> crate::breez_services::BackupFailedData {
4189        self
4190    }
4191}
4192// Codec=Dco (DartCObject based), see doc to use other codecs
4193impl flutter_rust_bridge::IntoDart for crate::models::BackupStatus {
4194    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4195        [
4196            self.backed_up.into_into_dart().into_dart(),
4197            self.last_backup_time.into_into_dart().into_dart(),
4198        ]
4199        .into_dart()
4200    }
4201}
4202impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::BackupStatus {}
4203impl flutter_rust_bridge::IntoIntoDart<crate::models::BackupStatus>
4204    for crate::models::BackupStatus
4205{
4206    fn into_into_dart(self) -> crate::models::BackupStatus {
4207        self
4208    }
4209}
4210// Codec=Dco (DartCObject based), see doc to use other codecs
4211impl flutter_rust_bridge::IntoDart for crate::binding::BindingEventListener {
4212    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4213        Vec::<u8>::new().into_dart()
4214    }
4215}
4216impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4217    for crate::binding::BindingEventListener
4218{
4219}
4220impl flutter_rust_bridge::IntoIntoDart<crate::binding::BindingEventListener>
4221    for crate::binding::BindingEventListener
4222{
4223    fn into_into_dart(self) -> crate::binding::BindingEventListener {
4224        self
4225    }
4226}
4227// Codec=Dco (DartCObject based), see doc to use other codecs
4228impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::BitcoinAddressData> {
4229    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4230        [
4231            self.0.address.into_into_dart().into_dart(),
4232            self.0.network.into_into_dart().into_dart(),
4233            self.0.amount_sat.into_into_dart().into_dart(),
4234            self.0.label.into_into_dart().into_dart(),
4235            self.0.message.into_into_dart().into_dart(),
4236        ]
4237        .into_dart()
4238    }
4239}
4240impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4241    for FrbWrapper<crate::binding::BitcoinAddressData>
4242{
4243}
4244impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::BitcoinAddressData>>
4245    for crate::binding::BitcoinAddressData
4246{
4247    fn into_into_dart(self) -> FrbWrapper<crate::binding::BitcoinAddressData> {
4248        self.into()
4249    }
4250}
4251// Codec=Dco (DartCObject based), see doc to use other codecs
4252impl flutter_rust_bridge::IntoDart for crate::breez_services::BreezEvent {
4253    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4254        match self {
4255            crate::breez_services::BreezEvent::NewBlock { block } => {
4256                [0.into_dart(), block.into_into_dart().into_dart()].into_dart()
4257            }
4258            crate::breez_services::BreezEvent::InvoicePaid { details } => {
4259                [1.into_dart(), details.into_into_dart().into_dart()].into_dart()
4260            }
4261            crate::breez_services::BreezEvent::Synced => [2.into_dart()].into_dart(),
4262            crate::breez_services::BreezEvent::PaymentSucceed { details } => {
4263                [3.into_dart(), details.into_into_dart().into_dart()].into_dart()
4264            }
4265            crate::breez_services::BreezEvent::PaymentFailed { details } => {
4266                [4.into_dart(), details.into_into_dart().into_dart()].into_dart()
4267            }
4268            crate::breez_services::BreezEvent::BackupStarted => [5.into_dart()].into_dart(),
4269            crate::breez_services::BreezEvent::BackupSucceeded => [6.into_dart()].into_dart(),
4270            crate::breez_services::BreezEvent::BackupFailed { details } => {
4271                [7.into_dart(), details.into_into_dart().into_dart()].into_dart()
4272            }
4273            crate::breez_services::BreezEvent::ReverseSwapUpdated { details } => {
4274                [8.into_dart(), details.into_into_dart().into_dart()].into_dart()
4275            }
4276            crate::breez_services::BreezEvent::SwapUpdated { details } => {
4277                [9.into_dart(), details.into_into_dart().into_dart()].into_dart()
4278            }
4279            _ => {
4280                unimplemented!("");
4281            }
4282        }
4283    }
4284}
4285impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4286    for crate::breez_services::BreezEvent
4287{
4288}
4289impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::BreezEvent>
4290    for crate::breez_services::BreezEvent
4291{
4292    fn into_into_dart(self) -> crate::breez_services::BreezEvent {
4293        self
4294    }
4295}
4296// Codec=Dco (DartCObject based), see doc to use other codecs
4297impl flutter_rust_bridge::IntoDart for crate::models::BuyBitcoinProvider {
4298    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4299        match self {
4300            Self::Moonpay => 0.into_dart(),
4301            _ => unreachable!(),
4302        }
4303    }
4304}
4305impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4306    for crate::models::BuyBitcoinProvider
4307{
4308}
4309impl flutter_rust_bridge::IntoIntoDart<crate::models::BuyBitcoinProvider>
4310    for crate::models::BuyBitcoinProvider
4311{
4312    fn into_into_dart(self) -> crate::models::BuyBitcoinProvider {
4313        self
4314    }
4315}
4316// Codec=Dco (DartCObject based), see doc to use other codecs
4317impl flutter_rust_bridge::IntoDart for crate::models::BuyBitcoinRequest {
4318    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4319        [
4320            self.provider.into_into_dart().into_dart(),
4321            self.opening_fee_params.into_into_dart().into_dart(),
4322            self.redirect_url.into_into_dart().into_dart(),
4323        ]
4324        .into_dart()
4325    }
4326}
4327impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4328    for crate::models::BuyBitcoinRequest
4329{
4330}
4331impl flutter_rust_bridge::IntoIntoDart<crate::models::BuyBitcoinRequest>
4332    for crate::models::BuyBitcoinRequest
4333{
4334    fn into_into_dart(self) -> crate::models::BuyBitcoinRequest {
4335        self
4336    }
4337}
4338// Codec=Dco (DartCObject based), see doc to use other codecs
4339impl flutter_rust_bridge::IntoDart for crate::models::BuyBitcoinResponse {
4340    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4341        [
4342            self.url.into_into_dart().into_dart(),
4343            self.opening_fee_params.into_into_dart().into_dart(),
4344        ]
4345        .into_dart()
4346    }
4347}
4348impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4349    for crate::models::BuyBitcoinResponse
4350{
4351}
4352impl flutter_rust_bridge::IntoIntoDart<crate::models::BuyBitcoinResponse>
4353    for crate::models::BuyBitcoinResponse
4354{
4355    fn into_into_dart(self) -> crate::models::BuyBitcoinResponse {
4356        self
4357    }
4358}
4359// Codec=Dco (DartCObject based), see doc to use other codecs
4360impl flutter_rust_bridge::IntoDart for crate::models::ChannelState {
4361    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4362        match self {
4363            Self::PendingOpen => 0.into_dart(),
4364            Self::Opened => 1.into_dart(),
4365            Self::PendingClose => 2.into_dart(),
4366            Self::Closed => 3.into_dart(),
4367            _ => unreachable!(),
4368        }
4369    }
4370}
4371impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::ChannelState {}
4372impl flutter_rust_bridge::IntoIntoDart<crate::models::ChannelState>
4373    for crate::models::ChannelState
4374{
4375    fn into_into_dart(self) -> crate::models::ChannelState {
4376        self
4377    }
4378}
4379// Codec=Dco (DartCObject based), see doc to use other codecs
4380impl flutter_rust_bridge::IntoDart for crate::breez_services::CheckMessageRequest {
4381    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4382        [
4383            self.message.into_into_dart().into_dart(),
4384            self.pubkey.into_into_dart().into_dart(),
4385            self.signature.into_into_dart().into_dart(),
4386        ]
4387        .into_dart()
4388    }
4389}
4390impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4391    for crate::breez_services::CheckMessageRequest
4392{
4393}
4394impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::CheckMessageRequest>
4395    for crate::breez_services::CheckMessageRequest
4396{
4397    fn into_into_dart(self) -> crate::breez_services::CheckMessageRequest {
4398        self
4399    }
4400}
4401// Codec=Dco (DartCObject based), see doc to use other codecs
4402impl flutter_rust_bridge::IntoDart for crate::breez_services::CheckMessageResponse {
4403    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4404        [self.is_valid.into_into_dart().into_dart()].into_dart()
4405    }
4406}
4407impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4408    for crate::breez_services::CheckMessageResponse
4409{
4410}
4411impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::CheckMessageResponse>
4412    for crate::breez_services::CheckMessageResponse
4413{
4414    fn into_into_dart(self) -> crate::breez_services::CheckMessageResponse {
4415        self
4416    }
4417}
4418// Codec=Dco (DartCObject based), see doc to use other codecs
4419impl flutter_rust_bridge::IntoDart for crate::models::ClosedChannelPaymentDetails {
4420    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4421        [
4422            self.state.into_into_dart().into_dart(),
4423            self.funding_txid.into_into_dart().into_dart(),
4424            self.short_channel_id.into_into_dart().into_dart(),
4425            self.closing_txid.into_into_dart().into_dart(),
4426        ]
4427        .into_dart()
4428    }
4429}
4430impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4431    for crate::models::ClosedChannelPaymentDetails
4432{
4433}
4434impl flutter_rust_bridge::IntoIntoDart<crate::models::ClosedChannelPaymentDetails>
4435    for crate::models::ClosedChannelPaymentDetails
4436{
4437    fn into_into_dart(self) -> crate::models::ClosedChannelPaymentDetails {
4438        self
4439    }
4440}
4441// Codec=Dco (DartCObject based), see doc to use other codecs
4442impl flutter_rust_bridge::IntoDart for crate::models::Config {
4443    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4444        [
4445            self.breezserver.into_into_dart().into_dart(),
4446            self.chainnotifier_url.into_into_dart().into_dart(),
4447            self.mempoolspace_url.into_into_dart().into_dart(),
4448            self.working_dir.into_into_dart().into_dart(),
4449            self.network.into_into_dart().into_dart(),
4450            self.payment_timeout_sec.into_into_dart().into_dart(),
4451            self.default_lsp_id.into_into_dart().into_dart(),
4452            self.api_key.into_into_dart().into_dart(),
4453            self.maxfee_percent.into_into_dart().into_dart(),
4454            self.exemptfee_msat.into_into_dart().into_dart(),
4455            self.node_config.into_into_dart().into_dart(),
4456        ]
4457        .into_dart()
4458    }
4459}
4460impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::Config {}
4461impl flutter_rust_bridge::IntoIntoDart<crate::models::Config> for crate::models::Config {
4462    fn into_into_dart(self) -> crate::models::Config {
4463        self
4464    }
4465}
4466// Codec=Dco (DartCObject based), see doc to use other codecs
4467impl flutter_rust_bridge::IntoDart for crate::models::ConfigureNodeRequest {
4468    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4469        [self.close_to_address.into_into_dart().into_dart()].into_dart()
4470    }
4471}
4472impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4473    for crate::models::ConfigureNodeRequest
4474{
4475}
4476impl flutter_rust_bridge::IntoIntoDart<crate::models::ConfigureNodeRequest>
4477    for crate::models::ConfigureNodeRequest
4478{
4479    fn into_into_dart(self) -> crate::models::ConfigureNodeRequest {
4480        self
4481    }
4482}
4483// Codec=Dco (DartCObject based), see doc to use other codecs
4484impl flutter_rust_bridge::IntoDart for crate::models::ConnectRequest {
4485    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4486        [
4487            self.config.into_into_dart().into_dart(),
4488            self.seed.into_into_dart().into_dart(),
4489            self.restore_only.into_into_dart().into_dart(),
4490        ]
4491        .into_dart()
4492    }
4493}
4494impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::ConnectRequest {}
4495impl flutter_rust_bridge::IntoIntoDart<crate::models::ConnectRequest>
4496    for crate::models::ConnectRequest
4497{
4498    fn into_into_dart(self) -> crate::models::ConnectRequest {
4499        self
4500    }
4501}
4502// Codec=Dco (DartCObject based), see doc to use other codecs
4503impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::CurrencyInfo> {
4504    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4505        [
4506            self.0.name.into_into_dart().into_dart(),
4507            self.0.fraction_size.into_into_dart().into_dart(),
4508            self.0.spacing.into_into_dart().into_dart(),
4509            self.0.symbol.into_into_dart().into_dart(),
4510            self.0.uniq_symbol.into_into_dart().into_dart(),
4511            self.0.localized_name.into_into_dart().into_dart(),
4512            self.0.locale_overrides.into_into_dart().into_dart(),
4513        ]
4514        .into_dart()
4515    }
4516}
4517impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4518    for FrbWrapper<crate::binding::CurrencyInfo>
4519{
4520}
4521impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::CurrencyInfo>>
4522    for crate::binding::CurrencyInfo
4523{
4524    fn into_into_dart(self) -> FrbWrapper<crate::binding::CurrencyInfo> {
4525        self.into()
4526    }
4527}
4528// Codec=Dco (DartCObject based), see doc to use other codecs
4529impl flutter_rust_bridge::IntoDart for crate::models::EnvironmentType {
4530    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4531        match self {
4532            Self::Production => 0.into_dart(),
4533            Self::Staging => 1.into_dart(),
4534            _ => unreachable!(),
4535        }
4536    }
4537}
4538impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4539    for crate::models::EnvironmentType
4540{
4541}
4542impl flutter_rust_bridge::IntoIntoDart<crate::models::EnvironmentType>
4543    for crate::models::EnvironmentType
4544{
4545    fn into_into_dart(self) -> crate::models::EnvironmentType {
4546        self
4547    }
4548}
4549// Codec=Dco (DartCObject based), see doc to use other codecs
4550impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::FiatCurrency> {
4551    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4552        [
4553            self.0.id.into_into_dart().into_dart(),
4554            self.0.info.into_into_dart().into_dart(),
4555        ]
4556        .into_dart()
4557    }
4558}
4559impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4560    for FrbWrapper<crate::binding::FiatCurrency>
4561{
4562}
4563impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::FiatCurrency>>
4564    for crate::binding::FiatCurrency
4565{
4566    fn into_into_dart(self) -> FrbWrapper<crate::binding::FiatCurrency> {
4567        self.into()
4568    }
4569}
4570// Codec=Dco (DartCObject based), see doc to use other codecs
4571impl flutter_rust_bridge::IntoDart for crate::models::GreenlightCredentials {
4572    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4573        [
4574            self.developer_key.into_into_dart().into_dart(),
4575            self.developer_cert.into_into_dart().into_dart(),
4576        ]
4577        .into_dart()
4578    }
4579}
4580impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4581    for crate::models::GreenlightCredentials
4582{
4583}
4584impl flutter_rust_bridge::IntoIntoDart<crate::models::GreenlightCredentials>
4585    for crate::models::GreenlightCredentials
4586{
4587    fn into_into_dart(self) -> crate::models::GreenlightCredentials {
4588        self
4589    }
4590}
4591// Codec=Dco (DartCObject based), see doc to use other codecs
4592impl flutter_rust_bridge::IntoDart for crate::models::GreenlightDeviceCredentials {
4593    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4594        [self.device.into_into_dart().into_dart()].into_dart()
4595    }
4596}
4597impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4598    for crate::models::GreenlightDeviceCredentials
4599{
4600}
4601impl flutter_rust_bridge::IntoIntoDart<crate::models::GreenlightDeviceCredentials>
4602    for crate::models::GreenlightDeviceCredentials
4603{
4604    fn into_into_dart(self) -> crate::models::GreenlightDeviceCredentials {
4605        self
4606    }
4607}
4608// Codec=Dco (DartCObject based), see doc to use other codecs
4609impl flutter_rust_bridge::IntoDart for crate::models::GreenlightNodeConfig {
4610    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4611        [
4612            self.partner_credentials.into_into_dart().into_dart(),
4613            self.invite_code.into_into_dart().into_dart(),
4614        ]
4615        .into_dart()
4616    }
4617}
4618impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4619    for crate::models::GreenlightNodeConfig
4620{
4621}
4622impl flutter_rust_bridge::IntoIntoDart<crate::models::GreenlightNodeConfig>
4623    for crate::models::GreenlightNodeConfig
4624{
4625    fn into_into_dart(self) -> crate::models::GreenlightNodeConfig {
4626        self
4627    }
4628}
4629// Codec=Dco (DartCObject based), see doc to use other codecs
4630impl flutter_rust_bridge::IntoDart for crate::models::HealthCheckStatus {
4631    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4632        match self {
4633            Self::Operational => 0.into_dart(),
4634            Self::Maintenance => 1.into_dart(),
4635            Self::ServiceDisruption => 2.into_dart(),
4636            _ => unreachable!(),
4637        }
4638    }
4639}
4640impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4641    for crate::models::HealthCheckStatus
4642{
4643}
4644impl flutter_rust_bridge::IntoIntoDart<crate::models::HealthCheckStatus>
4645    for crate::models::HealthCheckStatus
4646{
4647    fn into_into_dart(self) -> crate::models::HealthCheckStatus {
4648        self
4649    }
4650}
4651// Codec=Dco (DartCObject based), see doc to use other codecs
4652impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::InputType> {
4653    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4654        match self.0 {
4655            crate::binding::InputType::BitcoinAddress { address } => {
4656                [0.into_dart(), address.into_into_dart().into_dart()].into_dart()
4657            }
4658            crate::binding::InputType::Bolt11 { invoice } => {
4659                [1.into_dart(), invoice.into_into_dart().into_dart()].into_dart()
4660            }
4661            crate::binding::InputType::NodeId { node_id } => {
4662                [2.into_dart(), node_id.into_into_dart().into_dart()].into_dart()
4663            }
4664            crate::binding::InputType::Url { url } => {
4665                [3.into_dart(), url.into_into_dart().into_dart()].into_dart()
4666            }
4667            crate::binding::InputType::LnUrlPay {
4668                data,
4669                bip353_address,
4670            } => [
4671                4.into_dart(),
4672                data.into_into_dart().into_dart(),
4673                bip353_address.into_into_dart().into_dart(),
4674            ]
4675            .into_dart(),
4676            crate::binding::InputType::LnUrlWithdraw { data } => {
4677                [5.into_dart(), data.into_into_dart().into_dart()].into_dart()
4678            }
4679            crate::binding::InputType::LnUrlAuth { data } => {
4680                [6.into_dart(), data.into_into_dart().into_dart()].into_dart()
4681            }
4682            crate::binding::InputType::LnUrlError { data } => {
4683                [7.into_dart(), data.into_into_dart().into_dart()].into_dart()
4684            }
4685            _ => {
4686                unimplemented!("");
4687            }
4688        }
4689    }
4690}
4691impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4692    for FrbWrapper<crate::binding::InputType>
4693{
4694}
4695impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::InputType>>
4696    for crate::binding::InputType
4697{
4698    fn into_into_dart(self) -> FrbWrapper<crate::binding::InputType> {
4699        self.into()
4700    }
4701}
4702// Codec=Dco (DartCObject based), see doc to use other codecs
4703impl flutter_rust_bridge::IntoDart for crate::breez_services::InvoicePaidDetails {
4704    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4705        [
4706            self.payment_hash.into_into_dart().into_dart(),
4707            self.bolt11.into_into_dart().into_dart(),
4708            self.payment.into_into_dart().into_dart(),
4709        ]
4710        .into_dart()
4711    }
4712}
4713impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4714    for crate::breez_services::InvoicePaidDetails
4715{
4716}
4717impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::InvoicePaidDetails>
4718    for crate::breez_services::InvoicePaidDetails
4719{
4720    fn into_into_dart(self) -> crate::breez_services::InvoicePaidDetails {
4721        self
4722    }
4723}
4724// Codec=Dco (DartCObject based), see doc to use other codecs
4725impl flutter_rust_bridge::IntoDart for crate::models::ListPaymentsRequest {
4726    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4727        [
4728            self.filters.into_into_dart().into_dart(),
4729            self.metadata_filters.into_into_dart().into_dart(),
4730            self.from_timestamp.into_into_dart().into_dart(),
4731            self.to_timestamp.into_into_dart().into_dart(),
4732            self.include_failures.into_into_dart().into_dart(),
4733            self.offset.into_into_dart().into_dart(),
4734            self.limit.into_into_dart().into_dart(),
4735        ]
4736        .into_dart()
4737    }
4738}
4739impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4740    for crate::models::ListPaymentsRequest
4741{
4742}
4743impl flutter_rust_bridge::IntoIntoDart<crate::models::ListPaymentsRequest>
4744    for crate::models::ListPaymentsRequest
4745{
4746    fn into_into_dart(self) -> crate::models::ListPaymentsRequest {
4747        self
4748    }
4749}
4750// Codec=Dco (DartCObject based), see doc to use other codecs
4751impl flutter_rust_bridge::IntoDart for crate::models::ListSwapsRequest {
4752    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4753        [
4754            self.status.into_into_dart().into_dart(),
4755            self.from_timestamp.into_into_dart().into_dart(),
4756            self.to_timestamp.into_into_dart().into_dart(),
4757            self.offset.into_into_dart().into_dart(),
4758            self.limit.into_into_dart().into_dart(),
4759        ]
4760        .into_dart()
4761    }
4762}
4763impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4764    for crate::models::ListSwapsRequest
4765{
4766}
4767impl flutter_rust_bridge::IntoIntoDart<crate::models::ListSwapsRequest>
4768    for crate::models::ListSwapsRequest
4769{
4770    fn into_into_dart(self) -> crate::models::ListSwapsRequest {
4771        self
4772    }
4773}
4774// Codec=Dco (DartCObject based), see doc to use other codecs
4775impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LNInvoice> {
4776    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4777        [
4778            self.0.bolt11.into_into_dart().into_dart(),
4779            self.0.network.into_into_dart().into_dart(),
4780            self.0.payee_pubkey.into_into_dart().into_dart(),
4781            self.0.payment_hash.into_into_dart().into_dart(),
4782            self.0.description.into_into_dart().into_dart(),
4783            self.0.description_hash.into_into_dart().into_dart(),
4784            self.0.amount_msat.into_into_dart().into_dart(),
4785            self.0.timestamp.into_into_dart().into_dart(),
4786            self.0.expiry.into_into_dart().into_dart(),
4787            self.0.routing_hints.into_into_dart().into_dart(),
4788            self.0.payment_secret.into_into_dart().into_dart(),
4789            self.0
4790                .min_final_cltv_expiry_delta
4791                .into_into_dart()
4792                .into_dart(),
4793        ]
4794        .into_dart()
4795    }
4796}
4797impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4798    for FrbWrapper<crate::binding::LNInvoice>
4799{
4800}
4801impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LNInvoice>>
4802    for crate::binding::LNInvoice
4803{
4804    fn into_into_dart(self) -> FrbWrapper<crate::binding::LNInvoice> {
4805        self.into()
4806    }
4807}
4808// Codec=Dco (DartCObject based), see doc to use other codecs
4809impl flutter_rust_bridge::IntoDart for crate::models::LnPaymentDetails {
4810    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4811        [
4812            self.payment_hash.into_into_dart().into_dart(),
4813            self.label.into_into_dart().into_dart(),
4814            self.destination_pubkey.into_into_dart().into_dart(),
4815            self.payment_preimage.into_into_dart().into_dart(),
4816            self.keysend.into_into_dart().into_dart(),
4817            self.bolt11.into_into_dart().into_dart(),
4818            self.open_channel_bolt11.into_into_dart().into_dart(),
4819            self.lnurl_success_action.into_into_dart().into_dart(),
4820            self.lnurl_pay_domain.into_into_dart().into_dart(),
4821            self.lnurl_pay_comment.into_into_dart().into_dart(),
4822            self.ln_address.into_into_dart().into_dart(),
4823            self.lnurl_metadata.into_into_dart().into_dart(),
4824            self.lnurl_withdraw_endpoint.into_into_dart().into_dart(),
4825            self.swap_info.into_into_dart().into_dart(),
4826            self.reverse_swap_info.into_into_dart().into_dart(),
4827            self.pending_expiration_block.into_into_dart().into_dart(),
4828        ]
4829        .into_dart()
4830    }
4831}
4832impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4833    for crate::models::LnPaymentDetails
4834{
4835}
4836impl flutter_rust_bridge::IntoIntoDart<crate::models::LnPaymentDetails>
4837    for crate::models::LnPaymentDetails
4838{
4839    fn into_into_dart(self) -> crate::models::LnPaymentDetails {
4840        self
4841    }
4842}
4843// Codec=Dco (DartCObject based), see doc to use other codecs
4844impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlAuthRequestData> {
4845    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4846        [
4847            self.0.k1.into_into_dart().into_dart(),
4848            self.0.action.into_into_dart().into_dart(),
4849            self.0.domain.into_into_dart().into_dart(),
4850            self.0.url.into_into_dart().into_dart(),
4851        ]
4852        .into_dart()
4853    }
4854}
4855impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4856    for FrbWrapper<crate::binding::LnUrlAuthRequestData>
4857{
4858}
4859impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlAuthRequestData>>
4860    for crate::binding::LnUrlAuthRequestData
4861{
4862    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlAuthRequestData> {
4863        self.into()
4864    }
4865}
4866// Codec=Dco (DartCObject based), see doc to use other codecs
4867impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlCallbackStatus> {
4868    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4869        match self.0 {
4870            crate::binding::LnUrlCallbackStatus::Ok => [0.into_dart()].into_dart(),
4871            crate::binding::LnUrlCallbackStatus::ErrorStatus { data } => {
4872                [1.into_dart(), data.into_into_dart().into_dart()].into_dart()
4873            }
4874            _ => {
4875                unimplemented!("");
4876            }
4877        }
4878    }
4879}
4880impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4881    for FrbWrapper<crate::binding::LnUrlCallbackStatus>
4882{
4883}
4884impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlCallbackStatus>>
4885    for crate::binding::LnUrlCallbackStatus
4886{
4887    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlCallbackStatus> {
4888        self.into()
4889    }
4890}
4891// Codec=Dco (DartCObject based), see doc to use other codecs
4892impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlErrorData> {
4893    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4894        [self.0.reason.into_into_dart().into_dart()].into_dart()
4895    }
4896}
4897impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4898    for FrbWrapper<crate::binding::LnUrlErrorData>
4899{
4900}
4901impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlErrorData>>
4902    for crate::binding::LnUrlErrorData
4903{
4904    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlErrorData> {
4905        self.into()
4906    }
4907}
4908// Codec=Dco (DartCObject based), see doc to use other codecs
4909impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlPayErrorData> {
4910    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4911        [
4912            self.0.payment_hash.into_into_dart().into_dart(),
4913            self.0.reason.into_into_dart().into_dart(),
4914        ]
4915        .into_dart()
4916    }
4917}
4918impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4919    for FrbWrapper<crate::binding::LnUrlPayErrorData>
4920{
4921}
4922impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlPayErrorData>>
4923    for crate::binding::LnUrlPayErrorData
4924{
4925    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlPayErrorData> {
4926        self.into()
4927    }
4928}
4929// Codec=Dco (DartCObject based), see doc to use other codecs
4930impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlPayRequest> {
4931    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4932        [
4933            self.0.data.into_into_dart().into_dart(),
4934            self.0.amount_msat.into_into_dart().into_dart(),
4935            self.0.use_trampoline.into_into_dart().into_dart(),
4936            self.0.comment.into_into_dart().into_dart(),
4937            self.0.payment_label.into_into_dart().into_dart(),
4938            self.0
4939                .validate_success_action_url
4940                .into_into_dart()
4941                .into_dart(),
4942        ]
4943        .into_dart()
4944    }
4945}
4946impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4947    for FrbWrapper<crate::binding::LnUrlPayRequest>
4948{
4949}
4950impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlPayRequest>>
4951    for crate::binding::LnUrlPayRequest
4952{
4953    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlPayRequest> {
4954        self.into()
4955    }
4956}
4957// Codec=Dco (DartCObject based), see doc to use other codecs
4958impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlPayRequestData> {
4959    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4960        [
4961            self.0.callback.into_into_dart().into_dart(),
4962            self.0.min_sendable.into_into_dart().into_dart(),
4963            self.0.max_sendable.into_into_dart().into_dart(),
4964            self.0.metadata_str.into_into_dart().into_dart(),
4965            self.0.comment_allowed.into_into_dart().into_dart(),
4966            self.0.domain.into_into_dart().into_dart(),
4967            self.0.allows_nostr.into_into_dart().into_dart(),
4968            self.0.nostr_pubkey.into_into_dart().into_dart(),
4969            self.0.ln_address.into_into_dart().into_dart(),
4970        ]
4971        .into_dart()
4972    }
4973}
4974impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
4975    for FrbWrapper<crate::binding::LnUrlPayRequestData>
4976{
4977}
4978impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlPayRequestData>>
4979    for crate::binding::LnUrlPayRequestData
4980{
4981    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlPayRequestData> {
4982        self.into()
4983    }
4984}
4985// Codec=Dco (DartCObject based), see doc to use other codecs
4986impl flutter_rust_bridge::IntoDart for crate::lnurl::pay::LnUrlPayResult {
4987    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
4988        match self {
4989            crate::lnurl::pay::LnUrlPayResult::EndpointSuccess { data } => {
4990                [0.into_dart(), data.into_into_dart().into_dart()].into_dart()
4991            }
4992            crate::lnurl::pay::LnUrlPayResult::EndpointError { data } => {
4993                [1.into_dart(), data.into_into_dart().into_dart()].into_dart()
4994            }
4995            crate::lnurl::pay::LnUrlPayResult::PayError { data } => {
4996                [2.into_dart(), data.into_into_dart().into_dart()].into_dart()
4997            }
4998            _ => {
4999                unimplemented!("");
5000            }
5001        }
5002    }
5003}
5004impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5005    for crate::lnurl::pay::LnUrlPayResult
5006{
5007}
5008impl flutter_rust_bridge::IntoIntoDart<crate::lnurl::pay::LnUrlPayResult>
5009    for crate::lnurl::pay::LnUrlPayResult
5010{
5011    fn into_into_dart(self) -> crate::lnurl::pay::LnUrlPayResult {
5012        self
5013    }
5014}
5015// Codec=Dco (DartCObject based), see doc to use other codecs
5016impl flutter_rust_bridge::IntoDart for crate::lnurl::pay::LnUrlPaySuccessData {
5017    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5018        [
5019            self.payment.into_into_dart().into_dart(),
5020            self.success_action.into_into_dart().into_dart(),
5021        ]
5022        .into_dart()
5023    }
5024}
5025impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5026    for crate::lnurl::pay::LnUrlPaySuccessData
5027{
5028}
5029impl flutter_rust_bridge::IntoIntoDart<crate::lnurl::pay::LnUrlPaySuccessData>
5030    for crate::lnurl::pay::LnUrlPaySuccessData
5031{
5032    fn into_into_dart(self) -> crate::lnurl::pay::LnUrlPaySuccessData {
5033        self
5034    }
5035}
5036// Codec=Dco (DartCObject based), see doc to use other codecs
5037impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlWithdrawRequest> {
5038    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5039        [
5040            self.0.data.into_into_dart().into_dart(),
5041            self.0.amount_msat.into_into_dart().into_dart(),
5042            self.0.description.into_into_dart().into_dart(),
5043        ]
5044        .into_dart()
5045    }
5046}
5047impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5048    for FrbWrapper<crate::binding::LnUrlWithdrawRequest>
5049{
5050}
5051impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlWithdrawRequest>>
5052    for crate::binding::LnUrlWithdrawRequest
5053{
5054    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlWithdrawRequest> {
5055        self.into()
5056    }
5057}
5058// Codec=Dco (DartCObject based), see doc to use other codecs
5059impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlWithdrawRequestData> {
5060    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5061        [
5062            self.0.callback.into_into_dart().into_dart(),
5063            self.0.k1.into_into_dart().into_dart(),
5064            self.0.default_description.into_into_dart().into_dart(),
5065            self.0.min_withdrawable.into_into_dart().into_dart(),
5066            self.0.max_withdrawable.into_into_dart().into_dart(),
5067        ]
5068        .into_dart()
5069    }
5070}
5071impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5072    for FrbWrapper<crate::binding::LnUrlWithdrawRequestData>
5073{
5074}
5075impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlWithdrawRequestData>>
5076    for crate::binding::LnUrlWithdrawRequestData
5077{
5078    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlWithdrawRequestData> {
5079        self.into()
5080    }
5081}
5082// Codec=Dco (DartCObject based), see doc to use other codecs
5083impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlWithdrawResult> {
5084    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5085        match self.0 {
5086            crate::binding::LnUrlWithdrawResult::Ok { data } => {
5087                [0.into_dart(), data.into_into_dart().into_dart()].into_dart()
5088            }
5089            crate::binding::LnUrlWithdrawResult::Timeout { data } => {
5090                [1.into_dart(), data.into_into_dart().into_dart()].into_dart()
5091            }
5092            crate::binding::LnUrlWithdrawResult::ErrorStatus { data } => {
5093                [2.into_dart(), data.into_into_dart().into_dart()].into_dart()
5094            }
5095            _ => {
5096                unimplemented!("");
5097            }
5098        }
5099    }
5100}
5101impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5102    for FrbWrapper<crate::binding::LnUrlWithdrawResult>
5103{
5104}
5105impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlWithdrawResult>>
5106    for crate::binding::LnUrlWithdrawResult
5107{
5108    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlWithdrawResult> {
5109        self.into()
5110    }
5111}
5112// Codec=Dco (DartCObject based), see doc to use other codecs
5113impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LnUrlWithdrawSuccessData> {
5114    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5115        [self.0.invoice.into_into_dart().into_dart()].into_dart()
5116    }
5117}
5118impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5119    for FrbWrapper<crate::binding::LnUrlWithdrawSuccessData>
5120{
5121}
5122impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LnUrlWithdrawSuccessData>>
5123    for crate::binding::LnUrlWithdrawSuccessData
5124{
5125    fn into_into_dart(self) -> FrbWrapper<crate::binding::LnUrlWithdrawSuccessData> {
5126        self.into()
5127    }
5128}
5129// Codec=Dco (DartCObject based), see doc to use other codecs
5130impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LocaleOverrides> {
5131    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5132        [
5133            self.0.locale.into_into_dart().into_dart(),
5134            self.0.spacing.into_into_dart().into_dart(),
5135            self.0.symbol.into_into_dart().into_dart(),
5136        ]
5137        .into_dart()
5138    }
5139}
5140impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5141    for FrbWrapper<crate::binding::LocaleOverrides>
5142{
5143}
5144impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LocaleOverrides>>
5145    for crate::binding::LocaleOverrides
5146{
5147    fn into_into_dart(self) -> FrbWrapper<crate::binding::LocaleOverrides> {
5148        self.into()
5149    }
5150}
5151// Codec=Dco (DartCObject based), see doc to use other codecs
5152impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::LocalizedName> {
5153    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5154        [
5155            self.0.locale.into_into_dart().into_dart(),
5156            self.0.name.into_into_dart().into_dart(),
5157        ]
5158        .into_dart()
5159    }
5160}
5161impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5162    for FrbWrapper<crate::binding::LocalizedName>
5163{
5164}
5165impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::LocalizedName>>
5166    for crate::binding::LocalizedName
5167{
5168    fn into_into_dart(self) -> FrbWrapper<crate::binding::LocalizedName> {
5169        self.into()
5170    }
5171}
5172// Codec=Dco (DartCObject based), see doc to use other codecs
5173impl flutter_rust_bridge::IntoDart for crate::models::LogEntry {
5174    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5175        [
5176            self.line.into_into_dart().into_dart(),
5177            self.level.into_into_dart().into_dart(),
5178        ]
5179        .into_dart()
5180    }
5181}
5182impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::LogEntry {}
5183impl flutter_rust_bridge::IntoIntoDart<crate::models::LogEntry> for crate::models::LogEntry {
5184    fn into_into_dart(self) -> crate::models::LogEntry {
5185        self
5186    }
5187}
5188// Codec=Dco (DartCObject based), see doc to use other codecs
5189impl flutter_rust_bridge::IntoDart for crate::lsp::LspInformation {
5190    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5191        [
5192            self.id.into_into_dart().into_dart(),
5193            self.name.into_into_dart().into_dart(),
5194            self.widget_url.into_into_dart().into_dart(),
5195            self.pubkey.into_into_dart().into_dart(),
5196            self.host.into_into_dart().into_dart(),
5197            self.base_fee_msat.into_into_dart().into_dart(),
5198            self.fee_rate.into_into_dart().into_dart(),
5199            self.time_lock_delta.into_into_dart().into_dart(),
5200            self.min_htlc_msat.into_into_dart().into_dart(),
5201            self.lsp_pubkey.into_into_dart().into_dart(),
5202            self.opening_fee_params_list.into_into_dart().into_dart(),
5203        ]
5204        .into_dart()
5205    }
5206}
5207impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::lsp::LspInformation {}
5208impl flutter_rust_bridge::IntoIntoDart<crate::lsp::LspInformation> for crate::lsp::LspInformation {
5209    fn into_into_dart(self) -> crate::lsp::LspInformation {
5210        self
5211    }
5212}
5213// Codec=Dco (DartCObject based), see doc to use other codecs
5214impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::MessageSuccessActionData> {
5215    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5216        [self.0.message.into_into_dart().into_dart()].into_dart()
5217    }
5218}
5219impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5220    for FrbWrapper<crate::binding::MessageSuccessActionData>
5221{
5222}
5223impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::MessageSuccessActionData>>
5224    for crate::binding::MessageSuccessActionData
5225{
5226    fn into_into_dart(self) -> FrbWrapper<crate::binding::MessageSuccessActionData> {
5227        self.into()
5228    }
5229}
5230// Codec=Dco (DartCObject based), see doc to use other codecs
5231impl flutter_rust_bridge::IntoDart for crate::models::MetadataFilter {
5232    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5233        [
5234            self.json_path.into_into_dart().into_dart(),
5235            self.json_value.into_into_dart().into_dart(),
5236        ]
5237        .into_dart()
5238    }
5239}
5240impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::MetadataFilter {}
5241impl flutter_rust_bridge::IntoIntoDart<crate::models::MetadataFilter>
5242    for crate::models::MetadataFilter
5243{
5244    fn into_into_dart(self) -> crate::models::MetadataFilter {
5245        self
5246    }
5247}
5248// Codec=Dco (DartCObject based), see doc to use other codecs
5249impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::Network> {
5250    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5251        match self.0 {
5252            crate::binding::Network::Bitcoin => 0.into_dart(),
5253            crate::binding::Network::Testnet => 1.into_dart(),
5254            crate::binding::Network::Signet => 2.into_dart(),
5255            crate::binding::Network::Regtest => 3.into_dart(),
5256            _ => unreachable!(),
5257        }
5258    }
5259}
5260impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5261    for FrbWrapper<crate::binding::Network>
5262{
5263}
5264impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::Network>>
5265    for crate::binding::Network
5266{
5267    fn into_into_dart(self) -> FrbWrapper<crate::binding::Network> {
5268        self.into()
5269    }
5270}
5271// Codec=Dco (DartCObject based), see doc to use other codecs
5272impl flutter_rust_bridge::IntoDart for crate::models::NodeConfig {
5273    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5274        match self {
5275            crate::models::NodeConfig::Greenlight { config } => {
5276                [0.into_dart(), config.into_into_dart().into_dart()].into_dart()
5277            }
5278            _ => {
5279                unimplemented!("");
5280            }
5281        }
5282    }
5283}
5284impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::NodeConfig {}
5285impl flutter_rust_bridge::IntoIntoDart<crate::models::NodeConfig> for crate::models::NodeConfig {
5286    fn into_into_dart(self) -> crate::models::NodeConfig {
5287        self
5288    }
5289}
5290// Codec=Dco (DartCObject based), see doc to use other codecs
5291impl flutter_rust_bridge::IntoDart for crate::models::NodeCredentials {
5292    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5293        match self {
5294            crate::models::NodeCredentials::Greenlight { credentials } => {
5295                [0.into_dart(), credentials.into_into_dart().into_dart()].into_dart()
5296            }
5297            _ => {
5298                unimplemented!("");
5299            }
5300        }
5301    }
5302}
5303impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5304    for crate::models::NodeCredentials
5305{
5306}
5307impl flutter_rust_bridge::IntoIntoDart<crate::models::NodeCredentials>
5308    for crate::models::NodeCredentials
5309{
5310    fn into_into_dart(self) -> crate::models::NodeCredentials {
5311        self
5312    }
5313}
5314// Codec=Dco (DartCObject based), see doc to use other codecs
5315impl flutter_rust_bridge::IntoDart for crate::models::NodeState {
5316    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5317        [
5318            self.id.into_into_dart().into_dart(),
5319            self.block_height.into_into_dart().into_dart(),
5320            self.channels_balance_msat.into_into_dart().into_dart(),
5321            self.onchain_balance_msat.into_into_dart().into_dart(),
5322            self.pending_onchain_balance_msat
5323                .into_into_dart()
5324                .into_dart(),
5325            self.utxos.into_into_dart().into_dart(),
5326            self.max_payable_msat.into_into_dart().into_dart(),
5327            self.max_receivable_msat.into_into_dart().into_dart(),
5328            self.max_single_payment_amount_msat
5329                .into_into_dart()
5330                .into_dart(),
5331            self.max_chan_reserve_msats.into_into_dart().into_dart(),
5332            self.connected_peers.into_into_dart().into_dart(),
5333            self.max_receivable_single_payment_amount_msat
5334                .into_into_dart()
5335                .into_dart(),
5336            self.total_inbound_liquidity_msats
5337                .into_into_dart()
5338                .into_dart(),
5339        ]
5340        .into_dart()
5341    }
5342}
5343impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::NodeState {}
5344impl flutter_rust_bridge::IntoIntoDart<crate::models::NodeState> for crate::models::NodeState {
5345    fn into_into_dart(self) -> crate::models::NodeState {
5346        self
5347    }
5348}
5349// Codec=Dco (DartCObject based), see doc to use other codecs
5350impl flutter_rust_bridge::IntoDart for crate::models::OnchainPaymentLimitsResponse {
5351    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5352        [
5353            self.min_sat.into_into_dart().into_dart(),
5354            self.max_sat.into_into_dart().into_dart(),
5355            self.max_payable_sat.into_into_dart().into_dart(),
5356        ]
5357        .into_dart()
5358    }
5359}
5360impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5361    for crate::models::OnchainPaymentLimitsResponse
5362{
5363}
5364impl flutter_rust_bridge::IntoIntoDart<crate::models::OnchainPaymentLimitsResponse>
5365    for crate::models::OnchainPaymentLimitsResponse
5366{
5367    fn into_into_dart(self) -> crate::models::OnchainPaymentLimitsResponse {
5368        self
5369    }
5370}
5371// Codec=Dco (DartCObject based), see doc to use other codecs
5372impl flutter_rust_bridge::IntoDart for crate::models::OpenChannelFeeRequest {
5373    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5374        [
5375            self.amount_msat.into_into_dart().into_dart(),
5376            self.expiry.into_into_dart().into_dart(),
5377        ]
5378        .into_dart()
5379    }
5380}
5381impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5382    for crate::models::OpenChannelFeeRequest
5383{
5384}
5385impl flutter_rust_bridge::IntoIntoDart<crate::models::OpenChannelFeeRequest>
5386    for crate::models::OpenChannelFeeRequest
5387{
5388    fn into_into_dart(self) -> crate::models::OpenChannelFeeRequest {
5389        self
5390    }
5391}
5392// Codec=Dco (DartCObject based), see doc to use other codecs
5393impl flutter_rust_bridge::IntoDart for crate::models::OpenChannelFeeResponse {
5394    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5395        [
5396            self.fee_msat.into_into_dart().into_dart(),
5397            self.fee_params.into_into_dart().into_dart(),
5398        ]
5399        .into_dart()
5400    }
5401}
5402impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5403    for crate::models::OpenChannelFeeResponse
5404{
5405}
5406impl flutter_rust_bridge::IntoIntoDart<crate::models::OpenChannelFeeResponse>
5407    for crate::models::OpenChannelFeeResponse
5408{
5409    fn into_into_dart(self) -> crate::models::OpenChannelFeeResponse {
5410        self
5411    }
5412}
5413// Codec=Dco (DartCObject based), see doc to use other codecs
5414impl flutter_rust_bridge::IntoDart for crate::models::OpeningFeeParams {
5415    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5416        [
5417            self.min_msat.into_into_dart().into_dart(),
5418            self.proportional.into_into_dart().into_dart(),
5419            self.valid_until.into_into_dart().into_dart(),
5420            self.max_idle_time.into_into_dart().into_dart(),
5421            self.max_client_to_self_delay.into_into_dart().into_dart(),
5422            self.promise.into_into_dart().into_dart(),
5423        ]
5424        .into_dart()
5425    }
5426}
5427impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5428    for crate::models::OpeningFeeParams
5429{
5430}
5431impl flutter_rust_bridge::IntoIntoDart<crate::models::OpeningFeeParams>
5432    for crate::models::OpeningFeeParams
5433{
5434    fn into_into_dart(self) -> crate::models::OpeningFeeParams {
5435        self
5436    }
5437}
5438// Codec=Dco (DartCObject based), see doc to use other codecs
5439impl flutter_rust_bridge::IntoDart for crate::models::OpeningFeeParamsMenu {
5440    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5441        [self.values.into_into_dart().into_dart()].into_dart()
5442    }
5443}
5444impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5445    for crate::models::OpeningFeeParamsMenu
5446{
5447}
5448impl flutter_rust_bridge::IntoIntoDart<crate::models::OpeningFeeParamsMenu>
5449    for crate::models::OpeningFeeParamsMenu
5450{
5451    fn into_into_dart(self) -> crate::models::OpeningFeeParamsMenu {
5452        self
5453    }
5454}
5455// Codec=Dco (DartCObject based), see doc to use other codecs
5456impl flutter_rust_bridge::IntoDart for crate::models::PayOnchainRequest {
5457    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5458        [
5459            self.recipient_address.into_into_dart().into_dart(),
5460            self.prepare_res.into_into_dart().into_dart(),
5461        ]
5462        .into_dart()
5463    }
5464}
5465impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5466    for crate::models::PayOnchainRequest
5467{
5468}
5469impl flutter_rust_bridge::IntoIntoDart<crate::models::PayOnchainRequest>
5470    for crate::models::PayOnchainRequest
5471{
5472    fn into_into_dart(self) -> crate::models::PayOnchainRequest {
5473        self
5474    }
5475}
5476// Codec=Dco (DartCObject based), see doc to use other codecs
5477impl flutter_rust_bridge::IntoDart for crate::models::PayOnchainResponse {
5478    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5479        [self.reverse_swap_info.into_into_dart().into_dart()].into_dart()
5480    }
5481}
5482impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5483    for crate::models::PayOnchainResponse
5484{
5485}
5486impl flutter_rust_bridge::IntoIntoDart<crate::models::PayOnchainResponse>
5487    for crate::models::PayOnchainResponse
5488{
5489    fn into_into_dart(self) -> crate::models::PayOnchainResponse {
5490        self
5491    }
5492}
5493// Codec=Dco (DartCObject based), see doc to use other codecs
5494impl flutter_rust_bridge::IntoDart for crate::models::Payment {
5495    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5496        [
5497            self.id.into_into_dart().into_dart(),
5498            self.payment_type.into_into_dart().into_dart(),
5499            self.payment_time.into_into_dart().into_dart(),
5500            self.amount_msat.into_into_dart().into_dart(),
5501            self.fee_msat.into_into_dart().into_dart(),
5502            self.status.into_into_dart().into_dart(),
5503            self.error.into_into_dart().into_dart(),
5504            self.description.into_into_dart().into_dart(),
5505            self.details.into_into_dart().into_dart(),
5506            self.metadata.into_into_dart().into_dart(),
5507        ]
5508        .into_dart()
5509    }
5510}
5511impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::Payment {}
5512impl flutter_rust_bridge::IntoIntoDart<crate::models::Payment> for crate::models::Payment {
5513    fn into_into_dart(self) -> crate::models::Payment {
5514        self
5515    }
5516}
5517// Codec=Dco (DartCObject based), see doc to use other codecs
5518impl flutter_rust_bridge::IntoDart for crate::models::PaymentDetails {
5519    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5520        match self {
5521            crate::models::PaymentDetails::Ln { data } => {
5522                [0.into_dart(), data.into_into_dart().into_dart()].into_dart()
5523            }
5524            crate::models::PaymentDetails::ClosedChannel { data } => {
5525                [1.into_dart(), data.into_into_dart().into_dart()].into_dart()
5526            }
5527            _ => {
5528                unimplemented!("");
5529            }
5530        }
5531    }
5532}
5533impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::PaymentDetails {}
5534impl flutter_rust_bridge::IntoIntoDart<crate::models::PaymentDetails>
5535    for crate::models::PaymentDetails
5536{
5537    fn into_into_dart(self) -> crate::models::PaymentDetails {
5538        self
5539    }
5540}
5541// Codec=Dco (DartCObject based), see doc to use other codecs
5542impl flutter_rust_bridge::IntoDart for crate::breez_services::PaymentFailedData {
5543    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5544        [
5545            self.error.into_into_dart().into_dart(),
5546            self.node_id.into_into_dart().into_dart(),
5547            self.invoice.into_into_dart().into_dart(),
5548            self.label.into_into_dart().into_dart(),
5549        ]
5550        .into_dart()
5551    }
5552}
5553impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5554    for crate::breez_services::PaymentFailedData
5555{
5556}
5557impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::PaymentFailedData>
5558    for crate::breez_services::PaymentFailedData
5559{
5560    fn into_into_dart(self) -> crate::breez_services::PaymentFailedData {
5561        self
5562    }
5563}
5564// Codec=Dco (DartCObject based), see doc to use other codecs
5565impl flutter_rust_bridge::IntoDart for crate::models::PaymentStatus {
5566    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5567        match self {
5568            Self::Pending => 0.into_dart(),
5569            Self::Complete => 1.into_dart(),
5570            Self::Failed => 2.into_dart(),
5571            _ => unreachable!(),
5572        }
5573    }
5574}
5575impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::PaymentStatus {}
5576impl flutter_rust_bridge::IntoIntoDart<crate::models::PaymentStatus>
5577    for crate::models::PaymentStatus
5578{
5579    fn into_into_dart(self) -> crate::models::PaymentStatus {
5580        self
5581    }
5582}
5583// Codec=Dco (DartCObject based), see doc to use other codecs
5584impl flutter_rust_bridge::IntoDart for crate::models::PaymentType {
5585    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5586        match self {
5587            Self::Sent => 0.into_dart(),
5588            Self::Received => 1.into_dart(),
5589            Self::ClosedChannel => 2.into_dart(),
5590            _ => unreachable!(),
5591        }
5592    }
5593}
5594impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::PaymentType {}
5595impl flutter_rust_bridge::IntoIntoDart<crate::models::PaymentType> for crate::models::PaymentType {
5596    fn into_into_dart(self) -> crate::models::PaymentType {
5597        self
5598    }
5599}
5600// Codec=Dco (DartCObject based), see doc to use other codecs
5601impl flutter_rust_bridge::IntoDart for crate::models::PaymentTypeFilter {
5602    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5603        match self {
5604            Self::Sent => 0.into_dart(),
5605            Self::Received => 1.into_dart(),
5606            Self::ClosedChannel => 2.into_dart(),
5607            _ => unreachable!(),
5608        }
5609    }
5610}
5611impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5612    for crate::models::PaymentTypeFilter
5613{
5614}
5615impl flutter_rust_bridge::IntoIntoDart<crate::models::PaymentTypeFilter>
5616    for crate::models::PaymentTypeFilter
5617{
5618    fn into_into_dart(self) -> crate::models::PaymentTypeFilter {
5619        self
5620    }
5621}
5622// Codec=Dco (DartCObject based), see doc to use other codecs
5623impl flutter_rust_bridge::IntoDart for crate::models::PrepareOnchainPaymentRequest {
5624    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5625        [
5626            self.amount_sat.into_into_dart().into_dart(),
5627            self.amount_type.into_into_dart().into_dart(),
5628            self.claim_tx_feerate.into_into_dart().into_dart(),
5629        ]
5630        .into_dart()
5631    }
5632}
5633impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5634    for crate::models::PrepareOnchainPaymentRequest
5635{
5636}
5637impl flutter_rust_bridge::IntoIntoDart<crate::models::PrepareOnchainPaymentRequest>
5638    for crate::models::PrepareOnchainPaymentRequest
5639{
5640    fn into_into_dart(self) -> crate::models::PrepareOnchainPaymentRequest {
5641        self
5642    }
5643}
5644// Codec=Dco (DartCObject based), see doc to use other codecs
5645impl flutter_rust_bridge::IntoDart for crate::models::PrepareOnchainPaymentResponse {
5646    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5647        [
5648            self.fees_hash.into_into_dart().into_dart(),
5649            self.fees_percentage.into_into_dart().into_dart(),
5650            self.fees_lockup.into_into_dart().into_dart(),
5651            self.fees_claim.into_into_dart().into_dart(),
5652            self.sender_amount_sat.into_into_dart().into_dart(),
5653            self.recipient_amount_sat.into_into_dart().into_dart(),
5654            self.total_fees.into_into_dart().into_dart(),
5655        ]
5656        .into_dart()
5657    }
5658}
5659impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5660    for crate::models::PrepareOnchainPaymentResponse
5661{
5662}
5663impl flutter_rust_bridge::IntoIntoDart<crate::models::PrepareOnchainPaymentResponse>
5664    for crate::models::PrepareOnchainPaymentResponse
5665{
5666    fn into_into_dart(self) -> crate::models::PrepareOnchainPaymentResponse {
5667        self
5668    }
5669}
5670// Codec=Dco (DartCObject based), see doc to use other codecs
5671impl flutter_rust_bridge::IntoDart for crate::models::PrepareRedeemOnchainFundsRequest {
5672    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5673        [
5674            self.to_address.into_into_dart().into_dart(),
5675            self.sat_per_vbyte.into_into_dart().into_dart(),
5676        ]
5677        .into_dart()
5678    }
5679}
5680impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5681    for crate::models::PrepareRedeemOnchainFundsRequest
5682{
5683}
5684impl flutter_rust_bridge::IntoIntoDart<crate::models::PrepareRedeemOnchainFundsRequest>
5685    for crate::models::PrepareRedeemOnchainFundsRequest
5686{
5687    fn into_into_dart(self) -> crate::models::PrepareRedeemOnchainFundsRequest {
5688        self
5689    }
5690}
5691// Codec=Dco (DartCObject based), see doc to use other codecs
5692impl flutter_rust_bridge::IntoDart for crate::models::PrepareRedeemOnchainFundsResponse {
5693    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5694        [
5695            self.tx_weight.into_into_dart().into_dart(),
5696            self.tx_fee_sat.into_into_dart().into_dart(),
5697        ]
5698        .into_dart()
5699    }
5700}
5701impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5702    for crate::models::PrepareRedeemOnchainFundsResponse
5703{
5704}
5705impl flutter_rust_bridge::IntoIntoDart<crate::models::PrepareRedeemOnchainFundsResponse>
5706    for crate::models::PrepareRedeemOnchainFundsResponse
5707{
5708    fn into_into_dart(self) -> crate::models::PrepareRedeemOnchainFundsResponse {
5709        self
5710    }
5711}
5712// Codec=Dco (DartCObject based), see doc to use other codecs
5713impl flutter_rust_bridge::IntoDart for crate::models::PrepareRefundRequest {
5714    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5715        [
5716            self.swap_address.into_into_dart().into_dart(),
5717            self.to_address.into_into_dart().into_dart(),
5718            self.sat_per_vbyte.into_into_dart().into_dart(),
5719            self.unilateral.into_into_dart().into_dart(),
5720        ]
5721        .into_dart()
5722    }
5723}
5724impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5725    for crate::models::PrepareRefundRequest
5726{
5727}
5728impl flutter_rust_bridge::IntoIntoDart<crate::models::PrepareRefundRequest>
5729    for crate::models::PrepareRefundRequest
5730{
5731    fn into_into_dart(self) -> crate::models::PrepareRefundRequest {
5732        self
5733    }
5734}
5735// Codec=Dco (DartCObject based), see doc to use other codecs
5736impl flutter_rust_bridge::IntoDart for crate::models::PrepareRefundResponse {
5737    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5738        [
5739            self.refund_tx_weight.into_into_dart().into_dart(),
5740            self.refund_tx_fee_sat.into_into_dart().into_dart(),
5741        ]
5742        .into_dart()
5743    }
5744}
5745impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5746    for crate::models::PrepareRefundResponse
5747{
5748}
5749impl flutter_rust_bridge::IntoIntoDart<crate::models::PrepareRefundResponse>
5750    for crate::models::PrepareRefundResponse
5751{
5752    fn into_into_dart(self) -> crate::models::PrepareRefundResponse {
5753        self
5754    }
5755}
5756// Codec=Dco (DartCObject based), see doc to use other codecs
5757impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::Rate> {
5758    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5759        [
5760            self.0.coin.into_into_dart().into_dart(),
5761            self.0.value.into_into_dart().into_dart(),
5762        ]
5763        .into_dart()
5764    }
5765}
5766impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5767    for FrbWrapper<crate::binding::Rate>
5768{
5769}
5770impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::Rate>> for crate::binding::Rate {
5771    fn into_into_dart(self) -> FrbWrapper<crate::binding::Rate> {
5772        self.into()
5773    }
5774}
5775// Codec=Dco (DartCObject based), see doc to use other codecs
5776impl flutter_rust_bridge::IntoDart for crate::models::ReceiveOnchainRequest {
5777    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5778        [self.opening_fee_params.into_into_dart().into_dart()].into_dart()
5779    }
5780}
5781impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5782    for crate::models::ReceiveOnchainRequest
5783{
5784}
5785impl flutter_rust_bridge::IntoIntoDart<crate::models::ReceiveOnchainRequest>
5786    for crate::models::ReceiveOnchainRequest
5787{
5788    fn into_into_dart(self) -> crate::models::ReceiveOnchainRequest {
5789        self
5790    }
5791}
5792// Codec=Dco (DartCObject based), see doc to use other codecs
5793impl flutter_rust_bridge::IntoDart for crate::models::ReceivePaymentRequest {
5794    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5795        [
5796            self.amount_msat.into_into_dart().into_dart(),
5797            self.description.into_into_dart().into_dart(),
5798            self.preimage.into_into_dart().into_dart(),
5799            self.opening_fee_params.into_into_dart().into_dart(),
5800            self.use_description_hash.into_into_dart().into_dart(),
5801            self.expiry.into_into_dart().into_dart(),
5802            self.cltv.into_into_dart().into_dart(),
5803        ]
5804        .into_dart()
5805    }
5806}
5807impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5808    for crate::models::ReceivePaymentRequest
5809{
5810}
5811impl flutter_rust_bridge::IntoIntoDart<crate::models::ReceivePaymentRequest>
5812    for crate::models::ReceivePaymentRequest
5813{
5814    fn into_into_dart(self) -> crate::models::ReceivePaymentRequest {
5815        self
5816    }
5817}
5818// Codec=Dco (DartCObject based), see doc to use other codecs
5819impl flutter_rust_bridge::IntoDart for crate::models::ReceivePaymentResponse {
5820    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5821        [
5822            self.ln_invoice.into_into_dart().into_dart(),
5823            self.opening_fee_params.into_into_dart().into_dart(),
5824            self.opening_fee_msat.into_into_dart().into_dart(),
5825        ]
5826        .into_dart()
5827    }
5828}
5829impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5830    for crate::models::ReceivePaymentResponse
5831{
5832}
5833impl flutter_rust_bridge::IntoIntoDart<crate::models::ReceivePaymentResponse>
5834    for crate::models::ReceivePaymentResponse
5835{
5836    fn into_into_dart(self) -> crate::models::ReceivePaymentResponse {
5837        self
5838    }
5839}
5840// Codec=Dco (DartCObject based), see doc to use other codecs
5841impl flutter_rust_bridge::IntoDart for crate::chain::RecommendedFees {
5842    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5843        [
5844            self.fastest_fee.into_into_dart().into_dart(),
5845            self.half_hour_fee.into_into_dart().into_dart(),
5846            self.hour_fee.into_into_dart().into_dart(),
5847            self.economy_fee.into_into_dart().into_dart(),
5848            self.minimum_fee.into_into_dart().into_dart(),
5849        ]
5850        .into_dart()
5851    }
5852}
5853impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::chain::RecommendedFees {}
5854impl flutter_rust_bridge::IntoIntoDart<crate::chain::RecommendedFees>
5855    for crate::chain::RecommendedFees
5856{
5857    fn into_into_dart(self) -> crate::chain::RecommendedFees {
5858        self
5859    }
5860}
5861// Codec=Dco (DartCObject based), see doc to use other codecs
5862impl flutter_rust_bridge::IntoDart for crate::models::RedeemOnchainFundsRequest {
5863    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5864        [
5865            self.to_address.into_into_dart().into_dart(),
5866            self.sat_per_vbyte.into_into_dart().into_dart(),
5867        ]
5868        .into_dart()
5869    }
5870}
5871impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5872    for crate::models::RedeemOnchainFundsRequest
5873{
5874}
5875impl flutter_rust_bridge::IntoIntoDart<crate::models::RedeemOnchainFundsRequest>
5876    for crate::models::RedeemOnchainFundsRequest
5877{
5878    fn into_into_dart(self) -> crate::models::RedeemOnchainFundsRequest {
5879        self
5880    }
5881}
5882// Codec=Dco (DartCObject based), see doc to use other codecs
5883impl flutter_rust_bridge::IntoDart for crate::models::RedeemOnchainFundsResponse {
5884    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5885        [self.txid.into_into_dart().into_dart()].into_dart()
5886    }
5887}
5888impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5889    for crate::models::RedeemOnchainFundsResponse
5890{
5891}
5892impl flutter_rust_bridge::IntoIntoDart<crate::models::RedeemOnchainFundsResponse>
5893    for crate::models::RedeemOnchainFundsResponse
5894{
5895    fn into_into_dart(self) -> crate::models::RedeemOnchainFundsResponse {
5896        self
5897    }
5898}
5899// Codec=Dco (DartCObject based), see doc to use other codecs
5900impl flutter_rust_bridge::IntoDart for crate::models::RefundRequest {
5901    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5902        [
5903            self.swap_address.into_into_dart().into_dart(),
5904            self.to_address.into_into_dart().into_dart(),
5905            self.sat_per_vbyte.into_into_dart().into_dart(),
5906            self.unilateral.into_into_dart().into_dart(),
5907        ]
5908        .into_dart()
5909    }
5910}
5911impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::RefundRequest {}
5912impl flutter_rust_bridge::IntoIntoDart<crate::models::RefundRequest>
5913    for crate::models::RefundRequest
5914{
5915    fn into_into_dart(self) -> crate::models::RefundRequest {
5916        self
5917    }
5918}
5919// Codec=Dco (DartCObject based), see doc to use other codecs
5920impl flutter_rust_bridge::IntoDart for crate::models::RefundResponse {
5921    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5922        [self.refund_tx_id.into_into_dart().into_dart()].into_dart()
5923    }
5924}
5925impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::RefundResponse {}
5926impl flutter_rust_bridge::IntoIntoDart<crate::models::RefundResponse>
5927    for crate::models::RefundResponse
5928{
5929    fn into_into_dart(self) -> crate::models::RefundResponse {
5930        self
5931    }
5932}
5933// Codec=Dco (DartCObject based), see doc to use other codecs
5934impl flutter_rust_bridge::IntoDart for crate::models::ReportIssueRequest {
5935    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5936        match self {
5937            crate::models::ReportIssueRequest::PaymentFailure { data } => {
5938                [0.into_dart(), data.into_into_dart().into_dart()].into_dart()
5939            }
5940            _ => {
5941                unimplemented!("");
5942            }
5943        }
5944    }
5945}
5946impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5947    for crate::models::ReportIssueRequest
5948{
5949}
5950impl flutter_rust_bridge::IntoIntoDart<crate::models::ReportIssueRequest>
5951    for crate::models::ReportIssueRequest
5952{
5953    fn into_into_dart(self) -> crate::models::ReportIssueRequest {
5954        self
5955    }
5956}
5957// Codec=Dco (DartCObject based), see doc to use other codecs
5958impl flutter_rust_bridge::IntoDart for crate::models::ReportPaymentFailureDetails {
5959    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5960        [
5961            self.payment_hash.into_into_dart().into_dart(),
5962            self.comment.into_into_dart().into_dart(),
5963        ]
5964        .into_dart()
5965    }
5966}
5967impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5968    for crate::models::ReportPaymentFailureDetails
5969{
5970}
5971impl flutter_rust_bridge::IntoIntoDart<crate::models::ReportPaymentFailureDetails>
5972    for crate::models::ReportPaymentFailureDetails
5973{
5974    fn into_into_dart(self) -> crate::models::ReportPaymentFailureDetails {
5975        self
5976    }
5977}
5978// Codec=Dco (DartCObject based), see doc to use other codecs
5979impl flutter_rust_bridge::IntoDart for crate::models::ReverseSwapFeesRequest {
5980    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
5981        [
5982            self.send_amount_sat.into_into_dart().into_dart(),
5983            self.claim_tx_feerate.into_into_dart().into_dart(),
5984        ]
5985        .into_dart()
5986    }
5987}
5988impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
5989    for crate::models::ReverseSwapFeesRequest
5990{
5991}
5992impl flutter_rust_bridge::IntoIntoDart<crate::models::ReverseSwapFeesRequest>
5993    for crate::models::ReverseSwapFeesRequest
5994{
5995    fn into_into_dart(self) -> crate::models::ReverseSwapFeesRequest {
5996        self
5997    }
5998}
5999// Codec=Dco (DartCObject based), see doc to use other codecs
6000impl flutter_rust_bridge::IntoDart for crate::models::ReverseSwapInfo {
6001    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6002        [
6003            self.id.into_into_dart().into_dart(),
6004            self.claim_pubkey.into_into_dart().into_dart(),
6005            self.lockup_txid.into_into_dart().into_dart(),
6006            self.claim_txid.into_into_dart().into_dart(),
6007            self.onchain_amount_sat.into_into_dart().into_dart(),
6008            self.status.into_into_dart().into_dart(),
6009        ]
6010        .into_dart()
6011    }
6012}
6013impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6014    for crate::models::ReverseSwapInfo
6015{
6016}
6017impl flutter_rust_bridge::IntoIntoDart<crate::models::ReverseSwapInfo>
6018    for crate::models::ReverseSwapInfo
6019{
6020    fn into_into_dart(self) -> crate::models::ReverseSwapInfo {
6021        self
6022    }
6023}
6024// Codec=Dco (DartCObject based), see doc to use other codecs
6025impl flutter_rust_bridge::IntoDart for crate::models::ReverseSwapPairInfo {
6026    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6027        [
6028            self.min.into_into_dart().into_dart(),
6029            self.max.into_into_dart().into_dart(),
6030            self.fees_hash.into_into_dart().into_dart(),
6031            self.fees_percentage.into_into_dart().into_dart(),
6032            self.fees_lockup.into_into_dart().into_dart(),
6033            self.fees_claim.into_into_dart().into_dart(),
6034            self.total_fees.into_into_dart().into_dart(),
6035        ]
6036        .into_dart()
6037    }
6038}
6039impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6040    for crate::models::ReverseSwapPairInfo
6041{
6042}
6043impl flutter_rust_bridge::IntoIntoDart<crate::models::ReverseSwapPairInfo>
6044    for crate::models::ReverseSwapPairInfo
6045{
6046    fn into_into_dart(self) -> crate::models::ReverseSwapPairInfo {
6047        self
6048    }
6049}
6050// Codec=Dco (DartCObject based), see doc to use other codecs
6051impl flutter_rust_bridge::IntoDart for crate::models::ReverseSwapStatus {
6052    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6053        match self {
6054            Self::Initial => 0.into_dart(),
6055            Self::InProgress => 1.into_dart(),
6056            Self::Cancelled => 2.into_dart(),
6057            Self::CompletedSeen => 3.into_dart(),
6058            Self::CompletedConfirmed => 4.into_dart(),
6059            _ => unreachable!(),
6060        }
6061    }
6062}
6063impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6064    for crate::models::ReverseSwapStatus
6065{
6066}
6067impl flutter_rust_bridge::IntoIntoDart<crate::models::ReverseSwapStatus>
6068    for crate::models::ReverseSwapStatus
6069{
6070    fn into_into_dart(self) -> crate::models::ReverseSwapStatus {
6071        self
6072    }
6073}
6074// Codec=Dco (DartCObject based), see doc to use other codecs
6075impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::RouteHint> {
6076    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6077        [self.0.hops.into_into_dart().into_dart()].into_dart()
6078    }
6079}
6080impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6081    for FrbWrapper<crate::binding::RouteHint>
6082{
6083}
6084impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::RouteHint>>
6085    for crate::binding::RouteHint
6086{
6087    fn into_into_dart(self) -> FrbWrapper<crate::binding::RouteHint> {
6088        self.into()
6089    }
6090}
6091// Codec=Dco (DartCObject based), see doc to use other codecs
6092impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::RouteHintHop> {
6093    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6094        [
6095            self.0.src_node_id.into_into_dart().into_dart(),
6096            self.0.short_channel_id.into_into_dart().into_dart(),
6097            self.0.fees_base_msat.into_into_dart().into_dart(),
6098            self.0
6099                .fees_proportional_millionths
6100                .into_into_dart()
6101                .into_dart(),
6102            self.0.cltv_expiry_delta.into_into_dart().into_dart(),
6103            self.0.htlc_minimum_msat.into_into_dart().into_dart(),
6104            self.0.htlc_maximum_msat.into_into_dart().into_dart(),
6105        ]
6106        .into_dart()
6107    }
6108}
6109impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6110    for FrbWrapper<crate::binding::RouteHintHop>
6111{
6112}
6113impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::RouteHintHop>>
6114    for crate::binding::RouteHintHop
6115{
6116    fn into_into_dart(self) -> FrbWrapper<crate::binding::RouteHintHop> {
6117        self.into()
6118    }
6119}
6120// Codec=Dco (DartCObject based), see doc to use other codecs
6121impl flutter_rust_bridge::IntoDart for crate::models::SendPaymentRequest {
6122    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6123        [
6124            self.bolt11.into_into_dart().into_dart(),
6125            self.use_trampoline.into_into_dart().into_dart(),
6126            self.amount_msat.into_into_dart().into_dart(),
6127            self.label.into_into_dart().into_dart(),
6128        ]
6129        .into_dart()
6130    }
6131}
6132impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6133    for crate::models::SendPaymentRequest
6134{
6135}
6136impl flutter_rust_bridge::IntoIntoDart<crate::models::SendPaymentRequest>
6137    for crate::models::SendPaymentRequest
6138{
6139    fn into_into_dart(self) -> crate::models::SendPaymentRequest {
6140        self
6141    }
6142}
6143// Codec=Dco (DartCObject based), see doc to use other codecs
6144impl flutter_rust_bridge::IntoDart for crate::models::SendPaymentResponse {
6145    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6146        [self.payment.into_into_dart().into_dart()].into_dart()
6147    }
6148}
6149impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6150    for crate::models::SendPaymentResponse
6151{
6152}
6153impl flutter_rust_bridge::IntoIntoDart<crate::models::SendPaymentResponse>
6154    for crate::models::SendPaymentResponse
6155{
6156    fn into_into_dart(self) -> crate::models::SendPaymentResponse {
6157        self
6158    }
6159}
6160// Codec=Dco (DartCObject based), see doc to use other codecs
6161impl flutter_rust_bridge::IntoDart for crate::models::SendSpontaneousPaymentRequest {
6162    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6163        [
6164            self.node_id.into_into_dart().into_dart(),
6165            self.amount_msat.into_into_dart().into_dart(),
6166            self.extra_tlvs.into_into_dart().into_dart(),
6167            self.label.into_into_dart().into_dart(),
6168        ]
6169        .into_dart()
6170    }
6171}
6172impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6173    for crate::models::SendSpontaneousPaymentRequest
6174{
6175}
6176impl flutter_rust_bridge::IntoIntoDart<crate::models::SendSpontaneousPaymentRequest>
6177    for crate::models::SendSpontaneousPaymentRequest
6178{
6179    fn into_into_dart(self) -> crate::models::SendSpontaneousPaymentRequest {
6180        self
6181    }
6182}
6183// Codec=Dco (DartCObject based), see doc to use other codecs
6184impl flutter_rust_bridge::IntoDart for crate::models::ServiceHealthCheckResponse {
6185    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6186        [self.status.into_into_dart().into_dart()].into_dart()
6187    }
6188}
6189impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6190    for crate::models::ServiceHealthCheckResponse
6191{
6192}
6193impl flutter_rust_bridge::IntoIntoDart<crate::models::ServiceHealthCheckResponse>
6194    for crate::models::ServiceHealthCheckResponse
6195{
6196    fn into_into_dart(self) -> crate::models::ServiceHealthCheckResponse {
6197        self
6198    }
6199}
6200// Codec=Dco (DartCObject based), see doc to use other codecs
6201impl flutter_rust_bridge::IntoDart for crate::breez_services::SignMessageRequest {
6202    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6203        [self.message.into_into_dart().into_dart()].into_dart()
6204    }
6205}
6206impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6207    for crate::breez_services::SignMessageRequest
6208{
6209}
6210impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::SignMessageRequest>
6211    for crate::breez_services::SignMessageRequest
6212{
6213    fn into_into_dart(self) -> crate::breez_services::SignMessageRequest {
6214        self
6215    }
6216}
6217// Codec=Dco (DartCObject based), see doc to use other codecs
6218impl flutter_rust_bridge::IntoDart for crate::breez_services::SignMessageResponse {
6219    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6220        [self.signature.into_into_dart().into_dart()].into_dart()
6221    }
6222}
6223impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6224    for crate::breez_services::SignMessageResponse
6225{
6226}
6227impl flutter_rust_bridge::IntoIntoDart<crate::breez_services::SignMessageResponse>
6228    for crate::breez_services::SignMessageResponse
6229{
6230    fn into_into_dart(self) -> crate::breez_services::SignMessageResponse {
6231        self
6232    }
6233}
6234// Codec=Dco (DartCObject based), see doc to use other codecs
6235impl flutter_rust_bridge::IntoDart for crate::models::StaticBackupRequest {
6236    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6237        [self.working_dir.into_into_dart().into_dart()].into_dart()
6238    }
6239}
6240impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6241    for crate::models::StaticBackupRequest
6242{
6243}
6244impl flutter_rust_bridge::IntoIntoDart<crate::models::StaticBackupRequest>
6245    for crate::models::StaticBackupRequest
6246{
6247    fn into_into_dart(self) -> crate::models::StaticBackupRequest {
6248        self
6249    }
6250}
6251// Codec=Dco (DartCObject based), see doc to use other codecs
6252impl flutter_rust_bridge::IntoDart for crate::models::StaticBackupResponse {
6253    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6254        [self.backup.into_into_dart().into_dart()].into_dart()
6255    }
6256}
6257impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6258    for crate::models::StaticBackupResponse
6259{
6260}
6261impl flutter_rust_bridge::IntoIntoDart<crate::models::StaticBackupResponse>
6262    for crate::models::StaticBackupResponse
6263{
6264    fn into_into_dart(self) -> crate::models::StaticBackupResponse {
6265        self
6266    }
6267}
6268// Codec=Dco (DartCObject based), see doc to use other codecs
6269impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::SuccessActionProcessed> {
6270    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6271        match self.0 {
6272            crate::binding::SuccessActionProcessed::Aes { result } => {
6273                [0.into_dart(), result.into_into_dart().into_dart()].into_dart()
6274            }
6275            crate::binding::SuccessActionProcessed::Message { data } => {
6276                [1.into_dart(), data.into_into_dart().into_dart()].into_dart()
6277            }
6278            crate::binding::SuccessActionProcessed::Url { data } => {
6279                [2.into_dart(), data.into_into_dart().into_dart()].into_dart()
6280            }
6281            _ => {
6282                unimplemented!("");
6283            }
6284        }
6285    }
6286}
6287impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6288    for FrbWrapper<crate::binding::SuccessActionProcessed>
6289{
6290}
6291impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::SuccessActionProcessed>>
6292    for crate::binding::SuccessActionProcessed
6293{
6294    fn into_into_dart(self) -> FrbWrapper<crate::binding::SuccessActionProcessed> {
6295        self.into()
6296    }
6297}
6298// Codec=Dco (DartCObject based), see doc to use other codecs
6299impl flutter_rust_bridge::IntoDart for crate::models::SwapAmountType {
6300    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6301        match self {
6302            Self::Send => 0.into_dart(),
6303            Self::Receive => 1.into_dart(),
6304            _ => unreachable!(),
6305        }
6306    }
6307}
6308impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::SwapAmountType {}
6309impl flutter_rust_bridge::IntoIntoDart<crate::models::SwapAmountType>
6310    for crate::models::SwapAmountType
6311{
6312    fn into_into_dart(self) -> crate::models::SwapAmountType {
6313        self
6314    }
6315}
6316// Codec=Dco (DartCObject based), see doc to use other codecs
6317impl flutter_rust_bridge::IntoDart for crate::models::SwapInfo {
6318    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6319        [
6320            self.bitcoin_address.into_into_dart().into_dart(),
6321            self.created_at.into_into_dart().into_dart(),
6322            self.lock_height.into_into_dart().into_dart(),
6323            self.payment_hash.into_into_dart().into_dart(),
6324            self.preimage.into_into_dart().into_dart(),
6325            self.private_key.into_into_dart().into_dart(),
6326            self.public_key.into_into_dart().into_dart(),
6327            self.swapper_public_key.into_into_dart().into_dart(),
6328            self.script.into_into_dart().into_dart(),
6329            self.bolt11.into_into_dart().into_dart(),
6330            self.paid_msat.into_into_dart().into_dart(),
6331            self.total_incoming_txs.into_into_dart().into_dart(),
6332            self.confirmed_sats.into_into_dart().into_dart(),
6333            self.unconfirmed_sats.into_into_dart().into_dart(),
6334            self.status.into_into_dart().into_dart(),
6335            self.refund_tx_ids.into_into_dart().into_dart(),
6336            self.unconfirmed_tx_ids.into_into_dart().into_dart(),
6337            self.confirmed_tx_ids.into_into_dart().into_dart(),
6338            self.min_allowed_deposit.into_into_dart().into_dart(),
6339            self.max_allowed_deposit.into_into_dart().into_dart(),
6340            self.max_swapper_payable.into_into_dart().into_dart(),
6341            self.last_redeem_error.into_into_dart().into_dart(),
6342            self.channel_opening_fees.into_into_dart().into_dart(),
6343            self.confirmed_at.into_into_dart().into_dart(),
6344        ]
6345        .into_dart()
6346    }
6347}
6348impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::SwapInfo {}
6349impl flutter_rust_bridge::IntoIntoDart<crate::models::SwapInfo> for crate::models::SwapInfo {
6350    fn into_into_dart(self) -> crate::models::SwapInfo {
6351        self
6352    }
6353}
6354// Codec=Dco (DartCObject based), see doc to use other codecs
6355impl flutter_rust_bridge::IntoDart for crate::models::SwapStatus {
6356    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6357        match self {
6358            Self::Initial => 0.into_dart(),
6359            Self::WaitingConfirmation => 1.into_dart(),
6360            Self::Redeemable => 2.into_dart(),
6361            Self::Redeemed => 3.into_dart(),
6362            Self::Refundable => 4.into_dart(),
6363            Self::Completed => 5.into_dart(),
6364            _ => unreachable!(),
6365        }
6366    }
6367}
6368impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::SwapStatus {}
6369impl flutter_rust_bridge::IntoIntoDart<crate::models::SwapStatus> for crate::models::SwapStatus {
6370    fn into_into_dart(self) -> crate::models::SwapStatus {
6371        self
6372    }
6373}
6374// Codec=Dco (DartCObject based), see doc to use other codecs
6375impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::Symbol> {
6376    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6377        [
6378            self.0.grapheme.into_into_dart().into_dart(),
6379            self.0.template.into_into_dart().into_dart(),
6380            self.0.rtl.into_into_dart().into_dart(),
6381            self.0.position.into_into_dart().into_dart(),
6382        ]
6383        .into_dart()
6384    }
6385}
6386impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6387    for FrbWrapper<crate::binding::Symbol>
6388{
6389}
6390impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::Symbol>>
6391    for crate::binding::Symbol
6392{
6393    fn into_into_dart(self) -> FrbWrapper<crate::binding::Symbol> {
6394        self.into()
6395    }
6396}
6397// Codec=Dco (DartCObject based), see doc to use other codecs
6398impl flutter_rust_bridge::IntoDart for crate::models::TlvEntry {
6399    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6400        [
6401            self.field_number.into_into_dart().into_dart(),
6402            self.value.into_into_dart().into_dart(),
6403        ]
6404        .into_dart()
6405    }
6406}
6407impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::models::TlvEntry {}
6408impl flutter_rust_bridge::IntoIntoDart<crate::models::TlvEntry> for crate::models::TlvEntry {
6409    fn into_into_dart(self) -> crate::models::TlvEntry {
6410        self
6411    }
6412}
6413// Codec=Dco (DartCObject based), see doc to use other codecs
6414impl flutter_rust_bridge::IntoDart for crate::models::UnspentTransactionOutput {
6415    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6416        [
6417            self.txid.into_into_dart().into_dart(),
6418            self.outnum.into_into_dart().into_dart(),
6419            self.amount_millisatoshi.into_into_dart().into_dart(),
6420            self.address.into_into_dart().into_dart(),
6421            self.reserved.into_into_dart().into_dart(),
6422        ]
6423        .into_dart()
6424    }
6425}
6426impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6427    for crate::models::UnspentTransactionOutput
6428{
6429}
6430impl flutter_rust_bridge::IntoIntoDart<crate::models::UnspentTransactionOutput>
6431    for crate::models::UnspentTransactionOutput
6432{
6433    fn into_into_dart(self) -> crate::models::UnspentTransactionOutput {
6434        self
6435    }
6436}
6437// Codec=Dco (DartCObject based), see doc to use other codecs
6438impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::binding::UrlSuccessActionData> {
6439    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
6440        [
6441            self.0.description.into_into_dart().into_dart(),
6442            self.0.url.into_into_dart().into_dart(),
6443            self.0.matches_callback_domain.into_into_dart().into_dart(),
6444        ]
6445        .into_dart()
6446    }
6447}
6448impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
6449    for FrbWrapper<crate::binding::UrlSuccessActionData>
6450{
6451}
6452impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<crate::binding::UrlSuccessActionData>>
6453    for crate::binding::UrlSuccessActionData
6454{
6455    fn into_into_dart(self) -> FrbWrapper<crate::binding::UrlSuccessActionData> {
6456        self.into()
6457    }
6458}
6459
6460impl SseEncode for flutter_rust_bridge::for_generated::anyhow::Error {
6461    // Codec=Sse (Serialization based), see doc to use other codecs
6462    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6463        <String>::sse_encode(format!("{:?}", self), serializer);
6464    }
6465}
6466
6467impl SseEncode
6468    for StreamSink<crate::breez_services::BreezEvent, flutter_rust_bridge::for_generated::DcoCodec>
6469{
6470    // Codec=Sse (Serialization based), see doc to use other codecs
6471    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6472        unimplemented!("")
6473    }
6474}
6475
6476impl SseEncode
6477    for StreamSink<crate::models::LogEntry, flutter_rust_bridge::for_generated::DcoCodec>
6478{
6479    // Codec=Sse (Serialization based), see doc to use other codecs
6480    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6481        unimplemented!("")
6482    }
6483}
6484
6485impl SseEncode for String {
6486    // Codec=Sse (Serialization based), see doc to use other codecs
6487    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6488        <Vec<u8>>::sse_encode(self.into_bytes(), serializer);
6489    }
6490}
6491
6492impl SseEncode for crate::binding::AesSuccessActionDataDecrypted {
6493    // Codec=Sse (Serialization based), see doc to use other codecs
6494    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6495        <String>::sse_encode(self.description, serializer);
6496        <String>::sse_encode(self.plaintext, serializer);
6497    }
6498}
6499
6500impl SseEncode for crate::binding::AesSuccessActionDataResult {
6501    // Codec=Sse (Serialization based), see doc to use other codecs
6502    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6503        match self {
6504            crate::binding::AesSuccessActionDataResult::Decrypted { data } => {
6505                <i32>::sse_encode(0, serializer);
6506                <crate::binding::AesSuccessActionDataDecrypted>::sse_encode(data, serializer);
6507            }
6508            crate::binding::AesSuccessActionDataResult::ErrorStatus { reason } => {
6509                <i32>::sse_encode(1, serializer);
6510                <String>::sse_encode(reason, serializer);
6511            }
6512            _ => {
6513                unimplemented!("");
6514            }
6515        }
6516    }
6517}
6518
6519impl SseEncode for crate::breez_services::BackupFailedData {
6520    // Codec=Sse (Serialization based), see doc to use other codecs
6521    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6522        <String>::sse_encode(self.error, serializer);
6523    }
6524}
6525
6526impl SseEncode for crate::models::BackupStatus {
6527    // Codec=Sse (Serialization based), see doc to use other codecs
6528    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6529        <bool>::sse_encode(self.backed_up, serializer);
6530        <Option<u64>>::sse_encode(self.last_backup_time, serializer);
6531    }
6532}
6533
6534impl SseEncode for crate::binding::BindingEventListener {
6535    // Codec=Sse (Serialization based), see doc to use other codecs
6536    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {}
6537}
6538
6539impl SseEncode for crate::binding::BitcoinAddressData {
6540    // Codec=Sse (Serialization based), see doc to use other codecs
6541    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6542        <String>::sse_encode(self.address, serializer);
6543        <crate::binding::Network>::sse_encode(self.network, serializer);
6544        <Option<u64>>::sse_encode(self.amount_sat, serializer);
6545        <Option<String>>::sse_encode(self.label, serializer);
6546        <Option<String>>::sse_encode(self.message, serializer);
6547    }
6548}
6549
6550impl SseEncode for bool {
6551    // Codec=Sse (Serialization based), see doc to use other codecs
6552    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6553        serializer.cursor.write_u8(self as _).unwrap();
6554    }
6555}
6556
6557impl SseEncode for crate::breez_services::BreezEvent {
6558    // Codec=Sse (Serialization based), see doc to use other codecs
6559    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6560        match self {
6561            crate::breez_services::BreezEvent::NewBlock { block } => {
6562                <i32>::sse_encode(0, serializer);
6563                <u32>::sse_encode(block, serializer);
6564            }
6565            crate::breez_services::BreezEvent::InvoicePaid { details } => {
6566                <i32>::sse_encode(1, serializer);
6567                <crate::breez_services::InvoicePaidDetails>::sse_encode(details, serializer);
6568            }
6569            crate::breez_services::BreezEvent::Synced => {
6570                <i32>::sse_encode(2, serializer);
6571            }
6572            crate::breez_services::BreezEvent::PaymentSucceed { details } => {
6573                <i32>::sse_encode(3, serializer);
6574                <crate::models::Payment>::sse_encode(details, serializer);
6575            }
6576            crate::breez_services::BreezEvent::PaymentFailed { details } => {
6577                <i32>::sse_encode(4, serializer);
6578                <crate::breez_services::PaymentFailedData>::sse_encode(details, serializer);
6579            }
6580            crate::breez_services::BreezEvent::BackupStarted => {
6581                <i32>::sse_encode(5, serializer);
6582            }
6583            crate::breez_services::BreezEvent::BackupSucceeded => {
6584                <i32>::sse_encode(6, serializer);
6585            }
6586            crate::breez_services::BreezEvent::BackupFailed { details } => {
6587                <i32>::sse_encode(7, serializer);
6588                <crate::breez_services::BackupFailedData>::sse_encode(details, serializer);
6589            }
6590            crate::breez_services::BreezEvent::ReverseSwapUpdated { details } => {
6591                <i32>::sse_encode(8, serializer);
6592                <crate::models::ReverseSwapInfo>::sse_encode(details, serializer);
6593            }
6594            crate::breez_services::BreezEvent::SwapUpdated { details } => {
6595                <i32>::sse_encode(9, serializer);
6596                <crate::models::SwapInfo>::sse_encode(details, serializer);
6597            }
6598            _ => {
6599                unimplemented!("");
6600            }
6601        }
6602    }
6603}
6604
6605impl SseEncode for crate::models::BuyBitcoinProvider {
6606    // Codec=Sse (Serialization based), see doc to use other codecs
6607    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6608        <i32>::sse_encode(
6609            match self {
6610                crate::models::BuyBitcoinProvider::Moonpay => 0,
6611                _ => {
6612                    unimplemented!("");
6613                }
6614            },
6615            serializer,
6616        );
6617    }
6618}
6619
6620impl SseEncode for crate::models::BuyBitcoinRequest {
6621    // Codec=Sse (Serialization based), see doc to use other codecs
6622    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6623        <crate::models::BuyBitcoinProvider>::sse_encode(self.provider, serializer);
6624        <Option<crate::models::OpeningFeeParams>>::sse_encode(self.opening_fee_params, serializer);
6625        <Option<String>>::sse_encode(self.redirect_url, serializer);
6626    }
6627}
6628
6629impl SseEncode for crate::models::BuyBitcoinResponse {
6630    // Codec=Sse (Serialization based), see doc to use other codecs
6631    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6632        <String>::sse_encode(self.url, serializer);
6633        <Option<crate::models::OpeningFeeParams>>::sse_encode(self.opening_fee_params, serializer);
6634    }
6635}
6636
6637impl SseEncode for crate::models::ChannelState {
6638    // Codec=Sse (Serialization based), see doc to use other codecs
6639    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6640        <i32>::sse_encode(
6641            match self {
6642                crate::models::ChannelState::PendingOpen => 0,
6643                crate::models::ChannelState::Opened => 1,
6644                crate::models::ChannelState::PendingClose => 2,
6645                crate::models::ChannelState::Closed => 3,
6646                _ => {
6647                    unimplemented!("");
6648                }
6649            },
6650            serializer,
6651        );
6652    }
6653}
6654
6655impl SseEncode for crate::breez_services::CheckMessageRequest {
6656    // Codec=Sse (Serialization based), see doc to use other codecs
6657    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6658        <String>::sse_encode(self.message, serializer);
6659        <String>::sse_encode(self.pubkey, serializer);
6660        <String>::sse_encode(self.signature, serializer);
6661    }
6662}
6663
6664impl SseEncode for crate::breez_services::CheckMessageResponse {
6665    // Codec=Sse (Serialization based), see doc to use other codecs
6666    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6667        <bool>::sse_encode(self.is_valid, serializer);
6668    }
6669}
6670
6671impl SseEncode for crate::models::ClosedChannelPaymentDetails {
6672    // Codec=Sse (Serialization based), see doc to use other codecs
6673    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6674        <crate::models::ChannelState>::sse_encode(self.state, serializer);
6675        <String>::sse_encode(self.funding_txid, serializer);
6676        <Option<String>>::sse_encode(self.short_channel_id, serializer);
6677        <Option<String>>::sse_encode(self.closing_txid, serializer);
6678    }
6679}
6680
6681impl SseEncode for crate::models::Config {
6682    // Codec=Sse (Serialization based), see doc to use other codecs
6683    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6684        <String>::sse_encode(self.breezserver, serializer);
6685        <String>::sse_encode(self.chainnotifier_url, serializer);
6686        <Option<String>>::sse_encode(self.mempoolspace_url, serializer);
6687        <String>::sse_encode(self.working_dir, serializer);
6688        <crate::binding::Network>::sse_encode(self.network, serializer);
6689        <u32>::sse_encode(self.payment_timeout_sec, serializer);
6690        <Option<String>>::sse_encode(self.default_lsp_id, serializer);
6691        <Option<String>>::sse_encode(self.api_key, serializer);
6692        <f64>::sse_encode(self.maxfee_percent, serializer);
6693        <u64>::sse_encode(self.exemptfee_msat, serializer);
6694        <crate::models::NodeConfig>::sse_encode(self.node_config, serializer);
6695    }
6696}
6697
6698impl SseEncode for crate::models::ConfigureNodeRequest {
6699    // Codec=Sse (Serialization based), see doc to use other codecs
6700    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6701        <Option<String>>::sse_encode(self.close_to_address, serializer);
6702    }
6703}
6704
6705impl SseEncode for crate::models::ConnectRequest {
6706    // Codec=Sse (Serialization based), see doc to use other codecs
6707    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6708        <crate::models::Config>::sse_encode(self.config, serializer);
6709        <Vec<u8>>::sse_encode(self.seed, serializer);
6710        <Option<bool>>::sse_encode(self.restore_only, serializer);
6711    }
6712}
6713
6714impl SseEncode for crate::binding::CurrencyInfo {
6715    // Codec=Sse (Serialization based), see doc to use other codecs
6716    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6717        <String>::sse_encode(self.name, serializer);
6718        <u32>::sse_encode(self.fraction_size, serializer);
6719        <Option<u32>>::sse_encode(self.spacing, serializer);
6720        <Option<crate::binding::Symbol>>::sse_encode(self.symbol, serializer);
6721        <Option<crate::binding::Symbol>>::sse_encode(self.uniq_symbol, serializer);
6722        <Vec<crate::binding::LocalizedName>>::sse_encode(self.localized_name, serializer);
6723        <Vec<crate::binding::LocaleOverrides>>::sse_encode(self.locale_overrides, serializer);
6724    }
6725}
6726
6727impl SseEncode for crate::models::EnvironmentType {
6728    // Codec=Sse (Serialization based), see doc to use other codecs
6729    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6730        <i32>::sse_encode(
6731            match self {
6732                crate::models::EnvironmentType::Production => 0,
6733                crate::models::EnvironmentType::Staging => 1,
6734                _ => {
6735                    unimplemented!("");
6736                }
6737            },
6738            serializer,
6739        );
6740    }
6741}
6742
6743impl SseEncode for f64 {
6744    // Codec=Sse (Serialization based), see doc to use other codecs
6745    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6746        serializer.cursor.write_f64::<NativeEndian>(self).unwrap();
6747    }
6748}
6749
6750impl SseEncode for crate::binding::FiatCurrency {
6751    // Codec=Sse (Serialization based), see doc to use other codecs
6752    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6753        <String>::sse_encode(self.id, serializer);
6754        <crate::binding::CurrencyInfo>::sse_encode(self.info, serializer);
6755    }
6756}
6757
6758impl SseEncode for crate::models::GreenlightCredentials {
6759    // Codec=Sse (Serialization based), see doc to use other codecs
6760    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6761        <Vec<u8>>::sse_encode(self.developer_key, serializer);
6762        <Vec<u8>>::sse_encode(self.developer_cert, serializer);
6763    }
6764}
6765
6766impl SseEncode for crate::models::GreenlightDeviceCredentials {
6767    // Codec=Sse (Serialization based), see doc to use other codecs
6768    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6769        <Vec<u8>>::sse_encode(self.device, serializer);
6770    }
6771}
6772
6773impl SseEncode for crate::models::GreenlightNodeConfig {
6774    // Codec=Sse (Serialization based), see doc to use other codecs
6775    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6776        <Option<crate::models::GreenlightCredentials>>::sse_encode(
6777            self.partner_credentials,
6778            serializer,
6779        );
6780        <Option<String>>::sse_encode(self.invite_code, serializer);
6781    }
6782}
6783
6784impl SseEncode for crate::models::HealthCheckStatus {
6785    // Codec=Sse (Serialization based), see doc to use other codecs
6786    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6787        <i32>::sse_encode(
6788            match self {
6789                crate::models::HealthCheckStatus::Operational => 0,
6790                crate::models::HealthCheckStatus::Maintenance => 1,
6791                crate::models::HealthCheckStatus::ServiceDisruption => 2,
6792                _ => {
6793                    unimplemented!("");
6794                }
6795            },
6796            serializer,
6797        );
6798    }
6799}
6800
6801impl SseEncode for i32 {
6802    // Codec=Sse (Serialization based), see doc to use other codecs
6803    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6804        serializer.cursor.write_i32::<NativeEndian>(self).unwrap();
6805    }
6806}
6807
6808impl SseEncode for i64 {
6809    // Codec=Sse (Serialization based), see doc to use other codecs
6810    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6811        serializer.cursor.write_i64::<NativeEndian>(self).unwrap();
6812    }
6813}
6814
6815impl SseEncode for crate::binding::InputType {
6816    // Codec=Sse (Serialization based), see doc to use other codecs
6817    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6818        match self {
6819            crate::binding::InputType::BitcoinAddress { address } => {
6820                <i32>::sse_encode(0, serializer);
6821                <crate::binding::BitcoinAddressData>::sse_encode(address, serializer);
6822            }
6823            crate::binding::InputType::Bolt11 { invoice } => {
6824                <i32>::sse_encode(1, serializer);
6825                <crate::binding::LNInvoice>::sse_encode(invoice, serializer);
6826            }
6827            crate::binding::InputType::NodeId { node_id } => {
6828                <i32>::sse_encode(2, serializer);
6829                <String>::sse_encode(node_id, serializer);
6830            }
6831            crate::binding::InputType::Url { url } => {
6832                <i32>::sse_encode(3, serializer);
6833                <String>::sse_encode(url, serializer);
6834            }
6835            crate::binding::InputType::LnUrlPay {
6836                data,
6837                bip353_address,
6838            } => {
6839                <i32>::sse_encode(4, serializer);
6840                <crate::binding::LnUrlPayRequestData>::sse_encode(data, serializer);
6841                <Option<String>>::sse_encode(bip353_address, serializer);
6842            }
6843            crate::binding::InputType::LnUrlWithdraw { data } => {
6844                <i32>::sse_encode(5, serializer);
6845                <crate::binding::LnUrlWithdrawRequestData>::sse_encode(data, serializer);
6846            }
6847            crate::binding::InputType::LnUrlAuth { data } => {
6848                <i32>::sse_encode(6, serializer);
6849                <crate::binding::LnUrlAuthRequestData>::sse_encode(data, serializer);
6850            }
6851            crate::binding::InputType::LnUrlError { data } => {
6852                <i32>::sse_encode(7, serializer);
6853                <crate::binding::LnUrlErrorData>::sse_encode(data, serializer);
6854            }
6855            _ => {
6856                unimplemented!("");
6857            }
6858        }
6859    }
6860}
6861
6862impl SseEncode for crate::breez_services::InvoicePaidDetails {
6863    // Codec=Sse (Serialization based), see doc to use other codecs
6864    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6865        <String>::sse_encode(self.payment_hash, serializer);
6866        <String>::sse_encode(self.bolt11, serializer);
6867        <Option<crate::models::Payment>>::sse_encode(self.payment, serializer);
6868    }
6869}
6870
6871impl SseEncode for Vec<String> {
6872    // Codec=Sse (Serialization based), see doc to use other codecs
6873    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6874        <i32>::sse_encode(self.len() as _, serializer);
6875        for item in self {
6876            <String>::sse_encode(item, serializer);
6877        }
6878    }
6879}
6880
6881impl SseEncode for Vec<crate::binding::FiatCurrency> {
6882    // Codec=Sse (Serialization based), see doc to use other codecs
6883    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6884        <i32>::sse_encode(self.len() as _, serializer);
6885        for item in self {
6886            <crate::binding::FiatCurrency>::sse_encode(item, serializer);
6887        }
6888    }
6889}
6890
6891impl SseEncode for Vec<crate::binding::LocaleOverrides> {
6892    // Codec=Sse (Serialization based), see doc to use other codecs
6893    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6894        <i32>::sse_encode(self.len() as _, serializer);
6895        for item in self {
6896            <crate::binding::LocaleOverrides>::sse_encode(item, serializer);
6897        }
6898    }
6899}
6900
6901impl SseEncode for Vec<crate::binding::LocalizedName> {
6902    // Codec=Sse (Serialization based), see doc to use other codecs
6903    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6904        <i32>::sse_encode(self.len() as _, serializer);
6905        for item in self {
6906            <crate::binding::LocalizedName>::sse_encode(item, serializer);
6907        }
6908    }
6909}
6910
6911impl SseEncode for Vec<crate::lsp::LspInformation> {
6912    // Codec=Sse (Serialization based), see doc to use other codecs
6913    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6914        <i32>::sse_encode(self.len() as _, serializer);
6915        for item in self {
6916            <crate::lsp::LspInformation>::sse_encode(item, serializer);
6917        }
6918    }
6919}
6920
6921impl SseEncode for Vec<crate::models::MetadataFilter> {
6922    // Codec=Sse (Serialization based), see doc to use other codecs
6923    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6924        <i32>::sse_encode(self.len() as _, serializer);
6925        for item in self {
6926            <crate::models::MetadataFilter>::sse_encode(item, serializer);
6927        }
6928    }
6929}
6930
6931impl SseEncode for Vec<crate::models::OpeningFeeParams> {
6932    // Codec=Sse (Serialization based), see doc to use other codecs
6933    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6934        <i32>::sse_encode(self.len() as _, serializer);
6935        for item in self {
6936            <crate::models::OpeningFeeParams>::sse_encode(item, serializer);
6937        }
6938    }
6939}
6940
6941impl SseEncode for Vec<crate::models::Payment> {
6942    // Codec=Sse (Serialization based), see doc to use other codecs
6943    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6944        <i32>::sse_encode(self.len() as _, serializer);
6945        for item in self {
6946            <crate::models::Payment>::sse_encode(item, serializer);
6947        }
6948    }
6949}
6950
6951impl SseEncode for Vec<crate::models::PaymentTypeFilter> {
6952    // Codec=Sse (Serialization based), see doc to use other codecs
6953    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6954        <i32>::sse_encode(self.len() as _, serializer);
6955        for item in self {
6956            <crate::models::PaymentTypeFilter>::sse_encode(item, serializer);
6957        }
6958    }
6959}
6960
6961impl SseEncode for crate::models::ListPaymentsRequest {
6962    // Codec=Sse (Serialization based), see doc to use other codecs
6963    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6964        <Option<Vec<crate::models::PaymentTypeFilter>>>::sse_encode(self.filters, serializer);
6965        <Option<Vec<crate::models::MetadataFilter>>>::sse_encode(self.metadata_filters, serializer);
6966        <Option<i64>>::sse_encode(self.from_timestamp, serializer);
6967        <Option<i64>>::sse_encode(self.to_timestamp, serializer);
6968        <Option<bool>>::sse_encode(self.include_failures, serializer);
6969        <Option<u32>>::sse_encode(self.offset, serializer);
6970        <Option<u32>>::sse_encode(self.limit, serializer);
6971    }
6972}
6973
6974impl SseEncode for Vec<u8> {
6975    // Codec=Sse (Serialization based), see doc to use other codecs
6976    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6977        <i32>::sse_encode(self.len() as _, serializer);
6978        for item in self {
6979            <u8>::sse_encode(item, serializer);
6980        }
6981    }
6982}
6983
6984impl SseEncode for Vec<crate::binding::Rate> {
6985    // Codec=Sse (Serialization based), see doc to use other codecs
6986    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6987        <i32>::sse_encode(self.len() as _, serializer);
6988        for item in self {
6989            <crate::binding::Rate>::sse_encode(item, serializer);
6990        }
6991    }
6992}
6993
6994impl SseEncode for Vec<crate::models::ReverseSwapInfo> {
6995    // Codec=Sse (Serialization based), see doc to use other codecs
6996    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
6997        <i32>::sse_encode(self.len() as _, serializer);
6998        for item in self {
6999            <crate::models::ReverseSwapInfo>::sse_encode(item, serializer);
7000        }
7001    }
7002}
7003
7004impl SseEncode for Vec<crate::binding::RouteHint> {
7005    // Codec=Sse (Serialization based), see doc to use other codecs
7006    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7007        <i32>::sse_encode(self.len() as _, serializer);
7008        for item in self {
7009            <crate::binding::RouteHint>::sse_encode(item, serializer);
7010        }
7011    }
7012}
7013
7014impl SseEncode for Vec<crate::binding::RouteHintHop> {
7015    // Codec=Sse (Serialization based), see doc to use other codecs
7016    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7017        <i32>::sse_encode(self.len() as _, serializer);
7018        for item in self {
7019            <crate::binding::RouteHintHop>::sse_encode(item, serializer);
7020        }
7021    }
7022}
7023
7024impl SseEncode for Vec<crate::models::SwapInfo> {
7025    // Codec=Sse (Serialization based), see doc to use other codecs
7026    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7027        <i32>::sse_encode(self.len() as _, serializer);
7028        for item in self {
7029            <crate::models::SwapInfo>::sse_encode(item, serializer);
7030        }
7031    }
7032}
7033
7034impl SseEncode for Vec<crate::models::SwapStatus> {
7035    // Codec=Sse (Serialization based), see doc to use other codecs
7036    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7037        <i32>::sse_encode(self.len() as _, serializer);
7038        for item in self {
7039            <crate::models::SwapStatus>::sse_encode(item, serializer);
7040        }
7041    }
7042}
7043
7044impl SseEncode for crate::models::ListSwapsRequest {
7045    // Codec=Sse (Serialization based), see doc to use other codecs
7046    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7047        <Option<Vec<crate::models::SwapStatus>>>::sse_encode(self.status, serializer);
7048        <Option<i64>>::sse_encode(self.from_timestamp, serializer);
7049        <Option<i64>>::sse_encode(self.to_timestamp, serializer);
7050        <Option<u32>>::sse_encode(self.offset, serializer);
7051        <Option<u32>>::sse_encode(self.limit, serializer);
7052    }
7053}
7054
7055impl SseEncode for Vec<crate::models::TlvEntry> {
7056    // Codec=Sse (Serialization based), see doc to use other codecs
7057    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7058        <i32>::sse_encode(self.len() as _, serializer);
7059        for item in self {
7060            <crate::models::TlvEntry>::sse_encode(item, serializer);
7061        }
7062    }
7063}
7064
7065impl SseEncode for Vec<crate::models::UnspentTransactionOutput> {
7066    // Codec=Sse (Serialization based), see doc to use other codecs
7067    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7068        <i32>::sse_encode(self.len() as _, serializer);
7069        for item in self {
7070            <crate::models::UnspentTransactionOutput>::sse_encode(item, serializer);
7071        }
7072    }
7073}
7074
7075impl SseEncode for crate::binding::LNInvoice {
7076    // Codec=Sse (Serialization based), see doc to use other codecs
7077    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7078        <String>::sse_encode(self.bolt11, serializer);
7079        <crate::binding::Network>::sse_encode(self.network, serializer);
7080        <String>::sse_encode(self.payee_pubkey, serializer);
7081        <String>::sse_encode(self.payment_hash, serializer);
7082        <Option<String>>::sse_encode(self.description, serializer);
7083        <Option<String>>::sse_encode(self.description_hash, serializer);
7084        <Option<u64>>::sse_encode(self.amount_msat, serializer);
7085        <u64>::sse_encode(self.timestamp, serializer);
7086        <u64>::sse_encode(self.expiry, serializer);
7087        <Vec<crate::binding::RouteHint>>::sse_encode(self.routing_hints, serializer);
7088        <Vec<u8>>::sse_encode(self.payment_secret, serializer);
7089        <u64>::sse_encode(self.min_final_cltv_expiry_delta, serializer);
7090    }
7091}
7092
7093impl SseEncode for crate::models::LnPaymentDetails {
7094    // Codec=Sse (Serialization based), see doc to use other codecs
7095    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7096        <String>::sse_encode(self.payment_hash, serializer);
7097        <String>::sse_encode(self.label, serializer);
7098        <String>::sse_encode(self.destination_pubkey, serializer);
7099        <String>::sse_encode(self.payment_preimage, serializer);
7100        <bool>::sse_encode(self.keysend, serializer);
7101        <String>::sse_encode(self.bolt11, serializer);
7102        <Option<String>>::sse_encode(self.open_channel_bolt11, serializer);
7103        <Option<crate::binding::SuccessActionProcessed>>::sse_encode(
7104            self.lnurl_success_action,
7105            serializer,
7106        );
7107        <Option<String>>::sse_encode(self.lnurl_pay_domain, serializer);
7108        <Option<String>>::sse_encode(self.lnurl_pay_comment, serializer);
7109        <Option<String>>::sse_encode(self.ln_address, serializer);
7110        <Option<String>>::sse_encode(self.lnurl_metadata, serializer);
7111        <Option<String>>::sse_encode(self.lnurl_withdraw_endpoint, serializer);
7112        <Option<crate::models::SwapInfo>>::sse_encode(self.swap_info, serializer);
7113        <Option<crate::models::ReverseSwapInfo>>::sse_encode(self.reverse_swap_info, serializer);
7114        <Option<u32>>::sse_encode(self.pending_expiration_block, serializer);
7115    }
7116}
7117
7118impl SseEncode for crate::binding::LnUrlAuthRequestData {
7119    // Codec=Sse (Serialization based), see doc to use other codecs
7120    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7121        <String>::sse_encode(self.k1, serializer);
7122        <Option<String>>::sse_encode(self.action, serializer);
7123        <String>::sse_encode(self.domain, serializer);
7124        <String>::sse_encode(self.url, serializer);
7125    }
7126}
7127
7128impl SseEncode for crate::binding::LnUrlCallbackStatus {
7129    // Codec=Sse (Serialization based), see doc to use other codecs
7130    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7131        match self {
7132            crate::binding::LnUrlCallbackStatus::Ok => {
7133                <i32>::sse_encode(0, serializer);
7134            }
7135            crate::binding::LnUrlCallbackStatus::ErrorStatus { data } => {
7136                <i32>::sse_encode(1, serializer);
7137                <crate::binding::LnUrlErrorData>::sse_encode(data, serializer);
7138            }
7139            _ => {
7140                unimplemented!("");
7141            }
7142        }
7143    }
7144}
7145
7146impl SseEncode for crate::binding::LnUrlErrorData {
7147    // Codec=Sse (Serialization based), see doc to use other codecs
7148    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7149        <String>::sse_encode(self.reason, serializer);
7150    }
7151}
7152
7153impl SseEncode for crate::binding::LnUrlPayErrorData {
7154    // Codec=Sse (Serialization based), see doc to use other codecs
7155    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7156        <String>::sse_encode(self.payment_hash, serializer);
7157        <String>::sse_encode(self.reason, serializer);
7158    }
7159}
7160
7161impl SseEncode for crate::binding::LnUrlPayRequest {
7162    // Codec=Sse (Serialization based), see doc to use other codecs
7163    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7164        <crate::binding::LnUrlPayRequestData>::sse_encode(self.data, serializer);
7165        <u64>::sse_encode(self.amount_msat, serializer);
7166        <bool>::sse_encode(self.use_trampoline, serializer);
7167        <Option<String>>::sse_encode(self.comment, serializer);
7168        <Option<String>>::sse_encode(self.payment_label, serializer);
7169        <Option<bool>>::sse_encode(self.validate_success_action_url, serializer);
7170    }
7171}
7172
7173impl SseEncode for crate::binding::LnUrlPayRequestData {
7174    // Codec=Sse (Serialization based), see doc to use other codecs
7175    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7176        <String>::sse_encode(self.callback, serializer);
7177        <u64>::sse_encode(self.min_sendable, serializer);
7178        <u64>::sse_encode(self.max_sendable, serializer);
7179        <String>::sse_encode(self.metadata_str, serializer);
7180        <u16>::sse_encode(self.comment_allowed, serializer);
7181        <String>::sse_encode(self.domain, serializer);
7182        <bool>::sse_encode(self.allows_nostr, serializer);
7183        <Option<String>>::sse_encode(self.nostr_pubkey, serializer);
7184        <Option<String>>::sse_encode(self.ln_address, serializer);
7185    }
7186}
7187
7188impl SseEncode for crate::lnurl::pay::LnUrlPayResult {
7189    // Codec=Sse (Serialization based), see doc to use other codecs
7190    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7191        match self {
7192            crate::lnurl::pay::LnUrlPayResult::EndpointSuccess { data } => {
7193                <i32>::sse_encode(0, serializer);
7194                <crate::lnurl::pay::LnUrlPaySuccessData>::sse_encode(data, serializer);
7195            }
7196            crate::lnurl::pay::LnUrlPayResult::EndpointError { data } => {
7197                <i32>::sse_encode(1, serializer);
7198                <crate::binding::LnUrlErrorData>::sse_encode(data, serializer);
7199            }
7200            crate::lnurl::pay::LnUrlPayResult::PayError { data } => {
7201                <i32>::sse_encode(2, serializer);
7202                <crate::binding::LnUrlPayErrorData>::sse_encode(data, serializer);
7203            }
7204            _ => {
7205                unimplemented!("");
7206            }
7207        }
7208    }
7209}
7210
7211impl SseEncode for crate::lnurl::pay::LnUrlPaySuccessData {
7212    // Codec=Sse (Serialization based), see doc to use other codecs
7213    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7214        <crate::models::Payment>::sse_encode(self.payment, serializer);
7215        <Option<crate::binding::SuccessActionProcessed>>::sse_encode(
7216            self.success_action,
7217            serializer,
7218        );
7219    }
7220}
7221
7222impl SseEncode for crate::binding::LnUrlWithdrawRequest {
7223    // Codec=Sse (Serialization based), see doc to use other codecs
7224    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7225        <crate::binding::LnUrlWithdrawRequestData>::sse_encode(self.data, serializer);
7226        <u64>::sse_encode(self.amount_msat, serializer);
7227        <Option<String>>::sse_encode(self.description, serializer);
7228    }
7229}
7230
7231impl SseEncode for crate::binding::LnUrlWithdrawRequestData {
7232    // Codec=Sse (Serialization based), see doc to use other codecs
7233    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7234        <String>::sse_encode(self.callback, serializer);
7235        <String>::sse_encode(self.k1, serializer);
7236        <String>::sse_encode(self.default_description, serializer);
7237        <u64>::sse_encode(self.min_withdrawable, serializer);
7238        <u64>::sse_encode(self.max_withdrawable, serializer);
7239    }
7240}
7241
7242impl SseEncode for crate::binding::LnUrlWithdrawResult {
7243    // Codec=Sse (Serialization based), see doc to use other codecs
7244    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7245        match self {
7246            crate::binding::LnUrlWithdrawResult::Ok { data } => {
7247                <i32>::sse_encode(0, serializer);
7248                <crate::binding::LnUrlWithdrawSuccessData>::sse_encode(data, serializer);
7249            }
7250            crate::binding::LnUrlWithdrawResult::Timeout { data } => {
7251                <i32>::sse_encode(1, serializer);
7252                <crate::binding::LnUrlWithdrawSuccessData>::sse_encode(data, serializer);
7253            }
7254            crate::binding::LnUrlWithdrawResult::ErrorStatus { data } => {
7255                <i32>::sse_encode(2, serializer);
7256                <crate::binding::LnUrlErrorData>::sse_encode(data, serializer);
7257            }
7258            _ => {
7259                unimplemented!("");
7260            }
7261        }
7262    }
7263}
7264
7265impl SseEncode for crate::binding::LnUrlWithdrawSuccessData {
7266    // Codec=Sse (Serialization based), see doc to use other codecs
7267    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7268        <crate::binding::LNInvoice>::sse_encode(self.invoice, serializer);
7269    }
7270}
7271
7272impl SseEncode for crate::binding::LocaleOverrides {
7273    // Codec=Sse (Serialization based), see doc to use other codecs
7274    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7275        <String>::sse_encode(self.locale, serializer);
7276        <Option<u32>>::sse_encode(self.spacing, serializer);
7277        <crate::binding::Symbol>::sse_encode(self.symbol, serializer);
7278    }
7279}
7280
7281impl SseEncode for crate::binding::LocalizedName {
7282    // Codec=Sse (Serialization based), see doc to use other codecs
7283    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7284        <String>::sse_encode(self.locale, serializer);
7285        <String>::sse_encode(self.name, serializer);
7286    }
7287}
7288
7289impl SseEncode for crate::models::LogEntry {
7290    // Codec=Sse (Serialization based), see doc to use other codecs
7291    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7292        <String>::sse_encode(self.line, serializer);
7293        <String>::sse_encode(self.level, serializer);
7294    }
7295}
7296
7297impl SseEncode for crate::lsp::LspInformation {
7298    // Codec=Sse (Serialization based), see doc to use other codecs
7299    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7300        <String>::sse_encode(self.id, serializer);
7301        <String>::sse_encode(self.name, serializer);
7302        <String>::sse_encode(self.widget_url, serializer);
7303        <String>::sse_encode(self.pubkey, serializer);
7304        <String>::sse_encode(self.host, serializer);
7305        <i64>::sse_encode(self.base_fee_msat, serializer);
7306        <f64>::sse_encode(self.fee_rate, serializer);
7307        <u32>::sse_encode(self.time_lock_delta, serializer);
7308        <i64>::sse_encode(self.min_htlc_msat, serializer);
7309        <Vec<u8>>::sse_encode(self.lsp_pubkey, serializer);
7310        <crate::models::OpeningFeeParamsMenu>::sse_encode(self.opening_fee_params_list, serializer);
7311    }
7312}
7313
7314impl SseEncode for crate::binding::MessageSuccessActionData {
7315    // Codec=Sse (Serialization based), see doc to use other codecs
7316    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7317        <String>::sse_encode(self.message, serializer);
7318    }
7319}
7320
7321impl SseEncode for crate::models::MetadataFilter {
7322    // Codec=Sse (Serialization based), see doc to use other codecs
7323    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7324        <String>::sse_encode(self.json_path, serializer);
7325        <String>::sse_encode(self.json_value, serializer);
7326    }
7327}
7328
7329impl SseEncode for crate::binding::Network {
7330    // Codec=Sse (Serialization based), see doc to use other codecs
7331    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7332        <i32>::sse_encode(
7333            match self {
7334                crate::binding::Network::Bitcoin => 0,
7335                crate::binding::Network::Testnet => 1,
7336                crate::binding::Network::Signet => 2,
7337                crate::binding::Network::Regtest => 3,
7338                _ => {
7339                    unimplemented!("");
7340                }
7341            },
7342            serializer,
7343        );
7344    }
7345}
7346
7347impl SseEncode for crate::models::NodeConfig {
7348    // Codec=Sse (Serialization based), see doc to use other codecs
7349    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7350        match self {
7351            crate::models::NodeConfig::Greenlight { config } => {
7352                <i32>::sse_encode(0, serializer);
7353                <crate::models::GreenlightNodeConfig>::sse_encode(config, serializer);
7354            }
7355            _ => {
7356                unimplemented!("");
7357            }
7358        }
7359    }
7360}
7361
7362impl SseEncode for crate::models::NodeCredentials {
7363    // Codec=Sse (Serialization based), see doc to use other codecs
7364    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7365        match self {
7366            crate::models::NodeCredentials::Greenlight { credentials } => {
7367                <i32>::sse_encode(0, serializer);
7368                <crate::models::GreenlightDeviceCredentials>::sse_encode(credentials, serializer);
7369            }
7370            _ => {
7371                unimplemented!("");
7372            }
7373        }
7374    }
7375}
7376
7377impl SseEncode for crate::models::NodeState {
7378    // Codec=Sse (Serialization based), see doc to use other codecs
7379    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7380        <String>::sse_encode(self.id, serializer);
7381        <u32>::sse_encode(self.block_height, serializer);
7382        <u64>::sse_encode(self.channels_balance_msat, serializer);
7383        <u64>::sse_encode(self.onchain_balance_msat, serializer);
7384        <u64>::sse_encode(self.pending_onchain_balance_msat, serializer);
7385        <Vec<crate::models::UnspentTransactionOutput>>::sse_encode(self.utxos, serializer);
7386        <u64>::sse_encode(self.max_payable_msat, serializer);
7387        <u64>::sse_encode(self.max_receivable_msat, serializer);
7388        <u64>::sse_encode(self.max_single_payment_amount_msat, serializer);
7389        <u64>::sse_encode(self.max_chan_reserve_msats, serializer);
7390        <Vec<String>>::sse_encode(self.connected_peers, serializer);
7391        <u64>::sse_encode(self.max_receivable_single_payment_amount_msat, serializer);
7392        <u64>::sse_encode(self.total_inbound_liquidity_msats, serializer);
7393    }
7394}
7395
7396impl SseEncode for crate::models::OnchainPaymentLimitsResponse {
7397    // Codec=Sse (Serialization based), see doc to use other codecs
7398    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7399        <u64>::sse_encode(self.min_sat, serializer);
7400        <u64>::sse_encode(self.max_sat, serializer);
7401        <u64>::sse_encode(self.max_payable_sat, serializer);
7402    }
7403}
7404
7405impl SseEncode for crate::models::OpenChannelFeeRequest {
7406    // Codec=Sse (Serialization based), see doc to use other codecs
7407    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7408        <Option<u64>>::sse_encode(self.amount_msat, serializer);
7409        <Option<u32>>::sse_encode(self.expiry, serializer);
7410    }
7411}
7412
7413impl SseEncode for crate::models::OpenChannelFeeResponse {
7414    // Codec=Sse (Serialization based), see doc to use other codecs
7415    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7416        <Option<u64>>::sse_encode(self.fee_msat, serializer);
7417        <crate::models::OpeningFeeParams>::sse_encode(self.fee_params, serializer);
7418    }
7419}
7420
7421impl SseEncode for crate::models::OpeningFeeParams {
7422    // Codec=Sse (Serialization based), see doc to use other codecs
7423    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7424        <u64>::sse_encode(self.min_msat, serializer);
7425        <u32>::sse_encode(self.proportional, serializer);
7426        <String>::sse_encode(self.valid_until, serializer);
7427        <u32>::sse_encode(self.max_idle_time, serializer);
7428        <u32>::sse_encode(self.max_client_to_self_delay, serializer);
7429        <String>::sse_encode(self.promise, serializer);
7430    }
7431}
7432
7433impl SseEncode for crate::models::OpeningFeeParamsMenu {
7434    // Codec=Sse (Serialization based), see doc to use other codecs
7435    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7436        <Vec<crate::models::OpeningFeeParams>>::sse_encode(self.values, serializer);
7437    }
7438}
7439
7440impl SseEncode for Option<String> {
7441    // Codec=Sse (Serialization based), see doc to use other codecs
7442    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7443        <bool>::sse_encode(self.is_some(), serializer);
7444        if let Some(value) = self {
7445            <String>::sse_encode(value, serializer);
7446        }
7447    }
7448}
7449
7450impl SseEncode for Option<bool> {
7451    // Codec=Sse (Serialization based), see doc to use other codecs
7452    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7453        <bool>::sse_encode(self.is_some(), serializer);
7454        if let Some(value) = self {
7455            <bool>::sse_encode(value, serializer);
7456        }
7457    }
7458}
7459
7460impl SseEncode for Option<crate::models::GreenlightCredentials> {
7461    // Codec=Sse (Serialization based), see doc to use other codecs
7462    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7463        <bool>::sse_encode(self.is_some(), serializer);
7464        if let Some(value) = self {
7465            <crate::models::GreenlightCredentials>::sse_encode(value, serializer);
7466        }
7467    }
7468}
7469
7470impl SseEncode for Option<i64> {
7471    // Codec=Sse (Serialization based), see doc to use other codecs
7472    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7473        <bool>::sse_encode(self.is_some(), serializer);
7474        if let Some(value) = self {
7475            <i64>::sse_encode(value, serializer);
7476        }
7477    }
7478}
7479
7480impl SseEncode for Option<crate::binding::LNInvoice> {
7481    // Codec=Sse (Serialization based), see doc to use other codecs
7482    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7483        <bool>::sse_encode(self.is_some(), serializer);
7484        if let Some(value) = self {
7485            <crate::binding::LNInvoice>::sse_encode(value, serializer);
7486        }
7487    }
7488}
7489
7490impl SseEncode for Option<crate::lsp::LspInformation> {
7491    // Codec=Sse (Serialization based), see doc to use other codecs
7492    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7493        <bool>::sse_encode(self.is_some(), serializer);
7494        if let Some(value) = self {
7495            <crate::lsp::LspInformation>::sse_encode(value, serializer);
7496        }
7497    }
7498}
7499
7500impl SseEncode for Option<crate::models::NodeCredentials> {
7501    // Codec=Sse (Serialization based), see doc to use other codecs
7502    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7503        <bool>::sse_encode(self.is_some(), serializer);
7504        if let Some(value) = self {
7505            <crate::models::NodeCredentials>::sse_encode(value, serializer);
7506        }
7507    }
7508}
7509
7510impl SseEncode for Option<crate::models::OpeningFeeParams> {
7511    // Codec=Sse (Serialization based), see doc to use other codecs
7512    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7513        <bool>::sse_encode(self.is_some(), serializer);
7514        if let Some(value) = self {
7515            <crate::models::OpeningFeeParams>::sse_encode(value, serializer);
7516        }
7517    }
7518}
7519
7520impl SseEncode for Option<crate::models::Payment> {
7521    // Codec=Sse (Serialization based), see doc to use other codecs
7522    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7523        <bool>::sse_encode(self.is_some(), serializer);
7524        if let Some(value) = self {
7525            <crate::models::Payment>::sse_encode(value, serializer);
7526        }
7527    }
7528}
7529
7530impl SseEncode for Option<crate::models::ReverseSwapInfo> {
7531    // Codec=Sse (Serialization based), see doc to use other codecs
7532    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7533        <bool>::sse_encode(self.is_some(), serializer);
7534        if let Some(value) = self {
7535            <crate::models::ReverseSwapInfo>::sse_encode(value, serializer);
7536        }
7537    }
7538}
7539
7540impl SseEncode for Option<crate::binding::SuccessActionProcessed> {
7541    // Codec=Sse (Serialization based), see doc to use other codecs
7542    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7543        <bool>::sse_encode(self.is_some(), serializer);
7544        if let Some(value) = self {
7545            <crate::binding::SuccessActionProcessed>::sse_encode(value, serializer);
7546        }
7547    }
7548}
7549
7550impl SseEncode for Option<crate::models::SwapInfo> {
7551    // Codec=Sse (Serialization based), see doc to use other codecs
7552    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7553        <bool>::sse_encode(self.is_some(), serializer);
7554        if let Some(value) = self {
7555            <crate::models::SwapInfo>::sse_encode(value, serializer);
7556        }
7557    }
7558}
7559
7560impl SseEncode for Option<crate::binding::Symbol> {
7561    // Codec=Sse (Serialization based), see doc to use other codecs
7562    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7563        <bool>::sse_encode(self.is_some(), serializer);
7564        if let Some(value) = self {
7565            <crate::binding::Symbol>::sse_encode(value, serializer);
7566        }
7567    }
7568}
7569
7570impl SseEncode for Option<u32> {
7571    // Codec=Sse (Serialization based), see doc to use other codecs
7572    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7573        <bool>::sse_encode(self.is_some(), serializer);
7574        if let Some(value) = self {
7575            <u32>::sse_encode(value, serializer);
7576        }
7577    }
7578}
7579
7580impl SseEncode for Option<u64> {
7581    // Codec=Sse (Serialization based), see doc to use other codecs
7582    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7583        <bool>::sse_encode(self.is_some(), serializer);
7584        if let Some(value) = self {
7585            <u64>::sse_encode(value, serializer);
7586        }
7587    }
7588}
7589
7590impl SseEncode for Option<Vec<String>> {
7591    // Codec=Sse (Serialization based), see doc to use other codecs
7592    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7593        <bool>::sse_encode(self.is_some(), serializer);
7594        if let Some(value) = self {
7595            <Vec<String>>::sse_encode(value, serializer);
7596        }
7597    }
7598}
7599
7600impl SseEncode for Option<Vec<crate::models::MetadataFilter>> {
7601    // Codec=Sse (Serialization based), see doc to use other codecs
7602    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7603        <bool>::sse_encode(self.is_some(), serializer);
7604        if let Some(value) = self {
7605            <Vec<crate::models::MetadataFilter>>::sse_encode(value, serializer);
7606        }
7607    }
7608}
7609
7610impl SseEncode for Option<Vec<crate::models::PaymentTypeFilter>> {
7611    // Codec=Sse (Serialization based), see doc to use other codecs
7612    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7613        <bool>::sse_encode(self.is_some(), serializer);
7614        if let Some(value) = self {
7615            <Vec<crate::models::PaymentTypeFilter>>::sse_encode(value, serializer);
7616        }
7617    }
7618}
7619
7620impl SseEncode for Option<Vec<u8>> {
7621    // Codec=Sse (Serialization based), see doc to use other codecs
7622    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7623        <bool>::sse_encode(self.is_some(), serializer);
7624        if let Some(value) = self {
7625            <Vec<u8>>::sse_encode(value, serializer);
7626        }
7627    }
7628}
7629
7630impl SseEncode for Option<Vec<crate::models::SwapStatus>> {
7631    // Codec=Sse (Serialization based), see doc to use other codecs
7632    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7633        <bool>::sse_encode(self.is_some(), serializer);
7634        if let Some(value) = self {
7635            <Vec<crate::models::SwapStatus>>::sse_encode(value, serializer);
7636        }
7637    }
7638}
7639
7640impl SseEncode for Option<Vec<crate::models::TlvEntry>> {
7641    // Codec=Sse (Serialization based), see doc to use other codecs
7642    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7643        <bool>::sse_encode(self.is_some(), serializer);
7644        if let Some(value) = self {
7645            <Vec<crate::models::TlvEntry>>::sse_encode(value, serializer);
7646        }
7647    }
7648}
7649
7650impl SseEncode for crate::models::PayOnchainRequest {
7651    // Codec=Sse (Serialization based), see doc to use other codecs
7652    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7653        <String>::sse_encode(self.recipient_address, serializer);
7654        <crate::models::PrepareOnchainPaymentResponse>::sse_encode(self.prepare_res, serializer);
7655    }
7656}
7657
7658impl SseEncode for crate::models::PayOnchainResponse {
7659    // Codec=Sse (Serialization based), see doc to use other codecs
7660    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7661        <crate::models::ReverseSwapInfo>::sse_encode(self.reverse_swap_info, serializer);
7662    }
7663}
7664
7665impl SseEncode for crate::models::Payment {
7666    // Codec=Sse (Serialization based), see doc to use other codecs
7667    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7668        <String>::sse_encode(self.id, serializer);
7669        <crate::models::PaymentType>::sse_encode(self.payment_type, serializer);
7670        <i64>::sse_encode(self.payment_time, serializer);
7671        <u64>::sse_encode(self.amount_msat, serializer);
7672        <u64>::sse_encode(self.fee_msat, serializer);
7673        <crate::models::PaymentStatus>::sse_encode(self.status, serializer);
7674        <Option<String>>::sse_encode(self.error, serializer);
7675        <Option<String>>::sse_encode(self.description, serializer);
7676        <crate::models::PaymentDetails>::sse_encode(self.details, serializer);
7677        <Option<String>>::sse_encode(self.metadata, serializer);
7678    }
7679}
7680
7681impl SseEncode for crate::models::PaymentDetails {
7682    // Codec=Sse (Serialization based), see doc to use other codecs
7683    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7684        match self {
7685            crate::models::PaymentDetails::Ln { data } => {
7686                <i32>::sse_encode(0, serializer);
7687                <crate::models::LnPaymentDetails>::sse_encode(data, serializer);
7688            }
7689            crate::models::PaymentDetails::ClosedChannel { data } => {
7690                <i32>::sse_encode(1, serializer);
7691                <crate::models::ClosedChannelPaymentDetails>::sse_encode(data, serializer);
7692            }
7693            _ => {
7694                unimplemented!("");
7695            }
7696        }
7697    }
7698}
7699
7700impl SseEncode for crate::breez_services::PaymentFailedData {
7701    // Codec=Sse (Serialization based), see doc to use other codecs
7702    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7703        <String>::sse_encode(self.error, serializer);
7704        <String>::sse_encode(self.node_id, serializer);
7705        <Option<crate::binding::LNInvoice>>::sse_encode(self.invoice, serializer);
7706        <Option<String>>::sse_encode(self.label, serializer);
7707    }
7708}
7709
7710impl SseEncode for crate::models::PaymentStatus {
7711    // Codec=Sse (Serialization based), see doc to use other codecs
7712    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7713        <i32>::sse_encode(
7714            match self {
7715                crate::models::PaymentStatus::Pending => 0,
7716                crate::models::PaymentStatus::Complete => 1,
7717                crate::models::PaymentStatus::Failed => 2,
7718                _ => {
7719                    unimplemented!("");
7720                }
7721            },
7722            serializer,
7723        );
7724    }
7725}
7726
7727impl SseEncode for crate::models::PaymentType {
7728    // Codec=Sse (Serialization based), see doc to use other codecs
7729    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7730        <i32>::sse_encode(
7731            match self {
7732                crate::models::PaymentType::Sent => 0,
7733                crate::models::PaymentType::Received => 1,
7734                crate::models::PaymentType::ClosedChannel => 2,
7735                _ => {
7736                    unimplemented!("");
7737                }
7738            },
7739            serializer,
7740        );
7741    }
7742}
7743
7744impl SseEncode for crate::models::PaymentTypeFilter {
7745    // Codec=Sse (Serialization based), see doc to use other codecs
7746    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7747        <i32>::sse_encode(
7748            match self {
7749                crate::models::PaymentTypeFilter::Sent => 0,
7750                crate::models::PaymentTypeFilter::Received => 1,
7751                crate::models::PaymentTypeFilter::ClosedChannel => 2,
7752                _ => {
7753                    unimplemented!("");
7754                }
7755            },
7756            serializer,
7757        );
7758    }
7759}
7760
7761impl SseEncode for crate::models::PrepareOnchainPaymentRequest {
7762    // Codec=Sse (Serialization based), see doc to use other codecs
7763    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7764        <u64>::sse_encode(self.amount_sat, serializer);
7765        <crate::models::SwapAmountType>::sse_encode(self.amount_type, serializer);
7766        <u32>::sse_encode(self.claim_tx_feerate, serializer);
7767    }
7768}
7769
7770impl SseEncode for crate::models::PrepareOnchainPaymentResponse {
7771    // Codec=Sse (Serialization based), see doc to use other codecs
7772    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7773        <String>::sse_encode(self.fees_hash, serializer);
7774        <f64>::sse_encode(self.fees_percentage, serializer);
7775        <u64>::sse_encode(self.fees_lockup, serializer);
7776        <u64>::sse_encode(self.fees_claim, serializer);
7777        <u64>::sse_encode(self.sender_amount_sat, serializer);
7778        <u64>::sse_encode(self.recipient_amount_sat, serializer);
7779        <u64>::sse_encode(self.total_fees, serializer);
7780    }
7781}
7782
7783impl SseEncode for crate::models::PrepareRedeemOnchainFundsRequest {
7784    // Codec=Sse (Serialization based), see doc to use other codecs
7785    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7786        <String>::sse_encode(self.to_address, serializer);
7787        <u32>::sse_encode(self.sat_per_vbyte, serializer);
7788    }
7789}
7790
7791impl SseEncode for crate::models::PrepareRedeemOnchainFundsResponse {
7792    // Codec=Sse (Serialization based), see doc to use other codecs
7793    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7794        <u64>::sse_encode(self.tx_weight, serializer);
7795        <u64>::sse_encode(self.tx_fee_sat, serializer);
7796    }
7797}
7798
7799impl SseEncode for crate::models::PrepareRefundRequest {
7800    // Codec=Sse (Serialization based), see doc to use other codecs
7801    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7802        <String>::sse_encode(self.swap_address, serializer);
7803        <String>::sse_encode(self.to_address, serializer);
7804        <u32>::sse_encode(self.sat_per_vbyte, serializer);
7805        <Option<bool>>::sse_encode(self.unilateral, serializer);
7806    }
7807}
7808
7809impl SseEncode for crate::models::PrepareRefundResponse {
7810    // Codec=Sse (Serialization based), see doc to use other codecs
7811    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7812        <u32>::sse_encode(self.refund_tx_weight, serializer);
7813        <u64>::sse_encode(self.refund_tx_fee_sat, serializer);
7814    }
7815}
7816
7817impl SseEncode for crate::binding::Rate {
7818    // Codec=Sse (Serialization based), see doc to use other codecs
7819    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7820        <String>::sse_encode(self.coin, serializer);
7821        <f64>::sse_encode(self.value, serializer);
7822    }
7823}
7824
7825impl SseEncode for crate::models::ReceiveOnchainRequest {
7826    // Codec=Sse (Serialization based), see doc to use other codecs
7827    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7828        <Option<crate::models::OpeningFeeParams>>::sse_encode(self.opening_fee_params, serializer);
7829    }
7830}
7831
7832impl SseEncode for crate::models::ReceivePaymentRequest {
7833    // Codec=Sse (Serialization based), see doc to use other codecs
7834    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7835        <u64>::sse_encode(self.amount_msat, serializer);
7836        <String>::sse_encode(self.description, serializer);
7837        <Option<Vec<u8>>>::sse_encode(self.preimage, serializer);
7838        <Option<crate::models::OpeningFeeParams>>::sse_encode(self.opening_fee_params, serializer);
7839        <Option<bool>>::sse_encode(self.use_description_hash, serializer);
7840        <Option<u32>>::sse_encode(self.expiry, serializer);
7841        <Option<u32>>::sse_encode(self.cltv, serializer);
7842    }
7843}
7844
7845impl SseEncode for crate::models::ReceivePaymentResponse {
7846    // Codec=Sse (Serialization based), see doc to use other codecs
7847    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7848        <crate::binding::LNInvoice>::sse_encode(self.ln_invoice, serializer);
7849        <Option<crate::models::OpeningFeeParams>>::sse_encode(self.opening_fee_params, serializer);
7850        <Option<u64>>::sse_encode(self.opening_fee_msat, serializer);
7851    }
7852}
7853
7854impl SseEncode for crate::chain::RecommendedFees {
7855    // Codec=Sse (Serialization based), see doc to use other codecs
7856    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7857        <u64>::sse_encode(self.fastest_fee, serializer);
7858        <u64>::sse_encode(self.half_hour_fee, serializer);
7859        <u64>::sse_encode(self.hour_fee, serializer);
7860        <u64>::sse_encode(self.economy_fee, serializer);
7861        <u64>::sse_encode(self.minimum_fee, serializer);
7862    }
7863}
7864
7865impl SseEncode for crate::models::RedeemOnchainFundsRequest {
7866    // Codec=Sse (Serialization based), see doc to use other codecs
7867    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7868        <String>::sse_encode(self.to_address, serializer);
7869        <u32>::sse_encode(self.sat_per_vbyte, serializer);
7870    }
7871}
7872
7873impl SseEncode for crate::models::RedeemOnchainFundsResponse {
7874    // Codec=Sse (Serialization based), see doc to use other codecs
7875    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7876        <Vec<u8>>::sse_encode(self.txid, serializer);
7877    }
7878}
7879
7880impl SseEncode for crate::models::RefundRequest {
7881    // Codec=Sse (Serialization based), see doc to use other codecs
7882    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7883        <String>::sse_encode(self.swap_address, serializer);
7884        <String>::sse_encode(self.to_address, serializer);
7885        <u32>::sse_encode(self.sat_per_vbyte, serializer);
7886        <Option<bool>>::sse_encode(self.unilateral, serializer);
7887    }
7888}
7889
7890impl SseEncode for crate::models::RefundResponse {
7891    // Codec=Sse (Serialization based), see doc to use other codecs
7892    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7893        <String>::sse_encode(self.refund_tx_id, serializer);
7894    }
7895}
7896
7897impl SseEncode for crate::models::ReportIssueRequest {
7898    // Codec=Sse (Serialization based), see doc to use other codecs
7899    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7900        match self {
7901            crate::models::ReportIssueRequest::PaymentFailure { data } => {
7902                <i32>::sse_encode(0, serializer);
7903                <crate::models::ReportPaymentFailureDetails>::sse_encode(data, serializer);
7904            }
7905            _ => {
7906                unimplemented!("");
7907            }
7908        }
7909    }
7910}
7911
7912impl SseEncode for crate::models::ReportPaymentFailureDetails {
7913    // Codec=Sse (Serialization based), see doc to use other codecs
7914    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7915        <String>::sse_encode(self.payment_hash, serializer);
7916        <Option<String>>::sse_encode(self.comment, serializer);
7917    }
7918}
7919
7920impl SseEncode for crate::models::ReverseSwapFeesRequest {
7921    // Codec=Sse (Serialization based), see doc to use other codecs
7922    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7923        <Option<u64>>::sse_encode(self.send_amount_sat, serializer);
7924        <Option<u32>>::sse_encode(self.claim_tx_feerate, serializer);
7925    }
7926}
7927
7928impl SseEncode for crate::models::ReverseSwapInfo {
7929    // Codec=Sse (Serialization based), see doc to use other codecs
7930    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7931        <String>::sse_encode(self.id, serializer);
7932        <String>::sse_encode(self.claim_pubkey, serializer);
7933        <Option<String>>::sse_encode(self.lockup_txid, serializer);
7934        <Option<String>>::sse_encode(self.claim_txid, serializer);
7935        <u64>::sse_encode(self.onchain_amount_sat, serializer);
7936        <crate::models::ReverseSwapStatus>::sse_encode(self.status, serializer);
7937    }
7938}
7939
7940impl SseEncode for crate::models::ReverseSwapPairInfo {
7941    // Codec=Sse (Serialization based), see doc to use other codecs
7942    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7943        <u64>::sse_encode(self.min, serializer);
7944        <u64>::sse_encode(self.max, serializer);
7945        <String>::sse_encode(self.fees_hash, serializer);
7946        <f64>::sse_encode(self.fees_percentage, serializer);
7947        <u64>::sse_encode(self.fees_lockup, serializer);
7948        <u64>::sse_encode(self.fees_claim, serializer);
7949        <Option<u64>>::sse_encode(self.total_fees, serializer);
7950    }
7951}
7952
7953impl SseEncode for crate::models::ReverseSwapStatus {
7954    // Codec=Sse (Serialization based), see doc to use other codecs
7955    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7956        <i32>::sse_encode(
7957            match self {
7958                crate::models::ReverseSwapStatus::Initial => 0,
7959                crate::models::ReverseSwapStatus::InProgress => 1,
7960                crate::models::ReverseSwapStatus::Cancelled => 2,
7961                crate::models::ReverseSwapStatus::CompletedSeen => 3,
7962                crate::models::ReverseSwapStatus::CompletedConfirmed => 4,
7963                _ => {
7964                    unimplemented!("");
7965                }
7966            },
7967            serializer,
7968        );
7969    }
7970}
7971
7972impl SseEncode for crate::binding::RouteHint {
7973    // Codec=Sse (Serialization based), see doc to use other codecs
7974    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7975        <Vec<crate::binding::RouteHintHop>>::sse_encode(self.hops, serializer);
7976    }
7977}
7978
7979impl SseEncode for crate::binding::RouteHintHop {
7980    // Codec=Sse (Serialization based), see doc to use other codecs
7981    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7982        <String>::sse_encode(self.src_node_id, serializer);
7983        <String>::sse_encode(self.short_channel_id, serializer);
7984        <u32>::sse_encode(self.fees_base_msat, serializer);
7985        <u32>::sse_encode(self.fees_proportional_millionths, serializer);
7986        <u64>::sse_encode(self.cltv_expiry_delta, serializer);
7987        <Option<u64>>::sse_encode(self.htlc_minimum_msat, serializer);
7988        <Option<u64>>::sse_encode(self.htlc_maximum_msat, serializer);
7989    }
7990}
7991
7992impl SseEncode for crate::models::SendPaymentRequest {
7993    // Codec=Sse (Serialization based), see doc to use other codecs
7994    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
7995        <String>::sse_encode(self.bolt11, serializer);
7996        <bool>::sse_encode(self.use_trampoline, serializer);
7997        <Option<u64>>::sse_encode(self.amount_msat, serializer);
7998        <Option<String>>::sse_encode(self.label, serializer);
7999    }
8000}
8001
8002impl SseEncode for crate::models::SendPaymentResponse {
8003    // Codec=Sse (Serialization based), see doc to use other codecs
8004    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8005        <crate::models::Payment>::sse_encode(self.payment, serializer);
8006    }
8007}
8008
8009impl SseEncode for crate::models::SendSpontaneousPaymentRequest {
8010    // Codec=Sse (Serialization based), see doc to use other codecs
8011    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8012        <String>::sse_encode(self.node_id, serializer);
8013        <u64>::sse_encode(self.amount_msat, serializer);
8014        <Option<Vec<crate::models::TlvEntry>>>::sse_encode(self.extra_tlvs, serializer);
8015        <Option<String>>::sse_encode(self.label, serializer);
8016    }
8017}
8018
8019impl SseEncode for crate::models::ServiceHealthCheckResponse {
8020    // Codec=Sse (Serialization based), see doc to use other codecs
8021    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8022        <crate::models::HealthCheckStatus>::sse_encode(self.status, serializer);
8023    }
8024}
8025
8026impl SseEncode for crate::breez_services::SignMessageRequest {
8027    // Codec=Sse (Serialization based), see doc to use other codecs
8028    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8029        <String>::sse_encode(self.message, serializer);
8030    }
8031}
8032
8033impl SseEncode for crate::breez_services::SignMessageResponse {
8034    // Codec=Sse (Serialization based), see doc to use other codecs
8035    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8036        <String>::sse_encode(self.signature, serializer);
8037    }
8038}
8039
8040impl SseEncode for crate::models::StaticBackupRequest {
8041    // Codec=Sse (Serialization based), see doc to use other codecs
8042    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8043        <String>::sse_encode(self.working_dir, serializer);
8044    }
8045}
8046
8047impl SseEncode for crate::models::StaticBackupResponse {
8048    // Codec=Sse (Serialization based), see doc to use other codecs
8049    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8050        <Option<Vec<String>>>::sse_encode(self.backup, serializer);
8051    }
8052}
8053
8054impl SseEncode for crate::binding::SuccessActionProcessed {
8055    // Codec=Sse (Serialization based), see doc to use other codecs
8056    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8057        match self {
8058            crate::binding::SuccessActionProcessed::Aes { result } => {
8059                <i32>::sse_encode(0, serializer);
8060                <crate::binding::AesSuccessActionDataResult>::sse_encode(result, serializer);
8061            }
8062            crate::binding::SuccessActionProcessed::Message { data } => {
8063                <i32>::sse_encode(1, serializer);
8064                <crate::binding::MessageSuccessActionData>::sse_encode(data, serializer);
8065            }
8066            crate::binding::SuccessActionProcessed::Url { data } => {
8067                <i32>::sse_encode(2, serializer);
8068                <crate::binding::UrlSuccessActionData>::sse_encode(data, serializer);
8069            }
8070            _ => {
8071                unimplemented!("");
8072            }
8073        }
8074    }
8075}
8076
8077impl SseEncode for crate::models::SwapAmountType {
8078    // Codec=Sse (Serialization based), see doc to use other codecs
8079    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8080        <i32>::sse_encode(
8081            match self {
8082                crate::models::SwapAmountType::Send => 0,
8083                crate::models::SwapAmountType::Receive => 1,
8084                _ => {
8085                    unimplemented!("");
8086                }
8087            },
8088            serializer,
8089        );
8090    }
8091}
8092
8093impl SseEncode for crate::models::SwapInfo {
8094    // Codec=Sse (Serialization based), see doc to use other codecs
8095    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8096        <String>::sse_encode(self.bitcoin_address, serializer);
8097        <i64>::sse_encode(self.created_at, serializer);
8098        <i64>::sse_encode(self.lock_height, serializer);
8099        <Vec<u8>>::sse_encode(self.payment_hash, serializer);
8100        <Vec<u8>>::sse_encode(self.preimage, serializer);
8101        <Vec<u8>>::sse_encode(self.private_key, serializer);
8102        <Vec<u8>>::sse_encode(self.public_key, serializer);
8103        <Vec<u8>>::sse_encode(self.swapper_public_key, serializer);
8104        <Vec<u8>>::sse_encode(self.script, serializer);
8105        <Option<String>>::sse_encode(self.bolt11, serializer);
8106        <u64>::sse_encode(self.paid_msat, serializer);
8107        <u64>::sse_encode(self.total_incoming_txs, serializer);
8108        <u64>::sse_encode(self.confirmed_sats, serializer);
8109        <u64>::sse_encode(self.unconfirmed_sats, serializer);
8110        <crate::models::SwapStatus>::sse_encode(self.status, serializer);
8111        <Vec<String>>::sse_encode(self.refund_tx_ids, serializer);
8112        <Vec<String>>::sse_encode(self.unconfirmed_tx_ids, serializer);
8113        <Vec<String>>::sse_encode(self.confirmed_tx_ids, serializer);
8114        <i64>::sse_encode(self.min_allowed_deposit, serializer);
8115        <i64>::sse_encode(self.max_allowed_deposit, serializer);
8116        <i64>::sse_encode(self.max_swapper_payable, serializer);
8117        <Option<String>>::sse_encode(self.last_redeem_error, serializer);
8118        <Option<crate::models::OpeningFeeParams>>::sse_encode(
8119            self.channel_opening_fees,
8120            serializer,
8121        );
8122        <Option<u32>>::sse_encode(self.confirmed_at, serializer);
8123    }
8124}
8125
8126impl SseEncode for crate::models::SwapStatus {
8127    // Codec=Sse (Serialization based), see doc to use other codecs
8128    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8129        <i32>::sse_encode(
8130            match self {
8131                crate::models::SwapStatus::Initial => 0,
8132                crate::models::SwapStatus::WaitingConfirmation => 1,
8133                crate::models::SwapStatus::Redeemable => 2,
8134                crate::models::SwapStatus::Redeemed => 3,
8135                crate::models::SwapStatus::Refundable => 4,
8136                crate::models::SwapStatus::Completed => 5,
8137                _ => {
8138                    unimplemented!("");
8139                }
8140            },
8141            serializer,
8142        );
8143    }
8144}
8145
8146impl SseEncode for crate::binding::Symbol {
8147    // Codec=Sse (Serialization based), see doc to use other codecs
8148    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8149        <Option<String>>::sse_encode(self.grapheme, serializer);
8150        <Option<String>>::sse_encode(self.template, serializer);
8151        <Option<bool>>::sse_encode(self.rtl, serializer);
8152        <Option<u32>>::sse_encode(self.position, serializer);
8153    }
8154}
8155
8156impl SseEncode for crate::models::TlvEntry {
8157    // Codec=Sse (Serialization based), see doc to use other codecs
8158    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8159        <u64>::sse_encode(self.field_number, serializer);
8160        <Vec<u8>>::sse_encode(self.value, serializer);
8161    }
8162}
8163
8164impl SseEncode for u16 {
8165    // Codec=Sse (Serialization based), see doc to use other codecs
8166    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8167        serializer.cursor.write_u16::<NativeEndian>(self).unwrap();
8168    }
8169}
8170
8171impl SseEncode for u32 {
8172    // Codec=Sse (Serialization based), see doc to use other codecs
8173    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8174        serializer.cursor.write_u32::<NativeEndian>(self).unwrap();
8175    }
8176}
8177
8178impl SseEncode for u64 {
8179    // Codec=Sse (Serialization based), see doc to use other codecs
8180    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8181        serializer.cursor.write_u64::<NativeEndian>(self).unwrap();
8182    }
8183}
8184
8185impl SseEncode for u8 {
8186    // Codec=Sse (Serialization based), see doc to use other codecs
8187    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8188        serializer.cursor.write_u8(self).unwrap();
8189    }
8190}
8191
8192impl SseEncode for () {
8193    // Codec=Sse (Serialization based), see doc to use other codecs
8194    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {}
8195}
8196
8197impl SseEncode for crate::models::UnspentTransactionOutput {
8198    // Codec=Sse (Serialization based), see doc to use other codecs
8199    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8200        <Vec<u8>>::sse_encode(self.txid, serializer);
8201        <u32>::sse_encode(self.outnum, serializer);
8202        <u64>::sse_encode(self.amount_millisatoshi, serializer);
8203        <String>::sse_encode(self.address, serializer);
8204        <bool>::sse_encode(self.reserved, serializer);
8205    }
8206}
8207
8208impl SseEncode for crate::binding::UrlSuccessActionData {
8209    // Codec=Sse (Serialization based), see doc to use other codecs
8210    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
8211        <String>::sse_encode(self.description, serializer);
8212        <String>::sse_encode(self.url, serializer);
8213        <bool>::sse_encode(self.matches_callback_domain, serializer);
8214    }
8215}
8216
8217#[cfg(not(target_family = "wasm"))]
8218mod io {
8219    // This file is automatically generated, so please do not edit it.
8220    // @generated by `flutter_rust_bridge`@ 2.9.0.
8221
8222    // Section: imports
8223
8224    use super::*;
8225    use crate::breez_services::EventListener;
8226    use flutter_rust_bridge::for_generated::byteorder::{
8227        NativeEndian, ReadBytesExt, WriteBytesExt,
8228    };
8229    use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable};
8230    use flutter_rust_bridge::{Handler, IntoIntoDart};
8231
8232    // Section: boilerplate
8233
8234    flutter_rust_bridge::frb_generated_boilerplate_io!();
8235
8236    // Section: dart2rust
8237
8238    impl CstDecode<flutter_rust_bridge::for_generated::anyhow::Error>
8239        for *mut wire_cst_list_prim_u_8_strict
8240    {
8241        // Codec=Cst (C-struct based), see doc to use other codecs
8242        fn cst_decode(self) -> flutter_rust_bridge::for_generated::anyhow::Error {
8243            unimplemented!()
8244        }
8245    }
8246    impl
8247        CstDecode<
8248            StreamSink<
8249                crate::breez_services::BreezEvent,
8250                flutter_rust_bridge::for_generated::DcoCodec,
8251            >,
8252        > for *mut wire_cst_list_prim_u_8_strict
8253    {
8254        // Codec=Cst (C-struct based), see doc to use other codecs
8255        fn cst_decode(
8256            self,
8257        ) -> StreamSink<
8258            crate::breez_services::BreezEvent,
8259            flutter_rust_bridge::for_generated::DcoCodec,
8260        > {
8261            let raw: String = self.cst_decode();
8262            StreamSink::deserialize(raw)
8263        }
8264    }
8265    impl
8266        CstDecode<StreamSink<crate::models::LogEntry, flutter_rust_bridge::for_generated::DcoCodec>>
8267        for *mut wire_cst_list_prim_u_8_strict
8268    {
8269        // Codec=Cst (C-struct based), see doc to use other codecs
8270        fn cst_decode(
8271            self,
8272        ) -> StreamSink<crate::models::LogEntry, flutter_rust_bridge::for_generated::DcoCodec>
8273        {
8274            let raw: String = self.cst_decode();
8275            StreamSink::deserialize(raw)
8276        }
8277    }
8278    impl CstDecode<String> for *mut wire_cst_list_prim_u_8_strict {
8279        // Codec=Cst (C-struct based), see doc to use other codecs
8280        fn cst_decode(self) -> String {
8281            let vec: Vec<u8> = self.cst_decode();
8282            String::from_utf8(vec).unwrap()
8283        }
8284    }
8285    impl CstDecode<crate::binding::AesSuccessActionDataDecrypted>
8286        for wire_cst_aes_success_action_data_decrypted
8287    {
8288        // Codec=Cst (C-struct based), see doc to use other codecs
8289        fn cst_decode(self) -> crate::binding::AesSuccessActionDataDecrypted {
8290            crate::binding::AesSuccessActionDataDecrypted {
8291                description: self.description.cst_decode(),
8292                plaintext: self.plaintext.cst_decode(),
8293            }
8294        }
8295    }
8296    impl CstDecode<crate::binding::AesSuccessActionDataResult>
8297        for wire_cst_aes_success_action_data_result
8298    {
8299        // Codec=Cst (C-struct based), see doc to use other codecs
8300        fn cst_decode(self) -> crate::binding::AesSuccessActionDataResult {
8301            match self.tag {
8302                0 => {
8303                    let ans = unsafe { self.kind.Decrypted };
8304                    crate::binding::AesSuccessActionDataResult::Decrypted {
8305                        data: ans.data.cst_decode(),
8306                    }
8307                }
8308                1 => {
8309                    let ans = unsafe { self.kind.ErrorStatus };
8310                    crate::binding::AesSuccessActionDataResult::ErrorStatus {
8311                        reason: ans.reason.cst_decode(),
8312                    }
8313                }
8314                _ => unreachable!(),
8315            }
8316        }
8317    }
8318    impl CstDecode<crate::breez_services::BackupFailedData> for wire_cst_backup_failed_data {
8319        // Codec=Cst (C-struct based), see doc to use other codecs
8320        fn cst_decode(self) -> crate::breez_services::BackupFailedData {
8321            crate::breez_services::BackupFailedData {
8322                error: self.error.cst_decode(),
8323            }
8324        }
8325    }
8326    impl CstDecode<crate::models::BackupStatus> for wire_cst_backup_status {
8327        // Codec=Cst (C-struct based), see doc to use other codecs
8328        fn cst_decode(self) -> crate::models::BackupStatus {
8329            crate::models::BackupStatus {
8330                backed_up: self.backed_up.cst_decode(),
8331                last_backup_time: self.last_backup_time.cst_decode(),
8332            }
8333        }
8334    }
8335    impl CstDecode<crate::binding::BindingEventListener> for wire_cst_binding_event_listener {
8336        // Codec=Cst (C-struct based), see doc to use other codecs
8337        fn cst_decode(self) -> crate::binding::BindingEventListener {
8338            crate::binding::BindingEventListener {}
8339        }
8340    }
8341    impl CstDecode<crate::binding::BitcoinAddressData> for wire_cst_bitcoin_address_data {
8342        // Codec=Cst (C-struct based), see doc to use other codecs
8343        fn cst_decode(self) -> crate::binding::BitcoinAddressData {
8344            crate::binding::BitcoinAddressData {
8345                address: self.address.cst_decode(),
8346                network: self.network.cst_decode(),
8347                amount_sat: self.amount_sat.cst_decode(),
8348                label: self.label.cst_decode(),
8349                message: self.message.cst_decode(),
8350            }
8351        }
8352    }
8353    impl CstDecode<crate::binding::AesSuccessActionDataDecrypted>
8354        for *mut wire_cst_aes_success_action_data_decrypted
8355    {
8356        // Codec=Cst (C-struct based), see doc to use other codecs
8357        fn cst_decode(self) -> crate::binding::AesSuccessActionDataDecrypted {
8358            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8359            CstDecode::<crate::binding::AesSuccessActionDataDecrypted>::cst_decode(*wrap).into()
8360        }
8361    }
8362    impl CstDecode<crate::binding::AesSuccessActionDataResult>
8363        for *mut wire_cst_aes_success_action_data_result
8364    {
8365        // Codec=Cst (C-struct based), see doc to use other codecs
8366        fn cst_decode(self) -> crate::binding::AesSuccessActionDataResult {
8367            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8368            CstDecode::<crate::binding::AesSuccessActionDataResult>::cst_decode(*wrap).into()
8369        }
8370    }
8371    impl CstDecode<crate::breez_services::BackupFailedData> for *mut wire_cst_backup_failed_data {
8372        // Codec=Cst (C-struct based), see doc to use other codecs
8373        fn cst_decode(self) -> crate::breez_services::BackupFailedData {
8374            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8375            CstDecode::<crate::breez_services::BackupFailedData>::cst_decode(*wrap).into()
8376        }
8377    }
8378    impl CstDecode<crate::binding::BindingEventListener> for *mut wire_cst_binding_event_listener {
8379        // Codec=Cst (C-struct based), see doc to use other codecs
8380        fn cst_decode(self) -> crate::binding::BindingEventListener {
8381            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8382            CstDecode::<crate::binding::BindingEventListener>::cst_decode(*wrap).into()
8383        }
8384    }
8385    impl CstDecode<crate::binding::BitcoinAddressData> for *mut wire_cst_bitcoin_address_data {
8386        // Codec=Cst (C-struct based), see doc to use other codecs
8387        fn cst_decode(self) -> crate::binding::BitcoinAddressData {
8388            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8389            CstDecode::<crate::binding::BitcoinAddressData>::cst_decode(*wrap).into()
8390        }
8391    }
8392    impl CstDecode<bool> for *mut bool {
8393        // Codec=Cst (C-struct based), see doc to use other codecs
8394        fn cst_decode(self) -> bool {
8395            unsafe { *flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }
8396        }
8397    }
8398    impl CstDecode<crate::breez_services::BreezEvent> for *mut wire_cst_breez_event {
8399        // Codec=Cst (C-struct based), see doc to use other codecs
8400        fn cst_decode(self) -> crate::breez_services::BreezEvent {
8401            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8402            CstDecode::<crate::breez_services::BreezEvent>::cst_decode(*wrap).into()
8403        }
8404    }
8405    impl CstDecode<crate::models::BuyBitcoinRequest> for *mut wire_cst_buy_bitcoin_request {
8406        // Codec=Cst (C-struct based), see doc to use other codecs
8407        fn cst_decode(self) -> crate::models::BuyBitcoinRequest {
8408            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8409            CstDecode::<crate::models::BuyBitcoinRequest>::cst_decode(*wrap).into()
8410        }
8411    }
8412    impl CstDecode<crate::breez_services::CheckMessageRequest> for *mut wire_cst_check_message_request {
8413        // Codec=Cst (C-struct based), see doc to use other codecs
8414        fn cst_decode(self) -> crate::breez_services::CheckMessageRequest {
8415            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8416            CstDecode::<crate::breez_services::CheckMessageRequest>::cst_decode(*wrap).into()
8417        }
8418    }
8419    impl CstDecode<crate::models::ClosedChannelPaymentDetails>
8420        for *mut wire_cst_closed_channel_payment_details
8421    {
8422        // Codec=Cst (C-struct based), see doc to use other codecs
8423        fn cst_decode(self) -> crate::models::ClosedChannelPaymentDetails {
8424            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8425            CstDecode::<crate::models::ClosedChannelPaymentDetails>::cst_decode(*wrap).into()
8426        }
8427    }
8428    impl CstDecode<crate::models::ConfigureNodeRequest> for *mut wire_cst_configure_node_request {
8429        // Codec=Cst (C-struct based), see doc to use other codecs
8430        fn cst_decode(self) -> crate::models::ConfigureNodeRequest {
8431            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8432            CstDecode::<crate::models::ConfigureNodeRequest>::cst_decode(*wrap).into()
8433        }
8434    }
8435    impl CstDecode<crate::models::ConnectRequest> for *mut wire_cst_connect_request {
8436        // Codec=Cst (C-struct based), see doc to use other codecs
8437        fn cst_decode(self) -> crate::models::ConnectRequest {
8438            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8439            CstDecode::<crate::models::ConnectRequest>::cst_decode(*wrap).into()
8440        }
8441    }
8442    impl CstDecode<crate::models::GreenlightCredentials> for *mut wire_cst_greenlight_credentials {
8443        // Codec=Cst (C-struct based), see doc to use other codecs
8444        fn cst_decode(self) -> crate::models::GreenlightCredentials {
8445            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8446            CstDecode::<crate::models::GreenlightCredentials>::cst_decode(*wrap).into()
8447        }
8448    }
8449    impl CstDecode<crate::models::GreenlightDeviceCredentials>
8450        for *mut wire_cst_greenlight_device_credentials
8451    {
8452        // Codec=Cst (C-struct based), see doc to use other codecs
8453        fn cst_decode(self) -> crate::models::GreenlightDeviceCredentials {
8454            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8455            CstDecode::<crate::models::GreenlightDeviceCredentials>::cst_decode(*wrap).into()
8456        }
8457    }
8458    impl CstDecode<crate::models::GreenlightNodeConfig> for *mut wire_cst_greenlight_node_config {
8459        // Codec=Cst (C-struct based), see doc to use other codecs
8460        fn cst_decode(self) -> crate::models::GreenlightNodeConfig {
8461            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8462            CstDecode::<crate::models::GreenlightNodeConfig>::cst_decode(*wrap).into()
8463        }
8464    }
8465    impl CstDecode<i64> for *mut i64 {
8466        // Codec=Cst (C-struct based), see doc to use other codecs
8467        fn cst_decode(self) -> i64 {
8468            unsafe { *flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }
8469        }
8470    }
8471    impl CstDecode<crate::breez_services::InvoicePaidDetails> for *mut wire_cst_invoice_paid_details {
8472        // Codec=Cst (C-struct based), see doc to use other codecs
8473        fn cst_decode(self) -> crate::breez_services::InvoicePaidDetails {
8474            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8475            CstDecode::<crate::breez_services::InvoicePaidDetails>::cst_decode(*wrap).into()
8476        }
8477    }
8478    impl CstDecode<crate::models::ListPaymentsRequest> for *mut wire_cst_list_payments_request {
8479        // Codec=Cst (C-struct based), see doc to use other codecs
8480        fn cst_decode(self) -> crate::models::ListPaymentsRequest {
8481            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8482            CstDecode::<crate::models::ListPaymentsRequest>::cst_decode(*wrap).into()
8483        }
8484    }
8485    impl CstDecode<crate::models::ListSwapsRequest> for *mut wire_cst_list_swaps_request {
8486        // Codec=Cst (C-struct based), see doc to use other codecs
8487        fn cst_decode(self) -> crate::models::ListSwapsRequest {
8488            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8489            CstDecode::<crate::models::ListSwapsRequest>::cst_decode(*wrap).into()
8490        }
8491    }
8492    impl CstDecode<crate::binding::LNInvoice> for *mut wire_cst_ln_invoice {
8493        // Codec=Cst (C-struct based), see doc to use other codecs
8494        fn cst_decode(self) -> crate::binding::LNInvoice {
8495            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8496            CstDecode::<crate::binding::LNInvoice>::cst_decode(*wrap).into()
8497        }
8498    }
8499    impl CstDecode<crate::models::LnPaymentDetails> for *mut wire_cst_ln_payment_details {
8500        // Codec=Cst (C-struct based), see doc to use other codecs
8501        fn cst_decode(self) -> crate::models::LnPaymentDetails {
8502            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8503            CstDecode::<crate::models::LnPaymentDetails>::cst_decode(*wrap).into()
8504        }
8505    }
8506    impl CstDecode<crate::binding::LnUrlAuthRequestData> for *mut wire_cst_ln_url_auth_request_data {
8507        // Codec=Cst (C-struct based), see doc to use other codecs
8508        fn cst_decode(self) -> crate::binding::LnUrlAuthRequestData {
8509            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8510            CstDecode::<crate::binding::LnUrlAuthRequestData>::cst_decode(*wrap).into()
8511        }
8512    }
8513    impl CstDecode<crate::binding::LnUrlErrorData> for *mut wire_cst_ln_url_error_data {
8514        // Codec=Cst (C-struct based), see doc to use other codecs
8515        fn cst_decode(self) -> crate::binding::LnUrlErrorData {
8516            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8517            CstDecode::<crate::binding::LnUrlErrorData>::cst_decode(*wrap).into()
8518        }
8519    }
8520    impl CstDecode<crate::binding::LnUrlPayErrorData> for *mut wire_cst_ln_url_pay_error_data {
8521        // Codec=Cst (C-struct based), see doc to use other codecs
8522        fn cst_decode(self) -> crate::binding::LnUrlPayErrorData {
8523            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8524            CstDecode::<crate::binding::LnUrlPayErrorData>::cst_decode(*wrap).into()
8525        }
8526    }
8527    impl CstDecode<crate::binding::LnUrlPayRequest> for *mut wire_cst_ln_url_pay_request {
8528        // Codec=Cst (C-struct based), see doc to use other codecs
8529        fn cst_decode(self) -> crate::binding::LnUrlPayRequest {
8530            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8531            CstDecode::<crate::binding::LnUrlPayRequest>::cst_decode(*wrap).into()
8532        }
8533    }
8534    impl CstDecode<crate::binding::LnUrlPayRequestData> for *mut wire_cst_ln_url_pay_request_data {
8535        // Codec=Cst (C-struct based), see doc to use other codecs
8536        fn cst_decode(self) -> crate::binding::LnUrlPayRequestData {
8537            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8538            CstDecode::<crate::binding::LnUrlPayRequestData>::cst_decode(*wrap).into()
8539        }
8540    }
8541    impl CstDecode<crate::lnurl::pay::LnUrlPaySuccessData> for *mut wire_cst_ln_url_pay_success_data {
8542        // Codec=Cst (C-struct based), see doc to use other codecs
8543        fn cst_decode(self) -> crate::lnurl::pay::LnUrlPaySuccessData {
8544            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8545            CstDecode::<crate::lnurl::pay::LnUrlPaySuccessData>::cst_decode(*wrap).into()
8546        }
8547    }
8548    impl CstDecode<crate::binding::LnUrlWithdrawRequest> for *mut wire_cst_ln_url_withdraw_request {
8549        // Codec=Cst (C-struct based), see doc to use other codecs
8550        fn cst_decode(self) -> crate::binding::LnUrlWithdrawRequest {
8551            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8552            CstDecode::<crate::binding::LnUrlWithdrawRequest>::cst_decode(*wrap).into()
8553        }
8554    }
8555    impl CstDecode<crate::binding::LnUrlWithdrawRequestData>
8556        for *mut wire_cst_ln_url_withdraw_request_data
8557    {
8558        // Codec=Cst (C-struct based), see doc to use other codecs
8559        fn cst_decode(self) -> crate::binding::LnUrlWithdrawRequestData {
8560            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8561            CstDecode::<crate::binding::LnUrlWithdrawRequestData>::cst_decode(*wrap).into()
8562        }
8563    }
8564    impl CstDecode<crate::binding::LnUrlWithdrawSuccessData>
8565        for *mut wire_cst_ln_url_withdraw_success_data
8566    {
8567        // Codec=Cst (C-struct based), see doc to use other codecs
8568        fn cst_decode(self) -> crate::binding::LnUrlWithdrawSuccessData {
8569            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8570            CstDecode::<crate::binding::LnUrlWithdrawSuccessData>::cst_decode(*wrap).into()
8571        }
8572    }
8573    impl CstDecode<crate::lsp::LspInformation> for *mut wire_cst_lsp_information {
8574        // Codec=Cst (C-struct based), see doc to use other codecs
8575        fn cst_decode(self) -> crate::lsp::LspInformation {
8576            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8577            CstDecode::<crate::lsp::LspInformation>::cst_decode(*wrap).into()
8578        }
8579    }
8580    impl CstDecode<crate::binding::MessageSuccessActionData>
8581        for *mut wire_cst_message_success_action_data
8582    {
8583        // Codec=Cst (C-struct based), see doc to use other codecs
8584        fn cst_decode(self) -> crate::binding::MessageSuccessActionData {
8585            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8586            CstDecode::<crate::binding::MessageSuccessActionData>::cst_decode(*wrap).into()
8587        }
8588    }
8589    impl CstDecode<crate::models::NodeConfig> for *mut wire_cst_node_config {
8590        // Codec=Cst (C-struct based), see doc to use other codecs
8591        fn cst_decode(self) -> crate::models::NodeConfig {
8592            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8593            CstDecode::<crate::models::NodeConfig>::cst_decode(*wrap).into()
8594        }
8595    }
8596    impl CstDecode<crate::models::NodeCredentials> for *mut wire_cst_node_credentials {
8597        // Codec=Cst (C-struct based), see doc to use other codecs
8598        fn cst_decode(self) -> crate::models::NodeCredentials {
8599            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8600            CstDecode::<crate::models::NodeCredentials>::cst_decode(*wrap).into()
8601        }
8602    }
8603    impl CstDecode<crate::models::OpenChannelFeeRequest> for *mut wire_cst_open_channel_fee_request {
8604        // Codec=Cst (C-struct based), see doc to use other codecs
8605        fn cst_decode(self) -> crate::models::OpenChannelFeeRequest {
8606            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8607            CstDecode::<crate::models::OpenChannelFeeRequest>::cst_decode(*wrap).into()
8608        }
8609    }
8610    impl CstDecode<crate::models::OpeningFeeParams> for *mut wire_cst_opening_fee_params {
8611        // Codec=Cst (C-struct based), see doc to use other codecs
8612        fn cst_decode(self) -> crate::models::OpeningFeeParams {
8613            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8614            CstDecode::<crate::models::OpeningFeeParams>::cst_decode(*wrap).into()
8615        }
8616    }
8617    impl CstDecode<crate::models::PayOnchainRequest> for *mut wire_cst_pay_onchain_request {
8618        // Codec=Cst (C-struct based), see doc to use other codecs
8619        fn cst_decode(self) -> crate::models::PayOnchainRequest {
8620            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8621            CstDecode::<crate::models::PayOnchainRequest>::cst_decode(*wrap).into()
8622        }
8623    }
8624    impl CstDecode<crate::models::Payment> for *mut wire_cst_payment {
8625        // Codec=Cst (C-struct based), see doc to use other codecs
8626        fn cst_decode(self) -> crate::models::Payment {
8627            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8628            CstDecode::<crate::models::Payment>::cst_decode(*wrap).into()
8629        }
8630    }
8631    impl CstDecode<crate::breez_services::PaymentFailedData> for *mut wire_cst_payment_failed_data {
8632        // Codec=Cst (C-struct based), see doc to use other codecs
8633        fn cst_decode(self) -> crate::breez_services::PaymentFailedData {
8634            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8635            CstDecode::<crate::breez_services::PaymentFailedData>::cst_decode(*wrap).into()
8636        }
8637    }
8638    impl CstDecode<crate::models::PrepareOnchainPaymentRequest>
8639        for *mut wire_cst_prepare_onchain_payment_request
8640    {
8641        // Codec=Cst (C-struct based), see doc to use other codecs
8642        fn cst_decode(self) -> crate::models::PrepareOnchainPaymentRequest {
8643            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8644            CstDecode::<crate::models::PrepareOnchainPaymentRequest>::cst_decode(*wrap).into()
8645        }
8646    }
8647    impl CstDecode<crate::models::PrepareRedeemOnchainFundsRequest>
8648        for *mut wire_cst_prepare_redeem_onchain_funds_request
8649    {
8650        // Codec=Cst (C-struct based), see doc to use other codecs
8651        fn cst_decode(self) -> crate::models::PrepareRedeemOnchainFundsRequest {
8652            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8653            CstDecode::<crate::models::PrepareRedeemOnchainFundsRequest>::cst_decode(*wrap).into()
8654        }
8655    }
8656    impl CstDecode<crate::models::PrepareRefundRequest> for *mut wire_cst_prepare_refund_request {
8657        // Codec=Cst (C-struct based), see doc to use other codecs
8658        fn cst_decode(self) -> crate::models::PrepareRefundRequest {
8659            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8660            CstDecode::<crate::models::PrepareRefundRequest>::cst_decode(*wrap).into()
8661        }
8662    }
8663    impl CstDecode<crate::models::ReceiveOnchainRequest> for *mut wire_cst_receive_onchain_request {
8664        // Codec=Cst (C-struct based), see doc to use other codecs
8665        fn cst_decode(self) -> crate::models::ReceiveOnchainRequest {
8666            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8667            CstDecode::<crate::models::ReceiveOnchainRequest>::cst_decode(*wrap).into()
8668        }
8669    }
8670    impl CstDecode<crate::models::ReceivePaymentRequest> for *mut wire_cst_receive_payment_request {
8671        // Codec=Cst (C-struct based), see doc to use other codecs
8672        fn cst_decode(self) -> crate::models::ReceivePaymentRequest {
8673            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8674            CstDecode::<crate::models::ReceivePaymentRequest>::cst_decode(*wrap).into()
8675        }
8676    }
8677    impl CstDecode<crate::models::RedeemOnchainFundsRequest>
8678        for *mut wire_cst_redeem_onchain_funds_request
8679    {
8680        // Codec=Cst (C-struct based), see doc to use other codecs
8681        fn cst_decode(self) -> crate::models::RedeemOnchainFundsRequest {
8682            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8683            CstDecode::<crate::models::RedeemOnchainFundsRequest>::cst_decode(*wrap).into()
8684        }
8685    }
8686    impl CstDecode<crate::models::RefundRequest> for *mut wire_cst_refund_request {
8687        // Codec=Cst (C-struct based), see doc to use other codecs
8688        fn cst_decode(self) -> crate::models::RefundRequest {
8689            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8690            CstDecode::<crate::models::RefundRequest>::cst_decode(*wrap).into()
8691        }
8692    }
8693    impl CstDecode<crate::models::ReportIssueRequest> for *mut wire_cst_report_issue_request {
8694        // Codec=Cst (C-struct based), see doc to use other codecs
8695        fn cst_decode(self) -> crate::models::ReportIssueRequest {
8696            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8697            CstDecode::<crate::models::ReportIssueRequest>::cst_decode(*wrap).into()
8698        }
8699    }
8700    impl CstDecode<crate::models::ReportPaymentFailureDetails>
8701        for *mut wire_cst_report_payment_failure_details
8702    {
8703        // Codec=Cst (C-struct based), see doc to use other codecs
8704        fn cst_decode(self) -> crate::models::ReportPaymentFailureDetails {
8705            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8706            CstDecode::<crate::models::ReportPaymentFailureDetails>::cst_decode(*wrap).into()
8707        }
8708    }
8709    impl CstDecode<crate::models::ReverseSwapFeesRequest> for *mut wire_cst_reverse_swap_fees_request {
8710        // Codec=Cst (C-struct based), see doc to use other codecs
8711        fn cst_decode(self) -> crate::models::ReverseSwapFeesRequest {
8712            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8713            CstDecode::<crate::models::ReverseSwapFeesRequest>::cst_decode(*wrap).into()
8714        }
8715    }
8716    impl CstDecode<crate::models::ReverseSwapInfo> for *mut wire_cst_reverse_swap_info {
8717        // Codec=Cst (C-struct based), see doc to use other codecs
8718        fn cst_decode(self) -> crate::models::ReverseSwapInfo {
8719            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8720            CstDecode::<crate::models::ReverseSwapInfo>::cst_decode(*wrap).into()
8721        }
8722    }
8723    impl CstDecode<crate::models::SendPaymentRequest> for *mut wire_cst_send_payment_request {
8724        // Codec=Cst (C-struct based), see doc to use other codecs
8725        fn cst_decode(self) -> crate::models::SendPaymentRequest {
8726            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8727            CstDecode::<crate::models::SendPaymentRequest>::cst_decode(*wrap).into()
8728        }
8729    }
8730    impl CstDecode<crate::models::SendSpontaneousPaymentRequest>
8731        for *mut wire_cst_send_spontaneous_payment_request
8732    {
8733        // Codec=Cst (C-struct based), see doc to use other codecs
8734        fn cst_decode(self) -> crate::models::SendSpontaneousPaymentRequest {
8735            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8736            CstDecode::<crate::models::SendSpontaneousPaymentRequest>::cst_decode(*wrap).into()
8737        }
8738    }
8739    impl CstDecode<crate::breez_services::SignMessageRequest> for *mut wire_cst_sign_message_request {
8740        // Codec=Cst (C-struct based), see doc to use other codecs
8741        fn cst_decode(self) -> crate::breez_services::SignMessageRequest {
8742            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8743            CstDecode::<crate::breez_services::SignMessageRequest>::cst_decode(*wrap).into()
8744        }
8745    }
8746    impl CstDecode<crate::models::StaticBackupRequest> for *mut wire_cst_static_backup_request {
8747        // Codec=Cst (C-struct based), see doc to use other codecs
8748        fn cst_decode(self) -> crate::models::StaticBackupRequest {
8749            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8750            CstDecode::<crate::models::StaticBackupRequest>::cst_decode(*wrap).into()
8751        }
8752    }
8753    impl CstDecode<crate::binding::SuccessActionProcessed> for *mut wire_cst_success_action_processed {
8754        // Codec=Cst (C-struct based), see doc to use other codecs
8755        fn cst_decode(self) -> crate::binding::SuccessActionProcessed {
8756            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8757            CstDecode::<crate::binding::SuccessActionProcessed>::cst_decode(*wrap).into()
8758        }
8759    }
8760    impl CstDecode<crate::models::SwapInfo> for *mut wire_cst_swap_info {
8761        // Codec=Cst (C-struct based), see doc to use other codecs
8762        fn cst_decode(self) -> crate::models::SwapInfo {
8763            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8764            CstDecode::<crate::models::SwapInfo>::cst_decode(*wrap).into()
8765        }
8766    }
8767    impl CstDecode<crate::binding::Symbol> for *mut wire_cst_symbol {
8768        // Codec=Cst (C-struct based), see doc to use other codecs
8769        fn cst_decode(self) -> crate::binding::Symbol {
8770            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8771            CstDecode::<crate::binding::Symbol>::cst_decode(*wrap).into()
8772        }
8773    }
8774    impl CstDecode<u32> for *mut u32 {
8775        // Codec=Cst (C-struct based), see doc to use other codecs
8776        fn cst_decode(self) -> u32 {
8777            unsafe { *flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }
8778        }
8779    }
8780    impl CstDecode<u64> for *mut u64 {
8781        // Codec=Cst (C-struct based), see doc to use other codecs
8782        fn cst_decode(self) -> u64 {
8783            unsafe { *flutter_rust_bridge::for_generated::box_from_leak_ptr(self) }
8784        }
8785    }
8786    impl CstDecode<crate::binding::UrlSuccessActionData> for *mut wire_cst_url_success_action_data {
8787        // Codec=Cst (C-struct based), see doc to use other codecs
8788        fn cst_decode(self) -> crate::binding::UrlSuccessActionData {
8789            let wrap = unsafe { flutter_rust_bridge::for_generated::box_from_leak_ptr(self) };
8790            CstDecode::<crate::binding::UrlSuccessActionData>::cst_decode(*wrap).into()
8791        }
8792    }
8793    impl CstDecode<crate::breez_services::BreezEvent> for wire_cst_breez_event {
8794        // Codec=Cst (C-struct based), see doc to use other codecs
8795        fn cst_decode(self) -> crate::breez_services::BreezEvent {
8796            match self.tag {
8797                0 => {
8798                    let ans = unsafe { self.kind.NewBlock };
8799                    crate::breez_services::BreezEvent::NewBlock {
8800                        block: ans.block.cst_decode(),
8801                    }
8802                }
8803                1 => {
8804                    let ans = unsafe { self.kind.InvoicePaid };
8805                    crate::breez_services::BreezEvent::InvoicePaid {
8806                        details: ans.details.cst_decode(),
8807                    }
8808                }
8809                2 => crate::breez_services::BreezEvent::Synced,
8810                3 => {
8811                    let ans = unsafe { self.kind.PaymentSucceed };
8812                    crate::breez_services::BreezEvent::PaymentSucceed {
8813                        details: ans.details.cst_decode(),
8814                    }
8815                }
8816                4 => {
8817                    let ans = unsafe { self.kind.PaymentFailed };
8818                    crate::breez_services::BreezEvent::PaymentFailed {
8819                        details: ans.details.cst_decode(),
8820                    }
8821                }
8822                5 => crate::breez_services::BreezEvent::BackupStarted,
8823                6 => crate::breez_services::BreezEvent::BackupSucceeded,
8824                7 => {
8825                    let ans = unsafe { self.kind.BackupFailed };
8826                    crate::breez_services::BreezEvent::BackupFailed {
8827                        details: ans.details.cst_decode(),
8828                    }
8829                }
8830                8 => {
8831                    let ans = unsafe { self.kind.ReverseSwapUpdated };
8832                    crate::breez_services::BreezEvent::ReverseSwapUpdated {
8833                        details: ans.details.cst_decode(),
8834                    }
8835                }
8836                9 => {
8837                    let ans = unsafe { self.kind.SwapUpdated };
8838                    crate::breez_services::BreezEvent::SwapUpdated {
8839                        details: ans.details.cst_decode(),
8840                    }
8841                }
8842                _ => unreachable!(),
8843            }
8844        }
8845    }
8846    impl CstDecode<crate::models::BuyBitcoinRequest> for wire_cst_buy_bitcoin_request {
8847        // Codec=Cst (C-struct based), see doc to use other codecs
8848        fn cst_decode(self) -> crate::models::BuyBitcoinRequest {
8849            crate::models::BuyBitcoinRequest {
8850                provider: self.provider.cst_decode(),
8851                opening_fee_params: self.opening_fee_params.cst_decode(),
8852                redirect_url: self.redirect_url.cst_decode(),
8853            }
8854        }
8855    }
8856    impl CstDecode<crate::models::BuyBitcoinResponse> for wire_cst_buy_bitcoin_response {
8857        // Codec=Cst (C-struct based), see doc to use other codecs
8858        fn cst_decode(self) -> crate::models::BuyBitcoinResponse {
8859            crate::models::BuyBitcoinResponse {
8860                url: self.url.cst_decode(),
8861                opening_fee_params: self.opening_fee_params.cst_decode(),
8862            }
8863        }
8864    }
8865    impl CstDecode<crate::breez_services::CheckMessageRequest> for wire_cst_check_message_request {
8866        // Codec=Cst (C-struct based), see doc to use other codecs
8867        fn cst_decode(self) -> crate::breez_services::CheckMessageRequest {
8868            crate::breez_services::CheckMessageRequest {
8869                message: self.message.cst_decode(),
8870                pubkey: self.pubkey.cst_decode(),
8871                signature: self.signature.cst_decode(),
8872            }
8873        }
8874    }
8875    impl CstDecode<crate::breez_services::CheckMessageResponse> for wire_cst_check_message_response {
8876        // Codec=Cst (C-struct based), see doc to use other codecs
8877        fn cst_decode(self) -> crate::breez_services::CheckMessageResponse {
8878            crate::breez_services::CheckMessageResponse {
8879                is_valid: self.is_valid.cst_decode(),
8880            }
8881        }
8882    }
8883    impl CstDecode<crate::models::ClosedChannelPaymentDetails>
8884        for wire_cst_closed_channel_payment_details
8885    {
8886        // Codec=Cst (C-struct based), see doc to use other codecs
8887        fn cst_decode(self) -> crate::models::ClosedChannelPaymentDetails {
8888            crate::models::ClosedChannelPaymentDetails {
8889                state: self.state.cst_decode(),
8890                funding_txid: self.funding_txid.cst_decode(),
8891                short_channel_id: self.short_channel_id.cst_decode(),
8892                closing_txid: self.closing_txid.cst_decode(),
8893            }
8894        }
8895    }
8896    impl CstDecode<crate::models::Config> for wire_cst_config {
8897        // Codec=Cst (C-struct based), see doc to use other codecs
8898        fn cst_decode(self) -> crate::models::Config {
8899            crate::models::Config {
8900                breezserver: self.breezserver.cst_decode(),
8901                chainnotifier_url: self.chainnotifier_url.cst_decode(),
8902                mempoolspace_url: self.mempoolspace_url.cst_decode(),
8903                working_dir: self.working_dir.cst_decode(),
8904                network: self.network.cst_decode(),
8905                payment_timeout_sec: self.payment_timeout_sec.cst_decode(),
8906                default_lsp_id: self.default_lsp_id.cst_decode(),
8907                api_key: self.api_key.cst_decode(),
8908                maxfee_percent: self.maxfee_percent.cst_decode(),
8909                exemptfee_msat: self.exemptfee_msat.cst_decode(),
8910                node_config: self.node_config.cst_decode(),
8911            }
8912        }
8913    }
8914    impl CstDecode<crate::models::ConfigureNodeRequest> for wire_cst_configure_node_request {
8915        // Codec=Cst (C-struct based), see doc to use other codecs
8916        fn cst_decode(self) -> crate::models::ConfigureNodeRequest {
8917            crate::models::ConfigureNodeRequest {
8918                close_to_address: self.close_to_address.cst_decode(),
8919            }
8920        }
8921    }
8922    impl CstDecode<crate::models::ConnectRequest> for wire_cst_connect_request {
8923        // Codec=Cst (C-struct based), see doc to use other codecs
8924        fn cst_decode(self) -> crate::models::ConnectRequest {
8925            crate::models::ConnectRequest {
8926                config: self.config.cst_decode(),
8927                seed: self.seed.cst_decode(),
8928                restore_only: self.restore_only.cst_decode(),
8929            }
8930        }
8931    }
8932    impl CstDecode<crate::binding::CurrencyInfo> for wire_cst_currency_info {
8933        // Codec=Cst (C-struct based), see doc to use other codecs
8934        fn cst_decode(self) -> crate::binding::CurrencyInfo {
8935            crate::binding::CurrencyInfo {
8936                name: self.name.cst_decode(),
8937                fraction_size: self.fraction_size.cst_decode(),
8938                spacing: self.spacing.cst_decode(),
8939                symbol: self.symbol.cst_decode(),
8940                uniq_symbol: self.uniq_symbol.cst_decode(),
8941                localized_name: self.localized_name.cst_decode(),
8942                locale_overrides: self.locale_overrides.cst_decode(),
8943            }
8944        }
8945    }
8946    impl CstDecode<crate::binding::FiatCurrency> for wire_cst_fiat_currency {
8947        // Codec=Cst (C-struct based), see doc to use other codecs
8948        fn cst_decode(self) -> crate::binding::FiatCurrency {
8949            crate::binding::FiatCurrency {
8950                id: self.id.cst_decode(),
8951                info: self.info.cst_decode(),
8952            }
8953        }
8954    }
8955    impl CstDecode<crate::models::GreenlightCredentials> for wire_cst_greenlight_credentials {
8956        // Codec=Cst (C-struct based), see doc to use other codecs
8957        fn cst_decode(self) -> crate::models::GreenlightCredentials {
8958            crate::models::GreenlightCredentials {
8959                developer_key: self.developer_key.cst_decode(),
8960                developer_cert: self.developer_cert.cst_decode(),
8961            }
8962        }
8963    }
8964    impl CstDecode<crate::models::GreenlightDeviceCredentials>
8965        for wire_cst_greenlight_device_credentials
8966    {
8967        // Codec=Cst (C-struct based), see doc to use other codecs
8968        fn cst_decode(self) -> crate::models::GreenlightDeviceCredentials {
8969            crate::models::GreenlightDeviceCredentials {
8970                device: self.device.cst_decode(),
8971            }
8972        }
8973    }
8974    impl CstDecode<crate::models::GreenlightNodeConfig> for wire_cst_greenlight_node_config {
8975        // Codec=Cst (C-struct based), see doc to use other codecs
8976        fn cst_decode(self) -> crate::models::GreenlightNodeConfig {
8977            crate::models::GreenlightNodeConfig {
8978                partner_credentials: self.partner_credentials.cst_decode(),
8979                invite_code: self.invite_code.cst_decode(),
8980            }
8981        }
8982    }
8983    impl CstDecode<crate::binding::InputType> for wire_cst_input_type {
8984        // Codec=Cst (C-struct based), see doc to use other codecs
8985        fn cst_decode(self) -> crate::binding::InputType {
8986            match self.tag {
8987                0 => {
8988                    let ans = unsafe { self.kind.BitcoinAddress };
8989                    crate::binding::InputType::BitcoinAddress {
8990                        address: ans.address.cst_decode(),
8991                    }
8992                }
8993                1 => {
8994                    let ans = unsafe { self.kind.Bolt11 };
8995                    crate::binding::InputType::Bolt11 {
8996                        invoice: ans.invoice.cst_decode(),
8997                    }
8998                }
8999                2 => {
9000                    let ans = unsafe { self.kind.NodeId };
9001                    crate::binding::InputType::NodeId {
9002                        node_id: ans.node_id.cst_decode(),
9003                    }
9004                }
9005                3 => {
9006                    let ans = unsafe { self.kind.Url };
9007                    crate::binding::InputType::Url {
9008                        url: ans.url.cst_decode(),
9009                    }
9010                }
9011                4 => {
9012                    let ans = unsafe { self.kind.LnUrlPay };
9013                    crate::binding::InputType::LnUrlPay {
9014                        data: ans.data.cst_decode(),
9015                        bip353_address: ans.bip353_address.cst_decode(),
9016                    }
9017                }
9018                5 => {
9019                    let ans = unsafe { self.kind.LnUrlWithdraw };
9020                    crate::binding::InputType::LnUrlWithdraw {
9021                        data: ans.data.cst_decode(),
9022                    }
9023                }
9024                6 => {
9025                    let ans = unsafe { self.kind.LnUrlAuth };
9026                    crate::binding::InputType::LnUrlAuth {
9027                        data: ans.data.cst_decode(),
9028                    }
9029                }
9030                7 => {
9031                    let ans = unsafe { self.kind.LnUrlError };
9032                    crate::binding::InputType::LnUrlError {
9033                        data: ans.data.cst_decode(),
9034                    }
9035                }
9036                _ => unreachable!(),
9037            }
9038        }
9039    }
9040    impl CstDecode<crate::breez_services::InvoicePaidDetails> for wire_cst_invoice_paid_details {
9041        // Codec=Cst (C-struct based), see doc to use other codecs
9042        fn cst_decode(self) -> crate::breez_services::InvoicePaidDetails {
9043            crate::breez_services::InvoicePaidDetails {
9044                payment_hash: self.payment_hash.cst_decode(),
9045                bolt11: self.bolt11.cst_decode(),
9046                payment: self.payment.cst_decode(),
9047            }
9048        }
9049    }
9050    impl CstDecode<Vec<String>> for *mut wire_cst_list_String {
9051        // Codec=Cst (C-struct based), see doc to use other codecs
9052        fn cst_decode(self) -> Vec<String> {
9053            let vec = unsafe {
9054                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9055                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9056            };
9057            vec.into_iter().map(CstDecode::cst_decode).collect()
9058        }
9059    }
9060    impl CstDecode<Vec<crate::binding::FiatCurrency>> for *mut wire_cst_list_fiat_currency {
9061        // Codec=Cst (C-struct based), see doc to use other codecs
9062        fn cst_decode(self) -> Vec<crate::binding::FiatCurrency> {
9063            let vec = unsafe {
9064                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9065                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9066            };
9067            vec.into_iter().map(CstDecode::cst_decode).collect()
9068        }
9069    }
9070    impl CstDecode<Vec<crate::binding::LocaleOverrides>> for *mut wire_cst_list_locale_overrides {
9071        // Codec=Cst (C-struct based), see doc to use other codecs
9072        fn cst_decode(self) -> Vec<crate::binding::LocaleOverrides> {
9073            let vec = unsafe {
9074                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9075                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9076            };
9077            vec.into_iter().map(CstDecode::cst_decode).collect()
9078        }
9079    }
9080    impl CstDecode<Vec<crate::binding::LocalizedName>> for *mut wire_cst_list_localized_name {
9081        // Codec=Cst (C-struct based), see doc to use other codecs
9082        fn cst_decode(self) -> Vec<crate::binding::LocalizedName> {
9083            let vec = unsafe {
9084                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9085                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9086            };
9087            vec.into_iter().map(CstDecode::cst_decode).collect()
9088        }
9089    }
9090    impl CstDecode<Vec<crate::lsp::LspInformation>> for *mut wire_cst_list_lsp_information {
9091        // Codec=Cst (C-struct based), see doc to use other codecs
9092        fn cst_decode(self) -> Vec<crate::lsp::LspInformation> {
9093            let vec = unsafe {
9094                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9095                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9096            };
9097            vec.into_iter().map(CstDecode::cst_decode).collect()
9098        }
9099    }
9100    impl CstDecode<Vec<crate::models::MetadataFilter>> for *mut wire_cst_list_metadata_filter {
9101        // Codec=Cst (C-struct based), see doc to use other codecs
9102        fn cst_decode(self) -> Vec<crate::models::MetadataFilter> {
9103            let vec = unsafe {
9104                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9105                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9106            };
9107            vec.into_iter().map(CstDecode::cst_decode).collect()
9108        }
9109    }
9110    impl CstDecode<Vec<crate::models::OpeningFeeParams>> for *mut wire_cst_list_opening_fee_params {
9111        // Codec=Cst (C-struct based), see doc to use other codecs
9112        fn cst_decode(self) -> Vec<crate::models::OpeningFeeParams> {
9113            let vec = unsafe {
9114                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9115                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9116            };
9117            vec.into_iter().map(CstDecode::cst_decode).collect()
9118        }
9119    }
9120    impl CstDecode<Vec<crate::models::Payment>> for *mut wire_cst_list_payment {
9121        // Codec=Cst (C-struct based), see doc to use other codecs
9122        fn cst_decode(self) -> Vec<crate::models::Payment> {
9123            let vec = unsafe {
9124                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9125                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9126            };
9127            vec.into_iter().map(CstDecode::cst_decode).collect()
9128        }
9129    }
9130    impl CstDecode<Vec<crate::models::PaymentTypeFilter>> for *mut wire_cst_list_payment_type_filter {
9131        // Codec=Cst (C-struct based), see doc to use other codecs
9132        fn cst_decode(self) -> Vec<crate::models::PaymentTypeFilter> {
9133            let vec = unsafe {
9134                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9135                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9136            };
9137            vec.into_iter().map(CstDecode::cst_decode).collect()
9138        }
9139    }
9140    impl CstDecode<crate::models::ListPaymentsRequest> for wire_cst_list_payments_request {
9141        // Codec=Cst (C-struct based), see doc to use other codecs
9142        fn cst_decode(self) -> crate::models::ListPaymentsRequest {
9143            crate::models::ListPaymentsRequest {
9144                filters: self.filters.cst_decode(),
9145                metadata_filters: self.metadata_filters.cst_decode(),
9146                from_timestamp: self.from_timestamp.cst_decode(),
9147                to_timestamp: self.to_timestamp.cst_decode(),
9148                include_failures: self.include_failures.cst_decode(),
9149                offset: self.offset.cst_decode(),
9150                limit: self.limit.cst_decode(),
9151            }
9152        }
9153    }
9154    impl CstDecode<Vec<u8>> for *mut wire_cst_list_prim_u_8_strict {
9155        // Codec=Cst (C-struct based), see doc to use other codecs
9156        fn cst_decode(self) -> Vec<u8> {
9157            unsafe {
9158                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9159                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9160            }
9161        }
9162    }
9163    impl CstDecode<Vec<crate::binding::Rate>> for *mut wire_cst_list_rate {
9164        // Codec=Cst (C-struct based), see doc to use other codecs
9165        fn cst_decode(self) -> Vec<crate::binding::Rate> {
9166            let vec = unsafe {
9167                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9168                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9169            };
9170            vec.into_iter().map(CstDecode::cst_decode).collect()
9171        }
9172    }
9173    impl CstDecode<Vec<crate::models::ReverseSwapInfo>> for *mut wire_cst_list_reverse_swap_info {
9174        // Codec=Cst (C-struct based), see doc to use other codecs
9175        fn cst_decode(self) -> Vec<crate::models::ReverseSwapInfo> {
9176            let vec = unsafe {
9177                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9178                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9179            };
9180            vec.into_iter().map(CstDecode::cst_decode).collect()
9181        }
9182    }
9183    impl CstDecode<Vec<crate::binding::RouteHint>> for *mut wire_cst_list_route_hint {
9184        // Codec=Cst (C-struct based), see doc to use other codecs
9185        fn cst_decode(self) -> Vec<crate::binding::RouteHint> {
9186            let vec = unsafe {
9187                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9188                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9189            };
9190            vec.into_iter().map(CstDecode::cst_decode).collect()
9191        }
9192    }
9193    impl CstDecode<Vec<crate::binding::RouteHintHop>> for *mut wire_cst_list_route_hint_hop {
9194        // Codec=Cst (C-struct based), see doc to use other codecs
9195        fn cst_decode(self) -> Vec<crate::binding::RouteHintHop> {
9196            let vec = unsafe {
9197                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9198                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9199            };
9200            vec.into_iter().map(CstDecode::cst_decode).collect()
9201        }
9202    }
9203    impl CstDecode<Vec<crate::models::SwapInfo>> for *mut wire_cst_list_swap_info {
9204        // Codec=Cst (C-struct based), see doc to use other codecs
9205        fn cst_decode(self) -> Vec<crate::models::SwapInfo> {
9206            let vec = unsafe {
9207                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9208                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9209            };
9210            vec.into_iter().map(CstDecode::cst_decode).collect()
9211        }
9212    }
9213    impl CstDecode<Vec<crate::models::SwapStatus>> for *mut wire_cst_list_swap_status {
9214        // Codec=Cst (C-struct based), see doc to use other codecs
9215        fn cst_decode(self) -> Vec<crate::models::SwapStatus> {
9216            let vec = unsafe {
9217                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9218                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9219            };
9220            vec.into_iter().map(CstDecode::cst_decode).collect()
9221        }
9222    }
9223    impl CstDecode<crate::models::ListSwapsRequest> for wire_cst_list_swaps_request {
9224        // Codec=Cst (C-struct based), see doc to use other codecs
9225        fn cst_decode(self) -> crate::models::ListSwapsRequest {
9226            crate::models::ListSwapsRequest {
9227                status: self.status.cst_decode(),
9228                from_timestamp: self.from_timestamp.cst_decode(),
9229                to_timestamp: self.to_timestamp.cst_decode(),
9230                offset: self.offset.cst_decode(),
9231                limit: self.limit.cst_decode(),
9232            }
9233        }
9234    }
9235    impl CstDecode<Vec<crate::models::TlvEntry>> for *mut wire_cst_list_tlv_entry {
9236        // Codec=Cst (C-struct based), see doc to use other codecs
9237        fn cst_decode(self) -> Vec<crate::models::TlvEntry> {
9238            let vec = unsafe {
9239                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9240                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9241            };
9242            vec.into_iter().map(CstDecode::cst_decode).collect()
9243        }
9244    }
9245    impl CstDecode<Vec<crate::models::UnspentTransactionOutput>>
9246        for *mut wire_cst_list_unspent_transaction_output
9247    {
9248        // Codec=Cst (C-struct based), see doc to use other codecs
9249        fn cst_decode(self) -> Vec<crate::models::UnspentTransactionOutput> {
9250            let vec = unsafe {
9251                let wrap = flutter_rust_bridge::for_generated::box_from_leak_ptr(self);
9252                flutter_rust_bridge::for_generated::vec_from_leak_ptr(wrap.ptr, wrap.len)
9253            };
9254            vec.into_iter().map(CstDecode::cst_decode).collect()
9255        }
9256    }
9257    impl CstDecode<crate::binding::LNInvoice> for wire_cst_ln_invoice {
9258        // Codec=Cst (C-struct based), see doc to use other codecs
9259        fn cst_decode(self) -> crate::binding::LNInvoice {
9260            crate::binding::LNInvoice {
9261                bolt11: self.bolt11.cst_decode(),
9262                network: self.network.cst_decode(),
9263                payee_pubkey: self.payee_pubkey.cst_decode(),
9264                payment_hash: self.payment_hash.cst_decode(),
9265                description: self.description.cst_decode(),
9266                description_hash: self.description_hash.cst_decode(),
9267                amount_msat: self.amount_msat.cst_decode(),
9268                timestamp: self.timestamp.cst_decode(),
9269                expiry: self.expiry.cst_decode(),
9270                routing_hints: self.routing_hints.cst_decode(),
9271                payment_secret: self.payment_secret.cst_decode(),
9272                min_final_cltv_expiry_delta: self.min_final_cltv_expiry_delta.cst_decode(),
9273            }
9274        }
9275    }
9276    impl CstDecode<crate::models::LnPaymentDetails> for wire_cst_ln_payment_details {
9277        // Codec=Cst (C-struct based), see doc to use other codecs
9278        fn cst_decode(self) -> crate::models::LnPaymentDetails {
9279            crate::models::LnPaymentDetails {
9280                payment_hash: self.payment_hash.cst_decode(),
9281                label: self.label.cst_decode(),
9282                destination_pubkey: self.destination_pubkey.cst_decode(),
9283                payment_preimage: self.payment_preimage.cst_decode(),
9284                keysend: self.keysend.cst_decode(),
9285                bolt11: self.bolt11.cst_decode(),
9286                open_channel_bolt11: self.open_channel_bolt11.cst_decode(),
9287                lnurl_success_action: self.lnurl_success_action.cst_decode(),
9288                lnurl_pay_domain: self.lnurl_pay_domain.cst_decode(),
9289                lnurl_pay_comment: self.lnurl_pay_comment.cst_decode(),
9290                ln_address: self.ln_address.cst_decode(),
9291                lnurl_metadata: self.lnurl_metadata.cst_decode(),
9292                lnurl_withdraw_endpoint: self.lnurl_withdraw_endpoint.cst_decode(),
9293                swap_info: self.swap_info.cst_decode(),
9294                reverse_swap_info: self.reverse_swap_info.cst_decode(),
9295                pending_expiration_block: self.pending_expiration_block.cst_decode(),
9296            }
9297        }
9298    }
9299    impl CstDecode<crate::binding::LnUrlAuthRequestData> for wire_cst_ln_url_auth_request_data {
9300        // Codec=Cst (C-struct based), see doc to use other codecs
9301        fn cst_decode(self) -> crate::binding::LnUrlAuthRequestData {
9302            crate::binding::LnUrlAuthRequestData {
9303                k1: self.k1.cst_decode(),
9304                action: self.action.cst_decode(),
9305                domain: self.domain.cst_decode(),
9306                url: self.url.cst_decode(),
9307            }
9308        }
9309    }
9310    impl CstDecode<crate::binding::LnUrlCallbackStatus> for wire_cst_ln_url_callback_status {
9311        // Codec=Cst (C-struct based), see doc to use other codecs
9312        fn cst_decode(self) -> crate::binding::LnUrlCallbackStatus {
9313            match self.tag {
9314                0 => crate::binding::LnUrlCallbackStatus::Ok,
9315                1 => {
9316                    let ans = unsafe { self.kind.ErrorStatus };
9317                    crate::binding::LnUrlCallbackStatus::ErrorStatus {
9318                        data: ans.data.cst_decode(),
9319                    }
9320                }
9321                _ => unreachable!(),
9322            }
9323        }
9324    }
9325    impl CstDecode<crate::binding::LnUrlErrorData> for wire_cst_ln_url_error_data {
9326        // Codec=Cst (C-struct based), see doc to use other codecs
9327        fn cst_decode(self) -> crate::binding::LnUrlErrorData {
9328            crate::binding::LnUrlErrorData {
9329                reason: self.reason.cst_decode(),
9330            }
9331        }
9332    }
9333    impl CstDecode<crate::binding::LnUrlPayErrorData> for wire_cst_ln_url_pay_error_data {
9334        // Codec=Cst (C-struct based), see doc to use other codecs
9335        fn cst_decode(self) -> crate::binding::LnUrlPayErrorData {
9336            crate::binding::LnUrlPayErrorData {
9337                payment_hash: self.payment_hash.cst_decode(),
9338                reason: self.reason.cst_decode(),
9339            }
9340        }
9341    }
9342    impl CstDecode<crate::binding::LnUrlPayRequest> for wire_cst_ln_url_pay_request {
9343        // Codec=Cst (C-struct based), see doc to use other codecs
9344        fn cst_decode(self) -> crate::binding::LnUrlPayRequest {
9345            crate::binding::LnUrlPayRequest {
9346                data: self.data.cst_decode(),
9347                amount_msat: self.amount_msat.cst_decode(),
9348                use_trampoline: self.use_trampoline.cst_decode(),
9349                comment: self.comment.cst_decode(),
9350                payment_label: self.payment_label.cst_decode(),
9351                validate_success_action_url: self.validate_success_action_url.cst_decode(),
9352            }
9353        }
9354    }
9355    impl CstDecode<crate::binding::LnUrlPayRequestData> for wire_cst_ln_url_pay_request_data {
9356        // Codec=Cst (C-struct based), see doc to use other codecs
9357        fn cst_decode(self) -> crate::binding::LnUrlPayRequestData {
9358            crate::binding::LnUrlPayRequestData {
9359                callback: self.callback.cst_decode(),
9360                min_sendable: self.min_sendable.cst_decode(),
9361                max_sendable: self.max_sendable.cst_decode(),
9362                metadata_str: self.metadata_str.cst_decode(),
9363                comment_allowed: self.comment_allowed.cst_decode(),
9364                domain: self.domain.cst_decode(),
9365                allows_nostr: self.allows_nostr.cst_decode(),
9366                nostr_pubkey: self.nostr_pubkey.cst_decode(),
9367                ln_address: self.ln_address.cst_decode(),
9368            }
9369        }
9370    }
9371    impl CstDecode<crate::lnurl::pay::LnUrlPayResult> for wire_cst_ln_url_pay_result {
9372        // Codec=Cst (C-struct based), see doc to use other codecs
9373        fn cst_decode(self) -> crate::lnurl::pay::LnUrlPayResult {
9374            match self.tag {
9375                0 => {
9376                    let ans = unsafe { self.kind.EndpointSuccess };
9377                    crate::lnurl::pay::LnUrlPayResult::EndpointSuccess {
9378                        data: ans.data.cst_decode(),
9379                    }
9380                }
9381                1 => {
9382                    let ans = unsafe { self.kind.EndpointError };
9383                    crate::lnurl::pay::LnUrlPayResult::EndpointError {
9384                        data: ans.data.cst_decode(),
9385                    }
9386                }
9387                2 => {
9388                    let ans = unsafe { self.kind.PayError };
9389                    crate::lnurl::pay::LnUrlPayResult::PayError {
9390                        data: ans.data.cst_decode(),
9391                    }
9392                }
9393                _ => unreachable!(),
9394            }
9395        }
9396    }
9397    impl CstDecode<crate::lnurl::pay::LnUrlPaySuccessData> for wire_cst_ln_url_pay_success_data {
9398        // Codec=Cst (C-struct based), see doc to use other codecs
9399        fn cst_decode(self) -> crate::lnurl::pay::LnUrlPaySuccessData {
9400            crate::lnurl::pay::LnUrlPaySuccessData {
9401                payment: self.payment.cst_decode(),
9402                success_action: self.success_action.cst_decode(),
9403            }
9404        }
9405    }
9406    impl CstDecode<crate::binding::LnUrlWithdrawRequest> for wire_cst_ln_url_withdraw_request {
9407        // Codec=Cst (C-struct based), see doc to use other codecs
9408        fn cst_decode(self) -> crate::binding::LnUrlWithdrawRequest {
9409            crate::binding::LnUrlWithdrawRequest {
9410                data: self.data.cst_decode(),
9411                amount_msat: self.amount_msat.cst_decode(),
9412                description: self.description.cst_decode(),
9413            }
9414        }
9415    }
9416    impl CstDecode<crate::binding::LnUrlWithdrawRequestData> for wire_cst_ln_url_withdraw_request_data {
9417        // Codec=Cst (C-struct based), see doc to use other codecs
9418        fn cst_decode(self) -> crate::binding::LnUrlWithdrawRequestData {
9419            crate::binding::LnUrlWithdrawRequestData {
9420                callback: self.callback.cst_decode(),
9421                k1: self.k1.cst_decode(),
9422                default_description: self.default_description.cst_decode(),
9423                min_withdrawable: self.min_withdrawable.cst_decode(),
9424                max_withdrawable: self.max_withdrawable.cst_decode(),
9425            }
9426        }
9427    }
9428    impl CstDecode<crate::binding::LnUrlWithdrawResult> for wire_cst_ln_url_withdraw_result {
9429        // Codec=Cst (C-struct based), see doc to use other codecs
9430        fn cst_decode(self) -> crate::binding::LnUrlWithdrawResult {
9431            match self.tag {
9432                0 => {
9433                    let ans = unsafe { self.kind.Ok };
9434                    crate::binding::LnUrlWithdrawResult::Ok {
9435                        data: ans.data.cst_decode(),
9436                    }
9437                }
9438                1 => {
9439                    let ans = unsafe { self.kind.Timeout };
9440                    crate::binding::LnUrlWithdrawResult::Timeout {
9441                        data: ans.data.cst_decode(),
9442                    }
9443                }
9444                2 => {
9445                    let ans = unsafe { self.kind.ErrorStatus };
9446                    crate::binding::LnUrlWithdrawResult::ErrorStatus {
9447                        data: ans.data.cst_decode(),
9448                    }
9449                }
9450                _ => unreachable!(),
9451            }
9452        }
9453    }
9454    impl CstDecode<crate::binding::LnUrlWithdrawSuccessData> for wire_cst_ln_url_withdraw_success_data {
9455        // Codec=Cst (C-struct based), see doc to use other codecs
9456        fn cst_decode(self) -> crate::binding::LnUrlWithdrawSuccessData {
9457            crate::binding::LnUrlWithdrawSuccessData {
9458                invoice: self.invoice.cst_decode(),
9459            }
9460        }
9461    }
9462    impl CstDecode<crate::binding::LocaleOverrides> for wire_cst_locale_overrides {
9463        // Codec=Cst (C-struct based), see doc to use other codecs
9464        fn cst_decode(self) -> crate::binding::LocaleOverrides {
9465            crate::binding::LocaleOverrides {
9466                locale: self.locale.cst_decode(),
9467                spacing: self.spacing.cst_decode(),
9468                symbol: self.symbol.cst_decode(),
9469            }
9470        }
9471    }
9472    impl CstDecode<crate::binding::LocalizedName> for wire_cst_localized_name {
9473        // Codec=Cst (C-struct based), see doc to use other codecs
9474        fn cst_decode(self) -> crate::binding::LocalizedName {
9475            crate::binding::LocalizedName {
9476                locale: self.locale.cst_decode(),
9477                name: self.name.cst_decode(),
9478            }
9479        }
9480    }
9481    impl CstDecode<crate::models::LogEntry> for wire_cst_log_entry {
9482        // Codec=Cst (C-struct based), see doc to use other codecs
9483        fn cst_decode(self) -> crate::models::LogEntry {
9484            crate::models::LogEntry {
9485                line: self.line.cst_decode(),
9486                level: self.level.cst_decode(),
9487            }
9488        }
9489    }
9490    impl CstDecode<crate::lsp::LspInformation> for wire_cst_lsp_information {
9491        // Codec=Cst (C-struct based), see doc to use other codecs
9492        fn cst_decode(self) -> crate::lsp::LspInformation {
9493            crate::lsp::LspInformation {
9494                id: self.id.cst_decode(),
9495                name: self.name.cst_decode(),
9496                widget_url: self.widget_url.cst_decode(),
9497                pubkey: self.pubkey.cst_decode(),
9498                host: self.host.cst_decode(),
9499                base_fee_msat: self.base_fee_msat.cst_decode(),
9500                fee_rate: self.fee_rate.cst_decode(),
9501                time_lock_delta: self.time_lock_delta.cst_decode(),
9502                min_htlc_msat: self.min_htlc_msat.cst_decode(),
9503                lsp_pubkey: self.lsp_pubkey.cst_decode(),
9504                opening_fee_params_list: self.opening_fee_params_list.cst_decode(),
9505            }
9506        }
9507    }
9508    impl CstDecode<crate::binding::MessageSuccessActionData> for wire_cst_message_success_action_data {
9509        // Codec=Cst (C-struct based), see doc to use other codecs
9510        fn cst_decode(self) -> crate::binding::MessageSuccessActionData {
9511            crate::binding::MessageSuccessActionData {
9512                message: self.message.cst_decode(),
9513            }
9514        }
9515    }
9516    impl CstDecode<crate::models::MetadataFilter> for wire_cst_metadata_filter {
9517        // Codec=Cst (C-struct based), see doc to use other codecs
9518        fn cst_decode(self) -> crate::models::MetadataFilter {
9519            crate::models::MetadataFilter {
9520                json_path: self.json_path.cst_decode(),
9521                json_value: self.json_value.cst_decode(),
9522            }
9523        }
9524    }
9525    impl CstDecode<crate::models::NodeConfig> for wire_cst_node_config {
9526        // Codec=Cst (C-struct based), see doc to use other codecs
9527        fn cst_decode(self) -> crate::models::NodeConfig {
9528            match self.tag {
9529                0 => {
9530                    let ans = unsafe { self.kind.Greenlight };
9531                    crate::models::NodeConfig::Greenlight {
9532                        config: ans.config.cst_decode(),
9533                    }
9534                }
9535                _ => unreachable!(),
9536            }
9537        }
9538    }
9539    impl CstDecode<crate::models::NodeCredentials> for wire_cst_node_credentials {
9540        // Codec=Cst (C-struct based), see doc to use other codecs
9541        fn cst_decode(self) -> crate::models::NodeCredentials {
9542            match self.tag {
9543                0 => {
9544                    let ans = unsafe { self.kind.Greenlight };
9545                    crate::models::NodeCredentials::Greenlight {
9546                        credentials: ans.credentials.cst_decode(),
9547                    }
9548                }
9549                _ => unreachable!(),
9550            }
9551        }
9552    }
9553    impl CstDecode<crate::models::NodeState> for wire_cst_node_state {
9554        // Codec=Cst (C-struct based), see doc to use other codecs
9555        fn cst_decode(self) -> crate::models::NodeState {
9556            crate::models::NodeState {
9557                id: self.id.cst_decode(),
9558                block_height: self.block_height.cst_decode(),
9559                channels_balance_msat: self.channels_balance_msat.cst_decode(),
9560                onchain_balance_msat: self.onchain_balance_msat.cst_decode(),
9561                pending_onchain_balance_msat: self.pending_onchain_balance_msat.cst_decode(),
9562                utxos: self.utxos.cst_decode(),
9563                max_payable_msat: self.max_payable_msat.cst_decode(),
9564                max_receivable_msat: self.max_receivable_msat.cst_decode(),
9565                max_single_payment_amount_msat: self.max_single_payment_amount_msat.cst_decode(),
9566                max_chan_reserve_msats: self.max_chan_reserve_msats.cst_decode(),
9567                connected_peers: self.connected_peers.cst_decode(),
9568                max_receivable_single_payment_amount_msat: self
9569                    .max_receivable_single_payment_amount_msat
9570                    .cst_decode(),
9571                total_inbound_liquidity_msats: self.total_inbound_liquidity_msats.cst_decode(),
9572            }
9573        }
9574    }
9575    impl CstDecode<crate::models::OnchainPaymentLimitsResponse>
9576        for wire_cst_onchain_payment_limits_response
9577    {
9578        // Codec=Cst (C-struct based), see doc to use other codecs
9579        fn cst_decode(self) -> crate::models::OnchainPaymentLimitsResponse {
9580            crate::models::OnchainPaymentLimitsResponse {
9581                min_sat: self.min_sat.cst_decode(),
9582                max_sat: self.max_sat.cst_decode(),
9583                max_payable_sat: self.max_payable_sat.cst_decode(),
9584            }
9585        }
9586    }
9587    impl CstDecode<crate::models::OpenChannelFeeRequest> for wire_cst_open_channel_fee_request {
9588        // Codec=Cst (C-struct based), see doc to use other codecs
9589        fn cst_decode(self) -> crate::models::OpenChannelFeeRequest {
9590            crate::models::OpenChannelFeeRequest {
9591                amount_msat: self.amount_msat.cst_decode(),
9592                expiry: self.expiry.cst_decode(),
9593            }
9594        }
9595    }
9596    impl CstDecode<crate::models::OpenChannelFeeResponse> for wire_cst_open_channel_fee_response {
9597        // Codec=Cst (C-struct based), see doc to use other codecs
9598        fn cst_decode(self) -> crate::models::OpenChannelFeeResponse {
9599            crate::models::OpenChannelFeeResponse {
9600                fee_msat: self.fee_msat.cst_decode(),
9601                fee_params: self.fee_params.cst_decode(),
9602            }
9603        }
9604    }
9605    impl CstDecode<crate::models::OpeningFeeParams> for wire_cst_opening_fee_params {
9606        // Codec=Cst (C-struct based), see doc to use other codecs
9607        fn cst_decode(self) -> crate::models::OpeningFeeParams {
9608            crate::models::OpeningFeeParams {
9609                min_msat: self.min_msat.cst_decode(),
9610                proportional: self.proportional.cst_decode(),
9611                valid_until: self.valid_until.cst_decode(),
9612                max_idle_time: self.max_idle_time.cst_decode(),
9613                max_client_to_self_delay: self.max_client_to_self_delay.cst_decode(),
9614                promise: self.promise.cst_decode(),
9615            }
9616        }
9617    }
9618    impl CstDecode<crate::models::OpeningFeeParamsMenu> for wire_cst_opening_fee_params_menu {
9619        // Codec=Cst (C-struct based), see doc to use other codecs
9620        fn cst_decode(self) -> crate::models::OpeningFeeParamsMenu {
9621            crate::models::OpeningFeeParamsMenu {
9622                values: self.values.cst_decode(),
9623            }
9624        }
9625    }
9626    impl CstDecode<crate::models::PayOnchainRequest> for wire_cst_pay_onchain_request {
9627        // Codec=Cst (C-struct based), see doc to use other codecs
9628        fn cst_decode(self) -> crate::models::PayOnchainRequest {
9629            crate::models::PayOnchainRequest {
9630                recipient_address: self.recipient_address.cst_decode(),
9631                prepare_res: self.prepare_res.cst_decode(),
9632            }
9633        }
9634    }
9635    impl CstDecode<crate::models::PayOnchainResponse> for wire_cst_pay_onchain_response {
9636        // Codec=Cst (C-struct based), see doc to use other codecs
9637        fn cst_decode(self) -> crate::models::PayOnchainResponse {
9638            crate::models::PayOnchainResponse {
9639                reverse_swap_info: self.reverse_swap_info.cst_decode(),
9640            }
9641        }
9642    }
9643    impl CstDecode<crate::models::Payment> for wire_cst_payment {
9644        // Codec=Cst (C-struct based), see doc to use other codecs
9645        fn cst_decode(self) -> crate::models::Payment {
9646            crate::models::Payment {
9647                id: self.id.cst_decode(),
9648                payment_type: self.payment_type.cst_decode(),
9649                payment_time: self.payment_time.cst_decode(),
9650                amount_msat: self.amount_msat.cst_decode(),
9651                fee_msat: self.fee_msat.cst_decode(),
9652                status: self.status.cst_decode(),
9653                error: self.error.cst_decode(),
9654                description: self.description.cst_decode(),
9655                details: self.details.cst_decode(),
9656                metadata: self.metadata.cst_decode(),
9657            }
9658        }
9659    }
9660    impl CstDecode<crate::models::PaymentDetails> for wire_cst_payment_details {
9661        // Codec=Cst (C-struct based), see doc to use other codecs
9662        fn cst_decode(self) -> crate::models::PaymentDetails {
9663            match self.tag {
9664                0 => {
9665                    let ans = unsafe { self.kind.Ln };
9666                    crate::models::PaymentDetails::Ln {
9667                        data: ans.data.cst_decode(),
9668                    }
9669                }
9670                1 => {
9671                    let ans = unsafe { self.kind.ClosedChannel };
9672                    crate::models::PaymentDetails::ClosedChannel {
9673                        data: ans.data.cst_decode(),
9674                    }
9675                }
9676                _ => unreachable!(),
9677            }
9678        }
9679    }
9680    impl CstDecode<crate::breez_services::PaymentFailedData> for wire_cst_payment_failed_data {
9681        // Codec=Cst (C-struct based), see doc to use other codecs
9682        fn cst_decode(self) -> crate::breez_services::PaymentFailedData {
9683            crate::breez_services::PaymentFailedData {
9684                error: self.error.cst_decode(),
9685                node_id: self.node_id.cst_decode(),
9686                invoice: self.invoice.cst_decode(),
9687                label: self.label.cst_decode(),
9688            }
9689        }
9690    }
9691    impl CstDecode<crate::models::PrepareOnchainPaymentRequest>
9692        for wire_cst_prepare_onchain_payment_request
9693    {
9694        // Codec=Cst (C-struct based), see doc to use other codecs
9695        fn cst_decode(self) -> crate::models::PrepareOnchainPaymentRequest {
9696            crate::models::PrepareOnchainPaymentRequest {
9697                amount_sat: self.amount_sat.cst_decode(),
9698                amount_type: self.amount_type.cst_decode(),
9699                claim_tx_feerate: self.claim_tx_feerate.cst_decode(),
9700            }
9701        }
9702    }
9703    impl CstDecode<crate::models::PrepareOnchainPaymentResponse>
9704        for wire_cst_prepare_onchain_payment_response
9705    {
9706        // Codec=Cst (C-struct based), see doc to use other codecs
9707        fn cst_decode(self) -> crate::models::PrepareOnchainPaymentResponse {
9708            crate::models::PrepareOnchainPaymentResponse {
9709                fees_hash: self.fees_hash.cst_decode(),
9710                fees_percentage: self.fees_percentage.cst_decode(),
9711                fees_lockup: self.fees_lockup.cst_decode(),
9712                fees_claim: self.fees_claim.cst_decode(),
9713                sender_amount_sat: self.sender_amount_sat.cst_decode(),
9714                recipient_amount_sat: self.recipient_amount_sat.cst_decode(),
9715                total_fees: self.total_fees.cst_decode(),
9716            }
9717        }
9718    }
9719    impl CstDecode<crate::models::PrepareRedeemOnchainFundsRequest>
9720        for wire_cst_prepare_redeem_onchain_funds_request
9721    {
9722        // Codec=Cst (C-struct based), see doc to use other codecs
9723        fn cst_decode(self) -> crate::models::PrepareRedeemOnchainFundsRequest {
9724            crate::models::PrepareRedeemOnchainFundsRequest {
9725                to_address: self.to_address.cst_decode(),
9726                sat_per_vbyte: self.sat_per_vbyte.cst_decode(),
9727            }
9728        }
9729    }
9730    impl CstDecode<crate::models::PrepareRedeemOnchainFundsResponse>
9731        for wire_cst_prepare_redeem_onchain_funds_response
9732    {
9733        // Codec=Cst (C-struct based), see doc to use other codecs
9734        fn cst_decode(self) -> crate::models::PrepareRedeemOnchainFundsResponse {
9735            crate::models::PrepareRedeemOnchainFundsResponse {
9736                tx_weight: self.tx_weight.cst_decode(),
9737                tx_fee_sat: self.tx_fee_sat.cst_decode(),
9738            }
9739        }
9740    }
9741    impl CstDecode<crate::models::PrepareRefundRequest> for wire_cst_prepare_refund_request {
9742        // Codec=Cst (C-struct based), see doc to use other codecs
9743        fn cst_decode(self) -> crate::models::PrepareRefundRequest {
9744            crate::models::PrepareRefundRequest {
9745                swap_address: self.swap_address.cst_decode(),
9746                to_address: self.to_address.cst_decode(),
9747                sat_per_vbyte: self.sat_per_vbyte.cst_decode(),
9748                unilateral: self.unilateral.cst_decode(),
9749            }
9750        }
9751    }
9752    impl CstDecode<crate::models::PrepareRefundResponse> for wire_cst_prepare_refund_response {
9753        // Codec=Cst (C-struct based), see doc to use other codecs
9754        fn cst_decode(self) -> crate::models::PrepareRefundResponse {
9755            crate::models::PrepareRefundResponse {
9756                refund_tx_weight: self.refund_tx_weight.cst_decode(),
9757                refund_tx_fee_sat: self.refund_tx_fee_sat.cst_decode(),
9758            }
9759        }
9760    }
9761    impl CstDecode<crate::binding::Rate> for wire_cst_rate {
9762        // Codec=Cst (C-struct based), see doc to use other codecs
9763        fn cst_decode(self) -> crate::binding::Rate {
9764            crate::binding::Rate {
9765                coin: self.coin.cst_decode(),
9766                value: self.value.cst_decode(),
9767            }
9768        }
9769    }
9770    impl CstDecode<crate::models::ReceiveOnchainRequest> for wire_cst_receive_onchain_request {
9771        // Codec=Cst (C-struct based), see doc to use other codecs
9772        fn cst_decode(self) -> crate::models::ReceiveOnchainRequest {
9773            crate::models::ReceiveOnchainRequest {
9774                opening_fee_params: self.opening_fee_params.cst_decode(),
9775            }
9776        }
9777    }
9778    impl CstDecode<crate::models::ReceivePaymentRequest> for wire_cst_receive_payment_request {
9779        // Codec=Cst (C-struct based), see doc to use other codecs
9780        fn cst_decode(self) -> crate::models::ReceivePaymentRequest {
9781            crate::models::ReceivePaymentRequest {
9782                amount_msat: self.amount_msat.cst_decode(),
9783                description: self.description.cst_decode(),
9784                preimage: self.preimage.cst_decode(),
9785                opening_fee_params: self.opening_fee_params.cst_decode(),
9786                use_description_hash: self.use_description_hash.cst_decode(),
9787                expiry: self.expiry.cst_decode(),
9788                cltv: self.cltv.cst_decode(),
9789            }
9790        }
9791    }
9792    impl CstDecode<crate::models::ReceivePaymentResponse> for wire_cst_receive_payment_response {
9793        // Codec=Cst (C-struct based), see doc to use other codecs
9794        fn cst_decode(self) -> crate::models::ReceivePaymentResponse {
9795            crate::models::ReceivePaymentResponse {
9796                ln_invoice: self.ln_invoice.cst_decode(),
9797                opening_fee_params: self.opening_fee_params.cst_decode(),
9798                opening_fee_msat: self.opening_fee_msat.cst_decode(),
9799            }
9800        }
9801    }
9802    impl CstDecode<crate::chain::RecommendedFees> for wire_cst_recommended_fees {
9803        // Codec=Cst (C-struct based), see doc to use other codecs
9804        fn cst_decode(self) -> crate::chain::RecommendedFees {
9805            crate::chain::RecommendedFees {
9806                fastest_fee: self.fastest_fee.cst_decode(),
9807                half_hour_fee: self.half_hour_fee.cst_decode(),
9808                hour_fee: self.hour_fee.cst_decode(),
9809                economy_fee: self.economy_fee.cst_decode(),
9810                minimum_fee: self.minimum_fee.cst_decode(),
9811            }
9812        }
9813    }
9814    impl CstDecode<crate::models::RedeemOnchainFundsRequest> for wire_cst_redeem_onchain_funds_request {
9815        // Codec=Cst (C-struct based), see doc to use other codecs
9816        fn cst_decode(self) -> crate::models::RedeemOnchainFundsRequest {
9817            crate::models::RedeemOnchainFundsRequest {
9818                to_address: self.to_address.cst_decode(),
9819                sat_per_vbyte: self.sat_per_vbyte.cst_decode(),
9820            }
9821        }
9822    }
9823    impl CstDecode<crate::models::RedeemOnchainFundsResponse>
9824        for wire_cst_redeem_onchain_funds_response
9825    {
9826        // Codec=Cst (C-struct based), see doc to use other codecs
9827        fn cst_decode(self) -> crate::models::RedeemOnchainFundsResponse {
9828            crate::models::RedeemOnchainFundsResponse {
9829                txid: self.txid.cst_decode(),
9830            }
9831        }
9832    }
9833    impl CstDecode<crate::models::RefundRequest> for wire_cst_refund_request {
9834        // Codec=Cst (C-struct based), see doc to use other codecs
9835        fn cst_decode(self) -> crate::models::RefundRequest {
9836            crate::models::RefundRequest {
9837                swap_address: self.swap_address.cst_decode(),
9838                to_address: self.to_address.cst_decode(),
9839                sat_per_vbyte: self.sat_per_vbyte.cst_decode(),
9840                unilateral: self.unilateral.cst_decode(),
9841            }
9842        }
9843    }
9844    impl CstDecode<crate::models::RefundResponse> for wire_cst_refund_response {
9845        // Codec=Cst (C-struct based), see doc to use other codecs
9846        fn cst_decode(self) -> crate::models::RefundResponse {
9847            crate::models::RefundResponse {
9848                refund_tx_id: self.refund_tx_id.cst_decode(),
9849            }
9850        }
9851    }
9852    impl CstDecode<crate::models::ReportIssueRequest> for wire_cst_report_issue_request {
9853        // Codec=Cst (C-struct based), see doc to use other codecs
9854        fn cst_decode(self) -> crate::models::ReportIssueRequest {
9855            match self.tag {
9856                0 => {
9857                    let ans = unsafe { self.kind.PaymentFailure };
9858                    crate::models::ReportIssueRequest::PaymentFailure {
9859                        data: ans.data.cst_decode(),
9860                    }
9861                }
9862                _ => unreachable!(),
9863            }
9864        }
9865    }
9866    impl CstDecode<crate::models::ReportPaymentFailureDetails>
9867        for wire_cst_report_payment_failure_details
9868    {
9869        // Codec=Cst (C-struct based), see doc to use other codecs
9870        fn cst_decode(self) -> crate::models::ReportPaymentFailureDetails {
9871            crate::models::ReportPaymentFailureDetails {
9872                payment_hash: self.payment_hash.cst_decode(),
9873                comment: self.comment.cst_decode(),
9874            }
9875        }
9876    }
9877    impl CstDecode<crate::models::ReverseSwapFeesRequest> for wire_cst_reverse_swap_fees_request {
9878        // Codec=Cst (C-struct based), see doc to use other codecs
9879        fn cst_decode(self) -> crate::models::ReverseSwapFeesRequest {
9880            crate::models::ReverseSwapFeesRequest {
9881                send_amount_sat: self.send_amount_sat.cst_decode(),
9882                claim_tx_feerate: self.claim_tx_feerate.cst_decode(),
9883            }
9884        }
9885    }
9886    impl CstDecode<crate::models::ReverseSwapInfo> for wire_cst_reverse_swap_info {
9887        // Codec=Cst (C-struct based), see doc to use other codecs
9888        fn cst_decode(self) -> crate::models::ReverseSwapInfo {
9889            crate::models::ReverseSwapInfo {
9890                id: self.id.cst_decode(),
9891                claim_pubkey: self.claim_pubkey.cst_decode(),
9892                lockup_txid: self.lockup_txid.cst_decode(),
9893                claim_txid: self.claim_txid.cst_decode(),
9894                onchain_amount_sat: self.onchain_amount_sat.cst_decode(),
9895                status: self.status.cst_decode(),
9896            }
9897        }
9898    }
9899    impl CstDecode<crate::models::ReverseSwapPairInfo> for wire_cst_reverse_swap_pair_info {
9900        // Codec=Cst (C-struct based), see doc to use other codecs
9901        fn cst_decode(self) -> crate::models::ReverseSwapPairInfo {
9902            crate::models::ReverseSwapPairInfo {
9903                min: self.min.cst_decode(),
9904                max: self.max.cst_decode(),
9905                fees_hash: self.fees_hash.cst_decode(),
9906                fees_percentage: self.fees_percentage.cst_decode(),
9907                fees_lockup: self.fees_lockup.cst_decode(),
9908                fees_claim: self.fees_claim.cst_decode(),
9909                total_fees: self.total_fees.cst_decode(),
9910            }
9911        }
9912    }
9913    impl CstDecode<crate::binding::RouteHint> for wire_cst_route_hint {
9914        // Codec=Cst (C-struct based), see doc to use other codecs
9915        fn cst_decode(self) -> crate::binding::RouteHint {
9916            crate::binding::RouteHint {
9917                hops: self.hops.cst_decode(),
9918            }
9919        }
9920    }
9921    impl CstDecode<crate::binding::RouteHintHop> for wire_cst_route_hint_hop {
9922        // Codec=Cst (C-struct based), see doc to use other codecs
9923        fn cst_decode(self) -> crate::binding::RouteHintHop {
9924            crate::binding::RouteHintHop {
9925                src_node_id: self.src_node_id.cst_decode(),
9926                short_channel_id: self.short_channel_id.cst_decode(),
9927                fees_base_msat: self.fees_base_msat.cst_decode(),
9928                fees_proportional_millionths: self.fees_proportional_millionths.cst_decode(),
9929                cltv_expiry_delta: self.cltv_expiry_delta.cst_decode(),
9930                htlc_minimum_msat: self.htlc_minimum_msat.cst_decode(),
9931                htlc_maximum_msat: self.htlc_maximum_msat.cst_decode(),
9932            }
9933        }
9934    }
9935    impl CstDecode<crate::models::SendPaymentRequest> for wire_cst_send_payment_request {
9936        // Codec=Cst (C-struct based), see doc to use other codecs
9937        fn cst_decode(self) -> crate::models::SendPaymentRequest {
9938            crate::models::SendPaymentRequest {
9939                bolt11: self.bolt11.cst_decode(),
9940                use_trampoline: self.use_trampoline.cst_decode(),
9941                amount_msat: self.amount_msat.cst_decode(),
9942                label: self.label.cst_decode(),
9943            }
9944        }
9945    }
9946    impl CstDecode<crate::models::SendPaymentResponse> for wire_cst_send_payment_response {
9947        // Codec=Cst (C-struct based), see doc to use other codecs
9948        fn cst_decode(self) -> crate::models::SendPaymentResponse {
9949            crate::models::SendPaymentResponse {
9950                payment: self.payment.cst_decode(),
9951            }
9952        }
9953    }
9954    impl CstDecode<crate::models::SendSpontaneousPaymentRequest>
9955        for wire_cst_send_spontaneous_payment_request
9956    {
9957        // Codec=Cst (C-struct based), see doc to use other codecs
9958        fn cst_decode(self) -> crate::models::SendSpontaneousPaymentRequest {
9959            crate::models::SendSpontaneousPaymentRequest {
9960                node_id: self.node_id.cst_decode(),
9961                amount_msat: self.amount_msat.cst_decode(),
9962                extra_tlvs: self.extra_tlvs.cst_decode(),
9963                label: self.label.cst_decode(),
9964            }
9965        }
9966    }
9967    impl CstDecode<crate::models::ServiceHealthCheckResponse>
9968        for wire_cst_service_health_check_response
9969    {
9970        // Codec=Cst (C-struct based), see doc to use other codecs
9971        fn cst_decode(self) -> crate::models::ServiceHealthCheckResponse {
9972            crate::models::ServiceHealthCheckResponse {
9973                status: self.status.cst_decode(),
9974            }
9975        }
9976    }
9977    impl CstDecode<crate::breez_services::SignMessageRequest> for wire_cst_sign_message_request {
9978        // Codec=Cst (C-struct based), see doc to use other codecs
9979        fn cst_decode(self) -> crate::breez_services::SignMessageRequest {
9980            crate::breez_services::SignMessageRequest {
9981                message: self.message.cst_decode(),
9982            }
9983        }
9984    }
9985    impl CstDecode<crate::breez_services::SignMessageResponse> for wire_cst_sign_message_response {
9986        // Codec=Cst (C-struct based), see doc to use other codecs
9987        fn cst_decode(self) -> crate::breez_services::SignMessageResponse {
9988            crate::breez_services::SignMessageResponse {
9989                signature: self.signature.cst_decode(),
9990            }
9991        }
9992    }
9993    impl CstDecode<crate::models::StaticBackupRequest> for wire_cst_static_backup_request {
9994        // Codec=Cst (C-struct based), see doc to use other codecs
9995        fn cst_decode(self) -> crate::models::StaticBackupRequest {
9996            crate::models::StaticBackupRequest {
9997                working_dir: self.working_dir.cst_decode(),
9998            }
9999        }
10000    }
10001    impl CstDecode<crate::models::StaticBackupResponse> for wire_cst_static_backup_response {
10002        // Codec=Cst (C-struct based), see doc to use other codecs
10003        fn cst_decode(self) -> crate::models::StaticBackupResponse {
10004            crate::models::StaticBackupResponse {
10005                backup: self.backup.cst_decode(),
10006            }
10007        }
10008    }
10009    impl CstDecode<crate::binding::SuccessActionProcessed> for wire_cst_success_action_processed {
10010        // Codec=Cst (C-struct based), see doc to use other codecs
10011        fn cst_decode(self) -> crate::binding::SuccessActionProcessed {
10012            match self.tag {
10013                0 => {
10014                    let ans = unsafe { self.kind.Aes };
10015                    crate::binding::SuccessActionProcessed::Aes {
10016                        result: ans.result.cst_decode(),
10017                    }
10018                }
10019                1 => {
10020                    let ans = unsafe { self.kind.Message };
10021                    crate::binding::SuccessActionProcessed::Message {
10022                        data: ans.data.cst_decode(),
10023                    }
10024                }
10025                2 => {
10026                    let ans = unsafe { self.kind.Url };
10027                    crate::binding::SuccessActionProcessed::Url {
10028                        data: ans.data.cst_decode(),
10029                    }
10030                }
10031                _ => unreachable!(),
10032            }
10033        }
10034    }
10035    impl CstDecode<crate::models::SwapInfo> for wire_cst_swap_info {
10036        // Codec=Cst (C-struct based), see doc to use other codecs
10037        fn cst_decode(self) -> crate::models::SwapInfo {
10038            crate::models::SwapInfo {
10039                bitcoin_address: self.bitcoin_address.cst_decode(),
10040                created_at: self.created_at.cst_decode(),
10041                lock_height: self.lock_height.cst_decode(),
10042                payment_hash: self.payment_hash.cst_decode(),
10043                preimage: self.preimage.cst_decode(),
10044                private_key: self.private_key.cst_decode(),
10045                public_key: self.public_key.cst_decode(),
10046                swapper_public_key: self.swapper_public_key.cst_decode(),
10047                script: self.script.cst_decode(),
10048                bolt11: self.bolt11.cst_decode(),
10049                paid_msat: self.paid_msat.cst_decode(),
10050                total_incoming_txs: self.total_incoming_txs.cst_decode(),
10051                confirmed_sats: self.confirmed_sats.cst_decode(),
10052                unconfirmed_sats: self.unconfirmed_sats.cst_decode(),
10053                status: self.status.cst_decode(),
10054                refund_tx_ids: self.refund_tx_ids.cst_decode(),
10055                unconfirmed_tx_ids: self.unconfirmed_tx_ids.cst_decode(),
10056                confirmed_tx_ids: self.confirmed_tx_ids.cst_decode(),
10057                min_allowed_deposit: self.min_allowed_deposit.cst_decode(),
10058                max_allowed_deposit: self.max_allowed_deposit.cst_decode(),
10059                max_swapper_payable: self.max_swapper_payable.cst_decode(),
10060                last_redeem_error: self.last_redeem_error.cst_decode(),
10061                channel_opening_fees: self.channel_opening_fees.cst_decode(),
10062                confirmed_at: self.confirmed_at.cst_decode(),
10063            }
10064        }
10065    }
10066    impl CstDecode<crate::binding::Symbol> for wire_cst_symbol {
10067        // Codec=Cst (C-struct based), see doc to use other codecs
10068        fn cst_decode(self) -> crate::binding::Symbol {
10069            crate::binding::Symbol {
10070                grapheme: self.grapheme.cst_decode(),
10071                template: self.template.cst_decode(),
10072                rtl: self.rtl.cst_decode(),
10073                position: self.position.cst_decode(),
10074            }
10075        }
10076    }
10077    impl CstDecode<crate::models::TlvEntry> for wire_cst_tlv_entry {
10078        // Codec=Cst (C-struct based), see doc to use other codecs
10079        fn cst_decode(self) -> crate::models::TlvEntry {
10080            crate::models::TlvEntry {
10081                field_number: self.field_number.cst_decode(),
10082                value: self.value.cst_decode(),
10083            }
10084        }
10085    }
10086    impl CstDecode<crate::models::UnspentTransactionOutput> for wire_cst_unspent_transaction_output {
10087        // Codec=Cst (C-struct based), see doc to use other codecs
10088        fn cst_decode(self) -> crate::models::UnspentTransactionOutput {
10089            crate::models::UnspentTransactionOutput {
10090                txid: self.txid.cst_decode(),
10091                outnum: self.outnum.cst_decode(),
10092                amount_millisatoshi: self.amount_millisatoshi.cst_decode(),
10093                address: self.address.cst_decode(),
10094                reserved: self.reserved.cst_decode(),
10095            }
10096        }
10097    }
10098    impl CstDecode<crate::binding::UrlSuccessActionData> for wire_cst_url_success_action_data {
10099        // Codec=Cst (C-struct based), see doc to use other codecs
10100        fn cst_decode(self) -> crate::binding::UrlSuccessActionData {
10101            crate::binding::UrlSuccessActionData {
10102                description: self.description.cst_decode(),
10103                url: self.url.cst_decode(),
10104                matches_callback_domain: self.matches_callback_domain.cst_decode(),
10105            }
10106        }
10107    }
10108    impl NewWithNullPtr for wire_cst_aes_success_action_data_decrypted {
10109        fn new_with_null_ptr() -> Self {
10110            Self {
10111                description: core::ptr::null_mut(),
10112                plaintext: core::ptr::null_mut(),
10113            }
10114        }
10115    }
10116    impl Default for wire_cst_aes_success_action_data_decrypted {
10117        fn default() -> Self {
10118            Self::new_with_null_ptr()
10119        }
10120    }
10121    impl NewWithNullPtr for wire_cst_aes_success_action_data_result {
10122        fn new_with_null_ptr() -> Self {
10123            Self {
10124                tag: -1,
10125                kind: AesSuccessActionDataResultKind { nil__: () },
10126            }
10127        }
10128    }
10129    impl Default for wire_cst_aes_success_action_data_result {
10130        fn default() -> Self {
10131            Self::new_with_null_ptr()
10132        }
10133    }
10134    impl NewWithNullPtr for wire_cst_backup_failed_data {
10135        fn new_with_null_ptr() -> Self {
10136            Self {
10137                error: core::ptr::null_mut(),
10138            }
10139        }
10140    }
10141    impl Default for wire_cst_backup_failed_data {
10142        fn default() -> Self {
10143            Self::new_with_null_ptr()
10144        }
10145    }
10146    impl NewWithNullPtr for wire_cst_backup_status {
10147        fn new_with_null_ptr() -> Self {
10148            Self {
10149                backed_up: Default::default(),
10150                last_backup_time: core::ptr::null_mut(),
10151            }
10152        }
10153    }
10154    impl Default for wire_cst_backup_status {
10155        fn default() -> Self {
10156            Self::new_with_null_ptr()
10157        }
10158    }
10159    impl NewWithNullPtr for wire_cst_binding_event_listener {
10160        fn new_with_null_ptr() -> Self {
10161            Self {}
10162        }
10163    }
10164    impl Default for wire_cst_binding_event_listener {
10165        fn default() -> Self {
10166            Self::new_with_null_ptr()
10167        }
10168    }
10169    impl NewWithNullPtr for wire_cst_bitcoin_address_data {
10170        fn new_with_null_ptr() -> Self {
10171            Self {
10172                address: core::ptr::null_mut(),
10173                network: Default::default(),
10174                amount_sat: core::ptr::null_mut(),
10175                label: core::ptr::null_mut(),
10176                message: core::ptr::null_mut(),
10177            }
10178        }
10179    }
10180    impl Default for wire_cst_bitcoin_address_data {
10181        fn default() -> Self {
10182            Self::new_with_null_ptr()
10183        }
10184    }
10185    impl NewWithNullPtr for wire_cst_breez_event {
10186        fn new_with_null_ptr() -> Self {
10187            Self {
10188                tag: -1,
10189                kind: BreezEventKind { nil__: () },
10190            }
10191        }
10192    }
10193    impl Default for wire_cst_breez_event {
10194        fn default() -> Self {
10195            Self::new_with_null_ptr()
10196        }
10197    }
10198    impl NewWithNullPtr for wire_cst_buy_bitcoin_request {
10199        fn new_with_null_ptr() -> Self {
10200            Self {
10201                provider: Default::default(),
10202                opening_fee_params: core::ptr::null_mut(),
10203                redirect_url: core::ptr::null_mut(),
10204            }
10205        }
10206    }
10207    impl Default for wire_cst_buy_bitcoin_request {
10208        fn default() -> Self {
10209            Self::new_with_null_ptr()
10210        }
10211    }
10212    impl NewWithNullPtr for wire_cst_buy_bitcoin_response {
10213        fn new_with_null_ptr() -> Self {
10214            Self {
10215                url: core::ptr::null_mut(),
10216                opening_fee_params: core::ptr::null_mut(),
10217            }
10218        }
10219    }
10220    impl Default for wire_cst_buy_bitcoin_response {
10221        fn default() -> Self {
10222            Self::new_with_null_ptr()
10223        }
10224    }
10225    impl NewWithNullPtr for wire_cst_check_message_request {
10226        fn new_with_null_ptr() -> Self {
10227            Self {
10228                message: core::ptr::null_mut(),
10229                pubkey: core::ptr::null_mut(),
10230                signature: core::ptr::null_mut(),
10231            }
10232        }
10233    }
10234    impl Default for wire_cst_check_message_request {
10235        fn default() -> Self {
10236            Self::new_with_null_ptr()
10237        }
10238    }
10239    impl NewWithNullPtr for wire_cst_check_message_response {
10240        fn new_with_null_ptr() -> Self {
10241            Self {
10242                is_valid: Default::default(),
10243            }
10244        }
10245    }
10246    impl Default for wire_cst_check_message_response {
10247        fn default() -> Self {
10248            Self::new_with_null_ptr()
10249        }
10250    }
10251    impl NewWithNullPtr for wire_cst_closed_channel_payment_details {
10252        fn new_with_null_ptr() -> Self {
10253            Self {
10254                state: Default::default(),
10255                funding_txid: core::ptr::null_mut(),
10256                short_channel_id: core::ptr::null_mut(),
10257                closing_txid: core::ptr::null_mut(),
10258            }
10259        }
10260    }
10261    impl Default for wire_cst_closed_channel_payment_details {
10262        fn default() -> Self {
10263            Self::new_with_null_ptr()
10264        }
10265    }
10266    impl NewWithNullPtr for wire_cst_config {
10267        fn new_with_null_ptr() -> Self {
10268            Self {
10269                breezserver: core::ptr::null_mut(),
10270                chainnotifier_url: core::ptr::null_mut(),
10271                mempoolspace_url: core::ptr::null_mut(),
10272                working_dir: core::ptr::null_mut(),
10273                network: Default::default(),
10274                payment_timeout_sec: Default::default(),
10275                default_lsp_id: core::ptr::null_mut(),
10276                api_key: core::ptr::null_mut(),
10277                maxfee_percent: Default::default(),
10278                exemptfee_msat: Default::default(),
10279                node_config: Default::default(),
10280            }
10281        }
10282    }
10283    impl Default for wire_cst_config {
10284        fn default() -> Self {
10285            Self::new_with_null_ptr()
10286        }
10287    }
10288    impl NewWithNullPtr for wire_cst_configure_node_request {
10289        fn new_with_null_ptr() -> Self {
10290            Self {
10291                close_to_address: core::ptr::null_mut(),
10292            }
10293        }
10294    }
10295    impl Default for wire_cst_configure_node_request {
10296        fn default() -> Self {
10297            Self::new_with_null_ptr()
10298        }
10299    }
10300    impl NewWithNullPtr for wire_cst_connect_request {
10301        fn new_with_null_ptr() -> Self {
10302            Self {
10303                config: Default::default(),
10304                seed: core::ptr::null_mut(),
10305                restore_only: core::ptr::null_mut(),
10306            }
10307        }
10308    }
10309    impl Default for wire_cst_connect_request {
10310        fn default() -> Self {
10311            Self::new_with_null_ptr()
10312        }
10313    }
10314    impl NewWithNullPtr for wire_cst_currency_info {
10315        fn new_with_null_ptr() -> Self {
10316            Self {
10317                name: core::ptr::null_mut(),
10318                fraction_size: Default::default(),
10319                spacing: core::ptr::null_mut(),
10320                symbol: core::ptr::null_mut(),
10321                uniq_symbol: core::ptr::null_mut(),
10322                localized_name: core::ptr::null_mut(),
10323                locale_overrides: core::ptr::null_mut(),
10324            }
10325        }
10326    }
10327    impl Default for wire_cst_currency_info {
10328        fn default() -> Self {
10329            Self::new_with_null_ptr()
10330        }
10331    }
10332    impl NewWithNullPtr for wire_cst_fiat_currency {
10333        fn new_with_null_ptr() -> Self {
10334            Self {
10335                id: core::ptr::null_mut(),
10336                info: Default::default(),
10337            }
10338        }
10339    }
10340    impl Default for wire_cst_fiat_currency {
10341        fn default() -> Self {
10342            Self::new_with_null_ptr()
10343        }
10344    }
10345    impl NewWithNullPtr for wire_cst_greenlight_credentials {
10346        fn new_with_null_ptr() -> Self {
10347            Self {
10348                developer_key: core::ptr::null_mut(),
10349                developer_cert: core::ptr::null_mut(),
10350            }
10351        }
10352    }
10353    impl Default for wire_cst_greenlight_credentials {
10354        fn default() -> Self {
10355            Self::new_with_null_ptr()
10356        }
10357    }
10358    impl NewWithNullPtr for wire_cst_greenlight_device_credentials {
10359        fn new_with_null_ptr() -> Self {
10360            Self {
10361                device: core::ptr::null_mut(),
10362            }
10363        }
10364    }
10365    impl Default for wire_cst_greenlight_device_credentials {
10366        fn default() -> Self {
10367            Self::new_with_null_ptr()
10368        }
10369    }
10370    impl NewWithNullPtr for wire_cst_greenlight_node_config {
10371        fn new_with_null_ptr() -> Self {
10372            Self {
10373                partner_credentials: core::ptr::null_mut(),
10374                invite_code: core::ptr::null_mut(),
10375            }
10376        }
10377    }
10378    impl Default for wire_cst_greenlight_node_config {
10379        fn default() -> Self {
10380            Self::new_with_null_ptr()
10381        }
10382    }
10383    impl NewWithNullPtr for wire_cst_input_type {
10384        fn new_with_null_ptr() -> Self {
10385            Self {
10386                tag: -1,
10387                kind: InputTypeKind { nil__: () },
10388            }
10389        }
10390    }
10391    impl Default for wire_cst_input_type {
10392        fn default() -> Self {
10393            Self::new_with_null_ptr()
10394        }
10395    }
10396    impl NewWithNullPtr for wire_cst_invoice_paid_details {
10397        fn new_with_null_ptr() -> Self {
10398            Self {
10399                payment_hash: core::ptr::null_mut(),
10400                bolt11: core::ptr::null_mut(),
10401                payment: core::ptr::null_mut(),
10402            }
10403        }
10404    }
10405    impl Default for wire_cst_invoice_paid_details {
10406        fn default() -> Self {
10407            Self::new_with_null_ptr()
10408        }
10409    }
10410    impl NewWithNullPtr for wire_cst_list_payments_request {
10411        fn new_with_null_ptr() -> Self {
10412            Self {
10413                filters: core::ptr::null_mut(),
10414                metadata_filters: core::ptr::null_mut(),
10415                from_timestamp: core::ptr::null_mut(),
10416                to_timestamp: core::ptr::null_mut(),
10417                include_failures: core::ptr::null_mut(),
10418                offset: core::ptr::null_mut(),
10419                limit: core::ptr::null_mut(),
10420            }
10421        }
10422    }
10423    impl Default for wire_cst_list_payments_request {
10424        fn default() -> Self {
10425            Self::new_with_null_ptr()
10426        }
10427    }
10428    impl NewWithNullPtr for wire_cst_list_swaps_request {
10429        fn new_with_null_ptr() -> Self {
10430            Self {
10431                status: core::ptr::null_mut(),
10432                from_timestamp: core::ptr::null_mut(),
10433                to_timestamp: core::ptr::null_mut(),
10434                offset: core::ptr::null_mut(),
10435                limit: core::ptr::null_mut(),
10436            }
10437        }
10438    }
10439    impl Default for wire_cst_list_swaps_request {
10440        fn default() -> Self {
10441            Self::new_with_null_ptr()
10442        }
10443    }
10444    impl NewWithNullPtr for wire_cst_ln_invoice {
10445        fn new_with_null_ptr() -> Self {
10446            Self {
10447                bolt11: core::ptr::null_mut(),
10448                network: Default::default(),
10449                payee_pubkey: core::ptr::null_mut(),
10450                payment_hash: core::ptr::null_mut(),
10451                description: core::ptr::null_mut(),
10452                description_hash: core::ptr::null_mut(),
10453                amount_msat: core::ptr::null_mut(),
10454                timestamp: Default::default(),
10455                expiry: Default::default(),
10456                routing_hints: core::ptr::null_mut(),
10457                payment_secret: core::ptr::null_mut(),
10458                min_final_cltv_expiry_delta: Default::default(),
10459            }
10460        }
10461    }
10462    impl Default for wire_cst_ln_invoice {
10463        fn default() -> Self {
10464            Self::new_with_null_ptr()
10465        }
10466    }
10467    impl NewWithNullPtr for wire_cst_ln_payment_details {
10468        fn new_with_null_ptr() -> Self {
10469            Self {
10470                payment_hash: core::ptr::null_mut(),
10471                label: core::ptr::null_mut(),
10472                destination_pubkey: core::ptr::null_mut(),
10473                payment_preimage: core::ptr::null_mut(),
10474                keysend: Default::default(),
10475                bolt11: core::ptr::null_mut(),
10476                open_channel_bolt11: core::ptr::null_mut(),
10477                lnurl_success_action: core::ptr::null_mut(),
10478                lnurl_pay_domain: core::ptr::null_mut(),
10479                lnurl_pay_comment: core::ptr::null_mut(),
10480                ln_address: core::ptr::null_mut(),
10481                lnurl_metadata: core::ptr::null_mut(),
10482                lnurl_withdraw_endpoint: core::ptr::null_mut(),
10483                swap_info: core::ptr::null_mut(),
10484                reverse_swap_info: core::ptr::null_mut(),
10485                pending_expiration_block: core::ptr::null_mut(),
10486            }
10487        }
10488    }
10489    impl Default for wire_cst_ln_payment_details {
10490        fn default() -> Self {
10491            Self::new_with_null_ptr()
10492        }
10493    }
10494    impl NewWithNullPtr for wire_cst_ln_url_auth_request_data {
10495        fn new_with_null_ptr() -> Self {
10496            Self {
10497                k1: core::ptr::null_mut(),
10498                action: core::ptr::null_mut(),
10499                domain: core::ptr::null_mut(),
10500                url: core::ptr::null_mut(),
10501            }
10502        }
10503    }
10504    impl Default for wire_cst_ln_url_auth_request_data {
10505        fn default() -> Self {
10506            Self::new_with_null_ptr()
10507        }
10508    }
10509    impl NewWithNullPtr for wire_cst_ln_url_callback_status {
10510        fn new_with_null_ptr() -> Self {
10511            Self {
10512                tag: -1,
10513                kind: LnUrlCallbackStatusKind { nil__: () },
10514            }
10515        }
10516    }
10517    impl Default for wire_cst_ln_url_callback_status {
10518        fn default() -> Self {
10519            Self::new_with_null_ptr()
10520        }
10521    }
10522    impl NewWithNullPtr for wire_cst_ln_url_error_data {
10523        fn new_with_null_ptr() -> Self {
10524            Self {
10525                reason: core::ptr::null_mut(),
10526            }
10527        }
10528    }
10529    impl Default for wire_cst_ln_url_error_data {
10530        fn default() -> Self {
10531            Self::new_with_null_ptr()
10532        }
10533    }
10534    impl NewWithNullPtr for wire_cst_ln_url_pay_error_data {
10535        fn new_with_null_ptr() -> Self {
10536            Self {
10537                payment_hash: core::ptr::null_mut(),
10538                reason: core::ptr::null_mut(),
10539            }
10540        }
10541    }
10542    impl Default for wire_cst_ln_url_pay_error_data {
10543        fn default() -> Self {
10544            Self::new_with_null_ptr()
10545        }
10546    }
10547    impl NewWithNullPtr for wire_cst_ln_url_pay_request {
10548        fn new_with_null_ptr() -> Self {
10549            Self {
10550                data: Default::default(),
10551                amount_msat: Default::default(),
10552                use_trampoline: Default::default(),
10553                comment: core::ptr::null_mut(),
10554                payment_label: core::ptr::null_mut(),
10555                validate_success_action_url: core::ptr::null_mut(),
10556            }
10557        }
10558    }
10559    impl Default for wire_cst_ln_url_pay_request {
10560        fn default() -> Self {
10561            Self::new_with_null_ptr()
10562        }
10563    }
10564    impl NewWithNullPtr for wire_cst_ln_url_pay_request_data {
10565        fn new_with_null_ptr() -> Self {
10566            Self {
10567                callback: core::ptr::null_mut(),
10568                min_sendable: Default::default(),
10569                max_sendable: Default::default(),
10570                metadata_str: core::ptr::null_mut(),
10571                comment_allowed: Default::default(),
10572                domain: core::ptr::null_mut(),
10573                allows_nostr: Default::default(),
10574                nostr_pubkey: core::ptr::null_mut(),
10575                ln_address: core::ptr::null_mut(),
10576            }
10577        }
10578    }
10579    impl Default for wire_cst_ln_url_pay_request_data {
10580        fn default() -> Self {
10581            Self::new_with_null_ptr()
10582        }
10583    }
10584    impl NewWithNullPtr for wire_cst_ln_url_pay_result {
10585        fn new_with_null_ptr() -> Self {
10586            Self {
10587                tag: -1,
10588                kind: LnUrlPayResultKind { nil__: () },
10589            }
10590        }
10591    }
10592    impl Default for wire_cst_ln_url_pay_result {
10593        fn default() -> Self {
10594            Self::new_with_null_ptr()
10595        }
10596    }
10597    impl NewWithNullPtr for wire_cst_ln_url_pay_success_data {
10598        fn new_with_null_ptr() -> Self {
10599            Self {
10600                payment: Default::default(),
10601                success_action: core::ptr::null_mut(),
10602            }
10603        }
10604    }
10605    impl Default for wire_cst_ln_url_pay_success_data {
10606        fn default() -> Self {
10607            Self::new_with_null_ptr()
10608        }
10609    }
10610    impl NewWithNullPtr for wire_cst_ln_url_withdraw_request {
10611        fn new_with_null_ptr() -> Self {
10612            Self {
10613                data: Default::default(),
10614                amount_msat: Default::default(),
10615                description: core::ptr::null_mut(),
10616            }
10617        }
10618    }
10619    impl Default for wire_cst_ln_url_withdraw_request {
10620        fn default() -> Self {
10621            Self::new_with_null_ptr()
10622        }
10623    }
10624    impl NewWithNullPtr for wire_cst_ln_url_withdraw_request_data {
10625        fn new_with_null_ptr() -> Self {
10626            Self {
10627                callback: core::ptr::null_mut(),
10628                k1: core::ptr::null_mut(),
10629                default_description: core::ptr::null_mut(),
10630                min_withdrawable: Default::default(),
10631                max_withdrawable: Default::default(),
10632            }
10633        }
10634    }
10635    impl Default for wire_cst_ln_url_withdraw_request_data {
10636        fn default() -> Self {
10637            Self::new_with_null_ptr()
10638        }
10639    }
10640    impl NewWithNullPtr for wire_cst_ln_url_withdraw_result {
10641        fn new_with_null_ptr() -> Self {
10642            Self {
10643                tag: -1,
10644                kind: LnUrlWithdrawResultKind { nil__: () },
10645            }
10646        }
10647    }
10648    impl Default for wire_cst_ln_url_withdraw_result {
10649        fn default() -> Self {
10650            Self::new_with_null_ptr()
10651        }
10652    }
10653    impl NewWithNullPtr for wire_cst_ln_url_withdraw_success_data {
10654        fn new_with_null_ptr() -> Self {
10655            Self {
10656                invoice: Default::default(),
10657            }
10658        }
10659    }
10660    impl Default for wire_cst_ln_url_withdraw_success_data {
10661        fn default() -> Self {
10662            Self::new_with_null_ptr()
10663        }
10664    }
10665    impl NewWithNullPtr for wire_cst_locale_overrides {
10666        fn new_with_null_ptr() -> Self {
10667            Self {
10668                locale: core::ptr::null_mut(),
10669                spacing: core::ptr::null_mut(),
10670                symbol: Default::default(),
10671            }
10672        }
10673    }
10674    impl Default for wire_cst_locale_overrides {
10675        fn default() -> Self {
10676            Self::new_with_null_ptr()
10677        }
10678    }
10679    impl NewWithNullPtr for wire_cst_localized_name {
10680        fn new_with_null_ptr() -> Self {
10681            Self {
10682                locale: core::ptr::null_mut(),
10683                name: core::ptr::null_mut(),
10684            }
10685        }
10686    }
10687    impl Default for wire_cst_localized_name {
10688        fn default() -> Self {
10689            Self::new_with_null_ptr()
10690        }
10691    }
10692    impl NewWithNullPtr for wire_cst_log_entry {
10693        fn new_with_null_ptr() -> Self {
10694            Self {
10695                line: core::ptr::null_mut(),
10696                level: core::ptr::null_mut(),
10697            }
10698        }
10699    }
10700    impl Default for wire_cst_log_entry {
10701        fn default() -> Self {
10702            Self::new_with_null_ptr()
10703        }
10704    }
10705    impl NewWithNullPtr for wire_cst_lsp_information {
10706        fn new_with_null_ptr() -> Self {
10707            Self {
10708                id: core::ptr::null_mut(),
10709                name: core::ptr::null_mut(),
10710                widget_url: core::ptr::null_mut(),
10711                pubkey: core::ptr::null_mut(),
10712                host: core::ptr::null_mut(),
10713                base_fee_msat: Default::default(),
10714                fee_rate: Default::default(),
10715                time_lock_delta: Default::default(),
10716                min_htlc_msat: Default::default(),
10717                lsp_pubkey: core::ptr::null_mut(),
10718                opening_fee_params_list: Default::default(),
10719            }
10720        }
10721    }
10722    impl Default for wire_cst_lsp_information {
10723        fn default() -> Self {
10724            Self::new_with_null_ptr()
10725        }
10726    }
10727    impl NewWithNullPtr for wire_cst_message_success_action_data {
10728        fn new_with_null_ptr() -> Self {
10729            Self {
10730                message: core::ptr::null_mut(),
10731            }
10732        }
10733    }
10734    impl Default for wire_cst_message_success_action_data {
10735        fn default() -> Self {
10736            Self::new_with_null_ptr()
10737        }
10738    }
10739    impl NewWithNullPtr for wire_cst_metadata_filter {
10740        fn new_with_null_ptr() -> Self {
10741            Self {
10742                json_path: core::ptr::null_mut(),
10743                json_value: core::ptr::null_mut(),
10744            }
10745        }
10746    }
10747    impl Default for wire_cst_metadata_filter {
10748        fn default() -> Self {
10749            Self::new_with_null_ptr()
10750        }
10751    }
10752    impl NewWithNullPtr for wire_cst_node_config {
10753        fn new_with_null_ptr() -> Self {
10754            Self {
10755                tag: -1,
10756                kind: NodeConfigKind { nil__: () },
10757            }
10758        }
10759    }
10760    impl Default for wire_cst_node_config {
10761        fn default() -> Self {
10762            Self::new_with_null_ptr()
10763        }
10764    }
10765    impl NewWithNullPtr for wire_cst_node_credentials {
10766        fn new_with_null_ptr() -> Self {
10767            Self {
10768                tag: -1,
10769                kind: NodeCredentialsKind { nil__: () },
10770            }
10771        }
10772    }
10773    impl Default for wire_cst_node_credentials {
10774        fn default() -> Self {
10775            Self::new_with_null_ptr()
10776        }
10777    }
10778    impl NewWithNullPtr for wire_cst_node_state {
10779        fn new_with_null_ptr() -> Self {
10780            Self {
10781                id: core::ptr::null_mut(),
10782                block_height: Default::default(),
10783                channels_balance_msat: Default::default(),
10784                onchain_balance_msat: Default::default(),
10785                pending_onchain_balance_msat: Default::default(),
10786                utxos: core::ptr::null_mut(),
10787                max_payable_msat: Default::default(),
10788                max_receivable_msat: Default::default(),
10789                max_single_payment_amount_msat: Default::default(),
10790                max_chan_reserve_msats: Default::default(),
10791                connected_peers: core::ptr::null_mut(),
10792                max_receivable_single_payment_amount_msat: Default::default(),
10793                total_inbound_liquidity_msats: Default::default(),
10794            }
10795        }
10796    }
10797    impl Default for wire_cst_node_state {
10798        fn default() -> Self {
10799            Self::new_with_null_ptr()
10800        }
10801    }
10802    impl NewWithNullPtr for wire_cst_onchain_payment_limits_response {
10803        fn new_with_null_ptr() -> Self {
10804            Self {
10805                min_sat: Default::default(),
10806                max_sat: Default::default(),
10807                max_payable_sat: Default::default(),
10808            }
10809        }
10810    }
10811    impl Default for wire_cst_onchain_payment_limits_response {
10812        fn default() -> Self {
10813            Self::new_with_null_ptr()
10814        }
10815    }
10816    impl NewWithNullPtr for wire_cst_open_channel_fee_request {
10817        fn new_with_null_ptr() -> Self {
10818            Self {
10819                amount_msat: core::ptr::null_mut(),
10820                expiry: core::ptr::null_mut(),
10821            }
10822        }
10823    }
10824    impl Default for wire_cst_open_channel_fee_request {
10825        fn default() -> Self {
10826            Self::new_with_null_ptr()
10827        }
10828    }
10829    impl NewWithNullPtr for wire_cst_open_channel_fee_response {
10830        fn new_with_null_ptr() -> Self {
10831            Self {
10832                fee_msat: core::ptr::null_mut(),
10833                fee_params: Default::default(),
10834            }
10835        }
10836    }
10837    impl Default for wire_cst_open_channel_fee_response {
10838        fn default() -> Self {
10839            Self::new_with_null_ptr()
10840        }
10841    }
10842    impl NewWithNullPtr for wire_cst_opening_fee_params {
10843        fn new_with_null_ptr() -> Self {
10844            Self {
10845                min_msat: Default::default(),
10846                proportional: Default::default(),
10847                valid_until: core::ptr::null_mut(),
10848                max_idle_time: Default::default(),
10849                max_client_to_self_delay: Default::default(),
10850                promise: core::ptr::null_mut(),
10851            }
10852        }
10853    }
10854    impl Default for wire_cst_opening_fee_params {
10855        fn default() -> Self {
10856            Self::new_with_null_ptr()
10857        }
10858    }
10859    impl NewWithNullPtr for wire_cst_opening_fee_params_menu {
10860        fn new_with_null_ptr() -> Self {
10861            Self {
10862                values: core::ptr::null_mut(),
10863            }
10864        }
10865    }
10866    impl Default for wire_cst_opening_fee_params_menu {
10867        fn default() -> Self {
10868            Self::new_with_null_ptr()
10869        }
10870    }
10871    impl NewWithNullPtr for wire_cst_pay_onchain_request {
10872        fn new_with_null_ptr() -> Self {
10873            Self {
10874                recipient_address: core::ptr::null_mut(),
10875                prepare_res: Default::default(),
10876            }
10877        }
10878    }
10879    impl Default for wire_cst_pay_onchain_request {
10880        fn default() -> Self {
10881            Self::new_with_null_ptr()
10882        }
10883    }
10884    impl NewWithNullPtr for wire_cst_pay_onchain_response {
10885        fn new_with_null_ptr() -> Self {
10886            Self {
10887                reverse_swap_info: Default::default(),
10888            }
10889        }
10890    }
10891    impl Default for wire_cst_pay_onchain_response {
10892        fn default() -> Self {
10893            Self::new_with_null_ptr()
10894        }
10895    }
10896    impl NewWithNullPtr for wire_cst_payment {
10897        fn new_with_null_ptr() -> Self {
10898            Self {
10899                id: core::ptr::null_mut(),
10900                payment_type: Default::default(),
10901                payment_time: Default::default(),
10902                amount_msat: Default::default(),
10903                fee_msat: Default::default(),
10904                status: Default::default(),
10905                error: core::ptr::null_mut(),
10906                description: core::ptr::null_mut(),
10907                details: Default::default(),
10908                metadata: core::ptr::null_mut(),
10909            }
10910        }
10911    }
10912    impl Default for wire_cst_payment {
10913        fn default() -> Self {
10914            Self::new_with_null_ptr()
10915        }
10916    }
10917    impl NewWithNullPtr for wire_cst_payment_details {
10918        fn new_with_null_ptr() -> Self {
10919            Self {
10920                tag: -1,
10921                kind: PaymentDetailsKind { nil__: () },
10922            }
10923        }
10924    }
10925    impl Default for wire_cst_payment_details {
10926        fn default() -> Self {
10927            Self::new_with_null_ptr()
10928        }
10929    }
10930    impl NewWithNullPtr for wire_cst_payment_failed_data {
10931        fn new_with_null_ptr() -> Self {
10932            Self {
10933                error: core::ptr::null_mut(),
10934                node_id: core::ptr::null_mut(),
10935                invoice: core::ptr::null_mut(),
10936                label: core::ptr::null_mut(),
10937            }
10938        }
10939    }
10940    impl Default for wire_cst_payment_failed_data {
10941        fn default() -> Self {
10942            Self::new_with_null_ptr()
10943        }
10944    }
10945    impl NewWithNullPtr for wire_cst_prepare_onchain_payment_request {
10946        fn new_with_null_ptr() -> Self {
10947            Self {
10948                amount_sat: Default::default(),
10949                amount_type: Default::default(),
10950                claim_tx_feerate: Default::default(),
10951            }
10952        }
10953    }
10954    impl Default for wire_cst_prepare_onchain_payment_request {
10955        fn default() -> Self {
10956            Self::new_with_null_ptr()
10957        }
10958    }
10959    impl NewWithNullPtr for wire_cst_prepare_onchain_payment_response {
10960        fn new_with_null_ptr() -> Self {
10961            Self {
10962                fees_hash: core::ptr::null_mut(),
10963                fees_percentage: Default::default(),
10964                fees_lockup: Default::default(),
10965                fees_claim: Default::default(),
10966                sender_amount_sat: Default::default(),
10967                recipient_amount_sat: Default::default(),
10968                total_fees: Default::default(),
10969            }
10970        }
10971    }
10972    impl Default for wire_cst_prepare_onchain_payment_response {
10973        fn default() -> Self {
10974            Self::new_with_null_ptr()
10975        }
10976    }
10977    impl NewWithNullPtr for wire_cst_prepare_redeem_onchain_funds_request {
10978        fn new_with_null_ptr() -> Self {
10979            Self {
10980                to_address: core::ptr::null_mut(),
10981                sat_per_vbyte: Default::default(),
10982            }
10983        }
10984    }
10985    impl Default for wire_cst_prepare_redeem_onchain_funds_request {
10986        fn default() -> Self {
10987            Self::new_with_null_ptr()
10988        }
10989    }
10990    impl NewWithNullPtr for wire_cst_prepare_redeem_onchain_funds_response {
10991        fn new_with_null_ptr() -> Self {
10992            Self {
10993                tx_weight: Default::default(),
10994                tx_fee_sat: Default::default(),
10995            }
10996        }
10997    }
10998    impl Default for wire_cst_prepare_redeem_onchain_funds_response {
10999        fn default() -> Self {
11000            Self::new_with_null_ptr()
11001        }
11002    }
11003    impl NewWithNullPtr for wire_cst_prepare_refund_request {
11004        fn new_with_null_ptr() -> Self {
11005            Self {
11006                swap_address: core::ptr::null_mut(),
11007                to_address: core::ptr::null_mut(),
11008                sat_per_vbyte: Default::default(),
11009                unilateral: core::ptr::null_mut(),
11010            }
11011        }
11012    }
11013    impl Default for wire_cst_prepare_refund_request {
11014        fn default() -> Self {
11015            Self::new_with_null_ptr()
11016        }
11017    }
11018    impl NewWithNullPtr for wire_cst_prepare_refund_response {
11019        fn new_with_null_ptr() -> Self {
11020            Self {
11021                refund_tx_weight: Default::default(),
11022                refund_tx_fee_sat: Default::default(),
11023            }
11024        }
11025    }
11026    impl Default for wire_cst_prepare_refund_response {
11027        fn default() -> Self {
11028            Self::new_with_null_ptr()
11029        }
11030    }
11031    impl NewWithNullPtr for wire_cst_rate {
11032        fn new_with_null_ptr() -> Self {
11033            Self {
11034                coin: core::ptr::null_mut(),
11035                value: Default::default(),
11036            }
11037        }
11038    }
11039    impl Default for wire_cst_rate {
11040        fn default() -> Self {
11041            Self::new_with_null_ptr()
11042        }
11043    }
11044    impl NewWithNullPtr for wire_cst_receive_onchain_request {
11045        fn new_with_null_ptr() -> Self {
11046            Self {
11047                opening_fee_params: core::ptr::null_mut(),
11048            }
11049        }
11050    }
11051    impl Default for wire_cst_receive_onchain_request {
11052        fn default() -> Self {
11053            Self::new_with_null_ptr()
11054        }
11055    }
11056    impl NewWithNullPtr for wire_cst_receive_payment_request {
11057        fn new_with_null_ptr() -> Self {
11058            Self {
11059                amount_msat: Default::default(),
11060                description: core::ptr::null_mut(),
11061                preimage: core::ptr::null_mut(),
11062                opening_fee_params: core::ptr::null_mut(),
11063                use_description_hash: core::ptr::null_mut(),
11064                expiry: core::ptr::null_mut(),
11065                cltv: core::ptr::null_mut(),
11066            }
11067        }
11068    }
11069    impl Default for wire_cst_receive_payment_request {
11070        fn default() -> Self {
11071            Self::new_with_null_ptr()
11072        }
11073    }
11074    impl NewWithNullPtr for wire_cst_receive_payment_response {
11075        fn new_with_null_ptr() -> Self {
11076            Self {
11077                ln_invoice: Default::default(),
11078                opening_fee_params: core::ptr::null_mut(),
11079                opening_fee_msat: core::ptr::null_mut(),
11080            }
11081        }
11082    }
11083    impl Default for wire_cst_receive_payment_response {
11084        fn default() -> Self {
11085            Self::new_with_null_ptr()
11086        }
11087    }
11088    impl NewWithNullPtr for wire_cst_recommended_fees {
11089        fn new_with_null_ptr() -> Self {
11090            Self {
11091                fastest_fee: Default::default(),
11092                half_hour_fee: Default::default(),
11093                hour_fee: Default::default(),
11094                economy_fee: Default::default(),
11095                minimum_fee: Default::default(),
11096            }
11097        }
11098    }
11099    impl Default for wire_cst_recommended_fees {
11100        fn default() -> Self {
11101            Self::new_with_null_ptr()
11102        }
11103    }
11104    impl NewWithNullPtr for wire_cst_redeem_onchain_funds_request {
11105        fn new_with_null_ptr() -> Self {
11106            Self {
11107                to_address: core::ptr::null_mut(),
11108                sat_per_vbyte: Default::default(),
11109            }
11110        }
11111    }
11112    impl Default for wire_cst_redeem_onchain_funds_request {
11113        fn default() -> Self {
11114            Self::new_with_null_ptr()
11115        }
11116    }
11117    impl NewWithNullPtr for wire_cst_redeem_onchain_funds_response {
11118        fn new_with_null_ptr() -> Self {
11119            Self {
11120                txid: core::ptr::null_mut(),
11121            }
11122        }
11123    }
11124    impl Default for wire_cst_redeem_onchain_funds_response {
11125        fn default() -> Self {
11126            Self::new_with_null_ptr()
11127        }
11128    }
11129    impl NewWithNullPtr for wire_cst_refund_request {
11130        fn new_with_null_ptr() -> Self {
11131            Self {
11132                swap_address: core::ptr::null_mut(),
11133                to_address: core::ptr::null_mut(),
11134                sat_per_vbyte: Default::default(),
11135                unilateral: core::ptr::null_mut(),
11136            }
11137        }
11138    }
11139    impl Default for wire_cst_refund_request {
11140        fn default() -> Self {
11141            Self::new_with_null_ptr()
11142        }
11143    }
11144    impl NewWithNullPtr for wire_cst_refund_response {
11145        fn new_with_null_ptr() -> Self {
11146            Self {
11147                refund_tx_id: core::ptr::null_mut(),
11148            }
11149        }
11150    }
11151    impl Default for wire_cst_refund_response {
11152        fn default() -> Self {
11153            Self::new_with_null_ptr()
11154        }
11155    }
11156    impl NewWithNullPtr for wire_cst_report_issue_request {
11157        fn new_with_null_ptr() -> Self {
11158            Self {
11159                tag: -1,
11160                kind: ReportIssueRequestKind { nil__: () },
11161            }
11162        }
11163    }
11164    impl Default for wire_cst_report_issue_request {
11165        fn default() -> Self {
11166            Self::new_with_null_ptr()
11167        }
11168    }
11169    impl NewWithNullPtr for wire_cst_report_payment_failure_details {
11170        fn new_with_null_ptr() -> Self {
11171            Self {
11172                payment_hash: core::ptr::null_mut(),
11173                comment: core::ptr::null_mut(),
11174            }
11175        }
11176    }
11177    impl Default for wire_cst_report_payment_failure_details {
11178        fn default() -> Self {
11179            Self::new_with_null_ptr()
11180        }
11181    }
11182    impl NewWithNullPtr for wire_cst_reverse_swap_fees_request {
11183        fn new_with_null_ptr() -> Self {
11184            Self {
11185                send_amount_sat: core::ptr::null_mut(),
11186                claim_tx_feerate: core::ptr::null_mut(),
11187            }
11188        }
11189    }
11190    impl Default for wire_cst_reverse_swap_fees_request {
11191        fn default() -> Self {
11192            Self::new_with_null_ptr()
11193        }
11194    }
11195    impl NewWithNullPtr for wire_cst_reverse_swap_info {
11196        fn new_with_null_ptr() -> Self {
11197            Self {
11198                id: core::ptr::null_mut(),
11199                claim_pubkey: core::ptr::null_mut(),
11200                lockup_txid: core::ptr::null_mut(),
11201                claim_txid: core::ptr::null_mut(),
11202                onchain_amount_sat: Default::default(),
11203                status: Default::default(),
11204            }
11205        }
11206    }
11207    impl Default for wire_cst_reverse_swap_info {
11208        fn default() -> Self {
11209            Self::new_with_null_ptr()
11210        }
11211    }
11212    impl NewWithNullPtr for wire_cst_reverse_swap_pair_info {
11213        fn new_with_null_ptr() -> Self {
11214            Self {
11215                min: Default::default(),
11216                max: Default::default(),
11217                fees_hash: core::ptr::null_mut(),
11218                fees_percentage: Default::default(),
11219                fees_lockup: Default::default(),
11220                fees_claim: Default::default(),
11221                total_fees: core::ptr::null_mut(),
11222            }
11223        }
11224    }
11225    impl Default for wire_cst_reverse_swap_pair_info {
11226        fn default() -> Self {
11227            Self::new_with_null_ptr()
11228        }
11229    }
11230    impl NewWithNullPtr for wire_cst_route_hint {
11231        fn new_with_null_ptr() -> Self {
11232            Self {
11233                hops: core::ptr::null_mut(),
11234            }
11235        }
11236    }
11237    impl Default for wire_cst_route_hint {
11238        fn default() -> Self {
11239            Self::new_with_null_ptr()
11240        }
11241    }
11242    impl NewWithNullPtr for wire_cst_route_hint_hop {
11243        fn new_with_null_ptr() -> Self {
11244            Self {
11245                src_node_id: core::ptr::null_mut(),
11246                short_channel_id: core::ptr::null_mut(),
11247                fees_base_msat: Default::default(),
11248                fees_proportional_millionths: Default::default(),
11249                cltv_expiry_delta: Default::default(),
11250                htlc_minimum_msat: core::ptr::null_mut(),
11251                htlc_maximum_msat: core::ptr::null_mut(),
11252            }
11253        }
11254    }
11255    impl Default for wire_cst_route_hint_hop {
11256        fn default() -> Self {
11257            Self::new_with_null_ptr()
11258        }
11259    }
11260    impl NewWithNullPtr for wire_cst_send_payment_request {
11261        fn new_with_null_ptr() -> Self {
11262            Self {
11263                bolt11: core::ptr::null_mut(),
11264                use_trampoline: Default::default(),
11265                amount_msat: core::ptr::null_mut(),
11266                label: core::ptr::null_mut(),
11267            }
11268        }
11269    }
11270    impl Default for wire_cst_send_payment_request {
11271        fn default() -> Self {
11272            Self::new_with_null_ptr()
11273        }
11274    }
11275    impl NewWithNullPtr for wire_cst_send_payment_response {
11276        fn new_with_null_ptr() -> Self {
11277            Self {
11278                payment: Default::default(),
11279            }
11280        }
11281    }
11282    impl Default for wire_cst_send_payment_response {
11283        fn default() -> Self {
11284            Self::new_with_null_ptr()
11285        }
11286    }
11287    impl NewWithNullPtr for wire_cst_send_spontaneous_payment_request {
11288        fn new_with_null_ptr() -> Self {
11289            Self {
11290                node_id: core::ptr::null_mut(),
11291                amount_msat: Default::default(),
11292                extra_tlvs: core::ptr::null_mut(),
11293                label: core::ptr::null_mut(),
11294            }
11295        }
11296    }
11297    impl Default for wire_cst_send_spontaneous_payment_request {
11298        fn default() -> Self {
11299            Self::new_with_null_ptr()
11300        }
11301    }
11302    impl NewWithNullPtr for wire_cst_service_health_check_response {
11303        fn new_with_null_ptr() -> Self {
11304            Self {
11305                status: Default::default(),
11306            }
11307        }
11308    }
11309    impl Default for wire_cst_service_health_check_response {
11310        fn default() -> Self {
11311            Self::new_with_null_ptr()
11312        }
11313    }
11314    impl NewWithNullPtr for wire_cst_sign_message_request {
11315        fn new_with_null_ptr() -> Self {
11316            Self {
11317                message: core::ptr::null_mut(),
11318            }
11319        }
11320    }
11321    impl Default for wire_cst_sign_message_request {
11322        fn default() -> Self {
11323            Self::new_with_null_ptr()
11324        }
11325    }
11326    impl NewWithNullPtr for wire_cst_sign_message_response {
11327        fn new_with_null_ptr() -> Self {
11328            Self {
11329                signature: core::ptr::null_mut(),
11330            }
11331        }
11332    }
11333    impl Default for wire_cst_sign_message_response {
11334        fn default() -> Self {
11335            Self::new_with_null_ptr()
11336        }
11337    }
11338    impl NewWithNullPtr for wire_cst_static_backup_request {
11339        fn new_with_null_ptr() -> Self {
11340            Self {
11341                working_dir: core::ptr::null_mut(),
11342            }
11343        }
11344    }
11345    impl Default for wire_cst_static_backup_request {
11346        fn default() -> Self {
11347            Self::new_with_null_ptr()
11348        }
11349    }
11350    impl NewWithNullPtr for wire_cst_static_backup_response {
11351        fn new_with_null_ptr() -> Self {
11352            Self {
11353                backup: core::ptr::null_mut(),
11354            }
11355        }
11356    }
11357    impl Default for wire_cst_static_backup_response {
11358        fn default() -> Self {
11359            Self::new_with_null_ptr()
11360        }
11361    }
11362    impl NewWithNullPtr for wire_cst_success_action_processed {
11363        fn new_with_null_ptr() -> Self {
11364            Self {
11365                tag: -1,
11366                kind: SuccessActionProcessedKind { nil__: () },
11367            }
11368        }
11369    }
11370    impl Default for wire_cst_success_action_processed {
11371        fn default() -> Self {
11372            Self::new_with_null_ptr()
11373        }
11374    }
11375    impl NewWithNullPtr for wire_cst_swap_info {
11376        fn new_with_null_ptr() -> Self {
11377            Self {
11378                bitcoin_address: core::ptr::null_mut(),
11379                created_at: Default::default(),
11380                lock_height: Default::default(),
11381                payment_hash: core::ptr::null_mut(),
11382                preimage: core::ptr::null_mut(),
11383                private_key: core::ptr::null_mut(),
11384                public_key: core::ptr::null_mut(),
11385                swapper_public_key: core::ptr::null_mut(),
11386                script: core::ptr::null_mut(),
11387                bolt11: core::ptr::null_mut(),
11388                paid_msat: Default::default(),
11389                total_incoming_txs: Default::default(),
11390                confirmed_sats: Default::default(),
11391                unconfirmed_sats: Default::default(),
11392                status: Default::default(),
11393                refund_tx_ids: core::ptr::null_mut(),
11394                unconfirmed_tx_ids: core::ptr::null_mut(),
11395                confirmed_tx_ids: core::ptr::null_mut(),
11396                min_allowed_deposit: Default::default(),
11397                max_allowed_deposit: Default::default(),
11398                max_swapper_payable: Default::default(),
11399                last_redeem_error: core::ptr::null_mut(),
11400                channel_opening_fees: core::ptr::null_mut(),
11401                confirmed_at: core::ptr::null_mut(),
11402            }
11403        }
11404    }
11405    impl Default for wire_cst_swap_info {
11406        fn default() -> Self {
11407            Self::new_with_null_ptr()
11408        }
11409    }
11410    impl NewWithNullPtr for wire_cst_symbol {
11411        fn new_with_null_ptr() -> Self {
11412            Self {
11413                grapheme: core::ptr::null_mut(),
11414                template: core::ptr::null_mut(),
11415                rtl: core::ptr::null_mut(),
11416                position: core::ptr::null_mut(),
11417            }
11418        }
11419    }
11420    impl Default for wire_cst_symbol {
11421        fn default() -> Self {
11422            Self::new_with_null_ptr()
11423        }
11424    }
11425    impl NewWithNullPtr for wire_cst_tlv_entry {
11426        fn new_with_null_ptr() -> Self {
11427            Self {
11428                field_number: Default::default(),
11429                value: core::ptr::null_mut(),
11430            }
11431        }
11432    }
11433    impl Default for wire_cst_tlv_entry {
11434        fn default() -> Self {
11435            Self::new_with_null_ptr()
11436        }
11437    }
11438    impl NewWithNullPtr for wire_cst_unspent_transaction_output {
11439        fn new_with_null_ptr() -> Self {
11440            Self {
11441                txid: core::ptr::null_mut(),
11442                outnum: Default::default(),
11443                amount_millisatoshi: Default::default(),
11444                address: core::ptr::null_mut(),
11445                reserved: Default::default(),
11446            }
11447        }
11448    }
11449    impl Default for wire_cst_unspent_transaction_output {
11450        fn default() -> Self {
11451            Self::new_with_null_ptr()
11452        }
11453    }
11454    impl NewWithNullPtr for wire_cst_url_success_action_data {
11455        fn new_with_null_ptr() -> Self {
11456            Self {
11457                description: core::ptr::null_mut(),
11458                url: core::ptr::null_mut(),
11459                matches_callback_domain: Default::default(),
11460            }
11461        }
11462    }
11463    impl Default for wire_cst_url_success_action_data {
11464        fn default() -> Self {
11465            Self::new_with_null_ptr()
11466        }
11467    }
11468
11469    #[unsafe(no_mangle)]
11470    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__backup(port_: i64) {
11471        wire__crate__binding__backup_impl(port_)
11472    }
11473
11474    #[unsafe(no_mangle)]
11475    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__backup_status(port_: i64) {
11476        wire__crate__binding__backup_status_impl(port_)
11477    }
11478
11479    #[unsafe(no_mangle)]
11480    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__binding_event_listener_on_event(
11481        port_: i64,
11482        that: *mut wire_cst_binding_event_listener,
11483        e: *mut wire_cst_breez_event,
11484    ) {
11485        wire__crate__binding__binding_event_listener_on_event_impl(port_, that, e)
11486    }
11487
11488    #[unsafe(no_mangle)]
11489    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__breez_events_stream(
11490        port_: i64,
11491        s: *mut wire_cst_list_prim_u_8_strict,
11492    ) {
11493        wire__crate__binding__breez_events_stream_impl(port_, s)
11494    }
11495
11496    #[unsafe(no_mangle)]
11497    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__breez_log_stream(
11498        port_: i64,
11499        s: *mut wire_cst_list_prim_u_8_strict,
11500    ) {
11501        wire__crate__binding__breez_log_stream_impl(port_, s)
11502    }
11503
11504    #[unsafe(no_mangle)]
11505    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__buy_bitcoin(
11506        port_: i64,
11507        req: *mut wire_cst_buy_bitcoin_request,
11508    ) {
11509        wire__crate__binding__buy_bitcoin_impl(port_, req)
11510    }
11511
11512    #[unsafe(no_mangle)]
11513    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__check_message(
11514        port_: i64,
11515        req: *mut wire_cst_check_message_request,
11516    ) {
11517        wire__crate__binding__check_message_impl(port_, req)
11518    }
11519
11520    #[unsafe(no_mangle)]
11521    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__claim_reverse_swap(
11522        port_: i64,
11523        lockup_address: *mut wire_cst_list_prim_u_8_strict,
11524    ) {
11525        wire__crate__binding__claim_reverse_swap_impl(port_, lockup_address)
11526    }
11527
11528    #[unsafe(no_mangle)]
11529    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__close_lsp_channels(port_: i64) {
11530        wire__crate__binding__close_lsp_channels_impl(port_)
11531    }
11532
11533    #[unsafe(no_mangle)]
11534    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__configure_node(
11535        port_: i64,
11536        req: *mut wire_cst_configure_node_request,
11537    ) {
11538        wire__crate__binding__configure_node_impl(port_, req)
11539    }
11540
11541    #[unsafe(no_mangle)]
11542    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__connect(
11543        port_: i64,
11544        req: *mut wire_cst_connect_request,
11545    ) {
11546        wire__crate__binding__connect_impl(port_, req)
11547    }
11548
11549    #[unsafe(no_mangle)]
11550    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__connect_lsp(
11551        port_: i64,
11552        lsp_id: *mut wire_cst_list_prim_u_8_strict,
11553    ) {
11554        wire__crate__binding__connect_lsp_impl(port_, lsp_id)
11555    }
11556
11557    #[unsafe(no_mangle)]
11558    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__default_config(
11559        port_: i64,
11560        env_type: i32,
11561        api_key: *mut wire_cst_list_prim_u_8_strict,
11562        node_config: *mut wire_cst_node_config,
11563    ) {
11564        wire__crate__binding__default_config_impl(port_, env_type, api_key, node_config)
11565    }
11566
11567    #[unsafe(no_mangle)]
11568    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__disconnect(port_: i64) {
11569        wire__crate__binding__disconnect_impl(port_)
11570    }
11571
11572    #[unsafe(no_mangle)]
11573    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__execute_command(
11574        port_: i64,
11575        command: *mut wire_cst_list_prim_u_8_strict,
11576    ) {
11577        wire__crate__binding__execute_command_impl(port_, command)
11578    }
11579
11580    #[unsafe(no_mangle)]
11581    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__fetch_fiat_rates(port_: i64) {
11582        wire__crate__binding__fetch_fiat_rates_impl(port_)
11583    }
11584
11585    #[unsafe(no_mangle)]
11586    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__fetch_lsp_info(
11587        port_: i64,
11588        id: *mut wire_cst_list_prim_u_8_strict,
11589    ) {
11590        wire__crate__binding__fetch_lsp_info_impl(port_, id)
11591    }
11592
11593    #[unsafe(no_mangle)]
11594    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__fetch_reverse_swap_fees(
11595        port_: i64,
11596        req: *mut wire_cst_reverse_swap_fees_request,
11597    ) {
11598        wire__crate__binding__fetch_reverse_swap_fees_impl(port_, req)
11599    }
11600
11601    #[unsafe(no_mangle)]
11602    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__generate_diagnostic_data(port_: i64) {
11603        wire__crate__binding__generate_diagnostic_data_impl(port_)
11604    }
11605
11606    #[unsafe(no_mangle)]
11607    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__in_progress_onchain_payments(
11608        port_: i64,
11609    ) {
11610        wire__crate__binding__in_progress_onchain_payments_impl(port_)
11611    }
11612
11613    #[unsafe(no_mangle)]
11614    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__in_progress_swap(port_: i64) {
11615        wire__crate__binding__in_progress_swap_impl(port_)
11616    }
11617
11618    #[unsafe(no_mangle)]
11619    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__is_initialized(port_: i64) {
11620        wire__crate__binding__is_initialized_impl(port_)
11621    }
11622
11623    #[unsafe(no_mangle)]
11624    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__list_fiat_currencies(port_: i64) {
11625        wire__crate__binding__list_fiat_currencies_impl(port_)
11626    }
11627
11628    #[unsafe(no_mangle)]
11629    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__list_lsps(port_: i64) {
11630        wire__crate__binding__list_lsps_impl(port_)
11631    }
11632
11633    #[unsafe(no_mangle)]
11634    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__list_payments(
11635        port_: i64,
11636        req: *mut wire_cst_list_payments_request,
11637    ) {
11638        wire__crate__binding__list_payments_impl(port_, req)
11639    }
11640
11641    #[unsafe(no_mangle)]
11642    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__list_refundables(port_: i64) {
11643        wire__crate__binding__list_refundables_impl(port_)
11644    }
11645
11646    #[unsafe(no_mangle)]
11647    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__list_swaps(
11648        port_: i64,
11649        req: *mut wire_cst_list_swaps_request,
11650    ) {
11651        wire__crate__binding__list_swaps_impl(port_, req)
11652    }
11653
11654    #[unsafe(no_mangle)]
11655    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__lnurl_auth(
11656        port_: i64,
11657        req_data: *mut wire_cst_ln_url_auth_request_data,
11658    ) {
11659        wire__crate__binding__lnurl_auth_impl(port_, req_data)
11660    }
11661
11662    #[unsafe(no_mangle)]
11663    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__lnurl_pay(
11664        port_: i64,
11665        req: *mut wire_cst_ln_url_pay_request,
11666    ) {
11667        wire__crate__binding__lnurl_pay_impl(port_, req)
11668    }
11669
11670    #[unsafe(no_mangle)]
11671    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__lnurl_withdraw(
11672        port_: i64,
11673        req: *mut wire_cst_ln_url_withdraw_request,
11674    ) {
11675        wire__crate__binding__lnurl_withdraw_impl(port_, req)
11676    }
11677
11678    #[unsafe(no_mangle)]
11679    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__lsp_id(port_: i64) {
11680        wire__crate__binding__lsp_id_impl(port_)
11681    }
11682
11683    #[unsafe(no_mangle)]
11684    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__lsp_info(port_: i64) {
11685        wire__crate__binding__lsp_info_impl(port_)
11686    }
11687
11688    #[unsafe(no_mangle)]
11689    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__mnemonic_to_seed(
11690        port_: i64,
11691        phrase: *mut wire_cst_list_prim_u_8_strict,
11692    ) {
11693        wire__crate__binding__mnemonic_to_seed_impl(port_, phrase)
11694    }
11695
11696    #[unsafe(no_mangle)]
11697    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__node_credentials(port_: i64) {
11698        wire__crate__binding__node_credentials_impl(port_)
11699    }
11700
11701    #[unsafe(no_mangle)]
11702    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__node_info(port_: i64) {
11703        wire__crate__binding__node_info_impl(port_)
11704    }
11705
11706    #[unsafe(no_mangle)]
11707    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__onchain_payment_limits(port_: i64) {
11708        wire__crate__binding__onchain_payment_limits_impl(port_)
11709    }
11710
11711    #[unsafe(no_mangle)]
11712    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__open_channel_fee(
11713        port_: i64,
11714        req: *mut wire_cst_open_channel_fee_request,
11715    ) {
11716        wire__crate__binding__open_channel_fee_impl(port_, req)
11717    }
11718
11719    #[unsafe(no_mangle)]
11720    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__parse_input(
11721        port_: i64,
11722        input: *mut wire_cst_list_prim_u_8_strict,
11723    ) {
11724        wire__crate__binding__parse_input_impl(port_, input)
11725    }
11726
11727    #[unsafe(no_mangle)]
11728    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__parse_invoice(
11729        port_: i64,
11730        invoice: *mut wire_cst_list_prim_u_8_strict,
11731    ) {
11732        wire__crate__binding__parse_invoice_impl(port_, invoice)
11733    }
11734
11735    #[unsafe(no_mangle)]
11736    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__pay_onchain(
11737        port_: i64,
11738        req: *mut wire_cst_pay_onchain_request,
11739    ) {
11740        wire__crate__binding__pay_onchain_impl(port_, req)
11741    }
11742
11743    #[unsafe(no_mangle)]
11744    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__payment_by_hash(
11745        port_: i64,
11746        hash: *mut wire_cst_list_prim_u_8_strict,
11747    ) {
11748        wire__crate__binding__payment_by_hash_impl(port_, hash)
11749    }
11750
11751    #[unsafe(no_mangle)]
11752    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__prepare_onchain_payment(
11753        port_: i64,
11754        req: *mut wire_cst_prepare_onchain_payment_request,
11755    ) {
11756        wire__crate__binding__prepare_onchain_payment_impl(port_, req)
11757    }
11758
11759    #[unsafe(no_mangle)]
11760    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__prepare_redeem_onchain_funds(
11761        port_: i64,
11762        req: *mut wire_cst_prepare_redeem_onchain_funds_request,
11763    ) {
11764        wire__crate__binding__prepare_redeem_onchain_funds_impl(port_, req)
11765    }
11766
11767    #[unsafe(no_mangle)]
11768    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__prepare_refund(
11769        port_: i64,
11770        req: *mut wire_cst_prepare_refund_request,
11771    ) {
11772        wire__crate__binding__prepare_refund_impl(port_, req)
11773    }
11774
11775    #[unsafe(no_mangle)]
11776    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__receive_onchain(
11777        port_: i64,
11778        req: *mut wire_cst_receive_onchain_request,
11779    ) {
11780        wire__crate__binding__receive_onchain_impl(port_, req)
11781    }
11782
11783    #[unsafe(no_mangle)]
11784    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__receive_payment(
11785        port_: i64,
11786        req: *mut wire_cst_receive_payment_request,
11787    ) {
11788        wire__crate__binding__receive_payment_impl(port_, req)
11789    }
11790
11791    #[unsafe(no_mangle)]
11792    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__recommended_fees(port_: i64) {
11793        wire__crate__binding__recommended_fees_impl(port_)
11794    }
11795
11796    #[unsafe(no_mangle)]
11797    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__redeem_onchain_funds(
11798        port_: i64,
11799        req: *mut wire_cst_redeem_onchain_funds_request,
11800    ) {
11801        wire__crate__binding__redeem_onchain_funds_impl(port_, req)
11802    }
11803
11804    #[unsafe(no_mangle)]
11805    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__redeem_swap(
11806        port_: i64,
11807        swap_address: *mut wire_cst_list_prim_u_8_strict,
11808    ) {
11809        wire__crate__binding__redeem_swap_impl(port_, swap_address)
11810    }
11811
11812    #[unsafe(no_mangle)]
11813    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__refund(
11814        port_: i64,
11815        req: *mut wire_cst_refund_request,
11816    ) {
11817        wire__crate__binding__refund_impl(port_, req)
11818    }
11819
11820    #[unsafe(no_mangle)]
11821    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__register_webhook(
11822        port_: i64,
11823        webhook_url: *mut wire_cst_list_prim_u_8_strict,
11824    ) {
11825        wire__crate__binding__register_webhook_impl(port_, webhook_url)
11826    }
11827
11828    #[unsafe(no_mangle)]
11829    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__report_issue(
11830        port_: i64,
11831        req: *mut wire_cst_report_issue_request,
11832    ) {
11833        wire__crate__binding__report_issue_impl(port_, req)
11834    }
11835
11836    #[unsafe(no_mangle)]
11837    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__rescan_swaps(port_: i64) {
11838        wire__crate__binding__rescan_swaps_impl(port_)
11839    }
11840
11841    #[unsafe(no_mangle)]
11842    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__send_payment(
11843        port_: i64,
11844        req: *mut wire_cst_send_payment_request,
11845    ) {
11846        wire__crate__binding__send_payment_impl(port_, req)
11847    }
11848
11849    #[unsafe(no_mangle)]
11850    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__send_spontaneous_payment(
11851        port_: i64,
11852        req: *mut wire_cst_send_spontaneous_payment_request,
11853    ) {
11854        wire__crate__binding__send_spontaneous_payment_impl(port_, req)
11855    }
11856
11857    #[unsafe(no_mangle)]
11858    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__service_health_check(
11859        port_: i64,
11860        api_key: *mut wire_cst_list_prim_u_8_strict,
11861    ) {
11862        wire__crate__binding__service_health_check_impl(port_, api_key)
11863    }
11864
11865    #[unsafe(no_mangle)]
11866    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__set_payment_metadata(
11867        port_: i64,
11868        hash: *mut wire_cst_list_prim_u_8_strict,
11869        metadata: *mut wire_cst_list_prim_u_8_strict,
11870    ) {
11871        wire__crate__binding__set_payment_metadata_impl(port_, hash, metadata)
11872    }
11873
11874    #[unsafe(no_mangle)]
11875    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__sign_message(
11876        port_: i64,
11877        req: *mut wire_cst_sign_message_request,
11878    ) {
11879        wire__crate__binding__sign_message_impl(port_, req)
11880    }
11881
11882    #[unsafe(no_mangle)]
11883    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__static_backup(
11884        port_: i64,
11885        req: *mut wire_cst_static_backup_request,
11886    ) {
11887        wire__crate__binding__static_backup_impl(port_, req)
11888    }
11889
11890    #[unsafe(no_mangle)]
11891    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__sync(port_: i64) {
11892        wire__crate__binding__sync_impl(port_)
11893    }
11894
11895    #[unsafe(no_mangle)]
11896    pub extern "C" fn frbgen_breez_sdk_wire__crate__binding__unregister_webhook(
11897        port_: i64,
11898        webhook_url: *mut wire_cst_list_prim_u_8_strict,
11899    ) {
11900        wire__crate__binding__unregister_webhook_impl(port_, webhook_url)
11901    }
11902
11903    #[unsafe(no_mangle)]
11904    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_aes_success_action_data_decrypted(
11905    ) -> *mut wire_cst_aes_success_action_data_decrypted {
11906        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11907            wire_cst_aes_success_action_data_decrypted::new_with_null_ptr(),
11908        )
11909    }
11910
11911    #[unsafe(no_mangle)]
11912    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_aes_success_action_data_result(
11913    ) -> *mut wire_cst_aes_success_action_data_result {
11914        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11915            wire_cst_aes_success_action_data_result::new_with_null_ptr(),
11916        )
11917    }
11918
11919    #[unsafe(no_mangle)]
11920    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_backup_failed_data(
11921    ) -> *mut wire_cst_backup_failed_data {
11922        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11923            wire_cst_backup_failed_data::new_with_null_ptr(),
11924        )
11925    }
11926
11927    #[unsafe(no_mangle)]
11928    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_binding_event_listener(
11929    ) -> *mut wire_cst_binding_event_listener {
11930        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11931            wire_cst_binding_event_listener::new_with_null_ptr(),
11932        )
11933    }
11934
11935    #[unsafe(no_mangle)]
11936    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_bitcoin_address_data(
11937    ) -> *mut wire_cst_bitcoin_address_data {
11938        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11939            wire_cst_bitcoin_address_data::new_with_null_ptr(),
11940        )
11941    }
11942
11943    #[unsafe(no_mangle)]
11944    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_bool(value: bool) -> *mut bool {
11945        flutter_rust_bridge::for_generated::new_leak_box_ptr(value)
11946    }
11947
11948    #[unsafe(no_mangle)]
11949    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_breez_event() -> *mut wire_cst_breez_event
11950    {
11951        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11952            wire_cst_breez_event::new_with_null_ptr(),
11953        )
11954    }
11955
11956    #[unsafe(no_mangle)]
11957    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_buy_bitcoin_request(
11958    ) -> *mut wire_cst_buy_bitcoin_request {
11959        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11960            wire_cst_buy_bitcoin_request::new_with_null_ptr(),
11961        )
11962    }
11963
11964    #[unsafe(no_mangle)]
11965    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_check_message_request(
11966    ) -> *mut wire_cst_check_message_request {
11967        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11968            wire_cst_check_message_request::new_with_null_ptr(),
11969        )
11970    }
11971
11972    #[unsafe(no_mangle)]
11973    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_closed_channel_payment_details(
11974    ) -> *mut wire_cst_closed_channel_payment_details {
11975        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11976            wire_cst_closed_channel_payment_details::new_with_null_ptr(),
11977        )
11978    }
11979
11980    #[unsafe(no_mangle)]
11981    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_configure_node_request(
11982    ) -> *mut wire_cst_configure_node_request {
11983        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11984            wire_cst_configure_node_request::new_with_null_ptr(),
11985        )
11986    }
11987
11988    #[unsafe(no_mangle)]
11989    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_connect_request(
11990    ) -> *mut wire_cst_connect_request {
11991        flutter_rust_bridge::for_generated::new_leak_box_ptr(
11992            wire_cst_connect_request::new_with_null_ptr(),
11993        )
11994    }
11995
11996    #[unsafe(no_mangle)]
11997    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_greenlight_credentials(
11998    ) -> *mut wire_cst_greenlight_credentials {
11999        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12000            wire_cst_greenlight_credentials::new_with_null_ptr(),
12001        )
12002    }
12003
12004    #[unsafe(no_mangle)]
12005    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_greenlight_device_credentials(
12006    ) -> *mut wire_cst_greenlight_device_credentials {
12007        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12008            wire_cst_greenlight_device_credentials::new_with_null_ptr(),
12009        )
12010    }
12011
12012    #[unsafe(no_mangle)]
12013    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_greenlight_node_config(
12014    ) -> *mut wire_cst_greenlight_node_config {
12015        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12016            wire_cst_greenlight_node_config::new_with_null_ptr(),
12017        )
12018    }
12019
12020    #[unsafe(no_mangle)]
12021    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_i_64(value: i64) -> *mut i64 {
12022        flutter_rust_bridge::for_generated::new_leak_box_ptr(value)
12023    }
12024
12025    #[unsafe(no_mangle)]
12026    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_invoice_paid_details(
12027    ) -> *mut wire_cst_invoice_paid_details {
12028        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12029            wire_cst_invoice_paid_details::new_with_null_ptr(),
12030        )
12031    }
12032
12033    #[unsafe(no_mangle)]
12034    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_list_payments_request(
12035    ) -> *mut wire_cst_list_payments_request {
12036        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12037            wire_cst_list_payments_request::new_with_null_ptr(),
12038        )
12039    }
12040
12041    #[unsafe(no_mangle)]
12042    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_list_swaps_request(
12043    ) -> *mut wire_cst_list_swaps_request {
12044        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12045            wire_cst_list_swaps_request::new_with_null_ptr(),
12046        )
12047    }
12048
12049    #[unsafe(no_mangle)]
12050    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_invoice() -> *mut wire_cst_ln_invoice
12051    {
12052        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12053            wire_cst_ln_invoice::new_with_null_ptr(),
12054        )
12055    }
12056
12057    #[unsafe(no_mangle)]
12058    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_payment_details(
12059    ) -> *mut wire_cst_ln_payment_details {
12060        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12061            wire_cst_ln_payment_details::new_with_null_ptr(),
12062        )
12063    }
12064
12065    #[unsafe(no_mangle)]
12066    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_auth_request_data(
12067    ) -> *mut wire_cst_ln_url_auth_request_data {
12068        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12069            wire_cst_ln_url_auth_request_data::new_with_null_ptr(),
12070        )
12071    }
12072
12073    #[unsafe(no_mangle)]
12074    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_error_data(
12075    ) -> *mut wire_cst_ln_url_error_data {
12076        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12077            wire_cst_ln_url_error_data::new_with_null_ptr(),
12078        )
12079    }
12080
12081    #[unsafe(no_mangle)]
12082    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_pay_error_data(
12083    ) -> *mut wire_cst_ln_url_pay_error_data {
12084        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12085            wire_cst_ln_url_pay_error_data::new_with_null_ptr(),
12086        )
12087    }
12088
12089    #[unsafe(no_mangle)]
12090    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_pay_request(
12091    ) -> *mut wire_cst_ln_url_pay_request {
12092        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12093            wire_cst_ln_url_pay_request::new_with_null_ptr(),
12094        )
12095    }
12096
12097    #[unsafe(no_mangle)]
12098    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_pay_request_data(
12099    ) -> *mut wire_cst_ln_url_pay_request_data {
12100        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12101            wire_cst_ln_url_pay_request_data::new_with_null_ptr(),
12102        )
12103    }
12104
12105    #[unsafe(no_mangle)]
12106    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_pay_success_data(
12107    ) -> *mut wire_cst_ln_url_pay_success_data {
12108        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12109            wire_cst_ln_url_pay_success_data::new_with_null_ptr(),
12110        )
12111    }
12112
12113    #[unsafe(no_mangle)]
12114    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_withdraw_request(
12115    ) -> *mut wire_cst_ln_url_withdraw_request {
12116        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12117            wire_cst_ln_url_withdraw_request::new_with_null_ptr(),
12118        )
12119    }
12120
12121    #[unsafe(no_mangle)]
12122    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_withdraw_request_data(
12123    ) -> *mut wire_cst_ln_url_withdraw_request_data {
12124        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12125            wire_cst_ln_url_withdraw_request_data::new_with_null_ptr(),
12126        )
12127    }
12128
12129    #[unsafe(no_mangle)]
12130    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_ln_url_withdraw_success_data(
12131    ) -> *mut wire_cst_ln_url_withdraw_success_data {
12132        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12133            wire_cst_ln_url_withdraw_success_data::new_with_null_ptr(),
12134        )
12135    }
12136
12137    #[unsafe(no_mangle)]
12138    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_lsp_information(
12139    ) -> *mut wire_cst_lsp_information {
12140        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12141            wire_cst_lsp_information::new_with_null_ptr(),
12142        )
12143    }
12144
12145    #[unsafe(no_mangle)]
12146    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_message_success_action_data(
12147    ) -> *mut wire_cst_message_success_action_data {
12148        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12149            wire_cst_message_success_action_data::new_with_null_ptr(),
12150        )
12151    }
12152
12153    #[unsafe(no_mangle)]
12154    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_node_config() -> *mut wire_cst_node_config
12155    {
12156        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12157            wire_cst_node_config::new_with_null_ptr(),
12158        )
12159    }
12160
12161    #[unsafe(no_mangle)]
12162    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_node_credentials(
12163    ) -> *mut wire_cst_node_credentials {
12164        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12165            wire_cst_node_credentials::new_with_null_ptr(),
12166        )
12167    }
12168
12169    #[unsafe(no_mangle)]
12170    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_open_channel_fee_request(
12171    ) -> *mut wire_cst_open_channel_fee_request {
12172        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12173            wire_cst_open_channel_fee_request::new_with_null_ptr(),
12174        )
12175    }
12176
12177    #[unsafe(no_mangle)]
12178    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_opening_fee_params(
12179    ) -> *mut wire_cst_opening_fee_params {
12180        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12181            wire_cst_opening_fee_params::new_with_null_ptr(),
12182        )
12183    }
12184
12185    #[unsafe(no_mangle)]
12186    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_pay_onchain_request(
12187    ) -> *mut wire_cst_pay_onchain_request {
12188        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12189            wire_cst_pay_onchain_request::new_with_null_ptr(),
12190        )
12191    }
12192
12193    #[unsafe(no_mangle)]
12194    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_payment() -> *mut wire_cst_payment {
12195        flutter_rust_bridge::for_generated::new_leak_box_ptr(wire_cst_payment::new_with_null_ptr())
12196    }
12197
12198    #[unsafe(no_mangle)]
12199    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_payment_failed_data(
12200    ) -> *mut wire_cst_payment_failed_data {
12201        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12202            wire_cst_payment_failed_data::new_with_null_ptr(),
12203        )
12204    }
12205
12206    #[unsafe(no_mangle)]
12207    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_prepare_onchain_payment_request(
12208    ) -> *mut wire_cst_prepare_onchain_payment_request {
12209        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12210            wire_cst_prepare_onchain_payment_request::new_with_null_ptr(),
12211        )
12212    }
12213
12214    #[unsafe(no_mangle)]
12215    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_prepare_redeem_onchain_funds_request(
12216    ) -> *mut wire_cst_prepare_redeem_onchain_funds_request {
12217        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12218            wire_cst_prepare_redeem_onchain_funds_request::new_with_null_ptr(),
12219        )
12220    }
12221
12222    #[unsafe(no_mangle)]
12223    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_prepare_refund_request(
12224    ) -> *mut wire_cst_prepare_refund_request {
12225        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12226            wire_cst_prepare_refund_request::new_with_null_ptr(),
12227        )
12228    }
12229
12230    #[unsafe(no_mangle)]
12231    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_receive_onchain_request(
12232    ) -> *mut wire_cst_receive_onchain_request {
12233        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12234            wire_cst_receive_onchain_request::new_with_null_ptr(),
12235        )
12236    }
12237
12238    #[unsafe(no_mangle)]
12239    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_receive_payment_request(
12240    ) -> *mut wire_cst_receive_payment_request {
12241        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12242            wire_cst_receive_payment_request::new_with_null_ptr(),
12243        )
12244    }
12245
12246    #[unsafe(no_mangle)]
12247    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_redeem_onchain_funds_request(
12248    ) -> *mut wire_cst_redeem_onchain_funds_request {
12249        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12250            wire_cst_redeem_onchain_funds_request::new_with_null_ptr(),
12251        )
12252    }
12253
12254    #[unsafe(no_mangle)]
12255    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_refund_request(
12256    ) -> *mut wire_cst_refund_request {
12257        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12258            wire_cst_refund_request::new_with_null_ptr(),
12259        )
12260    }
12261
12262    #[unsafe(no_mangle)]
12263    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_report_issue_request(
12264    ) -> *mut wire_cst_report_issue_request {
12265        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12266            wire_cst_report_issue_request::new_with_null_ptr(),
12267        )
12268    }
12269
12270    #[unsafe(no_mangle)]
12271    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_report_payment_failure_details(
12272    ) -> *mut wire_cst_report_payment_failure_details {
12273        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12274            wire_cst_report_payment_failure_details::new_with_null_ptr(),
12275        )
12276    }
12277
12278    #[unsafe(no_mangle)]
12279    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_reverse_swap_fees_request(
12280    ) -> *mut wire_cst_reverse_swap_fees_request {
12281        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12282            wire_cst_reverse_swap_fees_request::new_with_null_ptr(),
12283        )
12284    }
12285
12286    #[unsafe(no_mangle)]
12287    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_reverse_swap_info(
12288    ) -> *mut wire_cst_reverse_swap_info {
12289        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12290            wire_cst_reverse_swap_info::new_with_null_ptr(),
12291        )
12292    }
12293
12294    #[unsafe(no_mangle)]
12295    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_send_payment_request(
12296    ) -> *mut wire_cst_send_payment_request {
12297        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12298            wire_cst_send_payment_request::new_with_null_ptr(),
12299        )
12300    }
12301
12302    #[unsafe(no_mangle)]
12303    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_send_spontaneous_payment_request(
12304    ) -> *mut wire_cst_send_spontaneous_payment_request {
12305        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12306            wire_cst_send_spontaneous_payment_request::new_with_null_ptr(),
12307        )
12308    }
12309
12310    #[unsafe(no_mangle)]
12311    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_sign_message_request(
12312    ) -> *mut wire_cst_sign_message_request {
12313        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12314            wire_cst_sign_message_request::new_with_null_ptr(),
12315        )
12316    }
12317
12318    #[unsafe(no_mangle)]
12319    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_static_backup_request(
12320    ) -> *mut wire_cst_static_backup_request {
12321        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12322            wire_cst_static_backup_request::new_with_null_ptr(),
12323        )
12324    }
12325
12326    #[unsafe(no_mangle)]
12327    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_success_action_processed(
12328    ) -> *mut wire_cst_success_action_processed {
12329        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12330            wire_cst_success_action_processed::new_with_null_ptr(),
12331        )
12332    }
12333
12334    #[unsafe(no_mangle)]
12335    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_swap_info() -> *mut wire_cst_swap_info {
12336        flutter_rust_bridge::for_generated::new_leak_box_ptr(wire_cst_swap_info::new_with_null_ptr())
12337    }
12338
12339    #[unsafe(no_mangle)]
12340    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_symbol() -> *mut wire_cst_symbol {
12341        flutter_rust_bridge::for_generated::new_leak_box_ptr(wire_cst_symbol::new_with_null_ptr())
12342    }
12343
12344    #[unsafe(no_mangle)]
12345    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_u_32(value: u32) -> *mut u32 {
12346        flutter_rust_bridge::for_generated::new_leak_box_ptr(value)
12347    }
12348
12349    #[unsafe(no_mangle)]
12350    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_u_64(value: u64) -> *mut u64 {
12351        flutter_rust_bridge::for_generated::new_leak_box_ptr(value)
12352    }
12353
12354    #[unsafe(no_mangle)]
12355    pub extern "C" fn frbgen_breez_sdk_cst_new_box_autoadd_url_success_action_data(
12356    ) -> *mut wire_cst_url_success_action_data {
12357        flutter_rust_bridge::for_generated::new_leak_box_ptr(
12358            wire_cst_url_success_action_data::new_with_null_ptr(),
12359        )
12360    }
12361
12362    #[unsafe(no_mangle)]
12363    pub extern "C" fn frbgen_breez_sdk_cst_new_list_String(len: i32) -> *mut wire_cst_list_String {
12364        let wrap = wire_cst_list_String {
12365            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12366                <*mut wire_cst_list_prim_u_8_strict>::new_with_null_ptr(),
12367                len,
12368            ),
12369            len,
12370        };
12371        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12372    }
12373
12374    #[unsafe(no_mangle)]
12375    pub extern "C" fn frbgen_breez_sdk_cst_new_list_fiat_currency(
12376        len: i32,
12377    ) -> *mut wire_cst_list_fiat_currency {
12378        let wrap = wire_cst_list_fiat_currency {
12379            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12380                <wire_cst_fiat_currency>::new_with_null_ptr(),
12381                len,
12382            ),
12383            len,
12384        };
12385        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12386    }
12387
12388    #[unsafe(no_mangle)]
12389    pub extern "C" fn frbgen_breez_sdk_cst_new_list_locale_overrides(
12390        len: i32,
12391    ) -> *mut wire_cst_list_locale_overrides {
12392        let wrap = wire_cst_list_locale_overrides {
12393            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12394                <wire_cst_locale_overrides>::new_with_null_ptr(),
12395                len,
12396            ),
12397            len,
12398        };
12399        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12400    }
12401
12402    #[unsafe(no_mangle)]
12403    pub extern "C" fn frbgen_breez_sdk_cst_new_list_localized_name(
12404        len: i32,
12405    ) -> *mut wire_cst_list_localized_name {
12406        let wrap = wire_cst_list_localized_name {
12407            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12408                <wire_cst_localized_name>::new_with_null_ptr(),
12409                len,
12410            ),
12411            len,
12412        };
12413        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12414    }
12415
12416    #[unsafe(no_mangle)]
12417    pub extern "C" fn frbgen_breez_sdk_cst_new_list_lsp_information(
12418        len: i32,
12419    ) -> *mut wire_cst_list_lsp_information {
12420        let wrap = wire_cst_list_lsp_information {
12421            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12422                <wire_cst_lsp_information>::new_with_null_ptr(),
12423                len,
12424            ),
12425            len,
12426        };
12427        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12428    }
12429
12430    #[unsafe(no_mangle)]
12431    pub extern "C" fn frbgen_breez_sdk_cst_new_list_metadata_filter(
12432        len: i32,
12433    ) -> *mut wire_cst_list_metadata_filter {
12434        let wrap = wire_cst_list_metadata_filter {
12435            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12436                <wire_cst_metadata_filter>::new_with_null_ptr(),
12437                len,
12438            ),
12439            len,
12440        };
12441        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12442    }
12443
12444    #[unsafe(no_mangle)]
12445    pub extern "C" fn frbgen_breez_sdk_cst_new_list_opening_fee_params(
12446        len: i32,
12447    ) -> *mut wire_cst_list_opening_fee_params {
12448        let wrap = wire_cst_list_opening_fee_params {
12449            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12450                <wire_cst_opening_fee_params>::new_with_null_ptr(),
12451                len,
12452            ),
12453            len,
12454        };
12455        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12456    }
12457
12458    #[unsafe(no_mangle)]
12459    pub extern "C" fn frbgen_breez_sdk_cst_new_list_payment(
12460        len: i32,
12461    ) -> *mut wire_cst_list_payment {
12462        let wrap = wire_cst_list_payment {
12463            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12464                <wire_cst_payment>::new_with_null_ptr(),
12465                len,
12466            ),
12467            len,
12468        };
12469        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12470    }
12471
12472    #[unsafe(no_mangle)]
12473    pub extern "C" fn frbgen_breez_sdk_cst_new_list_payment_type_filter(
12474        len: i32,
12475    ) -> *mut wire_cst_list_payment_type_filter {
12476        let wrap = wire_cst_list_payment_type_filter {
12477            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(Default::default(), len),
12478            len,
12479        };
12480        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12481    }
12482
12483    #[unsafe(no_mangle)]
12484    pub extern "C" fn frbgen_breez_sdk_cst_new_list_prim_u_8_strict(
12485        len: i32,
12486    ) -> *mut wire_cst_list_prim_u_8_strict {
12487        let ans = wire_cst_list_prim_u_8_strict {
12488            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(Default::default(), len),
12489            len,
12490        };
12491        flutter_rust_bridge::for_generated::new_leak_box_ptr(ans)
12492    }
12493
12494    #[unsafe(no_mangle)]
12495    pub extern "C" fn frbgen_breez_sdk_cst_new_list_rate(len: i32) -> *mut wire_cst_list_rate {
12496        let wrap = wire_cst_list_rate {
12497            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12498                <wire_cst_rate>::new_with_null_ptr(),
12499                len,
12500            ),
12501            len,
12502        };
12503        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12504    }
12505
12506    #[unsafe(no_mangle)]
12507    pub extern "C" fn frbgen_breez_sdk_cst_new_list_reverse_swap_info(
12508        len: i32,
12509    ) -> *mut wire_cst_list_reverse_swap_info {
12510        let wrap = wire_cst_list_reverse_swap_info {
12511            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12512                <wire_cst_reverse_swap_info>::new_with_null_ptr(),
12513                len,
12514            ),
12515            len,
12516        };
12517        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12518    }
12519
12520    #[unsafe(no_mangle)]
12521    pub extern "C" fn frbgen_breez_sdk_cst_new_list_route_hint(
12522        len: i32,
12523    ) -> *mut wire_cst_list_route_hint {
12524        let wrap = wire_cst_list_route_hint {
12525            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12526                <wire_cst_route_hint>::new_with_null_ptr(),
12527                len,
12528            ),
12529            len,
12530        };
12531        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12532    }
12533
12534    #[unsafe(no_mangle)]
12535    pub extern "C" fn frbgen_breez_sdk_cst_new_list_route_hint_hop(
12536        len: i32,
12537    ) -> *mut wire_cst_list_route_hint_hop {
12538        let wrap = wire_cst_list_route_hint_hop {
12539            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12540                <wire_cst_route_hint_hop>::new_with_null_ptr(),
12541                len,
12542            ),
12543            len,
12544        };
12545        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12546    }
12547
12548    #[unsafe(no_mangle)]
12549    pub extern "C" fn frbgen_breez_sdk_cst_new_list_swap_info(
12550        len: i32,
12551    ) -> *mut wire_cst_list_swap_info {
12552        let wrap = wire_cst_list_swap_info {
12553            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12554                <wire_cst_swap_info>::new_with_null_ptr(),
12555                len,
12556            ),
12557            len,
12558        };
12559        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12560    }
12561
12562    #[unsafe(no_mangle)]
12563    pub extern "C" fn frbgen_breez_sdk_cst_new_list_swap_status(
12564        len: i32,
12565    ) -> *mut wire_cst_list_swap_status {
12566        let wrap = wire_cst_list_swap_status {
12567            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(Default::default(), len),
12568            len,
12569        };
12570        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12571    }
12572
12573    #[unsafe(no_mangle)]
12574    pub extern "C" fn frbgen_breez_sdk_cst_new_list_tlv_entry(
12575        len: i32,
12576    ) -> *mut wire_cst_list_tlv_entry {
12577        let wrap = wire_cst_list_tlv_entry {
12578            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12579                <wire_cst_tlv_entry>::new_with_null_ptr(),
12580                len,
12581            ),
12582            len,
12583        };
12584        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12585    }
12586
12587    #[unsafe(no_mangle)]
12588    pub extern "C" fn frbgen_breez_sdk_cst_new_list_unspent_transaction_output(
12589        len: i32,
12590    ) -> *mut wire_cst_list_unspent_transaction_output {
12591        let wrap = wire_cst_list_unspent_transaction_output {
12592            ptr: flutter_rust_bridge::for_generated::new_leak_vec_ptr(
12593                <wire_cst_unspent_transaction_output>::new_with_null_ptr(),
12594                len,
12595            ),
12596            len,
12597        };
12598        flutter_rust_bridge::for_generated::new_leak_box_ptr(wrap)
12599    }
12600
12601    #[repr(C)]
12602    #[derive(Clone, Copy)]
12603    pub struct wire_cst_aes_success_action_data_decrypted {
12604        description: *mut wire_cst_list_prim_u_8_strict,
12605        plaintext: *mut wire_cst_list_prim_u_8_strict,
12606    }
12607    #[repr(C)]
12608    #[derive(Clone, Copy)]
12609    pub struct wire_cst_aes_success_action_data_result {
12610        tag: i32,
12611        kind: AesSuccessActionDataResultKind,
12612    }
12613    #[repr(C)]
12614    #[derive(Clone, Copy)]
12615    pub union AesSuccessActionDataResultKind {
12616        Decrypted: wire_cst_AesSuccessActionDataResult_Decrypted,
12617        ErrorStatus: wire_cst_AesSuccessActionDataResult_ErrorStatus,
12618        nil__: (),
12619    }
12620    #[repr(C)]
12621    #[derive(Clone, Copy)]
12622    pub struct wire_cst_AesSuccessActionDataResult_Decrypted {
12623        data: *mut wire_cst_aes_success_action_data_decrypted,
12624    }
12625    #[repr(C)]
12626    #[derive(Clone, Copy)]
12627    pub struct wire_cst_AesSuccessActionDataResult_ErrorStatus {
12628        reason: *mut wire_cst_list_prim_u_8_strict,
12629    }
12630    #[repr(C)]
12631    #[derive(Clone, Copy)]
12632    pub struct wire_cst_backup_failed_data {
12633        error: *mut wire_cst_list_prim_u_8_strict,
12634    }
12635    #[repr(C)]
12636    #[derive(Clone, Copy)]
12637    pub struct wire_cst_backup_status {
12638        backed_up: bool,
12639        last_backup_time: *mut u64,
12640    }
12641    #[repr(C)]
12642    #[derive(Clone, Copy)]
12643    pub struct wire_cst_binding_event_listener {}
12644    #[repr(C)]
12645    #[derive(Clone, Copy)]
12646    pub struct wire_cst_bitcoin_address_data {
12647        address: *mut wire_cst_list_prim_u_8_strict,
12648        network: i32,
12649        amount_sat: *mut u64,
12650        label: *mut wire_cst_list_prim_u_8_strict,
12651        message: *mut wire_cst_list_prim_u_8_strict,
12652    }
12653    #[repr(C)]
12654    #[derive(Clone, Copy)]
12655    pub struct wire_cst_breez_event {
12656        tag: i32,
12657        kind: BreezEventKind,
12658    }
12659    #[repr(C)]
12660    #[derive(Clone, Copy)]
12661    pub union BreezEventKind {
12662        NewBlock: wire_cst_BreezEvent_NewBlock,
12663        InvoicePaid: wire_cst_BreezEvent_InvoicePaid,
12664        PaymentSucceed: wire_cst_BreezEvent_PaymentSucceed,
12665        PaymentFailed: wire_cst_BreezEvent_PaymentFailed,
12666        BackupFailed: wire_cst_BreezEvent_BackupFailed,
12667        ReverseSwapUpdated: wire_cst_BreezEvent_ReverseSwapUpdated,
12668        SwapUpdated: wire_cst_BreezEvent_SwapUpdated,
12669        nil__: (),
12670    }
12671    #[repr(C)]
12672    #[derive(Clone, Copy)]
12673    pub struct wire_cst_BreezEvent_NewBlock {
12674        block: u32,
12675    }
12676    #[repr(C)]
12677    #[derive(Clone, Copy)]
12678    pub struct wire_cst_BreezEvent_InvoicePaid {
12679        details: *mut wire_cst_invoice_paid_details,
12680    }
12681    #[repr(C)]
12682    #[derive(Clone, Copy)]
12683    pub struct wire_cst_BreezEvent_PaymentSucceed {
12684        details: *mut wire_cst_payment,
12685    }
12686    #[repr(C)]
12687    #[derive(Clone, Copy)]
12688    pub struct wire_cst_BreezEvent_PaymentFailed {
12689        details: *mut wire_cst_payment_failed_data,
12690    }
12691    #[repr(C)]
12692    #[derive(Clone, Copy)]
12693    pub struct wire_cst_BreezEvent_BackupFailed {
12694        details: *mut wire_cst_backup_failed_data,
12695    }
12696    #[repr(C)]
12697    #[derive(Clone, Copy)]
12698    pub struct wire_cst_BreezEvent_ReverseSwapUpdated {
12699        details: *mut wire_cst_reverse_swap_info,
12700    }
12701    #[repr(C)]
12702    #[derive(Clone, Copy)]
12703    pub struct wire_cst_BreezEvent_SwapUpdated {
12704        details: *mut wire_cst_swap_info,
12705    }
12706    #[repr(C)]
12707    #[derive(Clone, Copy)]
12708    pub struct wire_cst_buy_bitcoin_request {
12709        provider: i32,
12710        opening_fee_params: *mut wire_cst_opening_fee_params,
12711        redirect_url: *mut wire_cst_list_prim_u_8_strict,
12712    }
12713    #[repr(C)]
12714    #[derive(Clone, Copy)]
12715    pub struct wire_cst_buy_bitcoin_response {
12716        url: *mut wire_cst_list_prim_u_8_strict,
12717        opening_fee_params: *mut wire_cst_opening_fee_params,
12718    }
12719    #[repr(C)]
12720    #[derive(Clone, Copy)]
12721    pub struct wire_cst_check_message_request {
12722        message: *mut wire_cst_list_prim_u_8_strict,
12723        pubkey: *mut wire_cst_list_prim_u_8_strict,
12724        signature: *mut wire_cst_list_prim_u_8_strict,
12725    }
12726    #[repr(C)]
12727    #[derive(Clone, Copy)]
12728    pub struct wire_cst_check_message_response {
12729        is_valid: bool,
12730    }
12731    #[repr(C)]
12732    #[derive(Clone, Copy)]
12733    pub struct wire_cst_closed_channel_payment_details {
12734        state: i32,
12735        funding_txid: *mut wire_cst_list_prim_u_8_strict,
12736        short_channel_id: *mut wire_cst_list_prim_u_8_strict,
12737        closing_txid: *mut wire_cst_list_prim_u_8_strict,
12738    }
12739    #[repr(C)]
12740    #[derive(Clone, Copy)]
12741    pub struct wire_cst_config {
12742        breezserver: *mut wire_cst_list_prim_u_8_strict,
12743        chainnotifier_url: *mut wire_cst_list_prim_u_8_strict,
12744        mempoolspace_url: *mut wire_cst_list_prim_u_8_strict,
12745        working_dir: *mut wire_cst_list_prim_u_8_strict,
12746        network: i32,
12747        payment_timeout_sec: u32,
12748        default_lsp_id: *mut wire_cst_list_prim_u_8_strict,
12749        api_key: *mut wire_cst_list_prim_u_8_strict,
12750        maxfee_percent: f64,
12751        exemptfee_msat: u64,
12752        node_config: wire_cst_node_config,
12753    }
12754    #[repr(C)]
12755    #[derive(Clone, Copy)]
12756    pub struct wire_cst_configure_node_request {
12757        close_to_address: *mut wire_cst_list_prim_u_8_strict,
12758    }
12759    #[repr(C)]
12760    #[derive(Clone, Copy)]
12761    pub struct wire_cst_connect_request {
12762        config: wire_cst_config,
12763        seed: *mut wire_cst_list_prim_u_8_strict,
12764        restore_only: *mut bool,
12765    }
12766    #[repr(C)]
12767    #[derive(Clone, Copy)]
12768    pub struct wire_cst_currency_info {
12769        name: *mut wire_cst_list_prim_u_8_strict,
12770        fraction_size: u32,
12771        spacing: *mut u32,
12772        symbol: *mut wire_cst_symbol,
12773        uniq_symbol: *mut wire_cst_symbol,
12774        localized_name: *mut wire_cst_list_localized_name,
12775        locale_overrides: *mut wire_cst_list_locale_overrides,
12776    }
12777    #[repr(C)]
12778    #[derive(Clone, Copy)]
12779    pub struct wire_cst_fiat_currency {
12780        id: *mut wire_cst_list_prim_u_8_strict,
12781        info: wire_cst_currency_info,
12782    }
12783    #[repr(C)]
12784    #[derive(Clone, Copy)]
12785    pub struct wire_cst_greenlight_credentials {
12786        developer_key: *mut wire_cst_list_prim_u_8_strict,
12787        developer_cert: *mut wire_cst_list_prim_u_8_strict,
12788    }
12789    #[repr(C)]
12790    #[derive(Clone, Copy)]
12791    pub struct wire_cst_greenlight_device_credentials {
12792        device: *mut wire_cst_list_prim_u_8_strict,
12793    }
12794    #[repr(C)]
12795    #[derive(Clone, Copy)]
12796    pub struct wire_cst_greenlight_node_config {
12797        partner_credentials: *mut wire_cst_greenlight_credentials,
12798        invite_code: *mut wire_cst_list_prim_u_8_strict,
12799    }
12800    #[repr(C)]
12801    #[derive(Clone, Copy)]
12802    pub struct wire_cst_input_type {
12803        tag: i32,
12804        kind: InputTypeKind,
12805    }
12806    #[repr(C)]
12807    #[derive(Clone, Copy)]
12808    pub union InputTypeKind {
12809        BitcoinAddress: wire_cst_InputType_BitcoinAddress,
12810        Bolt11: wire_cst_InputType_Bolt11,
12811        NodeId: wire_cst_InputType_NodeId,
12812        Url: wire_cst_InputType_Url,
12813        LnUrlPay: wire_cst_InputType_LnUrlPay,
12814        LnUrlWithdraw: wire_cst_InputType_LnUrlWithdraw,
12815        LnUrlAuth: wire_cst_InputType_LnUrlAuth,
12816        LnUrlError: wire_cst_InputType_LnUrlError,
12817        nil__: (),
12818    }
12819    #[repr(C)]
12820    #[derive(Clone, Copy)]
12821    pub struct wire_cst_InputType_BitcoinAddress {
12822        address: *mut wire_cst_bitcoin_address_data,
12823    }
12824    #[repr(C)]
12825    #[derive(Clone, Copy)]
12826    pub struct wire_cst_InputType_Bolt11 {
12827        invoice: *mut wire_cst_ln_invoice,
12828    }
12829    #[repr(C)]
12830    #[derive(Clone, Copy)]
12831    pub struct wire_cst_InputType_NodeId {
12832        node_id: *mut wire_cst_list_prim_u_8_strict,
12833    }
12834    #[repr(C)]
12835    #[derive(Clone, Copy)]
12836    pub struct wire_cst_InputType_Url {
12837        url: *mut wire_cst_list_prim_u_8_strict,
12838    }
12839    #[repr(C)]
12840    #[derive(Clone, Copy)]
12841    pub struct wire_cst_InputType_LnUrlPay {
12842        data: *mut wire_cst_ln_url_pay_request_data,
12843        bip353_address: *mut wire_cst_list_prim_u_8_strict,
12844    }
12845    #[repr(C)]
12846    #[derive(Clone, Copy)]
12847    pub struct wire_cst_InputType_LnUrlWithdraw {
12848        data: *mut wire_cst_ln_url_withdraw_request_data,
12849    }
12850    #[repr(C)]
12851    #[derive(Clone, Copy)]
12852    pub struct wire_cst_InputType_LnUrlAuth {
12853        data: *mut wire_cst_ln_url_auth_request_data,
12854    }
12855    #[repr(C)]
12856    #[derive(Clone, Copy)]
12857    pub struct wire_cst_InputType_LnUrlError {
12858        data: *mut wire_cst_ln_url_error_data,
12859    }
12860    #[repr(C)]
12861    #[derive(Clone, Copy)]
12862    pub struct wire_cst_invoice_paid_details {
12863        payment_hash: *mut wire_cst_list_prim_u_8_strict,
12864        bolt11: *mut wire_cst_list_prim_u_8_strict,
12865        payment: *mut wire_cst_payment,
12866    }
12867    #[repr(C)]
12868    #[derive(Clone, Copy)]
12869    pub struct wire_cst_list_String {
12870        ptr: *mut *mut wire_cst_list_prim_u_8_strict,
12871        len: i32,
12872    }
12873    #[repr(C)]
12874    #[derive(Clone, Copy)]
12875    pub struct wire_cst_list_fiat_currency {
12876        ptr: *mut wire_cst_fiat_currency,
12877        len: i32,
12878    }
12879    #[repr(C)]
12880    #[derive(Clone, Copy)]
12881    pub struct wire_cst_list_locale_overrides {
12882        ptr: *mut wire_cst_locale_overrides,
12883        len: i32,
12884    }
12885    #[repr(C)]
12886    #[derive(Clone, Copy)]
12887    pub struct wire_cst_list_localized_name {
12888        ptr: *mut wire_cst_localized_name,
12889        len: i32,
12890    }
12891    #[repr(C)]
12892    #[derive(Clone, Copy)]
12893    pub struct wire_cst_list_lsp_information {
12894        ptr: *mut wire_cst_lsp_information,
12895        len: i32,
12896    }
12897    #[repr(C)]
12898    #[derive(Clone, Copy)]
12899    pub struct wire_cst_list_metadata_filter {
12900        ptr: *mut wire_cst_metadata_filter,
12901        len: i32,
12902    }
12903    #[repr(C)]
12904    #[derive(Clone, Copy)]
12905    pub struct wire_cst_list_opening_fee_params {
12906        ptr: *mut wire_cst_opening_fee_params,
12907        len: i32,
12908    }
12909    #[repr(C)]
12910    #[derive(Clone, Copy)]
12911    pub struct wire_cst_list_payment {
12912        ptr: *mut wire_cst_payment,
12913        len: i32,
12914    }
12915    #[repr(C)]
12916    #[derive(Clone, Copy)]
12917    pub struct wire_cst_list_payment_type_filter {
12918        ptr: *mut i32,
12919        len: i32,
12920    }
12921    #[repr(C)]
12922    #[derive(Clone, Copy)]
12923    pub struct wire_cst_list_payments_request {
12924        filters: *mut wire_cst_list_payment_type_filter,
12925        metadata_filters: *mut wire_cst_list_metadata_filter,
12926        from_timestamp: *mut i64,
12927        to_timestamp: *mut i64,
12928        include_failures: *mut bool,
12929        offset: *mut u32,
12930        limit: *mut u32,
12931    }
12932    #[repr(C)]
12933    #[derive(Clone, Copy)]
12934    pub struct wire_cst_list_prim_u_8_strict {
12935        ptr: *mut u8,
12936        len: i32,
12937    }
12938    #[repr(C)]
12939    #[derive(Clone, Copy)]
12940    pub struct wire_cst_list_rate {
12941        ptr: *mut wire_cst_rate,
12942        len: i32,
12943    }
12944    #[repr(C)]
12945    #[derive(Clone, Copy)]
12946    pub struct wire_cst_list_reverse_swap_info {
12947        ptr: *mut wire_cst_reverse_swap_info,
12948        len: i32,
12949    }
12950    #[repr(C)]
12951    #[derive(Clone, Copy)]
12952    pub struct wire_cst_list_route_hint {
12953        ptr: *mut wire_cst_route_hint,
12954        len: i32,
12955    }
12956    #[repr(C)]
12957    #[derive(Clone, Copy)]
12958    pub struct wire_cst_list_route_hint_hop {
12959        ptr: *mut wire_cst_route_hint_hop,
12960        len: i32,
12961    }
12962    #[repr(C)]
12963    #[derive(Clone, Copy)]
12964    pub struct wire_cst_list_swap_info {
12965        ptr: *mut wire_cst_swap_info,
12966        len: i32,
12967    }
12968    #[repr(C)]
12969    #[derive(Clone, Copy)]
12970    pub struct wire_cst_list_swap_status {
12971        ptr: *mut i32,
12972        len: i32,
12973    }
12974    #[repr(C)]
12975    #[derive(Clone, Copy)]
12976    pub struct wire_cst_list_swaps_request {
12977        status: *mut wire_cst_list_swap_status,
12978        from_timestamp: *mut i64,
12979        to_timestamp: *mut i64,
12980        offset: *mut u32,
12981        limit: *mut u32,
12982    }
12983    #[repr(C)]
12984    #[derive(Clone, Copy)]
12985    pub struct wire_cst_list_tlv_entry {
12986        ptr: *mut wire_cst_tlv_entry,
12987        len: i32,
12988    }
12989    #[repr(C)]
12990    #[derive(Clone, Copy)]
12991    pub struct wire_cst_list_unspent_transaction_output {
12992        ptr: *mut wire_cst_unspent_transaction_output,
12993        len: i32,
12994    }
12995    #[repr(C)]
12996    #[derive(Clone, Copy)]
12997    pub struct wire_cst_ln_invoice {
12998        bolt11: *mut wire_cst_list_prim_u_8_strict,
12999        network: i32,
13000        payee_pubkey: *mut wire_cst_list_prim_u_8_strict,
13001        payment_hash: *mut wire_cst_list_prim_u_8_strict,
13002        description: *mut wire_cst_list_prim_u_8_strict,
13003        description_hash: *mut wire_cst_list_prim_u_8_strict,
13004        amount_msat: *mut u64,
13005        timestamp: u64,
13006        expiry: u64,
13007        routing_hints: *mut wire_cst_list_route_hint,
13008        payment_secret: *mut wire_cst_list_prim_u_8_strict,
13009        min_final_cltv_expiry_delta: u64,
13010    }
13011    #[repr(C)]
13012    #[derive(Clone, Copy)]
13013    pub struct wire_cst_ln_payment_details {
13014        payment_hash: *mut wire_cst_list_prim_u_8_strict,
13015        label: *mut wire_cst_list_prim_u_8_strict,
13016        destination_pubkey: *mut wire_cst_list_prim_u_8_strict,
13017        payment_preimage: *mut wire_cst_list_prim_u_8_strict,
13018        keysend: bool,
13019        bolt11: *mut wire_cst_list_prim_u_8_strict,
13020        open_channel_bolt11: *mut wire_cst_list_prim_u_8_strict,
13021        lnurl_success_action: *mut wire_cst_success_action_processed,
13022        lnurl_pay_domain: *mut wire_cst_list_prim_u_8_strict,
13023        lnurl_pay_comment: *mut wire_cst_list_prim_u_8_strict,
13024        ln_address: *mut wire_cst_list_prim_u_8_strict,
13025        lnurl_metadata: *mut wire_cst_list_prim_u_8_strict,
13026        lnurl_withdraw_endpoint: *mut wire_cst_list_prim_u_8_strict,
13027        swap_info: *mut wire_cst_swap_info,
13028        reverse_swap_info: *mut wire_cst_reverse_swap_info,
13029        pending_expiration_block: *mut u32,
13030    }
13031    #[repr(C)]
13032    #[derive(Clone, Copy)]
13033    pub struct wire_cst_ln_url_auth_request_data {
13034        k1: *mut wire_cst_list_prim_u_8_strict,
13035        action: *mut wire_cst_list_prim_u_8_strict,
13036        domain: *mut wire_cst_list_prim_u_8_strict,
13037        url: *mut wire_cst_list_prim_u_8_strict,
13038    }
13039    #[repr(C)]
13040    #[derive(Clone, Copy)]
13041    pub struct wire_cst_ln_url_callback_status {
13042        tag: i32,
13043        kind: LnUrlCallbackStatusKind,
13044    }
13045    #[repr(C)]
13046    #[derive(Clone, Copy)]
13047    pub union LnUrlCallbackStatusKind {
13048        ErrorStatus: wire_cst_LnUrlCallbackStatus_ErrorStatus,
13049        nil__: (),
13050    }
13051    #[repr(C)]
13052    #[derive(Clone, Copy)]
13053    pub struct wire_cst_LnUrlCallbackStatus_ErrorStatus {
13054        data: *mut wire_cst_ln_url_error_data,
13055    }
13056    #[repr(C)]
13057    #[derive(Clone, Copy)]
13058    pub struct wire_cst_ln_url_error_data {
13059        reason: *mut wire_cst_list_prim_u_8_strict,
13060    }
13061    #[repr(C)]
13062    #[derive(Clone, Copy)]
13063    pub struct wire_cst_ln_url_pay_error_data {
13064        payment_hash: *mut wire_cst_list_prim_u_8_strict,
13065        reason: *mut wire_cst_list_prim_u_8_strict,
13066    }
13067    #[repr(C)]
13068    #[derive(Clone, Copy)]
13069    pub struct wire_cst_ln_url_pay_request {
13070        data: wire_cst_ln_url_pay_request_data,
13071        amount_msat: u64,
13072        use_trampoline: bool,
13073        comment: *mut wire_cst_list_prim_u_8_strict,
13074        payment_label: *mut wire_cst_list_prim_u_8_strict,
13075        validate_success_action_url: *mut bool,
13076    }
13077    #[repr(C)]
13078    #[derive(Clone, Copy)]
13079    pub struct wire_cst_ln_url_pay_request_data {
13080        callback: *mut wire_cst_list_prim_u_8_strict,
13081        min_sendable: u64,
13082        max_sendable: u64,
13083        metadata_str: *mut wire_cst_list_prim_u_8_strict,
13084        comment_allowed: u16,
13085        domain: *mut wire_cst_list_prim_u_8_strict,
13086        allows_nostr: bool,
13087        nostr_pubkey: *mut wire_cst_list_prim_u_8_strict,
13088        ln_address: *mut wire_cst_list_prim_u_8_strict,
13089    }
13090    #[repr(C)]
13091    #[derive(Clone, Copy)]
13092    pub struct wire_cst_ln_url_pay_result {
13093        tag: i32,
13094        kind: LnUrlPayResultKind,
13095    }
13096    #[repr(C)]
13097    #[derive(Clone, Copy)]
13098    pub union LnUrlPayResultKind {
13099        EndpointSuccess: wire_cst_LnUrlPayResult_EndpointSuccess,
13100        EndpointError: wire_cst_LnUrlPayResult_EndpointError,
13101        PayError: wire_cst_LnUrlPayResult_PayError,
13102        nil__: (),
13103    }
13104    #[repr(C)]
13105    #[derive(Clone, Copy)]
13106    pub struct wire_cst_LnUrlPayResult_EndpointSuccess {
13107        data: *mut wire_cst_ln_url_pay_success_data,
13108    }
13109    #[repr(C)]
13110    #[derive(Clone, Copy)]
13111    pub struct wire_cst_LnUrlPayResult_EndpointError {
13112        data: *mut wire_cst_ln_url_error_data,
13113    }
13114    #[repr(C)]
13115    #[derive(Clone, Copy)]
13116    pub struct wire_cst_LnUrlPayResult_PayError {
13117        data: *mut wire_cst_ln_url_pay_error_data,
13118    }
13119    #[repr(C)]
13120    #[derive(Clone, Copy)]
13121    pub struct wire_cst_ln_url_pay_success_data {
13122        payment: wire_cst_payment,
13123        success_action: *mut wire_cst_success_action_processed,
13124    }
13125    #[repr(C)]
13126    #[derive(Clone, Copy)]
13127    pub struct wire_cst_ln_url_withdraw_request {
13128        data: wire_cst_ln_url_withdraw_request_data,
13129        amount_msat: u64,
13130        description: *mut wire_cst_list_prim_u_8_strict,
13131    }
13132    #[repr(C)]
13133    #[derive(Clone, Copy)]
13134    pub struct wire_cst_ln_url_withdraw_request_data {
13135        callback: *mut wire_cst_list_prim_u_8_strict,
13136        k1: *mut wire_cst_list_prim_u_8_strict,
13137        default_description: *mut wire_cst_list_prim_u_8_strict,
13138        min_withdrawable: u64,
13139        max_withdrawable: u64,
13140    }
13141    #[repr(C)]
13142    #[derive(Clone, Copy)]
13143    pub struct wire_cst_ln_url_withdraw_result {
13144        tag: i32,
13145        kind: LnUrlWithdrawResultKind,
13146    }
13147    #[repr(C)]
13148    #[derive(Clone, Copy)]
13149    pub union LnUrlWithdrawResultKind {
13150        Ok: wire_cst_LnUrlWithdrawResult_Ok,
13151        Timeout: wire_cst_LnUrlWithdrawResult_Timeout,
13152        ErrorStatus: wire_cst_LnUrlWithdrawResult_ErrorStatus,
13153        nil__: (),
13154    }
13155    #[repr(C)]
13156    #[derive(Clone, Copy)]
13157    pub struct wire_cst_LnUrlWithdrawResult_Ok {
13158        data: *mut wire_cst_ln_url_withdraw_success_data,
13159    }
13160    #[repr(C)]
13161    #[derive(Clone, Copy)]
13162    pub struct wire_cst_LnUrlWithdrawResult_Timeout {
13163        data: *mut wire_cst_ln_url_withdraw_success_data,
13164    }
13165    #[repr(C)]
13166    #[derive(Clone, Copy)]
13167    pub struct wire_cst_LnUrlWithdrawResult_ErrorStatus {
13168        data: *mut wire_cst_ln_url_error_data,
13169    }
13170    #[repr(C)]
13171    #[derive(Clone, Copy)]
13172    pub struct wire_cst_ln_url_withdraw_success_data {
13173        invoice: wire_cst_ln_invoice,
13174    }
13175    #[repr(C)]
13176    #[derive(Clone, Copy)]
13177    pub struct wire_cst_locale_overrides {
13178        locale: *mut wire_cst_list_prim_u_8_strict,
13179        spacing: *mut u32,
13180        symbol: wire_cst_symbol,
13181    }
13182    #[repr(C)]
13183    #[derive(Clone, Copy)]
13184    pub struct wire_cst_localized_name {
13185        locale: *mut wire_cst_list_prim_u_8_strict,
13186        name: *mut wire_cst_list_prim_u_8_strict,
13187    }
13188    #[repr(C)]
13189    #[derive(Clone, Copy)]
13190    pub struct wire_cst_log_entry {
13191        line: *mut wire_cst_list_prim_u_8_strict,
13192        level: *mut wire_cst_list_prim_u_8_strict,
13193    }
13194    #[repr(C)]
13195    #[derive(Clone, Copy)]
13196    pub struct wire_cst_lsp_information {
13197        id: *mut wire_cst_list_prim_u_8_strict,
13198        name: *mut wire_cst_list_prim_u_8_strict,
13199        widget_url: *mut wire_cst_list_prim_u_8_strict,
13200        pubkey: *mut wire_cst_list_prim_u_8_strict,
13201        host: *mut wire_cst_list_prim_u_8_strict,
13202        base_fee_msat: i64,
13203        fee_rate: f64,
13204        time_lock_delta: u32,
13205        min_htlc_msat: i64,
13206        lsp_pubkey: *mut wire_cst_list_prim_u_8_strict,
13207        opening_fee_params_list: wire_cst_opening_fee_params_menu,
13208    }
13209    #[repr(C)]
13210    #[derive(Clone, Copy)]
13211    pub struct wire_cst_message_success_action_data {
13212        message: *mut wire_cst_list_prim_u_8_strict,
13213    }
13214    #[repr(C)]
13215    #[derive(Clone, Copy)]
13216    pub struct wire_cst_metadata_filter {
13217        json_path: *mut wire_cst_list_prim_u_8_strict,
13218        json_value: *mut wire_cst_list_prim_u_8_strict,
13219    }
13220    #[repr(C)]
13221    #[derive(Clone, Copy)]
13222    pub struct wire_cst_node_config {
13223        tag: i32,
13224        kind: NodeConfigKind,
13225    }
13226    #[repr(C)]
13227    #[derive(Clone, Copy)]
13228    pub union NodeConfigKind {
13229        Greenlight: wire_cst_NodeConfig_Greenlight,
13230        nil__: (),
13231    }
13232    #[repr(C)]
13233    #[derive(Clone, Copy)]
13234    pub struct wire_cst_NodeConfig_Greenlight {
13235        config: *mut wire_cst_greenlight_node_config,
13236    }
13237    #[repr(C)]
13238    #[derive(Clone, Copy)]
13239    pub struct wire_cst_node_credentials {
13240        tag: i32,
13241        kind: NodeCredentialsKind,
13242    }
13243    #[repr(C)]
13244    #[derive(Clone, Copy)]
13245    pub union NodeCredentialsKind {
13246        Greenlight: wire_cst_NodeCredentials_Greenlight,
13247        nil__: (),
13248    }
13249    #[repr(C)]
13250    #[derive(Clone, Copy)]
13251    pub struct wire_cst_NodeCredentials_Greenlight {
13252        credentials: *mut wire_cst_greenlight_device_credentials,
13253    }
13254    #[repr(C)]
13255    #[derive(Clone, Copy)]
13256    pub struct wire_cst_node_state {
13257        id: *mut wire_cst_list_prim_u_8_strict,
13258        block_height: u32,
13259        channels_balance_msat: u64,
13260        onchain_balance_msat: u64,
13261        pending_onchain_balance_msat: u64,
13262        utxos: *mut wire_cst_list_unspent_transaction_output,
13263        max_payable_msat: u64,
13264        max_receivable_msat: u64,
13265        max_single_payment_amount_msat: u64,
13266        max_chan_reserve_msats: u64,
13267        connected_peers: *mut wire_cst_list_String,
13268        max_receivable_single_payment_amount_msat: u64,
13269        total_inbound_liquidity_msats: u64,
13270    }
13271    #[repr(C)]
13272    #[derive(Clone, Copy)]
13273    pub struct wire_cst_onchain_payment_limits_response {
13274        min_sat: u64,
13275        max_sat: u64,
13276        max_payable_sat: u64,
13277    }
13278    #[repr(C)]
13279    #[derive(Clone, Copy)]
13280    pub struct wire_cst_open_channel_fee_request {
13281        amount_msat: *mut u64,
13282        expiry: *mut u32,
13283    }
13284    #[repr(C)]
13285    #[derive(Clone, Copy)]
13286    pub struct wire_cst_open_channel_fee_response {
13287        fee_msat: *mut u64,
13288        fee_params: wire_cst_opening_fee_params,
13289    }
13290    #[repr(C)]
13291    #[derive(Clone, Copy)]
13292    pub struct wire_cst_opening_fee_params {
13293        min_msat: u64,
13294        proportional: u32,
13295        valid_until: *mut wire_cst_list_prim_u_8_strict,
13296        max_idle_time: u32,
13297        max_client_to_self_delay: u32,
13298        promise: *mut wire_cst_list_prim_u_8_strict,
13299    }
13300    #[repr(C)]
13301    #[derive(Clone, Copy)]
13302    pub struct wire_cst_opening_fee_params_menu {
13303        values: *mut wire_cst_list_opening_fee_params,
13304    }
13305    #[repr(C)]
13306    #[derive(Clone, Copy)]
13307    pub struct wire_cst_pay_onchain_request {
13308        recipient_address: *mut wire_cst_list_prim_u_8_strict,
13309        prepare_res: wire_cst_prepare_onchain_payment_response,
13310    }
13311    #[repr(C)]
13312    #[derive(Clone, Copy)]
13313    pub struct wire_cst_pay_onchain_response {
13314        reverse_swap_info: wire_cst_reverse_swap_info,
13315    }
13316    #[repr(C)]
13317    #[derive(Clone, Copy)]
13318    pub struct wire_cst_payment {
13319        id: *mut wire_cst_list_prim_u_8_strict,
13320        payment_type: i32,
13321        payment_time: i64,
13322        amount_msat: u64,
13323        fee_msat: u64,
13324        status: i32,
13325        error: *mut wire_cst_list_prim_u_8_strict,
13326        description: *mut wire_cst_list_prim_u_8_strict,
13327        details: wire_cst_payment_details,
13328        metadata: *mut wire_cst_list_prim_u_8_strict,
13329    }
13330    #[repr(C)]
13331    #[derive(Clone, Copy)]
13332    pub struct wire_cst_payment_details {
13333        tag: i32,
13334        kind: PaymentDetailsKind,
13335    }
13336    #[repr(C)]
13337    #[derive(Clone, Copy)]
13338    pub union PaymentDetailsKind {
13339        Ln: wire_cst_PaymentDetails_Ln,
13340        ClosedChannel: wire_cst_PaymentDetails_ClosedChannel,
13341        nil__: (),
13342    }
13343    #[repr(C)]
13344    #[derive(Clone, Copy)]
13345    pub struct wire_cst_PaymentDetails_Ln {
13346        data: *mut wire_cst_ln_payment_details,
13347    }
13348    #[repr(C)]
13349    #[derive(Clone, Copy)]
13350    pub struct wire_cst_PaymentDetails_ClosedChannel {
13351        data: *mut wire_cst_closed_channel_payment_details,
13352    }
13353    #[repr(C)]
13354    #[derive(Clone, Copy)]
13355    pub struct wire_cst_payment_failed_data {
13356        error: *mut wire_cst_list_prim_u_8_strict,
13357        node_id: *mut wire_cst_list_prim_u_8_strict,
13358        invoice: *mut wire_cst_ln_invoice,
13359        label: *mut wire_cst_list_prim_u_8_strict,
13360    }
13361    #[repr(C)]
13362    #[derive(Clone, Copy)]
13363    pub struct wire_cst_prepare_onchain_payment_request {
13364        amount_sat: u64,
13365        amount_type: i32,
13366        claim_tx_feerate: u32,
13367    }
13368    #[repr(C)]
13369    #[derive(Clone, Copy)]
13370    pub struct wire_cst_prepare_onchain_payment_response {
13371        fees_hash: *mut wire_cst_list_prim_u_8_strict,
13372        fees_percentage: f64,
13373        fees_lockup: u64,
13374        fees_claim: u64,
13375        sender_amount_sat: u64,
13376        recipient_amount_sat: u64,
13377        total_fees: u64,
13378    }
13379    #[repr(C)]
13380    #[derive(Clone, Copy)]
13381    pub struct wire_cst_prepare_redeem_onchain_funds_request {
13382        to_address: *mut wire_cst_list_prim_u_8_strict,
13383        sat_per_vbyte: u32,
13384    }
13385    #[repr(C)]
13386    #[derive(Clone, Copy)]
13387    pub struct wire_cst_prepare_redeem_onchain_funds_response {
13388        tx_weight: u64,
13389        tx_fee_sat: u64,
13390    }
13391    #[repr(C)]
13392    #[derive(Clone, Copy)]
13393    pub struct wire_cst_prepare_refund_request {
13394        swap_address: *mut wire_cst_list_prim_u_8_strict,
13395        to_address: *mut wire_cst_list_prim_u_8_strict,
13396        sat_per_vbyte: u32,
13397        unilateral: *mut bool,
13398    }
13399    #[repr(C)]
13400    #[derive(Clone, Copy)]
13401    pub struct wire_cst_prepare_refund_response {
13402        refund_tx_weight: u32,
13403        refund_tx_fee_sat: u64,
13404    }
13405    #[repr(C)]
13406    #[derive(Clone, Copy)]
13407    pub struct wire_cst_rate {
13408        coin: *mut wire_cst_list_prim_u_8_strict,
13409        value: f64,
13410    }
13411    #[repr(C)]
13412    #[derive(Clone, Copy)]
13413    pub struct wire_cst_receive_onchain_request {
13414        opening_fee_params: *mut wire_cst_opening_fee_params,
13415    }
13416    #[repr(C)]
13417    #[derive(Clone, Copy)]
13418    pub struct wire_cst_receive_payment_request {
13419        amount_msat: u64,
13420        description: *mut wire_cst_list_prim_u_8_strict,
13421        preimage: *mut wire_cst_list_prim_u_8_strict,
13422        opening_fee_params: *mut wire_cst_opening_fee_params,
13423        use_description_hash: *mut bool,
13424        expiry: *mut u32,
13425        cltv: *mut u32,
13426    }
13427    #[repr(C)]
13428    #[derive(Clone, Copy)]
13429    pub struct wire_cst_receive_payment_response {
13430        ln_invoice: wire_cst_ln_invoice,
13431        opening_fee_params: *mut wire_cst_opening_fee_params,
13432        opening_fee_msat: *mut u64,
13433    }
13434    #[repr(C)]
13435    #[derive(Clone, Copy)]
13436    pub struct wire_cst_recommended_fees {
13437        fastest_fee: u64,
13438        half_hour_fee: u64,
13439        hour_fee: u64,
13440        economy_fee: u64,
13441        minimum_fee: u64,
13442    }
13443    #[repr(C)]
13444    #[derive(Clone, Copy)]
13445    pub struct wire_cst_redeem_onchain_funds_request {
13446        to_address: *mut wire_cst_list_prim_u_8_strict,
13447        sat_per_vbyte: u32,
13448    }
13449    #[repr(C)]
13450    #[derive(Clone, Copy)]
13451    pub struct wire_cst_redeem_onchain_funds_response {
13452        txid: *mut wire_cst_list_prim_u_8_strict,
13453    }
13454    #[repr(C)]
13455    #[derive(Clone, Copy)]
13456    pub struct wire_cst_refund_request {
13457        swap_address: *mut wire_cst_list_prim_u_8_strict,
13458        to_address: *mut wire_cst_list_prim_u_8_strict,
13459        sat_per_vbyte: u32,
13460        unilateral: *mut bool,
13461    }
13462    #[repr(C)]
13463    #[derive(Clone, Copy)]
13464    pub struct wire_cst_refund_response {
13465        refund_tx_id: *mut wire_cst_list_prim_u_8_strict,
13466    }
13467    #[repr(C)]
13468    #[derive(Clone, Copy)]
13469    pub struct wire_cst_report_issue_request {
13470        tag: i32,
13471        kind: ReportIssueRequestKind,
13472    }
13473    #[repr(C)]
13474    #[derive(Clone, Copy)]
13475    pub union ReportIssueRequestKind {
13476        PaymentFailure: wire_cst_ReportIssueRequest_PaymentFailure,
13477        nil__: (),
13478    }
13479    #[repr(C)]
13480    #[derive(Clone, Copy)]
13481    pub struct wire_cst_ReportIssueRequest_PaymentFailure {
13482        data: *mut wire_cst_report_payment_failure_details,
13483    }
13484    #[repr(C)]
13485    #[derive(Clone, Copy)]
13486    pub struct wire_cst_report_payment_failure_details {
13487        payment_hash: *mut wire_cst_list_prim_u_8_strict,
13488        comment: *mut wire_cst_list_prim_u_8_strict,
13489    }
13490    #[repr(C)]
13491    #[derive(Clone, Copy)]
13492    pub struct wire_cst_reverse_swap_fees_request {
13493        send_amount_sat: *mut u64,
13494        claim_tx_feerate: *mut u32,
13495    }
13496    #[repr(C)]
13497    #[derive(Clone, Copy)]
13498    pub struct wire_cst_reverse_swap_info {
13499        id: *mut wire_cst_list_prim_u_8_strict,
13500        claim_pubkey: *mut wire_cst_list_prim_u_8_strict,
13501        lockup_txid: *mut wire_cst_list_prim_u_8_strict,
13502        claim_txid: *mut wire_cst_list_prim_u_8_strict,
13503        onchain_amount_sat: u64,
13504        status: i32,
13505    }
13506    #[repr(C)]
13507    #[derive(Clone, Copy)]
13508    pub struct wire_cst_reverse_swap_pair_info {
13509        min: u64,
13510        max: u64,
13511        fees_hash: *mut wire_cst_list_prim_u_8_strict,
13512        fees_percentage: f64,
13513        fees_lockup: u64,
13514        fees_claim: u64,
13515        total_fees: *mut u64,
13516    }
13517    #[repr(C)]
13518    #[derive(Clone, Copy)]
13519    pub struct wire_cst_route_hint {
13520        hops: *mut wire_cst_list_route_hint_hop,
13521    }
13522    #[repr(C)]
13523    #[derive(Clone, Copy)]
13524    pub struct wire_cst_route_hint_hop {
13525        src_node_id: *mut wire_cst_list_prim_u_8_strict,
13526        short_channel_id: *mut wire_cst_list_prim_u_8_strict,
13527        fees_base_msat: u32,
13528        fees_proportional_millionths: u32,
13529        cltv_expiry_delta: u64,
13530        htlc_minimum_msat: *mut u64,
13531        htlc_maximum_msat: *mut u64,
13532    }
13533    #[repr(C)]
13534    #[derive(Clone, Copy)]
13535    pub struct wire_cst_send_payment_request {
13536        bolt11: *mut wire_cst_list_prim_u_8_strict,
13537        use_trampoline: bool,
13538        amount_msat: *mut u64,
13539        label: *mut wire_cst_list_prim_u_8_strict,
13540    }
13541    #[repr(C)]
13542    #[derive(Clone, Copy)]
13543    pub struct wire_cst_send_payment_response {
13544        payment: wire_cst_payment,
13545    }
13546    #[repr(C)]
13547    #[derive(Clone, Copy)]
13548    pub struct wire_cst_send_spontaneous_payment_request {
13549        node_id: *mut wire_cst_list_prim_u_8_strict,
13550        amount_msat: u64,
13551        extra_tlvs: *mut wire_cst_list_tlv_entry,
13552        label: *mut wire_cst_list_prim_u_8_strict,
13553    }
13554    #[repr(C)]
13555    #[derive(Clone, Copy)]
13556    pub struct wire_cst_service_health_check_response {
13557        status: i32,
13558    }
13559    #[repr(C)]
13560    #[derive(Clone, Copy)]
13561    pub struct wire_cst_sign_message_request {
13562        message: *mut wire_cst_list_prim_u_8_strict,
13563    }
13564    #[repr(C)]
13565    #[derive(Clone, Copy)]
13566    pub struct wire_cst_sign_message_response {
13567        signature: *mut wire_cst_list_prim_u_8_strict,
13568    }
13569    #[repr(C)]
13570    #[derive(Clone, Copy)]
13571    pub struct wire_cst_static_backup_request {
13572        working_dir: *mut wire_cst_list_prim_u_8_strict,
13573    }
13574    #[repr(C)]
13575    #[derive(Clone, Copy)]
13576    pub struct wire_cst_static_backup_response {
13577        backup: *mut wire_cst_list_String,
13578    }
13579    #[repr(C)]
13580    #[derive(Clone, Copy)]
13581    pub struct wire_cst_success_action_processed {
13582        tag: i32,
13583        kind: SuccessActionProcessedKind,
13584    }
13585    #[repr(C)]
13586    #[derive(Clone, Copy)]
13587    pub union SuccessActionProcessedKind {
13588        Aes: wire_cst_SuccessActionProcessed_Aes,
13589        Message: wire_cst_SuccessActionProcessed_Message,
13590        Url: wire_cst_SuccessActionProcessed_Url,
13591        nil__: (),
13592    }
13593    #[repr(C)]
13594    #[derive(Clone, Copy)]
13595    pub struct wire_cst_SuccessActionProcessed_Aes {
13596        result: *mut wire_cst_aes_success_action_data_result,
13597    }
13598    #[repr(C)]
13599    #[derive(Clone, Copy)]
13600    pub struct wire_cst_SuccessActionProcessed_Message {
13601        data: *mut wire_cst_message_success_action_data,
13602    }
13603    #[repr(C)]
13604    #[derive(Clone, Copy)]
13605    pub struct wire_cst_SuccessActionProcessed_Url {
13606        data: *mut wire_cst_url_success_action_data,
13607    }
13608    #[repr(C)]
13609    #[derive(Clone, Copy)]
13610    pub struct wire_cst_swap_info {
13611        bitcoin_address: *mut wire_cst_list_prim_u_8_strict,
13612        created_at: i64,
13613        lock_height: i64,
13614        payment_hash: *mut wire_cst_list_prim_u_8_strict,
13615        preimage: *mut wire_cst_list_prim_u_8_strict,
13616        private_key: *mut wire_cst_list_prim_u_8_strict,
13617        public_key: *mut wire_cst_list_prim_u_8_strict,
13618        swapper_public_key: *mut wire_cst_list_prim_u_8_strict,
13619        script: *mut wire_cst_list_prim_u_8_strict,
13620        bolt11: *mut wire_cst_list_prim_u_8_strict,
13621        paid_msat: u64,
13622        total_incoming_txs: u64,
13623        confirmed_sats: u64,
13624        unconfirmed_sats: u64,
13625        status: i32,
13626        refund_tx_ids: *mut wire_cst_list_String,
13627        unconfirmed_tx_ids: *mut wire_cst_list_String,
13628        confirmed_tx_ids: *mut wire_cst_list_String,
13629        min_allowed_deposit: i64,
13630        max_allowed_deposit: i64,
13631        max_swapper_payable: i64,
13632        last_redeem_error: *mut wire_cst_list_prim_u_8_strict,
13633        channel_opening_fees: *mut wire_cst_opening_fee_params,
13634        confirmed_at: *mut u32,
13635    }
13636    #[repr(C)]
13637    #[derive(Clone, Copy)]
13638    pub struct wire_cst_symbol {
13639        grapheme: *mut wire_cst_list_prim_u_8_strict,
13640        template: *mut wire_cst_list_prim_u_8_strict,
13641        rtl: *mut bool,
13642        position: *mut u32,
13643    }
13644    #[repr(C)]
13645    #[derive(Clone, Copy)]
13646    pub struct wire_cst_tlv_entry {
13647        field_number: u64,
13648        value: *mut wire_cst_list_prim_u_8_strict,
13649    }
13650    #[repr(C)]
13651    #[derive(Clone, Copy)]
13652    pub struct wire_cst_unspent_transaction_output {
13653        txid: *mut wire_cst_list_prim_u_8_strict,
13654        outnum: u32,
13655        amount_millisatoshi: u64,
13656        address: *mut wire_cst_list_prim_u_8_strict,
13657        reserved: bool,
13658    }
13659    #[repr(C)]
13660    #[derive(Clone, Copy)]
13661    pub struct wire_cst_url_success_action_data {
13662        description: *mut wire_cst_list_prim_u_8_strict,
13663        url: *mut wire_cst_list_prim_u_8_strict,
13664        matches_callback_domain: bool,
13665    }
13666}
13667#[cfg(not(target_family = "wasm"))]
13668pub use io::*;