From 6742343319dda2bb80da8e4156f67ca95f19b18b Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Fri, 5 Mar 2021 18:51:23 -0500 Subject: [PATCH] [bindings] Support converting Network to rust, update variants --- c-bindings-gen/src/types.rs | 2 ++ lightning-c-bindings/src/bitcoin/network.rs | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/c-bindings-gen/src/types.rs b/c-bindings-gen/src/types.rs index 7fc7e4cd9..3e6acaa8d 100644 --- a/c-bindings-gen/src/types.rs +++ b/c-bindings-gen/src/types.rs @@ -842,6 +842,7 @@ impl<'a, 'c: 'a> TypeResolver<'a, 'c> { "bitcoin::blockdata::transaction::Transaction" => Some("crate::c_types::Transaction::from_vec(local_"), "bitcoin::blockdata::transaction::OutPoint" => Some("crate::c_types::bitcoin_to_C_outpoint("), "bitcoin::blockdata::transaction::TxOut" if !is_ref => Some("crate::c_types::TxOut::from_rust("), + "bitcoin::network::constants::Network" => Some("crate::bitcoin::network::Network::from_bitcoin("), "bitcoin::blockdata::block::BlockHeader" if is_ref => Some("&local_"), "bitcoin::blockdata::block::Block" if is_ref => Some("crate::c_types::u8slice::from_slice(&local_"), @@ -899,6 +900,7 @@ impl<'a, 'c: 'a> TypeResolver<'a, 'c> { "bitcoin::blockdata::transaction::Transaction" => Some(")"), "bitcoin::blockdata::transaction::OutPoint" => Some(")"), "bitcoin::blockdata::transaction::TxOut" if !is_ref => Some(")"), + "bitcoin::network::constants::Network" => Some(")"), "bitcoin::blockdata::block::BlockHeader" if is_ref => Some(""), "bitcoin::blockdata::block::Block" if is_ref => Some(")"), diff --git a/lightning-c-bindings/src/bitcoin/network.rs b/lightning-c-bindings/src/bitcoin/network.rs index 13799c0a5..52cb2ce68 100644 --- a/lightning-c-bindings/src/bitcoin/network.rs +++ b/lightning-c-bindings/src/bitcoin/network.rs @@ -5,6 +5,7 @@ pub enum Network { Bitcoin, Testnet, Regtest, + Signet, } impl Network { @@ -13,6 +14,15 @@ impl Network { Network::Bitcoin => BitcoinNetwork::Bitcoin, Network::Testnet => BitcoinNetwork::Testnet, Network::Regtest => BitcoinNetwork::Regtest, + Network::Signet => BitcoinNetwork::Signet, + } + } + pub(crate) fn from_bitcoin(net: BitcoinNetwork) -> Self { + match net { + BitcoinNetwork::Bitcoin => Network::Bitcoin, + BitcoinNetwork::Testnet => Network::Testnet, + BitcoinNetwork::Regtest => Network::Regtest, + BitcoinNetwork::Signet => Network::Signet, } } } -- 2.39.5