From: Matt Corallo Date: Fri, 5 Mar 2021 23:51:23 +0000 (-0500) Subject: [bindings] Support converting Network to rust, update variants X-Git-Tag: v0.0.13~6^2~8 X-Git-Url: http://git.bitcoin.ninja/index.cgi?p=rust-lightning;a=commitdiff_plain;h=6742343319dda2bb80da8e4156f67ca95f19b18b [bindings] Support converting Network to rust, update variants --- diff --git a/c-bindings-gen/src/types.rs b/c-bindings-gen/src/types.rs index 7fc7e4cd..3e6acaa8 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 13799c0a..52cb2ce6 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, } } }