Commit Graph

89 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
dc0e347e2b chore: melos pub-upgrade 2024-08-13 12:58:30 +03:00
Erdem Yerebasmaz
265724101c Bump flutter_rust_bridge to 2.2.0 (#442) 2024-08-13 11:46:08 +03:00
Erdem Yerebasmaz
3e38e5963a Downgrade Flutter to 3.22.3 (#438)
* Downgrade Flutter to 3.22.3

Downgrade Flutter to 3.22.3 until resource linking issue is resolved on Android release builds with 3.24

* Update pubspec.lock
2024-08-08 16:47:21 +03:00
Erdem Yerebasmaz
3703fd3477 Allow working with local library on iOS (#434)
* Update SDK range and update dependencies to latest

* Correct the output folder creation on codegen just recipe

* Create a podspec for local development

* Use production podspec when publishing

* Remove spec.platform as deployment targets are already set
2024-08-07 14:59:00 +03:00
Roei Erez
fe112a8bf7 Merge branch 'v0.2.1' 2024-08-04 12:21:12 +03:00
Roei Erez
c5328fcf28 update flultter version 2024-08-01 16:28:08 +03:00
Roei Erez
d123a77b12 update version to 0.2.1 2024-08-01 16:27:08 +03: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
Erdem Yerebasmaz
2c4441e977 Bugfix: Correct the relative path on bindings scripts (#425)
* Correct the path of breez_sdk_liquid.kt on .gitignore

* Fix relative path on bindings-android script

* Update bindings README

'python' & 'swift' scripts are not available on this crate

* chore: ran melos pub-upgrade
2024-08-01 11:11:04 +03:00
Erdem Yerebasmaz
859c128475 Update tag names 2024-07-25 19:34:42 +03:00
Roei Erez
406b823e55 fix flutter example dependency 2024-07-25 17:29:09 +03:00
Roei Erez
65ce16ea5f update version to 0.2.0 2024-07-25 17:19:47 +03:00
Roei Erez
63e5a12abb Merge branch 'v0.1.4' 2024-07-25 17:16:27 +03: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
Erdem Yerebasmaz
cc6adeab7f Update BreezSDKLiquid (#406)
* Convert BreezSDKLiquid into a singleton
* Sync wallet after each SDK event
2024-07-23 17:01:43 +03:00
Roei Erez
ad0bad1431 update versions to 0.1.4 2024-07-22 15:18:02 +03: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
8ac220275e Update version to 0.1.3.rc2 2024-07-17 08:19:54 +02:00
Ross Savage
a3eb4caaf2 Add validate url success action param (#395) 2024-07-16 10:08:30 +02:00
Ross Savage
02408d2e04 Add validate url success action param
(cherry picked from commit bcd1b33004cb0f6762db7e8e3acfcf77d7eb9429)
2024-07-16 10:06:22 +03:00
Roei Erez
938f74d7d1 update version to 0.1.3.rc1 2024-07-16 09:14:39 +03: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
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
Erdem Yerebasmaz
3597530058 Rename wallet to instance (#379)
* Rename wallet of BreezLiquidSDK to instance on example Flutter project
* Generate Dart bindings
* Update dependencies to latest
2024-07-09 16:17:00 +03: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
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
Erdem Yerebasmaz
1ee32f60f1 Pin flutter_rust_bridge to 2.0.0 (#368)
and generate Dart bindings.

* 2.1.0 has introduced a regression: https://github.com/fzyzcjy/flutter_rust_bridge/pull/2150#issuecomment-2213773291
2024-07-08 16:05:16 +03:00
Erdem Yerebasmaz
015fb1f307 Bug fixes & improvements on Flutter plugin example app (#359)
* Remove unneeded resource files from iOS Project

* Remove breez_liquid_sdk.h
* Remove outdated method to enforce bundling on AppDelegate

* Add NSCameraUsageDescription to be able to scan QR codes on example app

* Do not show "No Balance" text when balance is 0

* Wait for reconnect attempt on startup

* Add a cancel button to mobile scanner

* Bound size of QR image view

* Reverse the payment list
2024-07-08 12:38:38 +03:00
Ross Savage
3ea6b1a9dc Publish Dart and Flutter packages (#356)
* Publish flutter artifacts and package

* Publish dart package

* Add LICENCE

* Force rm

* Don't copy lock files

* Fix output directory

* Fix podspec name

* Pass SWIFT_RELEASE_TOKEN

* Fix overrides indentation

* Update package version on CMake script

Update example dependencies

* Depend on dart & flutter packages from git on pubspec files

* Correct repository links & add publish_to: 'none'
* run just clean && just init

* Update README.md

* Download framework as part of prepare_command

* Use wget, then fallback to curl
* Remove redundant .zip suffix on the url

* Fix release tag

* Add v to tag replacement

* Fix podspec version

* Copy header file

* Downgrade vm_service

---------

Co-authored-by: Erdem Yerebasmaz <erdem@yerebasmaz.com>
2024-07-03 17:21:47 +02: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
Erdem Yerebasmaz
639ef0cca5 [Flutter] Fix relative path of packages (#353)
* Fix relative path on melos.yaml

* Mention current version on CHANGELOG.md

* Remove symlink for apache license

* Address typos & relative path issues on README.md

* Ignore Flutter example app on Melos.yaml

* Remove obsolete param from Config on example app

* Do not treat info messages as critical

* Update README of Dart/Flutter packages

Revert changes on topmost README

* Update pubspec.lock

* Make dart output directory if it does not exists

* Replace continue-on-error

Resume even if previous step fails, this approach displays errors on CI summary.

* Install Protoc as part of CI workflow

* Added init-sdk as part of just bootstrap recipe which installs protobuf
* Pinned freezed to <=2.5.2
2024-07-02 17:08:38 +03:00
Erdem Yerebasmaz
381c09b93f Expose duplicates of "external structs that cannot be mirrored" through Dart/Flutter plugin (#348)
Generate Dart bindings
2024-07-01 11:01:50 +03: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
Erdem Yerebasmaz
b4b5c9c7e0 Reflect breaking changes on Dart & Flutter packages
Config
* electrumUrl  -> liquidElectrumUrl & bitcoinElectrumUrl
* zeroConfMinFeeRate

Rename Network to LiquidNetwork
2024-06-26 12:24:06 +03: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
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
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
4e76e94d26 feat: invoice details to Payment (#309) 2024-06-18 17:32:51 +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
Erdem Yerebasmaz
4ed72e70f0 Add Liquid SDK Event & Log stream handlers to example app (#305)
Update example app
* Use defaultConfig on ConnectRequest
* Update feesSat as non-null
* Use payment & walletInfo streams from BreezLiquidSDK
2024-06-13 14:51:59 +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
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