MoveObject
The representation of an object as a Move Object, which exposes additional information (content, module that governs it, version, is transferrable, etc.) about this object.
type MoveObject implements IMoveObject, IObject, IOwner {
address: SuiAddress!
objects(
first: Int
after: String
last: Int
before: String
filter: ObjectFilter
): MoveObjectConnection!
balance(
type: String
): Balance
balances(
first: Int
after: String
last: Int
before: String
): BalanceConnection!
coins(
first: Int
after: String
last: Int
before: String
type: String
): CoinConnection!
stakedSuis(
first: Int
after: String
last: Int
before: String
): StakedSuiConnection!
defaultSuinsName(
format: DomainFormat
): String
suinsRegistrations(
first: Int
after: String
last: Int
before: String
): SuinsRegistrationConnection!
version: UInt53!
status: ObjectKind!
digest: String
owner: ObjectOwner
previousTransactionBlock: TransactionBlock
storageRebate: BigInt
receivedTransactionBlocks(
first: Int
after: String
last: Int
before: String
filter: TransactionBlockFilter
scanLimit: Int
): TransactionBlockConnection!
bcs: Base64
contents: MoveValue
hasPublicTransfer: Boolean!
display: [DisplayEntry!]
dynamicField(
name: DynamicFieldName!
): DynamicField
dynamicObjectField(
name: DynamicFieldName!
): DynamicField
dynamicFields(
first: Int
after: String
last: Int
before: String
): DynamicFieldConnection!
asCoin: Coin
asStakedSui: StakedSui
asCoinMetadata: CoinMetadata
asSuinsRegistration: SuinsRegistration
}
Fields
MoveObject.address ● SuiAddress! non-null scalar
MoveObject.objects ● MoveObjectConnection! non-null object
Objects owned by this object, optionally
filter-ed.
MoveObject.objects.first●Intscalar
MoveObject.objects.after ● String scalar
MoveObject.objects.last ● Int scalar
MoveObject.objects.before ● String scalar
MoveObject.objects.filter ● ObjectFilter input
MoveObject.balance ● Balance object
Total balance of all coins with marker type owned by this object. If type is not supplied, it defaults to
0x2::sui::SUI.
MoveObject.balance.type●Stringscalar
MoveObject.balances ● BalanceConnection! non-null object
The balances of all coin types owned by this object.
MoveObject.balances.first●Intscalar
MoveObject.balances.after ● String scalar
MoveObject.balances.last ● Int scalar
MoveObject.balances.before ● String scalar
MoveObject.coins ● CoinConnection! non-null object
The coin objects for this object.
typeis a filter on the coin's type parameter, defaulting to0x2::sui::SUI.
MoveObject.coins.first●Intscalar
MoveObject.coins.after ● String scalar
MoveObject.coins.last ● Int scalar
MoveObject.coins.before ● String scalar
MoveObject.coins.type ● String scalar
MoveObject.stakedSuis ● StakedSuiConnection! non-null object
The
0x3::staking_pool::StakedSuiobjects owned by this object.
MoveObject.stakedSuis.first●Intscalar
MoveObject.stakedSuis.after ● String scalar
MoveObject.stakedSuis.last ● Int scalar
MoveObject.stakedSuis.before ● String scalar
MoveObject.defaultSuinsName ● String scalar
The domain explicitly configured as the default domain pointing to this object.
MoveObject.defaultSuinsName.format●DomainFormatenum
MoveObject.suinsRegistrations ● SuinsRegistrationConnection! non-null object
The SuinsRegistration NFTs owned by this object. These grant the owner the capability to manage the associated domain.
MoveObject.suinsRegistrations.first●Intscalar
MoveObject.suinsRegistrations.after ● String scalar
MoveObject.suinsRegistrations.last ● Int scalar
MoveObject.suinsRegistrations.before ● String scalar
MoveObject.version ● UInt53! non-null scalar
MoveObject.status ● ObjectKind! non-null enum
The current status of the object as read from the off-chain store. The possible states are: NOT_INDEXED, the object is loaded from serialized data, such as the contents of a genesis or system package upgrade transaction. LIVE, the version returned is the most recent for the object, and it is not deleted or wrapped at that version. HISTORICAL, the object was referenced at a specific version or checkpoint, so is fetched from historical tables and may not be the latest version of the object. WRAPPED_OR_DELETED, the object is deleted or wrapped and only partial information can be loaded."
MoveObject.digest ● String scalar
32-byte hash that identifies the object's contents, encoded as a Base58 string.
MoveObject.owner ● ObjectOwner union
The owner type of this object: Immutable, Shared, Parent, Address
MoveObject.previousTransactionBlock ● TransactionBlock object
The transaction block that created this version of the object.
MoveObject.storageRebate ● BigInt scalar
The amount of SUI we would rebate if this object gets deleted or mutated. This number is recalculated based on the present storage gas price.
MoveObject.receivedTransactionBlocks ● TransactionBlockConnection! non-null object
The transaction blocks that sent objects to this object.
scanLimitrestricts the number of candidate transactions scanned when gathering a page of results. It is required for queries that apply more than two complex filters (on function, kind, sender, recipient, input object, changed object, or ids), and can be at mostserviceConfig.maxScanLimit.When the scan limit is reached the page will be returned even if it has fewer than
firstresults when paginating forward (lastwhen paginating backwards). If there are more transactions to scan,pageInfo.hasNextPage(orpageInfo.hasPreviousPage) will be set totrue, andPageInfo.endCursor(orPageInfo.startCursor) will be set to the last transaction that was scanned as opposed to the last (or first) transaction in the page.Requesting the next (or previous) page after this cursor will resume the search, scanning the next
scanLimitmany transactions in the direction of pagination, and so on until all transactions in the scanning range have been visited.By default, the scanning range includes all transactions known to GraphQL, but it can be restricted by the
afterandbeforecursors, and thebeforeCheckpoint,afterCheckpointandatCheckpointfilters.
MoveObject.receivedTransactionBlocks.first●Intscalar
MoveObject.receivedTransactionBlocks.after ● String scalar
MoveObject.receivedTransactionBlocks.last ● Int scalar
MoveObject.receivedTransactionBlocks.before ● String scalar
MoveObject.receivedTransactionBlocks.filter ● TransactionBlockFilter input
MoveObject.receivedTransactionBlocks.scanLimit ● Int scalar
MoveObject.bcs ● Base64 scalar
The Base64-encoded BCS serialization of the object's content.
MoveObject.contents ● MoveValue object
Displays the contents of the Move object in a JSON string and through GraphQL types. Also provides the flat representation of the type signature, and the BCS of the corresponding data.
MoveObject.hasPublicTransfer ● Boolean! non-null scalar
Determines whether a transaction can transfer this object, using the TransferObjects transaction command or
sui::transfer::public_transfer, both of which require the object to have thekeyandstoreabilities.
MoveObject.display ● [DisplayEntry!] list object
The set of named templates defined on-chain for the type of this object, to be handled off-chain. The server substitutes data from the object into these templates to generate a display string per template.
MoveObject.dynamicField ● DynamicField object
Access a dynamic field on an object using its name. Names are arbitrary Move values whose type have
copy,drop, andstore, and are specified using their type, and their BCS contents, Base64 encoded.Dynamic fields on wrapped objects can be accessed by using the same API under the Owner type.
MoveObject.dynamicField.name●DynamicFieldName!non-null input
MoveObject.dynamicObjectField ● DynamicField object
Access a dynamic object field on an object using its name. Names are arbitrary Move values whose type have
copy,drop, andstore, and are specified using their type, and their BCS contents, Base64 encoded. The value of a dynamic object field can also be accessed off-chain directly via its address (e.g. usingQuery.object).Dynamic fields on wrapped objects can be accessed by using the same API under the Owner type.
MoveObject.dynamicObjectField.name●DynamicFieldName!non-null input
MoveObject.dynamicFields ● DynamicFieldConnection! non-null object
The dynamic fields and dynamic object fields on an object.
Dynamic fields on wrapped objects can be accessed by using the same API under the Owner type.
MoveObject.dynamicFields.first●Intscalar
MoveObject.dynamicFields.after ● String scalar
MoveObject.dynamicFields.last ● Int scalar
MoveObject.dynamicFields.before ● String scalar
MoveObject.asCoin ● Coin object
Attempts to convert the Move object into a
0x2::coin::Coin.
MoveObject.asStakedSui ● StakedSui object
Attempts to convert the Move object into a
0x3::staking_pool::StakedSui.
MoveObject.asCoinMetadata ● CoinMetadata object
Attempts to convert the Move object into a
0x2::coin::CoinMetadata.
MoveObject.asSuinsRegistration ● SuinsRegistration object
Attempts to convert the Move object into a
SuinsRegistrationobject.
Interfaces
IMoveObject interface
This interface is implemented by types that represent a Move object on-chain (A Move value whose type has
key).
IObject interface
Interface implemented by on-chain values that are addressable by an ID (also referred to as its address). This includes Move objects and packages.
IOwner interface
Interface implemented by GraphQL types representing entities that can own objects. Object owners are identified by an address which can represent either the public key of an account or another object. The same address can only refer to an account or an object, never both, but it is not possible to know which up-front.
Member Of
MoveObjectConnection object ● MoveObjectEdge object ● Object object ● Validator object
Implemented By
DynamicFieldValue union