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_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_virtual(&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<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
.§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 more§fn display<TContext, 'a, 'b>(
&'a self,
context: TContext
) -> ContextDisplayable<'a, Self, Context>where
TContext: Into<Context>,
fn display<TContext, 'a, 'b>(
&'a self,
context: TContext
) -> ContextDisplayable<'a, Self, Context>where
TContext: Into<Context>,
fn to_string<TContext, 'a, 'b>(&'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 PartialEq for NodeId
impl PartialEq for NodeId
source§impl PartialOrd for NodeId
impl PartialOrd for NodeId
1.0.0 · source§fn 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 moresource§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
§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
§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
§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
§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
§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 RefUnwindSafe for NodeId
impl Send for NodeId
impl Sync for NodeId
impl Unpin for NodeId
impl UnwindSafe for NodeId
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self
to type T
. The semantics of numeric casting with the as
operator are followed, so <T as As>::as_::<U>
can be used in the same way as T as U
for numeric conversions. Read more§impl<T> Base32Len for T
impl<T> Base32Len for T
§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<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.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> ToBase32 for T
impl<T> ToBase32 for T
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
)