pub struct NodeId(pub [u8; 30]);
Expand description
The unique identifier of a (stored) node.
Tuple Fields§
§0: [u8; 30]
Implementations§
Source§impl NodeId
impl NodeId
pub const ENTITY_ID_LENGTH: usize = 1usize
pub const RID_LENGTH: usize = 29usize
pub const LENGTH: usize = 30usize
pub fn new(entity_byte: u8, random_bytes: &[u8; 29]) -> NodeId
pub fn to_vec(&self) -> Vec<u8> ⓘ
pub fn as_bytes(&self) -> &[u8] ⓘ
pub fn to_hex(&self) -> String
pub fn try_from_hex(hex: &str) -> Option<NodeId>
pub const fn entity_type(&self) -> Option<EntityType>
Sourcepub const fn is_internal(&self) -> bool
pub const fn is_internal(&self) -> bool
Internal
means non-global per current implementation.
It includes both non-root nodes in the store and any nodes in the heap.
pub const fn is_global_component(&self) -> bool
pub const fn is_global_account(&self) -> bool
pub const fn is_global_package(&self) -> bool
pub const fn is_global_consensus_manager(&self) -> bool
pub const fn is_global_validator(&self) -> bool
pub const fn is_global_resource_manager(&self) -> bool
pub const fn is_global_fungible_resource_manager(&self) -> bool
pub const fn is_global_non_fungible_resource_manager(&self) -> bool
pub const fn is_global_preallocated(&self) -> bool
pub const fn is_internal_kv_store(&self) -> bool
pub const fn is_internal_fungible_vault(&self) -> bool
pub const fn is_internal_non_fungible_vault(&self) -> bool
pub const fn is_internal_vault(&self) -> bool
pub fn len(&self) -> usize
Trait Implementations§
Source§impl AsRef<NodeId> for ComponentAddress
impl AsRef<NodeId> for ComponentAddress
Source§impl AsRef<NodeId> for GlobalAddress
impl AsRef<NodeId> for GlobalAddress
Source§impl AsRef<NodeId> for InternalAddress
impl AsRef<NodeId> for InternalAddress
Source§impl AsRef<NodeId> for PackageAddress
impl AsRef<NodeId> for PackageAddress
Source§impl AsRef<NodeId> for ResourceAddress
impl AsRef<NodeId> for ResourceAddress
Source§impl<X> Categorize<X> for NodeIdwhere
X: CustomValueKind,
impl<X> Categorize<X> for NodeIdwhere
X: CustomValueKind,
fn value_kind() -> ValueKind<X>
Source§impl<'a> ContextualDisplay<AddressDisplayContext<'a>> for NodeId
impl<'a> ContextualDisplay<AddressDisplayContext<'a>> for NodeId
type Error = AddressBech32EncodeError
Source§fn contextual_format<F>(
&self,
f: &mut F,
context: &AddressDisplayContext<'a>,
) -> Result<(), <NodeId as ContextualDisplay<AddressDisplayContext<'a>>>::Error>where
F: Write,
fn contextual_format<F>(
&self,
f: &mut F,
context: &AddressDisplayContext<'a>,
) -> Result<(), <NodeId as ContextualDisplay<AddressDisplayContext<'a>>>::Error>where
F: Write,
Formats the value to the given
fmt::Write
buffer, making use of the provided context.
See also format
, which is typically easier to use, as it takes an Into<Context>
instead of a &Context
.Source§fn format<F, TContext>(
&self,
f: &mut F,
context: TContext,
) -> Result<(), Self::Error>
fn format<F, TContext>( &self, f: &mut F, context: TContext, ) -> Result<(), Self::Error>
Formats the value to the given
fmt::Write
buffer, making use of the provided context.
See also contextual_format
, which takes a &Context
instead of an Into<Context>
. Read moreSource§fn display<'a, 'b, TContext>(
&'a self,
context: TContext,
) -> ContextDisplayable<'a, Self, Context>where
TContext: Into<Context>,
fn display<'a, 'b, TContext>(
&'a self,
context: TContext,
) -> ContextDisplayable<'a, Self, Context>where
TContext: Into<Context>,
fn to_string<'a, 'b, TContext>(&'a self, context: TContext) -> Stringwhere
TContext: Into<Context>,
Source§impl<D, X> Decode<X, D> for NodeIdwhere
D: Decoder<X>,
X: CustomValueKind,
impl<D, X> Decode<X, D> for NodeIdwhere
D: Decoder<X>,
X: CustomValueKind,
Source§fn decode_body_with_value_kind(
decoder: &mut D,
value_kind: ValueKind<X>,
) -> Result<NodeId, DecodeError>
fn decode_body_with_value_kind( decoder: &mut D, value_kind: ValueKind<X>, ) -> Result<NodeId, DecodeError>
Decodes the type from the decoder, which should match a preloaded value kind. Read more
Source§impl<C> Describe<C> for NodeIdwhere
C: CustomTypeKind<RustTypeId>,
impl<C> Describe<C> for NodeIdwhere
C: CustomTypeKind<RustTypeId>,
Source§const TYPE_ID: RustTypeId
const TYPE_ID: RustTypeId
The
TYPE_ID
should give a unique identifier for its SBOR schema type.
An SBOR schema type capture details about the SBOR payload, how it should be interpreted, validated and displayed. Read moreSource§fn type_data() -> TypeData<C, RustTypeId>
fn type_data() -> TypeData<C, RustTypeId>
Returns the local schema for the given type. Read more
Source§fn add_all_dependencies(aggregator: &mut TypeAggregator<C>)
fn add_all_dependencies(aggregator: &mut TypeAggregator<C>)
For each type referenced in
get_local_type_data
, we need to ensure that the type and all of its own references
get added to the aggregator. Read moreSource§impl<E, X> Encode<X, E> for NodeIdwhere
E: Encoder<X>,
X: CustomValueKind,
impl<E, X> Encode<X, E> for NodeIdwhere
E: Encoder<X>,
X: CustomValueKind,
Source§fn encode_value_kind(&self, encoder: &mut E) -> Result<(), EncodeError>
fn encode_value_kind(&self, encoder: &mut E) -> Result<(), EncodeError>
Encodes the SBOR value’s kind to the encoder
Source§fn encode_body(&self, encoder: &mut E) -> Result<(), EncodeError>
fn encode_body(&self, encoder: &mut E) -> Result<(), EncodeError>
Encodes the SBOR body of the type to the encoder. Read more
Source§impl From<ComponentAddress> for NodeId
impl From<ComponentAddress> for NodeId
Source§fn from(value: ComponentAddress) -> NodeId
fn from(value: ComponentAddress) -> NodeId
Converts to this type from the input type.
Source§impl From<GlobalAddress> for NodeId
impl From<GlobalAddress> for NodeId
Source§fn from(value: GlobalAddress) -> NodeId
fn from(value: GlobalAddress) -> NodeId
Converts to this type from the input type.
Source§impl From<InternalAddress> for NodeId
impl From<InternalAddress> for NodeId
Source§fn from(value: InternalAddress) -> NodeId
fn from(value: InternalAddress) -> NodeId
Converts to this type from the input type.
Source§impl From<PackageAddress> for NodeId
impl From<PackageAddress> for NodeId
Source§fn from(value: PackageAddress) -> NodeId
fn from(value: PackageAddress) -> NodeId
Converts to this type from the input type.
Source§impl From<ResourceAddress> for NodeId
impl From<ResourceAddress> for NodeId
Source§fn from(value: ResourceAddress) -> NodeId
fn from(value: ResourceAddress) -> NodeId
Converts to this type from the input type.
Source§impl Ord for NodeId
impl Ord for NodeId
Source§impl PartialOrd for NodeId
impl PartialOrd for NodeId
Source§impl<X> SborEnum<X> for NodeId
impl<X> SborEnum<X> for NodeId
fn get_discriminator(&self) -> u8
fn get_length(&self) -> usize
Source§impl TryFrom<NodeId> for ComponentAddress
impl TryFrom<NodeId> for ComponentAddress
Source§type Error = ParseComponentAddressError
type Error = ParseComponentAddressError
The type returned in the event of a conversion error.
Source§fn try_from(
node_id: NodeId,
) -> Result<ComponentAddress, <ComponentAddress as TryFrom<NodeId>>::Error>
fn try_from( node_id: NodeId, ) -> Result<ComponentAddress, <ComponentAddress as TryFrom<NodeId>>::Error>
Performs the conversion.
Source§impl TryFrom<NodeId> for GlobalAddress
impl TryFrom<NodeId> for GlobalAddress
Source§type Error = ParseGlobalAddressError
type Error = ParseGlobalAddressError
The type returned in the event of a conversion error.
Source§fn try_from(
node_id: NodeId,
) -> Result<GlobalAddress, <GlobalAddress as TryFrom<NodeId>>::Error>
fn try_from( node_id: NodeId, ) -> Result<GlobalAddress, <GlobalAddress as TryFrom<NodeId>>::Error>
Performs the conversion.
Source§impl TryFrom<NodeId> for InternalAddress
impl TryFrom<NodeId> for InternalAddress
Source§type Error = ParseInternalAddressError
type Error = ParseInternalAddressError
The type returned in the event of a conversion error.
Source§fn try_from(
node_id: NodeId,
) -> Result<InternalAddress, <InternalAddress as TryFrom<NodeId>>::Error>
fn try_from( node_id: NodeId, ) -> Result<InternalAddress, <InternalAddress as TryFrom<NodeId>>::Error>
Performs the conversion.
Source§impl TryFrom<NodeId> for PackageAddress
impl TryFrom<NodeId> for PackageAddress
Source§type Error = ParsePackageAddressError
type Error = ParsePackageAddressError
The type returned in the event of a conversion error.
Source§fn try_from(
node_id: NodeId,
) -> Result<PackageAddress, <PackageAddress as TryFrom<NodeId>>::Error>
fn try_from( node_id: NodeId, ) -> Result<PackageAddress, <PackageAddress as TryFrom<NodeId>>::Error>
Performs the conversion.
Source§impl TryFrom<NodeId> for ResourceAddress
impl TryFrom<NodeId> for ResourceAddress
Source§type Error = ParseResourceAddressError
type Error = ParseResourceAddressError
The type returned in the event of a conversion error.
Source§fn try_from(
node_id: NodeId,
) -> Result<ResourceAddress, <ResourceAddress as TryFrom<NodeId>>::Error>
fn try_from( node_id: NodeId, ) -> Result<ResourceAddress, <ResourceAddress as TryFrom<NodeId>>::Error>
Performs the conversion.
impl Copy for NodeId
impl Eq for NodeId
impl StructuralPartialEq for NodeId
Auto Trait Implementations§
impl Freeze for NodeId
impl RefUnwindSafe for NodeId
impl Send for NodeId
impl Sync for NodeId
impl Unpin for NodeId
impl UnwindSafe for NodeId
Blanket Implementations§
Source§impl<T> Base32Len for T
impl<T> Base32Len for T
Source§fn base32_len(&self) -> usize
fn base32_len(&self) -> usize
Calculate the base32 serialized length
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CheckBase32<Vec<u5>> for T
impl<T> CheckBase32<Vec<u5>> for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<T, U> ContextualTryInto<U> for Twhere
U: ContextualTryFrom<T>,
impl<T, U> ContextualTryInto<U> for Twhere
U: ContextualTryFrom<T>,
type Error = <U as ContextualTryFrom<T>>::Error
type Context = <U as ContextualTryFrom<T>>::Context
fn contextual_try_into( self, context: &<U as ContextualTryFrom<T>>::Context, ) -> Result<U, <U as ContextualTryFrom<T>>::Error>
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<X, Y> LabelledResolve<Y> for Xwhere
Y: LabelledResolveFrom<X>,
impl<X, Y> LabelledResolve<Y> for Xwhere
Y: LabelledResolveFrom<X>,
fn labelled_resolve( self, resolver: &impl LabelResolver<<Y as LabelledResolvable>::ResolverOutput>, ) -> Y
Source§impl<T> ToBase32 for T
impl<T> ToBase32 for T
Source§fn write_base32<W>(&self, writer: &mut W) -> Result<(), <W as WriteBase32>::Err>where
W: WriteBase32,
fn write_base32<W>(&self, writer: &mut W) -> Result<(), <W as WriteBase32>::Err>where
W: WriteBase32,
Encode as base32 and write it to the supplied writer
Implementations shouldn’t allocate.
Source§impl<T> ToHex for T
impl<T> ToHex for T
Source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
Encode the hex strict representing
self
into the result. Lower case
letters are used (e.g. f9b4ca
)Source§fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
Encode the hex strict representing
self
into the result. Upper case
letters are used (e.g. F9B4CA
)