Commit Graph

107 Commits

Author SHA1 Message Date
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
ok300
4cd2673d01 Integrate shutdown signal in tokio::select (#247) 2024-05-30 08:45:19 +00:00
ok300
434fb80d49 Add shutdown signal (#238)
* Add shutdown signal handling

Revert periodic sync interval change

Revert keep-alive interval change

CLI: Add disconnect command

SDK: Add scaffolding for is_started, shutdown()

Simplify instance init

* Rebase on savage-async-ws branch

* Avoid waiting when shutdown signal is received in the sync loop

* Directly use shutdown signal in background threads

* Acquire is_started lock at the very beginning of start()

* Fix cargo clippy warnings

* Update RN generator (kt): set bindingLiquidSdk to null on disconnect()

* Update RN generator (swift): set bindingLiquidSdk to nil on disconnect()

* Startup: only run foreground sync() if this could be the first run

* Start a sync() in background, before regular sync() loop

* Remove ensure_started check from start()

* Add bindings for disconnect()

* Remove foreground sync condition from startup

* Simplify background sync loop
2024-05-30 08:04:30 +00:00
Ross Savage
e986f75605 Convert the ws handling to async (#234) 2024-05-28 14:20:12 +02:00
Erdem Yerebasmaz
608f54ea69 Bump flutter_rust_bridge_codegen to 2.0.0-dev.36 and generate bindings (#237) 2024-05-28 14:41:47 +03:00