Commit Graph

200 Commits

Author SHA1 Message Date
Ross Savage
50cb8be18c Add destination pubkey and bolt12 invoice to payment details (#649)
* Add destination pubkey and bolt12 invoice to payment details

* Change macro to fn
2025-01-10 13:53:43 +03:00
Ross Savage
66810ecdf6 feat: add swap expiry timestamp (#622) 2025-01-08 14:55:47 +01:00
Daniel Granhão
ad71cde463 Fix missing dart bindings 2025-01-07 15:45:29 +00:00
Erdem Yerebasmaz
1695c88d9c Update flutter_rust_bridge to 2.7.0 (#642)
* Suppress no-nullability-completeness errors

* Use 'dart run' instead of the deprecated 'flutter pub run' cmd

* Update flutter_rust_bridge to version 2.7.0

Set flutter_rust_bridge range to ">=2.4.0 <=2.7.0" on Dart plugin.

* Generate Dart bindings

* Update Flutter to latest version

* Update melos to latest version

* Make Flutter plugin compatible with AGP 8.+

- Declare 'namespace' property on module-level build script
  - Change default namespace
  - Remove package name from AndroidManifest
- Bump compileSdkVersion to latest
- Update source and target compatibility

warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
2025-01-07 14:03:08 +03:00
Ross Savage
73d13b4e54 Increase the max zero-conf amount for receive swaps (#640) 2025-01-06 13:14:23 +01:00
Daniel Granhão
fa70c0b6df Add receiver amount to FetchPaymentProposedFeesResponse 2025-01-03 09:53:12 +00:00
Daniel Granhão
39fab35cfa Fix logs using non-existent txid 2025-01-02 10:40:30 +00:00
Daniel Granhão
0a371e087b Show notification if payment requires fee acceptance 2025-01-02 10:40:30 +00:00
Daniel Granhão
a1e5576286 Store actual payer and accepted receiver amounts 2025-01-02 10:40:25 +00:00
Daniel Granhão
351473a41e Expose fees for review + auto accept 2025-01-02 10:35:45 +00:00
Daniel Granhão
08f0fd26cc [skip ci] Define interface 2025-01-02 10:35:44 +00:00
Ross Savage
9253caa388 Store unblinding data for the tx (#584) 2025-01-02 09:03:01 +01:00
yse
6782e8beef feat: add real-time sync service (#629)
* feat(rt-sync): add persistency layer (#555)

* feat(rt-sync): add pull and merge (#556)

* feat(rt-sync): add push logic and run method (#568)

* feat(rt-sync): integrate rt-sync with the sdk

fix: add formatting command to build

feat: add secondary trigger to sync

deps: add tonic tls-webpki-roots

feat: prevent double claiming on status stream handlers

fix: add tx commit to chain swap update (#588)

fix: ensure we pull records before prepare_send

fix: fmt and tests

* fix: set initial pulled state to `Recoverable`

* feat(rt-sync): add `last_derivation_index` to sync service

* Single chain source

* Handle Recoverable state

* fix(rt-sync): chain recovery integration (#590)

Co-authored-by: yse <hydra_yse@proton.me>

* feat(rt-sync): add `pair_fees_json`

* fix(rt-sync): clean already persisted incoming records

* feat: cache wallet info (#591)

* log: add status-stream logging for non-local swaps

* Sync improvements (#598)

* Full sync on new Bitcoin block

* Track the last unconfirmed refund tx

* Trigger synced event on partial sync

* fix: remove `REPLACE` clause from swap insert/update

* fix(rt-sync): update chain swap payer/receiver amount (#604)

* Fix syncing last derivation index

* fix: update bindings and lockfile

* remove logs

* fix(rt-sync): avoid reuse of derivation index update logic (#608)

* Add 5 index buffer to full scan

* Fix storing claim_address (#609)

* Filter incoming MRH txs by swap timestamp

* fix liquid panding timestamp

* persist tx data timestamp

* Update unconfirmed transactions

* feat: add API key (#618)

* Use configured lazy connect channel in sync service

* fix: set lower-case header (#624)

* fix error message

* Store & Sync LNURL info (#617)

* Persist and decrypt LNURL info

* Update Notification Plugin

* Sync payment details

* Update list payments to include chain swaps with only user lockup (#620)

* Update payments query to include chain swaps without txs

* Allow emitting a payment event without tx_id

* fix: bindings

---------

Co-authored-by: Ross Savage <hello@satimoto.com>
Co-authored-by: Ross Savage <551697+dangeross@users.noreply.github.com>
Co-authored-by: Roei Erez <roeierez@gmail.com>
2024-12-24 10:39:43 +01:00
Daniel Granhão
72a9aa66ff Support default external input parsers 2024-12-16 19:37:35 +00:00
Ross Savage
c773e8d7a5 Add ExternalInputParser mirror for frb (#605) 2024-12-14 15:31:57 +01:00
Daniel Granhão
3705175093 Default external parsers config to null 2024-12-12 15:15:56 +00:00
Daniel Granhão
895e64b823 Implement external input parsing 2024-12-12 12:02:53 +00:00
ok300
eba09c6faf Fix clippy CI step (#593)
* Add workspace-wide clippy lint config

* CLI: fix clippy
2024-12-09 16:43:29 +00:00
ok300
cfc883ae00 Add zero-amount Receive Chain Swap (#538)
Add support for Zero-Amount Receive Chain Swaps
2024-12-09 16:10:52 +00:00
ok300
790dfa91be Persist swapper fees for swaps (#586)
* Add new Payment field swapper_fees_sat

* Add swapper fee handling for Receive Swaps

* Add swapper fee handling for Send Swaps

* Add swapper fee handling for Chain Swaps

* Fix tests

* Send Swap: persist pair JSON instead of service fee

* Receive Swap: persist pair JSON instead of service fee

* Chain Swap: persist pair JSON instead of service fee
2024-12-06 08:32:03 +00:00
Lars Klassen
7eafdb57b1 Payload compatibility for Expo Notifications (#572) 2024-11-26 20:18:03 +01:00
ok300
7e724c561e Remote csharp reference to 32bit binding (#577) 2024-11-20 16:14:41 +00:00
ok300
14d5bc9c27 Remove 32bit support (#575)
* Remove i686 bindings

* Remove armv7 bindings
2024-11-20 15:20:21 +00:00
ok300
fe1dc30917 Add support for paying to BOLT12 (#549)
Add support for paying to BOLT12
2024-11-19 13:08:50 +00:00
Ross Savage
0750e2e0fd Fix swift URL init compatibility (#569) 2024-11-18 20:01:49 +01:00
Ross Savage
802e9eece7 Configurable cache dir (#567)
* Add a configurable cache dir

* Fix UDL field position
2024-11-18 13:36:38 +01:00
Ross Savage
7cbe176936 Notify success when waiting for claim confirmation (#562) 2024-11-13 14:40:37 +01:00
Ross Savage
4da57e3fe2 Liquid/Lightning drain (#553)
* Attempt drain using liquid or lightning payment

* Optimize estimation handling, use address in drain estimation

* Add drain option to PrepareSendRequest

* Block draining while there are pending payments

* Apply suggestions from code review

* Rename PayOnchainAmount to PayAmount
2024-11-11 21:50:18 +01:00
Ross Savage
4d036f2529 Reserved address pool (#531) 2024-10-30 11:06:10 +01:00
Ross Savage
b78d53b436 Add swift framework plists (#536)
* Add a Info.plist per framework

* Update dart bindings
2024-10-24 16:58:55 +02:00
Roei Erez
8cf6a26dc0 Merge branch 'v0.4.0'
* v0.4.0:
  Fix SDK checkout (#528)
  update version to 0.4.0-rc3
  update version to 0.4.0-rc2
  Fix details fields error
  Add notification plugin CI
  update version to 0.4.0-rc1
2024-10-22 10:36:32 +03:00
Roei Erez
8cce2afe5d Add react native bindings 2024-10-18 11:25:10 +02:00
Roei Erez
c999cedaa3 Implement flutter bindings 2024-10-18 11:25:06 +02:00
ok300
cbe835b565 GetInfoResponse: add fingerprint (#532)
* GetInfoResponse: add fingerprint

* Re-generate dart ffi with `just ffigen`

* Re-generate dart ffi with `just gen`
2024-10-17 14:36:33 +00:00
Roei Erez
31fcfaa3db update version to 0.4.0-rc3 2024-10-14 11:45:16 +03:00
Ross Savage
0884106159 Add prepare_lnurl_pay (#524)
* Add prepare_lnurl_pay

* Move fields into prepare response
2024-10-14 10:06:14 +02:00
Ross Savage
7202e62967 Add notification plugin CI (#526)
* Add notification plugin CI

* Fix details fields error
2024-10-14 09:50:13 +02:00
Roei Erez
63d9305acd update version to 0.4.0-rc2 2024-10-14 10:44:14 +03:00
Ross Savage
c1afb5efa1 Fix details fields error
(cherry picked from commit 7588ba5579684d380be6981c00b5be08052494e9)
2024-10-14 10:40:56 +03:00
Roei Erez
e2fd502827 update version to 0.4.0-rc1 2024-10-13 15:01:46 +03:00
Ross Savage
3867fa91da Get Payment (#476)
* Get payment by destination

* CI fixes

* Remove claim_address from query

* Add PaymentDestination enum

* Add payment hash as a payment query option

* Bump Flutter dependencies

* Move destination/address queries to list_payments

* Apply suggestions from code review

Co-authored-by: yse <70684173+hydra-yse@users.noreply.github.com>

---------

Co-authored-by: yse <70684173+hydra-yse@users.noreply.github.com>
2024-10-10 17:44:32 +02:00
yse
42f4ca0129 feat: require Breez API key globally on mainnet (#520) 2024-10-08 16:17:34 +02:00
ok300
046e7ab1c8 list-refundables: show refundable amount, not swap amount (#516)
* list-refundables: show refundable amount, not swap amount

* Rename chainswap fn for clarity

get_lockup_swap_script_pubkey only applies to Receive Chain Swaps, so it was renamed to get_receive_lockup_swap_script_pubkey.

* list_refundables: batch calls to fetch balance from chain service

* Simplify conversion from Chain Swap to RefundableSwap

* Fix MockBitcoinChainService

* Re-generate flutter bindings

* Add utility for creating SdkError::Generic with &str or String

* Chain Swap getter for swap script pk: throw SdkError instead of anyhow::Error

* Update RefundableSwap comment

Co-authored-by: Ross Savage <551697+dangeross@users.noreply.github.com>

* Re-generate dart files

---------

Co-authored-by: Ross Savage <551697+dangeross@users.noreply.github.com>
2024-10-07 15:56:02 +00:00
Ross Savage
228bf9ab36 Re-add convenience Flutter gen command (#514)
* Re-add convenience Flutter gen command

* Decouple building ios framework step from bindings-swift script

* Add comments to uniffi build scripts.
* Make init-sdk part of init recipe
* Reorder recipes
* generate ios framework by default on gen recipe
* softlink C headers as part of their generator recipes
* Add convenience build recipe to generate everything needed for Flutter when developing the SDK

* Update Check Dart/Flutter bindings CI step

---------

Co-authored-by: Erdem Yerebasmaz <erdem@yerebasmaz.com>
2024-10-03 13:48:12 +03:00
Erdem Yerebasmaz
1389d49f03 Update flutter_rust_bridge to 2.4.0 (#511) 2024-10-01 13:31:55 +03:00
Erdem Yerebasmaz
f6fa503cb9 Flutter uniFFI (#510)
* Flutter uniffi

* Set on-demand resources

* Do not build non-uniffi libraries

* Change iosLibName

* Add BreezSDKLiquid as on demand resources

* Use downloaded framework

* Add Sources to published flutter package

* Set OTHER_LDFLAGS

* Add logging

* Refactor library initialization logic and throw an error if initialization fails

* Do not statically link framework on production

* Use uniFFI headers to generate FlutterBreezLiquidBindings

* Re add frb header

* Correct the library name

* Remove static_framework

* Move source header files

* Copy iOS podspecs to macOS folder

* Update version of macOS podspecs

* Remove Windows & Linux support

* Remove CMake scripts

* Remove breez_sdk_liquid.podspec from version script

* Cleanup older build scripts used by melos & just recipes

* Remove softlink & copy recipes

Add recipe descriptions

* Rename link-uniffi recipe to link-headers

Make sure headers are linked after uniffi is built
  - Remove just gen recipe
Add recipe descriptions

* Set package versions on production files as well when publishing

* Include bindings project on melos script hooks

* Flutter uniffi

* Set on-demand resources

* Do not build non-uniffi libraries

* Change iosLibName

* Add BreezSDKLiquid as on demand resources

* Use downloaded framework

* Add Sources to published flutter package

* Set OTHER_LDFLAGS

* Add logging

* Refactor library initialization logic and throw an error if initialization fails

* Do not statically link framework on production

* Use uniFFI headers to generate FlutterBreezLiquidBindings

* Re add frb header

* Correct the library name

* Remove static_framework

* Move source header files

* Copy iOS podspecs to macOS folder

* Update version of macOS podspecs

* Remove Windows & Linux support

* Remove CMake scripts

* Remove breez_sdk_liquid.podspec from version script

* Cleanup older build scripts used by melos & just recipes

* Remove softlink & copy recipes

Add recipe descriptions

* Rename link-uniffi recipe to link-headers

Make sure headers are linked after uniffi is built
  - Remove just gen recipe
Add recipe descriptions

* Set package versions on production files as well when publishing

* Include bindings project on melos script hooks

* chore: just version

* fix: remove unused files on "Set package version" step

* copy FFI header files

* [WIP] Add macOS support

* remove example app on Flutter plugin

* Link headers before running ffigen on CI workflow

* macOS: add macos/Sources folder to .gitignore

.

* macOS: Copy iOS sources to macOS sources after downloading bindings

* macOS: copy sources & framework file to macos folder on build-uniffi-swift script

* import breez_sdk_liquidFFI header on plugin file

Update flutter_breez_liquid.c

* cleanup header file artifacts

---------

Co-authored-by: Ross Savage <hello@satimoto.com>
2024-10-01 10:59:11 +03:00
Roei Erez
4d1690bfc4 update version to 0.3.4 2024-09-25 12:36:13 +03:00
Ross Savage
a6eb72c44c Fix pay onchain claim fee (#499)
* Fix pay onchain claim fee

* Bump flutter example dependencies

(cherry picked from commit 9c0e469ad1)
2024-09-25 10:51:17 +02:00
Roei Erez
24d41de656 update versions 2024-09-25 09:31:55 +03:00
Roei Erez
cd9cb9c46c update version to 0.3.2 2024-09-24 16:47:32 +03:00