* 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>
* 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
* 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>
* 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
* 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
* 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>
* 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>
* 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.
* 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
* 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>
* feat: add random keypair generation
* Encapsulate decode_keypair in SendSwap::get_refund_keypair()
* Add refund_tx_id and refund_tx_amount_sat to Payment
* fix: remove blocking on refund
* fix: change `refund_private_key` order
* fix: rebasing
* fix: set `next_unused_address` as refund output
* Handle refunds in `get_info`, `list_payments` (#226)
* Exclude refund txs from payment list
* Adjust balance calculation to account for refunds
* fix: revert boltz changes and fix locktime
* Replace subquery with LEFT JOIN to get refund data
* Rewrite locktime check for more clarity
* Rewrite locktime check for more clarity
* Fix select_payment_query in case of refunds
* Include boltz-client fixes (handling of unwraps for failed broadcasts)
* Cargo.toml: Use boltz-client branch instead of commit
---------
Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>