#[repr(C)]pub struct TopicId {
pub shard: u64,
pub realm: u64,
pub num: u64,
pub checksum: Option<Checksum>,
}
Expand description
The unique identifier for a topic on Hedera.
Fields§
§shard: u64
A non-negative number identifying the shard containing this topic.
realm: u64
A non-negative number identifying the realm within the shard containing this topic.
num: u64
A non-negative number identifying the entity within the realm containing this topic.
checksum: Option<Checksum>
A checksum if the topic ID was read from a user inputted string which inclueded a checksum
Implementations§
source§impl TopicId
impl TopicId
sourcepub const fn new(shard: u64, realm: u64, num: u64) -> Self
pub const fn new(shard: u64, realm: u64, num: u64) -> Self
Create a TopicId
with the given shard.realm.num
.
sourcepub fn from_bytes(bytes: &[u8]) -> Result<Self>
pub fn from_bytes(bytes: &[u8]) -> Result<Self>
Create a new TopicId
from protobuf-encoded bytes
.
§Errors
Error::FromProtobuf
if decoding the bytes fails to produce a valid protobuf.Error::FromProtobuf
if decoding the protobuf fails.
sourcepub fn from_solidity_address(address: &str) -> Result<Self>
pub fn from_solidity_address(address: &str) -> Result<Self>
Create a TopicId
from a solidity address.
§Errors
Error::BasicParse
ifaddress
cannot be parsed as a solidity address.
sourcepub fn to_solidity_address(&self) -> Result<String>
pub fn to_solidity_address(&self) -> Result<String>
Convert self
into a solidity address
§Errors
Error::BasicParse
ifself.shard
is larger thanu32::MAX
.
sourcepub fn to_string_with_checksum(&self, client: &Client) -> String
pub fn to_string_with_checksum(&self, client: &Client) -> String
Convert self
to a string with a valid checksum.
sourcepub fn validate_checksum(&self, client: &Client) -> Result<()>
pub fn validate_checksum(&self, client: &Client) -> Result<()>
Validates self.checksum
(if it exists) for client
.
§Errors
Error::BadEntityId
if there is a checksum, and the checksum is not valid for the client’sledger_id
.
Trait Implementations§
source§impl PartialEq for TopicId
impl PartialEq for TopicId
impl Copy for TopicId
impl Eq for TopicId
impl StructuralPartialEq for TopicId
Auto Trait Implementations§
impl Freeze for TopicId
impl RefUnwindSafe for TopicId
impl Send for TopicId
impl Sync for TopicId
impl Unpin for TopicId
impl UnwindSafe for TopicId
Blanket Implementations§
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.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<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request