Skip to main content

Version

type Version

type Version struct {
// contains filtered or unexported fields
}

func LiftFromExternalVersion

func LiftFromExternalVersion(handle uint64) *Version

func VersionCanceledRead

func VersionCanceledRead() *Version

Special version that is assigned to objects which are accessed immutably in a canceled transaction.

func VersionCongestedPriorToGasPriceFeedback

func VersionCongestedPriorToGasPriceFeedback() *Version

Special version that was assigned to congested objects which cause transaction cancellations. Note that this special version was only used prior to the introduction of a gas price feedback mechanism, but it is kept for backward compatibility.

func VersionFromU64

func VersionFromU64(value uint64) *Version

Create a new Version from a u64 value

func VersionLamportIncrement

func VersionLamportIncrement(inputs []*Version) (*Version, error)

Returns a new version that is greater than all versions in `inputs`, assuming this operation will not overflow.

func VersionMaxValidExcl

func VersionMaxValidExcl() *Version

An exclusive upper limit on a valid version: versions strictly smaller than this limit are valid versions.

A valid version means an object, which this version is assigned to, does not appear in a canceled transaction. Versions larger than this value are "special" and assigned to objects that appear in canceled transactions.

func VersionMinValidIncl

func VersionMinValidIncl() *Version

An inclusive lower limit on a valid version.

A valid version means an object, which this version is assigned to, does not appear in a canceled transaction.

func VersionNewCongestedWithSuggestedGasPrice

func VersionNewCongestedWithSuggestedGasPrice(suggestedGasPrice uint64) (*Version, error)

Returns a special version used for congested shared objects: `Version::MIN_CONGESTED + suggested_gas_price`, where `suggested_gas_price` is embedded into a congested version to facilitate a gas price feedback mechanism for transactions canceled due to shared object congestion.

func VersionRandomnessUnavailable

func VersionRandomnessUnavailable() *Version

func (*Version) AsU64

func (_self *Version) AsU64() uint64

Get the underlying u64 value of this version

func (*Version) Destroy

func (object *Version) Destroy()

func (*Version) GetCongestedVersionSuggestedGasPrice

func (_self *Version) GetCongestedVersionSuggestedGasPrice() (uint64, error)

Returns the `suggested_gas_price` embedded in this congested shared object version. The `suggested_gas_price` here is used for a gas price feedback mechanism for transactions canceled due to shared object congestion.

func (*Version) IsCanceled

func (_self *Version) IsCanceled() bool

Checks if this version is canceled, i.e., the corresponding object appears in a canceled transaction.

func (*Version) IsCongested

func (_self *Version) IsCongested() bool

Check if this version is congested, i.e., the corresponding object is the reason for transaction cancellation.

func (*Version) IsValid

func (_self *Version) IsValid() bool

Checks if this version is valid, i.e., the corresponding object does not appear in a canceled transaction.

func (*Version) Next

func (_self *Version) Next() (*Version, error)

Returns the next version, or an error if overflow occurs.

func (*Version) Previous

func (_self *Version) Previous() (*Version, error)

Returns the previous version, or an error if underflow occurs.