pub struct SenderSignedData(/* private fields */);Implementations§
Source§impl SenderSignedData
impl SenderSignedData
pub fn new( tx_data: TransactionData, tx_signatures: Vec<GenericSignature>, ) -> Self
pub fn new_from_sender_signature( tx_data: TransactionData, tx_signature: Signature, ) -> Self
pub fn inner(&self) -> &SenderSignedTransaction
pub fn into_inner(self) -> SenderSignedTransaction
pub fn inner_mut(&mut self) -> &mut SenderSignedTransaction
pub fn add_signature(&mut self, new_signature: Signature)
pub fn transaction_data(&self) -> &TransactionData
pub fn intent_message(&self) -> &IntentMessage<TransactionData>
pub fn tx_signatures(&self) -> &[GenericSignature]
pub fn has_zklogin_sig(&self) -> bool
pub fn has_upgraded_multisig(&self) -> bool
pub fn tx_signatures_mut_for_testing(&mut self) -> &mut Vec<GenericSignature>
pub fn full_message_digest(&self) -> SenderSignedDataDigest
pub fn serialized_size(&self) -> IotaResult<usize>
Sourcepub fn validity_check(
&self,
config: &ProtocolConfig,
epoch: EpochId,
) -> Result<usize, IotaError>
pub fn validity_check( &self, config: &ProtocolConfig, epoch: EpochId, ) -> Result<usize, IotaError>
Validate untrusted user transaction, including its size, input count, command count, etc. Returns the certificate serialised bytes size.
pub fn move_authenticators(&self) -> Vec<&MoveAuthenticator>
pub fn sender_move_authenticator(&self) -> Option<&MoveAuthenticator>
Sourcepub fn collect_all_input_object_kind_for_reading(
&self,
) -> IotaResult<Vec<InputObjectKind>>
pub fn collect_all_input_object_kind_for_reading( &self, ) -> IotaResult<Vec<InputObjectKind>>
Returns all unique input objects including those from the sender
MoveAuthenticator if any for reading.
Although some shared objects(with a different mutability flag, for example) can be duplicated in the transaction and authenticator object lists, we load them independently to make it possible to analyze the inputs in the transaction checkers.
Sourcepub fn split_input_objects_into_groups_for_reading(
&self,
input_objects: InputObjects,
) -> IotaResult<(InputObjects, Option<InputObjects>, Option<ObjectReadResult>)>
pub fn split_input_objects_into_groups_for_reading( &self, input_objects: InputObjects, ) -> IotaResult<(InputObjects, Option<InputObjects>, Option<ObjectReadResult>)>
Splits the provided input objects into three groups:
- Input objects required by the transaction itself; may contain duplicates if an IOTA coin is used both as an input and a gas coin.
- Input objects required by the sender
MoveAuthenticator, including the object to authenticate. - The object to authenticate from the sender
MoveAuthenticator.
Checks if SenderSignedData contains at least one shared object.
This function checks shared objects from the MoveAuthenticator if any.
Returns an iterator over all shared input objects related to this
transaction, including those from the MoveAuthenticator if any.
If a shared object appears both in the transaction and authenticator with the same version but different mutability, only one instance which is mutable is returned.
Panics if there are shared objects with the same ID but different initial versions.
Sourcepub fn input_objects(&self) -> IotaResult<Vec<InputObjectKind>>
pub fn input_objects(&self) -> IotaResult<Vec<InputObjectKind>>
Returns an iterator over all input objects related to this
transaction, including those from the MoveAuthenticator if any.
If an IOTA coin is used both as an input and as a gas coin, it will appear two times in the returned iterator.
If a shared object appears both in the transaction and authenticator with different mutability, only one instance which is mutable is returned.
Shared objects with the same ID but different versions are not allowed.
Sourcepub fn uses_randomness(&self) -> bool
pub fn uses_randomness(&self) -> bool
Checks if SenderSignedData contains the Random object as an
input.
This function checks shared objects from the MoveAuthenticator if any.
Trait Implementations§
Source§impl Clone for SenderSignedData
impl Clone for SenderSignedData
Source§fn clone(&self) -> SenderSignedData
fn clone(&self) -> SenderSignedData
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SenderSignedData
impl Debug for SenderSignedData
Source§impl<'de> Deserialize<'de> for SenderSignedData
impl<'de> Deserialize<'de> for SenderSignedData
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Hash for SenderSignedData
impl Hash for SenderSignedData
Source§impl Message for SenderSignedData
impl Message for SenderSignedData
Source§fn digest(&self) -> Self::DigestType
fn digest(&self) -> Self::DigestType
Computes the tx digest that encodes the Rust type prefix from Signable trait.
const SCOPE: IntentScope = IntentScope::SenderSignedTransaction
type DigestType = TransactionDigest
fn scope(&self) -> IntentScope
Source§impl PartialEq for SenderSignedData
impl PartialEq for SenderSignedData
Source§impl Serialize for SenderSignedData
impl Serialize for SenderSignedData
Source§impl TryFrom<SenderSignedData> for SignedTransaction
impl TryFrom<SenderSignedData> for SignedTransaction
Source§type Error = SdkTypeConversionError
type Error = SdkTypeConversionError
Source§impl TryFrom<SignedTransaction> for SenderSignedData
impl TryFrom<SignedTransaction> for SenderSignedData
impl Eq for SenderSignedData
impl StructuralPartialEq for SenderSignedData
Auto Trait Implementations§
impl Freeze for SenderSignedData
impl RefUnwindSafe for SenderSignedData
impl Send for SenderSignedData
impl Sync for SenderSignedData
impl Unpin for SenderSignedData
impl UnwindSafe for SenderSignedData
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
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,
Source§impl<T> SignableBytes for Twhere
T: BcsSignable,
impl<T> SignableBytes for Twhere
T: BcsSignable,
§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.