Commit Graph

259 Commits

Author SHA1 Message Date
yse
bcf84fe8cd feat: add zero-conf checks when receive lockup is in the mempool (#292) 2024-06-13 10:22:05 +02:00
yse
2b64708e36 Receive: Switch payment to pending state when lockup is in the mempool (#301)
* feat: switch to pending state when receive lockup is in the mempool

* rebasing

* fix: move socket update logic to sub-crate

* Update payments query, to avoid duplicate Receive Swaps

This can happen if the app is stopped before the temporary lockup tx is removed from the DB. The Receive Swap would then forever result in two payments in list_payments.

* Add comments to clarify use of temp lockup txid

* Re-generate flutter bridge bindings

* feat: set Payment `tx_id` as optional and change `list_payments` logic

* fix: debug typo

* fix: undo `remove_temporary_tx` changes

* fix: switch to full join rather than manual filtering

* fix: bindings

* fix: improve error handling when tx data is not present

* fix: RN bindings

* fix: exclude Created receives from the list

* fix: fixing nits

* Re-generate FRB bindings

---------

Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>
2024-06-12 20:44:31 +00:00
ok300
31e2ab44af get_info: remove with_scan argument (#306)
* get_info: remove with_scan argument

* Fix binding tests

* Update dart test and kotlin example app

* Update RN example app
2024-06-12 13:23:32 +00:00
ok300
a2936500a3 Add temporary build file to gitignore (#307) 2024-06-12 07:44:08 +00:00
Erdem Yerebasmaz
5e2a4fe342 Bump flutter_rust_bridge to 2.0.0-dev.38 (#304)
* Generate Dart bindings
* flutter_rust_bridge has relative path issues with this new approach introduced in 2.0.0-dev.38, we'll be using the default rust_output path until it's addressed.
2024-06-10 14:51:42 +03:00
Roei Erez
55fe7c71b0 extract out ChainService 2024-06-09 13:36:44 +03:00
ok300
7276346a5f Cleanup, fix typos (#299)
* Fix typo in PaymentSucceeded event name

* Remove fixed todo

* Organize imports

* Fix log typos

* Re-generate flutter bindings

* Re-generate RN bindings

* Fix "Unhandled msg" logs for WS pings

* Hide ureq debug logs, showing raw HTTP headers for Boltz calls
2024-06-07 04:53:14 +00:00
ok300
2928e0fa58 Add magic routing hint support (#265)
* Receive: Add magic routing hint support

* Send: add MRH support

* Filter out and reject self-transfers

* Extract self-transfer validation in own fn

* PrepareSendResponse: use onchain fee as fees_sat if MRH present

* Use onchain tx fee as payment fee, if MRH used for direct onchain tx

* Fix swap fee calculation when MRH is used

* Apply boltz-client patch that aborts send if tx broadcast fails

* Send with MRH: return pending payment

* Receive with MRH: validate BIP21 amount, address

* Emit remaining events for MRH Send, Receive

* Sync: update swap info and emit events after new tx data is persisted

* Extract MRH send into its own send_payment_via_mrh()

* Pending Send via swap: store tx fees for pseudo-tx

* Fix clippy
2024-06-07 00:40:42 +00:00
yse
054b8c6d3b feat: add checks for TimedOut payments (#266) 2024-06-06 17:03:01 +02:00
Roei Erez
f8a44ca878 fix mistaken commit 2024-06-06 15:53:19 +03:00
Roei Erez
8926d00d2f fix log 2024-06-06 15:38:31 +03:00
Roei Erez
c093d54cac extractd out receive swap handling logic 2024-06-06 13:02:38 +03:00
Roei Erez
36f814f4d5 Merge pull request #295 from breez/send-swap-handler
Send swap handler
2024-06-05 20:41:55 +03:00
ok300
40aafa7b8d Adjust onchain fee estimation based on destination address type (#293)
* Adjust onchain fee estimation based on destination address type

* Consolidate estimate_onchain_tx_fee_p2tr()
2024-06-05 13:07:44 +00:00
Roei Erez
84e3c94ad1 move refund_non_cooperative location 2024-06-05 15:44:01 +03:00
Roei Erez
c5a4d61753 subscribe payment updates 2024-06-05 15:40:57 +03:00
Roei Erez
3c244886e7 extract out state handler 2024-06-05 15:22:01 +03:00
Roei Erez
e7cc9a0137 remove async from wallet pubkey function 2024-06-05 14:40:43 +03:00
Roei Erez
cf7180c1f1 fix pubkey 2024-06-05 13:38:25 +03:00
Roei Erez
89d1e9c143 Add some doc commenets 2024-06-05 11:45:39 +03:00
Roei Erez
5a02c4eaf0 abstract onchain wallet behind its own module and trait 2024-06-05 11:42:25 +03:00
Roei Erez
04ac2c20e4 Merge pull request #287 from breez/swapper-stream-trait
Abstract swapper stream as part of swapper trait
2024-06-03 17:49:50 +03:00
Roei Erez
cc010c6797 cargo fmt 2024-06-03 16:58:16 +03:00
ok300
b4976573c4 Rename verbose variable 2024-06-03 13:03:07 +02:00
ok300
7f73c9a51d Send: correctly handle TransactionClaimed event 2024-06-03 13:00:02 +02:00
Roei Erez
f7b7149187 Abstract swapper stream as part of swapper trait 2024-06-03 13:57:20 +03:00
ok300
ec51aa99b4 Cargo clippy (#286) 2024-06-03 10:50:37 +00:00
ok300
1a6e177568 Cargo fmt (#281)
* Cargo fmt

* Remove duplicate log statement
2024-06-03 10:18:05 +00:00
Roei Erez
16a46f298d Merge pull request #273 from breez/claim-preimage
Ensure we have preimage persisted before claiming
2024-06-03 13:03:11 +03:00
Roei Erez
6bd710efdf fix comment 2024-06-03 13:02:36 +03:00
Erdem Yerebasmaz
564d75d59d Mark default_config && parse_invoice as sync functions on Dart bindings (#280)
- Generate Dart bindings
2024-06-03 11:53:34 +03:00
Roei Erez
8d5831e419 ensure we have preimage persisted before claiming 2024-06-02 15:32:34 +03:00
Roei Erez
866f91c38e Merge pull request #246 from breez/swapper-trait
Swapper trait
2024-06-01 18:38:20 +03:00
Roei Erez
eafe7feb39 use url from config 2024-06-01 17:40:33 +03:00
ok300
1cc06cef74 Bump lwk-wollet to fix InsufficientFunds error (#268)
* Bump lwk-wollet to fix InsufficientFunds error

* Re-add swap tracking on Send

* Track Send swap even on re-connect
2024-06-01 11:53:35 +00:00
Roei Erez
b7e703d297 simplified getting boltz url from config 2024-06-01 10:35:04 +03:00
Roei Erez
fd749e7e35 fix expired condition 2024-06-01 10:09:29 +03:00
Roei Erez
26524f8697 use config in swapper 2024-06-01 10:08:09 +03:00
Roei Erez
d5f291128c use get_swap_script 2024-06-01 09:45:39 +03:00
Roei Erez
c763902a19 remove unused import 2024-06-01 09:08:06 +03:00
Roei Erez
9e12b58be1 fix handle send swap. 2024-06-01 09:06:29 +03:00
Roei Erez
9db2e6d6da Allow resending to timeouted swaps 2024-06-01 09:06:26 +03:00
Roei Erez
a9168f651d integrate swapper trait 2024-06-01 09:05:11 +03:00
Roei Erez
806806f166 Add some comments 2024-06-01 08:54:57 +03:00
Roei Erez
272c32fc64 Extract out swapper logic to its own module 2024-06-01 08:54:57 +03:00
Ross Savage
5d9a8f18a3 Add Config (#267)
* Add config

* Add rustdocs to Config, send_payment (#271)

---------

Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>
2024-06-01 06:32:45 +02:00
Ross Savage
ccba0adf30 Trigger manual refunds on expired pending send swaps (#258)
* Check pending send swap expiration and trigger a refund

* Set interval to 60 secs
2024-06-01 06:08:23 +02:00
ok300
f6082f2aa5 Add global SDK logger (#242)
* Add SDK global logger

* Add bindings

* Fix path to internal uniffi log

* Exclude "set_log_stream" from generated RN methods

* Move logger-specific structs to a separate module

* Delegate init_logging to method in logger.rs

* Rename uniffi BindingLogger to UniffiBindingLogger

* Add set_log_stream for dart bindings

* Add SDK logger to Dart bindings

* Rename dart binding logger to DartBindingLogger

* Add rustdocs

* RN bindings: Add manual handling for setLogStream()

* Re-generate dart bindings

* Re-generate RN bindings

* Remove LOG_INIT cell

* Set global maximum log level once on initialization

Return a LiquidSdkError::Generic instead of Anyhow error when initializing log stream on Dart bindings

* Do not panic when initializing binding loggers

* Rename LogStream to Logger

---------

Co-authored-by: Erdem Yerebasmaz <erdem@yerebasmaz.com>
2024-05-31 18:01:39 +00:00
yse
c7c4330905 feat: add send re-subscription and state change on swap expiry (#256)
* Cancel slow swap

* Change Cancelled to TimedOut

* Set Created send swaps to TimedOut on start

* feat: add fetch by invoice before creating swap

* feat: add refund check for swap expired

* fix: check for lockup_tx_id rather than swap state

---------

Co-authored-by: Ross Savage <hello@satimoto.com>
2024-05-31 10:43:28 +02:00
Ross Savage
585184a35c Cancel the created swap on timeout (#249)
* Cancel slow swap

* Change Cancelled to TimedOut

* Set Created send swaps to TimedOut on start
2024-05-31 07:37:44 +02:00