Struct SenderSignedData
pub struct SenderSignedData(pub SignedTransaction);Expand description
A [SignedTransaction] in its intent-message serialized form.
§BCS
The BCS serialized form for this type is defined by the following ABNF:
sender-signed-transaction = %d01 intent-signed-transactionTuple Fields§
§0: SignedTransactionImplementations§
§impl SenderSignedTransaction
impl SenderSignedTransaction
pub fn full_message_digest(&self) -> SenderSignedDataDigest
pub fn full_message_digest(&self) -> SenderSignedDataDigest
Calculate the digest of the full message, committing to the signing intent, the transaction, and all signatures.
Unlike the other type digests, this hashes the BCS bytes directly, without a salt prefix.
§impl SenderSignedTransaction
impl SenderSignedTransaction
pub fn new( transaction: Transaction, signatures: Vec<UserSignature>, ) -> SenderSignedTransaction
Methods from Deref<Target = SignedTransaction>§
pub fn compute_auth_digests(
&self,
) -> Result<(Digest, Option<Digest>), MissingSignatureError>
pub fn compute_auth_digests( &self, ) -> Result<(Digest, Option<Digest>), MissingSignatureError>
Computes the auth digest for the sender and, if sponsored, for the
sponsor. See
UserSignature::auth_digest
for the per-signature logic.
Returns an error if no signature commits to the sender or sponsor address.
pub fn transaction(&self) -> &Transaction
pub fn signatures(&self) -> &[UserSignature]
pub fn intent_message(&self) -> IntentMessage<&Transaction>
pub fn intent_message(&self) -> IntentMessage<&Transaction>
Wraps a reference to the transaction in the transaction signing intent, producing the message that the signatures commit to.
pub fn move_authenticators(&self) -> Vec<&MoveAuthenticator>
pub fn move_authenticators(&self) -> Vec<&MoveAuthenticator>
Returns all MoveAuthenticator signatures.
pub fn sender_move_authenticator(&self) -> Option<&MoveAuthenticator>
pub fn sender_move_authenticator(&self) -> Option<&MoveAuthenticator>
Returns the sender’s MoveAuthenticator, if the sender uses one.
pub fn sponsor_move_authenticator(&self) -> Option<&MoveAuthenticator>
pub fn sponsor_move_authenticator(&self) -> Option<&MoveAuthenticator>
Returns the sponsor’s MoveAuthenticator, if the transaction is
sponsored and the sponsor uses one.
Trait Implementations§
§impl Arbitrary for SenderSignedTransaction
impl Arbitrary for SenderSignedTransaction
§type Parameters = ()
type Parameters = ()
arbitrary_with accepts for configuration
of the generated Strategy. Parameters must implement Default.§type Strategy = BoxedStrategy<SenderSignedTransaction>
type Strategy = BoxedStrategy<SenderSignedTransaction>
Strategy used to generate values of type Self.§fn arbitrary_with(
args_shared: <SenderSignedTransaction as Arbitrary>::Parameters,
) -> <SenderSignedTransaction as Arbitrary>::Strategy
fn arbitrary_with( args_shared: <SenderSignedTransaction as Arbitrary>::Parameters, ) -> <SenderSignedTransaction as Arbitrary>::Strategy
§impl Clone for SenderSignedTransaction
impl Clone for SenderSignedTransaction
§fn clone(&self) -> SenderSignedTransaction
fn clone(&self) -> SenderSignedTransaction
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for SenderSignedTransaction
impl Debug for SenderSignedTransaction
§impl Deref for SenderSignedTransaction
impl Deref for SenderSignedTransaction
§impl<'de> Deserialize<'de> for SenderSignedTransaction
impl<'de> Deserialize<'de> for SenderSignedTransaction
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SenderSignedTransaction, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SenderSignedTransaction, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl From<SenderSignedTransaction> for SignedTransaction
impl From<SenderSignedTransaction> for SignedTransaction
§fn from(transaction: SenderSignedTransaction) -> SignedTransaction
fn from(transaction: SenderSignedTransaction) -> SignedTransaction
§impl From<SignedTransaction> for SenderSignedTransaction
impl From<SignedTransaction> for SenderSignedTransaction
§fn from(transaction: SignedTransaction) -> SenderSignedTransaction
fn from(transaction: SignedTransaction) -> SenderSignedTransaction
§impl Hash for SenderSignedTransaction
Available on crate feature serde only.
impl Hash for SenderSignedTransaction
serde only.Source§impl Message for SenderSignedData
impl Message for SenderSignedData
§impl PartialEq for SenderSignedTransaction
impl PartialEq for SenderSignedTransaction
§fn eq(&self, other: &SenderSignedTransaction) -> bool
fn eq(&self, other: &SenderSignedTransaction) -> bool
self and other values to be equal, and is used by ==.Source§impl SenderSignedTransactionAPI for SenderSignedData
impl SenderSignedTransactionAPI for SenderSignedData
Source§fn new_from_sender_signature(
tx_data: TransactionData,
tx_signature: Signature,
) -> SenderSignedData
fn new_from_sender_signature( tx_data: TransactionData, tx_signature: Signature, ) -> SenderSignedData
SenderSignedData with a single sender signature.Source§fn add_signature(&mut self, new_signature: Signature)
fn add_signature(&mut self, new_signature: Signature)
Source§fn get_signer_sig_mapping(
&self,
) -> IotaResult<BTreeMap<Address, &UserSignature>>
fn get_signer_sig_mapping( &self, ) -> IotaResult<BTreeMap<Address, &UserSignature>>
Source§fn has_multisig(&self) -> bool
fn has_multisig(&self) -> bool
true if any signature is a multisig.Source§fn transaction_mut_for_testing(&mut self) -> &mut TransactionData
fn transaction_mut_for_testing(&mut self) -> &mut TransactionData
Source§fn tx_signatures_mut_for_testing(&mut self) -> &mut Vec<UserSignature>
fn tx_signatures_mut_for_testing(&mut self) -> &mut Vec<UserSignature>
Source§fn serialized_size(&self) -> IotaResult<usize>
fn serialized_size(&self) -> IotaResult<usize>
Source§fn validity_check(
&self,
context: &TxValidityCheckContext<'_>,
) -> Result<usize, IotaError>
fn validity_check( &self, context: &TxValidityCheckContext<'_>, ) -> Result<usize, IotaError>
Source§fn collect_all_input_object_kind_for_reading(
&self,
) -> IotaResult<Vec<InputObjectKind>>
fn collect_all_input_object_kind_for_reading( &self, ) -> IotaResult<Vec<InputObjectKind>>
MoveAuthenticators if any for reading. Read moreSource§fn split_input_objects_into_groups_for_reading(
&self,
input_objects: InputObjects,
) -> IotaResult<(InputObjects, Vec<(InputObjects, ObjectReadResult)>)>
fn split_input_objects_into_groups_for_reading( &self, input_objects: InputObjects, ) -> IotaResult<(InputObjects, Vec<(InputObjects, ObjectReadResult)>)>
SenderSignedData contains at least one shared object.
This function checks shared objects from the MoveAuthenticators if
any.MoveAuthenticators if any. Read moreSource§fn input_objects(&self) -> IotaResult<Vec<InputObjectKind>>
fn input_objects(&self) -> IotaResult<Vec<InputObjectKind>>
MoveAuthenticators if any. Read moreSource§fn uses_randomness(&self) -> bool
fn uses_randomness(&self) -> bool
SenderSignedData contains the Random object as an
input.
This function checks shared objects from the MoveAuthenticators if
any.§impl Serialize for SenderSignedTransaction
impl Serialize for SenderSignedTransaction
§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,
impl Eq for SenderSignedTransaction
impl StructuralPartialEq for SenderSignedTransaction
Auto Trait Implementations§
impl Freeze for SenderSignedTransaction
impl RefUnwindSafe for SenderSignedTransaction
impl Send for SenderSignedTransaction
impl Sync for SenderSignedTransaction
impl Unpin for SenderSignedTransaction
impl UnsafeUnpin for SenderSignedTransaction
impl UnwindSafe for SenderSignedTransaction
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>,
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 more§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
§impl<T> CallHasher for T
impl<T> CallHasher for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§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>
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>
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>
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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a Request§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.