Type Alias: TransactionEffectsV1
type TransactionEffectsV1 = {
auxiliaryDataDigest?: EffectsAuxDataDigestLike;
changedObjects: ChangedObject[];
dependencies: TransactionDigestLike[];
epoch: bigint;
eventsDigest?: TransactionEventsDigestLike;
gasCostSummary: GasCostSummary;
gasObjectIndex?: number;
lamportVersion: VersionLike;
status: ExecutionStatus;
transactionDigest: TransactionDigestLike;
unchangedSharedObjects: UnchangedSharedObject[];
};
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 digest
Properties
auxiliaryDataDigest?
optional auxiliaryDataDigest?: EffectsAuxDataDigestLike;
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.
changedObjects
changedObjects: ChangedObject[];
Objects whose state are changed in the object store.
dependencies
dependencies: TransactionDigestLike[];
The set of transaction digests this transaction depends on.
epoch
epoch: bigint;
The epoch when this transaction was executed.
eventsDigest?
optional eventsDigest?: TransactionEventsDigestLike;
The digest of the events emitted during execution, can be None if the transaction does not emit any event.
gasCostSummary
gasCostSummary: GasCostSummary;
The gas used by this transaction
gasObjectIndex?
optional gasObjectIndex?: number;
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.
lamportVersion
lamportVersion: VersionLike;
The version number of all the written Move objects by this transaction.
status
status: ExecutionStatus;
The status of the execution
transactionDigest
transactionDigest: TransactionDigestLike;
The transaction digest
unchangedSharedObjects
unchangedSharedObjects: UnchangedSharedObject[];
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.