projects
/
ldk-c-bindings
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Handle transaction conversion directly instead of via a new var
[ldk-c-bindings]
/
lightning-c-bindings
/
src
/
c_types
/
mod.rs
diff --git
a/lightning-c-bindings/src/c_types/mod.rs
b/lightning-c-bindings/src/c_types/mod.rs
index 14e37229cf497a44140eee30731b2e6a95d52390..c4113a9647cf20f64b09d11881a626992d884d55 100644
(file)
--- a/
lightning-c-bindings/src/c_types/mod.rs
+++ b/
lightning-c-bindings/src/c_types/mod.rs
@@
-3,7
+3,6
@@
/// Auto-generated C-mapped types for templated containers
pub mod derived;
/// Auto-generated C-mapped types for templated containers
pub mod derived;
-use bitcoin::Script as BitcoinScript;
use bitcoin::Transaction as BitcoinTransaction;
use bitcoin::hashes::Hash;
use bitcoin::secp256k1::key::PublicKey as SecpPublicKey;
use bitcoin::Transaction as BitcoinTransaction;
use bitcoin::hashes::Hash;
use bitcoin::secp256k1::key::PublicKey as SecpPublicKey;
@@
-188,9
+187,10
@@
impl Transaction {
if self.datalen == 0 { panic!("0-length buffer can never represent a valid Transaction"); }
::bitcoin::consensus::encode::deserialize(unsafe { std::slice::from_raw_parts(self.data, self.datalen) }).unwrap()
}
if self.datalen == 0 { panic!("0-length buffer can never represent a valid Transaction"); }
::bitcoin::consensus::encode::deserialize(unsafe { std::slice::from_raw_parts(self.data, self.datalen) }).unwrap()
}
- pub(crate) fn from_vec(v: Vec<u8>) -> Self {
- let datalen = v.len();
- let data = Box::into_raw(v.into_boxed_slice());
+ pub(crate) fn from_bitcoin(btc: &BitcoinTransaction) -> Self {
+ let vec = ::bitcoin::consensus::encode::serialize(btc);
+ let datalen = vec.len();
+ let data = Box::into_raw(vec.into_boxed_slice());
Self {
data: unsafe { (*data).as_mut_ptr() },
datalen,
Self {
data: unsafe { (*data).as_mut_ptr() },
datalen,