Commit Graph

111 Commits

Author SHA1 Message Date
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
Ross Savage
dd00a0b328 Return pending payment (#245)
* Return pending payment

* Simplify select loop

* Revert dart pubspec

* Add error logging for payment events without swap ids

Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>

---------

Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>
2024-05-30 17:59:35 +02:00
yse
9554dcad19 feat: add random keypair generation to receive (#255)
* feat: add random keypair generation to receive
* feat: add `get_claim_keypair` method to swap
2024-05-30 16:21:08 +02:00
Erdem Yerebasmaz
e0322c39d6 Remove tokio runtime (#239)
* Remove obsolete Tokio runtime dependency on bindings

* Apply changes on example app

* Update "Getting Started" on README

* Update pubspec.lock
2024-05-30 17:04:58 +03:00
ok300
e5dba1043e Add ability to parse an invoice (#240)
* Add ability to parse an invoice

* Simplify LNInvoice initialization

* Add missing LNInvoice fields

* Cargo fmt

* Re-generate bindings after merging main branch

* Explicitly check the invoice signature

* Remove redundant signature check

* Strip potential lightning: prefix before parsing bolt11
2024-05-30 13:26:00 +00:00
Ross Savage
35561bacc5 Improve stream handling (#244)
* Improve stream management

* Check swap for existing lockup/refund tx

* Set broadcast capacity to 30
2024-05-30 14:54:15 +02:00