pub struct Dna {
pub author: HoloHash<Agent>,
pub timestamp: Timestamp,
pub hash: HoloHash<Dna>,
}
Expand description
The Dna Action is always the first action in a source chain
Fields§
§timestamp: Timestamp
§hash: HoloHash<Dna>
Implementations§
§impl Dna
impl Dna
The Dna action can’t implement ActionBuilder because it lacks a
prev_action
field, so this helper is provided as a special case
pub fn from_builder(hash: HoloHash<Dna>, builder: ActionBuilderCommon) -> Dna
Trait Implementations§
§impl ActionUnweighed for Dna
impl ActionUnweighed for Dna
type Weighed = Dna
type Weight = ()
§fn weighed(self, _weight: ()) -> Dna
fn weighed(self, _weight: ()) -> Dna
Add a weight to this unweighed action, making it “weighed”.
The weight is determined by the
weigh
callback, which is run on the
unweighed version of this action.§fn weightless(self) -> Self::Weighed
fn weightless(self) -> Self::Weighed
Add zero weight to this unweighed action, making it “weighed”.
§impl ActionWeighed for Dna
impl ActionWeighed for Dna
type Unweighed = Dna
type Weight = ()
§fn into_action(self) -> Action
fn into_action(self) -> Action
Construct the full Action enum with this variant.
§fn unweighed(self) -> <Dna as ActionWeighed>::Unweighed
fn unweighed(self) -> <Dna as ActionWeighed>::Unweighed
Erase the rate limiting weight info, creating an “unweighed” version
of this action. This is used primarily by validators who need to run the
weigh
callback on an action they received, and want to make sure their
callback is not using the predefined weight to influence the result.§impl<'arbitrary> Arbitrary<'arbitrary> for Dna
impl<'arbitrary> Arbitrary<'arbitrary> for Dna
§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Dna, Error>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Dna, Error>
Generate an arbitrary value of
Self
from the given unstructured data. Read more§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Dna, Error>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Dna, Error>
Generate an arbitrary value of
Self
from the entirety of the given
unstructured data. Read more§impl<'de> Deserialize<'de> for Dna
impl<'de> Deserialize<'de> for Dna
§fn deserialize<__D>(
__deserializer: __D
) -> Result<Dna, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<Dna, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl HashableContent for Dna
impl HashableContent for Dna
§fn hash_type(&self) -> <Dna as HashableContent>::HashType
fn hash_type(&self) -> <Dna as HashableContent>::HashType
The HashType which this content will be hashed to
§fn hashable_content(&self) -> HashableContentBytes
fn hashable_content(&self) -> HashableContentBytes
Return a subset of the content, either as SerializedBytes “content”,
which will be used to compute the hash, or as an already precomputed
hash which will be used directly
§impl Serialize for Dna
impl Serialize for Dna
§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,
Serialize this value into the given Serde serializer. Read more
§impl TryFrom<&Dna> for SerializedBytes
impl TryFrom<&Dna> for SerializedBytes
§type Error = SerializedBytesError
type Error = SerializedBytesError
The type returned in the event of a conversion error.
§fn try_from(t: &Dna) -> Result<SerializedBytes, SerializedBytesError>
fn try_from(t: &Dna) -> Result<SerializedBytes, SerializedBytesError>
Performs the conversion.
§impl TryFrom<Dna> for SerializedBytes
impl TryFrom<Dna> for SerializedBytes
§type Error = SerializedBytesError
type Error = SerializedBytesError
The type returned in the event of a conversion error.
§fn try_from(t: Dna) -> Result<SerializedBytes, SerializedBytesError>
fn try_from(t: Dna) -> Result<SerializedBytes, SerializedBytesError>
Performs the conversion.
§impl TryFrom<SerializedBytes> for Dna
impl TryFrom<SerializedBytes> for Dna
§type Error = SerializedBytesError
type Error = SerializedBytesError
The type returned in the event of a conversion error.
§fn try_from(sb: SerializedBytes) -> Result<Dna, SerializedBytesError>
fn try_from(sb: SerializedBytes) -> Result<Dna, SerializedBytesError>
Performs the conversion.
impl Eq for Dna
impl StructuralEq for Dna
impl StructuralPartialEq for Dna
Auto Trait Implementations§
impl RefUnwindSafe for Dna
impl Send for Dna
impl Sync for Dna
impl Unpin for Dna
impl UnwindSafe for Dna
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
§impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,
§fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§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<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§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 Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
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 Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§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> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
source§impl<T, C> HashableContentExtSync<T> for Cwhere
T: HashTypeSync,
C: HashableContent<HashType = T>,
impl<T, C> HashableContentExtSync<T> for Cwhere T: HashTypeSync, C: HashableContent<HashType = T>,
source§fn into_hashed(self) -> HoloHashed<C>
fn into_hashed(self) -> HoloHashed<C>
Move into a HoloHashed
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> 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> ⓘ
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.§impl<T> Upcastable for Twhere
T: Any + Send + Sync + 'static,
impl<T> Upcastable for Twhere T: Any + Send + Sync + 'static,
§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref