mirror of
https://github.com/aljazceru/breez-sdk-liquid.git
synced 2025-12-23 17:04:25 +01:00
Mark default_config && parse_invoice as sync functions on Dart bindings (#280)
- Generate Dart bindings
This commit is contained in:
@@ -278,10 +278,9 @@ void frbgen_breez_liquid_wire__crate__bindings__breez_log_stream(int64_t port_,
|
|||||||
void frbgen_breez_liquid_wire__crate__bindings__connect(int64_t port_,
|
void frbgen_breez_liquid_wire__crate__bindings__connect(int64_t port_,
|
||||||
struct wire_cst_connect_request *req);
|
struct wire_cst_connect_request *req);
|
||||||
|
|
||||||
void frbgen_breez_liquid_wire__crate__bindings__default_config(int64_t port_, int32_t network);
|
WireSyncRust2DartDco frbgen_breez_liquid_wire__crate__bindings__default_config(int32_t network);
|
||||||
|
|
||||||
void frbgen_breez_liquid_wire__crate__bindings__parse_invoice(int64_t port_,
|
WireSyncRust2DartDco frbgen_breez_liquid_wire__crate__bindings__parse_invoice(struct wire_cst_list_prim_u_8_strict *input);
|
||||||
struct wire_cst_list_prim_u_8_strict *input);
|
|
||||||
|
|
||||||
void frbgen_breez_liquid_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBindingLiquidSdk(const void *ptr);
|
void frbgen_breez_liquid_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBindingLiquidSdk(const void *ptr);
|
||||||
|
|
||||||
|
|||||||
@@ -59,10 +59,12 @@ pub fn breez_log_stream(s: StreamSink<LogEntry>) -> Result<()> {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[frb(sync)]
|
||||||
pub fn default_config(network: Network) -> Config {
|
pub fn default_config(network: Network) -> Config {
|
||||||
LiquidSdk::default_config(network)
|
LiquidSdk::default_config(network)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[frb(sync)]
|
||||||
pub fn parse_invoice(input: String) -> Result<LNInvoice, PaymentError> {
|
pub fn parse_invoice(input: String) -> Result<LNInvoice, PaymentError> {
|
||||||
LiquidSdk::parse_invoice(&input)
|
LiquidSdk::parse_invoice(&input)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -872,18 +872,16 @@ pub extern "C" fn frbgen_breez_liquid_wire__crate__bindings__connect(
|
|||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub extern "C" fn frbgen_breez_liquid_wire__crate__bindings__default_config(
|
pub extern "C" fn frbgen_breez_liquid_wire__crate__bindings__default_config(
|
||||||
port_: i64,
|
|
||||||
network: i32,
|
network: i32,
|
||||||
) {
|
) -> flutter_rust_bridge::for_generated::WireSyncRust2DartDco {
|
||||||
wire__crate__bindings__default_config_impl(port_, network)
|
wire__crate__bindings__default_config_impl(network)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub extern "C" fn frbgen_breez_liquid_wire__crate__bindings__parse_invoice(
|
pub extern "C" fn frbgen_breez_liquid_wire__crate__bindings__parse_invoice(
|
||||||
port_: i64,
|
|
||||||
input: *mut wire_cst_list_prim_u_8_strict,
|
input: *mut wire_cst_list_prim_u_8_strict,
|
||||||
) {
|
) -> flutter_rust_bridge::for_generated::WireSyncRust2DartDco {
|
||||||
wire__crate__bindings__parse_invoice_impl(port_, input)
|
wire__crate__bindings__parse_invoice_impl(input)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
|
|||||||
@@ -391,40 +391,34 @@ fn wire__crate__bindings__connect_impl(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
fn wire__crate__bindings__default_config_impl(
|
fn wire__crate__bindings__default_config_impl(
|
||||||
port_: flutter_rust_bridge::for_generated::MessagePort,
|
|
||||||
network: impl CstDecode<crate::model::Network>,
|
network: impl CstDecode<crate::model::Network>,
|
||||||
) {
|
) -> flutter_rust_bridge::for_generated::WireSyncRust2DartDco {
|
||||||
FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
|
FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::<flutter_rust_bridge::for_generated::DcoCodec, _>(
|
||||||
flutter_rust_bridge::for_generated::TaskInfo {
|
flutter_rust_bridge::for_generated::TaskInfo {
|
||||||
debug_name: "default_config",
|
debug_name: "default_config",
|
||||||
port: Some(port_),
|
port: None,
|
||||||
mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
|
mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync,
|
||||||
},
|
},
|
||||||
move || {
|
move || {
|
||||||
let api_network = network.cst_decode();
|
let api_network = network.cst_decode();
|
||||||
move |context| {
|
|
||||||
transform_result_dco((move || {
|
transform_result_dco((move || {
|
||||||
Result::<_, ()>::Ok(crate::bindings::default_config(api_network))
|
Result::<_, ()>::Ok(crate::bindings::default_config(api_network))
|
||||||
})())
|
})())
|
||||||
}
|
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
fn wire__crate__bindings__parse_invoice_impl(
|
fn wire__crate__bindings__parse_invoice_impl(
|
||||||
port_: flutter_rust_bridge::for_generated::MessagePort,
|
|
||||||
input: impl CstDecode<String>,
|
input: impl CstDecode<String>,
|
||||||
) {
|
) -> flutter_rust_bridge::for_generated::WireSyncRust2DartDco {
|
||||||
FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::DcoCodec, _, _>(
|
FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::<flutter_rust_bridge::for_generated::DcoCodec, _>(
|
||||||
flutter_rust_bridge::for_generated::TaskInfo {
|
flutter_rust_bridge::for_generated::TaskInfo {
|
||||||
debug_name: "parse_invoice",
|
debug_name: "parse_invoice",
|
||||||
port: Some(port_),
|
port: None,
|
||||||
mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
|
mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync,
|
||||||
},
|
},
|
||||||
move || {
|
move || {
|
||||||
let api_input = input.cst_decode();
|
let api_input = input.cst_decode();
|
||||||
move |context| {
|
|
||||||
transform_result_dco((move || crate::bindings::parse_invoice(api_input))())
|
transform_result_dco((move || crate::bindings::parse_invoice(api_input))())
|
||||||
}
|
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,10 +18,10 @@ Future<BindingLiquidSdk> connect({required ConnectRequest req, dynamic hint}) =>
|
|||||||
Stream<LogEntry> breezLogStream({dynamic hint}) =>
|
Stream<LogEntry> breezLogStream({dynamic hint}) =>
|
||||||
RustLib.instance.api.crateBindingsBreezLogStream(hint: hint);
|
RustLib.instance.api.crateBindingsBreezLogStream(hint: hint);
|
||||||
|
|
||||||
Future<Config> defaultConfig({required Network network, dynamic hint}) =>
|
Config defaultConfig({required Network network, dynamic hint}) =>
|
||||||
RustLib.instance.api.crateBindingsDefaultConfig(network: network, hint: hint);
|
RustLib.instance.api.crateBindingsDefaultConfig(network: network, hint: hint);
|
||||||
|
|
||||||
Future<LNInvoice> parseInvoice({required String input, dynamic hint}) =>
|
LNInvoice parseInvoice({required String input, dynamic hint}) =>
|
||||||
RustLib.instance.api.crateBindingsParseInvoice(input: input, hint: hint);
|
RustLib.instance.api.crateBindingsParseInvoice(input: input, hint: hint);
|
||||||
|
|
||||||
// Rust type: RustOpaqueNom<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<BindingLiquidSdk>>
|
// Rust type: RustOpaqueNom<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<BindingLiquidSdk>>
|
||||||
|
|||||||
@@ -100,9 +100,9 @@ abstract class RustLibApi extends BaseApi {
|
|||||||
|
|
||||||
Future<BindingLiquidSdk> crateBindingsConnect({required ConnectRequest req, dynamic hint});
|
Future<BindingLiquidSdk> crateBindingsConnect({required ConnectRequest req, dynamic hint});
|
||||||
|
|
||||||
Future<Config> crateBindingsDefaultConfig({required Network network, dynamic hint});
|
Config crateBindingsDefaultConfig({required Network network, dynamic hint});
|
||||||
|
|
||||||
Future<LNInvoice> crateBindingsParseInvoice({required String input, dynamic hint});
|
LNInvoice crateBindingsParseInvoice({required String input, dynamic hint});
|
||||||
|
|
||||||
RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_BindingLiquidSdk;
|
RustArcIncrementStrongCountFnType get rust_arc_increment_strong_count_BindingLiquidSdk;
|
||||||
|
|
||||||
@@ -488,11 +488,11 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
);
|
);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<Config> crateBindingsDefaultConfig({required Network network, dynamic hint}) {
|
Config crateBindingsDefaultConfig({required Network network, dynamic hint}) {
|
||||||
return handler.executeNormal(NormalTask(
|
return handler.executeSync(SyncTask(
|
||||||
callFfi: (port_) {
|
callFfi: () {
|
||||||
var arg0 = cst_encode_network(network);
|
var arg0 = cst_encode_network(network);
|
||||||
return wire.wire__crate__bindings__default_config(port_, arg0);
|
return wire.wire__crate__bindings__default_config(arg0);
|
||||||
},
|
},
|
||||||
codec: DcoCodec(
|
codec: DcoCodec(
|
||||||
decodeSuccessData: dco_decode_config,
|
decodeSuccessData: dco_decode_config,
|
||||||
@@ -511,11 +511,11 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
);
|
);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<LNInvoice> crateBindingsParseInvoice({required String input, dynamic hint}) {
|
LNInvoice crateBindingsParseInvoice({required String input, dynamic hint}) {
|
||||||
return handler.executeNormal(NormalTask(
|
return handler.executeSync(SyncTask(
|
||||||
callFfi: (port_) {
|
callFfi: () {
|
||||||
var arg0 = cst_encode_String(input);
|
var arg0 = cst_encode_String(input);
|
||||||
return wire.wire__crate__bindings__parse_invoice(port_, arg0);
|
return wire.wire__crate__bindings__parse_invoice(arg0);
|
||||||
},
|
},
|
||||||
codec: DcoCodec(
|
codec: DcoCodec(
|
||||||
decodeSuccessData: dco_decode_ln_invoice,
|
decodeSuccessData: dco_decode_ln_invoice,
|
||||||
|
|||||||
@@ -1325,37 +1325,33 @@ class RustLibWire implements BaseWire {
|
|||||||
late final _wire__crate__bindings__connect = _wire__crate__bindings__connectPtr
|
late final _wire__crate__bindings__connect = _wire__crate__bindings__connectPtr
|
||||||
.asFunction<void Function(int, ffi.Pointer<wire_cst_connect_request>)>();
|
.asFunction<void Function(int, ffi.Pointer<wire_cst_connect_request>)>();
|
||||||
|
|
||||||
void wire__crate__bindings__default_config(
|
WireSyncRust2DartDco wire__crate__bindings__default_config(
|
||||||
int port_,
|
|
||||||
int network,
|
int network,
|
||||||
) {
|
) {
|
||||||
return _wire__crate__bindings__default_config(
|
return _wire__crate__bindings__default_config(
|
||||||
port_,
|
|
||||||
network,
|
network,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
late final _wire__crate__bindings__default_configPtr =
|
late final _wire__crate__bindings__default_configPtr =
|
||||||
_lookup<ffi.NativeFunction<ffi.Void Function(ffi.Int64, ffi.Int32)>>(
|
_lookup<ffi.NativeFunction<WireSyncRust2DartDco Function(ffi.Int32)>>(
|
||||||
'frbgen_breez_liquid_wire__crate__bindings__default_config');
|
'frbgen_breez_liquid_wire__crate__bindings__default_config');
|
||||||
late final _wire__crate__bindings__default_config =
|
late final _wire__crate__bindings__default_config =
|
||||||
_wire__crate__bindings__default_configPtr.asFunction<void Function(int, int)>();
|
_wire__crate__bindings__default_configPtr.asFunction<WireSyncRust2DartDco Function(int)>();
|
||||||
|
|
||||||
void wire__crate__bindings__parse_invoice(
|
WireSyncRust2DartDco wire__crate__bindings__parse_invoice(
|
||||||
int port_,
|
|
||||||
ffi.Pointer<wire_cst_list_prim_u_8_strict> input,
|
ffi.Pointer<wire_cst_list_prim_u_8_strict> input,
|
||||||
) {
|
) {
|
||||||
return _wire__crate__bindings__parse_invoice(
|
return _wire__crate__bindings__parse_invoice(
|
||||||
port_,
|
|
||||||
input,
|
input,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
late final _wire__crate__bindings__parse_invoicePtr =
|
late final _wire__crate__bindings__parse_invoicePtr =
|
||||||
_lookup<ffi.NativeFunction<ffi.Void Function(ffi.Int64, ffi.Pointer<wire_cst_list_prim_u_8_strict>)>>(
|
_lookup<ffi.NativeFunction<WireSyncRust2DartDco Function(ffi.Pointer<wire_cst_list_prim_u_8_strict>)>>(
|
||||||
'frbgen_breez_liquid_wire__crate__bindings__parse_invoice');
|
'frbgen_breez_liquid_wire__crate__bindings__parse_invoice');
|
||||||
late final _wire__crate__bindings__parse_invoice = _wire__crate__bindings__parse_invoicePtr
|
late final _wire__crate__bindings__parse_invoice = _wire__crate__bindings__parse_invoicePtr
|
||||||
.asFunction<void Function(int, ffi.Pointer<wire_cst_list_prim_u_8_strict>)>();
|
.asFunction<WireSyncRust2DartDco Function(ffi.Pointer<wire_cst_list_prim_u_8_strict>)>();
|
||||||
|
|
||||||
void
|
void
|
||||||
rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBindingLiquidSdk(
|
rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBindingLiquidSdk(
|
||||||
|
|||||||
@@ -33,9 +33,13 @@ class Config {
|
|||||||
final String boltzUrl;
|
final String boltzUrl;
|
||||||
final String electrumUrl;
|
final String electrumUrl;
|
||||||
|
|
||||||
/// Directory in which all SDK files (DB, log) are stored.
|
/// Directory in which all SDK files (DB, log, cache) are stored.
|
||||||
|
///
|
||||||
|
/// Prefix can be a relative or absolute path to this directory.
|
||||||
final String workingDir;
|
final String workingDir;
|
||||||
final Network network;
|
final Network network;
|
||||||
|
|
||||||
|
/// Send payment timeout. See [crate::sdk::LiquidSdk::send_payment]
|
||||||
final BigInt paymentTimeoutSec;
|
final BigInt paymentTimeoutSec;
|
||||||
|
|
||||||
const Config({
|
const Config({
|
||||||
|
|||||||
@@ -294,38 +294,35 @@ class FlutterBreezLiquidBindings {
|
|||||||
_frbgen_breez_liquid_wire__crate__bindings__connectPtr
|
_frbgen_breez_liquid_wire__crate__bindings__connectPtr
|
||||||
.asFunction<void Function(int, ffi.Pointer<wire_cst_connect_request>)>();
|
.asFunction<void Function(int, ffi.Pointer<wire_cst_connect_request>)>();
|
||||||
|
|
||||||
void frbgen_breez_liquid_wire__crate__bindings__default_config(
|
WireSyncRust2DartDco frbgen_breez_liquid_wire__crate__bindings__default_config(
|
||||||
int port_,
|
|
||||||
int network,
|
int network,
|
||||||
) {
|
) {
|
||||||
return _frbgen_breez_liquid_wire__crate__bindings__default_config(
|
return _frbgen_breez_liquid_wire__crate__bindings__default_config(
|
||||||
port_,
|
|
||||||
network,
|
network,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
late final _frbgen_breez_liquid_wire__crate__bindings__default_configPtr =
|
late final _frbgen_breez_liquid_wire__crate__bindings__default_configPtr =
|
||||||
_lookup<ffi.NativeFunction<ffi.Void Function(ffi.Int64, ffi.Int32)>>(
|
_lookup<ffi.NativeFunction<WireSyncRust2DartDco Function(ffi.Int32)>>(
|
||||||
'frbgen_breez_liquid_wire__crate__bindings__default_config');
|
'frbgen_breez_liquid_wire__crate__bindings__default_config');
|
||||||
late final _frbgen_breez_liquid_wire__crate__bindings__default_config =
|
late final _frbgen_breez_liquid_wire__crate__bindings__default_config =
|
||||||
_frbgen_breez_liquid_wire__crate__bindings__default_configPtr.asFunction<void Function(int, int)>();
|
_frbgen_breez_liquid_wire__crate__bindings__default_configPtr
|
||||||
|
.asFunction<WireSyncRust2DartDco Function(int)>();
|
||||||
|
|
||||||
void frbgen_breez_liquid_wire__crate__bindings__parse_invoice(
|
WireSyncRust2DartDco frbgen_breez_liquid_wire__crate__bindings__parse_invoice(
|
||||||
int port_,
|
|
||||||
ffi.Pointer<wire_cst_list_prim_u_8_strict> input,
|
ffi.Pointer<wire_cst_list_prim_u_8_strict> input,
|
||||||
) {
|
) {
|
||||||
return _frbgen_breez_liquid_wire__crate__bindings__parse_invoice(
|
return _frbgen_breez_liquid_wire__crate__bindings__parse_invoice(
|
||||||
port_,
|
|
||||||
input,
|
input,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
late final _frbgen_breez_liquid_wire__crate__bindings__parse_invoicePtr =
|
late final _frbgen_breez_liquid_wire__crate__bindings__parse_invoicePtr =
|
||||||
_lookup<ffi.NativeFunction<ffi.Void Function(ffi.Int64, ffi.Pointer<wire_cst_list_prim_u_8_strict>)>>(
|
_lookup<ffi.NativeFunction<WireSyncRust2DartDco Function(ffi.Pointer<wire_cst_list_prim_u_8_strict>)>>(
|
||||||
'frbgen_breez_liquid_wire__crate__bindings__parse_invoice');
|
'frbgen_breez_liquid_wire__crate__bindings__parse_invoice');
|
||||||
late final _frbgen_breez_liquid_wire__crate__bindings__parse_invoice =
|
late final _frbgen_breez_liquid_wire__crate__bindings__parse_invoice =
|
||||||
_frbgen_breez_liquid_wire__crate__bindings__parse_invoicePtr
|
_frbgen_breez_liquid_wire__crate__bindings__parse_invoicePtr
|
||||||
.asFunction<void Function(int, ffi.Pointer<wire_cst_list_prim_u_8_strict>)>();
|
.asFunction<WireSyncRust2DartDco Function(ffi.Pointer<wire_cst_list_prim_u_8_strict>)>();
|
||||||
|
|
||||||
void
|
void
|
||||||
frbgen_breez_liquid_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBindingLiquidSdk(
|
frbgen_breez_liquid_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerBindingLiquidSdk(
|
||||||
|
|||||||
Reference in New Issue
Block a user