///
/// use bitcoin::blockdata::block::Block;
/// use bitcoin::blockdata::constants::genesis_block;
-/// use bitcoin::network::constants::Network;
+/// use bitcoin::network::Network;
/// use lightning::chain::transaction::TransactionData;
///
/// let block = genesis_block(Network::Bitcoin);
impl OutPoint {
/// Converts this OutPoint into the OutPoint field as used by rust-bitcoin
///
- /// This is not exported to bindings users as the same type is used universally in the C bindings
+ /// This is not exported to bindings users as the same type is used universally in the C bindings
/// for all outpoints
pub fn into_bitcoin_outpoint(self) -> BitcoinOutPoint {
BitcoinOutPoint {
impl_writeable!(OutPoint, { txid, index });
+#[derive(Debug, Clone)]
+pub(crate) struct MaybeSignedTransaction(pub Transaction);
+
+impl MaybeSignedTransaction {
+ pub fn is_fully_signed(&self) -> bool {
+ !self.0.input.iter().any(|input| input.witness.is_empty())
+ }
+}
+
#[cfg(test)]
mod tests {
use crate::chain::transaction::OutPoint;
- use crate::ln::ChannelId;
+ use crate::ln::types::ChannelId;
use bitcoin::blockdata::transaction::Transaction;
use bitcoin::consensus::encode;