* Attempt drain using liquid or lightning payment
* Optimize estimation handling, use address in drain estimation
* Add drain option to PrepareSendRequest
* Block draining while there are pending payments
* Apply suggestions from code review
* Rename PayOnchainAmount to PayAmount
* rescan_onchain_swaps: separate internal (scheduled) from external (manual) call
* Add TODOs for supporting more utxos in BtcSwapTx::new_refund
* Update boltz-client to build refund tx with all utxos
* list-refundables: show refundable amount, not swap amount
* Chain swap cooperative refund: fix "Liquid chain used for Bitcoin operations" error
* Revert "Chain swap cooperative refund: fix "Liquid chain used for Bitcoin operations" error"
This reverts commit 8a325e3c13b7e9b54b9f5256bea206989eac53b6.
* Bump boltz-rust to include sign_refund fix
* Bump boltz-rust to include sign_refund fix for non-coop refund
* Fix state handling when incoming chain swaps are refunded
* Move swap state change inside refund_incoming_swap
* Bump to latest boltz-client branch version
* list-refundables: show refundable amount, not swap amount
* Rename chainswap fn for clarity
get_lockup_swap_script_pubkey only applies to Receive Chain Swaps, so it was renamed to get_receive_lockup_swap_script_pubkey.
* list_refundables: batch calls to fetch balance from chain service
* Simplify conversion from Chain Swap to RefundableSwap
* Fix MockBitcoinChainService
* Re-generate flutter bindings
* Add utility for creating SdkError::Generic with &str or String
* Chain Swap getter for swap script pk: throw SdkError instead of anyhow::Error
* Update RefundableSwap comment
Co-authored-by: Ross Savage <551697+dangeross@users.noreply.github.com>
* Re-generate dart files
---------
Co-authored-by: Ross Savage <551697+dangeross@users.noreply.github.com>
* 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