diff --git a/bdk-ffi/src/bdk.udl b/bdk-ffi/src/bdk.udl index 81132e0..e744203 100644 --- a/bdk-ffi/src/bdk.udl +++ b/bdk-ffi/src/bdk.udl @@ -292,6 +292,7 @@ interface Script { sequence to_bytes(); }; +[NonExhaustive] enum Network { "Bitcoin", "Testnet", diff --git a/bdk-ffi/src/bitcoin.rs b/bdk-ffi/src/bitcoin.rs index af6528e..3af00c7 100644 --- a/bdk-ffi/src/bitcoin.rs +++ b/bdk-ffi/src/bitcoin.rs @@ -2,9 +2,9 @@ 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::Decodable; -use bdk::bitcoin::network::constants::Network as BdkNetwork; use bdk::bitcoin::psbt::PartiallySignedTransaction as BdkPartiallySignedTransaction; use bdk::bitcoin::Address as BdkAddress; +use bdk::bitcoin::Network; use bdk::bitcoin::OutPoint as BdkOutPoint; use bdk::bitcoin::Transaction as BdkTransaction; use bdk::bitcoin::Txid; @@ -34,37 +34,6 @@ impl From for Script { } } -#[derive(PartialEq, Debug)] -pub enum Network { - Bitcoin, - Testnet, - Signet, - Regtest, -} - -impl From for BdkNetwork { - fn from(network: Network) -> Self { - match network { - Network::Bitcoin => BdkNetwork::Bitcoin, - Network::Testnet => BdkNetwork::Testnet, - Network::Signet => BdkNetwork::Signet, - Network::Regtest => BdkNetwork::Regtest, - } - } -} - -impl From for Network { - fn from(network: BdkNetwork) -> Self { - match network { - BdkNetwork::Bitcoin => Network::Bitcoin, - BdkNetwork::Testnet => Network::Testnet, - BdkNetwork::Signet => Network::Signet, - BdkNetwork::Regtest => Network::Regtest, - _ => panic!("Network {} not supported", network), - } - } -} - #[derive(Debug, PartialEq, Eq)] pub struct Address { inner: BdkAddress, @@ -77,7 +46,7 @@ impl Address { .map_err(|_| Alpha3Error::Generic)?; let network_checked_address = parsed_address - .require_network(network.into()) + .require_network(network) .map_err(|_| Alpha3Error::Generic)?; Ok(Address { @@ -108,7 +77,7 @@ impl Address { // } pub fn network(&self) -> Network { - self.inner.network.into() + self.inner.network } pub fn script_pubkey(&self) -> Arc