TransactionEffectsV1
Namespace: IotaSdk
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
public record class TransactionEffectsV1 : System.IDisposable, System.IEquatable`1[[IotaSdk.TransactionEffectsV1, IotaSdk, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]
Inheritance Object → TransactionEffectsV1
Implements IDisposable, IEquatable<TransactionEffectsV1>
Attributes NullableContextAttribute, NullableAttribute
Remarks:
UniFFI Warning: Optional parameters have been reordered because of a C# syntax limitation. Use named parameters for compatibility with future ordering changes.
Properties
Status
The status of the execution
public ExecutionStatus Status { get; init; }
Property Value
Epoch
The epoch when this transaction was executed.
public ulong Epoch { get; init; }
Property Value
GasCostSummary
The gas used by this transaction
public GasCostSummary GasCostSummary { get; init; }
Property Value
TransactionDigest
The transaction digest
public TransactionDigest TransactionDigest { get; init; }
Property Value
Dependencies
The set of transaction digests this transaction depends on.
public TransactionDigest[] Dependencies { get; init; }
Property Value
LamportVersion
The version number of all the written Move objects by this transaction.
public Version LamportVersion { get; init; }
Property Value
ChangedObjects
Objects whose state are changed in the object store.
public ChangedObject[] ChangedObjects { get; init; }
Property Value
UnchangedSharedObjects
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.
public UnchangedSharedObject[] UnchangedSharedObjects { get; init; }
Property Value
GasObjectIndex
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.
public uint? GasObjectIndex { get; init; }
Property Value
EventsDigest
The digest of the events emitted during execution, can be None if the transaction does not emit any event.
public TransactionEventsDigest? EventsDigest { get; init; }
Property Value
AuxiliaryDataDigest
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.
public EffectsAuxDataDigest? AuxiliaryDataDigest { get; init; }
Property Value
Constructors
TransactionEffectsV1(ExecutionStatus, UInt64, GasCostSummary, TransactionDigest, TransactionDigest[], Version, ChangedObject[], UnchangedSharedObject[], UInt32?, TransactionEventsDigest, EffectsAuxDataDigest)
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
public TransactionEffectsV1(ExecutionStatus Status, ulong Epoch, GasCostSummary GasCostSummary, TransactionDigest TransactionDigest, TransactionDigest[] Dependencies, Version LamportVersion, ChangedObject[] ChangedObjects, UnchangedSharedObject[] UnchangedSharedObjects, uint? GasObjectIndex = null, TransactionEventsDigest? EventsDigest = null, EffectsAuxDataDigest? AuxiliaryDataDigest = null)
Parameters
Status ExecutionStatus
The status of the execution
Epoch UInt64
The epoch when this transaction was executed.
GasCostSummary GasCostSummary
The gas used by this transaction
TransactionDigest TransactionDigest
The transaction digest
Dependencies TransactionDigest[]
The set of transaction digests this transaction depends on.
LamportVersion Version
The version number of all the written Move objects by this transaction.
ChangedObjects ChangedObject[]
Objects whose state are changed in the object store.
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.
GasObjectIndex UInt32?
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.
EventsDigest TransactionEventsDigest?
The digest of the events emitted during execution,
can be None if the transaction does not emit any event.
AuxiliaryDataDigest EffectsAuxDataDigest?
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.
Remarks:
UniFFI Warning: Optional parameters have been reordered because of a C# syntax limitation. Use named parameters for compatibility with future ordering changes.
Methods
Dispose()
public void Dispose()