Struct ibc::core::ics24_host::identifier::ChainId
source · [−]pub struct ChainId { /* private fields */ }Expand description
This type is subject to future changes.
TODO: ChainId validation is not standardized yet.
is_epoch_format will most likely be replaced by validate_chain_id()-style function.
See: https://github.com/informalsystems/ibc-rs/pull/304#discussion_r503917283.
Also, contrast with tendermint-rs ChainId type.
Implementations
sourceimpl ChainId
impl ChainId
sourcepub fn new(name: String, version: u64) -> Self
pub fn new(name: String, version: u64) -> Self
Creates a new ChainId given a chain name and an epoch number.
The returned ChainId will have the format: {chain name}-{epoch number}.
use ibc::core::ics24_host::identifier::ChainId;
let epoch_number = 10;
let id = ChainId::new("chainA".to_string(), epoch_number);
assert_eq!(id.version(), epoch_number);pub fn from_string(id: &str) -> Self
sourcepub fn chain_version(chain_id: &str) -> u64
pub fn chain_version(chain_id: &str) -> u64
Extract the version from the given chain identifier.
use ibc::core::ics24_host::identifier::ChainId;
assert_eq!(ChainId::chain_version("chain--a-0"), 0);
assert_eq!(ChainId::chain_version("ibc-10"), 10);
assert_eq!(ChainId::chain_version("cosmos-hub-97"), 97);
assert_eq!(ChainId::chain_version("testnet-helloworld-2"), 2);sourcepub fn is_epoch_format(chain_id: &str) -> bool
pub fn is_epoch_format(chain_id: &str) -> bool
is_epoch_format() checks if a chain_id is in the format required for parsing epochs
The chainID must be in the form: {chainID}-{version}
use ibc::core::ics24_host::identifier::ChainId;
assert_eq!(ChainId::is_epoch_format("chainA-0"), false);
assert_eq!(ChainId::is_epoch_format("chainA"), false);
assert_eq!(ChainId::is_epoch_format("chainA-1"), true);Trait Implementations
sourceimpl<'de> Deserialize<'de> for ChainId
impl<'de> Deserialize<'de> for ChainId
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Ord for ChainId
impl Ord for ChainId
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl PartialOrd<ChainId> for ChainId
impl PartialOrd<ChainId> for ChainId
sourcefn partial_cmp(&self, other: &ChainId) -> Option<Ordering>
fn partial_cmp(&self, other: &ChainId) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl Eq for ChainId
impl StructuralEq for ChainId
impl StructuralPartialEq for ChainId
Auto Trait Implementations
impl RefUnwindSafe for ChainId
impl Send for ChainId
impl Sync for ChainId
impl Unpin for ChainId
impl UnwindSafe for ChainId
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more