Struct holochain::prelude::AddRecordPayload
source · pub struct AddRecordPayload<A = SignedHashed<Action>> {
pub action: A,
pub encrypted_entry: Option<(Arc<EncryptedEntry, Global>, Signature)>,
}
Expand description
A Record to be added to the CHC.
The SignedActionHashed is constructed as usual. The Entry data is encrypted (TODO: by which key?), and the encrypted data is signed by the agent. This ensures that only the correct agent is adding records to its CHC. This EncryptedEntry signature is not used anywhere outside the context of the CHC.
Fields§
§action: A
The signed, hashed Action for the Record
encrypted_entry: Option<(Arc<EncryptedEntry, Global>, Signature)>
The entry, encrypted (TODO: by which key?), with the signature of of the encrypted bytes
Implementations§
source§impl AddRecordPayload<SignedHashed<Action>>
impl AddRecordPayload<SignedHashed<Action>>
sourcepub async fn from_records(
keystore: MetaLairClient,
agent_pubkey: HoloHash<Agent>,
records: Vec<Record<SignedHashed<Action>>, Global>
) -> impl Future<Output = Result<Vec<AddRecordPayload<SignedHashed<Action>>, Global>, ChcError>>
pub async fn from_records( keystore: MetaLairClient, agent_pubkey: HoloHash<Agent>, records: Vec<Record<SignedHashed<Action>>, Global> ) -> impl Future<Output = Result<Vec<AddRecordPayload<SignedHashed<Action>>, Global>, ChcError>>
Create a payload from a list of records. This performs the necessary signing and encryption the CHC requires.
Trait Implementations§
source§impl<A> Clone for AddRecordPayload<A>where
A: Clone,
impl<A> Clone for AddRecordPayload<A>where A: Clone,
source§fn clone(&self) -> AddRecordPayload<A>
fn clone(&self) -> AddRecordPayload<A>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'de, A> Deserialize<'de> for AddRecordPayload<A>where
A: Deserialize<'de>,
impl<'de, A> Deserialize<'de> for AddRecordPayload<A>where A: Deserialize<'de>,
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<AddRecordPayload<A>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<AddRecordPayload<A>, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<A> Serialize for AddRecordPayload<A>where
A: Serialize,
impl<A> Serialize for AddRecordPayload<A>where A: Serialize,
source§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
Auto Trait Implementations§
impl<A> RefUnwindSafe for AddRecordPayload<A>where A: RefUnwindSafe,
impl<A> Send for AddRecordPayload<A>where A: Send,
impl<A> Sync for AddRecordPayload<A>where A: Sync,
impl<A> Unpin for AddRecordPayload<A>where A: Unpin,
impl<A> UnwindSafe for AddRecordPayload<A>where A: UnwindSafe,
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<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> 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