lwk 0.1.7 copy "lwk: ^0.1.7" to clipboard
lwk: ^0.1.7 copied to clipboard

A dart/flutter library with language bindings for rust library [lwk](https://github.com/Blockstream/lwk) - Liquid Wallet Kit.

lwk #

A dart/flutter library with language bindings for rust library lwk - Liquid Wallet Kit.

BREAKING CHANGE FROM 0.1.3 -> 0.1.4 #

If you are currently using 0.1.3 - updating to 0.1.4 will create a breaking change that will make it difficult for you to spend your existing utxos.

If you are using 0.1.3 sweep your wallets before updating.

legacy branch #

To access legacy 0.1.3 wallets, use the legacy branch.

Usage #

Initialize the library once, in main()

await LibLwk.init();

This will load the binary. It does not need to be called again.

Now use the library as usual. See test/lwk_root_test.dart

Dependencies #

Docker is required for linux builds.

dart pub global activate ffigen
cargo install flutter_rust_bridge_codegen --version 2.0.0
cargo install cargo-expand
cargo install cargo-ndk
@if [ $$(uname) == "Darwin" ] ; then cargo install cargo-lipo ; fi

For ios builds, make sure you have xcode installed.

Update & Build process #

Add new types to types.rs and static functions to api.rs

api.rs contains an Api struct that holds all the static functions.

types.rs structures and enums are also re-exported via api.rs

# in the project root directory

./compile.native.sh # build for your native platform (linux/macos). adds binary to dart test folder.

MacOS as host #

macos as the host machine can build binaries for all platforms using:

# requires dockerd running
./compile.all.sh

Compile will first build native binaries of the rust code and move them to the dart test folder.

It will then run flutter_rust_bridge_codegen and generate ffi code in rust and dart.

Non-debian linux users #

On non-debian systems you will get some errors with the bridge_generated.dart files.

Error would be related to:

  void store_dart_post_cobject(
    int ptr,
  ) {
    return _store_dart_post_cobject(
      ptr,
    );
  }

You may need to set the path the clang in CPATH manually. Run the following:

export CPATH="$(clang -v 2>&1 | grep "Selected GCC installation" | rev | cut -d' ' -f1 | rev)/include"
1
likes
140
points
95
downloads

Publisher

verified publisherbullbitcoin.com

Weekly Downloads

A dart/flutter library with language bindings for rust library [lwk](https://github.com/Blockstream/lwk) - Liquid Wallet Kit.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

archive, cupertino_icons, dio, ffi, flutter, flutter_rust_bridge, freezed_annotation, http, json_annotation, meta, uuid

More

Packages that depend on lwk