Struct dock_runtime::common::SignedActionWithNonce
source · pub struct SignedActionWithNonce<T, A, S>where
T: Types,
A: ActionWithNonce<T>,{
pub action: A,
pub signature: S,
/* private fields */
}
Fields§
§action: A
§signature: S
Implementations§
source§impl<T, A, S> SignedActionWithNonce<T, A, S>where
T: Types,
A: ActionWithNonce<T>,
impl<T, A, S> SignedActionWithNonce<T, A, S>where T: Types, A: ActionWithNonce<T>,
pub fn new(action: A, signature: S) -> SignedActionWithNonce<T, A, S>
source§impl<T, A, Sig> SignedActionWithNonce<T, A, Sig>where
T: Config,
A: ActionWithNonce<T> + ToStateChange<T>,
Sig: AuthorizeSignedAction<T, A>,
<A as Action>::Target: Associated<T>,
<Sig as Signature>::Signer: AuthorizeTarget<T, <A as Action>::Target, <Sig as Signature>::Key> + Deref,
<<Sig as Signature>::Signer as Deref>::Target: AuthorizeTarget<T, <A as Action>::Target, <Sig as Signature>::Key>,
impl<T, A, Sig> SignedActionWithNonce<T, A, Sig>where T: Config, A: ActionWithNonce<T> + ToStateChange<T>, Sig: AuthorizeSignedAction<T, A>, <A as Action>::Target: Associated<T>, <Sig as Signature>::Signer: AuthorizeTarget<T, <A as Action>::Target, <Sig as Signature>::Key> + Deref, <<Sig as Signature>::Signer as Deref>::Target: AuthorizeTarget<T, <A as Action>::Target, <Sig as Signature>::Key>,
sourcepub fn execute_without_target_data<F, S, R, E>(
self,
f: F
) -> Result<R, IntermediateError<T>>where
F: FnOnce(A, <Sig as Signature>::Signer) -> Result<R, E>,
E: Into<IntermediateError<T>>,
<A as Action>::Target: StorageRef<T>,
<<Sig as Signature>::Signer as Deref>::Target: StorageRef<T, Value = WithNonce<T, S>> + Clone,
pub fn execute_without_target_data<F, S, R, E>( self, f: F ) -> Result<R, IntermediateError<T>>where F: FnOnce(A, <Sig as Signature>::Signer) -> Result<R, E>, E: Into<IntermediateError<T>>, <A as Action>::Target: StorageRef<T>, <<Sig as Signature>::Signer as Deref>::Target: StorageRef<T, Value = WithNonce<T, S>> + Clone,
Verifies signer’s signature and nonce, then executes given action without providing target data. In case of a successful result, increases the signer’s nonce.
sourcepub fn execute_view<F, S, R, E>(self, f: F) -> Result<R, IntermediateError<T>>where
F: FnOnce(A, <<A as Action>::Target as Associated<T>>::Value, <Sig as Signature>::Signer) -> Result<R, E>,
E: Into<IntermediateError<T>>,
<A as Action>::Target: StorageRef<T>,
<<Sig as Signature>::Signer as Deref>::Target: StorageRef<T, Value = WithNonce<T, S>> + Clone,
pub fn execute_view<F, S, R, E>(self, f: F) -> Result<R, IntermediateError<T>>where F: FnOnce(A, <<A as Action>::Target as Associated<T>>::Value, <Sig as Signature>::Signer) -> Result<R, E>, E: Into<IntermediateError<T>>, <A as Action>::Target: StorageRef<T>, <<Sig as Signature>::Signer as Deref>::Target: StorageRef<T, Value = WithNonce<T, S>> + Clone,
Verifies signer’s signature and nonce, then executes given action providing a value associated with the target. In case of a successful result, increases the signer’s nonce.
sourcepub fn execute<F, S, R, E>(self, f: F) -> Result<R, IntermediateError<T>>where
F: FnOnce(A, &mut <<A as Action>::Target as Associated<T>>::Value, <Sig as Signature>::Signer) -> Result<R, E>,
E: Into<IntermediateError<T>>,
<A as Action>::Target: StorageRef<T>,
<<Sig as Signature>::Signer as Deref>::Target: StorageRef<T, Value = WithNonce<T, S>> + Clone,
pub fn execute<F, S, R, E>(self, f: F) -> Result<R, IntermediateError<T>>where F: FnOnce(A, &mut <<A as Action>::Target as Associated<T>>::Value, <Sig as Signature>::Signer) -> Result<R, E>, E: Into<IntermediateError<T>>, <A as Action>::Target: StorageRef<T>, <<Sig as Signature>::Signer as Deref>::Target: StorageRef<T, Value = WithNonce<T, S>> + Clone,
Verifies signer’s signature and nonce, then executes given action providing a mutable reference to the value associated with the target. In case of a successful result, commits all storage changes and increases the signer’s nonce.
sourcepub fn execute_removable<F, S, R, E>(
self,
f: F
) -> Result<R, IntermediateError<T>>where
F: FnOnce(A, &mut Option<<<A as Action>::Target as Associated<T>>::Value>, <Sig as Signature>::Signer) -> Result<R, E>,
E: Into<IntermediateError<T>>,
<A as Action>::Target: StorageRef<T>,
<<Sig as Signature>::Signer as Deref>::Target: StorageRef<T, Value = WithNonce<T, S>> + Clone,
pub fn execute_removable<F, S, R, E>( self, f: F ) -> Result<R, IntermediateError<T>>where F: FnOnce(A, &mut Option<<<A as Action>::Target as Associated<T>>::Value>, <Sig as Signature>::Signer) -> Result<R, E>, E: Into<IntermediateError<T>>, <A as Action>::Target: StorageRef<T>, <<Sig as Signature>::Signer as Deref>::Target: StorageRef<T, Value = WithNonce<T, S>> + Clone,
Verifies signer’s signature and nonce, then executes given action providing a mutable reference to the option containing a value associated with the target. In case of a successful result, commits all storage changes and increases the signer’s nonce.
source§impl<T, A> SignedActionWithNonce<T, A, DidOrDidMethodKeySignature<Controller>>where
A: ActionWithNonce<T, Target = Did> + ToStateChange<T>,
DidOrDidMethodKeySignature<Controller>: AuthorizeSignedAction<T, A, Key = DidKeyOrDidMethodKey, Signer = Controller>,
T: Config,
impl<T, A> SignedActionWithNonce<T, A, DidOrDidMethodKeySignature<Controller>>where A: ActionWithNonce<T, Target = Did> + ToStateChange<T>, DidOrDidMethodKeySignature<Controller>: AuthorizeSignedAction<T, A, Key = DidKeyOrDidMethodKey, Signer = Controller>, T: Config,
pub fn execute_from_controller<F, R, E>( self, f: F ) -> Result<R, IntermediateError<T>>where F: FnOnce(A, &mut OnChainDidDetails) -> Result<R, E>, E: Into<IntermediateError<T>>,
pub fn execute_removable_from_controller<F, R, E>( self, f: F ) -> Result<R, IntermediateError<T>>where F: FnOnce(A, &mut Option<OnChainDidDetails>) -> Result<R, E>, E: Into<IntermediateError<T>>,
Auto Trait Implementations§
impl<T, A, S> RefUnwindSafe for SignedActionWithNonce<T, A, S>where A: RefUnwindSafe, S: RefUnwindSafe, T: RefUnwindSafe,
impl<T, A, S> Send for SignedActionWithNonce<T, A, S>where A: Send, S: Send, T: Send,
impl<T, A, S> Sync for SignedActionWithNonce<T, A, S>where A: Sync, S: Sync, T: Sync,
impl<T, A, S> Unpin for SignedActionWithNonce<T, A, S>where A: Unpin, S: Unpin, T: Unpin,
impl<T, A, S> UnwindSafe for SignedActionWithNonce<T, A, S>where A: UnwindSafe, S: UnwindSafe, T: UnwindSafe,
Blanket Implementations§
source§impl<T> CanUpdate<()> for T
impl<T> CanUpdate<()> for T
source§fn can_remove(&self, _entity: &()) -> bool
fn can_remove(&self, _entity: &()) -> bool
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where Self: TryInto<T>,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IsType<T> for T
impl<T> IsType<T> for T
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T
. Read more§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.