Commit Graph

278 Commits

Author SHA1 Message Date
ok300
ef5cd28fa5 Add FiatAPI methods to Liquid SDK (#331)
* Add FiatAPI methods to Liquid SDK

* Add mirrored structs of fiat crate on Dart bindings

* Re-generate bindings

* Fix sdk-common imports

* Avoid using hardcoded Breez Server URL, re-use sdk-common constant

* Update Cargo.lock

---------

Co-authored-by: Erdem Yerebasmaz <erdem@yerebasmaz.com>
2024-06-26 13:55:44 +00:00
ok300
34258b54a6 Fix typo (#334) 2024-06-26 09:16:25 +00:00
ok300
7bd9b6ddb2 Use swapper proxy to extract referral ID (#329)
* Use swapper proxy to extract referral ID

* Derive swapper API base URL from proxy URL

* Update RN bindings

* Remove referral_id from Config, move proxy_url parsing to swapper

* Fix tests

* Cache swapper proxy URL

* Move boltz_url from Config to swapper

* Silently fail when fetching proxy swapper URLs

* Update RN bindings

* Fix sdk-common dependency

* Fix dependency issues
2024-06-25 17:19:02 +00:00
Roei Erez
1a0127fcfc Use lowball fees only on lockup and cooperative refund 2024-06-25 19:12:31 +03:00
Ross Savage
9da16fba78 Receive Chain Swaps (#310)
* Implement Chain Swaps for receiving

* Send: validate if we have sufficient funds (#321)

* Implement Chain Swaps for receiving

* Fix rebase of flutter_rust_bridge version

* Send: validate if we have sufficient funds

* Re-generate FRB

---------

Co-authored-by: Ross Savage <hello@satimoto.com>

* Chaim swap claim: remove refund_tx arg (#328)

---------

Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>
2024-06-25 17:33:38 +02:00
Erdem Yerebasmaz
8c85ffcf69 Bump flutter_rust_bridge to 2.0.0 (#327) 2024-06-24 13:39:50 +03:00
Roei Erez
c22d4ae30a remove unwrap 2024-06-24 10:24:19 +03:00
Roei Erez
84a11c4196 increase retry to 3 2024-06-23 14:49:52 +03:00
Roei Erez
a0e9c41628 fix clippy 2024-06-22 10:47:46 +03:00
Roei Erez
fff8f5bdaa fix some feedback 2024-06-22 10:46:14 +03:00
Roei Erez
7e022ff930 Use constant for lowball fee rate 2024-06-21 00:05:38 +03:00
Roei Erez
1a454ece19 Use lowball node for broadcast and verify swapper lockup tx 2024-06-21 00:05:35 +03:00
ok300
bcb4743260 Integrate sdk-common (#308)
* Rename Network to LiquidSdkNetwork to avoid naming conflicts with sdk-common

* Integrate sdk-common: re-use parse_invoice

* Fix UDL bindings tests

* Add input parser support

* CLI: Add input parser support

* Integrate lnurl-pay

* Cargo format, re-generate FRB and RN bindings

* Duplicate LnUrlPayError, update FRB/UniFFI bindings

* Move duplicate LnUrlPayError to FRB bindings.rs

* Add support for lnurl-withdraw

* Lnurl-withdraw: convert units, incorporate fees

* Bump sdk-common, rename InputType::LnUrlError

* Bump sdk-common, remove Wrapped prefix from LnUrlPaySuccessData, LnUrlPayResult

* LNURL-withdraw: add missing UDL mappings

* Add support for LNURL-auth

* Move LNURL structs into models.rs

* Rename LiquidSdkNetwork to LiquidNetwork

* Fix binding tests

* Fix tests

* Move FRB mirroring structs to bindings.rs

* Remove TODO

* Bump sdk-common, remove sdk-common dependency on rusqlite

* Propagate LiquidNetwork rename into flutter example app

* CI: install protobuf before running clippy

* CI: add rust cache, protobuf for remaining rust steps
2024-06-20 16:18:50 +00:00
Ross Savage
428d69729b Implement Chain Swaps for sending (#298) 2024-06-19 12:48:13 +02:00
yse
6224c5133c test: persistence and swap states (#312) 2024-06-18 21:55:46 +02:00
yse
4e76e94d26 feat: invoice details to Payment (#309) 2024-06-18 17:32:51 +02:00
Ross Savage
78228d8961 Publish CI fixes (#289)
* Fix CI publish directories

* Fix kotlin multiplatform build

* Fix python ffi directory

* Add swift PAT to release

* Fix file copy

* Fix mvn check

* Test windows build (#290)

* Add jitpack yml

* Fix RN example android build
2024-06-18 09:34:47 +02:00
Ross Savage
48dde63a28 Subscribe to subscription stream before calling on_stream_reconnect (#311) 2024-06-16 06:22:04 +02:00
Erdem Yerebasmaz
ce34a2218c Regenerate Dart bindings
Remove GetInfoRequest from example app
Update min Dart SDK version
2024-06-14 15:26:26 +03:00
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