mirror of
https://github.com/aljazceru/breez-sdk-liquid.git
synced 2025-12-23 08:54:22 +01:00
prepare-pay-onchain: add option for drain (#464)
* prepare-pay-onchain: add option for drain in req * Fix clippy * ChainSwapStateHandler: gracefully handle building both drain and non-drain lockups * Send Chain swap: use standard feerate when estimating lockup tx fee * UDL: move new drain field above the last PreparePayOnchainRequest optional field * UDL: move new drain field optional * prepare-pay-onchain: treat normal payment as drain if receiver amount is high enough If the receiver amount is as high as it would be in case of drain, treat the current prepare-pay-onchain as drain, even if the drain flag is not set. * build_drain_tx: add optional amount validation * Add PayOnchainAmount enum to cover amount types (drain, receiver) * Add ability to find max_receiver_amount_sat for non-drain sends * Revert "Add ability to find max_receiver_amount_sat for non-drain sends" This reverts commit 60ee1c768021810f72bc64a8ada69d35b638185e. * prepare_pay_onchain: treat drain and non-drain cases separately If the non-drain case is chosen with a receiver_amount equivalent to what drain would have calculated, it results in an error. For drain, the caller has to explicitly choose PayOnchainAmount::Drain. * CLI: send-onchain-payment accepts optional amount * CLI: add docs for send-onchain-payment drain arg * SDK: expand docs for prepare_pay_onchain * Re-generate RN bindings * Re-generate flutter bindings
This commit is contained in:
@@ -1575,9 +1575,24 @@ final class wire_cst_prepare_buy_bitcoin_request extends ffi.Struct {
|
||||
external int amount_sat;
|
||||
}
|
||||
|
||||
final class wire_cst_prepare_pay_onchain_request extends ffi.Struct {
|
||||
final class wire_cst_PayOnchainAmount_Receiver extends ffi.Struct {
|
||||
@ffi.Uint64()
|
||||
external int receiver_amount_sat;
|
||||
external int amount_sat;
|
||||
}
|
||||
|
||||
final class PayOnchainAmountKind extends ffi.Union {
|
||||
external wire_cst_PayOnchainAmount_Receiver Receiver;
|
||||
}
|
||||
|
||||
final class wire_cst_pay_onchain_amount extends ffi.Struct {
|
||||
@ffi.Int32()
|
||||
external int tag;
|
||||
|
||||
external PayOnchainAmountKind kind;
|
||||
}
|
||||
|
||||
final class wire_cst_prepare_pay_onchain_request extends ffi.Struct {
|
||||
external wire_cst_pay_onchain_amount amount;
|
||||
|
||||
external ffi.Pointer<ffi.Uint32> sat_per_vbyte;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user