From 77cfee718c6e653581569e2b10f4a6a3cd5e9597 Mon Sep 17 00:00:00 2001 From: thunderbiscuit Date: Thu, 18 Apr 2024 14:25:01 -0400 Subject: [PATCH] feat: add serialize method on Transaction type --- bdk-ffi/src/bdk.udl | 2 ++ bdk-ffi/src/bitcoin.rs | 11 ++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/bdk-ffi/src/bdk.udl b/bdk-ffi/src/bdk.udl index bac3593..47af3de 100644 --- a/bdk-ffi/src/bdk.udl +++ b/bdk-ffi/src/bdk.udl @@ -458,6 +458,8 @@ interface Transaction { boolean is_lock_time_enabled(); i32 version(); + + sequence serialize(); }; interface Psbt { diff --git a/bdk-ffi/src/bitcoin.rs b/bdk-ffi/src/bitcoin.rs index 37e4ce5..6189f92 100644 --- a/bdk-ffi/src/bitcoin.rs +++ b/bdk-ffi/src/bitcoin.rs @@ -3,7 +3,9 @@ use crate::error::{AddressError, PsbtParseError, TransactionError}; use bdk::bitcoin::address::{NetworkChecked, NetworkUnchecked}; use bdk::bitcoin::blockdata::script::ScriptBuf as BdkScriptBuf; use bdk::bitcoin::blockdata::transaction::TxOut as BdkTxOut; +use bdk::bitcoin::consensus::encode::serialize; use bdk::bitcoin::consensus::Decodable; +use bdk::bitcoin::psbt::ExtractTxError; use bdk::bitcoin::Address as BdkAddress; use bdk::bitcoin::Network; use bdk::bitcoin::OutPoint as BdkOutPoint; @@ -11,7 +13,6 @@ use bdk::bitcoin::Psbt as BdkPsbt; use bdk::bitcoin::Transaction as BdkTransaction; use bdk::bitcoin::Txid; -use bdk::bitcoin::psbt::ExtractTxError; use std::io::Cursor; use std::str::FromStr; use std::sync::{Arc, Mutex}; @@ -139,10 +140,6 @@ impl Transaction { self.inner.vsize() as u64 } - // fn serialize(&self) -> Vec { - // self.inner.serialize() - // } - pub fn is_coinbase(&self) -> bool { self.inner.is_coinbase() } @@ -159,6 +156,10 @@ impl Transaction { self.inner.version.0 } + pub fn serialize(&self) -> Vec { + serialize(&self.inner) + } + // fn lock_time(&self) -> u32 { // self.inner.lock_time.0 // }