pub struct TransactionEffectsV1 {
pub status: ExecutionStatus,
pub epoch: EpochId,
pub gas_used: GasCostSummary,
pub transaction_digest: Digest,
pub gas_object_index: Option<u32>,
pub events_digest: Option<Digest>,
pub dependencies: Vec<Digest>,
pub lamport_version: Version,
pub changed_objects: Vec<ChangedObject>,
pub unchanged_shared_objects: Vec<UnchangedSharedObject>,
pub auxiliary_data_digest: Option<Digest>,
}Expand description
Version 1 of TransactionEffects
§BCS
The BCS serialized form for this type is defined by the following ABNF:
effects-v1 = execution-status
u64 ; epoch
gas-cost-summary
digest ; transaction digest
(option u32) ; gas object index
(option digest) ; events digest
(vector digest) ; list of transaction dependencies
u64 ; lamport version
(vector changed-object)
(vector unchanged-shared-object)
(option digest) ; auxiliary data digestFields§
§status: ExecutionStatusThe status of the execution
epoch: EpochIdThe epoch when this transaction was executed.
gas_used: GasCostSummaryThe gas used by this transaction
transaction_digest: DigestThe transaction digest
gas_object_index: Option<u32>The updated gas object reference, as an index into the changed_objects
vector. Having a dedicated field for convenient access.
System transaction that don’t require gas will leave this as None.
events_digest: Option<Digest>The digest of the events emitted during execution, can be None if the transaction does not emit any event.
dependencies: Vec<Digest>The set of transaction digests this transaction depends on.
lamport_version: VersionThe version number of all the written Move objects by this transaction.
changed_objects: Vec<ChangedObject>Objects whose state are changed in the object store.
Shared objects that are not mutated in this transaction. Unlike owned objects, read-only shared objects’ version are not committed in the transaction, and in order for a node to catch up and execute it without consensus sequencing, the version needs to be committed in the effects.
auxiliary_data_digest: Option<Digest>Auxiliary data that are not protocol-critical, generated as part of the effects but are stored separately. Storing it separately allows us to avoid bloating the effects with data that are not critical. It also provides more flexibility on the format and type of the data.
Implementations§
Source§impl TransactionEffectsV1
impl TransactionEffectsV1
Sourcepub fn status(&self) -> &ExecutionStatus
pub fn status(&self) -> &ExecutionStatus
The status of the execution
Sourcepub fn gas_summary(&self) -> &GasCostSummary
pub fn gas_summary(&self) -> &GasCostSummary
The gas used in this transaction.
Trait Implementations§
Source§impl Arbitrary for TransactionEffectsV1
impl Arbitrary for TransactionEffectsV1
Source§type Parameters = ()
type Parameters = ()
arbitrary_with accepts for configuration
of the generated Strategy. Parameters must implement Default.Source§type Strategy = BoxedStrategy<TransactionEffectsV1>
type Strategy = BoxedStrategy<TransactionEffectsV1>
Strategy used to generate values of type Self.Source§fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
Source§impl Clone for TransactionEffectsV1
impl Clone for TransactionEffectsV1
Source§fn clone(&self) -> TransactionEffectsV1
fn clone(&self) -> TransactionEffectsV1
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TransactionEffectsV1
impl Debug for TransactionEffectsV1
Source§impl<'de> Deserialize<'de> for TransactionEffectsV1
Available on crate feature serde only.
impl<'de> Deserialize<'de> for TransactionEffectsV1
serde only.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 JsonSchema for TransactionEffectsV1
impl JsonSchema for TransactionEffectsV1
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl PartialEq for TransactionEffectsV1
impl PartialEq for TransactionEffectsV1
Source§impl Serialize for TransactionEffectsV1
Available on crate feature serde only.
impl Serialize for TransactionEffectsV1
serde only.impl Eq for TransactionEffectsV1
impl StructuralPartialEq for TransactionEffectsV1
Auto Trait Implementations§
impl Freeze for TransactionEffectsV1
impl RefUnwindSafe for TransactionEffectsV1
impl Send for TransactionEffectsV1
impl Sync for TransactionEffectsV1
impl Unpin for TransactionEffectsV1
impl UnwindSafe for TransactionEffectsV1
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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