Trait iota_types::effects::TransactionEffectsAPI
source · pub trait TransactionEffectsAPI {
Show 28 methods
// Required methods
fn status(&self) -> &ExecutionStatus;
fn into_status(self) -> ExecutionStatus;
fn executed_epoch(&self) -> EpochId;
fn modified_at_versions(&self) -> Vec<(ObjectID, SequenceNumber)>;
fn lamport_version(&self) -> SequenceNumber;
fn old_object_metadata(&self) -> Vec<(ObjectRef, Owner)>;
fn input_shared_objects(&self) -> Vec<InputSharedObject>;
fn created(&self) -> Vec<(ObjectRef, Owner)>;
fn mutated(&self) -> Vec<(ObjectRef, Owner)>;
fn unwrapped(&self) -> Vec<(ObjectRef, Owner)>;
fn deleted(&self) -> Vec<ObjectRef>;
fn unwrapped_then_deleted(&self) -> Vec<ObjectRef>;
fn wrapped(&self) -> Vec<ObjectRef>;
fn object_changes(&self) -> Vec<ObjectChange>;
fn gas_object(&self) -> (ObjectRef, 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: ObjectRef);
fn unsafe_add_object_tombstone_for_testing(&mut self, obj_ref: ObjectRef);
// 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) -> EpochId
fn modified_at_versions(&self) -> Vec<(ObjectID, SequenceNumber)>
sourcefn lamport_version(&self) -> SequenceNumber
fn lamport_version(&self) -> SequenceNumber
The version assigned to all output objects (apart from packages).
sourcefn old_object_metadata(&self) -> Vec<(ObjectRef, Owner)>
fn old_object_metadata(&self) -> Vec<(ObjectRef, 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.
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<(ObjectRef, Owner)>
fn mutated(&self) -> Vec<(ObjectRef, Owner)>
fn unwrapped(&self) -> Vec<(ObjectRef, Owner)>
fn deleted(&self) -> Vec<ObjectRef>
fn unwrapped_then_deleted(&self) -> Vec<ObjectRef>
fn wrapped(&self) -> Vec<ObjectRef>
fn object_changes(&self) -> Vec<ObjectChange>
fn gas_object(&self) -> (ObjectRef, Owner)
fn events_digest(&self) -> Option<&TransactionEventsDigest>
fn dependencies(&self) -> &[TransactionDigest]
fn transaction_digest(&self) -> &TransactionDigest
fn gas_cost_summary(&self) -> &GasCostSummary
Returns all root shared objects (i.e. not child object) that are read-only in the transaction.