From 48c8e7261e2dded3789e8ba2ee27f2b239cf892f Mon Sep 17 00:00:00 2001 From: thunderbiscuit Date: Thu, 9 Nov 2023 15:08:14 -0600 Subject: [PATCH] chore: bump rust compiler and android ndk versions --- .github/workflows/test-android.yaml | 23 +++++++++++-------- bdk-android/README.md | 8 +++---- .../bitcoindevkit/OfflineDescriptorTest.kt | 2 +- bdk-ffi/Cargo.lock | 8 +++---- bdk-ffi/src/bitcoin.rs | 2 +- bdk-ffi/src/keys.rs | 6 ++--- bdk-ffi/src/wallet.rs | 2 +- 7 files changed, 27 insertions(+), 24 deletions(-) diff --git a/.github/workflows/test-android.yaml b/.github/workflows/test-android.yaml index 48abe6b1..afec5eba 100644 --- a/.github/workflows/test-android.yaml +++ b/.github/workflows/test-android.yaml @@ -14,19 +14,22 @@ on: # We replace the default environment variable ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/25.2.9519653 # with an older version of the NDK (21.4.7075529) using the fix proposed here: https://github.com/actions/runner-images/issues/5930 # For information on why this is needed at the moment see issues #242 and #243, and PR #282 -env: - ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/21.4.7075529 +# env: +# ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/21.4.7075529 jobs: build: runs-on: ubuntu-20.04 steps: - - name: "Install Android NDK 21.4.7075529" - run: | - ANDROID_ROOT=/usr/local/lib/android - ANDROID_SDK_ROOT=${ANDROID_ROOT}/sdk - SDKMANAGER=${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager - echo "y" | $SDKMANAGER "ndk;21.4.7075529" + # - name: "Install Android NDK 21.4.7075529" + # run: | + # ANDROID_ROOT=/usr/local/lib/android + # ANDROID_SDK_ROOT=${ANDROID_ROOT}/sdk + # SDKMANAGER=${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager + # echo "y" | $SDKMANAGER "ndk;21.4.7075529" + + - name: "Show default version of NDK" + run: echo $ANDROID_NDK_ROOT - name: "Check out PR branch" uses: actions/checkout@v3 @@ -46,8 +49,8 @@ jobs: distribution: temurin java-version: 11 - - name: "Set default Rust version to 1.67.0" - run: rustup default 1.67.0 + - name: "Set default Rust version to 1.73.0" + run: rustup default 1.73.0 - name: "Install Rust Android targets" run: rustup target add x86_64-linux-android aarch64-linux-android armv7-linux-androideabi diff --git a/bdk-android/README.md b/bdk-android/README.md index d8c304a9..8567e192 100644 --- a/bdk-android/README.md +++ b/bdk-android/README.md @@ -55,10 +55,10 @@ _Note that Kotlin version `1.6.10` or later is required to build the library._ git clone https://github.com/bitcoindevkit/bdk-ffi ``` 2. Follow the "General" bdk-ffi ["Getting Started (Developer)"] instructions. -3. Install Rust (note that we are currently building using Rust 1.67.0): +3. Install Rust (note that we are currently building using Rust 1.73.0): ```shell curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -rustup default 1.67.0 +rustup default 1.73.0 ``` 4. Install required targets ```sh @@ -66,10 +66,10 @@ rustup target add x86_64-linux-android aarch64-linux-android armv7-linux-android ``` 5. Install Android SDK and Build-Tools for API level 30+ 6. Setup `$ANDROID_SDK_ROOT` and `$ANDROID_NDK_ROOT` path variables (which are required by the - build tool), for example (note that currently, NDK version 21.4.7075529 is required): + build tool), for example (note that currently, NDK version 25.2.9519653 or above is required): ```shell export ANDROID_SDK_ROOT=~/Android/Sdk -export ANDROID_NDK_ROOT=$ANDROID_SDK_ROOT/ndk/21.4.7075529 +export ANDROID_NDK_ROOT=$ANDROID_SDK_ROOT/ndk/25.2.9519653 ``` 7. Build kotlin bindings ```sh diff --git a/bdk-android/lib/src/androidTest/kotlin/org/bitcoindevkit/OfflineDescriptorTest.kt b/bdk-android/lib/src/androidTest/kotlin/org/bitcoindevkit/OfflineDescriptorTest.kt index 22fcb717..84788065 100644 --- a/bdk-android/lib/src/androidTest/kotlin/org/bitcoindevkit/OfflineDescriptorTest.kt +++ b/bdk-android/lib/src/androidTest/kotlin/org/bitcoindevkit/OfflineDescriptorTest.kt @@ -1,9 +1,9 @@ package org.bitcoindevkit import kotlin.test.Test -import kotlin.test.assertTrue import androidx.test.ext.junit.runners.AndroidJUnit4 import org.junit.runner.RunWith +import kotlin.test.assertEquals @RunWith(AndroidJUnit4::class) class OfflineDescriptorTest { diff --git a/bdk-ffi/Cargo.lock b/bdk-ffi/Cargo.lock index 48ff58d5..ef7f249d 100644 --- a/bdk-ffi/Cargo.lock +++ b/bdk-ffi/Cargo.lock @@ -762,18 +762,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.189" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" +checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.189" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" +checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" dependencies = [ "proc-macro2", "quote", diff --git a/bdk-ffi/src/bitcoin.rs b/bdk-ffi/src/bitcoin.rs index 2730e20f..b6e19de3 100644 --- a/bdk-ffi/src/bitcoin.rs +++ b/bdk-ffi/src/bitcoin.rs @@ -203,7 +203,7 @@ impl From for Transaction { } } -pub(crate) struct PartiallySignedTransaction { +pub struct PartiallySignedTransaction { pub(crate) inner: Mutex, } diff --git a/bdk-ffi/src/keys.rs b/bdk-ffi/src/keys.rs index 45b7dee6..1f996b9f 100644 --- a/bdk-ffi/src/keys.rs +++ b/bdk-ffi/src/keys.rs @@ -167,7 +167,7 @@ impl DescriptorSecretKey { /// Get the private key as bytes. pub(crate) fn secret_bytes(&self) -> Vec { let inner = &self.inner; - let secret_bytes: Vec = match inner.deref() { + let secret_bytes: Vec = match inner { BdkDescriptorSecretKey::Single(_) => { unreachable!() } @@ -206,7 +206,7 @@ impl DescriptorPublicKey { let descriptor_public_key = &self.inner; let path = path.inner_mutex.lock().unwrap().deref().clone(); - match descriptor_public_key.deref() { + match descriptor_public_key { BdkDescriptorPublicKey::Single(_) => Err(BdkError::Generic( "Cannot derive from a single key".to_string(), )), @@ -235,7 +235,7 @@ impl DescriptorPublicKey { pub(crate) fn extend(&self, path: Arc) -> Result, BdkError> { let descriptor_public_key = &self.inner; let path = path.inner_mutex.lock().unwrap().deref().clone(); - match descriptor_public_key.deref() { + match descriptor_public_key { BdkDescriptorPublicKey::Single(_) => Err(BdkError::Generic( "Cannot extend from a single key".to_string(), )), diff --git a/bdk-ffi/src/wallet.rs b/bdk-ffi/src/wallet.rs index c8d3d34f..2fe73d60 100644 --- a/bdk-ffi/src/wallet.rs +++ b/bdk-ffi/src/wallet.rs @@ -259,7 +259,7 @@ pub struct Update(pub(crate) BdkUpdate); /// After creating the TxBuilder, you set options on it until finally calling finish to consume the builder and generate the transaction. /// Each method on the TxBuilder returns an instance of a new TxBuilder with the option set/added. #[derive(Clone, Debug)] -pub(crate) struct TxBuilder { +pub struct TxBuilder { pub(crate) recipients: Vec<(BdkScriptBuf, u64)>, // pub(crate) utxos: Vec, // pub(crate) unspendable: HashSet,