Enum Network

Source
pub enum Network {
    Mainnet,
    Testnet(Arc<Parameters>),
}
Expand description

An enum describing the possible network choices.

Variants§

§

Mainnet

The production mainnet.

§

Testnet(Arc<Parameters>)

A test network such as the default public testnet, a configured testnet, or Regtest.

Implementations§

Source§

impl Network

Source

pub fn magic(&self) -> Magic

Get the magic value associated to this Network.

Source§

impl Network

Source

pub fn parameters(&self) -> Option<Arc<Parameters>>

Returns the parameters of this network if it is a Testnet.

Source

pub fn disable_pow(&self) -> bool

Returns true if proof-of-work validation should be disabled for this network

Source

pub fn slow_start_interval(&self) -> Height

Returns slow start interval for this network

Source

pub fn slow_start_shift(&self) -> Height

Returns slow start shift for this network

Source

pub fn pre_nu6_funding_streams(&self) -> &FundingStreams

Returns pre-NU6 funding streams for this network

Commonly referred to as the “Dev Fund”.

Defined in Zcash Protocol Specification §7.10.1

Source

pub fn post_nu6_funding_streams(&self) -> &FundingStreams

Returns post-NU6 funding streams for this network

Defined in Zcash Protocol Specification §7.10.1

Source

pub fn funding_streams(&self, height: Height) -> &FundingStreams

Returns post-Canopy funding streams for this network at the provided height

Source

pub fn should_allow_unshielded_coinbase_spends(&self) -> bool

Returns true if this network should allow transactions with transparent outputs that spend coinbase outputs.

Source§

impl Network

Source

pub fn new_default_testnet() -> Self

Creates a new Network::Testnet with the default Testnet testnet::Parameters.

Source

pub fn new_configured_testnet(params: Parameters) -> Self

Creates a new configured Network::Testnet with the provided Testnet testnet::Parameters.

Source

pub fn new_regtest( configured_activation_heights: ConfiguredActivationHeights, ) -> Self

Creates a new Network::Testnet with Regtest parameters and the provided network upgrade activation heights.

Source

pub fn is_default_testnet(&self) -> bool

Returns true if the network is the default Testnet, or false otherwise.

Source

pub fn is_regtest(&self) -> bool

Returns true if the network is Regtest, or false otherwise.

Source

pub fn kind(&self) -> NetworkKind

Returns the NetworkKind for this network.

Source

pub fn t_addr_kind(&self) -> NetworkKind

Returns NetworkKind::Testnet on Testnet and Regtest, or NetworkKind::Mainnet on Mainnet.

This is used for transparent addresses, as the address prefix is the same on Regtest as it is on Testnet.

Source

pub fn iter() -> impl Iterator<Item = Self>

Returns an iterator over Network variants.

Source

pub fn is_max_block_time_enforced(&self, height: Height) -> bool

Returns true if the maximum block time rule is active for network and height.

Always returns true if network is the Mainnet. If network is the Testnet, the height should be at least TESTNET_MAX_TIME_START_HEIGHT to return true. Returns false otherwise.

Part of the consensus rules at https://zips.z.cash/protocol/protocol.pdf#blockheader

Source

pub fn default_port(&self) -> u16

Get the default port associated to this network.

Source

pub fn mandatory_checkpoint_height(&self) -> Height

Get the mandatory minimum checkpoint height for this network.

Mandatory checkpoints are a Zebra-specific feature. If a Zcash consensus rule only applies before the mandatory checkpoint, Zebra can skip validation of that rule. This is necessary because Zebra can’t fully validate the blocks prior to Canopy.

Source

pub fn bip70_network_name(&self) -> String

Return the network name as defined in BIP70

Source

pub fn lowercase_name(&self) -> String

Return the lowercase network name.

Source

pub fn is_a_test_network(&self) -> bool

Returns true if this network is a testing network.

Source

pub fn sapling_activation_height(&self) -> Height

Returns the Sapling activation height for this network.

Source§

impl Network

Source

pub fn activation_list(&self) -> BTreeMap<Height, NetworkUpgrade>

Returns a map between activation heights and network upgrades for network, in ascending height order.

If the activation height of a future upgrade is not known, that network upgrade does not appear in the list.

This is actually a bijective map.

When the environment variable TEST_FAKE_ACTIVATION_HEIGHTS is set and it’s a test build, this returns a list of fake activation heights used by some tests.

Note: This skips implicit network upgrade activations, use Network::full_activation_list to get an explicit list of all network upgrade activations.

Source

pub fn full_activation_list(&self) -> Vec<(Height, NetworkUpgrade)>

Returns a vector of all implicit and explicit network upgrades for network, in ascending height order.

Trait Implementations§

Source§

impl Clone for Network

Source§

fn clone(&self) -> Network

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Network

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Network

Source§

fn default() -> Network

Returns the “default value” for a type. Read more
Source§

impl Display for Network

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> From<&'a Network> for &'a str

Source§

fn from(network: &'a Network) -> &'a str

Converts to this type from the input type.
Source§

impl From<&Network> for NetworkKind

Source§

fn from(net: &Network) -> Self

Converts to this type from the input type.
Source§

impl From<Network> for NetworkKind

Source§

fn from(net: Network) -> Self

Converts to this type from the input type.
Source§

impl FromStr for Network

Source§

type Err = InvalidNetworkError

The associated error which can be returned from parsing.
Source§

fn from_str(string: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
Source§

impl ParameterDifficulty for Network

Source§

fn target_difficulty_limit(&self) -> ExpandedDifficulty

Returns the easiest target difficulty allowed on network. See ParameterDifficulty::target_difficulty_limit

Source§

impl ParameterSubsidy for Network

Network methods related to Block Subsidy and Funding Streams

Source§

fn height_for_first_halving(&self) -> Height

Returns the minimum height after the first halving as described in protocol specification §7.10
Source§

fn post_blossom_halving_interval(&self) -> HeightDiff

Returns the halving interval after Blossom
Source§

fn pre_blossom_halving_interval(&self) -> HeightDiff

Returns the halving interval before Blossom
Source§

fn funding_stream_address_change_interval(&self) -> HeightDiff

Returns the address change interval for funding streams as described in protocol specification §7.10. Read more
Source§

impl Parameters for Network

Source§

fn network_type(&self) -> NetworkType

Returns the type of network configured by this set of consensus parameters.
Source§

fn activation_height(&self, nu: NetworkUpgrade) -> Option<BlockHeight>

Returns the activation height for a particular network upgrade, if an activation height has been set.
Source§

fn is_nu_active(&self, nu: NetworkUpgrade, height: BlockHeight) -> bool

Determines whether the specified network upgrade is active as of the provided block height on the network to which this Parameters value applies.
Source§

impl PartialEq for Network

Source§

fn eq(&self, other: &Network) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Network

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for Network

Source§

impl StructuralPartialEq for Network

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<P> NetworkConstants for P
where P: Parameters,

Source§

fn coin_type(&self) -> u32

The coin type for ZEC, as defined by SLIP 44.
Source§

fn hrp_sapling_extended_spending_key(&self) -> &'static str

Returns the human-readable prefix for Bech32-encoded Sapling extended spending keys for the network to which this NetworkConstants value applies. Read more
Source§

fn hrp_sapling_extended_full_viewing_key(&self) -> &'static str

Returns the human-readable prefix for Bech32-encoded Sapling extended full viewing keys for the network to which this NetworkConstants value applies. Read more
Source§

fn hrp_sapling_payment_address(&self) -> &'static str

Returns the Bech32-encoded human-readable prefix for Sapling payment addresses for the network to which this NetworkConstants value applies. Read more
Source§

fn b58_sprout_address_prefix(&self) -> [u8; 2]

Returns the human-readable prefix for Base58Check-encoded Sprout payment addresses for the network to which this NetworkConstants value applies. Read more
Source§

fn b58_pubkey_address_prefix(&self) -> [u8; 2]

Returns the human-readable prefix for Base58Check-encoded transparent pay-to-public-key-hash payment addresses for the network to which this NetworkConstants value applies.
Source§

fn b58_script_address_prefix(&self) -> [u8; 2]

Returns the human-readable prefix for Base58Check-encoded transparent pay-to-script-hash payment addresses for the network to which this NetworkConstants value applies.
Source§

fn hrp_tex_address(&self) -> &'static str

Returns the Bech32-encoded human-readable prefix for TEX addresses, for the network to which this NetworkConstants value applies. Read more
Source§

fn hrp_unified_address(&self) -> &'static str

The HRP for a Bech32m-encoded mainnet Unified Address. Read more
Source§

fn hrp_unified_fvk(&self) -> &'static str

The HRP for a Bech32m-encoded mainnet Unified FVK. Read more
Source§

fn hrp_unified_ivk(&self) -> &'static str

The HRP for a Bech32m-encoded mainnet Unified IVK. Read more
Source§

impl<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more