mirror of
https://github.com/aljazceru/breez-sdk-liquid.git
synced 2025-12-24 01:14:22 +01:00
Persist and expose BIP353 addresses (#718)
* Persist and expose BIP353 addresses * Increment schema minor version * Move bip353 address from LNURL context to SendDestination * Update after sdk-common merge * Address review * Only try to insert bip353 address when available
This commit is contained in:
2
cli/Cargo.lock
generated
2
cli/Cargo.lock
generated
@@ -3934,7 +3934,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "sdk-common"
|
name = "sdk-common"
|
||||||
version = "0.6.2"
|
version = "0.6.2"
|
||||||
source = "git+https://github.com/breez/breez-sdk?rev=7a96ce7e5c12d837948e1e37687a1bd0cd0f884c#7a96ce7e5c12d837948e1e37687a1bd0cd0f884c"
|
source = "git+https://github.com/breez/breez-sdk?rev=84578d9abe1dd0d59867f93a22a92220ab16a52e#84578d9abe1dd0d59867f93a22a92220ab16a52e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes",
|
"aes",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
|||||||
@@ -692,7 +692,10 @@ pub(crate) async fn handle_command(
|
|||||||
} => {
|
} => {
|
||||||
let input = sdk.parse(&lnurl).await?;
|
let input = sdk.parse(&lnurl).await?;
|
||||||
let res = match input {
|
let res = match input {
|
||||||
InputType::LnUrlPay { data: pd } => {
|
InputType::LnUrlPay {
|
||||||
|
data: pd,
|
||||||
|
bip353_address,
|
||||||
|
} => {
|
||||||
let amount = match drain.unwrap_or(false) {
|
let amount = match drain.unwrap_or(false) {
|
||||||
true => PayAmount::Drain,
|
true => PayAmount::Drain,
|
||||||
false => {
|
false => {
|
||||||
@@ -713,6 +716,7 @@ pub(crate) async fn handle_command(
|
|||||||
.prepare_lnurl_pay(PrepareLnUrlPayRequest {
|
.prepare_lnurl_pay(PrepareLnUrlPayRequest {
|
||||||
data: pd,
|
data: pd,
|
||||||
amount,
|
amount,
|
||||||
|
bip353_address,
|
||||||
comment: None,
|
comment: None,
|
||||||
validate_success_action_url: validate_success_url,
|
validate_success_action_url: validate_success_url,
|
||||||
})
|
})
|
||||||
|
|||||||
2
lib/Cargo.lock
generated
2
lib/Cargo.lock
generated
@@ -4164,7 +4164,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "sdk-common"
|
name = "sdk-common"
|
||||||
version = "0.6.2"
|
version = "0.6.2"
|
||||||
source = "git+https://github.com/breez/breez-sdk?rev=7a96ce7e5c12d837948e1e37687a1bd0cd0f884c#7a96ce7e5c12d837948e1e37687a1bd0cd0f884c"
|
source = "git+https://github.com/breez/breez-sdk?rev=84578d9abe1dd0d59867f93a22a92220ab16a52e#84578d9abe1dd0d59867f93a22a92220ab16a52e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes",
|
"aes",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
|||||||
@@ -198,6 +198,7 @@ typedef struct wire_cst_ln_invoice {
|
|||||||
|
|
||||||
typedef struct wire_cst_SendDestination_Bolt11 {
|
typedef struct wire_cst_SendDestination_Bolt11 {
|
||||||
struct wire_cst_ln_invoice *invoice;
|
struct wire_cst_ln_invoice *invoice;
|
||||||
|
struct wire_cst_list_prim_u_8_strict *bip353_address;
|
||||||
} wire_cst_SendDestination_Bolt11;
|
} wire_cst_SendDestination_Bolt11;
|
||||||
|
|
||||||
typedef struct wire_cst_list_String {
|
typedef struct wire_cst_list_String {
|
||||||
@@ -247,6 +248,7 @@ typedef struct wire_cst_ln_offer {
|
|||||||
typedef struct wire_cst_SendDestination_Bolt12 {
|
typedef struct wire_cst_SendDestination_Bolt12 {
|
||||||
struct wire_cst_ln_offer *offer;
|
struct wire_cst_ln_offer *offer;
|
||||||
uint64_t receiver_amount_sat;
|
uint64_t receiver_amount_sat;
|
||||||
|
struct wire_cst_list_prim_u_8_strict *bip353_address;
|
||||||
} wire_cst_SendDestination_Bolt12;
|
} wire_cst_SendDestination_Bolt12;
|
||||||
|
|
||||||
typedef union SendDestinationKind {
|
typedef union SendDestinationKind {
|
||||||
@@ -375,6 +377,7 @@ typedef struct wire_cst_pay_amount {
|
|||||||
typedef struct wire_cst_prepare_ln_url_pay_request {
|
typedef struct wire_cst_prepare_ln_url_pay_request {
|
||||||
struct wire_cst_ln_url_pay_request_data data;
|
struct wire_cst_ln_url_pay_request_data data;
|
||||||
struct wire_cst_pay_amount amount;
|
struct wire_cst_pay_amount amount;
|
||||||
|
struct wire_cst_list_prim_u_8_strict *bip353_address;
|
||||||
struct wire_cst_list_prim_u_8_strict *comment;
|
struct wire_cst_list_prim_u_8_strict *comment;
|
||||||
bool *validate_success_action_url;
|
bool *validate_success_action_url;
|
||||||
} wire_cst_prepare_ln_url_pay_request;
|
} wire_cst_prepare_ln_url_pay_request;
|
||||||
@@ -527,6 +530,7 @@ typedef struct wire_cst_PaymentDetails_Lightning {
|
|||||||
struct wire_cst_list_prim_u_8_strict *payment_hash;
|
struct wire_cst_list_prim_u_8_strict *payment_hash;
|
||||||
struct wire_cst_list_prim_u_8_strict *destination_pubkey;
|
struct wire_cst_list_prim_u_8_strict *destination_pubkey;
|
||||||
struct wire_cst_ln_url_info *lnurl_info;
|
struct wire_cst_ln_url_info *lnurl_info;
|
||||||
|
struct wire_cst_list_prim_u_8_strict *bip353_address;
|
||||||
struct wire_cst_list_prim_u_8_strict *claim_tx_id;
|
struct wire_cst_list_prim_u_8_strict *claim_tx_id;
|
||||||
struct wire_cst_list_prim_u_8_strict *refund_tx_id;
|
struct wire_cst_list_prim_u_8_strict *refund_tx_id;
|
||||||
uint64_t *refund_tx_amount_sat;
|
uint64_t *refund_tx_amount_sat;
|
||||||
@@ -826,6 +830,7 @@ typedef struct wire_cst_InputType_Bolt11 {
|
|||||||
|
|
||||||
typedef struct wire_cst_InputType_Bolt12Offer {
|
typedef struct wire_cst_InputType_Bolt12Offer {
|
||||||
struct wire_cst_ln_offer *offer;
|
struct wire_cst_ln_offer *offer;
|
||||||
|
struct wire_cst_list_prim_u_8_strict *bip353_address;
|
||||||
} wire_cst_InputType_Bolt12Offer;
|
} wire_cst_InputType_Bolt12Offer;
|
||||||
|
|
||||||
typedef struct wire_cst_InputType_NodeId {
|
typedef struct wire_cst_InputType_NodeId {
|
||||||
@@ -838,6 +843,7 @@ typedef struct wire_cst_InputType_Url {
|
|||||||
|
|
||||||
typedef struct wire_cst_InputType_LnUrlPay {
|
typedef struct wire_cst_InputType_LnUrlPay {
|
||||||
struct wire_cst_ln_url_pay_request_data *data;
|
struct wire_cst_ln_url_pay_request_data *data;
|
||||||
|
struct wire_cst_list_prim_u_8_strict *bip353_address;
|
||||||
} wire_cst_InputType_LnUrlPay;
|
} wire_cst_InputType_LnUrlPay;
|
||||||
|
|
||||||
typedef struct wire_cst_InputType_LnUrlWithdraw {
|
typedef struct wire_cst_InputType_LnUrlWithdraw {
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ class SwapUpdatedTask : TaskProtocol {
|
|||||||
switch details {
|
switch details {
|
||||||
case let .bitcoin(swapId, _, _, _, _, _, _, _):
|
case let .bitcoin(swapId, _, _, _, _, _, _, _):
|
||||||
return swapId
|
return swapId
|
||||||
case let .lightning(swapId, _, _, _, _, _, _, _, _, _, _, _):
|
case let .lightning(swapId, _, _, _, _, _, _, _, _, _, _, _, _):
|
||||||
return swapId
|
return swapId
|
||||||
default:
|
default:
|
||||||
break
|
break
|
||||||
@@ -123,7 +123,7 @@ class SwapUpdatedTask : TaskProtocol {
|
|||||||
switch details {
|
switch details {
|
||||||
case let .bitcoin(_, _, _, _, _, claimTxId, _, _):
|
case let .bitcoin(_, _, _, _, _, claimTxId, _, _):
|
||||||
return claimTxId != nil
|
return claimTxId != nil
|
||||||
case let .lightning( _, _, _, _, _, _, _, _, _, claimTxId, _, _):
|
case let .lightning(_, _, _, _, _, _, _, _, _, _, claimTxId, _, _):
|
||||||
return claimTxId != nil
|
return claimTxId != nil
|
||||||
default:
|
default:
|
||||||
return false
|
return false
|
||||||
|
|||||||
@@ -64,10 +64,10 @@ interface InputType {
|
|||||||
BitcoinAddress(BitcoinAddressData address);
|
BitcoinAddress(BitcoinAddressData address);
|
||||||
LiquidAddress(LiquidAddressData address);
|
LiquidAddress(LiquidAddressData address);
|
||||||
Bolt11(LNInvoice invoice);
|
Bolt11(LNInvoice invoice);
|
||||||
Bolt12Offer(LNOffer offer);
|
Bolt12Offer(LNOffer offer, string? bip353_address);
|
||||||
NodeId(string node_id);
|
NodeId(string node_id);
|
||||||
Url(string url);
|
Url(string url);
|
||||||
LnUrlPay(LnUrlPayRequestData data);
|
LnUrlPay(LnUrlPayRequestData data, string? bip353_address);
|
||||||
LnUrlWithdraw(LnUrlWithdrawRequestData data);
|
LnUrlWithdraw(LnUrlWithdrawRequestData data);
|
||||||
LnUrlAuth(LnUrlAuthRequestData data);
|
LnUrlAuth(LnUrlAuthRequestData data);
|
||||||
LnUrlError(LnUrlErrorData data);
|
LnUrlError(LnUrlErrorData data);
|
||||||
@@ -408,6 +408,7 @@ dictionary CheckMessageResponse {
|
|||||||
dictionary PrepareLnUrlPayRequest {
|
dictionary PrepareLnUrlPayRequest {
|
||||||
LnUrlPayRequestData data;
|
LnUrlPayRequestData data;
|
||||||
PayAmount amount;
|
PayAmount amount;
|
||||||
|
string? bip353_address = null;
|
||||||
string? comment = null;
|
string? comment = null;
|
||||||
boolean? validate_success_action_url = null;
|
boolean? validate_success_action_url = null;
|
||||||
};
|
};
|
||||||
@@ -432,8 +433,8 @@ dictionary PrepareSendRequest {
|
|||||||
[Enum]
|
[Enum]
|
||||||
interface SendDestination {
|
interface SendDestination {
|
||||||
LiquidAddress(LiquidAddressData address_data);
|
LiquidAddress(LiquidAddressData address_data);
|
||||||
Bolt11(LNInvoice invoice);
|
Bolt11(LNInvoice invoice, string? bip353_address);
|
||||||
Bolt12(LNOffer offer, u64 receiver_amount_sat);
|
Bolt12(LNOffer offer, u64 receiver_amount_sat, string? bip353_address);
|
||||||
};
|
};
|
||||||
|
|
||||||
dictionary PrepareSendResponse {
|
dictionary PrepareSendResponse {
|
||||||
@@ -608,7 +609,7 @@ dictionary AssetInfo {
|
|||||||
|
|
||||||
[Enum]
|
[Enum]
|
||||||
interface PaymentDetails {
|
interface PaymentDetails {
|
||||||
Lightning(string swap_id, string description, u32 liquid_expiration_blockheight, string? preimage, string? invoice, string? bolt12_offer, string? payment_hash, string? destination_pubkey, LnUrlInfo? lnurl_info, string? claim_tx_id, string? refund_tx_id, u64? refund_tx_amount_sat);
|
Lightning(string swap_id, string description, u32 liquid_expiration_blockheight, string? preimage, string? invoice, string? bolt12_offer, string? payment_hash, string? destination_pubkey, LnUrlInfo? lnurl_info, string? bip353_address, string? claim_tx_id, string? refund_tx_id, u64? refund_tx_amount_sat);
|
||||||
Liquid(string asset_id, string destination, string description, AssetInfo? asset_info);
|
Liquid(string asset_id, string destination, string description, AssetInfo? asset_info);
|
||||||
Bitcoin(string swap_id, string description, boolean auto_accepted_fees, u32? bitcoin_expiration_blockheight, u32? liquid_expiration_blockheight, string? claim_tx_id, string? refund_tx_id, u64? refund_tx_amount_sat);
|
Bitcoin(string swap_id, string description, boolean auto_accepted_fees, u32? bitcoin_expiration_blockheight, u32? liquid_expiration_blockheight, string? claim_tx_id, string? refund_tx_id, u64? refund_tx_amount_sat);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ lwk_wollet = { git = "https://github.com/breez/lwk", branch = "breez-sdk-liquid-
|
|||||||
#lwk_wollet = "0.8.0"
|
#lwk_wollet = "0.8.0"
|
||||||
rusqlite = { version = "0.31", features = ["backup", "bundled"] }
|
rusqlite = { version = "0.31", features = ["backup", "bundled"] }
|
||||||
rusqlite_migration = "1.0"
|
rusqlite_migration = "1.0"
|
||||||
sdk-common = { git = "https://github.com/breez/breez-sdk", rev = "7a96ce7e5c12d837948e1e37687a1bd0cd0f884c", features = ["liquid"] }
|
sdk-common = { git = "https://github.com/breez/breez-sdk", rev = "84578d9abe1dd0d59867f93a22a92220ab16a52e", features = ["liquid"] }
|
||||||
serde = { version = "1.0.197", features = ["derive"] }
|
serde = { version = "1.0.197", features = ["derive"] }
|
||||||
serde_json = "1.0.116"
|
serde_json = "1.0.116"
|
||||||
strum = "0.25"
|
strum = "0.25"
|
||||||
|
|||||||
@@ -380,16 +380,38 @@ pub struct _LNOffer {
|
|||||||
|
|
||||||
#[frb(mirror(InputType))]
|
#[frb(mirror(InputType))]
|
||||||
pub enum _InputType {
|
pub enum _InputType {
|
||||||
BitcoinAddress { address: BitcoinAddressData },
|
BitcoinAddress {
|
||||||
LiquidAddress { address: LiquidAddressData },
|
address: BitcoinAddressData,
|
||||||
Bolt11 { invoice: LNInvoice },
|
},
|
||||||
Bolt12Offer { offer: LNOffer },
|
LiquidAddress {
|
||||||
NodeId { node_id: String },
|
address: LiquidAddressData,
|
||||||
Url { url: String },
|
},
|
||||||
LnUrlPay { data: LnUrlPayRequestData },
|
Bolt11 {
|
||||||
LnUrlWithdraw { data: LnUrlWithdrawRequestData },
|
invoice: LNInvoice,
|
||||||
LnUrlAuth { data: LnUrlAuthRequestData },
|
},
|
||||||
LnUrlError { data: LnUrlErrorData },
|
Bolt12Offer {
|
||||||
|
offer: LNOffer,
|
||||||
|
bip353_address: Option<String>,
|
||||||
|
},
|
||||||
|
NodeId {
|
||||||
|
node_id: String,
|
||||||
|
},
|
||||||
|
Url {
|
||||||
|
url: String,
|
||||||
|
},
|
||||||
|
LnUrlPay {
|
||||||
|
data: LnUrlPayRequestData,
|
||||||
|
bip353_address: Option<String>,
|
||||||
|
},
|
||||||
|
LnUrlWithdraw {
|
||||||
|
data: LnUrlWithdrawRequestData,
|
||||||
|
},
|
||||||
|
LnUrlAuth {
|
||||||
|
data: LnUrlAuthRequestData,
|
||||||
|
},
|
||||||
|
LnUrlError {
|
||||||
|
data: LnUrlErrorData,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
#[frb(mirror(BitcoinAddressData))]
|
#[frb(mirror(BitcoinAddressData))]
|
||||||
|
|||||||
@@ -1939,8 +1939,12 @@ const _: fn() = || {
|
|||||||
crate::bindings::InputType::Bolt11 { invoice } => {
|
crate::bindings::InputType::Bolt11 { invoice } => {
|
||||||
let _: crate::bindings::LNInvoice = invoice;
|
let _: crate::bindings::LNInvoice = invoice;
|
||||||
}
|
}
|
||||||
crate::bindings::InputType::Bolt12Offer { offer } => {
|
crate::bindings::InputType::Bolt12Offer {
|
||||||
|
offer,
|
||||||
|
bip353_address,
|
||||||
|
} => {
|
||||||
let _: crate::bindings::LNOffer = offer;
|
let _: crate::bindings::LNOffer = offer;
|
||||||
|
let _: Option<String> = bip353_address;
|
||||||
}
|
}
|
||||||
crate::bindings::InputType::NodeId { node_id } => {
|
crate::bindings::InputType::NodeId { node_id } => {
|
||||||
let _: String = node_id;
|
let _: String = node_id;
|
||||||
@@ -1948,8 +1952,12 @@ const _: fn() = || {
|
|||||||
crate::bindings::InputType::Url { url } => {
|
crate::bindings::InputType::Url { url } => {
|
||||||
let _: String = url;
|
let _: String = url;
|
||||||
}
|
}
|
||||||
crate::bindings::InputType::LnUrlPay { data } => {
|
crate::bindings::InputType::LnUrlPay {
|
||||||
|
data,
|
||||||
|
bip353_address,
|
||||||
|
} => {
|
||||||
let _: crate::bindings::LnUrlPayRequestData = data;
|
let _: crate::bindings::LnUrlPayRequestData = data;
|
||||||
|
let _: Option<String> = bip353_address;
|
||||||
}
|
}
|
||||||
crate::bindings::InputType::LnUrlWithdraw { data } => {
|
crate::bindings::InputType::LnUrlWithdraw { data } => {
|
||||||
let _: crate::bindings::LnUrlWithdrawRequestData = data;
|
let _: crate::bindings::LnUrlWithdrawRequestData = data;
|
||||||
@@ -2748,7 +2756,11 @@ impl SseDecode for crate::bindings::InputType {
|
|||||||
}
|
}
|
||||||
3 => {
|
3 => {
|
||||||
let mut var_offer = <crate::bindings::LNOffer>::sse_decode(deserializer);
|
let mut var_offer = <crate::bindings::LNOffer>::sse_decode(deserializer);
|
||||||
return crate::bindings::InputType::Bolt12Offer { offer: var_offer };
|
let mut var_bip353Address = <Option<String>>::sse_decode(deserializer);
|
||||||
|
return crate::bindings::InputType::Bolt12Offer {
|
||||||
|
offer: var_offer,
|
||||||
|
bip353_address: var_bip353Address,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
4 => {
|
4 => {
|
||||||
let mut var_nodeId = <String>::sse_decode(deserializer);
|
let mut var_nodeId = <String>::sse_decode(deserializer);
|
||||||
@@ -2762,7 +2774,11 @@ impl SseDecode for crate::bindings::InputType {
|
|||||||
}
|
}
|
||||||
6 => {
|
6 => {
|
||||||
let mut var_data = <crate::bindings::LnUrlPayRequestData>::sse_decode(deserializer);
|
let mut var_data = <crate::bindings::LnUrlPayRequestData>::sse_decode(deserializer);
|
||||||
return crate::bindings::InputType::LnUrlPay { data: var_data };
|
let mut var_bip353Address = <Option<String>>::sse_decode(deserializer);
|
||||||
|
return crate::bindings::InputType::LnUrlPay {
|
||||||
|
data: var_data,
|
||||||
|
bip353_address: var_bip353Address,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
7 => {
|
7 => {
|
||||||
let mut var_data =
|
let mut var_data =
|
||||||
@@ -3907,6 +3923,7 @@ impl SseDecode for crate::model::PaymentDetails {
|
|||||||
let mut var_paymentHash = <Option<String>>::sse_decode(deserializer);
|
let mut var_paymentHash = <Option<String>>::sse_decode(deserializer);
|
||||||
let mut var_destinationPubkey = <Option<String>>::sse_decode(deserializer);
|
let mut var_destinationPubkey = <Option<String>>::sse_decode(deserializer);
|
||||||
let mut var_lnurlInfo = <Option<crate::model::LnUrlInfo>>::sse_decode(deserializer);
|
let mut var_lnurlInfo = <Option<crate::model::LnUrlInfo>>::sse_decode(deserializer);
|
||||||
|
let mut var_bip353Address = <Option<String>>::sse_decode(deserializer);
|
||||||
let mut var_claimTxId = <Option<String>>::sse_decode(deserializer);
|
let mut var_claimTxId = <Option<String>>::sse_decode(deserializer);
|
||||||
let mut var_refundTxId = <Option<String>>::sse_decode(deserializer);
|
let mut var_refundTxId = <Option<String>>::sse_decode(deserializer);
|
||||||
let mut var_refundTxAmountSat = <Option<u64>>::sse_decode(deserializer);
|
let mut var_refundTxAmountSat = <Option<u64>>::sse_decode(deserializer);
|
||||||
@@ -3920,6 +3937,7 @@ impl SseDecode for crate::model::PaymentDetails {
|
|||||||
payment_hash: var_paymentHash,
|
payment_hash: var_paymentHash,
|
||||||
destination_pubkey: var_destinationPubkey,
|
destination_pubkey: var_destinationPubkey,
|
||||||
lnurl_info: var_lnurlInfo,
|
lnurl_info: var_lnurlInfo,
|
||||||
|
bip353_address: var_bip353Address,
|
||||||
claim_tx_id: var_claimTxId,
|
claim_tx_id: var_claimTxId,
|
||||||
refund_tx_id: var_refundTxId,
|
refund_tx_id: var_refundTxId,
|
||||||
refund_tx_amount_sat: var_refundTxAmountSat,
|
refund_tx_amount_sat: var_refundTxAmountSat,
|
||||||
@@ -4131,11 +4149,13 @@ impl SseDecode for crate::model::PrepareLnUrlPayRequest {
|
|||||||
fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
|
fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
|
||||||
let mut var_data = <crate::bindings::LnUrlPayRequestData>::sse_decode(deserializer);
|
let mut var_data = <crate::bindings::LnUrlPayRequestData>::sse_decode(deserializer);
|
||||||
let mut var_amount = <crate::model::PayAmount>::sse_decode(deserializer);
|
let mut var_amount = <crate::model::PayAmount>::sse_decode(deserializer);
|
||||||
|
let mut var_bip353Address = <Option<String>>::sse_decode(deserializer);
|
||||||
let mut var_comment = <Option<String>>::sse_decode(deserializer);
|
let mut var_comment = <Option<String>>::sse_decode(deserializer);
|
||||||
let mut var_validateSuccessActionUrl = <Option<bool>>::sse_decode(deserializer);
|
let mut var_validateSuccessActionUrl = <Option<bool>>::sse_decode(deserializer);
|
||||||
return crate::model::PrepareLnUrlPayRequest {
|
return crate::model::PrepareLnUrlPayRequest {
|
||||||
data: var_data,
|
data: var_data,
|
||||||
amount: var_amount,
|
amount: var_amount,
|
||||||
|
bip353_address: var_bip353Address,
|
||||||
comment: var_comment,
|
comment: var_comment,
|
||||||
validate_success_action_url: var_validateSuccessActionUrl,
|
validate_success_action_url: var_validateSuccessActionUrl,
|
||||||
};
|
};
|
||||||
@@ -4535,16 +4555,20 @@ impl SseDecode for crate::model::SendDestination {
|
|||||||
}
|
}
|
||||||
1 => {
|
1 => {
|
||||||
let mut var_invoice = <crate::bindings::LNInvoice>::sse_decode(deserializer);
|
let mut var_invoice = <crate::bindings::LNInvoice>::sse_decode(deserializer);
|
||||||
|
let mut var_bip353Address = <Option<String>>::sse_decode(deserializer);
|
||||||
return crate::model::SendDestination::Bolt11 {
|
return crate::model::SendDestination::Bolt11 {
|
||||||
invoice: var_invoice,
|
invoice: var_invoice,
|
||||||
|
bip353_address: var_bip353Address,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
2 => {
|
2 => {
|
||||||
let mut var_offer = <crate::bindings::LNOffer>::sse_decode(deserializer);
|
let mut var_offer = <crate::bindings::LNOffer>::sse_decode(deserializer);
|
||||||
let mut var_receiverAmountSat = <u64>::sse_decode(deserializer);
|
let mut var_receiverAmountSat = <u64>::sse_decode(deserializer);
|
||||||
|
let mut var_bip353Address = <Option<String>>::sse_decode(deserializer);
|
||||||
return crate::model::SendDestination::Bolt12 {
|
return crate::model::SendDestination::Bolt12 {
|
||||||
offer: var_offer,
|
offer: var_offer,
|
||||||
receiver_amount_sat: var_receiverAmountSat,
|
receiver_amount_sat: var_receiverAmountSat,
|
||||||
|
bip353_address: var_bip353Address,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
_ => {
|
_ => {
|
||||||
@@ -5330,18 +5354,30 @@ impl flutter_rust_bridge::IntoDart for FrbWrapper<crate::bindings::InputType> {
|
|||||||
crate::bindings::InputType::Bolt11 { invoice } => {
|
crate::bindings::InputType::Bolt11 { invoice } => {
|
||||||
[2.into_dart(), invoice.into_into_dart().into_dart()].into_dart()
|
[2.into_dart(), invoice.into_into_dart().into_dart()].into_dart()
|
||||||
}
|
}
|
||||||
crate::bindings::InputType::Bolt12Offer { offer } => {
|
crate::bindings::InputType::Bolt12Offer {
|
||||||
[3.into_dart(), offer.into_into_dart().into_dart()].into_dart()
|
offer,
|
||||||
}
|
bip353_address,
|
||||||
|
} => [
|
||||||
|
3.into_dart(),
|
||||||
|
offer.into_into_dart().into_dart(),
|
||||||
|
bip353_address.into_into_dart().into_dart(),
|
||||||
|
]
|
||||||
|
.into_dart(),
|
||||||
crate::bindings::InputType::NodeId { node_id } => {
|
crate::bindings::InputType::NodeId { node_id } => {
|
||||||
[4.into_dart(), node_id.into_into_dart().into_dart()].into_dart()
|
[4.into_dart(), node_id.into_into_dart().into_dart()].into_dart()
|
||||||
}
|
}
|
||||||
crate::bindings::InputType::Url { url } => {
|
crate::bindings::InputType::Url { url } => {
|
||||||
[5.into_dart(), url.into_into_dart().into_dart()].into_dart()
|
[5.into_dart(), url.into_into_dart().into_dart()].into_dart()
|
||||||
}
|
}
|
||||||
crate::bindings::InputType::LnUrlPay { data } => {
|
crate::bindings::InputType::LnUrlPay {
|
||||||
[6.into_dart(), data.into_into_dart().into_dart()].into_dart()
|
data,
|
||||||
}
|
bip353_address,
|
||||||
|
} => [
|
||||||
|
6.into_dart(),
|
||||||
|
data.into_into_dart().into_dart(),
|
||||||
|
bip353_address.into_into_dart().into_dart(),
|
||||||
|
]
|
||||||
|
.into_dart(),
|
||||||
crate::bindings::InputType::LnUrlWithdraw { data } => {
|
crate::bindings::InputType::LnUrlWithdraw { data } => {
|
||||||
[7.into_dart(), data.into_into_dart().into_dart()].into_dart()
|
[7.into_dart(), data.into_into_dart().into_dart()].into_dart()
|
||||||
}
|
}
|
||||||
@@ -6217,6 +6253,7 @@ impl flutter_rust_bridge::IntoDart for crate::model::PaymentDetails {
|
|||||||
payment_hash,
|
payment_hash,
|
||||||
destination_pubkey,
|
destination_pubkey,
|
||||||
lnurl_info,
|
lnurl_info,
|
||||||
|
bip353_address,
|
||||||
claim_tx_id,
|
claim_tx_id,
|
||||||
refund_tx_id,
|
refund_tx_id,
|
||||||
refund_tx_amount_sat,
|
refund_tx_amount_sat,
|
||||||
@@ -6231,6 +6268,7 @@ impl flutter_rust_bridge::IntoDart for crate::model::PaymentDetails {
|
|||||||
payment_hash.into_into_dart().into_dart(),
|
payment_hash.into_into_dart().into_dart(),
|
||||||
destination_pubkey.into_into_dart().into_dart(),
|
destination_pubkey.into_into_dart().into_dart(),
|
||||||
lnurl_info.into_into_dart().into_dart(),
|
lnurl_info.into_into_dart().into_dart(),
|
||||||
|
bip353_address.into_into_dart().into_dart(),
|
||||||
claim_tx_id.into_into_dart().into_dart(),
|
claim_tx_id.into_into_dart().into_dart(),
|
||||||
refund_tx_id.into_into_dart().into_dart(),
|
refund_tx_id.into_into_dart().into_dart(),
|
||||||
refund_tx_amount_sat.into_into_dart().into_dart(),
|
refund_tx_amount_sat.into_into_dart().into_dart(),
|
||||||
@@ -6453,6 +6491,7 @@ impl flutter_rust_bridge::IntoDart for crate::model::PrepareLnUrlPayRequest {
|
|||||||
[
|
[
|
||||||
self.data.into_into_dart().into_dart(),
|
self.data.into_into_dart().into_dart(),
|
||||||
self.amount.into_into_dart().into_dart(),
|
self.amount.into_into_dart().into_dart(),
|
||||||
|
self.bip353_address.into_into_dart().into_dart(),
|
||||||
self.comment.into_into_dart().into_dart(),
|
self.comment.into_into_dart().into_dart(),
|
||||||
self.validate_success_action_url
|
self.validate_success_action_url
|
||||||
.into_into_dart()
|
.into_into_dart()
|
||||||
@@ -6967,16 +7006,24 @@ impl flutter_rust_bridge::IntoDart for crate::model::SendDestination {
|
|||||||
crate::model::SendDestination::LiquidAddress { address_data } => {
|
crate::model::SendDestination::LiquidAddress { address_data } => {
|
||||||
[0.into_dart(), address_data.into_into_dart().into_dart()].into_dart()
|
[0.into_dart(), address_data.into_into_dart().into_dart()].into_dart()
|
||||||
}
|
}
|
||||||
crate::model::SendDestination::Bolt11 { invoice } => {
|
crate::model::SendDestination::Bolt11 {
|
||||||
[1.into_dart(), invoice.into_into_dart().into_dart()].into_dart()
|
invoice,
|
||||||
}
|
bip353_address,
|
||||||
|
} => [
|
||||||
|
1.into_dart(),
|
||||||
|
invoice.into_into_dart().into_dart(),
|
||||||
|
bip353_address.into_into_dart().into_dart(),
|
||||||
|
]
|
||||||
|
.into_dart(),
|
||||||
crate::model::SendDestination::Bolt12 {
|
crate::model::SendDestination::Bolt12 {
|
||||||
offer,
|
offer,
|
||||||
receiver_amount_sat,
|
receiver_amount_sat,
|
||||||
|
bip353_address,
|
||||||
} => [
|
} => [
|
||||||
2.into_dart(),
|
2.into_dart(),
|
||||||
offer.into_into_dart().into_dart(),
|
offer.into_into_dart().into_dart(),
|
||||||
receiver_amount_sat.into_into_dart().into_dart(),
|
receiver_amount_sat.into_into_dart().into_dart(),
|
||||||
|
bip353_address.into_into_dart().into_dart(),
|
||||||
]
|
]
|
||||||
.into_dart(),
|
.into_dart(),
|
||||||
_ => {
|
_ => {
|
||||||
@@ -7556,9 +7603,13 @@ impl SseEncode for crate::bindings::InputType {
|
|||||||
<i32>::sse_encode(2, serializer);
|
<i32>::sse_encode(2, serializer);
|
||||||
<crate::bindings::LNInvoice>::sse_encode(invoice, serializer);
|
<crate::bindings::LNInvoice>::sse_encode(invoice, serializer);
|
||||||
}
|
}
|
||||||
crate::bindings::InputType::Bolt12Offer { offer } => {
|
crate::bindings::InputType::Bolt12Offer {
|
||||||
|
offer,
|
||||||
|
bip353_address,
|
||||||
|
} => {
|
||||||
<i32>::sse_encode(3, serializer);
|
<i32>::sse_encode(3, serializer);
|
||||||
<crate::bindings::LNOffer>::sse_encode(offer, serializer);
|
<crate::bindings::LNOffer>::sse_encode(offer, serializer);
|
||||||
|
<Option<String>>::sse_encode(bip353_address, serializer);
|
||||||
}
|
}
|
||||||
crate::bindings::InputType::NodeId { node_id } => {
|
crate::bindings::InputType::NodeId { node_id } => {
|
||||||
<i32>::sse_encode(4, serializer);
|
<i32>::sse_encode(4, serializer);
|
||||||
@@ -7568,9 +7619,13 @@ impl SseEncode for crate::bindings::InputType {
|
|||||||
<i32>::sse_encode(5, serializer);
|
<i32>::sse_encode(5, serializer);
|
||||||
<String>::sse_encode(url, serializer);
|
<String>::sse_encode(url, serializer);
|
||||||
}
|
}
|
||||||
crate::bindings::InputType::LnUrlPay { data } => {
|
crate::bindings::InputType::LnUrlPay {
|
||||||
|
data,
|
||||||
|
bip353_address,
|
||||||
|
} => {
|
||||||
<i32>::sse_encode(6, serializer);
|
<i32>::sse_encode(6, serializer);
|
||||||
<crate::bindings::LnUrlPayRequestData>::sse_encode(data, serializer);
|
<crate::bindings::LnUrlPayRequestData>::sse_encode(data, serializer);
|
||||||
|
<Option<String>>::sse_encode(bip353_address, serializer);
|
||||||
}
|
}
|
||||||
crate::bindings::InputType::LnUrlWithdraw { data } => {
|
crate::bindings::InputType::LnUrlWithdraw { data } => {
|
||||||
<i32>::sse_encode(7, serializer);
|
<i32>::sse_encode(7, serializer);
|
||||||
@@ -8486,6 +8541,7 @@ impl SseEncode for crate::model::PaymentDetails {
|
|||||||
payment_hash,
|
payment_hash,
|
||||||
destination_pubkey,
|
destination_pubkey,
|
||||||
lnurl_info,
|
lnurl_info,
|
||||||
|
bip353_address,
|
||||||
claim_tx_id,
|
claim_tx_id,
|
||||||
refund_tx_id,
|
refund_tx_id,
|
||||||
refund_tx_amount_sat,
|
refund_tx_amount_sat,
|
||||||
@@ -8500,6 +8556,7 @@ impl SseEncode for crate::model::PaymentDetails {
|
|||||||
<Option<String>>::sse_encode(payment_hash, serializer);
|
<Option<String>>::sse_encode(payment_hash, serializer);
|
||||||
<Option<String>>::sse_encode(destination_pubkey, serializer);
|
<Option<String>>::sse_encode(destination_pubkey, serializer);
|
||||||
<Option<crate::model::LnUrlInfo>>::sse_encode(lnurl_info, serializer);
|
<Option<crate::model::LnUrlInfo>>::sse_encode(lnurl_info, serializer);
|
||||||
|
<Option<String>>::sse_encode(bip353_address, serializer);
|
||||||
<Option<String>>::sse_encode(claim_tx_id, serializer);
|
<Option<String>>::sse_encode(claim_tx_id, serializer);
|
||||||
<Option<String>>::sse_encode(refund_tx_id, serializer);
|
<Option<String>>::sse_encode(refund_tx_id, serializer);
|
||||||
<Option<u64>>::sse_encode(refund_tx_amount_sat, serializer);
|
<Option<u64>>::sse_encode(refund_tx_amount_sat, serializer);
|
||||||
@@ -8709,6 +8766,7 @@ impl SseEncode for crate::model::PrepareLnUrlPayRequest {
|
|||||||
fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
|
fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
|
||||||
<crate::bindings::LnUrlPayRequestData>::sse_encode(self.data, serializer);
|
<crate::bindings::LnUrlPayRequestData>::sse_encode(self.data, serializer);
|
||||||
<crate::model::PayAmount>::sse_encode(self.amount, serializer);
|
<crate::model::PayAmount>::sse_encode(self.amount, serializer);
|
||||||
|
<Option<String>>::sse_encode(self.bip353_address, serializer);
|
||||||
<Option<String>>::sse_encode(self.comment, serializer);
|
<Option<String>>::sse_encode(self.comment, serializer);
|
||||||
<Option<bool>>::sse_encode(self.validate_success_action_url, serializer);
|
<Option<bool>>::sse_encode(self.validate_success_action_url, serializer);
|
||||||
}
|
}
|
||||||
@@ -8986,17 +9044,23 @@ impl SseEncode for crate::model::SendDestination {
|
|||||||
<i32>::sse_encode(0, serializer);
|
<i32>::sse_encode(0, serializer);
|
||||||
<crate::bindings::LiquidAddressData>::sse_encode(address_data, serializer);
|
<crate::bindings::LiquidAddressData>::sse_encode(address_data, serializer);
|
||||||
}
|
}
|
||||||
crate::model::SendDestination::Bolt11 { invoice } => {
|
crate::model::SendDestination::Bolt11 {
|
||||||
|
invoice,
|
||||||
|
bip353_address,
|
||||||
|
} => {
|
||||||
<i32>::sse_encode(1, serializer);
|
<i32>::sse_encode(1, serializer);
|
||||||
<crate::bindings::LNInvoice>::sse_encode(invoice, serializer);
|
<crate::bindings::LNInvoice>::sse_encode(invoice, serializer);
|
||||||
|
<Option<String>>::sse_encode(bip353_address, serializer);
|
||||||
}
|
}
|
||||||
crate::model::SendDestination::Bolt12 {
|
crate::model::SendDestination::Bolt12 {
|
||||||
offer,
|
offer,
|
||||||
receiver_amount_sat,
|
receiver_amount_sat,
|
||||||
|
bip353_address,
|
||||||
} => {
|
} => {
|
||||||
<i32>::sse_encode(2, serializer);
|
<i32>::sse_encode(2, serializer);
|
||||||
<crate::bindings::LNOffer>::sse_encode(offer, serializer);
|
<crate::bindings::LNOffer>::sse_encode(offer, serializer);
|
||||||
<u64>::sse_encode(receiver_amount_sat, serializer);
|
<u64>::sse_encode(receiver_amount_sat, serializer);
|
||||||
|
<Option<String>>::sse_encode(bip353_address, serializer);
|
||||||
}
|
}
|
||||||
_ => {
|
_ => {
|
||||||
unimplemented!("");
|
unimplemented!("");
|
||||||
@@ -9958,6 +10022,7 @@ mod io {
|
|||||||
let ans = unsafe { self.kind.Bolt12Offer };
|
let ans = unsafe { self.kind.Bolt12Offer };
|
||||||
crate::bindings::InputType::Bolt12Offer {
|
crate::bindings::InputType::Bolt12Offer {
|
||||||
offer: ans.offer.cst_decode(),
|
offer: ans.offer.cst_decode(),
|
||||||
|
bip353_address: ans.bip353_address.cst_decode(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
4 => {
|
4 => {
|
||||||
@@ -9976,6 +10041,7 @@ mod io {
|
|||||||
let ans = unsafe { self.kind.LnUrlPay };
|
let ans = unsafe { self.kind.LnUrlPay };
|
||||||
crate::bindings::InputType::LnUrlPay {
|
crate::bindings::InputType::LnUrlPay {
|
||||||
data: ans.data.cst_decode(),
|
data: ans.data.cst_decode(),
|
||||||
|
bip353_address: ans.bip353_address.cst_decode(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
7 => {
|
7 => {
|
||||||
@@ -10716,6 +10782,7 @@ mod io {
|
|||||||
payment_hash: ans.payment_hash.cst_decode(),
|
payment_hash: ans.payment_hash.cst_decode(),
|
||||||
destination_pubkey: ans.destination_pubkey.cst_decode(),
|
destination_pubkey: ans.destination_pubkey.cst_decode(),
|
||||||
lnurl_info: ans.lnurl_info.cst_decode(),
|
lnurl_info: ans.lnurl_info.cst_decode(),
|
||||||
|
bip353_address: ans.bip353_address.cst_decode(),
|
||||||
claim_tx_id: ans.claim_tx_id.cst_decode(),
|
claim_tx_id: ans.claim_tx_id.cst_decode(),
|
||||||
refund_tx_id: ans.refund_tx_id.cst_decode(),
|
refund_tx_id: ans.refund_tx_id.cst_decode(),
|
||||||
refund_tx_amount_sat: ans.refund_tx_amount_sat.cst_decode(),
|
refund_tx_amount_sat: ans.refund_tx_amount_sat.cst_decode(),
|
||||||
@@ -10862,6 +10929,7 @@ mod io {
|
|||||||
crate::model::PrepareLnUrlPayRequest {
|
crate::model::PrepareLnUrlPayRequest {
|
||||||
data: self.data.cst_decode(),
|
data: self.data.cst_decode(),
|
||||||
amount: self.amount.cst_decode(),
|
amount: self.amount.cst_decode(),
|
||||||
|
bip353_address: self.bip353_address.cst_decode(),
|
||||||
comment: self.comment.cst_decode(),
|
comment: self.comment.cst_decode(),
|
||||||
validate_success_action_url: self.validate_success_action_url.cst_decode(),
|
validate_success_action_url: self.validate_success_action_url.cst_decode(),
|
||||||
}
|
}
|
||||||
@@ -11170,6 +11238,7 @@ mod io {
|
|||||||
let ans = unsafe { self.kind.Bolt11 };
|
let ans = unsafe { self.kind.Bolt11 };
|
||||||
crate::model::SendDestination::Bolt11 {
|
crate::model::SendDestination::Bolt11 {
|
||||||
invoice: ans.invoice.cst_decode(),
|
invoice: ans.invoice.cst_decode(),
|
||||||
|
bip353_address: ans.bip353_address.cst_decode(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
2 => {
|
2 => {
|
||||||
@@ -11177,6 +11246,7 @@ mod io {
|
|||||||
crate::model::SendDestination::Bolt12 {
|
crate::model::SendDestination::Bolt12 {
|
||||||
offer: ans.offer.cst_decode(),
|
offer: ans.offer.cst_decode(),
|
||||||
receiver_amount_sat: ans.receiver_amount_sat.cst_decode(),
|
receiver_amount_sat: ans.receiver_amount_sat.cst_decode(),
|
||||||
|
bip353_address: ans.bip353_address.cst_decode(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
@@ -12178,6 +12248,7 @@ mod io {
|
|||||||
Self {
|
Self {
|
||||||
data: Default::default(),
|
data: Default::default(),
|
||||||
amount: Default::default(),
|
amount: Default::default(),
|
||||||
|
bip353_address: core::ptr::null_mut(),
|
||||||
comment: core::ptr::null_mut(),
|
comment: core::ptr::null_mut(),
|
||||||
validate_success_action_url: core::ptr::null_mut(),
|
validate_success_action_url: core::ptr::null_mut(),
|
||||||
}
|
}
|
||||||
@@ -13888,6 +13959,7 @@ mod io {
|
|||||||
#[derive(Clone, Copy)]
|
#[derive(Clone, Copy)]
|
||||||
pub struct wire_cst_InputType_Bolt12Offer {
|
pub struct wire_cst_InputType_Bolt12Offer {
|
||||||
offer: *mut wire_cst_ln_offer,
|
offer: *mut wire_cst_ln_offer,
|
||||||
|
bip353_address: *mut wire_cst_list_prim_u_8_strict,
|
||||||
}
|
}
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Clone, Copy)]
|
#[derive(Clone, Copy)]
|
||||||
@@ -13903,6 +13975,7 @@ mod io {
|
|||||||
#[derive(Clone, Copy)]
|
#[derive(Clone, Copy)]
|
||||||
pub struct wire_cst_InputType_LnUrlPay {
|
pub struct wire_cst_InputType_LnUrlPay {
|
||||||
data: *mut wire_cst_ln_url_pay_request_data,
|
data: *mut wire_cst_ln_url_pay_request_data,
|
||||||
|
bip353_address: *mut wire_cst_list_prim_u_8_strict,
|
||||||
}
|
}
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Clone, Copy)]
|
#[derive(Clone, Copy)]
|
||||||
@@ -14511,6 +14584,7 @@ mod io {
|
|||||||
payment_hash: *mut wire_cst_list_prim_u_8_strict,
|
payment_hash: *mut wire_cst_list_prim_u_8_strict,
|
||||||
destination_pubkey: *mut wire_cst_list_prim_u_8_strict,
|
destination_pubkey: *mut wire_cst_list_prim_u_8_strict,
|
||||||
lnurl_info: *mut wire_cst_ln_url_info,
|
lnurl_info: *mut wire_cst_ln_url_info,
|
||||||
|
bip353_address: *mut wire_cst_list_prim_u_8_strict,
|
||||||
claim_tx_id: *mut wire_cst_list_prim_u_8_strict,
|
claim_tx_id: *mut wire_cst_list_prim_u_8_strict,
|
||||||
refund_tx_id: *mut wire_cst_list_prim_u_8_strict,
|
refund_tx_id: *mut wire_cst_list_prim_u_8_strict,
|
||||||
refund_tx_amount_sat: *mut u64,
|
refund_tx_amount_sat: *mut u64,
|
||||||
@@ -14631,6 +14705,7 @@ mod io {
|
|||||||
pub struct wire_cst_prepare_ln_url_pay_request {
|
pub struct wire_cst_prepare_ln_url_pay_request {
|
||||||
data: wire_cst_ln_url_pay_request_data,
|
data: wire_cst_ln_url_pay_request_data,
|
||||||
amount: wire_cst_pay_amount,
|
amount: wire_cst_pay_amount,
|
||||||
|
bip353_address: *mut wire_cst_list_prim_u_8_strict,
|
||||||
comment: *mut wire_cst_list_prim_u_8_strict,
|
comment: *mut wire_cst_list_prim_u_8_strict,
|
||||||
validate_success_action_url: *mut bool,
|
validate_success_action_url: *mut bool,
|
||||||
}
|
}
|
||||||
@@ -14895,12 +14970,14 @@ mod io {
|
|||||||
#[derive(Clone, Copy)]
|
#[derive(Clone, Copy)]
|
||||||
pub struct wire_cst_SendDestination_Bolt11 {
|
pub struct wire_cst_SendDestination_Bolt11 {
|
||||||
invoice: *mut wire_cst_ln_invoice,
|
invoice: *mut wire_cst_ln_invoice,
|
||||||
|
bip353_address: *mut wire_cst_list_prim_u_8_strict,
|
||||||
}
|
}
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Clone, Copy)]
|
#[derive(Clone, Copy)]
|
||||||
pub struct wire_cst_SendDestination_Bolt12 {
|
pub struct wire_cst_SendDestination_Bolt12 {
|
||||||
offer: *mut wire_cst_ln_offer,
|
offer: *mut wire_cst_ln_offer,
|
||||||
receiver_amount_sat: u64,
|
receiver_amount_sat: u64,
|
||||||
|
bip353_address: *mut wire_cst_list_prim_u_8_strict,
|
||||||
}
|
}
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Clone, Copy)]
|
#[derive(Clone, Copy)]
|
||||||
|
|||||||
@@ -513,10 +513,14 @@ pub enum SendDestination {
|
|||||||
},
|
},
|
||||||
Bolt11 {
|
Bolt11 {
|
||||||
invoice: LNInvoice,
|
invoice: LNInvoice,
|
||||||
|
/// A BIP353 address, in case one was used to resolve this BOLT11
|
||||||
|
bip353_address: Option<String>,
|
||||||
},
|
},
|
||||||
Bolt12 {
|
Bolt12 {
|
||||||
offer: LNOffer,
|
offer: LNOffer,
|
||||||
receiver_amount_sat: u64,
|
receiver_amount_sat: u64,
|
||||||
|
/// A BIP353 address, in case one was used to resolve this BOLT12
|
||||||
|
bip353_address: Option<String>,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1596,6 +1600,9 @@ pub enum PaymentDetails {
|
|||||||
/// The payment LNURL info
|
/// The payment LNURL info
|
||||||
lnurl_info: Option<LnUrlInfo>,
|
lnurl_info: Option<LnUrlInfo>,
|
||||||
|
|
||||||
|
/// The BIP353 address used to resolve this payment
|
||||||
|
bip353_address: Option<String>,
|
||||||
|
|
||||||
/// For a Receive payment, this is the claim tx id in case it has already been broadcast
|
/// For a Receive payment, this is the claim tx id in case it has already been broadcast
|
||||||
claim_tx_id: Option<String>,
|
claim_tx_id: Option<String>,
|
||||||
|
|
||||||
@@ -1947,10 +1954,13 @@ impl From<SwapTree> for InternalSwapTree {
|
|||||||
/// An argument when calling [crate::sdk::LiquidSdk::prepare_lnurl_pay].
|
/// An argument when calling [crate::sdk::LiquidSdk::prepare_lnurl_pay].
|
||||||
#[derive(Debug, Serialize)]
|
#[derive(Debug, Serialize)]
|
||||||
pub struct PrepareLnUrlPayRequest {
|
pub struct PrepareLnUrlPayRequest {
|
||||||
/// The [LnUrlPayRequestData] returned by [crate::input_parser::parse]
|
/// The [LnUrlPayRequestData] returned by [parse]
|
||||||
pub data: LnUrlPayRequestData,
|
pub data: LnUrlPayRequestData,
|
||||||
/// The amount to send
|
/// The amount to send
|
||||||
pub amount: PayAmount,
|
pub amount: PayAmount,
|
||||||
|
/// A BIP353 address, in case one was used in order to fetch the LNURL Pay request data.
|
||||||
|
/// Returned by [parse].
|
||||||
|
pub bip353_address: Option<String>,
|
||||||
/// An optional comment for this payment
|
/// An optional comment for this payment
|
||||||
pub comment: Option<String>,
|
pub comment: Option<String>,
|
||||||
/// Validates that, if there is a URL success action, the URL domain matches
|
/// Validates that, if there is a URL success action, the URL domain matches
|
||||||
@@ -1965,7 +1975,7 @@ pub struct PrepareLnUrlPayResponse {
|
|||||||
pub destination: SendDestination,
|
pub destination: SendDestination,
|
||||||
/// The fees in satoshis to send the payment
|
/// The fees in satoshis to send the payment
|
||||||
pub fees_sat: u64,
|
pub fees_sat: u64,
|
||||||
/// The [LnUrlPayRequestData] returned by [crate::input_parser::parse]
|
/// The [LnUrlPayRequestData] returned by [parse]
|
||||||
pub data: LnUrlPayRequestData,
|
pub data: LnUrlPayRequestData,
|
||||||
/// An optional comment for this payment
|
/// An optional comment for this payment
|
||||||
pub comment: Option<String>,
|
pub comment: Option<String>,
|
||||||
|
|||||||
@@ -291,5 +291,6 @@ pub(crate) fn current_migrations(network: LiquidNetwork) -> Vec<&'static str> {
|
|||||||
) STRICT;
|
) STRICT;
|
||||||
",
|
",
|
||||||
insert_default_asset_metadata,
|
insert_default_asset_metadata,
|
||||||
|
"ALTER TABLE payment_details ADD COLUMN bip353_address TEXT;",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -299,18 +299,20 @@ impl Persister {
|
|||||||
con.execute(
|
con.execute(
|
||||||
&format!(
|
&format!(
|
||||||
"INSERT INTO payment_details (
|
"INSERT INTO payment_details (
|
||||||
tx_id,
|
tx_id,
|
||||||
destination,
|
destination,
|
||||||
description,
|
description,
|
||||||
lnurl_info_json
|
lnurl_info_json,
|
||||||
)
|
bip353_address
|
||||||
VALUES (?, ?, ?, ?)
|
)
|
||||||
ON CONFLICT (tx_id)
|
VALUES (?, ?, ?, ?, ?)
|
||||||
DO UPDATE SET
|
ON CONFLICT (tx_id)
|
||||||
{destination_update}
|
DO UPDATE SET
|
||||||
description = COALESCE(excluded.description, description),
|
{destination_update}
|
||||||
lnurl_info_json = COALESCE(excluded.lnurl_info_json, lnurl_info_json)
|
description = COALESCE(excluded.description, description),
|
||||||
"
|
lnurl_info_json = COALESCE(excluded.lnurl_info_json, lnurl_info_json),
|
||||||
|
bip353_address = COALESCE(excluded.bip353_address, bip353_address)
|
||||||
|
"
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
&payment_tx_details.tx_id,
|
&payment_tx_details.tx_id,
|
||||||
@@ -320,6 +322,7 @@ impl Persister {
|
|||||||
.lnurl_info
|
.lnurl_info
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.map(|info| serde_json::to_string(&info).ok()),
|
.map(|info| serde_json::to_string(&info).ok()),
|
||||||
|
&payment_tx_details.bip353_address,
|
||||||
),
|
),
|
||||||
)?;
|
)?;
|
||||||
Ok(())
|
Ok(())
|
||||||
@@ -348,7 +351,7 @@ impl Persister {
|
|||||||
pub(crate) fn get_payment_details(&self, tx_id: &str) -> Result<Option<PaymentTxDetails>> {
|
pub(crate) fn get_payment_details(&self, tx_id: &str) -> Result<Option<PaymentTxDetails>> {
|
||||||
let con = self.get_connection()?;
|
let con = self.get_connection()?;
|
||||||
let mut stmt = con.prepare(
|
let mut stmt = con.prepare(
|
||||||
"SELECT destination, description, lnurl_info_json
|
"SELECT destination, description, lnurl_info_json, bip353_address
|
||||||
FROM payment_details
|
FROM payment_details
|
||||||
WHERE tx_id = ?",
|
WHERE tx_id = ?",
|
||||||
)?;
|
)?;
|
||||||
@@ -356,12 +359,14 @@ impl Persister {
|
|||||||
let destination = row.get(0)?;
|
let destination = row.get(0)?;
|
||||||
let description = row.get(1)?;
|
let description = row.get(1)?;
|
||||||
let maybe_lnurl_info_json: Option<String> = row.get(2)?;
|
let maybe_lnurl_info_json: Option<String> = row.get(2)?;
|
||||||
|
let maybe_bip353_address = row.get(3)?;
|
||||||
Ok(PaymentTxDetails {
|
Ok(PaymentTxDetails {
|
||||||
tx_id: tx_id.to_string(),
|
tx_id: tx_id.to_string(),
|
||||||
destination,
|
destination,
|
||||||
description,
|
description,
|
||||||
lnurl_info: maybe_lnurl_info_json
|
lnurl_info: maybe_lnurl_info_json
|
||||||
.and_then(|info| serde_json::from_str::<LnUrlInfo>(&info).ok()),
|
.and_then(|info| serde_json::from_str::<LnUrlInfo>(&info).ok()),
|
||||||
|
bip353_address: maybe_bip353_address,
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
Ok(res.ok())
|
Ok(res.ok())
|
||||||
@@ -456,6 +461,7 @@ impl Persister {
|
|||||||
pd.destination,
|
pd.destination,
|
||||||
pd.description,
|
pd.description,
|
||||||
pd.lnurl_info_json,
|
pd.lnurl_info_json,
|
||||||
|
pd.bip353_address,
|
||||||
am.name,
|
am.name,
|
||||||
am.ticker,
|
am.ticker,
|
||||||
am.precision
|
am.precision
|
||||||
@@ -577,10 +583,11 @@ impl Persister {
|
|||||||
let maybe_payment_details_lnurl_info_json: Option<String> = row.get(54)?;
|
let maybe_payment_details_lnurl_info_json: Option<String> = row.get(54)?;
|
||||||
let maybe_payment_details_lnurl_info: Option<LnUrlInfo> =
|
let maybe_payment_details_lnurl_info: Option<LnUrlInfo> =
|
||||||
maybe_payment_details_lnurl_info_json.and_then(|info| serde_json::from_str(&info).ok());
|
maybe_payment_details_lnurl_info_json.and_then(|info| serde_json::from_str(&info).ok());
|
||||||
|
let maybe_payment_details_bip353_address: Option<String> = row.get(55)?;
|
||||||
|
|
||||||
let maybe_asset_metadata_name: Option<String> = row.get(55)?;
|
let maybe_asset_metadata_name: Option<String> = row.get(56)?;
|
||||||
let maybe_asset_metadata_ticker: Option<String> = row.get(56)?;
|
let maybe_asset_metadata_ticker: Option<String> = row.get(57)?;
|
||||||
let maybe_asset_metadata_precision: Option<u8> = row.get(57)?;
|
let maybe_asset_metadata_precision: Option<u8> = row.get(58)?;
|
||||||
|
|
||||||
let (swap, payment_type) = match maybe_receive_swap_id {
|
let (swap, payment_type) = match maybe_receive_swap_id {
|
||||||
Some(receive_swap_id) => {
|
Some(receive_swap_id) => {
|
||||||
@@ -742,6 +749,7 @@ impl Persister {
|
|||||||
})
|
})
|
||||||
}),
|
}),
|
||||||
lnurl_info: maybe_payment_details_lnurl_info,
|
lnurl_info: maybe_payment_details_lnurl_info,
|
||||||
|
bip353_address: maybe_payment_details_bip353_address,
|
||||||
claim_tx_id: maybe_claim_tx_id,
|
claim_tx_id: maybe_claim_tx_id,
|
||||||
refund_tx_id,
|
refund_tx_id,
|
||||||
refund_tx_amount_sat,
|
refund_tx_amount_sat,
|
||||||
|
|||||||
@@ -6,4 +6,5 @@ pub(crate) struct PaymentTxDetails {
|
|||||||
pub(crate) destination: String,
|
pub(crate) destination: String,
|
||||||
pub(crate) description: Option<String>,
|
pub(crate) description: Option<String>,
|
||||||
pub(crate) lnurl_info: Option<LnUrlInfo>,
|
pub(crate) lnurl_info: Option<LnUrlInfo>,
|
||||||
|
pub(crate) bip353_address: Option<String>,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1095,7 +1095,10 @@ impl LiquidSdk {
|
|||||||
(
|
(
|
||||||
invoice_amount_sat,
|
invoice_amount_sat,
|
||||||
fees_sat,
|
fees_sat,
|
||||||
SendDestination::Bolt11 { invoice },
|
SendDestination::Bolt11 {
|
||||||
|
invoice,
|
||||||
|
bip353_address: None,
|
||||||
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
(None, _) => {
|
(None, _) => {
|
||||||
@@ -1109,12 +1112,18 @@ impl LiquidSdk {
|
|||||||
(
|
(
|
||||||
invoice_amount_sat,
|
invoice_amount_sat,
|
||||||
fees_sat,
|
fees_sat,
|
||||||
SendDestination::Bolt11 { invoice },
|
SendDestination::Bolt11 {
|
||||||
|
invoice,
|
||||||
|
bip353_address: None,
|
||||||
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
Ok(InputType::Bolt12Offer { offer }) => {
|
Ok(InputType::Bolt12Offer {
|
||||||
|
offer,
|
||||||
|
bip353_address,
|
||||||
|
}) => {
|
||||||
receiver_amount_sat = match req.amount {
|
receiver_amount_sat = match req.amount {
|
||||||
Some(PayAmount::Bitcoin {
|
Some(PayAmount::Bitcoin {
|
||||||
receiver_amount_sat: amount_sat,
|
receiver_amount_sat: amount_sat,
|
||||||
@@ -1144,6 +1153,7 @@ impl LiquidSdk {
|
|||||||
payment_destination = SendDestination::Bolt12 {
|
payment_destination = SendDestination::Bolt12 {
|
||||||
offer,
|
offer,
|
||||||
receiver_amount_sat,
|
receiver_amount_sat,
|
||||||
|
bip353_address,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
_ => {
|
_ => {
|
||||||
@@ -1235,19 +1245,54 @@ impl LiquidSdk {
|
|||||||
self.pay_liquid(liquid_address_data.clone(), amount_sat, *fees_sat, true)
|
self.pay_liquid(liquid_address_data.clone(), amount_sat, *fees_sat, true)
|
||||||
.await
|
.await
|
||||||
}
|
}
|
||||||
SendDestination::Bolt11 { invoice } => {
|
SendDestination::Bolt11 {
|
||||||
self.pay_bolt11_invoice(&invoice.bolt11, *fees_sat).await
|
invoice,
|
||||||
|
bip353_address,
|
||||||
|
} => {
|
||||||
|
let response = self.pay_bolt11_invoice(&invoice.bolt11, *fees_sat).await?;
|
||||||
|
if bip353_address.is_some() {
|
||||||
|
if let (Some(tx_id), Some(destination)) =
|
||||||
|
(&response.payment.tx_id, &response.payment.destination)
|
||||||
|
{
|
||||||
|
self.persister
|
||||||
|
.insert_or_update_payment_details(PaymentTxDetails {
|
||||||
|
tx_id: tx_id.clone(),
|
||||||
|
destination: destination.clone(),
|
||||||
|
description: None,
|
||||||
|
lnurl_info: None,
|
||||||
|
bip353_address: bip353_address.clone(),
|
||||||
|
})?;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Ok(response)
|
||||||
}
|
}
|
||||||
SendDestination::Bolt12 {
|
SendDestination::Bolt12 {
|
||||||
offer,
|
offer,
|
||||||
receiver_amount_sat,
|
receiver_amount_sat,
|
||||||
|
bip353_address,
|
||||||
} => {
|
} => {
|
||||||
let bolt12_invoice = self
|
let bolt12_invoice = self
|
||||||
.swapper
|
.swapper
|
||||||
.get_bolt12_invoice(&offer.offer, *receiver_amount_sat)
|
.get_bolt12_invoice(&offer.offer, *receiver_amount_sat)
|
||||||
.await?;
|
.await?;
|
||||||
self.pay_bolt12_invoice(offer, *receiver_amount_sat, &bolt12_invoice, *fees_sat)
|
let response = self
|
||||||
.await
|
.pay_bolt12_invoice(offer, *receiver_amount_sat, &bolt12_invoice, *fees_sat)
|
||||||
|
.await?;
|
||||||
|
if bip353_address.is_some() {
|
||||||
|
if let (Some(tx_id), Some(destination)) =
|
||||||
|
(&response.payment.tx_id, &response.payment.destination)
|
||||||
|
{
|
||||||
|
self.persister
|
||||||
|
.insert_or_update_payment_details(PaymentTxDetails {
|
||||||
|
tx_id: tx_id.clone(),
|
||||||
|
destination: destination.clone(),
|
||||||
|
description: None,
|
||||||
|
lnurl_info: None,
|
||||||
|
bip353_address: bip353_address.clone(),
|
||||||
|
})?;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Ok(response)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3092,13 +3137,18 @@ impl LiquidSdk {
|
|||||||
/// * `amount` - The optional amount of type [PayAmount].
|
/// * `amount` - The optional amount of type [PayAmount].
|
||||||
/// - [PayAmount::Drain] which uses all funds
|
/// - [PayAmount::Drain] which uses all funds
|
||||||
/// - [PayAmount::Receiver] which sets the amount the receiver should receive
|
/// - [PayAmount::Receiver] which sets the amount the receiver should receive
|
||||||
|
/// * `bip353_address` - A BIP353 address, in case one was used in order to fetch the LNURL
|
||||||
|
/// Pay request data. Returned by [parse].
|
||||||
/// * `comment` - an optional comment for this payment
|
/// * `comment` - an optional comment for this payment
|
||||||
/// * `validate_success_action_url` - validates that, if there is a URL success action, the URL domain matches
|
/// * `validate_success_action_url` - validates that, if there is a URL success action, the URL domain matches
|
||||||
/// the LNURL callback domain. Defaults to 'true'
|
/// the LNURL callback domain. Defaults to 'true'
|
||||||
///
|
///
|
||||||
/// # Returns
|
/// # Returns
|
||||||
/// Returns a [PrepareLnUrlPayResponse] containing:
|
/// Returns a [PrepareLnUrlPayResponse] containing:
|
||||||
/// * `prepare_send_response` - the prepared [PrepareSendResponse] for the retreived invoice
|
/// * `destination` - the destination of the payment
|
||||||
|
/// * `fees_sat` - The fees in satoshis to send the payment
|
||||||
|
/// * `data` - The [LnUrlPayRequestData] returned by [parse]
|
||||||
|
/// * `comment` - An optional comment for this payment
|
||||||
/// * `success_action` - the optional unprocessed LUD-09 success action
|
/// * `success_action` - the optional unprocessed LUD-09 success action
|
||||||
pub async fn prepare_lnurl_pay(
|
pub async fn prepare_lnurl_pay(
|
||||||
&self,
|
&self,
|
||||||
@@ -3178,8 +3228,20 @@ impl LiquidSdk {
|
|||||||
.await
|
.await
|
||||||
.map_err(|e| LnUrlPayError::Generic { err: e.to_string() })?;
|
.map_err(|e| LnUrlPayError::Generic { err: e.to_string() })?;
|
||||||
|
|
||||||
|
let destination =
|
||||||
|
if let SendDestination::Bolt11 { invoice, .. } = prepare_response.destination {
|
||||||
|
SendDestination::Bolt11 {
|
||||||
|
invoice,
|
||||||
|
bip353_address: req.bip353_address,
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return Err(LnUrlPayError::Generic {
|
||||||
|
err: "SendDestination for LNURL Pay is not BOLT11 invoice".to_string(),
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
Ok(PrepareLnUrlPayResponse {
|
Ok(PrepareLnUrlPayResponse {
|
||||||
destination: prepare_response.destination,
|
destination,
|
||||||
fees_sat: prepare_response.fees_sat,
|
fees_sat: prepare_response.fees_sat,
|
||||||
data: req.data,
|
data: req.data,
|
||||||
comment: req.comment,
|
comment: req.comment,
|
||||||
@@ -3209,7 +3271,7 @@ impl LiquidSdk {
|
|||||||
let payment = self
|
let payment = self
|
||||||
.send_payment(&SendPaymentRequest {
|
.send_payment(&SendPaymentRequest {
|
||||||
prepare_response: PrepareSendResponse {
|
prepare_response: PrepareSendResponse {
|
||||||
destination: prepare_response.destination,
|
destination: prepare_response.destination.clone(),
|
||||||
fees_sat: prepare_response.fees_sat,
|
fees_sat: prepare_response.fees_sat,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@@ -3291,6 +3353,7 @@ impl LiquidSdk {
|
|||||||
lnurl_pay_unprocessed_success_action: prepare_response.success_action,
|
lnurl_pay_unprocessed_success_action: prepare_response.success_action,
|
||||||
lnurl_withdraw_endpoint: None,
|
lnurl_withdraw_endpoint: None,
|
||||||
}),
|
}),
|
||||||
|
bip353_address: None,
|
||||||
})?;
|
})?;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3354,6 +3417,7 @@ impl LiquidSdk {
|
|||||||
lnurl_withdraw_endpoint: Some(req.data.callback),
|
lnurl_withdraw_endpoint: Some(req.data.callback),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}),
|
}),
|
||||||
|
bip353_address: None,
|
||||||
})?;
|
})?;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -285,6 +285,7 @@ impl SendSwapHandler {
|
|||||||
destination,
|
destination,
|
||||||
description,
|
description,
|
||||||
lnurl_info: Some(mut lnurl_info),
|
lnurl_info: Some(mut lnurl_info),
|
||||||
|
bip353_address,
|
||||||
..
|
..
|
||||||
}) = self.persister.get_payment_details(&tx_id)?
|
}) = self.persister.get_payment_details(&tx_id)?
|
||||||
{
|
{
|
||||||
@@ -311,6 +312,7 @@ impl SendSwapHandler {
|
|||||||
destination,
|
destination,
|
||||||
description,
|
description,
|
||||||
lnurl_info: Some(lnurl_info),
|
lnurl_info: Some(lnurl_info),
|
||||||
|
bip353_address,
|
||||||
})?;
|
})?;
|
||||||
return Ok(true);
|
return Ok(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -304,6 +304,7 @@ pub(crate) struct PaymentDetailsSyncData {
|
|||||||
pub(crate) destination: String,
|
pub(crate) destination: String,
|
||||||
pub(crate) description: Option<String>,
|
pub(crate) description: Option<String>,
|
||||||
pub(crate) lnurl_info: Option<LnUrlInfo>,
|
pub(crate) lnurl_info: Option<LnUrlInfo>,
|
||||||
|
pub(crate) bip353_address: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl PaymentDetailsSyncData {
|
impl PaymentDetailsSyncData {
|
||||||
@@ -313,6 +314,7 @@ impl PaymentDetailsSyncData {
|
|||||||
"destination" => self.destination.clone_from(&other.destination),
|
"destination" => self.destination.clone_from(&other.destination),
|
||||||
"description" => clone_if_set(&mut self.description, &other.description),
|
"description" => clone_if_set(&mut self.description, &other.description),
|
||||||
"lnurl_info" => clone_if_set(&mut self.lnurl_info, &other.lnurl_info),
|
"lnurl_info" => clone_if_set(&mut self.lnurl_info, &other.lnurl_info),
|
||||||
|
"bip353_address" => clone_if_set(&mut self.bip353_address, &other.bip353_address),
|
||||||
_ => continue,
|
_ => continue,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -326,6 +328,7 @@ impl From<PaymentTxDetails> for PaymentDetailsSyncData {
|
|||||||
destination: value.destination,
|
destination: value.destination,
|
||||||
description: value.description,
|
description: value.description,
|
||||||
lnurl_info: value.lnurl_info,
|
lnurl_info: value.lnurl_info,
|
||||||
|
bip353_address: value.bip353_address,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -337,6 +340,7 @@ impl From<PaymentDetailsSyncData> for PaymentTxDetails {
|
|||||||
destination: val.destination,
|
destination: val.destination,
|
||||||
description: val.description,
|
description: val.description,
|
||||||
lnurl_info: val.lnurl_info,
|
lnurl_info: val.lnurl_info,
|
||||||
|
bip353_address: val.bip353_address,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ pub(crate) mod data;
|
|||||||
|
|
||||||
const MESSAGE_PREFIX: &[u8; 13] = b"realtimesync:";
|
const MESSAGE_PREFIX: &[u8; 13] = b"realtimesync:";
|
||||||
lazy_static! {
|
lazy_static! {
|
||||||
static ref CURRENT_SCHEMA_VERSION: Version = Version::parse("0.3.0").unwrap();
|
static ref CURRENT_SCHEMA_VERSION: Version = Version::parse("0.4.0").unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Copy, Clone)]
|
#[derive(Copy, Clone)]
|
||||||
|
|||||||
@@ -325,6 +325,7 @@ sealed class InputType with _$InputType {
|
|||||||
}) = InputType_Bolt11;
|
}) = InputType_Bolt11;
|
||||||
const factory InputType.bolt12Offer({
|
const factory InputType.bolt12Offer({
|
||||||
required LNOffer offer,
|
required LNOffer offer,
|
||||||
|
String? bip353Address,
|
||||||
}) = InputType_Bolt12Offer;
|
}) = InputType_Bolt12Offer;
|
||||||
const factory InputType.nodeId({
|
const factory InputType.nodeId({
|
||||||
required String nodeId,
|
required String nodeId,
|
||||||
@@ -334,6 +335,7 @@ sealed class InputType with _$InputType {
|
|||||||
}) = InputType_Url;
|
}) = InputType_Url;
|
||||||
const factory InputType.lnUrlPay({
|
const factory InputType.lnUrlPay({
|
||||||
required LnUrlPayRequestData data,
|
required LnUrlPayRequestData data,
|
||||||
|
String? bip353Address,
|
||||||
}) = InputType_LnUrlPay;
|
}) = InputType_LnUrlPay;
|
||||||
const factory InputType.lnUrlWithdraw({
|
const factory InputType.lnUrlWithdraw({
|
||||||
required LnUrlWithdrawRequestData data,
|
required LnUrlWithdrawRequestData data,
|
||||||
|
|||||||
@@ -653,7 +653,7 @@ abstract class _$$InputType_Bolt12OfferImplCopyWith<$Res> {
|
|||||||
_$InputType_Bolt12OfferImpl value, $Res Function(_$InputType_Bolt12OfferImpl) then) =
|
_$InputType_Bolt12OfferImpl value, $Res Function(_$InputType_Bolt12OfferImpl) then) =
|
||||||
__$$InputType_Bolt12OfferImplCopyWithImpl<$Res>;
|
__$$InputType_Bolt12OfferImplCopyWithImpl<$Res>;
|
||||||
@useResult
|
@useResult
|
||||||
$Res call({LNOffer offer});
|
$Res call({LNOffer offer, String? bip353Address});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// @nodoc
|
/// @nodoc
|
||||||
@@ -670,12 +670,17 @@ class __$$InputType_Bolt12OfferImplCopyWithImpl<$Res>
|
|||||||
@override
|
@override
|
||||||
$Res call({
|
$Res call({
|
||||||
Object? offer = null,
|
Object? offer = null,
|
||||||
|
Object? bip353Address = freezed,
|
||||||
}) {
|
}) {
|
||||||
return _then(_$InputType_Bolt12OfferImpl(
|
return _then(_$InputType_Bolt12OfferImpl(
|
||||||
offer: null == offer
|
offer: null == offer
|
||||||
? _value.offer
|
? _value.offer
|
||||||
: offer // ignore: cast_nullable_to_non_nullable
|
: offer // ignore: cast_nullable_to_non_nullable
|
||||||
as LNOffer,
|
as LNOffer,
|
||||||
|
bip353Address: freezed == bip353Address
|
||||||
|
? _value.bip353Address
|
||||||
|
: bip353Address // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -683,14 +688,16 @@ class __$$InputType_Bolt12OfferImplCopyWithImpl<$Res>
|
|||||||
/// @nodoc
|
/// @nodoc
|
||||||
|
|
||||||
class _$InputType_Bolt12OfferImpl extends InputType_Bolt12Offer {
|
class _$InputType_Bolt12OfferImpl extends InputType_Bolt12Offer {
|
||||||
const _$InputType_Bolt12OfferImpl({required this.offer}) : super._();
|
const _$InputType_Bolt12OfferImpl({required this.offer, this.bip353Address}) : super._();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
final LNOffer offer;
|
final LNOffer offer;
|
||||||
|
@override
|
||||||
|
final String? bip353Address;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
return 'InputType.bolt12Offer(offer: $offer)';
|
return 'InputType.bolt12Offer(offer: $offer, bip353Address: $bip353Address)';
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -698,11 +705,12 @@ class _$InputType_Bolt12OfferImpl extends InputType_Bolt12Offer {
|
|||||||
return identical(this, other) ||
|
return identical(this, other) ||
|
||||||
(other.runtimeType == runtimeType &&
|
(other.runtimeType == runtimeType &&
|
||||||
other is _$InputType_Bolt12OfferImpl &&
|
other is _$InputType_Bolt12OfferImpl &&
|
||||||
(identical(other.offer, offer) || other.offer == offer));
|
(identical(other.offer, offer) || other.offer == offer) &&
|
||||||
|
(identical(other.bip353Address, bip353Address) || other.bip353Address == bip353Address));
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
int get hashCode => Object.hash(runtimeType, offer);
|
int get hashCode => Object.hash(runtimeType, offer, bip353Address);
|
||||||
|
|
||||||
/// Create a copy of InputType
|
/// Create a copy of InputType
|
||||||
/// with the given fields replaced by the non-null parameter values.
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
@@ -714,10 +722,12 @@ class _$InputType_Bolt12OfferImpl extends InputType_Bolt12Offer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
abstract class InputType_Bolt12Offer extends InputType {
|
abstract class InputType_Bolt12Offer extends InputType {
|
||||||
const factory InputType_Bolt12Offer({required final LNOffer offer}) = _$InputType_Bolt12OfferImpl;
|
const factory InputType_Bolt12Offer({required final LNOffer offer, final String? bip353Address}) =
|
||||||
|
_$InputType_Bolt12OfferImpl;
|
||||||
const InputType_Bolt12Offer._() : super._();
|
const InputType_Bolt12Offer._() : super._();
|
||||||
|
|
||||||
LNOffer get offer;
|
LNOffer get offer;
|
||||||
|
String? get bip353Address;
|
||||||
|
|
||||||
/// Create a copy of InputType
|
/// Create a copy of InputType
|
||||||
/// with the given fields replaced by the non-null parameter values.
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
@@ -884,7 +894,7 @@ abstract class _$$InputType_LnUrlPayImplCopyWith<$Res> {
|
|||||||
_$InputType_LnUrlPayImpl value, $Res Function(_$InputType_LnUrlPayImpl) then) =
|
_$InputType_LnUrlPayImpl value, $Res Function(_$InputType_LnUrlPayImpl) then) =
|
||||||
__$$InputType_LnUrlPayImplCopyWithImpl<$Res>;
|
__$$InputType_LnUrlPayImplCopyWithImpl<$Res>;
|
||||||
@useResult
|
@useResult
|
||||||
$Res call({LnUrlPayRequestData data});
|
$Res call({LnUrlPayRequestData data, String? bip353Address});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// @nodoc
|
/// @nodoc
|
||||||
@@ -901,12 +911,17 @@ class __$$InputType_LnUrlPayImplCopyWithImpl<$Res>
|
|||||||
@override
|
@override
|
||||||
$Res call({
|
$Res call({
|
||||||
Object? data = null,
|
Object? data = null,
|
||||||
|
Object? bip353Address = freezed,
|
||||||
}) {
|
}) {
|
||||||
return _then(_$InputType_LnUrlPayImpl(
|
return _then(_$InputType_LnUrlPayImpl(
|
||||||
data: null == data
|
data: null == data
|
||||||
? _value.data
|
? _value.data
|
||||||
: data // ignore: cast_nullable_to_non_nullable
|
: data // ignore: cast_nullable_to_non_nullable
|
||||||
as LnUrlPayRequestData,
|
as LnUrlPayRequestData,
|
||||||
|
bip353Address: freezed == bip353Address
|
||||||
|
? _value.bip353Address
|
||||||
|
: bip353Address // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -914,14 +929,16 @@ class __$$InputType_LnUrlPayImplCopyWithImpl<$Res>
|
|||||||
/// @nodoc
|
/// @nodoc
|
||||||
|
|
||||||
class _$InputType_LnUrlPayImpl extends InputType_LnUrlPay {
|
class _$InputType_LnUrlPayImpl extends InputType_LnUrlPay {
|
||||||
const _$InputType_LnUrlPayImpl({required this.data}) : super._();
|
const _$InputType_LnUrlPayImpl({required this.data, this.bip353Address}) : super._();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
final LnUrlPayRequestData data;
|
final LnUrlPayRequestData data;
|
||||||
|
@override
|
||||||
|
final String? bip353Address;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
return 'InputType.lnUrlPay(data: $data)';
|
return 'InputType.lnUrlPay(data: $data, bip353Address: $bip353Address)';
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -929,11 +946,12 @@ class _$InputType_LnUrlPayImpl extends InputType_LnUrlPay {
|
|||||||
return identical(this, other) ||
|
return identical(this, other) ||
|
||||||
(other.runtimeType == runtimeType &&
|
(other.runtimeType == runtimeType &&
|
||||||
other is _$InputType_LnUrlPayImpl &&
|
other is _$InputType_LnUrlPayImpl &&
|
||||||
(identical(other.data, data) || other.data == data));
|
(identical(other.data, data) || other.data == data) &&
|
||||||
|
(identical(other.bip353Address, bip353Address) || other.bip353Address == bip353Address));
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
int get hashCode => Object.hash(runtimeType, data);
|
int get hashCode => Object.hash(runtimeType, data, bip353Address);
|
||||||
|
|
||||||
/// Create a copy of InputType
|
/// Create a copy of InputType
|
||||||
/// with the given fields replaced by the non-null parameter values.
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
@@ -945,10 +963,12 @@ class _$InputType_LnUrlPayImpl extends InputType_LnUrlPay {
|
|||||||
}
|
}
|
||||||
|
|
||||||
abstract class InputType_LnUrlPay extends InputType {
|
abstract class InputType_LnUrlPay extends InputType {
|
||||||
const factory InputType_LnUrlPay({required final LnUrlPayRequestData data}) = _$InputType_LnUrlPayImpl;
|
const factory InputType_LnUrlPay({required final LnUrlPayRequestData data, final String? bip353Address}) =
|
||||||
|
_$InputType_LnUrlPayImpl;
|
||||||
const InputType_LnUrlPay._() : super._();
|
const InputType_LnUrlPay._() : super._();
|
||||||
|
|
||||||
LnUrlPayRequestData get data;
|
LnUrlPayRequestData get data;
|
||||||
|
String? get bip353Address;
|
||||||
|
|
||||||
/// Create a copy of InputType
|
/// Create a copy of InputType
|
||||||
/// with the given fields replaced by the non-null parameter values.
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
|
|||||||
@@ -2000,6 +2000,7 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
case 3:
|
case 3:
|
||||||
return InputType_Bolt12Offer(
|
return InputType_Bolt12Offer(
|
||||||
offer: dco_decode_box_autoadd_ln_offer(raw[1]),
|
offer: dco_decode_box_autoadd_ln_offer(raw[1]),
|
||||||
|
bip353Address: dco_decode_opt_String(raw[2]),
|
||||||
);
|
);
|
||||||
case 4:
|
case 4:
|
||||||
return InputType_NodeId(
|
return InputType_NodeId(
|
||||||
@@ -2012,6 +2013,7 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
case 6:
|
case 6:
|
||||||
return InputType_LnUrlPay(
|
return InputType_LnUrlPay(
|
||||||
data: dco_decode_box_autoadd_ln_url_pay_request_data(raw[1]),
|
data: dco_decode_box_autoadd_ln_url_pay_request_data(raw[1]),
|
||||||
|
bip353Address: dco_decode_opt_String(raw[2]),
|
||||||
);
|
);
|
||||||
case 7:
|
case 7:
|
||||||
return InputType_LnUrlWithdraw(
|
return InputType_LnUrlWithdraw(
|
||||||
@@ -2791,9 +2793,10 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
paymentHash: dco_decode_opt_String(raw[7]),
|
paymentHash: dco_decode_opt_String(raw[7]),
|
||||||
destinationPubkey: dco_decode_opt_String(raw[8]),
|
destinationPubkey: dco_decode_opt_String(raw[8]),
|
||||||
lnurlInfo: dco_decode_opt_box_autoadd_ln_url_info(raw[9]),
|
lnurlInfo: dco_decode_opt_box_autoadd_ln_url_info(raw[9]),
|
||||||
claimTxId: dco_decode_opt_String(raw[10]),
|
bip353Address: dco_decode_opt_String(raw[10]),
|
||||||
refundTxId: dco_decode_opt_String(raw[11]),
|
claimTxId: dco_decode_opt_String(raw[11]),
|
||||||
refundTxAmountSat: dco_decode_opt_box_autoadd_u_64(raw[12]),
|
refundTxId: dco_decode_opt_String(raw[12]),
|
||||||
|
refundTxAmountSat: dco_decode_opt_box_autoadd_u_64(raw[13]),
|
||||||
);
|
);
|
||||||
case 1:
|
case 1:
|
||||||
return PaymentDetails_Liquid(
|
return PaymentDetails_Liquid(
|
||||||
@@ -2939,12 +2942,13 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
PrepareLnUrlPayRequest dco_decode_prepare_ln_url_pay_request(dynamic raw) {
|
PrepareLnUrlPayRequest dco_decode_prepare_ln_url_pay_request(dynamic raw) {
|
||||||
// Codec=Dco (DartCObject based), see doc to use other codecs
|
// Codec=Dco (DartCObject based), see doc to use other codecs
|
||||||
final arr = raw as List<dynamic>;
|
final arr = raw as List<dynamic>;
|
||||||
if (arr.length != 4) throw Exception('unexpected arr length: expect 4 but see ${arr.length}');
|
if (arr.length != 5) throw Exception('unexpected arr length: expect 5 but see ${arr.length}');
|
||||||
return PrepareLnUrlPayRequest(
|
return PrepareLnUrlPayRequest(
|
||||||
data: dco_decode_ln_url_pay_request_data(arr[0]),
|
data: dco_decode_ln_url_pay_request_data(arr[0]),
|
||||||
amount: dco_decode_pay_amount(arr[1]),
|
amount: dco_decode_pay_amount(arr[1]),
|
||||||
comment: dco_decode_opt_String(arr[2]),
|
bip353Address: dco_decode_opt_String(arr[2]),
|
||||||
validateSuccessActionUrl: dco_decode_opt_box_autoadd_bool(arr[3]),
|
comment: dco_decode_opt_String(arr[3]),
|
||||||
|
validateSuccessActionUrl: dco_decode_opt_box_autoadd_bool(arr[4]),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3268,11 +3272,13 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
case 1:
|
case 1:
|
||||||
return SendDestination_Bolt11(
|
return SendDestination_Bolt11(
|
||||||
invoice: dco_decode_box_autoadd_ln_invoice(raw[1]),
|
invoice: dco_decode_box_autoadd_ln_invoice(raw[1]),
|
||||||
|
bip353Address: dco_decode_opt_String(raw[2]),
|
||||||
);
|
);
|
||||||
case 2:
|
case 2:
|
||||||
return SendDestination_Bolt12(
|
return SendDestination_Bolt12(
|
||||||
offer: dco_decode_box_autoadd_ln_offer(raw[1]),
|
offer: dco_decode_box_autoadd_ln_offer(raw[1]),
|
||||||
receiverAmountSat: dco_decode_u_64(raw[2]),
|
receiverAmountSat: dco_decode_u_64(raw[2]),
|
||||||
|
bip353Address: dco_decode_opt_String(raw[3]),
|
||||||
);
|
);
|
||||||
default:
|
default:
|
||||||
throw Exception("unreachable");
|
throw Exception("unreachable");
|
||||||
@@ -4159,7 +4165,8 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
return InputType_Bolt11(invoice: var_invoice);
|
return InputType_Bolt11(invoice: var_invoice);
|
||||||
case 3:
|
case 3:
|
||||||
var var_offer = sse_decode_box_autoadd_ln_offer(deserializer);
|
var var_offer = sse_decode_box_autoadd_ln_offer(deserializer);
|
||||||
return InputType_Bolt12Offer(offer: var_offer);
|
var var_bip353Address = sse_decode_opt_String(deserializer);
|
||||||
|
return InputType_Bolt12Offer(offer: var_offer, bip353Address: var_bip353Address);
|
||||||
case 4:
|
case 4:
|
||||||
var var_nodeId = sse_decode_String(deserializer);
|
var var_nodeId = sse_decode_String(deserializer);
|
||||||
return InputType_NodeId(nodeId: var_nodeId);
|
return InputType_NodeId(nodeId: var_nodeId);
|
||||||
@@ -4168,7 +4175,8 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
return InputType_Url(url: var_url);
|
return InputType_Url(url: var_url);
|
||||||
case 6:
|
case 6:
|
||||||
var var_data = sse_decode_box_autoadd_ln_url_pay_request_data(deserializer);
|
var var_data = sse_decode_box_autoadd_ln_url_pay_request_data(deserializer);
|
||||||
return InputType_LnUrlPay(data: var_data);
|
var var_bip353Address = sse_decode_opt_String(deserializer);
|
||||||
|
return InputType_LnUrlPay(data: var_data, bip353Address: var_bip353Address);
|
||||||
case 7:
|
case 7:
|
||||||
var var_data = sse_decode_box_autoadd_ln_url_withdraw_request_data(deserializer);
|
var var_data = sse_decode_box_autoadd_ln_url_withdraw_request_data(deserializer);
|
||||||
return InputType_LnUrlWithdraw(data: var_data);
|
return InputType_LnUrlWithdraw(data: var_data);
|
||||||
@@ -5117,6 +5125,7 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
var var_paymentHash = sse_decode_opt_String(deserializer);
|
var var_paymentHash = sse_decode_opt_String(deserializer);
|
||||||
var var_destinationPubkey = sse_decode_opt_String(deserializer);
|
var var_destinationPubkey = sse_decode_opt_String(deserializer);
|
||||||
var var_lnurlInfo = sse_decode_opt_box_autoadd_ln_url_info(deserializer);
|
var var_lnurlInfo = sse_decode_opt_box_autoadd_ln_url_info(deserializer);
|
||||||
|
var var_bip353Address = sse_decode_opt_String(deserializer);
|
||||||
var var_claimTxId = sse_decode_opt_String(deserializer);
|
var var_claimTxId = sse_decode_opt_String(deserializer);
|
||||||
var var_refundTxId = sse_decode_opt_String(deserializer);
|
var var_refundTxId = sse_decode_opt_String(deserializer);
|
||||||
var var_refundTxAmountSat = sse_decode_opt_box_autoadd_u_64(deserializer);
|
var var_refundTxAmountSat = sse_decode_opt_box_autoadd_u_64(deserializer);
|
||||||
@@ -5130,6 +5139,7 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
paymentHash: var_paymentHash,
|
paymentHash: var_paymentHash,
|
||||||
destinationPubkey: var_destinationPubkey,
|
destinationPubkey: var_destinationPubkey,
|
||||||
lnurlInfo: var_lnurlInfo,
|
lnurlInfo: var_lnurlInfo,
|
||||||
|
bip353Address: var_bip353Address,
|
||||||
claimTxId: var_claimTxId,
|
claimTxId: var_claimTxId,
|
||||||
refundTxId: var_refundTxId,
|
refundTxId: var_refundTxId,
|
||||||
refundTxAmountSat: var_refundTxAmountSat);
|
refundTxAmountSat: var_refundTxAmountSat);
|
||||||
@@ -5276,11 +5286,13 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||||
var var_data = sse_decode_ln_url_pay_request_data(deserializer);
|
var var_data = sse_decode_ln_url_pay_request_data(deserializer);
|
||||||
var var_amount = sse_decode_pay_amount(deserializer);
|
var var_amount = sse_decode_pay_amount(deserializer);
|
||||||
|
var var_bip353Address = sse_decode_opt_String(deserializer);
|
||||||
var var_comment = sse_decode_opt_String(deserializer);
|
var var_comment = sse_decode_opt_String(deserializer);
|
||||||
var var_validateSuccessActionUrl = sse_decode_opt_box_autoadd_bool(deserializer);
|
var var_validateSuccessActionUrl = sse_decode_opt_box_autoadd_bool(deserializer);
|
||||||
return PrepareLnUrlPayRequest(
|
return PrepareLnUrlPayRequest(
|
||||||
data: var_data,
|
data: var_data,
|
||||||
amount: var_amount,
|
amount: var_amount,
|
||||||
|
bip353Address: var_bip353Address,
|
||||||
comment: var_comment,
|
comment: var_comment,
|
||||||
validateSuccessActionUrl: var_validateSuccessActionUrl);
|
validateSuccessActionUrl: var_validateSuccessActionUrl);
|
||||||
}
|
}
|
||||||
@@ -5582,11 +5594,14 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
return SendDestination_LiquidAddress(addressData: var_addressData);
|
return SendDestination_LiquidAddress(addressData: var_addressData);
|
||||||
case 1:
|
case 1:
|
||||||
var var_invoice = sse_decode_box_autoadd_ln_invoice(deserializer);
|
var var_invoice = sse_decode_box_autoadd_ln_invoice(deserializer);
|
||||||
return SendDestination_Bolt11(invoice: var_invoice);
|
var var_bip353Address = sse_decode_opt_String(deserializer);
|
||||||
|
return SendDestination_Bolt11(invoice: var_invoice, bip353Address: var_bip353Address);
|
||||||
case 2:
|
case 2:
|
||||||
var var_offer = sse_decode_box_autoadd_ln_offer(deserializer);
|
var var_offer = sse_decode_box_autoadd_ln_offer(deserializer);
|
||||||
var var_receiverAmountSat = sse_decode_u_64(deserializer);
|
var var_receiverAmountSat = sse_decode_u_64(deserializer);
|
||||||
return SendDestination_Bolt12(offer: var_offer, receiverAmountSat: var_receiverAmountSat);
|
var var_bip353Address = sse_decode_opt_String(deserializer);
|
||||||
|
return SendDestination_Bolt12(
|
||||||
|
offer: var_offer, receiverAmountSat: var_receiverAmountSat, bip353Address: var_bip353Address);
|
||||||
default:
|
default:
|
||||||
throw UnimplementedError('');
|
throw UnimplementedError('');
|
||||||
}
|
}
|
||||||
@@ -6495,18 +6510,20 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
case InputType_Bolt11(invoice: final invoice):
|
case InputType_Bolt11(invoice: final invoice):
|
||||||
sse_encode_i_32(2, serializer);
|
sse_encode_i_32(2, serializer);
|
||||||
sse_encode_box_autoadd_ln_invoice(invoice, serializer);
|
sse_encode_box_autoadd_ln_invoice(invoice, serializer);
|
||||||
case InputType_Bolt12Offer(offer: final offer):
|
case InputType_Bolt12Offer(offer: final offer, bip353Address: final bip353Address):
|
||||||
sse_encode_i_32(3, serializer);
|
sse_encode_i_32(3, serializer);
|
||||||
sse_encode_box_autoadd_ln_offer(offer, serializer);
|
sse_encode_box_autoadd_ln_offer(offer, serializer);
|
||||||
|
sse_encode_opt_String(bip353Address, serializer);
|
||||||
case InputType_NodeId(nodeId: final nodeId):
|
case InputType_NodeId(nodeId: final nodeId):
|
||||||
sse_encode_i_32(4, serializer);
|
sse_encode_i_32(4, serializer);
|
||||||
sse_encode_String(nodeId, serializer);
|
sse_encode_String(nodeId, serializer);
|
||||||
case InputType_Url(url: final url):
|
case InputType_Url(url: final url):
|
||||||
sse_encode_i_32(5, serializer);
|
sse_encode_i_32(5, serializer);
|
||||||
sse_encode_String(url, serializer);
|
sse_encode_String(url, serializer);
|
||||||
case InputType_LnUrlPay(data: final data):
|
case InputType_LnUrlPay(data: final data, bip353Address: final bip353Address):
|
||||||
sse_encode_i_32(6, serializer);
|
sse_encode_i_32(6, serializer);
|
||||||
sse_encode_box_autoadd_ln_url_pay_request_data(data, serializer);
|
sse_encode_box_autoadd_ln_url_pay_request_data(data, serializer);
|
||||||
|
sse_encode_opt_String(bip353Address, serializer);
|
||||||
case InputType_LnUrlWithdraw(data: final data):
|
case InputType_LnUrlWithdraw(data: final data):
|
||||||
sse_encode_i_32(7, serializer);
|
sse_encode_i_32(7, serializer);
|
||||||
sse_encode_box_autoadd_ln_url_withdraw_request_data(data, serializer);
|
sse_encode_box_autoadd_ln_url_withdraw_request_data(data, serializer);
|
||||||
@@ -7265,6 +7282,7 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
paymentHash: final paymentHash,
|
paymentHash: final paymentHash,
|
||||||
destinationPubkey: final destinationPubkey,
|
destinationPubkey: final destinationPubkey,
|
||||||
lnurlInfo: final lnurlInfo,
|
lnurlInfo: final lnurlInfo,
|
||||||
|
bip353Address: final bip353Address,
|
||||||
claimTxId: final claimTxId,
|
claimTxId: final claimTxId,
|
||||||
refundTxId: final refundTxId,
|
refundTxId: final refundTxId,
|
||||||
refundTxAmountSat: final refundTxAmountSat
|
refundTxAmountSat: final refundTxAmountSat
|
||||||
@@ -7279,6 +7297,7 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
sse_encode_opt_String(paymentHash, serializer);
|
sse_encode_opt_String(paymentHash, serializer);
|
||||||
sse_encode_opt_String(destinationPubkey, serializer);
|
sse_encode_opt_String(destinationPubkey, serializer);
|
||||||
sse_encode_opt_box_autoadd_ln_url_info(lnurlInfo, serializer);
|
sse_encode_opt_box_autoadd_ln_url_info(lnurlInfo, serializer);
|
||||||
|
sse_encode_opt_String(bip353Address, serializer);
|
||||||
sse_encode_opt_String(claimTxId, serializer);
|
sse_encode_opt_String(claimTxId, serializer);
|
||||||
sse_encode_opt_String(refundTxId, serializer);
|
sse_encode_opt_String(refundTxId, serializer);
|
||||||
sse_encode_opt_box_autoadd_u_64(refundTxAmountSat, serializer);
|
sse_encode_opt_box_autoadd_u_64(refundTxAmountSat, serializer);
|
||||||
@@ -7416,6 +7435,7 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||||
sse_encode_ln_url_pay_request_data(self.data, serializer);
|
sse_encode_ln_url_pay_request_data(self.data, serializer);
|
||||||
sse_encode_pay_amount(self.amount, serializer);
|
sse_encode_pay_amount(self.amount, serializer);
|
||||||
|
sse_encode_opt_String(self.bip353Address, serializer);
|
||||||
sse_encode_opt_String(self.comment, serializer);
|
sse_encode_opt_String(self.comment, serializer);
|
||||||
sse_encode_opt_box_autoadd_bool(self.validateSuccessActionUrl, serializer);
|
sse_encode_opt_box_autoadd_bool(self.validateSuccessActionUrl, serializer);
|
||||||
}
|
}
|
||||||
@@ -7642,13 +7662,19 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
|||||||
case SendDestination_LiquidAddress(addressData: final addressData):
|
case SendDestination_LiquidAddress(addressData: final addressData):
|
||||||
sse_encode_i_32(0, serializer);
|
sse_encode_i_32(0, serializer);
|
||||||
sse_encode_box_autoadd_liquid_address_data(addressData, serializer);
|
sse_encode_box_autoadd_liquid_address_data(addressData, serializer);
|
||||||
case SendDestination_Bolt11(invoice: final invoice):
|
case SendDestination_Bolt11(invoice: final invoice, bip353Address: final bip353Address):
|
||||||
sse_encode_i_32(1, serializer);
|
sse_encode_i_32(1, serializer);
|
||||||
sse_encode_box_autoadd_ln_invoice(invoice, serializer);
|
sse_encode_box_autoadd_ln_invoice(invoice, serializer);
|
||||||
case SendDestination_Bolt12(offer: final offer, receiverAmountSat: final receiverAmountSat):
|
sse_encode_opt_String(bip353Address, serializer);
|
||||||
|
case SendDestination_Bolt12(
|
||||||
|
offer: final offer,
|
||||||
|
receiverAmountSat: final receiverAmountSat,
|
||||||
|
bip353Address: final bip353Address
|
||||||
|
):
|
||||||
sse_encode_i_32(2, serializer);
|
sse_encode_i_32(2, serializer);
|
||||||
sse_encode_box_autoadd_ln_offer(offer, serializer);
|
sse_encode_box_autoadd_ln_offer(offer, serializer);
|
||||||
sse_encode_u_64(receiverAmountSat, serializer);
|
sse_encode_u_64(receiverAmountSat, serializer);
|
||||||
|
sse_encode_opt_String(bip353Address, serializer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2624,8 +2624,10 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
|||||||
}
|
}
|
||||||
if (apiObj is InputType_Bolt12Offer) {
|
if (apiObj is InputType_Bolt12Offer) {
|
||||||
var pre_offer = cst_encode_box_autoadd_ln_offer(apiObj.offer);
|
var pre_offer = cst_encode_box_autoadd_ln_offer(apiObj.offer);
|
||||||
|
var pre_bip353_address = cst_encode_opt_String(apiObj.bip353Address);
|
||||||
wireObj.tag = 3;
|
wireObj.tag = 3;
|
||||||
wireObj.kind.Bolt12Offer.offer = pre_offer;
|
wireObj.kind.Bolt12Offer.offer = pre_offer;
|
||||||
|
wireObj.kind.Bolt12Offer.bip353_address = pre_bip353_address;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (apiObj is InputType_NodeId) {
|
if (apiObj is InputType_NodeId) {
|
||||||
@@ -2642,8 +2644,10 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
|||||||
}
|
}
|
||||||
if (apiObj is InputType_LnUrlPay) {
|
if (apiObj is InputType_LnUrlPay) {
|
||||||
var pre_data = cst_encode_box_autoadd_ln_url_pay_request_data(apiObj.data);
|
var pre_data = cst_encode_box_autoadd_ln_url_pay_request_data(apiObj.data);
|
||||||
|
var pre_bip353_address = cst_encode_opt_String(apiObj.bip353Address);
|
||||||
wireObj.tag = 6;
|
wireObj.tag = 6;
|
||||||
wireObj.kind.LnUrlPay.data = pre_data;
|
wireObj.kind.LnUrlPay.data = pre_data;
|
||||||
|
wireObj.kind.LnUrlPay.bip353_address = pre_bip353_address;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (apiObj is InputType_LnUrlWithdraw) {
|
if (apiObj is InputType_LnUrlWithdraw) {
|
||||||
@@ -3126,6 +3130,7 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
|||||||
var pre_payment_hash = cst_encode_opt_String(apiObj.paymentHash);
|
var pre_payment_hash = cst_encode_opt_String(apiObj.paymentHash);
|
||||||
var pre_destination_pubkey = cst_encode_opt_String(apiObj.destinationPubkey);
|
var pre_destination_pubkey = cst_encode_opt_String(apiObj.destinationPubkey);
|
||||||
var pre_lnurl_info = cst_encode_opt_box_autoadd_ln_url_info(apiObj.lnurlInfo);
|
var pre_lnurl_info = cst_encode_opt_box_autoadd_ln_url_info(apiObj.lnurlInfo);
|
||||||
|
var pre_bip353_address = cst_encode_opt_String(apiObj.bip353Address);
|
||||||
var pre_claim_tx_id = cst_encode_opt_String(apiObj.claimTxId);
|
var pre_claim_tx_id = cst_encode_opt_String(apiObj.claimTxId);
|
||||||
var pre_refund_tx_id = cst_encode_opt_String(apiObj.refundTxId);
|
var pre_refund_tx_id = cst_encode_opt_String(apiObj.refundTxId);
|
||||||
var pre_refund_tx_amount_sat = cst_encode_opt_box_autoadd_u_64(apiObj.refundTxAmountSat);
|
var pre_refund_tx_amount_sat = cst_encode_opt_box_autoadd_u_64(apiObj.refundTxAmountSat);
|
||||||
@@ -3139,6 +3144,7 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
|||||||
wireObj.kind.Lightning.payment_hash = pre_payment_hash;
|
wireObj.kind.Lightning.payment_hash = pre_payment_hash;
|
||||||
wireObj.kind.Lightning.destination_pubkey = pre_destination_pubkey;
|
wireObj.kind.Lightning.destination_pubkey = pre_destination_pubkey;
|
||||||
wireObj.kind.Lightning.lnurl_info = pre_lnurl_info;
|
wireObj.kind.Lightning.lnurl_info = pre_lnurl_info;
|
||||||
|
wireObj.kind.Lightning.bip353_address = pre_bip353_address;
|
||||||
wireObj.kind.Lightning.claim_tx_id = pre_claim_tx_id;
|
wireObj.kind.Lightning.claim_tx_id = pre_claim_tx_id;
|
||||||
wireObj.kind.Lightning.refund_tx_id = pre_refund_tx_id;
|
wireObj.kind.Lightning.refund_tx_id = pre_refund_tx_id;
|
||||||
wireObj.kind.Lightning.refund_tx_amount_sat = pre_refund_tx_amount_sat;
|
wireObj.kind.Lightning.refund_tx_amount_sat = pre_refund_tx_amount_sat;
|
||||||
@@ -3316,6 +3322,7 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
|||||||
PrepareLnUrlPayRequest apiObj, wire_cst_prepare_ln_url_pay_request wireObj) {
|
PrepareLnUrlPayRequest apiObj, wire_cst_prepare_ln_url_pay_request wireObj) {
|
||||||
cst_api_fill_to_wire_ln_url_pay_request_data(apiObj.data, wireObj.data);
|
cst_api_fill_to_wire_ln_url_pay_request_data(apiObj.data, wireObj.data);
|
||||||
cst_api_fill_to_wire_pay_amount(apiObj.amount, wireObj.amount);
|
cst_api_fill_to_wire_pay_amount(apiObj.amount, wireObj.amount);
|
||||||
|
wireObj.bip353_address = cst_encode_opt_String(apiObj.bip353Address);
|
||||||
wireObj.comment = cst_encode_opt_String(apiObj.comment);
|
wireObj.comment = cst_encode_opt_String(apiObj.comment);
|
||||||
wireObj.validate_success_action_url = cst_encode_opt_box_autoadd_bool(apiObj.validateSuccessActionUrl);
|
wireObj.validate_success_action_url = cst_encode_opt_box_autoadd_bool(apiObj.validateSuccessActionUrl);
|
||||||
}
|
}
|
||||||
@@ -3571,16 +3578,20 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
|||||||
}
|
}
|
||||||
if (apiObj is SendDestination_Bolt11) {
|
if (apiObj is SendDestination_Bolt11) {
|
||||||
var pre_invoice = cst_encode_box_autoadd_ln_invoice(apiObj.invoice);
|
var pre_invoice = cst_encode_box_autoadd_ln_invoice(apiObj.invoice);
|
||||||
|
var pre_bip353_address = cst_encode_opt_String(apiObj.bip353Address);
|
||||||
wireObj.tag = 1;
|
wireObj.tag = 1;
|
||||||
wireObj.kind.Bolt11.invoice = pre_invoice;
|
wireObj.kind.Bolt11.invoice = pre_invoice;
|
||||||
|
wireObj.kind.Bolt11.bip353_address = pre_bip353_address;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (apiObj is SendDestination_Bolt12) {
|
if (apiObj is SendDestination_Bolt12) {
|
||||||
var pre_offer = cst_encode_box_autoadd_ln_offer(apiObj.offer);
|
var pre_offer = cst_encode_box_autoadd_ln_offer(apiObj.offer);
|
||||||
var pre_receiver_amount_sat = cst_encode_u_64(apiObj.receiverAmountSat);
|
var pre_receiver_amount_sat = cst_encode_u_64(apiObj.receiverAmountSat);
|
||||||
|
var pre_bip353_address = cst_encode_opt_String(apiObj.bip353Address);
|
||||||
wireObj.tag = 2;
|
wireObj.tag = 2;
|
||||||
wireObj.kind.Bolt12.offer = pre_offer;
|
wireObj.kind.Bolt12.offer = pre_offer;
|
||||||
wireObj.kind.Bolt12.receiver_amount_sat = pre_receiver_amount_sat;
|
wireObj.kind.Bolt12.receiver_amount_sat = pre_receiver_amount_sat;
|
||||||
|
wireObj.kind.Bolt12.bip353_address = pre_bip353_address;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6271,6 +6282,8 @@ final class wire_cst_ln_invoice extends ffi.Struct {
|
|||||||
|
|
||||||
final class wire_cst_SendDestination_Bolt11 extends ffi.Struct {
|
final class wire_cst_SendDestination_Bolt11 extends ffi.Struct {
|
||||||
external ffi.Pointer<wire_cst_ln_invoice> invoice;
|
external ffi.Pointer<wire_cst_ln_invoice> invoice;
|
||||||
|
|
||||||
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> bip353_address;
|
||||||
}
|
}
|
||||||
|
|
||||||
final class wire_cst_list_String extends ffi.Struct {
|
final class wire_cst_list_String extends ffi.Struct {
|
||||||
@@ -6339,6 +6352,8 @@ final class wire_cst_SendDestination_Bolt12 extends ffi.Struct {
|
|||||||
|
|
||||||
@ffi.Uint64()
|
@ffi.Uint64()
|
||||||
external int receiver_amount_sat;
|
external int receiver_amount_sat;
|
||||||
|
|
||||||
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> bip353_address;
|
||||||
}
|
}
|
||||||
|
|
||||||
final class SendDestinationKind extends ffi.Union {
|
final class SendDestinationKind extends ffi.Union {
|
||||||
@@ -6523,6 +6538,8 @@ final class wire_cst_prepare_ln_url_pay_request extends ffi.Struct {
|
|||||||
|
|
||||||
external wire_cst_pay_amount amount;
|
external wire_cst_pay_amount amount;
|
||||||
|
|
||||||
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> bip353_address;
|
||||||
|
|
||||||
external ffi.Pointer<wire_cst_list_prim_u_8_strict> comment;
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> comment;
|
||||||
|
|
||||||
external ffi.Pointer<ffi.Bool> validate_success_action_url;
|
external ffi.Pointer<ffi.Bool> validate_success_action_url;
|
||||||
@@ -6726,6 +6743,8 @@ final class wire_cst_PaymentDetails_Lightning extends ffi.Struct {
|
|||||||
|
|
||||||
external ffi.Pointer<wire_cst_ln_url_info> lnurl_info;
|
external ffi.Pointer<wire_cst_ln_url_info> lnurl_info;
|
||||||
|
|
||||||
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> bip353_address;
|
||||||
|
|
||||||
external ffi.Pointer<wire_cst_list_prim_u_8_strict> claim_tx_id;
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> claim_tx_id;
|
||||||
|
|
||||||
external ffi.Pointer<wire_cst_list_prim_u_8_strict> refund_tx_id;
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> refund_tx_id;
|
||||||
@@ -7158,6 +7177,8 @@ final class wire_cst_InputType_Bolt11 extends ffi.Struct {
|
|||||||
|
|
||||||
final class wire_cst_InputType_Bolt12Offer extends ffi.Struct {
|
final class wire_cst_InputType_Bolt12Offer extends ffi.Struct {
|
||||||
external ffi.Pointer<wire_cst_ln_offer> offer;
|
external ffi.Pointer<wire_cst_ln_offer> offer;
|
||||||
|
|
||||||
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> bip353_address;
|
||||||
}
|
}
|
||||||
|
|
||||||
final class wire_cst_InputType_NodeId extends ffi.Struct {
|
final class wire_cst_InputType_NodeId extends ffi.Struct {
|
||||||
@@ -7170,6 +7191,8 @@ final class wire_cst_InputType_Url extends ffi.Struct {
|
|||||||
|
|
||||||
final class wire_cst_InputType_LnUrlPay extends ffi.Struct {
|
final class wire_cst_InputType_LnUrlPay extends ffi.Struct {
|
||||||
external ffi.Pointer<wire_cst_ln_url_pay_request_data> data;
|
external ffi.Pointer<wire_cst_ln_url_pay_request_data> data;
|
||||||
|
|
||||||
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> bip353_address;
|
||||||
}
|
}
|
||||||
|
|
||||||
final class wire_cst_InputType_LnUrlWithdraw extends ffi.Struct {
|
final class wire_cst_InputType_LnUrlWithdraw extends ffi.Struct {
|
||||||
|
|||||||
@@ -945,6 +945,9 @@ sealed class PaymentDetails with _$PaymentDetails {
|
|||||||
/// The payment LNURL info
|
/// The payment LNURL info
|
||||||
LnUrlInfo? lnurlInfo,
|
LnUrlInfo? lnurlInfo,
|
||||||
|
|
||||||
|
/// The BIP353 address used to resolve this payment
|
||||||
|
String? bip353Address,
|
||||||
|
|
||||||
/// For a Receive payment, this is the claim tx id in case it has already been broadcast
|
/// For a Receive payment, this is the claim tx id in case it has already been broadcast
|
||||||
String? claimTxId,
|
String? claimTxId,
|
||||||
|
|
||||||
@@ -1145,12 +1148,16 @@ class PrepareBuyBitcoinResponse {
|
|||||||
|
|
||||||
/// An argument when calling [crate::sdk::LiquidSdk::prepare_lnurl_pay].
|
/// An argument when calling [crate::sdk::LiquidSdk::prepare_lnurl_pay].
|
||||||
class PrepareLnUrlPayRequest {
|
class PrepareLnUrlPayRequest {
|
||||||
/// The [LnUrlPayRequestData] returned by [crate::input_parser::parse]
|
/// The [LnUrlPayRequestData] returned by [parse]
|
||||||
final LnUrlPayRequestData data;
|
final LnUrlPayRequestData data;
|
||||||
|
|
||||||
/// The amount to send
|
/// The amount to send
|
||||||
final PayAmount amount;
|
final PayAmount amount;
|
||||||
|
|
||||||
|
/// A BIP353 address, in case one was used in order to fetch the LNURL Pay request data.
|
||||||
|
/// Returned by [parse].
|
||||||
|
final String? bip353Address;
|
||||||
|
|
||||||
/// An optional comment for this payment
|
/// An optional comment for this payment
|
||||||
final String? comment;
|
final String? comment;
|
||||||
|
|
||||||
@@ -1161,12 +1168,18 @@ class PrepareLnUrlPayRequest {
|
|||||||
const PrepareLnUrlPayRequest({
|
const PrepareLnUrlPayRequest({
|
||||||
required this.data,
|
required this.data,
|
||||||
required this.amount,
|
required this.amount,
|
||||||
|
this.bip353Address,
|
||||||
this.comment,
|
this.comment,
|
||||||
this.validateSuccessActionUrl,
|
this.validateSuccessActionUrl,
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
int get hashCode => data.hashCode ^ amount.hashCode ^ comment.hashCode ^ validateSuccessActionUrl.hashCode;
|
int get hashCode =>
|
||||||
|
data.hashCode ^
|
||||||
|
amount.hashCode ^
|
||||||
|
bip353Address.hashCode ^
|
||||||
|
comment.hashCode ^
|
||||||
|
validateSuccessActionUrl.hashCode;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool operator ==(Object other) =>
|
bool operator ==(Object other) =>
|
||||||
@@ -1175,6 +1188,7 @@ class PrepareLnUrlPayRequest {
|
|||||||
runtimeType == other.runtimeType &&
|
runtimeType == other.runtimeType &&
|
||||||
data == other.data &&
|
data == other.data &&
|
||||||
amount == other.amount &&
|
amount == other.amount &&
|
||||||
|
bip353Address == other.bip353Address &&
|
||||||
comment == other.comment &&
|
comment == other.comment &&
|
||||||
validateSuccessActionUrl == other.validateSuccessActionUrl;
|
validateSuccessActionUrl == other.validateSuccessActionUrl;
|
||||||
}
|
}
|
||||||
@@ -1187,7 +1201,7 @@ class PrepareLnUrlPayResponse {
|
|||||||
/// The fees in satoshis to send the payment
|
/// The fees in satoshis to send the payment
|
||||||
final BigInt feesSat;
|
final BigInt feesSat;
|
||||||
|
|
||||||
/// The [LnUrlPayRequestData] returned by [crate::input_parser::parse]
|
/// The [LnUrlPayRequestData] returned by [parse]
|
||||||
final LnUrlPayRequestData data;
|
final LnUrlPayRequestData data;
|
||||||
|
|
||||||
/// An optional comment for this payment
|
/// An optional comment for this payment
|
||||||
@@ -1699,10 +1713,16 @@ sealed class SendDestination with _$SendDestination {
|
|||||||
}) = SendDestination_LiquidAddress;
|
}) = SendDestination_LiquidAddress;
|
||||||
const factory SendDestination.bolt11({
|
const factory SendDestination.bolt11({
|
||||||
required LNInvoice invoice,
|
required LNInvoice invoice,
|
||||||
|
|
||||||
|
/// A BIP353 address, in case one was used to resolve this BOLT11
|
||||||
|
String? bip353Address,
|
||||||
}) = SendDestination_Bolt11;
|
}) = SendDestination_Bolt11;
|
||||||
const factory SendDestination.bolt12({
|
const factory SendDestination.bolt12({
|
||||||
required LNOffer offer,
|
required LNOffer offer,
|
||||||
required BigInt receiverAmountSat,
|
required BigInt receiverAmountSat,
|
||||||
|
|
||||||
|
/// A BIP353 address, in case one was used to resolve this BOLT12
|
||||||
|
String? bip353Address,
|
||||||
}) = SendDestination_Bolt12;
|
}) = SendDestination_Bolt12;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -958,6 +958,7 @@ abstract class _$$PaymentDetails_LightningImplCopyWith<$Res> implements $Payment
|
|||||||
String? paymentHash,
|
String? paymentHash,
|
||||||
String? destinationPubkey,
|
String? destinationPubkey,
|
||||||
LnUrlInfo? lnurlInfo,
|
LnUrlInfo? lnurlInfo,
|
||||||
|
String? bip353Address,
|
||||||
String? claimTxId,
|
String? claimTxId,
|
||||||
String? refundTxId,
|
String? refundTxId,
|
||||||
BigInt? refundTxAmountSat});
|
BigInt? refundTxAmountSat});
|
||||||
@@ -985,6 +986,7 @@ class __$$PaymentDetails_LightningImplCopyWithImpl<$Res>
|
|||||||
Object? paymentHash = freezed,
|
Object? paymentHash = freezed,
|
||||||
Object? destinationPubkey = freezed,
|
Object? destinationPubkey = freezed,
|
||||||
Object? lnurlInfo = freezed,
|
Object? lnurlInfo = freezed,
|
||||||
|
Object? bip353Address = freezed,
|
||||||
Object? claimTxId = freezed,
|
Object? claimTxId = freezed,
|
||||||
Object? refundTxId = freezed,
|
Object? refundTxId = freezed,
|
||||||
Object? refundTxAmountSat = freezed,
|
Object? refundTxAmountSat = freezed,
|
||||||
@@ -1026,6 +1028,10 @@ class __$$PaymentDetails_LightningImplCopyWithImpl<$Res>
|
|||||||
? _value.lnurlInfo
|
? _value.lnurlInfo
|
||||||
: lnurlInfo // ignore: cast_nullable_to_non_nullable
|
: lnurlInfo // ignore: cast_nullable_to_non_nullable
|
||||||
as LnUrlInfo?,
|
as LnUrlInfo?,
|
||||||
|
bip353Address: freezed == bip353Address
|
||||||
|
? _value.bip353Address
|
||||||
|
: bip353Address // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,
|
||||||
claimTxId: freezed == claimTxId
|
claimTxId: freezed == claimTxId
|
||||||
? _value.claimTxId
|
? _value.claimTxId
|
||||||
: claimTxId // ignore: cast_nullable_to_non_nullable
|
: claimTxId // ignore: cast_nullable_to_non_nullable
|
||||||
@@ -1055,6 +1061,7 @@ class _$PaymentDetails_LightningImpl extends PaymentDetails_Lightning {
|
|||||||
this.paymentHash,
|
this.paymentHash,
|
||||||
this.destinationPubkey,
|
this.destinationPubkey,
|
||||||
this.lnurlInfo,
|
this.lnurlInfo,
|
||||||
|
this.bip353Address,
|
||||||
this.claimTxId,
|
this.claimTxId,
|
||||||
this.refundTxId,
|
this.refundTxId,
|
||||||
this.refundTxAmountSat})
|
this.refundTxAmountSat})
|
||||||
@@ -1095,6 +1102,10 @@ class _$PaymentDetails_LightningImpl extends PaymentDetails_Lightning {
|
|||||||
@override
|
@override
|
||||||
final LnUrlInfo? lnurlInfo;
|
final LnUrlInfo? lnurlInfo;
|
||||||
|
|
||||||
|
/// The BIP353 address used to resolve this payment
|
||||||
|
@override
|
||||||
|
final String? bip353Address;
|
||||||
|
|
||||||
/// For a Receive payment, this is the claim tx id in case it has already been broadcast
|
/// For a Receive payment, this is the claim tx id in case it has already been broadcast
|
||||||
@override
|
@override
|
||||||
final String? claimTxId;
|
final String? claimTxId;
|
||||||
@@ -1109,7 +1120,7 @@ class _$PaymentDetails_LightningImpl extends PaymentDetails_Lightning {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
return 'PaymentDetails.lightning(swapId: $swapId, description: $description, liquidExpirationBlockheight: $liquidExpirationBlockheight, preimage: $preimage, invoice: $invoice, bolt12Offer: $bolt12Offer, paymentHash: $paymentHash, destinationPubkey: $destinationPubkey, lnurlInfo: $lnurlInfo, claimTxId: $claimTxId, refundTxId: $refundTxId, refundTxAmountSat: $refundTxAmountSat)';
|
return 'PaymentDetails.lightning(swapId: $swapId, description: $description, liquidExpirationBlockheight: $liquidExpirationBlockheight, preimage: $preimage, invoice: $invoice, bolt12Offer: $bolt12Offer, paymentHash: $paymentHash, destinationPubkey: $destinationPubkey, lnurlInfo: $lnurlInfo, bip353Address: $bip353Address, claimTxId: $claimTxId, refundTxId: $refundTxId, refundTxAmountSat: $refundTxAmountSat)';
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -1128,6 +1139,7 @@ class _$PaymentDetails_LightningImpl extends PaymentDetails_Lightning {
|
|||||||
(identical(other.destinationPubkey, destinationPubkey) ||
|
(identical(other.destinationPubkey, destinationPubkey) ||
|
||||||
other.destinationPubkey == destinationPubkey) &&
|
other.destinationPubkey == destinationPubkey) &&
|
||||||
(identical(other.lnurlInfo, lnurlInfo) || other.lnurlInfo == lnurlInfo) &&
|
(identical(other.lnurlInfo, lnurlInfo) || other.lnurlInfo == lnurlInfo) &&
|
||||||
|
(identical(other.bip353Address, bip353Address) || other.bip353Address == bip353Address) &&
|
||||||
(identical(other.claimTxId, claimTxId) || other.claimTxId == claimTxId) &&
|
(identical(other.claimTxId, claimTxId) || other.claimTxId == claimTxId) &&
|
||||||
(identical(other.refundTxId, refundTxId) || other.refundTxId == refundTxId) &&
|
(identical(other.refundTxId, refundTxId) || other.refundTxId == refundTxId) &&
|
||||||
(identical(other.refundTxAmountSat, refundTxAmountSat) ||
|
(identical(other.refundTxAmountSat, refundTxAmountSat) ||
|
||||||
@@ -1146,6 +1158,7 @@ class _$PaymentDetails_LightningImpl extends PaymentDetails_Lightning {
|
|||||||
paymentHash,
|
paymentHash,
|
||||||
destinationPubkey,
|
destinationPubkey,
|
||||||
lnurlInfo,
|
lnurlInfo,
|
||||||
|
bip353Address,
|
||||||
claimTxId,
|
claimTxId,
|
||||||
refundTxId,
|
refundTxId,
|
||||||
refundTxAmountSat);
|
refundTxAmountSat);
|
||||||
@@ -1170,6 +1183,7 @@ abstract class PaymentDetails_Lightning extends PaymentDetails {
|
|||||||
final String? paymentHash,
|
final String? paymentHash,
|
||||||
final String? destinationPubkey,
|
final String? destinationPubkey,
|
||||||
final LnUrlInfo? lnurlInfo,
|
final LnUrlInfo? lnurlInfo,
|
||||||
|
final String? bip353Address,
|
||||||
final String? claimTxId,
|
final String? claimTxId,
|
||||||
final String? refundTxId,
|
final String? refundTxId,
|
||||||
final BigInt? refundTxAmountSat}) = _$PaymentDetails_LightningImpl;
|
final BigInt? refundTxAmountSat}) = _$PaymentDetails_LightningImpl;
|
||||||
@@ -1202,6 +1216,9 @@ abstract class PaymentDetails_Lightning extends PaymentDetails {
|
|||||||
/// The payment LNURL info
|
/// The payment LNURL info
|
||||||
LnUrlInfo? get lnurlInfo;
|
LnUrlInfo? get lnurlInfo;
|
||||||
|
|
||||||
|
/// The BIP353 address used to resolve this payment
|
||||||
|
String? get bip353Address;
|
||||||
|
|
||||||
/// For a Receive payment, this is the claim tx id in case it has already been broadcast
|
/// For a Receive payment, this is the claim tx id in case it has already been broadcast
|
||||||
String? get claimTxId;
|
String? get claimTxId;
|
||||||
|
|
||||||
@@ -2564,7 +2581,7 @@ abstract class _$$SendDestination_Bolt11ImplCopyWith<$Res> {
|
|||||||
_$SendDestination_Bolt11Impl value, $Res Function(_$SendDestination_Bolt11Impl) then) =
|
_$SendDestination_Bolt11Impl value, $Res Function(_$SendDestination_Bolt11Impl) then) =
|
||||||
__$$SendDestination_Bolt11ImplCopyWithImpl<$Res>;
|
__$$SendDestination_Bolt11ImplCopyWithImpl<$Res>;
|
||||||
@useResult
|
@useResult
|
||||||
$Res call({LNInvoice invoice});
|
$Res call({LNInvoice invoice, String? bip353Address});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// @nodoc
|
/// @nodoc
|
||||||
@@ -2581,12 +2598,17 @@ class __$$SendDestination_Bolt11ImplCopyWithImpl<$Res>
|
|||||||
@override
|
@override
|
||||||
$Res call({
|
$Res call({
|
||||||
Object? invoice = null,
|
Object? invoice = null,
|
||||||
|
Object? bip353Address = freezed,
|
||||||
}) {
|
}) {
|
||||||
return _then(_$SendDestination_Bolt11Impl(
|
return _then(_$SendDestination_Bolt11Impl(
|
||||||
invoice: null == invoice
|
invoice: null == invoice
|
||||||
? _value.invoice
|
? _value.invoice
|
||||||
: invoice // ignore: cast_nullable_to_non_nullable
|
: invoice // ignore: cast_nullable_to_non_nullable
|
||||||
as LNInvoice,
|
as LNInvoice,
|
||||||
|
bip353Address: freezed == bip353Address
|
||||||
|
? _value.bip353Address
|
||||||
|
: bip353Address // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2594,14 +2616,18 @@ class __$$SendDestination_Bolt11ImplCopyWithImpl<$Res>
|
|||||||
/// @nodoc
|
/// @nodoc
|
||||||
|
|
||||||
class _$SendDestination_Bolt11Impl extends SendDestination_Bolt11 {
|
class _$SendDestination_Bolt11Impl extends SendDestination_Bolt11 {
|
||||||
const _$SendDestination_Bolt11Impl({required this.invoice}) : super._();
|
const _$SendDestination_Bolt11Impl({required this.invoice, this.bip353Address}) : super._();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
final LNInvoice invoice;
|
final LNInvoice invoice;
|
||||||
|
|
||||||
|
/// A BIP353 address, in case one was used to resolve this BOLT11
|
||||||
|
@override
|
||||||
|
final String? bip353Address;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
return 'SendDestination.bolt11(invoice: $invoice)';
|
return 'SendDestination.bolt11(invoice: $invoice, bip353Address: $bip353Address)';
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -2609,11 +2635,12 @@ class _$SendDestination_Bolt11Impl extends SendDestination_Bolt11 {
|
|||||||
return identical(this, other) ||
|
return identical(this, other) ||
|
||||||
(other.runtimeType == runtimeType &&
|
(other.runtimeType == runtimeType &&
|
||||||
other is _$SendDestination_Bolt11Impl &&
|
other is _$SendDestination_Bolt11Impl &&
|
||||||
(identical(other.invoice, invoice) || other.invoice == invoice));
|
(identical(other.invoice, invoice) || other.invoice == invoice) &&
|
||||||
|
(identical(other.bip353Address, bip353Address) || other.bip353Address == bip353Address));
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
int get hashCode => Object.hash(runtimeType, invoice);
|
int get hashCode => Object.hash(runtimeType, invoice, bip353Address);
|
||||||
|
|
||||||
/// Create a copy of SendDestination
|
/// Create a copy of SendDestination
|
||||||
/// with the given fields replaced by the non-null parameter values.
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
@@ -2625,11 +2652,15 @@ class _$SendDestination_Bolt11Impl extends SendDestination_Bolt11 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
abstract class SendDestination_Bolt11 extends SendDestination {
|
abstract class SendDestination_Bolt11 extends SendDestination {
|
||||||
const factory SendDestination_Bolt11({required final LNInvoice invoice}) = _$SendDestination_Bolt11Impl;
|
const factory SendDestination_Bolt11({required final LNInvoice invoice, final String? bip353Address}) =
|
||||||
|
_$SendDestination_Bolt11Impl;
|
||||||
const SendDestination_Bolt11._() : super._();
|
const SendDestination_Bolt11._() : super._();
|
||||||
|
|
||||||
LNInvoice get invoice;
|
LNInvoice get invoice;
|
||||||
|
|
||||||
|
/// A BIP353 address, in case one was used to resolve this BOLT11
|
||||||
|
String? get bip353Address;
|
||||||
|
|
||||||
/// Create a copy of SendDestination
|
/// Create a copy of SendDestination
|
||||||
/// with the given fields replaced by the non-null parameter values.
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
@@ -2643,7 +2674,7 @@ abstract class _$$SendDestination_Bolt12ImplCopyWith<$Res> {
|
|||||||
_$SendDestination_Bolt12Impl value, $Res Function(_$SendDestination_Bolt12Impl) then) =
|
_$SendDestination_Bolt12Impl value, $Res Function(_$SendDestination_Bolt12Impl) then) =
|
||||||
__$$SendDestination_Bolt12ImplCopyWithImpl<$Res>;
|
__$$SendDestination_Bolt12ImplCopyWithImpl<$Res>;
|
||||||
@useResult
|
@useResult
|
||||||
$Res call({LNOffer offer, BigInt receiverAmountSat});
|
$Res call({LNOffer offer, BigInt receiverAmountSat, String? bip353Address});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// @nodoc
|
/// @nodoc
|
||||||
@@ -2661,6 +2692,7 @@ class __$$SendDestination_Bolt12ImplCopyWithImpl<$Res>
|
|||||||
$Res call({
|
$Res call({
|
||||||
Object? offer = null,
|
Object? offer = null,
|
||||||
Object? receiverAmountSat = null,
|
Object? receiverAmountSat = null,
|
||||||
|
Object? bip353Address = freezed,
|
||||||
}) {
|
}) {
|
||||||
return _then(_$SendDestination_Bolt12Impl(
|
return _then(_$SendDestination_Bolt12Impl(
|
||||||
offer: null == offer
|
offer: null == offer
|
||||||
@@ -2671,6 +2703,10 @@ class __$$SendDestination_Bolt12ImplCopyWithImpl<$Res>
|
|||||||
? _value.receiverAmountSat
|
? _value.receiverAmountSat
|
||||||
: receiverAmountSat // ignore: cast_nullable_to_non_nullable
|
: receiverAmountSat // ignore: cast_nullable_to_non_nullable
|
||||||
as BigInt,
|
as BigInt,
|
||||||
|
bip353Address: freezed == bip353Address
|
||||||
|
? _value.bip353Address
|
||||||
|
: bip353Address // ignore: cast_nullable_to_non_nullable
|
||||||
|
as String?,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2678,16 +2714,22 @@ class __$$SendDestination_Bolt12ImplCopyWithImpl<$Res>
|
|||||||
/// @nodoc
|
/// @nodoc
|
||||||
|
|
||||||
class _$SendDestination_Bolt12Impl extends SendDestination_Bolt12 {
|
class _$SendDestination_Bolt12Impl extends SendDestination_Bolt12 {
|
||||||
const _$SendDestination_Bolt12Impl({required this.offer, required this.receiverAmountSat}) : super._();
|
const _$SendDestination_Bolt12Impl(
|
||||||
|
{required this.offer, required this.receiverAmountSat, this.bip353Address})
|
||||||
|
: super._();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
final LNOffer offer;
|
final LNOffer offer;
|
||||||
@override
|
@override
|
||||||
final BigInt receiverAmountSat;
|
final BigInt receiverAmountSat;
|
||||||
|
|
||||||
|
/// A BIP353 address, in case one was used to resolve this BOLT12
|
||||||
|
@override
|
||||||
|
final String? bip353Address;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
return 'SendDestination.bolt12(offer: $offer, receiverAmountSat: $receiverAmountSat)';
|
return 'SendDestination.bolt12(offer: $offer, receiverAmountSat: $receiverAmountSat, bip353Address: $bip353Address)';
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -2697,11 +2739,12 @@ class _$SendDestination_Bolt12Impl extends SendDestination_Bolt12 {
|
|||||||
other is _$SendDestination_Bolt12Impl &&
|
other is _$SendDestination_Bolt12Impl &&
|
||||||
(identical(other.offer, offer) || other.offer == offer) &&
|
(identical(other.offer, offer) || other.offer == offer) &&
|
||||||
(identical(other.receiverAmountSat, receiverAmountSat) ||
|
(identical(other.receiverAmountSat, receiverAmountSat) ||
|
||||||
other.receiverAmountSat == receiverAmountSat));
|
other.receiverAmountSat == receiverAmountSat) &&
|
||||||
|
(identical(other.bip353Address, bip353Address) || other.bip353Address == bip353Address));
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
int get hashCode => Object.hash(runtimeType, offer, receiverAmountSat);
|
int get hashCode => Object.hash(runtimeType, offer, receiverAmountSat, bip353Address);
|
||||||
|
|
||||||
/// Create a copy of SendDestination
|
/// Create a copy of SendDestination
|
||||||
/// with the given fields replaced by the non-null parameter values.
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
@@ -2714,12 +2757,17 @@ class _$SendDestination_Bolt12Impl extends SendDestination_Bolt12 {
|
|||||||
|
|
||||||
abstract class SendDestination_Bolt12 extends SendDestination {
|
abstract class SendDestination_Bolt12 extends SendDestination {
|
||||||
const factory SendDestination_Bolt12(
|
const factory SendDestination_Bolt12(
|
||||||
{required final LNOffer offer, required final BigInt receiverAmountSat}) = _$SendDestination_Bolt12Impl;
|
{required final LNOffer offer,
|
||||||
|
required final BigInt receiverAmountSat,
|
||||||
|
final String? bip353Address}) = _$SendDestination_Bolt12Impl;
|
||||||
const SendDestination_Bolt12._() : super._();
|
const SendDestination_Bolt12._() : super._();
|
||||||
|
|
||||||
LNOffer get offer;
|
LNOffer get offer;
|
||||||
BigInt get receiverAmountSat;
|
BigInt get receiverAmountSat;
|
||||||
|
|
||||||
|
/// A BIP353 address, in case one was used to resolve this BOLT12
|
||||||
|
String? get bip353Address;
|
||||||
|
|
||||||
/// Create a copy of SendDestination
|
/// Create a copy of SendDestination
|
||||||
/// with the given fields replaced by the non-null parameter values.
|
/// with the given fields replaced by the non-null parameter values.
|
||||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||||
|
|||||||
@@ -4354,6 +4354,8 @@ final class wire_cst_ln_invoice extends ffi.Struct {
|
|||||||
|
|
||||||
final class wire_cst_SendDestination_Bolt11 extends ffi.Struct {
|
final class wire_cst_SendDestination_Bolt11 extends ffi.Struct {
|
||||||
external ffi.Pointer<wire_cst_ln_invoice> invoice;
|
external ffi.Pointer<wire_cst_ln_invoice> invoice;
|
||||||
|
|
||||||
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> bip353_address;
|
||||||
}
|
}
|
||||||
|
|
||||||
final class wire_cst_list_String extends ffi.Struct {
|
final class wire_cst_list_String extends ffi.Struct {
|
||||||
@@ -4422,6 +4424,8 @@ final class wire_cst_SendDestination_Bolt12 extends ffi.Struct {
|
|||||||
|
|
||||||
@ffi.Uint64()
|
@ffi.Uint64()
|
||||||
external int receiver_amount_sat;
|
external int receiver_amount_sat;
|
||||||
|
|
||||||
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> bip353_address;
|
||||||
}
|
}
|
||||||
|
|
||||||
final class SendDestinationKind extends ffi.Union {
|
final class SendDestinationKind extends ffi.Union {
|
||||||
@@ -4606,6 +4610,8 @@ final class wire_cst_prepare_ln_url_pay_request extends ffi.Struct {
|
|||||||
|
|
||||||
external wire_cst_pay_amount amount;
|
external wire_cst_pay_amount amount;
|
||||||
|
|
||||||
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> bip353_address;
|
||||||
|
|
||||||
external ffi.Pointer<wire_cst_list_prim_u_8_strict> comment;
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> comment;
|
||||||
|
|
||||||
external ffi.Pointer<ffi.Bool> validate_success_action_url;
|
external ffi.Pointer<ffi.Bool> validate_success_action_url;
|
||||||
@@ -4809,6 +4815,8 @@ final class wire_cst_PaymentDetails_Lightning extends ffi.Struct {
|
|||||||
|
|
||||||
external ffi.Pointer<wire_cst_ln_url_info> lnurl_info;
|
external ffi.Pointer<wire_cst_ln_url_info> lnurl_info;
|
||||||
|
|
||||||
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> bip353_address;
|
||||||
|
|
||||||
external ffi.Pointer<wire_cst_list_prim_u_8_strict> claim_tx_id;
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> claim_tx_id;
|
||||||
|
|
||||||
external ffi.Pointer<wire_cst_list_prim_u_8_strict> refund_tx_id;
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> refund_tx_id;
|
||||||
@@ -5241,6 +5249,8 @@ final class wire_cst_InputType_Bolt11 extends ffi.Struct {
|
|||||||
|
|
||||||
final class wire_cst_InputType_Bolt12Offer extends ffi.Struct {
|
final class wire_cst_InputType_Bolt12Offer extends ffi.Struct {
|
||||||
external ffi.Pointer<wire_cst_ln_offer> offer;
|
external ffi.Pointer<wire_cst_ln_offer> offer;
|
||||||
|
|
||||||
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> bip353_address;
|
||||||
}
|
}
|
||||||
|
|
||||||
final class wire_cst_InputType_NodeId extends ffi.Struct {
|
final class wire_cst_InputType_NodeId extends ffi.Struct {
|
||||||
@@ -5253,6 +5263,8 @@ final class wire_cst_InputType_Url extends ffi.Struct {
|
|||||||
|
|
||||||
final class wire_cst_InputType_LnUrlPay extends ffi.Struct {
|
final class wire_cst_InputType_LnUrlPay extends ffi.Struct {
|
||||||
external ffi.Pointer<wire_cst_ln_url_pay_request_data> data;
|
external ffi.Pointer<wire_cst_ln_url_pay_request_data> data;
|
||||||
|
|
||||||
|
external ffi.Pointer<wire_cst_list_prim_u_8_strict> bip353_address;
|
||||||
}
|
}
|
||||||
|
|
||||||
final class wire_cst_InputType_LnUrlWithdraw extends ffi.Struct {
|
final class wire_cst_InputType_LnUrlWithdraw extends ffi.Struct {
|
||||||
|
|||||||
@@ -1889,6 +1889,16 @@ fun asPrepareLnUrlPayRequest(prepareLnUrlPayRequest: ReadableMap): PrepareLnUrlP
|
|||||||
}
|
}
|
||||||
val data = prepareLnUrlPayRequest.getMap("data")?.let { asLnUrlPayRequestData(it) }!!
|
val data = prepareLnUrlPayRequest.getMap("data")?.let { asLnUrlPayRequestData(it) }!!
|
||||||
val amount = prepareLnUrlPayRequest.getMap("amount")?.let { asPayAmount(it) }!!
|
val amount = prepareLnUrlPayRequest.getMap("amount")?.let { asPayAmount(it) }!!
|
||||||
|
val bip353Address =
|
||||||
|
if (hasNonNullKey(
|
||||||
|
prepareLnUrlPayRequest,
|
||||||
|
"bip353Address",
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
prepareLnUrlPayRequest.getString("bip353Address")
|
||||||
|
} else {
|
||||||
|
null
|
||||||
|
}
|
||||||
val comment = if (hasNonNullKey(prepareLnUrlPayRequest, "comment")) prepareLnUrlPayRequest.getString("comment") else null
|
val comment = if (hasNonNullKey(prepareLnUrlPayRequest, "comment")) prepareLnUrlPayRequest.getString("comment") else null
|
||||||
val validateSuccessActionUrl =
|
val validateSuccessActionUrl =
|
||||||
if (hasNonNullKey(
|
if (hasNonNullKey(
|
||||||
@@ -1900,13 +1910,14 @@ fun asPrepareLnUrlPayRequest(prepareLnUrlPayRequest: ReadableMap): PrepareLnUrlP
|
|||||||
} else {
|
} else {
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
return PrepareLnUrlPayRequest(data, amount, comment, validateSuccessActionUrl)
|
return PrepareLnUrlPayRequest(data, amount, bip353Address, comment, validateSuccessActionUrl)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun readableMapOf(prepareLnUrlPayRequest: PrepareLnUrlPayRequest): ReadableMap =
|
fun readableMapOf(prepareLnUrlPayRequest: PrepareLnUrlPayRequest): ReadableMap =
|
||||||
readableMapOf(
|
readableMapOf(
|
||||||
"data" to readableMapOf(prepareLnUrlPayRequest.data),
|
"data" to readableMapOf(prepareLnUrlPayRequest.data),
|
||||||
"amount" to readableMapOf(prepareLnUrlPayRequest.amount),
|
"amount" to readableMapOf(prepareLnUrlPayRequest.amount),
|
||||||
|
"bip353Address" to prepareLnUrlPayRequest.bip353Address,
|
||||||
"comment" to prepareLnUrlPayRequest.comment,
|
"comment" to prepareLnUrlPayRequest.comment,
|
||||||
"validateSuccessActionUrl" to prepareLnUrlPayRequest.validateSuccessActionUrl,
|
"validateSuccessActionUrl" to prepareLnUrlPayRequest.validateSuccessActionUrl,
|
||||||
)
|
)
|
||||||
@@ -3056,7 +3067,8 @@ fun asInputType(inputType: ReadableMap): InputType? {
|
|||||||
}
|
}
|
||||||
if (type == "bolt12Offer") {
|
if (type == "bolt12Offer") {
|
||||||
val offer = inputType.getMap("offer")?.let { asLnOffer(it) }!!
|
val offer = inputType.getMap("offer")?.let { asLnOffer(it) }!!
|
||||||
return InputType.Bolt12Offer(offer)
|
val bip353Address = if (hasNonNullKey(inputType, "bip353Address")) inputType.getString("bip353Address") else null
|
||||||
|
return InputType.Bolt12Offer(offer, bip353Address)
|
||||||
}
|
}
|
||||||
if (type == "nodeId") {
|
if (type == "nodeId") {
|
||||||
val nodeId = inputType.getString("nodeId")!!
|
val nodeId = inputType.getString("nodeId")!!
|
||||||
@@ -3068,7 +3080,8 @@ fun asInputType(inputType: ReadableMap): InputType? {
|
|||||||
}
|
}
|
||||||
if (type == "lnUrlPay") {
|
if (type == "lnUrlPay") {
|
||||||
val data = inputType.getMap("data")?.let { asLnUrlPayRequestData(it) }!!
|
val data = inputType.getMap("data")?.let { asLnUrlPayRequestData(it) }!!
|
||||||
return InputType.LnUrlPay(data)
|
val bip353Address = if (hasNonNullKey(inputType, "bip353Address")) inputType.getString("bip353Address") else null
|
||||||
|
return InputType.LnUrlPay(data, bip353Address)
|
||||||
}
|
}
|
||||||
if (type == "lnUrlWithdraw") {
|
if (type == "lnUrlWithdraw") {
|
||||||
val data = inputType.getMap("data")?.let { asLnUrlWithdrawRequestData(it) }!!
|
val data = inputType.getMap("data")?.let { asLnUrlWithdrawRequestData(it) }!!
|
||||||
@@ -3103,6 +3116,7 @@ fun readableMapOf(inputType: InputType): ReadableMap? {
|
|||||||
is InputType.Bolt12Offer -> {
|
is InputType.Bolt12Offer -> {
|
||||||
pushToMap(map, "type", "bolt12Offer")
|
pushToMap(map, "type", "bolt12Offer")
|
||||||
pushToMap(map, "offer", readableMapOf(inputType.offer))
|
pushToMap(map, "offer", readableMapOf(inputType.offer))
|
||||||
|
pushToMap(map, "bip353Address", inputType.bip353Address)
|
||||||
}
|
}
|
||||||
is InputType.NodeId -> {
|
is InputType.NodeId -> {
|
||||||
pushToMap(map, "type", "nodeId")
|
pushToMap(map, "type", "nodeId")
|
||||||
@@ -3115,6 +3129,7 @@ fun readableMapOf(inputType: InputType): ReadableMap? {
|
|||||||
is InputType.LnUrlPay -> {
|
is InputType.LnUrlPay -> {
|
||||||
pushToMap(map, "type", "lnUrlPay")
|
pushToMap(map, "type", "lnUrlPay")
|
||||||
pushToMap(map, "data", readableMapOf(inputType.data))
|
pushToMap(map, "data", readableMapOf(inputType.data))
|
||||||
|
pushToMap(map, "bip353Address", inputType.bip353Address)
|
||||||
}
|
}
|
||||||
is InputType.LnUrlWithdraw -> {
|
is InputType.LnUrlWithdraw -> {
|
||||||
pushToMap(map, "type", "lnUrlWithdraw")
|
pushToMap(map, "type", "lnUrlWithdraw")
|
||||||
@@ -3424,6 +3439,7 @@ fun asPaymentDetails(paymentDetails: ReadableMap): PaymentDetails? {
|
|||||||
} else {
|
} else {
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
|
val bip353Address = if (hasNonNullKey(paymentDetails, "bip353Address")) paymentDetails.getString("bip353Address") else null
|
||||||
val claimTxId = if (hasNonNullKey(paymentDetails, "claimTxId")) paymentDetails.getString("claimTxId") else null
|
val claimTxId = if (hasNonNullKey(paymentDetails, "claimTxId")) paymentDetails.getString("claimTxId") else null
|
||||||
val refundTxId = if (hasNonNullKey(paymentDetails, "refundTxId")) paymentDetails.getString("refundTxId") else null
|
val refundTxId = if (hasNonNullKey(paymentDetails, "refundTxId")) paymentDetails.getString("refundTxId") else null
|
||||||
val refundTxAmountSat =
|
val refundTxAmountSat =
|
||||||
@@ -3446,6 +3462,7 @@ fun asPaymentDetails(paymentDetails: ReadableMap): PaymentDetails? {
|
|||||||
paymentHash,
|
paymentHash,
|
||||||
destinationPubkey,
|
destinationPubkey,
|
||||||
lnurlInfo,
|
lnurlInfo,
|
||||||
|
bip353Address,
|
||||||
claimTxId,
|
claimTxId,
|
||||||
refundTxId,
|
refundTxId,
|
||||||
refundTxAmountSat,
|
refundTxAmountSat,
|
||||||
@@ -3531,6 +3548,7 @@ fun readableMapOf(paymentDetails: PaymentDetails): ReadableMap? {
|
|||||||
pushToMap(map, "paymentHash", paymentDetails.paymentHash)
|
pushToMap(map, "paymentHash", paymentDetails.paymentHash)
|
||||||
pushToMap(map, "destinationPubkey", paymentDetails.destinationPubkey)
|
pushToMap(map, "destinationPubkey", paymentDetails.destinationPubkey)
|
||||||
pushToMap(map, "lnurlInfo", paymentDetails.lnurlInfo?.let { readableMapOf(it) })
|
pushToMap(map, "lnurlInfo", paymentDetails.lnurlInfo?.let { readableMapOf(it) })
|
||||||
|
pushToMap(map, "bip353Address", paymentDetails.bip353Address)
|
||||||
pushToMap(map, "claimTxId", paymentDetails.claimTxId)
|
pushToMap(map, "claimTxId", paymentDetails.claimTxId)
|
||||||
pushToMap(map, "refundTxId", paymentDetails.refundTxId)
|
pushToMap(map, "refundTxId", paymentDetails.refundTxId)
|
||||||
pushToMap(map, "refundTxAmountSat", paymentDetails.refundTxAmountSat)
|
pushToMap(map, "refundTxAmountSat", paymentDetails.refundTxAmountSat)
|
||||||
@@ -3752,12 +3770,14 @@ fun asSendDestination(sendDestination: ReadableMap): SendDestination? {
|
|||||||
}
|
}
|
||||||
if (type == "bolt11") {
|
if (type == "bolt11") {
|
||||||
val invoice = sendDestination.getMap("invoice")?.let { asLnInvoice(it) }!!
|
val invoice = sendDestination.getMap("invoice")?.let { asLnInvoice(it) }!!
|
||||||
return SendDestination.Bolt11(invoice)
|
val bip353Address = if (hasNonNullKey(sendDestination, "bip353Address")) sendDestination.getString("bip353Address") else null
|
||||||
|
return SendDestination.Bolt11(invoice, bip353Address)
|
||||||
}
|
}
|
||||||
if (type == "bolt12") {
|
if (type == "bolt12") {
|
||||||
val offer = sendDestination.getMap("offer")?.let { asLnOffer(it) }!!
|
val offer = sendDestination.getMap("offer")?.let { asLnOffer(it) }!!
|
||||||
val receiverAmountSat = sendDestination.getDouble("receiverAmountSat").toULong()
|
val receiverAmountSat = sendDestination.getDouble("receiverAmountSat").toULong()
|
||||||
return SendDestination.Bolt12(offer, receiverAmountSat)
|
val bip353Address = if (hasNonNullKey(sendDestination, "bip353Address")) sendDestination.getString("bip353Address") else null
|
||||||
|
return SendDestination.Bolt12(offer, receiverAmountSat, bip353Address)
|
||||||
}
|
}
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
@@ -3772,11 +3792,13 @@ fun readableMapOf(sendDestination: SendDestination): ReadableMap? {
|
|||||||
is SendDestination.Bolt11 -> {
|
is SendDestination.Bolt11 -> {
|
||||||
pushToMap(map, "type", "bolt11")
|
pushToMap(map, "type", "bolt11")
|
||||||
pushToMap(map, "invoice", readableMapOf(sendDestination.invoice))
|
pushToMap(map, "invoice", readableMapOf(sendDestination.invoice))
|
||||||
|
pushToMap(map, "bip353Address", sendDestination.bip353Address)
|
||||||
}
|
}
|
||||||
is SendDestination.Bolt12 -> {
|
is SendDestination.Bolt12 -> {
|
||||||
pushToMap(map, "type", "bolt12")
|
pushToMap(map, "type", "bolt12")
|
||||||
pushToMap(map, "offer", readableMapOf(sendDestination.offer))
|
pushToMap(map, "offer", readableMapOf(sendDestination.offer))
|
||||||
pushToMap(map, "receiverAmountSat", sendDestination.receiverAmountSat)
|
pushToMap(map, "receiverAmountSat", sendDestination.receiverAmountSat)
|
||||||
|
pushToMap(map, "bip353Address", sendDestination.bip353Address)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return map
|
return map
|
||||||
|
|||||||
@@ -2227,6 +2227,13 @@ enum BreezSDKLiquidMapper {
|
|||||||
}
|
}
|
||||||
let amount = try asPayAmount(payAmount: amountTmp)
|
let amount = try asPayAmount(payAmount: amountTmp)
|
||||||
|
|
||||||
|
var bip353Address: String?
|
||||||
|
if hasNonNilKey(data: prepareLnUrlPayRequest, key: "bip353Address") {
|
||||||
|
guard let bip353AddressTmp = prepareLnUrlPayRequest["bip353Address"] as? String else {
|
||||||
|
throw SdkError.Generic(message: errUnexpectedValue(fieldName: "bip353Address"))
|
||||||
|
}
|
||||||
|
bip353Address = bip353AddressTmp
|
||||||
|
}
|
||||||
var comment: String?
|
var comment: String?
|
||||||
if hasNonNilKey(data: prepareLnUrlPayRequest, key: "comment") {
|
if hasNonNilKey(data: prepareLnUrlPayRequest, key: "comment") {
|
||||||
guard let commentTmp = prepareLnUrlPayRequest["comment"] as? String else {
|
guard let commentTmp = prepareLnUrlPayRequest["comment"] as? String else {
|
||||||
@@ -2242,13 +2249,14 @@ enum BreezSDKLiquidMapper {
|
|||||||
validateSuccessActionUrl = validateSuccessActionUrlTmp
|
validateSuccessActionUrl = validateSuccessActionUrlTmp
|
||||||
}
|
}
|
||||||
|
|
||||||
return PrepareLnUrlPayRequest(data: data, amount: amount, comment: comment, validateSuccessActionUrl: validateSuccessActionUrl)
|
return PrepareLnUrlPayRequest(data: data, amount: amount, bip353Address: bip353Address, comment: comment, validateSuccessActionUrl: validateSuccessActionUrl)
|
||||||
}
|
}
|
||||||
|
|
||||||
static func dictionaryOf(prepareLnUrlPayRequest: PrepareLnUrlPayRequest) -> [String: Any?] {
|
static func dictionaryOf(prepareLnUrlPayRequest: PrepareLnUrlPayRequest) -> [String: Any?] {
|
||||||
return [
|
return [
|
||||||
"data": dictionaryOf(lnUrlPayRequestData: prepareLnUrlPayRequest.data),
|
"data": dictionaryOf(lnUrlPayRequestData: prepareLnUrlPayRequest.data),
|
||||||
"amount": dictionaryOf(payAmount: prepareLnUrlPayRequest.amount),
|
"amount": dictionaryOf(payAmount: prepareLnUrlPayRequest.amount),
|
||||||
|
"bip353Address": prepareLnUrlPayRequest.bip353Address == nil ? nil : prepareLnUrlPayRequest.bip353Address,
|
||||||
"comment": prepareLnUrlPayRequest.comment == nil ? nil : prepareLnUrlPayRequest.comment,
|
"comment": prepareLnUrlPayRequest.comment == nil ? nil : prepareLnUrlPayRequest.comment,
|
||||||
"validateSuccessActionUrl": prepareLnUrlPayRequest.validateSuccessActionUrl == nil ? nil : prepareLnUrlPayRequest.validateSuccessActionUrl,
|
"validateSuccessActionUrl": prepareLnUrlPayRequest.validateSuccessActionUrl == nil ? nil : prepareLnUrlPayRequest.validateSuccessActionUrl,
|
||||||
]
|
]
|
||||||
@@ -3588,7 +3596,9 @@ enum BreezSDKLiquidMapper {
|
|||||||
}
|
}
|
||||||
let _offer = try asLnOffer(lnOffer: offerTmp)
|
let _offer = try asLnOffer(lnOffer: offerTmp)
|
||||||
|
|
||||||
return InputType.bolt12Offer(offer: _offer)
|
let _bip353Address = inputType["bip353Address"] as? String
|
||||||
|
|
||||||
|
return InputType.bolt12Offer(offer: _offer, bip353Address: _bip353Address)
|
||||||
}
|
}
|
||||||
if type == "nodeId" {
|
if type == "nodeId" {
|
||||||
guard let _nodeId = inputType["nodeId"] as? String else {
|
guard let _nodeId = inputType["nodeId"] as? String else {
|
||||||
@@ -3608,7 +3618,9 @@ enum BreezSDKLiquidMapper {
|
|||||||
}
|
}
|
||||||
let _data = try asLnUrlPayRequestData(lnUrlPayRequestData: dataTmp)
|
let _data = try asLnUrlPayRequestData(lnUrlPayRequestData: dataTmp)
|
||||||
|
|
||||||
return InputType.lnUrlPay(data: _data)
|
let _bip353Address = inputType["bip353Address"] as? String
|
||||||
|
|
||||||
|
return InputType.lnUrlPay(data: _data, bip353Address: _bip353Address)
|
||||||
}
|
}
|
||||||
if type == "lnUrlWithdraw" {
|
if type == "lnUrlWithdraw" {
|
||||||
guard let dataTmp = inputType["data"] as? [String: Any?] else {
|
guard let dataTmp = inputType["data"] as? [String: Any?] else {
|
||||||
@@ -3665,11 +3677,12 @@ enum BreezSDKLiquidMapper {
|
|||||||
]
|
]
|
||||||
|
|
||||||
case let .bolt12Offer(
|
case let .bolt12Offer(
|
||||||
offer
|
offer, bip353Address
|
||||||
):
|
):
|
||||||
return [
|
return [
|
||||||
"type": "bolt12Offer",
|
"type": "bolt12Offer",
|
||||||
"offer": dictionaryOf(lnOffer: offer),
|
"offer": dictionaryOf(lnOffer: offer),
|
||||||
|
"bip353Address": bip353Address == nil ? nil : bip353Address,
|
||||||
]
|
]
|
||||||
|
|
||||||
case let .nodeId(
|
case let .nodeId(
|
||||||
@@ -3689,11 +3702,12 @@ enum BreezSDKLiquidMapper {
|
|||||||
]
|
]
|
||||||
|
|
||||||
case let .lnUrlPay(
|
case let .lnUrlPay(
|
||||||
data
|
data, bip353Address
|
||||||
):
|
):
|
||||||
return [
|
return [
|
||||||
"type": "lnUrlPay",
|
"type": "lnUrlPay",
|
||||||
"data": dictionaryOf(lnUrlPayRequestData: data),
|
"data": dictionaryOf(lnUrlPayRequestData: data),
|
||||||
|
"bip353Address": bip353Address == nil ? nil : bip353Address,
|
||||||
]
|
]
|
||||||
|
|
||||||
case let .lnUrlWithdraw(
|
case let .lnUrlWithdraw(
|
||||||
@@ -4186,13 +4200,15 @@ enum BreezSDKLiquidMapper {
|
|||||||
_lnurlInfo = try asLnUrlInfo(lnUrlInfo: lnurlInfoTmp)
|
_lnurlInfo = try asLnUrlInfo(lnUrlInfo: lnurlInfoTmp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let _bip353Address = paymentDetails["bip353Address"] as? String
|
||||||
|
|
||||||
let _claimTxId = paymentDetails["claimTxId"] as? String
|
let _claimTxId = paymentDetails["claimTxId"] as? String
|
||||||
|
|
||||||
let _refundTxId = paymentDetails["refundTxId"] as? String
|
let _refundTxId = paymentDetails["refundTxId"] as? String
|
||||||
|
|
||||||
let _refundTxAmountSat = paymentDetails["refundTxAmountSat"] as? UInt64
|
let _refundTxAmountSat = paymentDetails["refundTxAmountSat"] as? UInt64
|
||||||
|
|
||||||
return PaymentDetails.lightning(swapId: _swapId, description: _description, liquidExpirationBlockheight: _liquidExpirationBlockheight, preimage: _preimage, invoice: _invoice, bolt12Offer: _bolt12Offer, paymentHash: _paymentHash, destinationPubkey: _destinationPubkey, lnurlInfo: _lnurlInfo, claimTxId: _claimTxId, refundTxId: _refundTxId, refundTxAmountSat: _refundTxAmountSat)
|
return PaymentDetails.lightning(swapId: _swapId, description: _description, liquidExpirationBlockheight: _liquidExpirationBlockheight, preimage: _preimage, invoice: _invoice, bolt12Offer: _bolt12Offer, paymentHash: _paymentHash, destinationPubkey: _destinationPubkey, lnurlInfo: _lnurlInfo, bip353Address: _bip353Address, claimTxId: _claimTxId, refundTxId: _refundTxId, refundTxAmountSat: _refundTxAmountSat)
|
||||||
}
|
}
|
||||||
if type == "liquid" {
|
if type == "liquid" {
|
||||||
guard let _assetId = paymentDetails["assetId"] as? String else {
|
guard let _assetId = paymentDetails["assetId"] as? String else {
|
||||||
@@ -4240,7 +4256,7 @@ enum BreezSDKLiquidMapper {
|
|||||||
static func dictionaryOf(paymentDetails: PaymentDetails) -> [String: Any?] {
|
static func dictionaryOf(paymentDetails: PaymentDetails) -> [String: Any?] {
|
||||||
switch paymentDetails {
|
switch paymentDetails {
|
||||||
case let .lightning(
|
case let .lightning(
|
||||||
swapId, description, liquidExpirationBlockheight, preimage, invoice, bolt12Offer, paymentHash, destinationPubkey, lnurlInfo, claimTxId, refundTxId, refundTxAmountSat
|
swapId, description, liquidExpirationBlockheight, preimage, invoice, bolt12Offer, paymentHash, destinationPubkey, lnurlInfo, bip353Address, claimTxId, refundTxId, refundTxAmountSat
|
||||||
):
|
):
|
||||||
return [
|
return [
|
||||||
"type": "lightning",
|
"type": "lightning",
|
||||||
@@ -4253,6 +4269,7 @@ enum BreezSDKLiquidMapper {
|
|||||||
"paymentHash": paymentHash == nil ? nil : paymentHash,
|
"paymentHash": paymentHash == nil ? nil : paymentHash,
|
||||||
"destinationPubkey": destinationPubkey == nil ? nil : destinationPubkey,
|
"destinationPubkey": destinationPubkey == nil ? nil : destinationPubkey,
|
||||||
"lnurlInfo": lnurlInfo == nil ? nil : dictionaryOf(lnUrlInfo: lnurlInfo!),
|
"lnurlInfo": lnurlInfo == nil ? nil : dictionaryOf(lnUrlInfo: lnurlInfo!),
|
||||||
|
"bip353Address": bip353Address == nil ? nil : bip353Address,
|
||||||
"claimTxId": claimTxId == nil ? nil : claimTxId,
|
"claimTxId": claimTxId == nil ? nil : claimTxId,
|
||||||
"refundTxId": refundTxId == nil ? nil : refundTxId,
|
"refundTxId": refundTxId == nil ? nil : refundTxId,
|
||||||
"refundTxAmountSat": refundTxAmountSat == nil ? nil : refundTxAmountSat,
|
"refundTxAmountSat": refundTxAmountSat == nil ? nil : refundTxAmountSat,
|
||||||
@@ -4699,7 +4716,9 @@ enum BreezSDKLiquidMapper {
|
|||||||
}
|
}
|
||||||
let _invoice = try asLnInvoice(lnInvoice: invoiceTmp)
|
let _invoice = try asLnInvoice(lnInvoice: invoiceTmp)
|
||||||
|
|
||||||
return SendDestination.bolt11(invoice: _invoice)
|
let _bip353Address = sendDestination["bip353Address"] as? String
|
||||||
|
|
||||||
|
return SendDestination.bolt11(invoice: _invoice, bip353Address: _bip353Address)
|
||||||
}
|
}
|
||||||
if type == "bolt12" {
|
if type == "bolt12" {
|
||||||
guard let offerTmp = sendDestination["offer"] as? [String: Any?] else {
|
guard let offerTmp = sendDestination["offer"] as? [String: Any?] else {
|
||||||
@@ -4710,7 +4729,9 @@ enum BreezSDKLiquidMapper {
|
|||||||
guard let _receiverAmountSat = sendDestination["receiverAmountSat"] as? UInt64 else {
|
guard let _receiverAmountSat = sendDestination["receiverAmountSat"] as? UInt64 else {
|
||||||
throw SdkError.Generic(message: errMissingMandatoryField(fieldName: "receiverAmountSat", typeName: "SendDestination"))
|
throw SdkError.Generic(message: errMissingMandatoryField(fieldName: "receiverAmountSat", typeName: "SendDestination"))
|
||||||
}
|
}
|
||||||
return SendDestination.bolt12(offer: _offer, receiverAmountSat: _receiverAmountSat)
|
let _bip353Address = sendDestination["bip353Address"] as? String
|
||||||
|
|
||||||
|
return SendDestination.bolt12(offer: _offer, receiverAmountSat: _receiverAmountSat, bip353Address: _bip353Address)
|
||||||
}
|
}
|
||||||
|
|
||||||
throw SdkError.Generic(message: "Unexpected type \(type) for enum SendDestination")
|
throw SdkError.Generic(message: "Unexpected type \(type) for enum SendDestination")
|
||||||
@@ -4727,20 +4748,22 @@ enum BreezSDKLiquidMapper {
|
|||||||
]
|
]
|
||||||
|
|
||||||
case let .bolt11(
|
case let .bolt11(
|
||||||
invoice
|
invoice, bip353Address
|
||||||
):
|
):
|
||||||
return [
|
return [
|
||||||
"type": "bolt11",
|
"type": "bolt11",
|
||||||
"invoice": dictionaryOf(lnInvoice: invoice),
|
"invoice": dictionaryOf(lnInvoice: invoice),
|
||||||
|
"bip353Address": bip353Address == nil ? nil : bip353Address,
|
||||||
]
|
]
|
||||||
|
|
||||||
case let .bolt12(
|
case let .bolt12(
|
||||||
offer, receiverAmountSat
|
offer, receiverAmountSat, bip353Address
|
||||||
):
|
):
|
||||||
return [
|
return [
|
||||||
"type": "bolt12",
|
"type": "bolt12",
|
||||||
"offer": dictionaryOf(lnOffer: offer),
|
"offer": dictionaryOf(lnOffer: offer),
|
||||||
"receiverAmountSat": receiverAmountSat,
|
"receiverAmountSat": receiverAmountSat,
|
||||||
|
"bip353Address": bip353Address == nil ? nil : bip353Address,
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -336,6 +336,7 @@ export interface PrepareBuyBitcoinResponse {
|
|||||||
export interface PrepareLnUrlPayRequest {
|
export interface PrepareLnUrlPayRequest {
|
||||||
data: LnUrlPayRequestData
|
data: LnUrlPayRequestData
|
||||||
amount: PayAmount
|
amount: PayAmount
|
||||||
|
bip353Address?: string
|
||||||
comment?: string
|
comment?: string
|
||||||
validateSuccessActionUrl?: boolean
|
validateSuccessActionUrl?: boolean
|
||||||
}
|
}
|
||||||
@@ -560,6 +561,7 @@ export type InputType = {
|
|||||||
} | {
|
} | {
|
||||||
type: InputTypeVariant.BOLT12_OFFER,
|
type: InputTypeVariant.BOLT12_OFFER,
|
||||||
offer: LnOffer
|
offer: LnOffer
|
||||||
|
bip353Address?: string
|
||||||
} | {
|
} | {
|
||||||
type: InputTypeVariant.NODE_ID,
|
type: InputTypeVariant.NODE_ID,
|
||||||
nodeId: string
|
nodeId: string
|
||||||
@@ -569,6 +571,7 @@ export type InputType = {
|
|||||||
} | {
|
} | {
|
||||||
type: InputTypeVariant.LN_URL_PAY,
|
type: InputTypeVariant.LN_URL_PAY,
|
||||||
data: LnUrlPayRequestData
|
data: LnUrlPayRequestData
|
||||||
|
bip353Address?: string
|
||||||
} | {
|
} | {
|
||||||
type: InputTypeVariant.LN_URL_WITHDRAW,
|
type: InputTypeVariant.LN_URL_WITHDRAW,
|
||||||
data: LnUrlWithdrawRequestData
|
data: LnUrlWithdrawRequestData
|
||||||
@@ -687,6 +690,7 @@ export type PaymentDetails = {
|
|||||||
paymentHash?: string
|
paymentHash?: string
|
||||||
destinationPubkey?: string
|
destinationPubkey?: string
|
||||||
lnurlInfo?: LnUrlInfo
|
lnurlInfo?: LnUrlInfo
|
||||||
|
bip353Address?: string
|
||||||
claimTxId?: string
|
claimTxId?: string
|
||||||
refundTxId?: string
|
refundTxId?: string
|
||||||
refundTxAmountSat?: number
|
refundTxAmountSat?: number
|
||||||
@@ -796,10 +800,12 @@ export type SendDestination = {
|
|||||||
} | {
|
} | {
|
||||||
type: SendDestinationVariant.BOLT11,
|
type: SendDestinationVariant.BOLT11,
|
||||||
invoice: LnInvoice
|
invoice: LnInvoice
|
||||||
|
bip353Address?: string
|
||||||
} | {
|
} | {
|
||||||
type: SendDestinationVariant.BOLT12,
|
type: SendDestinationVariant.BOLT12,
|
||||||
offer: LnOffer
|
offer: LnOffer
|
||||||
receiverAmountSat: number
|
receiverAmountSat: number
|
||||||
|
bip353Address?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export enum SuccessActionVariant {
|
export enum SuccessActionVariant {
|
||||||
|
|||||||
Reference in New Issue
Block a user