identity_iota_interaction::types::effects

Trait TransactionEffectsAPI

pub trait TransactionEffectsAPI {
Show 28 methods // Required methods fn status(&self) -> &ExecutionStatus; fn into_status(self) -> ExecutionStatus; fn executed_epoch(&self) -> u64; fn modified_at_versions(&self) -> Vec<(ObjectID, SequenceNumber)>; fn lamport_version(&self) -> SequenceNumber; fn old_object_metadata( &self, ) -> Vec<((ObjectID, SequenceNumber, ObjectDigest), Owner)>; fn input_shared_objects(&self) -> Vec<InputSharedObject>; fn created(&self) -> Vec<((ObjectID, SequenceNumber, ObjectDigest), Owner)>; fn mutated(&self) -> Vec<((ObjectID, SequenceNumber, ObjectDigest), Owner)>; fn unwrapped( &self, ) -> Vec<((ObjectID, SequenceNumber, ObjectDigest), Owner)>; fn deleted(&self) -> Vec<(ObjectID, SequenceNumber, ObjectDigest)>; fn unwrapped_then_deleted( &self, ) -> Vec<(ObjectID, SequenceNumber, ObjectDigest)>; fn wrapped(&self) -> Vec<(ObjectID, SequenceNumber, ObjectDigest)>; fn object_changes(&self) -> Vec<ObjectChange>; fn gas_object(&self) -> ((ObjectID, SequenceNumber, ObjectDigest), Owner); fn events_digest(&self) -> Option<&TransactionEventsDigest>; fn dependencies(&self) -> &[TransactionDigest]; fn transaction_digest(&self) -> &TransactionDigest; fn gas_cost_summary(&self) -> &GasCostSummary; fn unchanged_shared_objects(&self) -> Vec<(ObjectID, UnchangedSharedKind)>; fn status_mut_for_testing(&mut self) -> &mut ExecutionStatus; fn gas_cost_summary_mut_for_testing(&mut self) -> &mut GasCostSummary; fn transaction_digest_mut_for_testing(&mut self) -> &mut TransactionDigest; fn dependencies_mut_for_testing(&mut self) -> &mut Vec<TransactionDigest>; fn unsafe_add_input_shared_object_for_testing( &mut self, kind: InputSharedObject, ); fn unsafe_add_deleted_live_object_for_testing( &mut self, obj_ref: (ObjectID, SequenceNumber, ObjectDigest), ); fn unsafe_add_object_tombstone_for_testing( &mut self, obj_ref: (ObjectID, SequenceNumber, ObjectDigest), ); // Provided method fn deleted_mutably_accessed_shared_objects(&self) -> Vec<ObjectID> { ... }
}

Required Methods§

fn status(&self) -> &ExecutionStatus

fn into_status(self) -> ExecutionStatus

fn executed_epoch(&self) -> u64

fn modified_at_versions(&self) -> Vec<(ObjectID, SequenceNumber)>

fn lamport_version(&self) -> SequenceNumber

The version assigned to all output objects (apart from packages).

fn old_object_metadata( &self, ) -> Vec<((ObjectID, SequenceNumber, ObjectDigest), Owner)>

Metadata of objects prior to modification. This includes any object that exists in the store prior to this transaction and is modified in this transaction. It includes objects that are mutated, wrapped and deleted.

fn input_shared_objects(&self) -> Vec<InputSharedObject>

Returns the list of sequenced shared objects used in the input. This is needed in effects because in transaction we only have object ID for shared objects. Their version and digest can only be figured out after sequencing. Also provides the use kind to indicate whether the object was mutated or read-only. It does not include per epoch config objects since they do not require sequencing. TODO: Rename this function to indicate sequencing requirement.

fn created(&self) -> Vec<((ObjectID, SequenceNumber, ObjectDigest), Owner)>

fn mutated(&self) -> Vec<((ObjectID, SequenceNumber, ObjectDigest), Owner)>

fn unwrapped(&self) -> Vec<((ObjectID, SequenceNumber, ObjectDigest), Owner)>

fn deleted(&self) -> Vec<(ObjectID, SequenceNumber, ObjectDigest)>

fn unwrapped_then_deleted( &self, ) -> Vec<(ObjectID, SequenceNumber, ObjectDigest)>

fn wrapped(&self) -> Vec<(ObjectID, SequenceNumber, ObjectDigest)>

fn object_changes(&self) -> Vec<ObjectChange>

fn gas_object(&self) -> ((ObjectID, SequenceNumber, ObjectDigest), Owner)

fn events_digest(&self) -> Option<&TransactionEventsDigest>

fn dependencies(&self) -> &[TransactionDigest]

fn transaction_digest(&self) -> &TransactionDigest

fn gas_cost_summary(&self) -> &GasCostSummary

fn unchanged_shared_objects(&self) -> Vec<(ObjectID, UnchangedSharedKind)>

Returns all root shared objects (i.e. not child object) that are read-only in the transaction.

fn status_mut_for_testing(&mut self) -> &mut ExecutionStatus

fn gas_cost_summary_mut_for_testing(&mut self) -> &mut GasCostSummary

fn transaction_digest_mut_for_testing(&mut self) -> &mut TransactionDigest

fn dependencies_mut_for_testing(&mut self) -> &mut Vec<TransactionDigest>

fn unsafe_add_input_shared_object_for_testing( &mut self, kind: InputSharedObject, )

fn unsafe_add_deleted_live_object_for_testing( &mut self, obj_ref: (ObjectID, SequenceNumber, ObjectDigest), )

fn unsafe_add_object_tombstone_for_testing( &mut self, obj_ref: (ObjectID, SequenceNumber, ObjectDigest), )

Provided Methods§

Implementors§