Commit Graph

154 Commits

Author SHA1 Message Date
ok300
44ee969e43 Receive payment: remove MRH BIP21 amount validation (#448)
* Receive payment: remove MRH BIP21 amount validation

* Fix CI: bump dependency in pubspec.lock
2024-08-15 17:47:19 +00:00
Erdem Yerebasmaz
265724101c Bump flutter_rust_bridge to 2.2.0 (#442) 2024-08-13 11:46:08 +03:00
Erdem Yerebasmaz
852b712277 Address cargo clippy warnings (#439)
Fix indentations on documentations.
2024-08-08 17:23:34 +03:00
ok300
6373ac2be3 Receive payment: remove retry backoff, reduce wait time to 1 sec (#431) 2024-08-06 15:55:55 +00:00
ok300
37d625c2b6 Pause event notifications on first sync (#424)
* Add cache flag for is_first_sync_complete

* Event Manager: add ability to pause and resume event notifications

* Pause event notifications on first sync

* Fix CI: bump pubspec.lock dependencies

* CI: Bump win32 transitive dependency in pubspec.lock

* CI: Set dependency hash in quotes
2024-08-01 08:45:14 +00:00
yse
c113f5ec35 fix: show regular onchain fees when mrh payment is detected (#421) 2024-07-26 18:51:38 +02:00
yse
0f636784a1 feat: split storage based on network (#419) 2024-07-26 11:01:42 +02:00
yse
14da84bd64 fear: add per-wallet directory structure for persister and lwk (#413) 2024-07-25 13:59:14 +02:00
Ross Savage
baa8096852 Update boltz-rust and add receive payment description (#409)
* Update boltz-rust

* Store description and add to Payment struct

* Fix examples
2024-07-25 12:46:40 +02:00
yse
a8613eca49 test: complete chain swap tests (#392)
Co-authored-by: Ross Savage <hello@satimoto.com>
2024-07-23 13:58:10 +02:00
ok300
7c45500f70 Fix payment position fluctuation in list_payments for Send (#404) 2024-07-22 15:34:02 +00:00
ok300
9ee5a04a91 Remove sync() call when handling Boltz update (#401) 2024-07-22 07:47:14 +00:00
Ross Savage
091fc50270 Add rustdocs generation to CI (#402)
* Add rustdocs CI

* Flutter gen

* Add link to README
2024-07-19 17:35:59 +02:00
Ross Savage
bfeb785221 Buy Bitcoin (#398)
* Add fiat on-ramp service

* Use sdk-common MoonpayProvider

* Bump flutter qr dependency

* Bump sdk-common dependency
2024-07-19 14:57:51 +02:00
ok300
970489ccfa Persistence: consolidate state filter (#400)
* Simplify sync_payments_with_chain_data loop

* Extract get_where_clause_state_in() util

* Bump flutter transitive dependency
2024-07-18 07:48:48 +00:00
Ross Savage
a3eb4caaf2 Add validate url success action param (#395) 2024-07-16 10:08:30 +02:00
Ross Savage
0da35259fe Allow custom pay_onchain claim fees (#391)
* Allow optional fee rate for pay onchain BTC claim

* Add recommended_fees method

* Fix example Config

* Address review comments
2024-07-15 17:38:10 +02:00
Ross Savage
ae7f8c74c0 Map Lwk InsufficientFunds error to PaymentError::InsufficientFunds (#386) 2024-07-11 19:28:05 +02:00
Ross Savage
143993fd3a List payments filtering and paging (#369)
* List payments in reverse chonological order

* Add payment filtering and paging

* Fix examples

* Apply suggestions from code review

Co-authored-by: Erdem Yerebasmaz <erdem@yerebasmaz.com>

* Set timestamp for pseudo payments

* Filter by the first non-null timestamp from the join query

---------

Co-authored-by: Erdem Yerebasmaz <erdem@yerebasmaz.com>
2024-07-10 17:50:53 +02:00
Ross Savage
da43f7ff78 Rename namespace (#345)
* Rename namespace

* Fix flutter build

* Fix kotlin-multiplatform CI

* Rename repositories
2024-07-09 17:25:05 +02:00
Ross Savage
05507063f0 Change Config param to zero_conf_min_fee_rate_msat (#374)
* Change Config param to zero_conf_min_fee_rate_msat

* Fix Flutter example
2024-07-09 14:13:42 +02:00
ok300
cac8c315fa Remove duplicate refund_send, refund_send_non_cooperative (#361) 2024-07-08 16:18:14 +00:00
yse
50be093230 fix: refund InsufficientFunds error when calculating broadcast fee (#360)
Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>
2024-07-08 17:30:17 +02:00
ok300
4cd5b96aed Update list-payments: exclude chain swap refunds (#366)
If not excluded, they appear as separate Receive payments.
2024-07-08 11:07:54 +00:00
ok300
1a539d3de0 Include RefundPending state in list_pending (#367)
This is done for swaps that can be refunded, like Chain Swaps and Send Swaps.

Without this, refunded payments never transition away from RefundPending to Failed (refunded), because they're not considered a pending swap when handling the final transition
2024-07-08 07:21:14 +00:00
ok300
08b2e5a6e2 Add fetch_onchain_limits service method (#343)
* Add pay_onchain_limits service method

* Add receive_onchain_limits service method

* Merge pay/receive_onchain_limits

* Update field names

* Split swapper method in get_chain_pair and get_chain_pairs

* Fix test

* Introduce and re-use Limits model

* Add fetch_lightning_limits SDK method

* Fix CI: propagate latest sdk-common changes
2024-07-03 09:22:29 +00:00
yse
709c6dfa4a tests: Add unit tests for primary SDK methods (#346) 2024-07-01 17:24:22 +02:00
Ross Savage
9820b0e38c Change onchain request/response structs for clarity (#340)
* Rename fields for clarity

* Remove ReceiveOnchainRequest
2024-06-28 16:30:35 +02:00
ok300
2680f1494d Fix typo (#342) 2024-06-28 11:06:18 +00:00
ok300
713108adb8 Add prelude (#339) 2024-06-27 17:37:38 +00:00
Ross Savage
62022daa85 Update boltz-client (#338) 2024-06-27 15:49:35 +02:00
Ross Savage
34d068a774 Verify chain swap server lockup transaction (#330)
* Verify server lockup transaction

* Fix retries
2024-06-27 10:07:38 +02:00
Ross Savage
e7844473cd Monitor chain swap addresses (#322)
* Check chain swap addresses for unspent outputs

* Monitoring expired swaps up to 4320 blocks after expiration

* Refactor chain swap monitoring

* Handle the error to prevent the loop exiting

* Add RefundPending state

* Check if RefundPendingbefore setting to Refundable

* Use script_get_balance to determine spent state

* Use unconfirmed balance to check if RefundPending should be reset to Refundable
2024-06-26 16:53:41 +02:00
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
48dde63a28 Subscribe to subscription stream before calling on_stream_reconnect (#311) 2024-06-16 06:22:04 +02:00