Skip to main content

ObjectOwner

The object's owner type: Immutable, Shared, Parent, or Address.

union ObjectOwner = Immutable | Shared | Parent | AddressOwner | ConsensusV2

Possible types

ObjectOwner.Immutable object

An immutable object is an object that can't be mutated, transferred, or deleted. Immutable objects have no owner, so anyone can use them.

ObjectOwner.Shared object

A shared object is an object that is shared using the 0x2::transfer::share_object function. Unlike owned objects, once an object is shared, it stays mutable and is accessible by anyone.

ObjectOwner.Parent object

If the object's owner is a Parent, this object is part of a dynamic field (it is the value of the dynamic field, or the intermediate Field object itself), and it is owned by another object.

Although its owner is guaranteed to be an object, it is exposed as an Owner, as the parent object could be wrapped and therefore not directly accessible.

ObjectOwner.AddressOwner object

An address-owned object is owned by a specific 32-byte address that is either an account address (derived from a particular signature scheme) or an object ID. An address-owned object is accessible only to its owner and no others.

ObjectOwner.ConsensusV2 object

A ConsensusV2 object is an object that is automatically versioned by the consensus protocol and allows different authentication modes based on the chosen authenticator. (Initially, only single-owner authentication is supported.)

Member Of

Coin object ● CoinMetadata object ● IObject interface ● MoveObject object ● MovePackage object ● Object object ● StakedSui object ● SuinsRegistration object