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