pub struct ChainScopedMessage<M: Encode> {
pub genesis_hash: BlockHash,
pub nonce_or_id: u64,
pub label: &'static [u8],
pub expires_at: Moment,
pub message: M,
}Expand description
Chain scoped message for signing and verifying signatures. This is used to prevent signature replay attacks across different chains.
Fields§
§genesis_hash: BlockHash§nonce_or_id: u64§label: &'static [u8]§expires_at: Moment§message: MImplementations§
Source§impl<M: Encode> ChainScopedMessage<M>
impl<M: Encode> ChainScopedMessage<M>
Sourcepub async fn new(
api: &Api,
nonce_or_id: u64,
label: &'static [u8],
expires_at: Option<Moment>,
message: M,
) -> Result<ChainScopedMessage<M>>
pub async fn new( api: &Api, nonce_or_id: u64, label: &'static [u8], expires_at: Option<Moment>, message: M, ) -> Result<ChainScopedMessage<M>>
Create a new ChainScopedMessage unchecked.
Trait Implementations§
Source§impl<M> Encode for ChainScopedMessage<M>
impl<M> Encode for ChainScopedMessage<M>
Source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
Source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
Convert self to a slice and append it to the destination.
Source§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Convert self to a slice and then invoke the given closure with it.
Source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
impl<M> EncodeLike for ChainScopedMessage<M>
Auto Trait Implementations§
impl<M> Freeze for ChainScopedMessage<M>where
M: Freeze,
impl<M> RefUnwindSafe for ChainScopedMessage<M>where
M: RefUnwindSafe,
impl<M> Send for ChainScopedMessage<M>where
M: Send,
impl<M> Sync for ChainScopedMessage<M>where
M: Sync,
impl<M> Unpin for ChainScopedMessage<M>where
M: Unpin,
impl<M> UnsafeUnpin for ChainScopedMessage<M>where
M: UnsafeUnpin,
impl<M> UnwindSafe for ChainScopedMessage<M>where
M: UnwindSafe,
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<T> CheckedConversion for T
impl<T> CheckedConversion for T
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T. Read moreSource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T.