pub struct Digest(/* private fields */);
Expand description
A 32-byte Blake2b256 hash output.
§BCS
A Digest
’s BCS serialized form is defined by the following:
digest = %x20 32OCTET
Due to historical reasons, even though a Digest
has a fixed-length of 32, Sui’s binary
representation of a Digest
is prefixed with its length meaning its serialized binary form (in
bcs) is 33 bytes long vs a more compact 32 bytes.
Implementations§
Source§impl Digest
impl Digest
Sourcepub const fn new(digest: [u8; 32]) -> Self
pub const fn new(digest: [u8; 32]) -> Self
Generates a new digest from the provided 32 byte array containing u8
values.
Sourcepub fn generate<R>(rng: R) -> Self
Available on crate feature rand
only.
pub fn generate<R>(rng: R) -> Self
rand
only.Generates a new digest from the provided random number generator.
Sourcepub const fn inner(&self) -> &[u8; 32]
pub const fn inner(&self) -> &[u8; 32]
Returns a slice to the inner array representation of this digest.
Sourcepub const fn into_inner(self) -> [u8; 32]
pub const fn into_inner(self) -> [u8; 32]
Returns the inner array representation of this digest.
Sourcepub fn from_base58<T: AsRef<[u8]>>(base58: T) -> Result<Self, DigestParseError>
pub fn from_base58<T: AsRef<[u8]>>(base58: T) -> Result<Self, DigestParseError>
Decodes a digest from a Base58 encoded string.
Sourcepub fn to_base58(&self) -> String
pub fn to_base58(&self) -> String
Returns a Base58 encoded string representation of this digest.
Sourcepub fn from_bytes<T: AsRef<[u8]>>(bytes: T) -> Result<Self, DigestParseError>
pub fn from_bytes<T: AsRef<[u8]>>(bytes: T) -> Result<Self, DigestParseError>
Generates a digest from bytes.
Trait Implementations§
Source§impl Arbitrary for Digest
impl Arbitrary for Digest
Source§type Parameters = ()
type Parameters = ()
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.Source§type Strategy = BoxedStrategy<Digest>
type Strategy = BoxedStrategy<Digest>
The type of
Strategy
used to generate values of type Self
.Source§fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
Source§impl<'de> Deserialize<'de> for Digest
impl<'de> Deserialize<'de> for Digest
Source§fn 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
Source§impl From<CheckpointContentsDigest> for Digest
impl From<CheckpointContentsDigest> for Digest
Source§fn from(digest: CheckpointContentsDigest) -> Self
fn from(digest: CheckpointContentsDigest) -> Self
Converts to this type from the input type.
Source§impl From<CheckpointDigest> for Digest
impl From<CheckpointDigest> for Digest
Source§fn from(digest: CheckpointDigest) -> Self
fn from(digest: CheckpointDigest) -> Self
Converts to this type from the input type.
Source§impl From<ConsensusCommitDigest> for Digest
impl From<ConsensusCommitDigest> for Digest
Source§fn from(digest: ConsensusCommitDigest) -> Self
fn from(digest: ConsensusCommitDigest) -> Self
Converts to this type from the input type.
Source§impl From<Digest> for CheckpointContentsDigest
impl From<Digest> for CheckpointContentsDigest
Source§impl From<Digest> for CheckpointDigest
impl From<Digest> for CheckpointDigest
Source§impl From<Digest> for ConsensusCommitDigest
impl From<Digest> for ConsensusCommitDigest
Source§impl From<Digest> for EffectsAuxiliaryDataDigest
impl From<Digest> for EffectsAuxiliaryDataDigest
Source§impl From<Digest> for ObjectDigest
impl From<Digest> for ObjectDigest
Source§impl From<Digest> for TransactionDigest
impl From<Digest> for TransactionDigest
Source§impl From<Digest> for TransactionEffectsDigest
impl From<Digest> for TransactionEffectsDigest
Source§impl From<Digest> for TransactionEventsDigest
impl From<Digest> for TransactionEventsDigest
Source§impl From<EffectsAuxiliaryDataDigest> for Digest
impl From<EffectsAuxiliaryDataDigest> for Digest
Source§fn from(digest: EffectsAuxiliaryDataDigest) -> Self
fn from(digest: EffectsAuxiliaryDataDigest) -> Self
Converts to this type from the input type.
Source§impl From<ObjectDigest> for Digest
impl From<ObjectDigest> for Digest
Source§fn from(digest: ObjectDigest) -> Self
fn from(digest: ObjectDigest) -> Self
Converts to this type from the input type.
Source§impl From<TransactionDigest> for Digest
impl From<TransactionDigest> for Digest
Source§fn from(digest: TransactionDigest) -> Self
fn from(digest: TransactionDigest) -> Self
Converts to this type from the input type.
Source§impl From<TransactionEffectsDigest> for Digest
impl From<TransactionEffectsDigest> for Digest
Source§fn from(digest: TransactionEffectsDigest) -> Self
fn from(digest: TransactionEffectsDigest) -> Self
Converts to this type from the input type.
Source§impl From<TransactionEventsDigest> for Digest
impl From<TransactionEventsDigest> for Digest
Source§fn from(digest: TransactionEventsDigest) -> Self
fn from(digest: TransactionEventsDigest) -> Self
Converts to this type from the input type.
Source§impl Ord for Digest
impl Ord for Digest
Source§impl PartialOrd for Digest
impl PartialOrd for Digest
impl Copy for Digest
impl Eq for Digest
impl StructuralPartialEq for Digest
Auto Trait Implementations§
impl Freeze for Digest
impl RefUnwindSafe for Digest
impl Send for Digest
impl Sync for Digest
impl Unpin for Digest
impl UnwindSafe for Digest
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 moreSource§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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
)