Commit Graph

39 Commits

Author SHA1 Message Date
Ross Savage
45281fb7e5 Fix SDK checkout (#528) 2024-10-14 10:58:32 +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
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
Ross Savage
407a805418 Remove gitignore to allow Sources to be committed (#513) 2024-10-03 12:32:29 +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
Ross Savage
471cb77e27 Build SDK bindings for Flutter (#488)
* Add build SDK bindings scripts for flutter

* Remove REMOVE_RECURSE to prevent bindings deletion

* Address feedback
2024-09-16 14:19:56 +02:00
Ross Savage
d42e37ce1e Fix CI and notfication plugin issues (#485) 2024-09-11 15:06:21 +02:00
Ross Savage
b493f3dc03 Swift notification plugin (#436)
* Add Swift notification plugin

* Hash the metadata

* Validate min sendable amount

* Remove initializer as base class, UNNotificationServiceExtension, has no default initializer

* Set the PaymentMethod

* Handle PaymentDetails in SwapUpdated

* Improve payment text
2024-08-30 09:20:13 +02:00
Ross Savage
251c252374 Add Go/CS bindings (#147)
* Publish Go/CS packages

* Fix optional param ordering

* Fix CI installed bindgens
2024-08-28 15:14:20 +02:00
Erdem Yerebasmaz
0cb02ce435 Bugfix: Update production podpsec's version with version script (#447)
* Add just recipe to update version number on podspec files & Cmake scripts

* Resolve relative path of root from script directory

* fix: Update production podpsec's version with version script

* Run 'just version'

* Update melos dependency

* Check if versions on podspec & cmake scripts were updated properly on CI

* Update versions on podspec & cmake scripts on publish

* Declare license type on podspec

* Add platform-specific link recipes

* Add copy recipes to be used in CI workflows
2024-08-20 14:51:07 +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
Ross Savage
535be71d84 Fix RN CI (#408) 2024-07-25 09:27:36 +02: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
651428b298 Fix CI dependencies (#384) 2024-07-10 14:36:48 +02:00
Ross Savage
ce4e3199d5 Remove build-other from publish CI (#381) 2024-07-10 08:00:51 +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
ok300
2d1e85f036 CI: bump checkout action to v4 (#363)
* CI: bump checkout action to v4

* CI: bump download-artifact action to v4

* CI: bump upload-artifact action to v4
2024-07-08 11:55:06 +00: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
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
Ross Savage
c93b10534d Install protoc on workflow (#352)
* install protoc on workflow

(cherry picked from commit 317c7906d968eeb6726ab4a9076a8bf64bdf4a6e)

* Bump setup-protoc to v3 and 27.2

---------

Co-authored-by: Roei Erez <roeierez@gmail.com>
2024-07-01 17:22:41 +02:00
ok300
079be185c6 CI: Test if SDK compiles with latest dependencies (#323)
* CI: Test if SDK compiles with latest dependencies

* Add secp256k1-zkp patch

* Propagate the patch in Cargo.lock
2024-06-26 13:25:05 +00: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
5dca068619 Fix Package.swift xcframework url (#316) 2024-06-19 15:14:57 +02:00
yse
6224c5133c test: persistence and swap states (#312) 2024-06-18 21:55:46 +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
337b52d40e Change script paths to langs directory 2024-05-21 15:38:13 +02:00
Ross Savage
cc7a6efd27 Rename bindings directories 2024-05-21 14:42:32 +02:00
Ross Savage
6e15c7762d Remove Flutter waiting CI job 2024-05-06 16:31:41 +02:00
Ross Savage
cddb9cce37 Set the breez-liquid-sdk-swift ref branch 2024-05-06 16:19:50 +02:00
Ross Savage
aec163c05a Wait for swift publishing job for flutter and RN 2024-05-06 16:19:50 +02:00
Erdem Yerebasmaz
0c0287b465 Ignore symlink files for C headers
Remove symlink files from version control
2024-05-06 11:10:17 +03:00
Erdem Yerebasmaz
c782fbf058 Check Flutter bindings with CI
- Add static analysis step for Dart & Flutter packages
- Ignore warning for unused element on build scrips for Windows targets
- Continue if there are any errors with generating bindings
2024-05-06 11:10:17 +03:00
Ross Savage
2467850bdd Change flutter directory 2024-05-03 13:30:36 +02:00
Ross Savage
3edb7d2019 Add CI workflows for publishing 2024-05-03 12:35:02 +02:00
ok300
6589a8799b Rename workspace members (subfolders) (#149)
* Rename ls-sdk-bindings workspace member

* Rename ls-sdk-core workspace member

* Rename ls-sdk-react-native
2024-05-02 18:22:32 +00:00
ok300
fddabfa0dd Add CI step to check RN bindings (#115) 2024-04-29 10:53:02 +00:00
ok300
95a05cc428 CI: build bindings, add binding tests (#114)
* CI: build bindings, add binding tests

* Cargo fmt

* Add assertion in python binding test
2024-04-29 10:49:33 +00:00
ok300
d254496269 Add CI config (#37)
* Add CI config

* Cargo fmt

* Add cargo clippy CI step
2024-03-21 09:32:58 +00:00