diff --git a/cli/Cargo.lock b/cli/Cargo.lock index 9ac6503..c642105 100644 --- a/cli/Cargo.lock +++ b/cli/Cargo.lock @@ -736,7 +736,7 @@ dependencies = [ [[package]] name = "breez-sdk-liquid" -version = "0.4.0-rc3" +version = "0.7.0-rc3" dependencies = [ "anyhow", "async-trait", diff --git a/lib/Cargo.lock b/lib/Cargo.lock index bb0c8b8..a54e763 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -600,7 +600,7 @@ dependencies = [ [[package]] name = "bindings-react-native" -version = "0.4.0-rc3" +version = "0.7.0-rc3" dependencies = [ "anyhow", "askama 0.11.1", @@ -815,7 +815,7 @@ dependencies = [ [[package]] name = "breez-sdk-liquid" -version = "0.4.0-rc3" +version = "0.7.0-rc3" dependencies = [ "anyhow", "async-trait", @@ -865,7 +865,7 @@ dependencies = [ [[package]] name = "breez-sdk-liquid-bindings" -version = "0.4.0-rc3" +version = "0.7.0-rc3" dependencies = [ "anyhow", "breez-sdk-liquid", diff --git a/lib/Cargo.toml b/lib/Cargo.toml index ae36b09..bfa7150 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -28,7 +28,7 @@ members = [ resolver = "2" [workspace.package] -version = "0.4.0-rc3" +version = "0.7.0-rc3" [workspace.lints.clippy] empty_line_after_doc_comments = "allow" diff --git a/lib/bindings/langs/react-native/Cargo.toml b/lib/bindings/langs/react-native/Cargo.toml index 66a5114..2555b40 100644 --- a/lib/bindings/langs/react-native/Cargo.toml +++ b/lib/bindings/langs/react-native/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bindings-react-native" -version = "0.4.0-rc3" +version = "0.7.0-rc3" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/lib/core/src/sync/mod.rs b/lib/core/src/sync/mod.rs index 1ace134..9bb20a6 100644 --- a/lib/core/src/sync/mod.rs +++ b/lib/core/src/sync/mod.rs @@ -4,6 +4,7 @@ use std::time::Duration; use anyhow::{anyhow, Result}; use futures_util::TryFutureExt; +use log::trace; use tokio::sync::mpsc::Receiver; use tokio::sync::{watch, Mutex}; @@ -386,21 +387,28 @@ impl SyncService { // Step 1: Get the sync state, if it exists, to compute the revision let maybe_sync_state = self.persister.get_sync_state_by_record_id(record_id)?; + trace!("Got sync state: {}", maybe_sync_state.is_some()); let record_revision = maybe_sync_state .as_ref() .map(|s| s.record_revision) .unwrap_or(0); + trace!("Got revision: {}", record_revision); let is_local = maybe_sync_state.map(|s| s.is_local).unwrap_or(true); + trace!("Got is local: {}", is_local); // Step 2: Fetch the sync data let sync_data = self.load_sync_data(data_id, record_type)?; + trace!("Got sync data: {sync_data:?}"); // Step 3: Create the record to push outwards let record = Record::new(sync_data, record_revision, self.signer.clone())?; + trace!("Got record: {record:?}"); // Step 4: Push the record let req = SetRecordRequest::new(record, utils::now(), self.signer.clone())?; + trace!("Got set record request: {req:?}"); let reply = self.client.push(req).await?; + trace!("Got reply: {reply:?}"); // Step 5: Check for conflict. If present, skip and retry on the next call if reply.status() == SetRecordStatus::Conflict { diff --git a/lib/core/src/sync/model/client.rs b/lib/core/src/sync/model/client.rs index ed4de33..7c915a6 100644 --- a/lib/core/src/sync/model/client.rs +++ b/lib/core/src/sync/model/client.rs @@ -1,18 +1,20 @@ -use anyhow::Result; -use lwk_wollet::hashes::hex::DisplayHex as _; -use openssl::sha::sha256; -use std::sync::Arc; - use crate::{ prelude::{Signer, SignerError}, utils, }; +use anyhow::Result; +use log::trace; +use lwk_wollet::hashes::hex::DisplayHex as _; +use openssl::sha::sha256; +use std::sync::Arc; use super::{ListChangesRequest, Record, SetRecordRequest, CURRENT_SCHEMA_VERSION, MESSAGE_PREFIX}; fn sign_message(msg: &[u8], signer: Arc>) -> Result { let msg = [MESSAGE_PREFIX, msg].concat(); + trace!("About to compute sha256 hash of msg: {msg:?}"); let digest = sha256(&sha256(&msg)); + trace!("About to sign digest: {digest:?}"); signer .sign_ecdsa_recoverable(digest.into()) .map(|bytes| zbase32::encode_full_bytes(&bytes)) @@ -44,7 +46,9 @@ impl SetRecordRequest { *CURRENT_SCHEMA_VERSION, request_time, ); + trace!("About to sign message: {}", msg); let signature = sign_message(msg.as_bytes(), signer)?; + trace!("Got signature: {}", signature); Ok(Self { record: Some(record), request_time, diff --git a/lib/core/src/sync/model/mod.rs b/lib/core/src/sync/model/mod.rs index 4c72423..7fa9167 100644 --- a/lib/core/src/sync/model/mod.rs +++ b/lib/core/src/sync/model/mod.rs @@ -6,6 +6,7 @@ use self::data::SyncData; use crate::prelude::Signer; use anyhow::Result; use lazy_static::lazy_static; +use log::trace; use lwk_wollet::hashes::hex::DisplayHex; use openssl::sha::sha256; use rusqlite::{ @@ -135,9 +136,11 @@ impl Record { ) -> Result { let id = Self::get_id_from_sync_data(&data); let data = data.to_bytes()?; + trace!("About to encrypt sync data: {data:?}"); let data = signer .ecies_encrypt(data) .map_err(|err| anyhow::anyhow!("Could not encrypt sync data: {err:?}"))?; + trace!("Got encrypted sync data: {data:?}"); let schema_version = CURRENT_SCHEMA_VERSION.to_string(); Ok(Self { id, diff --git a/packages/dart/pubspec.yaml b/packages/dart/pubspec.yaml index 696985a..9d10075 100644 --- a/packages/dart/pubspec.yaml +++ b/packages/dart/pubspec.yaml @@ -1,6 +1,6 @@ name: breez_liquid description: Dart bindings for the Breez Liquid SDK -version: 0.4.0-rc3 +version: 0.7.0-rc3 homepage: https://breez.technology repository: https://github.com/breez/breez-sdk-liquid-dart publish_to: 'none' diff --git a/packages/flutter/android/build.gradle b/packages/flutter/android/build.gradle index e8103b6..628666b 100644 --- a/packages/flutter/android/build.gradle +++ b/packages/flutter/android/build.gradle @@ -1,4 +1,4 @@ -version '0.4.0-rc3' // generated; do not edit +version '0.7.0-rc3' // generated; do not edit group 'technology.breez.flutter_breez_liquid' buildscript { diff --git a/packages/flutter/android/build.gradle.production b/packages/flutter/android/build.gradle.production index d05d359..a9acb96 100644 --- a/packages/flutter/android/build.gradle.production +++ b/packages/flutter/android/build.gradle.production @@ -1,4 +1,4 @@ -version '0.4.0-rc3' // generated; do not edit +version '0.7.0-rc3' // generated; do not edit group 'technology.breez.flutter_breez_liquid' buildscript { diff --git a/packages/flutter/ios/flutter_breez_liquid.podspec b/packages/flutter/ios/flutter_breez_liquid.podspec index bae0b77..85c293c 100644 --- a/packages/flutter/ios/flutter_breez_liquid.podspec +++ b/packages/flutter/ios/flutter_breez_liquid.podspec @@ -1,4 +1,4 @@ -version = '0.4.0-rc3' # generated; do not edit +version = '0.7.0-rc3' # generated; do not edit # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html. # Run `pod lib lint flutter_breez_liquid.podspec` to validate before publishing. diff --git a/packages/flutter/ios/flutter_breez_liquid.podspec.production b/packages/flutter/ios/flutter_breez_liquid.podspec.production index e9f8a35..08b968d 100644 --- a/packages/flutter/ios/flutter_breez_liquid.podspec.production +++ b/packages/flutter/ios/flutter_breez_liquid.podspec.production @@ -1,4 +1,4 @@ -version = '0.4.0-rc3' # generated; do not edit +version = '0.7.0-rc3' # generated; do not edit # We cannot distribute the XCFramework alongside the library directly, # so we have to fetch the correct version here. diff --git a/packages/flutter/macos/flutter_breez_liquid.podspec b/packages/flutter/macos/flutter_breez_liquid.podspec index bae0b77..85c293c 100644 --- a/packages/flutter/macos/flutter_breez_liquid.podspec +++ b/packages/flutter/macos/flutter_breez_liquid.podspec @@ -1,4 +1,4 @@ -version = '0.4.0-rc3' # generated; do not edit +version = '0.7.0-rc3' # generated; do not edit # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html. # Run `pod lib lint flutter_breez_liquid.podspec` to validate before publishing. diff --git a/packages/flutter/macos/flutter_breez_liquid.podspec.production b/packages/flutter/macos/flutter_breez_liquid.podspec.production index e9f8a35..08b968d 100644 --- a/packages/flutter/macos/flutter_breez_liquid.podspec.production +++ b/packages/flutter/macos/flutter_breez_liquid.podspec.production @@ -1,4 +1,4 @@ -version = '0.4.0-rc3' # generated; do not edit +version = '0.7.0-rc3' # generated; do not edit # We cannot distribute the XCFramework alongside the library directly, # so we have to fetch the correct version here. diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index 4f44572..d7d675a 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_breez_liquid description: Flutter wrapper around Dart bindings for the Breez Liquid SDK -version: 0.4.0-rc3 +version: 0.7.0-rc3 homepage: https://breez.technology repository: https://github.com/breez/breez-sdk-liquid-flutter publish_to: 'none' diff --git a/packages/react-native/example/android/app/build.gradle b/packages/react-native/example/android/app/build.gradle index bc3e640..00d6939 100644 --- a/packages/react-native/example/android/app/build.gradle +++ b/packages/react-native/example/android/app/build.gradle @@ -139,7 +139,7 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 - versionName "0.4.0-rc3" + versionName "0.7.0-rc3" buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() buildConfigField "String", "BREEZ_API_KEY", project.property('BREEZ_API_KEY') diff --git a/packages/react-native/example/ios/Podfile.lock b/packages/react-native/example/ios/Podfile.lock index 2bb541e..2100d40 100644 --- a/packages/react-native/example/ios/Podfile.lock +++ b/packages/react-native/example/ios/Podfile.lock @@ -1,11 +1,11 @@ PODS: - boost (1.76.0) - - breez_sdk_liquid (0.4.0-rc3): - - BreezSDKLiquid (= 0.4.0-rc3) + - breez_sdk_liquid (0.7.0-rc1): + - BreezSDKLiquid (= 0.7.0-rc1) - React-Core - - breez_sdk_liquidFFI (0.4.0-rc3) - - BreezSDKLiquid (0.4.0-rc3): - - breez_sdk_liquidFFI (= 0.4.0-rc3) + - breez_sdk_liquidFFI (0.7.0-rc1) + - BreezSDKLiquid (0.7.0-rc1): + - breez_sdk_liquidFFI (= 0.7.0-rc1) - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - FBLazyVector (0.70.15) diff --git a/packages/react-native/example/package.json b/packages/react-native/example/package.json index cea3506..a60242d 100644 --- a/packages/react-native/example/package.json +++ b/packages/react-native/example/package.json @@ -1,6 +1,6 @@ { "name": "react-native-breez-sdk-liquid-example", - "version": "0.4.0-rc3", + "version": "0.7.0-rc3", "private": true, "scripts": { "clean": "rm -rf /tmp/metro-* && yarn start --reset-cache", @@ -13,7 +13,7 @@ "rebuild": "rm -rf node_modules && yarn && yarn pods" }, "dependencies": { - "@breeztech/react-native-breez-sdk-liquid": "0.4.0-rc3", + "@breeztech/react-native-breez-sdk-liquid": "0.7.0-rc3", "@dreson4/react-native-quick-bip39": "^0.0.5", "react": "18.1.0", "react-native": "0.70.15", diff --git a/packages/react-native/package.json b/packages/react-native/package.json index 3e6044b..5b0c1bb 100644 --- a/packages/react-native/package.json +++ b/packages/react-native/package.json @@ -1,6 +1,6 @@ { "name": "@breeztech/react-native-breez-sdk-liquid", - "version": "0.4.0-rc3", + "version": "0.7.0-rc3", "description": "React Native Breez Liquid SDK", "repository": "https://github.com/breez/breez-sdk-liquid", "author": "Breez (https://github.com/breez)",