breez / breez-sdk-greenlight

MIT License
244 stars 43 forks source link

WASM #595

Open dangeross opened 1 year ago

dangeross commented 1 year ago

This is a tracking issue to manage the WASM implementation of the Breez SDK.

Tasks

Research

Issues

dangeross commented 11 months ago

Current WASIX Progress Patching the following dependencies:

[patch.crates-io]
rustls = { git = "https://github.com/wasix-org/rustls.git", branch = "v0.21.8" }
rustls-native-certs = { git = "https://github.com/wasix-org/rustls-native-certs.git" }
socket2 = { git = "https://github.com/wasix-org/socket2.git", branch = "v0.4.9" }
reqwest = { git = "https://github.com/wasix-org/reqwest.git" }
ring = { git = "https://github.com/wasix-org/ring.git", branch = "wasix" }
tokio = { git = "https://github.com/wasix-org/tokio.git", branch = "epoll" }
tokio-rustls = { git = "https://github.com/wasix-org/tokio-rustls.git" }
hyper = { git ="https://github.com/wasix-org/hyper.git", branch = "v0.14.27" }
hyper-rustls = { git = "https://github.com/wasix-org/hyper-rustls.git", branch = "wasix" }

Several libraries are still not building

openssl-sys issue Fixed by installing openssl-wasm32-wasi locally. This is a prebuilt openssl library targeting wasm32-wasi.

git clone --recursive https://github.com/doramatadora/openssl-wasm32-wasi

then build with the following env vars set:

 OPENSSL_NO_VENDOR=1 OPENSSL_DIR=/Users/rosssavage/Source/Projects/openssl-wasm32-wasi/precompiled OPENSSL_STATIC=1 cargo wasix build

secp256k1-sys issue Turn out it was a clang issue, XCode's bundled clang doesn't support wasm targets. Install the correct one with brewbrew.

brew install llvm

then build with the following env vars set:

AR=/usr/local/opt/llvm/bin/llvm-ar CC=/usr/local/opt/llvm/bin/clang

Current build command

OPENSSL_NO_VENDOR=1 OPENSSL_DIR=/Users/rosssavage/Source/Projects/openssl-wasm32-wasi/precompiled OPENSSL_STATIC=1 AR=/usr/local/opt/llvm/bin/llvm-ar CC=/usr/local/opt/llvm/bin/clang cargo wasix build

Current Output

error[E0599]: no method named `description_` found for struct `KeyRejected` in the current scope
    --> /Users/rosssavage/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rcgen-0.10.0/src/lib.rs:1654:35
     |
1654 |         RcgenError::RingKeyRejected(err.description_())
     |                                         ^^^^^^^^^^^^ method not found in `KeyRejected`

For more information about this error, try `rustc --explain E0599`.
error: could not compile `rcgen` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...
The following warnings were emitted during compilation:

warning: sqlite3/sqlite3.c:14183:10: fatal error: 'stdio.h' file not found
warning:  14183 | #include <stdio.h>
warning:        |          ^~~~~~~~~
warning: 1 error generated.

error: failed to run custom build command for `libsqlite3-sys v0.26.0`

Caused by:
  process didn't exit successfully: `/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/debug/build/libsqlite3-sys-d11f587fe2e4b5d9/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-changed=sqlite3/sqlite3.c
  cargo:rerun-if-changed=sqlite3/wasm32-wasi-vfs.c
  cargo:rerun-if-env-changed=SQLITE_MAX_VARIABLE_NUMBER
  cargo:rerun-if-env-changed=SQLITE_MAX_EXPR_DEPTH
  cargo:rerun-if-env-changed=LIBSQLITE3_FLAGS
  TARGET = Some("wasm32-wasmer-wasi")
  OPT_LEVEL = Some("0")
  HOST = Some("x86_64-apple-darwin")
  cargo:rerun-if-env-changed=CC_wasm32-wasmer-wasi
  CC_wasm32-wasmer-wasi = None
  cargo:rerun-if-env-changed=CC_wasm32_wasmer_wasi
  CC_wasm32_wasmer_wasi = None
  cargo:rerun-if-env-changed=TARGET_CC
  TARGET_CC = None
  cargo:rerun-if-env-changed=CC
  CC = Some("/usr/local/opt/llvm/bin/clang")
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  cargo:rerun-if-env-changed=CFLAGS_wasm32-wasmer-wasi
  CFLAGS_wasm32-wasmer-wasi = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32_wasmer_wasi
  CFLAGS_wasm32_wasmer_wasi = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  running: "/usr/local/opt/llvm/bin/clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=wasm32-wasmer-wasi" "-DSQLITE_CORE" "-DSQLITE_DEFAULT_FOREIGN_KEYS=1" "-DSQLITE_ENABLE_API_ARMOR" "-DSQLITE_ENABLE_COLUMN_METADATA" "-DSQLITE_ENABLE_DBSTAT_VTAB" "-DSQLITE_ENABLE_FTS3" "-DSQLITE_ENABLE_FTS3_PARENTHESIS" "-DSQLITE_ENABLE_FTS5" "-DSQLITE_ENABLE_JSON1" "-DSQLITE_ENABLE_LOAD_EXTENSION=1" "-DSQLITE_ENABLE_MEMORY_MANAGEMENT" "-DSQLITE_ENABLE_RTREE" "-DSQLITE_ENABLE_STAT2" "-DSQLITE_ENABLE_STAT4" "-DSQLITE_SOUNDEX" "-DSQLITE_THREADSAFE=1" "-DSQLITE_USE_URI" "-DHAVE_USLEEP=1" "-D_POSIX_THREAD_SAFE_FUNCTIONS" "-DHAVE_ISNAN" "-DHAVE_LOCALTIME_R" "-o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/build/libsqlite3-sys-f293314b1daad7a0/out/sqlite3/sqlite3.o" "-c" "sqlite3/sqlite3.c"
  cargo:warning=sqlite3/sqlite3.c:14183:10: fatal error: 'stdio.h' file not found

  cargo:warning= 14183 | #include <stdio.h>

  cargo:warning=       |          ^~~~~~~~~

  cargo:warning=1 error generated.

  exit status: 1

  --- stderr

  error occurred: Command "/usr/local/opt/llvm/bin/clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=wasm32-wasmer-wasi" "-DSQLITE_CORE" "-DSQLITE_DEFAULT_FOREIGN_KEYS=1" "-DSQLITE_ENABLE_API_ARMOR" "-DSQLITE_ENABLE_COLUMN_METADATA" "-DSQLITE_ENABLE_DBSTAT_VTAB" "-DSQLITE_ENABLE_FTS3" "-DSQLITE_ENABLE_FTS3_PARENTHESIS" "-DSQLITE_ENABLE_FTS5" "-DSQLITE_ENABLE_JSON1" "-DSQLITE_ENABLE_LOAD_EXTENSION=1" "-DSQLITE_ENABLE_MEMORY_MANAGEMENT" "-DSQLITE_ENABLE_RTREE" "-DSQLITE_ENABLE_STAT2" "-DSQLITE_ENABLE_STAT4" "-DSQLITE_SOUNDEX" "-DSQLITE_THREADSAFE=1" "-DSQLITE_USE_URI" "-DHAVE_USLEEP=1" "-D_POSIX_THREAD_SAFE_FUNCTIONS" "-DHAVE_ISNAN" "-DHAVE_LOCALTIME_R" "-o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/build/libsqlite3-sys-f293314b1daad7a0/out/sqlite3/sqlite3.o" "-c" "sqlite3/sqlite3.c" with args "clang" did not execute successfully (status code exit status: 1).

make: *** [wasix] Error 101
dangeross commented 11 months ago

Current WASIX Progress Patching the following dependencies:

[patch.crates-io]
rustls = { git = "https://github.com/wasix-org/rustls.git", branch = "v0.21.8" }
rustls-native-certs = { git = "https://github.com/wasix-org/rustls-native-certs.git" }
socket2 = { git = "https://github.com/wasix-org/socket2.git", branch = "v0.4.9" }
reqwest = { git = "https://github.com/wasix-org/reqwest.git" }
ring = { git = "https://github.com/wasix-org/ring.git", branch = "wasix" }
tokio = { git = "https://github.com/wasix-org/tokio.git", branch = "epoll" }
tokio-rustls = { git = "https://github.com/wasix-org/tokio-rustls.git" }
hyper = { git ="https://github.com/wasix-org/hyper.git", branch = "v0.14.27" }
hyper-rustls = { git = "https://github.com/wasix-org/hyper-rustls.git", branch = "wasix" }
sct = { git = "https://github.com/wasix-org/sct", branch = "v0.7.0" }

Several libraries are still not building

openssl-sys issue Fixed by installing openssl-wasm32-wasi locally. This is a prebuilt openssl library targeting wasm32-wasi.

git clone --recursive https://github.com/doramatadora/openssl-wasm32-wasi

then build with the following env vars set:

 OPENSSL_NO_VENDOR=1 OPENSSL_DIR=/Users/rosssavage/Source/Projects/openssl-wasm32-wasi/precompiled OPENSSL_STATIC=1 cargo wasix build

secp256k1-sys issue Superceded by libsqlite3-sys issue ~Turn out it was a clang issue, XCode's bundled clang doesn't support wasm targets. Install the correct one with brewbrew.~

brew install llvm

~then build with the following env vars set:~

AR=/usr/local/opt/llvm/bin/llvm-ar CC=/usr/local/opt/llvm/bin/clang

libsqlite3-sys issue This was resolved by installing the wasi-sdk locally, then using this as the clang source and adding the sysroot.

export WASI_VERSION=20
export WASI_VERSION_FULL=${WASI_VERSION}.0
curl -O https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-macos.tar.gz
tar xvf wasi-sdk-${WASI_VERSION_FULL}-macos.tar.gz
mv wasi-sdk-${WASI_VERSION_FULL}-macos wasi-sdk

Current build command make wasix

WASI_SDK := "/opt/wasi-sdk"
CLANG_LIB_WASI := "$(WASI_SDK)/lib/clang/16/lib/wasi"
WASI_SYSROOT := "$(WASI_SDK)/share/wasi-sysroot"
CC := "$(WASI_SDK)/bin/clang --sysroot=$(WASI_SYSROOT)"
AR := "$(WASI_SDK)/bin/llvm-ar"
CC_WASM32_WASI := "$(WASI_SDK)/bin/clang"
LIBSQLITE3_FLAGS := "-DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_SHARED_CACHE -D_LARGEFILE64_SOURCE"
RUSTFLAGS := "-Clink-arg=-L$(CLANG_LIB_WASI) -Clink-arg=-lclang_rt.builtins-wasm32 -Clink-arg=--export-table -Clink-arg=--export=malloc -Clink-arg=--export=free"
OPENSSL_DIR := "/opt/openssl-wasm32-wasi/precompiled"

init:
    rustup target add wasm32-wasi

wasix:
    clear
    cargo update
    OPENSSL_NO_VENDOR=1 OPENSSL_STATIC=1 OPENSSL_DIR=$(OPENSSL_DIR) CC=$(CC) AR=$(AR) CC_WASM32_WASI=$(CC_WASM32_WASI) LIBSQLITE3_FLAGS=$(LIBSQLITE3_FLAGS) RUSTFLAGS=$(RUSTFLAGS) cargo wasix build

Current Output

error[E0599]: no method named `description_` found for struct `KeyRejected` in the current scope
    --> /Users/rosssavage/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rcgen-0.10.0/src/lib.rs:1654:35
     |
1654 |         RcgenError::RingKeyRejected(err.description_())
     |                                         ^^^^^^^^^^^^ method not found in `KeyRejected`

   Compiling console_error_panic_hook v0.1.7
   Compiling breez-sdk-core v0.2.9 (/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core)
   Compiling serde_with_macros v3.4.0
For more information about this error, try `rustc --explain E0599`.
error: could not compile `rcgen` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...
error[E0277]: the trait bound `TlsConnector: From<Arc<rustls::ClientConfig>>` is not satisfied
   --> /Users/rosssavage/.cargo/git/checkouts/hyper-rustls-b0e1421a62a3cd05/e8d621f/src/connector.rs:122:56
    |
122 |                     let connector = TlsConnector::from(cfg);
    |                                     ------------------ ^^^ the trait `From<Arc<rustls::ClientConfig>>` is not implemented for `TlsConnector`
    |                                     |
    |                                     required by a bound introduced by this call
    |
    = help: the trait `From<Arc<tokio_rustls::rustls::ClientConfig>>` is implemented for `TlsConnector`

error[E0308]: mismatched types
   --> /Users/rosssavage/.cargo/git/checkouts/hyper-rustls-b0e1421a62a3cd05/e8d621f/src/connector.rs:124:34
    |
124 |                         .connect(hostname, tcp)
    |                          ------- ^^^^^^^^ expected `tokio_rustls::rustls::ServerName`, found `rustls::ServerName`
    |                          |
    |                          arguments to this method are incorrect
    |
    = note: `rustls::ServerName` and `tokio_rustls::rustls::ServerName` have similar names, but are actually distinct types
note: `rustls::ServerName` is defined in crate `rustls`
   --> /Users/rosssavage/.cargo/git/checkouts/rustls-98170f7462009c04/744e3c7/rustls/src/client/client_conn.rs:338:1
    |
