Compare commits
2 Commits
v0.4.0
...
release/0.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f5ac99fee | ||
|
|
5128ce8d5b |
@@ -6,6 +6,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
- Fix Wallet.broadcast function, now returns a tx id as a hex string
|
||||
|
||||
## [v0.4.0]
|
||||
|
||||
- Add dual license MIT and Apache 2.0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "bdk-ffi"
|
||||
version = "0.4.0"
|
||||
version = "0.4.1"
|
||||
authors = ["Steve Myers <steve@notmandatory.org>", "Sudarsan Balaji <sudarsan.balaji@artfuldev.com>"]
|
||||
edition = "2018"
|
||||
|
||||
|
||||
@@ -131,7 +131,7 @@ interface Wallet {
|
||||
[Throws=BdkError]
|
||||
void sync(BdkProgress progress_update, u32? max_address_param);
|
||||
[Throws=BdkError]
|
||||
Transaction broadcast([ByRef] PartiallySignedBitcoinTransaction psbt);
|
||||
string broadcast([ByRef] PartiallySignedBitcoinTransaction psbt);
|
||||
};
|
||||
|
||||
interface PartiallySignedBitcoinTransaction {
|
||||
|
||||
10
src/lib.rs
10
src/lib.rs
@@ -1,3 +1,4 @@
|
||||
use bdk::bitcoin::hashes::hex::ToHex;
|
||||
use bdk::bitcoin::secp256k1::Secp256k1;
|
||||
use bdk::bitcoin::util::psbt::PartiallySignedTransaction;
|
||||
use bdk::bitcoin::{Address, Network};
|
||||
@@ -201,7 +202,7 @@ impl PartiallySignedBitcoinTransaction {
|
||||
|
||||
impl WalletHolder<AnyBlockchain> for Wallet {
|
||||
fn get_wallet(&self) -> MutexGuard<BdkWallet<AnyBlockchain, AnyDatabase>> {
|
||||
self.wallet_mutex.lock().unwrap()
|
||||
self.wallet_mutex.lock().expect("wallet")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -265,11 +266,10 @@ impl Wallet {
|
||||
.sync(BdkProgressHolder { progress_update }, max_address_param)
|
||||
}
|
||||
|
||||
fn broadcast(&self, psbt: &PartiallySignedBitcoinTransaction) -> Result<Transaction, Error> {
|
||||
fn broadcast(&self, psbt: &PartiallySignedBitcoinTransaction) -> Result<String, Error> {
|
||||
let tx = psbt.internal.lock().unwrap().clone().extract_tx();
|
||||
self.get_wallet().broadcast(&tx)?;
|
||||
let tx_details = self.get_wallet().get_tx(&tx.txid(), true)?;
|
||||
Ok(Transaction::from(&tx_details.unwrap()))
|
||||
let txid = self.get_wallet().broadcast(&tx)?;
|
||||
Ok(txid.to_hex())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user