]> Untitled Git - bdk-cli/commitdiff
adapt to the recent changes in the signing interface
authorRichard Ulrich <richi@paraeasy.ch>
Wed, 26 May 2021 14:07:46 +0000 (16:07 +0200)
committerSteve Myers <steve@notmandatory.org>
Wed, 2 Jun 2021 20:20:43 +0000 (13:20 -0700)
.github/workflows/cont_integration.yml
Cargo.toml
src/lib.rs

index d3aa9fad77eab045ded06e5e23cc2fb3afd637f4..c51cad035c1d9560b69fadd66a2e230b0031d748 100644 (file)
@@ -10,8 +10,8 @@ jobs:
     strategy:
       matrix:
         rust:
-          - 1.50.0 # STABLE
-          - 1.45.0 # MSRV
+          - 1.51.0 # STABLE
+          - 1.46.0 # MSRV
         features:
           - default
           - repl
index 107e01c879357650053c30f3179fd0b3d0cef5c6..7f85af4e6f0de49010b2f89d045581df029d4d19 100644 (file)
@@ -12,7 +12,7 @@ readme = "README.md"
 license = "MIT"
 
 [dependencies]
-bdk = { version = "^0.5.1", default-features = false, features = ["all-keys"]}
+bdk = { version = "^0.7", default-features = false, features = ["all-keys"]}
 bdk-macros = "^0.4"
 structopt = "^0.3"
 serde_json = { version = "^1.0" }
index f1fe8e6fa13cf68774fcfdfe2e46b015cc2fd93f..d5a1b14a5bdee036a5765cdc01749940801b1fcd 100644 (file)
@@ -126,7 +126,9 @@ use bdk::keys::{DerivableKey, DescriptorKey, ExtendedKey, GeneratableKey, Genera
 use bdk::miniscript::miniscript;
 #[cfg(feature = "compiler")]
 use bdk::miniscript::policy::Concrete;
+use bdk::wallet::AddressIndex;
 use bdk::Error;
+use bdk::SignOptions;
 use bdk::{FeeRate, KeychainKind, Wallet};
 
 /// Global options
@@ -692,7 +694,7 @@ where
     D: BatchDatabase,
 {
     match offline_subcommand {
-        GetNewAddress => Ok(json!({"address": wallet.get_new_address()?})),
+        GetNewAddress => Ok(json!({"address": wallet.get_address(AddressIndex::New)?})),
         ListUnspent => Ok(serde_json::to_value(&wallet.list_unspent()?)?),
         ListTransactions => Ok(serde_json::to_value(&wallet.list_transactions(false)?)?),
         GetBalance => Ok(json!({"satoshi": wallet.get_balance()?})),
@@ -722,9 +724,7 @@ where
             }
 
             if offline_signer {
-                tx_builder
-                    .force_non_witness_utxo()
-                    .include_output_redeem_witness_script();
+                tx_builder.include_output_redeem_witness_script();
             }
 
             if let Some(fee_rate) = fee_rate {
@@ -771,9 +771,7 @@ where
             }
 
             if offline_signer {
-                tx_builder
-                    .force_non_witness_utxo()
-                    .include_output_redeem_witness_script();
+                tx_builder.include_output_redeem_witness_script();
             }
 
             if let Some(utxos) = utxos {
@@ -800,8 +798,12 @@ where
             assume_height,
         } => {
             let psbt = base64::decode(&psbt).unwrap();
-            let psbt: PartiallySignedTransaction = deserialize(&psbt).unwrap();
-            let (psbt, finalized) = wallet.sign(psbt, assume_height)?;
+            let mut psbt: PartiallySignedTransaction = deserialize(&psbt).unwrap();
+            let signopt = SignOptions {
+                assume_height,
+                ..Default::default()
+            };
+            let finalized = wallet.sign(&mut psbt, signopt)?;
             Ok(json!({"psbt": base64::encode(&serialize(&psbt)),"is_finalized": finalized,}))
         }
         ExtractPsbt { psbt } => {
@@ -814,9 +816,13 @@ where
             assume_height,
         } => {
             let psbt = base64::decode(&psbt).unwrap();
-            let psbt: PartiallySignedTransaction = deserialize(&psbt).unwrap();
+            let mut psbt: PartiallySignedTransaction = deserialize(&psbt).unwrap();
 
-            let (psbt, finalized) = wallet.finalize_psbt(psbt, assume_height)?;
+            let signopt = SignOptions {
+                assume_height,
+                ..Default::default()
+            };
+            let finalized = wallet.finalize_psbt(&mut psbt, signopt)?;
             Ok(json!({ "psbt": base64::encode(&serialize(&psbt)),"is_finalized": finalized,}))
         }
         CombinePsbt { psbt } => {