338 | pub enum ServerName {
    | ^^^^^^^^^^^^^^^^^^^
note: `tokio_rustls::rustls::ServerName` is defined in crate `rustls`
   --> /Users/rosssavage/.cargo/git/checkouts/rustls-98170f7462009c04/f70944f/rustls/src/client/client_conn.rs:341:1
    |
341 | pub enum ServerName {
    | ^^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `rustls` are being used?
note: method defined here
   --> /Users/rosssavage/.cargo/git/checkouts/tokio-rustls-2530e4b9557b4113/d3dbaae/src/lib.rs:109:12
    |
109 |     pub fn connect<IO>(&self, domain: rustls::ServerName, stream: IO) -> Connect<IO>
    |            ^^^^^^^

Some errors have detailed explanations: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `hyper-rustls` (lib) due to 2 previous errors
error[E0277]: expected a `FnOnce<(&[u8],)>` closure, found `()`
   --> /Users/rosssavage/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.20.9/src/kx.rs:58:67
    |
58  |         ring::agreement::agree_ephemeral(self.privkey, &peer_key, (), f)
    |         --------------------------------                          ^^ expected an `FnOnce<(&[u8],)>` closure, found `()`
    |         |
    |         required by a bound introduced by this call
    |
    = help: the trait `for<'a> FnOnce<(&'a [u8],)>` is not implemented for `()`
note: required by a bound in `agree_ephemeral`
   --> /Users/rosssavage/.cargo/git/checkouts/ring-0e6fa1de60b08522/ae82296/src/agreement.rs:252:15
    |
249 | pub fn agree_ephemeral<B: AsRef<[u8]>, R>(
    |        --------------- required by a bound in this function
...
252 |     kdf: impl FnOnce(&[u8]) -> R,
    |               ^^^^^^^^^^^^^^^^^^ required by this bound in `agree_ephemeral`

error[E0061]: this function takes 3 arguments but 4 arguments were supplied
   --> /Users/rosssavage/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.20.9/src/kx.rs:58:9
    |
58  |         ring::agreement::agree_ephemeral(self.privkey, &peer_key, (), f)
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                            ---
    |                                                                     | |
    |                                                                     | unexpected argument of type `impl FnOnce(&[u8]) -> Result<T, ()>`
    |                                                                     help: remove the extra argument
    |
note: function defined here
   --> /Users/rosssavage/.cargo/git/checkouts/ring-0e6fa1de60b08522/ae82296/src/agreement.rs:249:8
    |
249 | pub fn agree_ephemeral<B: AsRef<[u8]>, R>(
    |        ^^^^^^^^^^^^^^^

error[E0308]: mismatched types
  --> /Users/rosssavage/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.20.9/src/kx.rs:59:23
   |
59 |             .map_err(|()| Error::PeerMisbehavedError("key agreement failed".to_string()))
   |                       ^^
   |                       |
   |                       expected `Unspecified`, found `()`
   |                       expected due to this

Some errors have detailed explanations: E0061, E0277, E0308.
For more information about an error, try `rustc --explain E0061`.
error: could not compile `rustls` (lib) due to 3 previous errors
make: *** [wasix] Error 101
dangeross commented 11 months ago

Current WASIX Progress Patching the following dependencies:

[patch.crates-io]
rustls = { git = "https://github.com/wasix-org/rustls.git", branch = "v0.21.8" }
rustls-native-certs = { git = "https://github.com/wasix-org/rustls-native-certs.git" }
socket2 = { git = "https://github.com/wasix-org/socket2.git", branch = "v0.4.9" }
reqwest = { git = "https://github.com/wasix-org/reqwest.git", branch = "rustls-0.21.8" }
ring = { git = "https://github.com/wasix-org/ring.git", branch = "wasix" }
tokio = { git = "https://github.com/wasix-org/tokio.git", branch = "epoll" }
tokio-rustls = { git = "https://github.com/wasix-org/tokio-rustls.git" }
hyper = { git ="https://github.com/wasix-org/hyper.git", branch = "v0.14.27" }
hyper-rustls = { git = "https://github.com/wasix-org/hyper-rustls.git", branch = "wasix" }
sct = { git = "https://github.com/wasix-org/sct.git", branch = "v0.7.0" }

Several libraries are still not building

openssl-sys issue Fixed by installing openssl-wasm32-wasi locally. This is a prebuilt openssl library targeting wasm32-wasi.

git clone --recursive https://github.com/doramatadora/openssl-wasm32-wasi

then build with the following env vars set:

 OPENSSL_NO_VENDOR=1 OPENSSL_DIR=/Users/rosssavage/Source/Projects/openssl-wasm32-wasi/precompiled OPENSSL_STATIC=1 cargo wasix build

secp256k1-sys issue Superceded by libsqlite3-sys issue ~Turn out it was a clang issue, XCode's bundled clang doesn't support wasm targets. Install the correct one with brewbrew.~

brew install llvm

~then build with the following env vars set:~

AR=/usr/local/opt/llvm/bin/llvm-ar CC=/usr/local/opt/llvm/bin/clang

libsqlite3-sys issue This was resolved by installing the wasi-sdk locally, then using this as the clang source and adding the sysroot.

export WASI_VERSION=20
export WASI_VERSION_FULL=${WASI_VERSION}.0
curl -O https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-macos.tar.gz
tar xvf wasi-sdk-${WASI_VERSION_FULL}-macos.tar.gz
mv wasi-sdk-${WASI_VERSION_FULL}-macos wasi-sdk

Current build command make wasix

WASI_SDK := "/opt/wasi-sdk"
CLANG_LIB_WASI := "$(WASI_SDK)/lib/clang/16/lib/wasi"
WASI_SYSROOT := "$(WASI_SDK)/share/wasi-sysroot"
CC := "$(WASI_SDK)/bin/clang --sysroot=$(WASI_SYSROOT)"
AR := "$(WASI_SDK)/bin/llvm-ar"
CC_WASM32_WASI := "$(WASI_SDK)/bin/clang"
LIBSQLITE3_FLAGS := "-DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_SHARED_CACHE -D_LARGEFILE64_SOURCE"
RUSTFLAGS := "-Clink-arg=-L$(CLANG_LIB_WASI) -Clink-arg=-lclang_rt.builtins-wasm32 -Clink-arg=--export-table -Clink-arg=--export=malloc -Clink-arg=--export=free"
OPENSSL_DIR := "/opt/openssl-wasm32-wasi/precompiled"

init:
    rustup target add wasm32-wasi

wasix:
    clear
    cargo update
    OPENSSL_NO_VENDOR=1 OPENSSL_STATIC=1 OPENSSL_DIR=$(OPENSSL_DIR) CC=$(CC) AR=$(AR) CC_WASM32_WASI=$(CC_WASM32_WASI) LIBSQLITE3_FLAGS=$(LIBSQLITE3_FLAGS) RUSTFLAGS=$(RUSTFLAGS) cargo wasix build

Current Output

   Compiling asn1-rs-impl v0.1.0
error[E0277]: expected a `FnOnce<(&[u8],)>` closure, found `()`
   --> /Users/rosssavage/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.20.9/src/kx.rs:58:67
    |
58  |         ring::agreement::agree_ephemeral(self.privkey, &peer_key, (), f)
    |         --------------------------------                          ^^ expected an `FnOnce<(&[u8],)>` closure, found `()`
    |         |
    |         required by a bound introduced by this call
    |
    = help: the trait `for<'a> FnOnce<(&'a [u8],)>` is not implemented for `()`
note: required by a bound in `agree_ephemeral`
   --> /Users/rosssavage/.cargo/git/checkouts/ring-0e6fa1de60b08522/ae82296/src/agreement.rs:252:15
    |
249 | pub fn agree_ephemeral<B: AsRef<[u8]>, R>(
    |        --------------- required by a bound in this function
...
252 |     kdf: impl FnOnce(&[u8]) -> R,
    |               ^^^^^^^^^^^^^^^^^^ required by this bound in `agree_ephemeral`

error[E0061]: this function takes 3 arguments but 4 arguments were supplied
   --> /Users/rosssavage/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.20.9/src/kx.rs:58:9
    |
58  |         ring::agreement::agree_ephemeral(self.privkey, &peer_key, (), f)
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                            ---
    |                                                                     | |
    |                                                                     | unexpected argument of type `impl FnOnce(&[u8]) -> Result<T, ()>`
    |                                                                     help: remove the extra argument
    |
note: function defined here
   --> /Users/rosssavage/.cargo/git/checkouts/ring-0e6fa1de60b08522/ae82296/src/agreement.rs:249:8
    |
249 | pub fn agree_ephemeral<B: AsRef<[u8]>, R>(
    |        ^^^^^^^^^^^^^^^

error[E0308]: mismatched types
  --> /Users/rosssavage/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.20.9/src/kx.rs:59:23
   |
59 |             .map_err(|()| Error::PeerMisbehavedError("key agreement failed".to_string()))
   |                       ^^
   |                       |
   |                       expected `Unspecified`, found `()`
   |                       expected due to this

   Compiling asn1-rs-derive v0.4.0
   Compiling bitcoin-consensus-derive v0.1.0
   Compiling zeroize v1.7.0
   Compiling openssl-macros v0.1.1
Some errors have detailed explanations: E0061, E0277, E0308.
For more information about an error, try `rustc --explain E0061`.
error: could not compile `rustls` (lib) due to 3 previous errors
warning: build failed, waiting for other jobs to finish...
make: *** [wasix] Error 101
dangeross commented 11 months ago

Current WASIX Progress Patching the following dependencies:

[patch.crates-io]
sct = { git = "https://github.com/wasix-org/sct", branch = "v0.7.0" }
h2 = { git = "https://github.com/wasix-org/h2" }
rustls = { git = "https://github.com/wasix-org/rustls.git", branch = "v0.21.8" }
rustls-native-certs = { git = "https://github.com/wasix-org/rustls-native-certs.git" }
socket2 = { git = "https://github.com/wasix-org/socket2.git", branch = "v0.4.9" }
reqwest = { git = "https://github.com/wasix-org/reqwest.git", branch = "rustls-0.21.8" }
ring = { git = "https://github.com/wasix-org/ring.git", branch = "wasix" }
tokio = { git = "https://github.com/wasix-org/tokio.git", branch = "epoll" }
tokio-rustls = { git = "https://github.com/wasix-org/tokio-rustls.git" }
hyper = { git ="https://github.com/wasix-org/hyper.git", branch = "v0.14.27" }
hyper-rustls = { git = "https://github.com/wasix-org/hyper-rustls.git", branch = "wasix" }
tonic = { git ="https://github.com/dangeross/tonic.git", branch = "v0.8.3" }

Several libraries are still not building

openssl-sys issue Fixed by installing openssl-wasm32-wasi locally. This is a prebuilt openssl library targeting wasm32-wasi.

git clone --recursive https://github.com/doramatadora/openssl-wasm32-wasi

then build with the following env vars set:

 OPENSSL_NO_VENDOR=1 OPENSSL_DIR=/Users/rosssavage/Source/Projects/openssl-wasm32-wasi/precompiled OPENSSL_STATIC=1 cargo wasix build

secp256k1-sys issue Superceded by libsqlite3-sys issue ~Turn out it was a clang issue, XCode's bundled clang doesn't support wasm targets. Install the correct one with brewbrew.~

brew install llvm

~then build with the following env vars set:~

AR=/usr/local/opt/llvm/bin/llvm-ar CC=/usr/local/opt/llvm/bin/clang

libsqlite3-sys issue This was resolved by installing the wasi-sdk locally, then using this as the clang source and adding the sysroot.

export WASI_VERSION=20
export WASI_VERSION_FULL=${WASI_VERSION}.0
curl -O https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-macos.tar.gz
tar xvf wasi-sdk-${WASI_VERSION_FULL}-macos.tar.gz
mv wasi-sdk-${WASI_VERSION_FULL}-macos wasi-sdk

rustls issue This is due to inconsistent versions that are supported by wasix and tonic. Forked the tonic repo, bumped rustls version and added client feature to support wasm32 targets.

Current build command make wasix

WASI_SDK := "/opt/wasi-sdk"
CLANG_LIB_WASI := "$(WASI_SDK)/lib/clang/16/lib/wasi"
WASI_SYSROOT := "$(WASI_SDK)/share/wasi-sysroot"
CC := "$(WASI_SDK)/bin/clang --sysroot=$(WASI_SYSROOT)"
AR := "$(WASI_SDK)/bin/llvm-ar"
CC_WASM32_WASI := "$(WASI_SDK)/bin/clang"
LIBSQLITE3_FLAGS := "-DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_SHARED_CACHE -D_LARGEFILE64_SOURCE"
RUSTFLAGS := "-Clink-arg=-L$(CLANG_LIB_WASI) -Clink-arg=-lclang_rt.builtins-wasm32 -Clink-arg=--export-table -Clink-arg=--export=malloc -Clink-arg=--export=free"
OPENSSL_DIR := "/opt/openssl-wasm32-wasi/precompiled"

init:
    rustup target add wasm32-wasi

wasix:
    clear
    cargo update
    OPENSSL_NO_VENDOR=1 OPENSSL_STATIC=1 OPENSSL_DIR=$(OPENSSL_DIR) CC=$(CC) AR=$(AR) CC_WASM32_WASI=$(CC_WASM32_WASI) LIBSQLITE3_FLAGS=$(LIBSQLITE3_FLAGS) RUSTFLAGS=$(RUSTFLAGS) cargo wasix build

Current Output

   Compiling rcgen v0.10.0
error[E0599]: no method named `description_` found for struct `KeyRejected` in the current scope
    --> /Users/rosssavage/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rcgen-0.10.0/src/lib.rs:1654:35
     |
1654 |         RcgenError::RingKeyRejected(err.description_())
     |                                         ^^^^^^^^^^^^ method not found in `KeyRejected`

For more information about this error, try `rustc --explain E0599`.
error: could not compile `rcgen` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...
make: *** [build] Error 101
dangeross commented 11 months ago

Current WASIX Progress Patching the following dependencies:

[patch.crates-io]
sct = { git = "https://github.com/dangeross/sct", branch = "v0.7.0" }
h2 = { git = "https://github.com/wasix-org/h2" }
rustls = { git = "https://github.com/dangeross/rustls.git", branch = "v0.21.5" }
rustls-native-certs = { git = "https://github.com/wasix-org/rustls-native-certs.git" }
rustls-webpki = { git ="https://github.com/dangeross/webpki.git", branch = "v0.101.0" }
socket2 = { git = "https://github.com/wasix-org/socket2.git", branch = "v0.4.9" }
reqwest = { git = "https://github.com/dangeross/reqwest.git" }
ring = { git = "https://github.com/dangeross/ring.git", branch = "wasix" }
tokio = { git = "https://github.com/wasix-org/tokio.git", branch = "epoll" }
tokio-rustls = { git = "https://github.com/dangeross/tokio-rustls.git" }
hyper = { git ="https://github.com/wasix-org/hyper.git", branch = "v0.14.27" }
hyper-rustls = { git = "https://github.com/dangeross/hyper-rustls.git", branch = "wasix" }
tonic = { git ="https://github.com/dangeross/tonic.git", branch = "v0.8.3" }

Several libraries are still not building

openssl-sys issue Fixed by installing openssl-wasm32-wasi locally. This is a prebuilt openssl library targeting wasm32-wasi.

git clone --recursive https://github.com/doramatadora/openssl-wasm32-wasi

then build with the following env vars set:

 OPENSSL_NO_VENDOR=1 OPENSSL_DIR=/Users/rosssavage/Source/Projects/openssl-wasm32-wasi/precompiled OPENSSL_STATIC=1 cargo wasix build

secp256k1-sys issue Superceded by libsqlite3-sys issue ~Turn out it was a clang issue, XCode's bundled clang doesn't support wasm targets. Install the correct one with brewbrew.~

brew install llvm

~then build with the following env vars set:~

AR=/usr/local/opt/llvm/bin/llvm-ar CC=/usr/local/opt/llvm/bin/clang

libsqlite3-sys issue This was resolved by installing the wasi-sdk locally, then using this as the clang source and adding the sysroot.

export WASI_VERSION=20
export WASI_VERSION_FULL=${WASI_VERSION}.0
curl -O https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-macos.tar.gz
tar xvf wasi-sdk-${WASI_VERSION_FULL}-macos.tar.gz
mv wasi-sdk-${WASI_VERSION_FULL}-macos wasi-sdk

rustls issue This is due to inconsistent versions that are supported by wasix and tonic. Forked the tonic repo, bumped rustls version and added client feature to support wasm32 targets.

rcgen issue Causes by inconsistent port of ring for wasix. As a result of forking/fixing, several other repos also needed to be forked.

Current build command make wasix

WASI_SDK := "/opt/wasi-sdk"
CLANG_LIB_WASI := "$(WASI_SDK)/lib/clang/16/lib/wasi"
WASI_SYSROOT := "$(WASI_SDK)/share/wasi-sysroot"
CC := "$(WASI_SDK)/bin/clang --sysroot=$(WASI_SYSROOT)"
AR := "$(WASI_SDK)/bin/llvm-ar"
CC_WASM32_WASI := "$(WASI_SDK)/bin/clang"
LIBSQLITE3_FLAGS := "-DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_SHARED_CACHE -D_LARGEFILE64_SOURCE"
RUSTFLAGS := "-Clink-arg=-L$(CLANG_LIB_WASI) -Clink-arg=-lclang_rt.builtins-wasm32 -Clink-arg=--export-table -Clink-arg=--export=malloc -Clink-arg=--export=free"
OPENSSL_DIR := "/opt/openssl-wasm32-wasi/precompiled"

init:
    rustup target add wasm32-wasi

wasix:
    clear
    cargo update
    OPENSSL_NO_VENDOR=1 OPENSSL_STATIC=1 OPENSSL_DIR=$(OPENSSL_DIR) CC=$(CC) AR=$(AR) CC_WASM32_WASI=$(CC_WASM32_WASI) LIBSQLITE3_FLAGS=$(LIBSQLITE3_FLAGS) RUSTFLAGS=$(RUSTFLAGS) cargo wasix build

Current Output

   Compiling tonic v0.8.3 (https://github.com/dangeross/tonic.git?branch=v0.8.3#fdbad2be)
error[E0271]: expected `F` to be a future that resolves to `()`, but it resolves to `<F as Future>::Output`
  --> /Users/rosssavage/.cargo/git/checkouts/tonic-30e39279ef91dd73/fdbad2b/tonic/src/transport/service/executor.rs:25:43
   |
25 |         wasm_bindgen_futures::spawn_local(fut);
   |         --------------------------------- ^^^ expected `()`, found associated type
   |         |
   |         required by a bound introduced by this call
   |
   = note:    expected unit type `()`
           found associated type `<F as futures_core::Future>::Output`
   = help: consider constraining the associated type `<F as futures_core::Future>::Output` to `()`
   = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
note: required by a bound in `wasm_bindgen_futures::spawn_local`
  --> /Users/rosssavage/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wasm-bindgen-futures-0.4.38/src/lib.rs:82:15
   |
80 | pub fn spawn_local<F>(future: F)
   |        ----------- required by a bound in this function
81 | where
82 |     F: Future<Output = ()> + 'static,
   |               ^^^^^^^^^^^ required by this bound in `spawn_local`

error[E0308]: mismatched types
   --> /Users/rosssavage/.cargo/git/checkouts/tonic-30e39279ef91dd73/fdbad2b/tonic/src/transport/service/tls.rs:139:51
    |
139 |                 builder.with_client_cert_verifier(AllowAnyAuthenticatedClient::new(roots))
    |                         ------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn ClientCertVerifier>`, found `AllowAnyAuthenticatedClient`
    |                         |
    |                         arguments to this method are incorrect
    |
    = note: expected struct `Arc<(dyn ClientCertVerifier + 'static)>`
               found struct `AllowAnyAuthenticatedClient`
note: method defined here
   --> /Users/rosssavage/.cargo/git/checkouts/rustls-6b40dec7685053f9/984fba1/rustls/src/server/builder.rs:17:12
    |
17  |     pub fn with_client_cert_verifier(
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^

Some errors have detailed explanations: E0271, E0308.
For more information about an error, try `rustc --explain E0271`.
error: could not compile `tonic` (lib) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...
make: *** [build] Error 101
dangeross commented 11 months ago

Current WASIX Progress Patching the following dependencies:

[patch.crates-io]
sct = { git = "https://github.com/dangeross/sct", branch = "v0.7.0" }
h2 = { git = "https://github.com/wasix-org/h2" }
rustls = { git = "https://github.com/dangeross/rustls.git", branch = "v0.21.5" }
rustls-native-certs = { git = "https://github.com/wasix-org/rustls-native-certs.git" }
rustls-webpki = { git ="https://github.com/dangeross/webpki.git", branch = "v0.101.0" }
socket2 = { git = "https://github.com/wasix-org/socket2.git", branch = "v0.4.9" }
reqwest = { git = "https://github.com/dangeross/reqwest.git" }
ring = { git = "https://github.com/dangeross/ring.git", branch = "wasix" }
tokio = { git = "https://github.com/wasix-org/tokio.git", branch = "epoll" }
tokio-rustls = { git = "https://github.com/dangeross/tokio-rustls.git" }
hyper = { git ="https://github.com/wasix-org/hyper.git", branch = "v0.14.27" }
hyper-rustls = { git = "https://github.com/dangeross/hyper-rustls.git", branch = "wasix" }
tonic = { git ="https://github.com/dangeross/tonic.git", branch = "v0.8.3" }

Several libraries are still not building

openssl-sys issue Fixed by installing openssl-wasm32-wasi locally. This is a prebuilt openssl library targeting wasm32-wasi.

git clone --recursive https://github.com/doramatadora/openssl-wasm32-wasi

then build with the following env vars set:

 OPENSSL_NO_VENDOR=1 OPENSSL_DIR=/Users/rosssavage/Source/Projects/openssl-wasm32-wasi/precompiled OPENSSL_STATIC=1 cargo wasix build

secp256k1-sys issue Superceded by libsqlite3-sys issue ~Turn out it was a clang issue, XCode's bundled clang doesn't support wasm targets. Install the correct one with brewbrew.~

brew install llvm

~then build with the following env vars set:~

AR=/usr/local/opt/llvm/bin/llvm-ar CC=/usr/local/opt/llvm/bin/clang

libsqlite3-sys issue This was resolved by installing the wasi-sdk locally, then using this as the clang source and adding the sysroot.

export WASI_VERSION=20
export WASI_VERSION_FULL=${WASI_VERSION}.0
curl -O https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-macos.tar.gz
tar xvf wasi-sdk-${WASI_VERSION_FULL}-macos.tar.gz
mv wasi-sdk-${WASI_VERSION_FULL}-macos wasi-sdk

rustls issue This is due to inconsistent versions that are supported by wasix and tonic. Forked the tonic repo, bumped rustls version and added client feature to support wasm32 targets.

rcgen issue Causes by inconsistent port of ring for wasix. As a result of forking/fixing, several other repos also needed to be forked.

tonic issue Doesn't support compilation to wasm32. Patched a client feature set into tonic based on hyperium/tonic#693. Might have to use tonic-ws-transport to support gRPC tunnelling over WebSocket.

Current build command make wasix

WASI_SDK := "/opt/wasi-sdk"
CLANG_LIB_WASI := "$(WASI_SDK)/lib/clang/16/lib/wasi"
WASI_SYSROOT := "$(WASI_SDK)/share/wasi-sysroot"
CC := "$(WASI_SDK)/bin/clang --sysroot=$(WASI_SYSROOT)"
AR := "$(WASI_SDK)/bin/llvm-ar"
CC_WASM32_WASI := "$(WASI_SDK)/bin/clang"
LIBSQLITE3_FLAGS := "-DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_SHARED_CACHE -D_LARGEFILE64_SOURCE"
RUSTFLAGS := "-Clink-arg=-L$(CLANG_LIB_WASI) -Clink-arg=-lclang_rt.builtins-wasm32 -Clink-arg=--export-table -Clink-arg=--export=malloc -Clink-arg=--export=free"
OPENSSL_DIR := "/opt/openssl-wasm32-wasi/precompiled"

init:
    rustup target add wasm32-wasi

wasix:
    clear
    cargo update
    OPENSSL_NO_VENDOR=1 OPENSSL_STATIC=1 OPENSSL_DIR=$(OPENSSL_DIR) CC=$(CC) AR=$(AR) CC_WASM32_WASI=$(CC_WASM32_WASI) LIBSQLITE3_FLAGS=$(LIBSQLITE3_FLAGS) RUSTFLAGS=$(RUSTFLAGS) cargo wasix build

Current Output

   Compiling vls-protocol-signer v0.10.0 (https://gitlab.com/cdecker/vls?tag=snapshot-20230920#b8d42d68)
error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1166:22
     |
1166 |           tokio::spawn(async move {
     |  ______________________^
1167 | |             signer_api.node_api.start_signer(shutdown_receiver).await;
1168 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = ()>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1167:13
     |
1167 |             signer_api.node_api.start_signer(shutdown_receiver).await;
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = ()>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1191:22
     |
1191 |           tokio::spawn(async move {
     |  ______________________^
1192 | |             let mut events_stream = cloned.backup_watcher.subscribe_events();
1193 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1194 | |             loop {
...    |
1210 | |             }
1211 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<std::string::String, anyhow::Error>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_out/reverseswap.rs:402:46
     |
402  |                   let claim_tx_broadcast_res = self
     |  ______________________________________________^
403  | |                     .chain_service
404  | |                     .broadcast_transaction(serialize(&claim_tx))
     | |________________________________________________________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<std::string::String, anyhow::Error>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1191:22
     |
1191 |           tokio::spawn(async move {
     |  ______________________^
1192 | |             let mut events_stream = cloned.backup_watcher.subscribe_events();
1193 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1194 | |             loop {
...    |
1210 | |             }
1211 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<models::ReceivePaymentResponse, ReceivePaymentError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_in/swap.rs:408:27
     |
408  |               let invoice = self
     |  ___________________________^
409  | |                 .payment_receiver
410  | |                 .receive_payment(ReceivePaymentRequest {
411  | |                     amount_msat: swap_info.confirmed_sats * 1000,
...    |
417  | |                     cltv: None,
418  | |                 })
     | |__________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<models::ReceivePaymentResponse, ReceivePaymentError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1191:22
     |
1191 |           tokio::spawn(async move {
     |  ______________________^
1192 | |             let mut events_stream = cloned.backup_watcher.subscribe_events();
1193 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1194 | |             loop {
...    |
1210 | |             }
1211 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<(), anyhow::Error>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_in/swap.rs:442:9
     |
442  |         self.swapper_api.complete_swap(payreq.clone()).await
     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<(), anyhow::Error>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1191:22
     |
1191 |           tokio::spawn(async move {
     |  ______________________^
1192 | |             let mut events_stream = cloned.backup_watcher.subscribe_events();
1193 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1194 | |             loop {
...    |
1210 | |             }
1211 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<Vec<OnchainTx>, anyhow::Error>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_out/reverseswap.rs:295:37
     |
295  |                   let confirmed_txs = self
     |  _____________________________________^
296  | |                     .chain_service
297  | |                     .address_transactions(lockup_addr.to_string())
     | |__________________________________________________________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<Vec<OnchainTx>, anyhow::Error>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1191:22
     |
1191 |           tokio::spawn(async move {
     |  ______________________^
1192 | |             let mut events_stream = cloned.backup_watcher.subscribe_events();
1193 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1194 | |             loop {
...    |
1210 | |             }
1211 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<BoltzApiReverseSwapStatus, ReverseSwapError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_out/reverseswap.rs:497:31
     |
497  |                   None => match self
     |  _______________________________^
498  | |                     .reverse_swap_service_api
499  | |                     .get_boltz_status(rsi.id.clone())
     | |_____________________________________________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<BoltzApiReverseSwapStatus, ReverseSwapError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1191:22
     |
1191 |           tokio::spawn(async move {
     |  ______________________^
1192 | |             let mut events_stream = cloned.backup_watcher.subscribe_events();
1193 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1194 | |             loop {
...    |
1210 | |             }
1211 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<u32, anyhow::Error>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_out/reverseswap.rs:513:40
     |
513  |                     let block_height = self.chain_service.current_tip().await?;
     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<u32, anyhow::Error>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1216:22
     |
1216 |           tokio::spawn(async move {
     |  ______________________^
1217 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1218 | |             loop {
1219 | |                 if shutdown_receiver.has_changed().map_or(true, |c| c) {
...    |
1269 | |             }
1270 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<Streaming<IncomingPayment>, NodeError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1222:42
     |
1222 |                 let invoice_stream_res = cloned.node_api.stream_incoming_payments().await;
     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<Streaming<IncomingPayment>, NodeError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1216:22
     |
1216 |           tokio::spawn(async move {
     |  ______________________^
1217 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1218 | |             loop {
1219 | |                 if shutdown_receiver.has_changed().map_or(true, |c| c) {
...    |
1269 | |             }
1270 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<std::string::String, NodeError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:868:27
     |
868  |         let node_pubkey = self.node_api.start().await?;
     |                           ^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<std::string::String, NodeError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1216:22
     |
1216 |           tokio::spawn(async move {
     |  ______________________^
1217 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1218 | |             loop {
1219 | |                 if shutdown_receiver.has_changed().map_or(true, |c| c) {
...    |
1269 | |             }
1270 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<models::SyncResponse, NodeError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:873:25
     |
873  |           let new_data = &self
     |  _________________________^
874  | |             .node_api
875  | |             .pull_changed(since_timestamp, balance_changed)
     | |___________________________________________________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<models::SyncResponse, NodeError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1216:22
     |
1216 |           tokio::spawn(async move {
     |  ______________________^
1217 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1218 | |             loop {
1219 | |                 if shutdown_receiver.has_changed().map_or(true, |c| c) {
...    |
1269 | |             }
1270 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<Vec<std::string::String>, NodeError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:893:26
     |
893  |             let backup = self.node_api.static_backup().await?;
     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<Vec<std::string::String>, NodeError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1216:22
     |
1216 |           tokio::spawn(async move {
     |  ______________________^
1217 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1218 | |             loop {
1219 | |                 if shutdown_receiver.has_changed().map_or(true, |c| c) {
...    |
1269 | |             }
1270 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<Vec<lsp::LspInformation>, SdkError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:924:20
     |
924  |         let lsps = self.lsp_api.list_lsps(node_pubkey).await?;
     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<Vec<lsp::LspInformation>, SdkError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1216:22
     |
1216 |           tokio::spawn(async move {
     |  ______________________^
1217 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1218 | |             loop {
1219 | |                 if shutdown_receiver.has_changed().map_or(true, |c| c) {
...    |
1269 | |             }
1270 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<(), NodeError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:941:21
     |
941  | /                     self.node_api
942  | |                         .connect_peer(node_id.clone(), address.clone())
     | |_______________________________________________________________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<(), NodeError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1216:22
     |
1216 |           tokio::spawn(async move {
     |  ______________________^
1217 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1218 | |             loop {
1219 | |                 if shutdown_receiver.has_changed().map_or(true, |c| c) {
...    |
1269 | |             }
1270 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<Vec<Outspend>, anyhow::Error>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1435:33
     |
1435 |                   let outspends = self
     |  _________________________________^
1436 | |                     .chain_service
1437 | |                     .transaction_outspends(channel.funding_txid.clone())
     | |________________________________________________________________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<Vec<Outspend>, anyhow::Error>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1216:22
     |
1216 |           tokio::spawn(async move {
     |  ______________________^
1217 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1218 | |             loop {
1219 | |                 if shutdown_receiver.has_changed().map_or(true, |c| c) {
...    |
1269 | |             }
1270 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<std::string::String, anyhow::Error>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_out/reverseswap.rs:402:46
     |
402  |                   let claim_tx_broadcast_res = self
     |  ______________________________________________^
403  | |                     .chain_service
404  | |                     .broadcast_transaction(serialize(&claim_tx))
     | |________________________________________________________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<std::string::String, anyhow::Error>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1216:22
     |
1216 |           tokio::spawn(async move {
     |  ______________________^
1217 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1218 | |             loop {
1219 | |                 if shutdown_receiver.has_changed().map_or(true, |c| c) {
...    |
1269 | |             }
1270 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<models::ReceivePaymentResponse, ReceivePaymentError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_in/swap.rs:408:27
     |
408  |               let invoice = self
     |  ___________________________^
409  | |                 .payment_receiver
410  | |                 .receive_payment(ReceivePaymentRequest {
411  | |                     amount_msat: swap_info.confirmed_sats * 1000,
...    |
417  | |                     cltv: None,
418  | |                 })
     | |__________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<models::ReceivePaymentResponse, ReceivePaymentError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1216:22
     |
1216 |           tokio::spawn(async move {
     |  ______________________^
1217 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1218 | |             loop {
1219 | |                 if shutdown_receiver.has_changed().map_or(true, |c| c) {
...    |
1269 | |             }
1270 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<(), anyhow::Error>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_in/swap.rs:442:9
     |
442  |         self.swapper_api.complete_swap(payreq.clone()).await
     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<(), anyhow::Error>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1216:22
     |
1216 |           tokio::spawn(async move {
     |  ______________________^
1217 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1218 | |             loop {
1219 | |                 if shutdown_receiver.has_changed().map_or(true, |c| c) {
...    |
1269 | |             }
1270 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<Vec<OnchainTx>, anyhow::Error>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_out/reverseswap.rs:295:37
     |
295  |                   let confirmed_txs = self
     |  _____________________________________^
296  | |                     .chain_service
297  | |                     .address_transactions(lockup_addr.to_string())
     | |__________________________________________________________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<Vec<OnchainTx>, anyhow::Error>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1216:22
     |
1216 |           tokio::spawn(async move {
     |  ______________________^
1217 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1218 | |             loop {
1219 | |                 if shutdown_receiver.has_changed().map_or(true, |c| c) {
...    |
1269 | |             }
1270 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<BoltzApiReverseSwapStatus, ReverseSwapError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_out/reverseswap.rs:497:31
     |
497  |                   None => match self
     |  _______________________________^
498  | |                     .reverse_swap_service_api
499  | |                     .get_boltz_status(rsi.id.clone())
     | |_____________________________________________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<BoltzApiReverseSwapStatus, ReverseSwapError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1216:22
     |
1216 |           tokio::spawn(async move {
     |  ______________________^
1217 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1218 | |             loop {
1219 | |                 if shutdown_receiver.has_changed().map_or(true, |c| c) {
...    |
1269 | |             }
1270 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<u32, anyhow::Error>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_out/reverseswap.rs:513:40
     |
513  |                     let block_height = self.chain_service.current_tip().await?;
     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<u32, anyhow::Error>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1315:22
     |
1315 |           tokio::spawn(async move {
     |  ______________________^
1316 | |             let mut current_block: u32 = 0;
1317 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1318 | |             let mut interval = tokio::time::interval(Duration::from_secs(30));
...    |
1343 | |             }
1344 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<u32, anyhow::Error>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1322:33
     |
1322 |                   let tip_res = cloned.chain_service.current_tip().await;
     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<u32, anyhow::Error>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1315:22
     |
1315 |           tokio::spawn(async move {
     |  ______________________^
1316 | |             let mut current_block: u32 = 0;
1317 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1318 | |             let mut interval = tokio::time::interval(Duration::from_secs(30));
...    |
1343 | |             }
1344 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<std::string::String, NodeError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:868:27
     |
868  |         let node_pubkey = self.node_api.start().await?;
     |                           ^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<std::string::String, NodeError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1315:22
     |
1315 |           tokio::spawn(async move {
     |  ______________________^
1316 | |             let mut current_block: u32 = 0;
1317 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1318 | |             let mut interval = tokio::time::interval(Duration::from_secs(30));
...    |
1343 | |             }
1344 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<models::SyncResponse, NodeError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:873:25
     |
873  |           let new_data = &self
     |  _________________________^
874  | |             .node_api
875  | |             .pull_changed(since_timestamp, balance_changed)
     | |___________________________________________________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<models::SyncResponse, NodeError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1315:22
     |
1315 |           tokio::spawn(async move {
     |  ______________________^
1316 | |             let mut current_block: u32 = 0;
1317 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1318 | |             let mut interval = tokio::time::interval(Duration::from_secs(30));
...    |
1343 | |             }
1344 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<Vec<std::string::String>, NodeError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:893:26
     |
893  |             let backup = self.node_api.static_backup().await?;
     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<Vec<std::string::String>, NodeError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1315:22
     |
1315 |           tokio::spawn(async move {
     |  ______________________^
1316 | |             let mut current_block: u32 = 0;
1317 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1318 | |             let mut interval = tokio::time::interval(Duration::from_secs(30));
...    |
1343 | |             }
1344 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<Vec<lsp::LspInformation>, SdkError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:924:20
     |
924  |         let lsps = self.lsp_api.list_lsps(node_pubkey).await?;
     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<Vec<lsp::LspInformation>, SdkError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1315:22
     |
1315 |           tokio::spawn(async move {
     |  ______________________^
1316 | |             let mut current_block: u32 = 0;
1317 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1318 | |             let mut interval = tokio::time::interval(Duration::from_secs(30));
...    |
1343 | |             }
1344 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<(), NodeError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:941:21
     |
941  | /                     self.node_api
942  | |                         .connect_peer(node_id.clone(), address.clone())
     | |_______________________________________________________________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<(), NodeError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1315:22
     |
1315 |           tokio::spawn(async move {
     |  ______________________^
1316 | |             let mut current_block: u32 = 0;
1317 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1318 | |             let mut interval = tokio::time::interval(Duration::from_secs(30));
...    |
1343 | |             }
1344 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<std::string::String, anyhow::Error>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_out/reverseswap.rs:402:46
     |
402  |                   let claim_tx_broadcast_res = self
     |  ______________________________________________^
403  | |                     .chain_service
404  | |                     .broadcast_transaction(serialize(&claim_tx))
     | |________________________________________________________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<std::string::String, anyhow::Error>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1315:22
     |
1315 |           tokio::spawn(async move {
     |  ______________________^
1316 | |             let mut current_block: u32 = 0;
1317 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1318 | |             let mut interval = tokio::time::interval(Duration::from_secs(30));
...    |
1343 | |             }
1344 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<Vec<Outspend>, anyhow::Error>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1435:33
     |
1435 |                   let outspends = self
     |  _________________________________^
1436 | |                     .chain_service
1437 | |                     .transaction_outspends(channel.funding_txid.clone())
     | |________________________________________________________________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<Vec<Outspend>, anyhow::Error>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1315:22
     |
1315 |           tokio::spawn(async move {
     |  ______________________^
1316 | |             let mut current_block: u32 = 0;
1317 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1318 | |             let mut interval = tokio::time::interval(Duration::from_secs(30));
...    |
1343 | |             }
1344 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<models::ReceivePaymentResponse, ReceivePaymentError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_in/swap.rs:408:27
     |
408  |               let invoice = self
     |  ___________________________^
409  | |                 .payment_receiver
410  | |                 .receive_payment(ReceivePaymentRequest {
411  | |                     amount_msat: swap_info.confirmed_sats * 1000,
...    |
417  | |                     cltv: None,
418  | |                 })
     | |__________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<models::ReceivePaymentResponse, ReceivePaymentError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1315:22
     |
1315 |           tokio::spawn(async move {
     |  ______________________^
1316 | |             let mut current_block: u32 = 0;
1317 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1318 | |             let mut interval = tokio::time::interval(Duration::from_secs(30));
...    |
1343 | |             }
1344 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<(), anyhow::Error>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_in/swap.rs:442:9
     |
442  |         self.swapper_api.complete_swap(payreq.clone()).await
     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<(), anyhow::Error>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1315:22
     |
1315 |           tokio::spawn(async move {
     |  ______________________^
1316 | |             let mut current_block: u32 = 0;
1317 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1318 | |             let mut interval = tokio::time::interval(Duration::from_secs(30));
...    |
1343 | |             }
1344 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<Vec<OnchainTx>, anyhow::Error>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_out/reverseswap.rs:295:37
     |
295  |                   let confirmed_txs = self
     |  _____________________________________^
296  | |                     .chain_service
297  | |                     .address_transactions(lockup_addr.to_string())
     | |__________________________________________________________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<Vec<OnchainTx>, anyhow::Error>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1315:22
     |
1315 |           tokio::spawn(async move {
     |  ______________________^
1316 | |             let mut current_block: u32 = 0;
1317 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1318 | |             let mut interval = tokio::time::interval(Duration::from_secs(30));
...    |
1343 | |             }
1344 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<BoltzApiReverseSwapStatus, ReverseSwapError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/swap_out/reverseswap.rs:497:31
     |
497  |                   None => match self
     |  _______________________________^
498  | |                     .reverse_swap_service_api
499  | |                     .get_boltz_status(rsi.id.clone())
     | |_____________________________________________________^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<BoltzApiReverseSwapStatus, ReverseSwapError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1275:22
     |
1275 |           tokio::spawn(async move {
     |  ______________________^
1276 | |             let mut shutdown_receiver = cloned.shutdown_receiver.clone();
1277 | |             loop {
1278 | |                 if shutdown_receiver.has_changed().map_or(true, |c| c) {
...    |
1309 | |             }
1310 | |         });
     | |_________^ future created by async block is not `Send`
     |
     = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<Streaming<gl_client::pb::LogEntry>, NodeError>>`
note: future is not `Send` as it awaits another future which is not `Send`
    --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/breez_services.rs:1281:38
     |
1281 |                 let log_stream_res = cloned.node_api.stream_log_messages().await;
     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<Streaming<gl_client::pb::LogEntry>, NodeError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
    --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
     |
125  |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
     |            ----- required by a bound in this function
126  |     where
127  |         T: Future + Send + 'static,
     |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
   --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/lsps0/transport.rs:84:22
    |
84  |           tokio::spawn(async move {
    |  ______________________^
85  | |             loop {
86  | |                 let mut cancel = cancel.clone();
87  | |                 if cancel.has_changed().map_or(true, |c| c) {
...   |
129 | |             }
130 | |         });
    | |_________^ future created by async block is not `Send`
    |
    = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<Pin<Box<dyn futures::Stream<Item = Result<models::CustomMessage, anyhow::Error>> + std::marker::Send>>, NodeError>>`
note: future is not `Send` as it awaits another future which is not `Send`
   --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/lsps0/transport.rs:92:40
    |
92  |                 let mut stream = match cloned.node.stream_custom_messages().await {
    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<Pin<Box<dyn futures::Stream<Item = Result<models::CustomMessage, anyhow::Error>> + std::marker::Send>>, NodeError>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
   --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
    |
125 |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
    |            ----- required by a bound in this function
126 |     where
127 |         T: Future + Send + 'static,
    |                     ^^^^ required by this bound in `spawn`

error: future cannot be sent between threads safely
   --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/lsps0/transport.rs:84:22
    |
84  |           tokio::spawn(async move {
    |  ______________________^
85  | |             loop {
86  | |                 let mut cancel = cancel.clone();
87  | |                 if cancel.has_changed().map_or(true, |c| c) {
...   |
129 | |             }
130 | |         });
    | |_________^ future created by async block is not `Send`
    |
    = help: the trait `std::marker::Send` is not implemented for `dyn futures::Future<Output = Result<(), lsps0::error::Error>>`
note: future is not `Send` as it awaits another future which is not `Send`
   --> /Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-core/src/lsps0/transport.rs:162:27
    |
162 |                     match tx.send(params).await {
    |                           ^^^^^^^^^^^^^^^ await occurs here on type `Pin<Box<dyn futures::Future<Output = Result<(), lsps0::error::Error>>>>`, which is not `Send`
note: required by a bound in `tokio::spawn`
   --> /Users/rosssavage/.cargo/git/checkouts/tokio-2eb71367495b4da5/2be2588/tokio/src/task/spawn.rs:127:21
    |
125 |     pub fn spawn<T>(future: T) -> JoinHandle<T::Output>
    |            ----- required by a bound in this function
126 |     where
127 |         T: Future + Send + 'static,
    |                     ^^^^ required by this bound in `spawn`

error: could not compile `breez-sdk-core` (lib) due to 35 previous errors
make: *** [build] Error 101
dangeross commented 11 months ago

Current WASIX Progress Patching the following dependencies:

[patch.crates-io]
sct = { git = "https://github.com/dangeross/sct", branch = "v0.7.0" }
h2 = { git = "https://github.com/wasix-org/h2" }
rustls = { git = "https://github.com/dangeross/rustls.git", branch = "v0.21.5" }
rustls-native-certs = { git = "https://github.com/wasix-org/rustls-native-certs.git" }
rustls-webpki = { git ="https://github.com/dangeross/webpki.git", branch = "v0.101.0" }
socket2 = { git = "https://github.com/wasix-org/socket2.git", branch = "v0.4.9" }
reqwest = { git = "https://github.com/dangeross/reqwest.git" }
ring = { git = "https://github.com/dangeross/ring.git", branch = "wasix" }
tokio = { git = "https://github.com/wasix-org/tokio.git", branch = "epoll" }
tokio-rustls = { git = "https://github.com/dangeross/tokio-rustls.git" }
hyper = { git ="https://github.com/wasix-org/hyper.git", branch = "v0.14.27" }
hyper-rustls = { git = "https://github.com/dangeross/hyper-rustls.git", branch = "wasix" }
tonic = { git ="https://github.com/dangeross/tonic.git", branch = "v0.8.3" }

Several libraries are still not building

openssl-sys issue Fixed by installing openssl-wasm32-wasi locally. This is a prebuilt openssl library targeting wasm32-wasi.

git clone --recursive https://github.com/doramatadora/openssl-wasm32-wasi

then build with the following env vars set:

 OPENSSL_NO_VENDOR=1 OPENSSL_DIR=/Users/rosssavage/Source/Projects/openssl-wasm32-wasi/precompiled OPENSSL_STATIC=1 cargo wasix build

secp256k1-sys issue Superceded by libsqlite3-sys issue ~Turn out it was a clang issue, XCode's bundled clang doesn't support wasm targets. Install the correct one with brewbrew.~

brew install llvm

~then build with the following env vars set:~

AR=/usr/local/opt/llvm/bin/llvm-ar CC=/usr/local/opt/llvm/bin/clang

libsqlite3-sys issue This was resolved by installing the wasi-sdk locally, then using this as the clang source and adding the sysroot.

export WASI_VERSION=20
export WASI_VERSION_FULL=${WASI_VERSION}.0
curl -O https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-macos.tar.gz
tar xvf wasi-sdk-${WASI_VERSION_FULL}-macos.tar.gz
mv wasi-sdk-${WASI_VERSION_FULL}-macos wasi-sdk

rustls issue This is due to inconsistent versions that are supported by wasix and tonic. Forked the tonic repo, bumped rustls version and added client feature to support wasm32 targets.

rcgen issue Causes by inconsistent port of ring for wasix. As a result of forking/fixing, several other repos also needed to be forked.

tonic issue Doesn't support compilation to wasm32. Patched a client feature set into tonic based on hyperium/tonic#693. Might have to use tonic-ws-transport to support gRPC tunnelling over WebSocket.

breez-sdk-core issues

Current build command make wasix

WASI_SDK := "/opt/wasi-sdk"
CLANG_LIB_WASI := "$(WASI_SDK)/lib/clang/16/lib/wasi"
WASI_SYSROOT := "$(WASI_SDK)/share/wasi-sysroot"
CC := "$(WASI_SDK)/bin/clang --sysroot=$(WASI_SYSROOT)"
AR := "$(WASI_SDK)/bin/llvm-ar"
CC_WASM32_WASI := "$(WASI_SDK)/bin/clang"
LIBSQLITE3_FLAGS := "-DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_SHARED_CACHE -D_LARGEFILE64_SOURCE"
RUSTFLAGS := "-Clink-arg=-L$(CLANG_LIB_WASI) -Clink-arg=-lclang_rt.builtins-wasm32 -Clink-arg=--export-table -Clink-arg=--export=malloc -Clink-arg=--export=free"
OPENSSL_DIR := "/opt/openssl-wasm32-wasi/precompiled"

init:
    rustup target add wasm32-wasi

wasix:
    clear
    cargo update
    OPENSSL_NO_VENDOR=1 OPENSSL_STATIC=1 OPENSSL_DIR=$(OPENSSL_DIR) CC=$(CC) AR=$(AR) CC_WASM32_WASI=$(CC_WASM32_WASI) LIBSQLITE3_FLAGS=$(LIBSQLITE3_FLAGS) RUSTFLAGS=$(RUSTFLAGS) cargo wasix build

Current Output

   Compiling vls-persist v0.10.0 (https://gitlab.com/cdecker/vls?tag=snapshot-20230920#b8d42d68)
error: linking with `rust-lld` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/x86_64-apple-darwin/bin:/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/x86_64-apple-darwin/bin/self-contained:/Users/rosssavage/.rvm/gems/ruby-3.0.0/bin:/Users/rosssavage/.rvm/gems/ruby-3.0.0@global/bin:/Users/rosssavage/.rvm/rubies/ruby-3.0.0/bin:/usr/local/opt/qt@5/bin:/Users/rosssavage/Developer/Library/flutter/bin:/usr/local/opt/sbt@0.13/bin:/usr/local/Cellar/openjdk@11/11.0.12/libexec/openjdk.jdk/Contents/Home/bin:/Users/rosssavage/.pyenv/shims:/usr/local/opt/go@1.20/libexec/bin:/Users/rosssavage/.go/bin:/Users/rosssavage/.serverless/bin:/Users/rosssavage/.nvm/versions/node/v14.19.0/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/Library/Apple/usr/bin:/Users/rosssavage/.rvm/gems/ruby-3.0.0/bin:/Users/rosssavage/.rvm/gems/ruby-3.0.0@global/bin:/Users/rosssavage/.rvm/rubies/ruby-3.0.0/bin:/usr/local/opt/qt@5/bin:/Users/rosssavage/Developer/Library/flutter/bin:/usr/local/opt/sbt@0.13/bin:/usr/local/opt/go@1.20/libexec/bin:/Users/rosssavage/.go/bin:/Users/rosssavage/.serverless/bin:/Users/rosssavage/.nvm/versions/node/v14.19.0/bin:/Users/rosssavage/.cargo/bin:/Users/rosssavage/Library/Android/sdk/tools:/Users/rosssavage/Library/Android/sdk/platform-tools:/Users/rosssavage/.rvm/bin:/Users/rosssavage/Library/Android/sdk/tools:/Users/rosssavage/Library/Android/sdk/platform-tools" VSLANG="1033" "rust-lld" "-flavor" "wasm" "--rsp-quoting=posix" "--shared-memory" "--max-memory=4294967296" "--import-memory" "--export" "__externref_drop_slice" "--export" "__externref_heap_live_count" "--export" "__externref_table_alloc" "--export" "__externref_table_dealloc" "--export" "__wbindgen_exn_store" "--export" "__wbindgen_free" "--export" "__wbindgen_malloc" "--export" "__wbindgen_realloc" "--export" "rustsecp256k1_v0_6_1_context_create" "--export" "rustsecp256k1_v0_6_1_context_destroy" "--export" "rustsecp256k1_v0_6_1_default_error_callback_fn" "--export" "rustsecp256k1_v0_6_1_default_illegal_callback_fn" "--export" "ring_core_dev_bn_mul_mont" "--export=__heap_base" "--export=__stack_pointer" "--export=__data_end" "-z" "stack-size=1048576" "--stack-first" "--allow-undefined" "--fatal-warnings" "--no-demangle" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.10f3birmhlxzasjz.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.10z1fu6az9hdszr5.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.12crojivr7vf7kup.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.131kd4d70g7p0gpf.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.135bzo6958rz6ofy.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.13eb3qkyki4lyil9.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.14kt5dvawu15o0d7.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.15d9hwoq07qgro0a.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.15m56pdlk81aknfc.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.16t4hacvcs3pqwd3.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.17oodj7g5ymfatzr.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.17usfko6qpxbug75.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1873hqq91ftgzt0i.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.18q8elnl4gf1uj02.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.18qqpv90vljeuok9.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1aa8jj87wtjelydt.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1apxxkbaj9ju9nhf.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1bpn8i29qi12ni9y.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1bvfe5o3cosg4km0.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1bwq80qixeafbf5d.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1c0gohzjx4ods94a.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1c3yzf2fjinx4gi3.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1etp5t2puazcpg0g.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1ey6mkg7sgwc6sru.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1fbmibhh1h87nwy7.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1gg8eyavo8fc050p.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1gknck9uqopowyyo.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1gmiy4rp6jxviu1c.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1h27j9747tjwqway.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1ihieo9uroz1j4sr.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1lriz0i8i7yiwi6n.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1onvqfk2xfe5fq2n.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1otybqvlv5fyqk0c.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1p5e7x653nvfu0et.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1p6lpvcnw6v94d39.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1qhjk1u1yfwqkjvp.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1qkh3dzrxndngj6b.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1r19804nefidptl5.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1rederzyfptb6e9a.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1s26fbcbd4omvq6x.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1s4ygm8wxfk8y6d8.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1skcvdpmclaxdvst.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1tvcqi1yail8dczn.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1txabsl4uo8y0rkj.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1x3mhof18i908m18.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1xqja0nr6aop5wjv.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1xto79yvvhys8w6e.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1y4nopi2qr7hlcau.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1z05dgu79i5qzmuy.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1z0kdmz7xzjkbywj.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1z93z3c7zxg5p4vl.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1zbxkgt0xsle8cso.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.1zg7qo67jislj68h.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.20fqmk4c5oabqhzm.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.23g14zjjulp18wi8.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.23n2us2nhp43d1im.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.23oory5fdsc1uo85.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.264wllfj3g1fmpd2.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.26a1u2um7fjlvgwk.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.26avx0yrgs1byvbf.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.26v5vll6cak8eqy3.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.27bnelc7x3jlenmb.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.28cycqymrointwvv.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.28rcmd6ll112jrhf.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2aecqucthoysalj1.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2au8hvvpsi4f3m5n.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2auhnmuhglq7efwx.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2cqak1abu4pjc0we.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2d9u81sbo7mlrter.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2eeuu5xmi8i8qcd.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2elg02bbulvaer2.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2f7exbvkr3x8mxjf.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2f9ieuvxpovj37e6.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2fxte147i9w4u5un.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2g3r1skh57b3en8b.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2hdb9cjhczr7cz2n.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2hv3z0le1medj87b.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2imyajbvf9hnjxiv.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2isrv7f6vl8y8tgr.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2lqxmsesu007x84k.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2n3nas5k1wtdzkcw.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2n3wuerk4ke9o99v.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2p31xp9hk17gykh7.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2qj98cyykfqe0f50.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2qmv1y3qm7j7pd1j.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2rx0s8hz9oqlwtwy.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2t3k58o2lut2dtas.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2tj3zpzw2no8ngzb.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2tr9m1le5nyvebn1.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2tud6lstj3w4qzka.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2tzdis94gj46x560.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2vy1tdn1ln5zkt69.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2w6ir3hkae77j7rp.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2wd3ql4wz6phxz56.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2woc77hn7lk59xf3.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2xiqty0cuf06pie5.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2xm35gdc5u0pe1qt.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2y2w3lelinz2pbex.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2yh3lulqq32c1amn.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2z2qec5bz1jlfn20.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.2zltye0pq37jy38f.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.30qoj2mgr227is5h.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.30r1sh35y4h1a873.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.30re4jx54wrac3oc.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.31df773ppa8m6b01.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.31yrslizbwodc4dr.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.31zw5p73wcsm87lg.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.329e2oi90gb0v77.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.32aakgoxe6p0x3as.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.34mq6wj90ao9gxbi.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.35m22miqp8sndtlo.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.35v3tldx81xix0xw.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.363l45jcjifdmqjb.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.36eev82ptwu44xqa.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.37kftv88zr73x5o7.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3836obvechhgio8b.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.38hy1cm7md8t1ifk.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.39oyh8b89wqrd0in.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3av3j0nzyz8lvbe8.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3awzxvpok4o6jz5j.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3b2i7ypjsqlp1hri.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3d38qrqybqkujogt.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3difhomjqspi9f4s.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3dv5tt9y4zpm9jo2.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3exjxjhn55m07q24.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3fc53brr67nci388.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3h2sfh7vepjj7oul.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3hcr7xem3e7msf9u.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3ikie8pyp441z22i.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3ip75ljz8nqw4ajd.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3j8jmhxzlxqy4jq6.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3kny2oo8j2qrrxjz.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3lr6sqst70w0xb5f.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3n42x7baj8f4r0gi.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3n5gw4mvpge0eqiq.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3nwwgr1br8ae63n7.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3o78mo7hmrmn7ls7.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3ohrpzc10vea3zek.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3ou33k14c9wbayaq.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3qrdwye1av4kb79w.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3qzsihjg1zlbeivd.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3r39rn7zjgcetgud.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3rxioatdj4aihjxr.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3s4v2x1pfw29235w.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3w1xc3qktrh8huv8.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3w3xzfed0sywtxu3.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3wf8flw9t7yn6nnj.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3xu64vas9trlthfd.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3yrwi2k5afi5bjbb.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3zuvsbl0fu293umb.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.40m2gbc9418ugzd6.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.437733ufgkanastt.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.441am2aru5fbj9v5.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.44xzfzao3fzwy4z0.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.450de3r2cjsw6ut5.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.46hu91zm6q39z0r.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.478klk1ldm4o2q50.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.47j04eesgddu39ho.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.487j4my3vkefekul.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.48oa0i1czdrbpznl.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.48tl29a8ql794x1z.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.49rr0px2uml9e1u3.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4a7ahxq07e8hi1l5.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4aqrhoccomu97mio.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4ax4h9hk51nbtlow.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4bjsdxu7xzmbwkcz.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4cv35dvu4ccww4r9.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4dfaahokoouwgx9n.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4f2nxdkijml56p8t.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4f9vx59mv7bxowbq.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4ft4yshcja1e1ftq.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4gf7asgmij11sw8f.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4izq7898ejg8n3p4.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4jnn5w9e2nklrsll.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4nhw70u8lx01qs1j.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4ozs9z680njlat4o.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4p2gj0eaz9skwd7t.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4pbbpcaeeqwu8b0b.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4ptomjf9wzc11nom.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4qb2rsysgo2konig.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4tg9rud0g4bgf3mb.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4tit67f8r4a0u3zn.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4vwk3nv3ikwz73qa.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4x5d7rp7ix284fnz.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4xicwt0c0yo8jjxh.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4zilf35fj0gc6dp8.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.4zyl4mngyv1e385g.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.50c0ov8s3i217hec.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.50fuoo2au8mrhgse.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.51cab4mjer0t0rj6.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.52ug1iqt4r7gpjvs.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.53p969pl7x2cockd.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.55dhtgbjadgclwe5.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.566v5qcyjzdfxg4l.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.572ugnwf0y117ko0.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.579t7ifw7alye77o.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.57k71h4vfyuemzq3.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.57rkrjf6ojmzyzqm.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.59ihnzrzb14lwy85.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.59qoscclhl9ecohh.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.5a5dpf5npn19djyi.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.5aocwdgu4h2noavi.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.5bhoqodrzn8gsdmv.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.5c70volvifu8a423.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.5cawcdkh0x7125ib.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.5ckkhmt9ywumnz06.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.5clup03jtg7a3nt1.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.5dwvqbb4o9m6e2wr.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.5ehwls2rpal5ciqz.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.5fo9qlou7txnsw9a.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.5fxqdpm2hbo5x7jy.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.5m2ikk5todkh590.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.6esf82zj7hurzqs.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.6gc6qtoa96agdx9.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.6itfksk5z3a0dvb.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.6vd8e5ubsm1d2t7.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.7d41qdyl49wglom.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.8ybujwntwv819gc.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.b05wnxlkrojueot.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.d08cn1e6z08fz5a.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.d1b4s9bcenafgwm.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.dwpnzjj9y7yl299.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.eaa9di3t4u9sfzb.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.em48muxgpkg1oat.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.epqg1c1oh4v36i4.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.exm5vqle0mqjznj.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.gkefkco5k701bks.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.gv73ydqltz9kssg.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.h0cs1zd4dipusya.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.hnrmlxdrk5ggix7.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.j5vb042wc84690j.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.kft4ho0acptqrii.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.lfvmwqtsobwgzkr.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.lrz54uwkc9g7pi8.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.mejmwkycyt5gymi.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.o148r02ilscq8oe.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.o5dpj8tse2xxtjc.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.on0dxnbxo8ao19y.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.oz14mfqsu5crbry.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.pdxqfjqv3frk0px.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.pgm1nxtgdkoqa06.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.qia6sctde46bb4k.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.qsgq3i34wpeds8b.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.rturb9hh44or6ox.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.sojg1ij42fqbrx2.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.uajh6sh74h1rmy8.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.ux7ncwkqfl10v0s.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.vrjof2lg4166ya7.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.w428arixpwi44rq.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.waj28gypb972ynm.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.wvq3dqmgg2riw48.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.x4y1105mh0kdth4.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.yq1xgszczz8kioh.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.yrm6ukz7iplkqh7.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.zhtcumxu26l3r3c.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.zthlqwrjd325363.rcgu.o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.3hx1srdwc98sjikj.rcgu.o" "-L" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps" "-L" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/debug/deps" "-L" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/build/bitcoinconsensus-b1bed90a0a3be9e1/out" "-L" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/build/secp256k1-sys-0f4c340fdcba23e2/out" "-L" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/build/secp256k1-sys-5d08d27480ce7a38/out" "-L" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/build/secp256k1-sys-ed07e03e8f851ef1/out" "-L" "/Users/rosssavage/.cargo/git/checkouts/ring-c5c3bc3c2ef7d8b6/b4d62f7/wasm-libs" "-L" "/Users/rosssavage/.cargo/git/checkouts/ring-c5c3bc3c2ef7d8b6/b4d62f7/wasm-libs" "-L" "/opt/openssl-wasm32-wasi/precompiled/lib" "-L" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/build/libsqlite3-sys-a09f89e7b82a62c2/out" "-L" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libcbc-c35ee58b2a352f98.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libquerystring-f43e3420a65dc5b8.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libstrum-5d8dfa7b715dc563.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libzbase32-bed56ddb8a1f03df.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libenv_logger-ef078ff511759b64.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtermcolor-304d672c62eb227a.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libis_terminal-23afad501d6b1eb8.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhumantime-31ce1c4ca66139d7.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libconst_format-64fa0ac77656ba9a.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/librusqlite_migration-1512d25b3d25d7b6.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/librusqlite-ace737f8dfc09dfc.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libfallible_streaming_iterator-fbf93c01e2827df7.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libfallible_iterator-c7cd24d74db6c45a.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhashlink-d267c017ff61ac69.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhashbrown-a29b61ceb5f694f0.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libahash-0e6428d93e8cf8db.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libzerocopy-c4bf313336fb529a.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liballocator_api2-e7acf1fc46c03276.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liblibsqlite3_sys-6d4db176fa521d51.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libripemd-06e0f50073262f1c.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libserde_with-8c9420152b986912.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libbip21-319a06af5139a671.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libpercent_encoding_rfc3986-8aa4f484708aae24.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libgl_client-c99b201a73b04f50.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/librcgen-2b6e695ac9850593.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libx509_parser-1df41dbb62f312f1.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libdata_encoding-24fcbb89c628f437.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liboid_registry-608cf1d2388d02c9.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libder_parser-9b745d294bd46795.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libnum_bigint-d5487588469996c0.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libnum_integer-e4f7b32131234552.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libasn1_rs-2999f98b239e3cd2.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/librusticata_macros-75c2f67628c5e24a.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libnom-83ec5a990c8f510d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libpem-158ad64eade1cc39.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libyasna-52d6bf51b3f6ce9a.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libvls_persist-d09a3a460dddf30a.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libuuid-dba8bee2c110fcbd.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtime-45365335b9cd37a4.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtime_core-ba30b087f87a4fd7.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libderanged-f94e772d2879c6e5.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libpowerfmt-c08500fecb1e81c2.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libchacha20poly1305-76a470e800de061e.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libchacha20-89972ca32ca16ced.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libpoly1305-36cb6ea04efc8efa.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libsha256-c2ed052ca6600e47.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liblightning_invoice-1f99d36d55267848.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liblightning-f7be69f3b4148b36.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libreqwest-bd8aae703e2e3f91.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhyper_rustls-8f4dcea39cbb0f6b.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/librustls_native_certs-ed4274b521a6b36b.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhyper_tls-6960529bc9e374f5.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libserde_urlencoded-9381a3d7483eccca.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libipnet-9942a51f2c9c8b14.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtokio_native_tls-961a5b6e88c2328d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libencoding_rs-0fc764eb0cbbf279.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libnative_tls-cec6dcdd5cc071fe.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libopenssl_probe-b03fb4bbcefb4414.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libopenssl-0612d6d03e07cb2d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libforeign_types-d2db2ed39ce081e8.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libforeign_types_shared-f9d90cd25e22c831.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libopenssl_sys-f47a01a66c351b64.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liburl-7048ded20acfdb9a.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libidna-9cd4a81ffaf47637.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libunicode_bidi-83efc81d1702d4b6.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libform_urlencoded-4eae6a98f5fbccdb.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libmockall-2c28688d96d99324.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libpredicates_tree-2752bdb3ce7e982a.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtermtree-45c843f3b18ccd65.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libpredicates-006374939f16529e.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libdifflib-ba3844b9809a8c39.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libnormalize_line_endings-9206a964aee4c9b9.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libfloat_cmp-2a3c12a5a2783349.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libpredicates_core-83df843143c91991.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libfragile-844e4ad935b186c4.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libdowncast-1ea4f7231c9a6d57.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libvls_protocol_signer-a4c537b977f126a9.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libbit_vec-5ca97909b03d489e.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libvls_protocol-28f3cbcf0a495ad3.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libas_any-7e1a05bfd6add64b.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libcln_grpc-fd678d9eb831ac5f.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liblightning_signer-4ad619127981684c.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhashbrown-9aa33216334059e5.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libahash-a4c84853de10edc0.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libitertools-f1f41ebab0f2e0d7.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libeither-f798291e928e0dfd.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libbacktrace-232dabe425578717.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/librustc_demangle-18794734ec3fc14c.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libserde_with-fd28bca7f0a40827.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libpush_decoder-c066327eed222580.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtxoo-ce84650808f4569f.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libserde_bolt-742bfef37892946c.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libchunked_buffer-26dd3cc263d61391.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liblightning_invoice-caa8a51a2f1d7dcc.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liblightning-8925bae371ad1b8f.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libregex-d53264c3b178ac09.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libregex_automata-7a9012579689b0bf.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libaho_corasick-7e78b59f535c9321.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libregex_syntax-9b1951fa7d1c4e9b.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhex-c4f5b81666c7b774.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtonic-82fb028763524a0d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libwebpki_roots-37d11698fc8be318.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libwebpki-615084909e801889.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libaxum-d5269e0de8d1d50d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libmatchit-57bdd3b4992f58cd.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libbitflags-013e3410903520cd.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libsync_wrapper-fc54d9ba4df44e73.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libaxum_core-e4c5bf4ee64ac692.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libmime-704c968b41dd0a63.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libwasm_bindgen_futures-c7ed1f350155b7ed.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhyper_timeout-74d7f102b50b7c42.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtokio_io_timeout-45c9fa12527ce372.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libbase64-18d81ebe31078895.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libasync_stream-fcc1e5744b41c32b.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libpercent_encoding-6aabcb95bd2825ce.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/librustls_native_certs-373bdafcb7223217.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/librustls_pemfile-c8b4a69a81514111.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libbase64-5d5f502284d53409.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtokio_stream-f45d4e60e3d1e586.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtokio_rustls-3c9eb1d2cf8504a3.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/librustls-9ed3003d5ce50e34.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libsct-5919f923a510c18a.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libwebpki-269cdfd1e6202baa.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libring-9b820a9440537f3d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libuntrusted-7a0a6782a098c32c.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhyper-5139101322e73e10.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libwant-bb326b601f30750d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtry_lock-234fa6b04a13a33d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhttparse-53fe12c3f5aa62d0.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libh2-31de15b9b58725a9.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtokio_util-4ebde3a1bca7019d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhttpdate-fd4fde1ab2e35c54.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtower-ef14a3056cb6d92d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libindexmap-aa82fb271f9668d0.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhashbrown-92e12965bdac0433.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtokio_util-2b1edc4b15f49814.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtower_layer-d57511648bf0b06d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libprost-4f53367abea78185.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libpin_project-196d6557de2d5cec.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtracing-9786b0947b85d802.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtracing_core-66df92e6d6c7fe7f.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtower_service-d42557ab017e027b.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhttp_body-74ef515d31ec9813.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhttp-12c9672a1375bd2c.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libfnv-d35030e12c649fec.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libfutures-bf997c79e68468ef.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libfutures_executor-c203e94b14c4b8a6.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libfutures_util-4a96889960ea02ff.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libfutures_io-e80d8e32c71340af.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libslab-fdc33401804015f9.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libfutures_channel-7f8ccc528e3cbb23.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libfutures_sink-3f734b050583ce18.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libfutures_task-12ab5eb62015aa36.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libpin_utils-c2d71a99737ead00.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libfutures_core-33de785eba83d223.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libbitcoin-5e5484f7b772e4e1.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libbitcoinconsensus-6cccfc77e722d0c0.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libbech32-84fc46c4d046514c.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libsecp256k1-137b56ba2615d0d6.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libsecp256k1_sys-044e787bd0bd12fe.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libbitcoin_hashes-c17973d28237d00a.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libbip39-e84aa653a30a54a4.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libpbkdf2-d16943312c2d053d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libunicode_normalization-cfa848395b4ee7a2.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtinyvec-8bc4dfc09c688389.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtinyvec_macros-bc962c1a869140eb.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/librustc_hash-14eb18f51759e3ee.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libthiserror-2eaeb522864f77ff.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtokio-febe3b0b9379bcb8.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libnum_cpus-6eff5e62a2c2c8bf.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libsocket2-e87ccba6da40aa7c.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libmemchr-b771d0dfa861388e.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libbytes-03809780956323f5.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libmio-eb3795ab1aa8b5e2.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liblibc-d77147ed1758c2ab.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libwasix-a9834d3fb1769909.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libpin_project_lite-65f8118fed69d8a9.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libparking_lot-31955defcdbc5411.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libparking_lot_core-88d82146500164b5.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liblock_api-48d844b1b72919f5.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtempfile-acdead4894cecd96.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libfastrand-b4bc107d38942fa0.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/librustix-f7274c212a8a0b9c.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libbitflags-59f769fcefd1907b.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liberrno-81d35b4a0bf50268.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liblibc-28f720478fd06a4a.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libminiz_oxide-c8bcd0b5a28e6861.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libadler-ab7d4d2eff996cbe.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libecies-8940403df0bb99bd.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libsha2-3c71d15ea7590980.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhkdf-aee170bf83929c83.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libhmac-da51f397c5efb7eb.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libdigest-1c5ec8e8d4a1d376.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libblock_buffer-720c45bb048ca09d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libaes_gcm-e75fe7aa6b488d7f.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libctr-edc6ad0a8571c0e2.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libghash-b7037cd131a712c3.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libpolyval-dda308a563bd8b13.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libopaque_debug-af9d093342043ead.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libuniversal_hash-02753c29ad537d57.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libaes-9869307120b2ff85.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libcipher-4dc4b9a1c71fde6b.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libzeroize-3daa18052421f184.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libinout-e808d334018b01da.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libblock_padding-34bbbf31bc9efee2.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libaead-289cabf6cea900d2.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libcrypto_common-24cb6185642f471d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libparking_lot-c02b66fd78de4cbd.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libparking_lot_core-80383ca27bc4fd78.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libsmallvec-ffb786bb527e821a.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liblock_api-1ab6ba446d6cf062.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libscopeguard-71fe2d875e583e18.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libonce_cell-5eae8aa179c53bc8.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liblibsecp256k1-9003946a4f1cc313.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/librand-9fd04dd57ddbe442.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/librand_chacha-5b6f2aa7b58ed707.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libppv_lite86-b1d4db3117e68be4.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/librand_core-1e62cf38cf912c36.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libgetrandom-379e354d95fb05be.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libwasi-8843244f88408bad.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libarrayref-de765983d23c7535.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liblibsecp256k1_core-2216a9f4a90b982a.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libcrunchy-5e7ff87406bfc018.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libsubtle-6f928086adaf9779.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libdigest-92df1fda2ca2ba2e.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libgeneric_array-0cf17a10efc5b84b.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libtypenum-f45a6c7e4feb60a7.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libflutter_rust_bridge-6888dee50bbfec9e.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libconsole_error_panic_hook-bc493b290bce4b29.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libbytemuck-04090401520cfe6e.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liblazy_static-bab3509857e31452.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libchrono-5da1ddb7e46c046e.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libnum_traits-6baea63ca0bde66d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libanyhow-e1c5b9f80229d0d8.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libweb_sys-a50790c99e3c6241.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libjs_sys-803f9b96309129fc.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libwasm_bindgen-d1cd2afa81d75a0a.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libcfg_if-7eea5601461b4136.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libserde_json-595438034f76a6f7.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libryu-ad32b439536f71a9.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libitoa-7fd1dfe903a8776d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/libserde-f62bf14ea68e288d.rlib" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liblog-83ca58d8bd0b0325.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libstd-6bd0dbc0c544c638.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libpanic_abort-437217e130fc656b.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libwasix-5df0defe3d6d1296.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libwasi-7488d6b38f06cece.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/librustc_demangle-1a8309890de8e974.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libstd_detect-0a2b791421df69a6.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libhashbrown-0a935690cd6d61e2.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/librustc_std_workspace_alloc-432bfac31f385408.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libminiz_oxide-b495a4c14ccc9d12.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libadler-6328190c36ea5a78.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libunwind-7b23a4fc34c0f7e8.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libcfg_if-d935929c28c3b51c.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/liblibc-9ad6c82cc48be597.rlib" "-l" "c" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/liballoc-de5bc4298ac31659.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/librustc_std_workspace_core-657691caa1ffd3bf.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libcore-7dc28e987eb361e1.rlib" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libcompiler_builtins-7baa57537a698707.rlib" "-l" "stdc++" "-L" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib" "-L" "/Users/rosssavage/Library/Application Support/cargo-wasix/toolchains/x86_64-apple-darwin_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/self-contained" "-o" "/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/breez_sdk_core.wasm" "--gc-sections" "--no-entry" "-O0" "-L/opt/wasi-sdk/lib/clang/16/lib/wasi" "-lclang_rt.builtins-wasm32" "--export-table" "--export=malloc" "--export=free"
  = note: rust-lld: error: unable to find library -lstdc++

error: could not compile `breez-sdk-core` (lib) due to 1 previous error
make: *** [build] Error 101
dangeross commented 10 months ago

I setup a Github CI job running on ubuntu-22.04 to build WASIX to see if the build issues were related to my local environment. It seems to be failing with the same error. Next option is to track down which dependency is pulling in stdc++

Compiling strum v0.25.0
error: linking with `rust-lld` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/opt/hostedtoolcache/protoc/v23.4/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" VSLANG="1033" "rust-lld" "-flavor" "wasm" "--rsp-quoting=posix" "--shared-memory" "--max-memory=4294967296" "--import-memory" "--export" "__externref_drop_slice" "--export" "__externref_heap_live_count" "--export" "__externref_table_alloc" "--export" "__externref_table_dealloc" "--export" "__wbindgen_exn_store" "--export" "__wbindgen_free" "--export" "__wbindgen_malloc" "--export" "__wbindgen_realloc" "--export" "rustsecp256k1_v0_6_1_context_create" "--export" "rustsecp256k1_v0_6_1_context_destroy" "--export" "rustsecp256k1_v0_6_1_default_error_callback_fn" "--export" "rustsecp256k1_v0_6_1_default_illegal_callback_fn" "--export" "ring_core_dev_bn_mul_mont" "--export=__heap_base" "--export=__stack_pointer" "--export=__data_end" "-z" "stack-size=1048576" "--stack-first" "--allow-undefined" "--fatal-warnings" "--no-demangle" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.00.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.01.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.02.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.03.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.04.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.05.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.06.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.07.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.08.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.09.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.10.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.11.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.12.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.13.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.14.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.breez_sdk_core.e64eb18d93dfbaa2-cgu.15.rcgu.o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.1jy547jzg1yptxao.rcgu.o" "-L" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps" "-L" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/release/deps" "-L" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/build/bitcoinconsensus-7c6779e183f3a93e/out" "-L" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/build/secp256k1-sys-a879081fefad546b/out" "-L" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/build/secp256k1-sys-ebebdd9af33bb4d1/out" "-L" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/build/secp256k1-sys-bfc4fb77d6c24f4c/out" "-L" "/home/runner/.cargo/git/checkouts/ring-c5c3bc3c2ef7d8b6/b4d62f7/wasm-libs" "-L" "/home/runner/.cargo/git/checkouts/ring-c5c3bc3c2ef7d8b6/b4d62f7/wasm-libs" "-L" "/opt/openssl-wasm32-wasi/precompiled/lib" "-L" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/build/libsqlite3-sys-12f3399936d21c13/out" "-L" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libcbc-9d769296a65d935a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libquerystring-0290000366fc15be.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libstrum-9f8a7bdbb4e741a3.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libzbase32-e61bd4816ba53f83.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libenv_logger-d0691aa908ad6cec.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtermcolor-f3d243d2204201c3.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libis_terminal-6000af09fb136be6.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhumantime-3c3ebd86d3a29a46.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libconst_format-2f2557e065588e34.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/librusqlite_migration-092ff3148bce7317.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/librusqlite-02811c0765e2fb40.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libfallible_streaming_iterator-f88c4ce4d2010945.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libfallible_iterator-3d4e6715b89b2f1c.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhashlink-2db664eae4a57145.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhashbrown-b78410d9661e05ac.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libahash-19f7b2fcb71dd53c.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libzerocopy-7d9c4e1302dd516d.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liballocator_api2-0d365f0[611](https://github.com/breez/breez-sdk/actions/runs/7395080743/job/20117569553#step:9:612)f809af.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liblibsqlite3_sys-c535e7b57cb904f8.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libripemd-60ef88f47aa1581a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libserde_with-c1246a18a57c589a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libbip21-00ae1439f8e1ba8f.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libpercent_encoding_rfc3986-027d6ecec184ec1b.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libgl_client-86cf6bee5837d327.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/librcgen-234ba701f77a4bbc.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libx509_parser-e20f1b8abab23838.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libdata_encoding-0bd757581e032ebd.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liboid_registry-daf8b8230d3d74fa.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libder_parser-a1169dee4da6da8c.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libnum_bigint-3e3e692cf6339c1b.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libnum_integer-8e3738db8f383511.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libasn1_rs-08ed31b5abb12422.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/librusticata_macros-72ba062e73eea59d.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libnom-942d8dbeeb84afbc.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libpem-911be59e73c4f031.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libyasna-76c2a8a3797f706b.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libvls_persist-b034da7233c35871.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libuuid-904fe1e23b3d1cb6.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtime-e62e52dde7e0cd1d.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtime_core-95e03d3e28677f99.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libderanged-1934b51fdd574af6.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libpowerfmt-6658fd7b4ca3e741.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libchacha20poly1305-5967f56bc0e2c973.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libchacha20-60d00384df4709a6.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libpoly1305-de80faf4d23a06f7.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libsha256-17c7bd048777b32e.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liblightning_invoice-4efceb07ad0cf92a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liblightning-697dd6d294cc84ee.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libreqwest-942d63d0df5aa2cb.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhyper_rustls-ab4eb383603e3727.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/librustls_native_certs-70d0cae972b41d1a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhyper_tls-035a715a25c284c1.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libserde_urlencoded-e54aaed991c6044c.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libipnet-527d1ce16641cbdd.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtokio_native_tls-8c5aa95390eab197.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libencoding_rs-a88358cb7f790eec.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libnative_tls-9886eb743921e4e1.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libopenssl_probe-fc762468e7e89aca.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libopenssl-cd5087c1a22908ee.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libforeign_types-32997ce2372d071d.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libforeign_types_shared-fee6b1c89ee92778.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libopenssl_sys-767f7ce122951b02.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liburl-9909887f78e41a1a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libidna-8b9c0072cf0ad866.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libunicode_bidi-eace228f5a2340a3.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libform_urlencoded-88b79ac4d30d2936.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libmockall-51b5684d847c7e03.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libpredicates_tree-0ef827e6731dd3df.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtermtree-28a295faa1729f3c.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libpredicates-43f45d316db37e84.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libdifflib-524f6ab972264793.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libnormalize_line_endings-c9071a028085d4a5.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libfloat_cmp-586cdc5b40e48b81.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libpredicates_core-c13dbf9d8f232a07.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libfragile-a8ffd6791c4e1fb0.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libdowncast-7e9b62fa82162b9e.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libvls_protocol_signer-9e5d0c178b10d54d.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libbit_vec-4edf81cfeaf33661.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libvls_protocol-68d4e073f0601e15.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libas_any-7ff4bc685a73dbfb.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libcln_grpc-a73e7855446786f3.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liblightning_signer-4d1391abc96a003b.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhashbrown-c702b3cbd9ec55c4.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libahash-bd013b85011433ec.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libitertools-f0aa2753eb4fc7ab.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libeither-021c131f521d5ac0.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libserde_with-6d5e1c791bf33cc5.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libpush_decoder-3cc88dc9124c96ec.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtxoo-4d62c82d0d4033e7.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libserde_bolt-36939aac21f24b89.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libchunked_buffer-4cc06c5d1fc236d4.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liblightning_invoice-462af1f31cc4740d.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liblightning-e0899db1ef51b639.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libregex-666b1a403a65c8e2.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libregex_automata-9ba55a16d5cb343e.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libaho_corasick-77638e387bf3d39e.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libregex_syntax-474d8002464b348a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhex-8e3c598fd069ab9e.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtonic-7260347dbc3536b4.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libwebpki_roots-1dc0f4109d3b56bc.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libwebpki-226b74f1fcd54a55.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libaxum-35fe2d786c8d295e.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libmatchit-305f8d1db4f2dd73.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libbitflags-b4fc39e1f8ec729f.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libsync_wrapper-14030c719f704d8b.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libaxum_core-6e3624ae868c7378.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libmime-c6e689dd5b9caa3c.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libwasm_bindgen_futures-9b6326825aed4396.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhyper_timeout-e300d3c35fd56c43.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtokio_io_timeout-5f9fef9c235ae53f.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libbase64-aaea68bbe6c70700.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libasync_stream-18d28123d99464c0.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libpercent_encoding-e7537f56bf855edb.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/librustls_native_certs-c0b4c89d9f9d6b3b.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/librustls_pemfile-cf9745d3197e3e44.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libbase64-6c455b5475781504.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtokio_stream-6e2eccf5829b9933.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtokio_rustls-cdb0ea21f6dafa09.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/librustls-85d1208bf4ee157a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libsct-5bd1d67a4d06a087.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libwebpki-c3860ca9f4c4d0c9.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libring-f69ddff83232cfef.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libuntrusted-dd20299d3014ade0.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhyper-7602f46bca595147.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libwant-38557534954521ed.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtry_lock-77209ac9bb6c7d4b.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhttparse-26372d3777f590a6.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libh2-66651899491f0b01.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtokio_util-032a2676ec482441.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhttpdate-5214baf8e0ebf813.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtower-ece03d9b609ca929.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libindexmap-fbdda66f5871096e.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhashbrown-ff2c7aadcff6c58e.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtokio_util-de53e6f4ffd938b6.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtower_layer-0a72bb60[614](https://github.com/breez/breez-sdk/actions/runs/7395080743/job/20117569553#step:9:615)166bb.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libprost-d89225ab99da3b1d.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libpin_project-c0baa6dbeb01867a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtracing-93512f5d7117f10e.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtracing_core-8b78ecf4fb099b50.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtower_service-415c0de1b7d94f92.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhttp_body-b7dbd24e9adfa34f.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhttp-2d3f5f0c92952f67.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libfnv-82311f23abbe2d83.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libfutures-4054d27dcdb4ad3a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libfutures_executor-572ba3927691f7d2.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libfutures_util-8714e9aa06722778.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libfutures_io-9c147b25ce29b92c.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libslab-ebfe553638e0ff10.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libfutures_channel-c8dcf9cafce1c28d.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libfutures_sink-2eba3f4b91e4561d.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libfutures_task-ef533fa1b397d88d.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libpin_utils-cb9e63ec0a116d8f.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libfutures_core-3b4af321abf171bf.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libbitcoin-2d22657f800a0816.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libbitcoinconsensus-b680ef3e39488411.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libbech32-def54c7d333949b3.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libsecp256k1-95deb0d50c834ac9.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libsecp256k1_sys-efc30b096ea047e4.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libbitcoin_hashes-4ce59229a8b131e4.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libbip39-f46b64256623df6b.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libpbkdf2-6c46078cfbb565db.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libunicode_normalization-f965f85c4e00191a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtinyvec-57983cbdb6c98c6d.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtinyvec_macros-5b6b2de1604a6d7a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/librustc_hash-add245830d076e5d.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libthiserror-07cb78c1fc072d41.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtokio-6f8fa8a807e9e49c.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libnum_cpus-5b2d904fa7e04ca0.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libsocket2-0a70a1ab044aa57c.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libmemchr-c622b42cde036077.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libbytes-e454e3785d382a6b.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libmio-d2364805ff115ca3.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liblibc-1727ae5a99e62b33.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libwasix-b7145acd450e2b7e.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libpin_project_lite-39276191a603dd36.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libparking_lot-f1d804ee54c41e59.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libparking_lot_core-17ece1594243845a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liblock_api-8b8be47399dc618a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtempfile-a14a94a26752e8ba.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libfastrand-8a748605c04a8b82.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/librustix-91ec30f189ce6145.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libbitflags-e666d2fb4c529a4c.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liberrno-0ec30fbdc5b1e181.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liblibc-dc0ae5f64ee8d606.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libminiz_oxide-f43ac54e8bc9981e.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libadler-0525a7f6c07078a8.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libecies-5075316678c1bc78.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libsha2-ef73cb861fadb099.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhkdf-97f6875896e71189.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libhmac-872d42bffeb27063.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libdigest-1ebe86cddef1fa1c.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libblock_buffer-5bfde564e9ca491e.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libaes_gcm-700c82913cc10059.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libctr-0c5a3df16fc1e681.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libghash-02a1f42a3b275d9b.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libpolyval-4e3f26f23e149447.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libopaque_debug-6560c0efac875d4e.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libuniversal_hash-7829d60d1a7faf35.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libaes-6210f37d19790891.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libcipher-d8c16a67ee40e99c.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libzeroize-c74522644d1e8762.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libinout-0a6d7ce43178d3b1.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libblock_padding-16b25e334f7c9fe7.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libaead-f046081f8b83870d.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libcrypto_common-ec5a561c91eeb445.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libparking_lot-2fc989a2171f4b3c.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libparking_lot_core-02f4adce63d1ff7a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libsmallvec-41221688c1912ee7.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liblock_api-d069cda8fd703d08.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libscopeguard-74f7a8c6e8c93795.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libonce_cell-3f49c84a7c307bc1.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liblibsecp256k1-f0a08cdd1f0af90e.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/librand-172e45e72e7a4810.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/librand_chacha-5206c75e4cf168e9.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libppv_lite86-1089cbabfedd1587.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/librand_core-a4407d56b80252fa.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libgetrandom-3d7bafd76426ef34.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libwasi-da5cd0e86b676700.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libarrayref-4f71b11eb70c3177.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liblibsecp256k1_core-de252c20dea0133b.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libcrunchy-030908e0fd042e4a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libsubtle-75ad6ee95a9517f4.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libdigest-d4195dd5c8be04bd.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libgeneric_array-a5e657c5212a0f5a.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libtypenum-9546f8f2696d21e4.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libflutter_rust_bridge-2b4fc1066df75441.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libconsole_error_panic_hook-a7412be926593cda.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libbytemuck-2f99e0c05773d468.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libbacktrace-e430aeeef1714998.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/librustc_demangle-fadcf9240c8b1d04.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libanyhow-2facf3010c41b739.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liblazy_static-c903297f811754e0.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libchrono-2b64fc9233105f2d.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libnum_traits-668f4c56f2e7ed6f.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libweb_sys-bb3a84a44b70b857.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libjs_sys-f5b70bf4d2654567.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libwasm_bindgen-e12dacc2565a1098.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libcfg_if-e0018895ec73b055.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libserde_json-a95c466d10b789fc.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libryu-3a812ce8081124bf.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libitoa-74e2deddbb8547b3.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/libserde-457df15bd3fdddf9.rlib" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/liblog-7559df86981ebda6.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libstd-1f9b8a353943fa1f.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libpanic_abort-75ef988286fae556.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libwasix-83017c469cbe4bce.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libwasi-3932ef20f3c22035.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/librustc_demangle-4c2e2d5f0cac8d83.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libstd_detect-ab5d0b071386356a.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libhashbrown-72a218bfb3f5d26d.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/librustc_std_workspace_alloc-967d3913d48094c7.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libminiz_oxide-c7ec5a5d3813a0cb.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libadler-0735e3e742d5a7d4.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libunwind-701d1bbba4b62129.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libcfg_if-3647ddb56973ce5c.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/liblibc-7ba26942107558ba.rlib" "-l" "c" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/liballoc-f8801a58b3ae91c0.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/librustc_std_workspace_core-283e125518309211.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libcore-14b5c853e50f3313.rlib" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/libcompiler_builtins-c9fe86c5a73e25cb.rlib" "-l" "stdc++" "-L" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib" "-L" "/home/runner/.local/share/cargo-wasix/toolchains/x86_64-unknown-linux-gnu_v2023-11-01.1/rust/lib/rustlib/wasm32-wasmer-wasi/lib/self-contained" "-o" "/home/runner/work/breez-sdk/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.wasm" "--gc-sections" "--no-entry" "-O3"
  = note: rust-lld: error: unable to find library -lstdc++

error: could not compile `breez-sdk-core` (lib) due to previous error
Error: Process completed with exit code 101.
ok300 commented 10 months ago

Maybe related? https://github.com/WebAssembly/wasi-sdk/issues/276

dangeross commented 10 months ago

Maybe time to start having features. Maybe "std" / "no-std" features to select dependency features correctly.

     Running `/Users/rosssavage/.rustup/toolchains/wasix/bin/rustc --crate-name bitcoinconsensus --edition=2018 
/Users/rosssavage/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bitcoinconsensus-0.20.2-0.5.0/src/lib.rs --error-
format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=159 --crate-type lib --
emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="std"' -C 
metadata=6753706781a5c611 -C extra-filename=-6753706781a5c611 --out-dir /Users/rosssavage/Source/Projects/breez-
sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps --target wasm32-wasmer-wasi -L 
dependency=/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps -L 
dependency=/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/debug/deps --extern 
libc=/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-wasi/debug/deps/liblibc-
a5e5a7183fa6d2f7.rmeta --cap-lints allow -Clink-arg=-L/opt/wasi-sdk/lib/clang/16/lib/wasi -Clink-arg=-lclang_rt.builtins-
wasm32 -Clink-arg=--export-table -Clink-arg=--export=malloc -Clink-arg=--export=free -L 
native=/Users/rosssavage/Source/Projects/breez-sdk/libs/sdk-wasm/target/wasm32-wasmer-
wasi/debug/build/bitcoinconsensus-dd3c4aa28fb3ba49/out -l static=bitcoinconsensus -l stdc++`
dangeross commented 10 months ago

Seems that no matter if you build for release or dev, the dev-dependencies are compiled. This was causing the above error, where the bitcoinconsensus dev-dependency is being compiled and failing because of linking stdc++

To fix this I've forked the rust-bitcoinconsensus dependency and updated the build config to use the WASI-SDK compiler and link in the wasi-sysroot for stdc++

    let target_os = env::var("CARGO_CFG_TARGET_OS").expect("CARGO_CFG_TARGET_OS");
    let target_feature = env::var("CARGO_CFG_TARGET_FEATURE");
    if target_os.starts_with("wasi") {
        let wasi_sdk = env::var("WASI_SDK").unwrap_or_else(|_| "/opt/wasi-sdk".to_owned());
        assert!(std::path::Path::new(&wasi_sdk).exists(), "WASI SDK not found at {}", wasi_sdk);
        base_config
            .std("c++17")
            .compiler(format!("{wasi_sdk}/bin/clang++"))
            //.flag("-fno-exceptions")
            .cpp_set_stdlib("c++");
        let wasi_sysroot_lib = match target_feature {
            Ok(target_feature) if target_feature.contains("atomics") => {
                "wasm32-wasi-threads"
            }
            _ => "wasm32-wasi",
        };
        println!("cargo:rustc-link-search={wasi_sdk}/share/wasi-sysroot/lib/{wasi_sysroot_lib}");
        println!("cargo:rustc-link-lib=c++abi");
    } else {
        let tool = base_config.get_compiler();
        if tool.is_like_msvc() {
            base_config.flag("/std:c++14").flag("/wd4100");
        } else if tool.is_like_clang() || tool.is_like_gnu() {
            base_config.flag("-std=c++11").flag("-Wno-unused-parameter");
        }
    }
dangeross commented 10 months ago

Next error is related to rusqlite

  = note: rust-lld: error: --shared-memory is disallowed by sqlite3.o because it was not compiled with 'atomics' or 'bulk-memory' features.

error: could not compile `breez-sdk-core` (lib) due to 1 previous error

Maybe not the best solution, but I read to add -Clink-arg=--no-check-features to avoid this https://stackoverflow.com/questions/70180309/how-to-link-wasi-libc-with-shared-memory-flag

dangeross commented 10 months ago
    Finished release [optimized] target(s) in 2m 33s
info: Post-processing WebAssembly files
  Processing /Users/rosssavage/Source/Projects/breez-sdk-review/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.rustc.wasm
  Optimizing with wasm-opt
     Running "/Users/rosssavage/Library/Caches/cargo-wasix/0.1.23/wasm-opt/bin/wasm-opt" "/Users/rosssavage/Source/Projects/breez-sdk-review/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/.tmpFoD01q/input.wasm" "-O3" "-o" "/Users/rosssavage/Source/Projects/breez-sdk-review/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/deps/breez_sdk_core.wasi.wasm" "--enable-bulk-memory" "--enable-threads" "--enable-reference-types" "--no-validation" "--asyncify" "--debuginfo"
  Processing /Users/rosssavage/Source/Projects/breez-sdk-review/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/breez_sdk_wasm.rustc.wasm
  Optimizing with wasm-opt
     Running "/Users/rosssavage/Library/Caches/cargo-wasix/0.1.23/wasm-opt/bin/wasm-opt" "/Users/rosssavage/Source/Projects/breez-sdk-review/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/.tmp5JIvw0/input.wasm" "-O3" "-o" "/Users/rosssavage/Source/Projects/breez-sdk-review/libs/sdk-wasm/target/wasm32-wasmer-wasi/release/breez_sdk_wasm.wasi.wasm" "--enable-bulk-memory" "--enable-threads" "--enable-reference-types" "--no-validation" "--asyncify" "--debuginfo"

😮

rosssavage@Reykjavik sdk-wasm % ls target/wasm32-wasmer-wasi/release/
breez_sdk_wasm.d                breez_sdk_wasm.wasi.wasm        build                           examples                        libbreez_sdk_wasm.d
breez_sdk_wasm.rustc.wasm       breez_sdk_wasm.wasm             deps                            incremental                     libbreez_sdk_wasm.rlib
dangeross commented 9 months ago

We were having issues compiling WASM using a WAI (WebAssembly Interface) to expose an ABI exporting (and importing) SDK functions usable in javascript. This is because the WAI-bindgen is written for WASI, a single-threaded (non-atomic) architecture. I started to explore making changes to the cargo-wasix subcommand used to build WASIX, but even through I was removing the atomics feature flags, the WASIX (wasmXX-wasmer-wasi) rust toolchain is written in such a way to only compile in multi-threaded/atomic mode. I then started working on the WASIX fork of Rust to change the toolchain so that WASIX can be compiled single-threaded/non-atomic.

Using these forks of rust and cargo-wasix to change the wasmXX-wasmer-wasi toolchain I was able to produce a wasm file with a simple interface for mnemonic_to_seed:

Type: wasm
Size: 738.8 KB
Imports:
  Functions:
    "wasix_32v1"."getcwd": [I32, I32] -> [I32]
    "wasi_snapshot_preview1"."fd_write": [I32, I32, I32, I32] -> [I32]
    "wasi_snapshot_preview1"."environ_get": [I32, I32] -> [I32]
    "wasi_snapshot_preview1"."environ_sizes_get": [I32, I32] -> [I32]
    "wasi_snapshot_preview1"."fd_close": [I32] -> [I32]
    "wasi_snapshot_preview1"."fd_seek": [I32, I64, I32, I32] -> [I32]
    "wasi_snapshot_preview1"."proc_exit": [I32] -> []
  Memories:
  Tables:
  Globals:
Exports:
  Functions:
    "mnemonic-to-seed": [I32, I32] -> [I32]
    "ring_core_dev_bn_mul_mont": [I32, I32, I32, I32, I32, I32] -> []
    "rustsecp256k1_v0_6_1_context_create": [I32] -> [I32]
    "rustsecp256k1_v0_6_1_context_destroy": [I32] -> []
    "rustsecp256k1_v0_6_1_default_illegal_callback_fn": [I32, I32] -> []
    "rustsecp256k1_v0_6_1_default_error_callback_fn": [I32, I32] -> []
    "__externref_table_alloc": [] -> [I32]
    "__externref_table_dealloc": [I32] -> []
    "__externref_drop_slice": [I32, I32] -> []
    "__externref_heap_live_count": [] -> [I32]
    "__wbindgen_exn_store": [I32] -> []
    "__wbindgen_malloc": [I32, I32] -> [I32]
    "__wbindgen_realloc": [I32, I32, I32, I32] -> [I32]
    "__wbindgen_free": [I32, I32, I32] -> []
    "canonical_abi_realloc": [I32, I32, I32, I32] -> [I32]
    "canonical_abi_free": [I32, I32, I32] -> []
    "asyncify_start_unwind": [I32] -> []
    "asyncify_stop_unwind": [] -> []
    "asyncify_start_rewind": [I32] -> []
    "asyncify_stop_rewind": [] -> []
    "asyncify_get_state": [] -> [I32]
  Memories:
    "memory": not shared (22 pages..)
  Tables:
  Globals:
    "__stack_pointer": I32 (mutable)
    "__heap_base": I32 (constant)
    "__data_end": I32 (constant)
roeierez commented 9 months ago

🥇 Wow Ross! This is quite a milestone you got here.

dangeross commented 2 months ago

Diesel ORM for sqlite and WASM: https://github.com/xmtp/libxmtp/tree/wasm-backend/diesel-wasm-sqlite

dangeross commented 3 weeks ago

grpc-web-proxy https://github.com/Blockstream/greenlight/pull/536