Skip to main content

CoinMetadata

An object representing metadata about a coin type.

type CoinMetadata implements IAddressable, IMoveObject, IObject {
address: SuiAddress!
addressAt(
rootVersion: UInt53
checkpoint: UInt53
): Address
allowGlobalPause: Boolean
asTransactionObject(
transactionDigest: String
): TransactionObject
balance(
coinType: String!
): Balance
balances(
first: Int
after: String
last: Int
before: String
): BalanceConnection
contents: MoveValue
decimals: Int
defaultNameRecord: NameRecord
denyCap: MoveObject
derivedObject(
name: DynamicFieldName!
version: UInt53
rootVersion: UInt53
atCheckpoint: UInt53
): MoveObject
description: String
digest: String
dynamicField(
name: DynamicFieldName!
): DynamicField
dynamicFields(
first: Int
after: String
last: Int
before: String
): DynamicFieldConnection
dynamicObjectField(
name: DynamicFieldName!
): DynamicField
hasPublicTransfer: Boolean
iconUrl: String
moveObjectBcs: Base64
multiGetBalances(
keys: [String!]!
): [Balance!]
multiGetDerivedObjects(
keys: [DerivedObjectKey!]!
): [MoveObject]!
multiGetDynamicFields(
keys: [DynamicFieldName!]!
): [DynamicField]!
multiGetDynamicObjectFields(
keys: [DynamicFieldName!]!
): [DynamicField]!
name: String
objectAt(
version: UInt53
rootVersion: UInt53
checkpoint: UInt53
): Object
objectBcs: Base64
objectVersionsAfter(
first: Int
after: String
last: Int
before: String
filter: VersionFilter
): ObjectConnection
objectVersionsBefore(
first: Int
after: String
last: Int
before: String
filter: VersionFilter
): ObjectConnection
objects(
first: Int
after: String
last: Int
before: String
filter: ObjectFilter
): MoveObjectConnection
owner: Owner
previousTransaction: Transaction
receivedTransactions(
first: Int
after: String
last: Int
before: String
filter: TransactionFilter
): TransactionConnection
regulatedState: RegulatedState
storageRebate: BigInt
supply: BigInt
supplyState: SupplyState
symbol: String
version: UInt53
}

Fields​

CoinMetadata.address ● SuiAddress! non-null scalar​

The CoinMetadata's ID.

CoinMetadata.addressAt ● Address object​

Fetch the address as it was at a different root version, or checkpoint.

If no additional bound is provided, the address is fetched at the latest checkpoint known to the RPC.

CoinMetadata.addressAt.rootVersion ● UInt53 scalar​
CoinMetadata.addressAt.checkpoint ● UInt53 scalar​

CoinMetadata.allowGlobalPause ● Boolean scalar​

Whether the DenyCap can be used to enable a global pause that behaves as if all addresses were added to the deny list. null indicates that it is not known whether the currency can be paused or not. This field is only populated on currencies held in the Coin Registry. To determine whether a legacy currency can be paused, check the contents of its DenyCap, if it can be found.

CoinMetadata.asTransactionObject ● TransactionObject union​

How this object was referenced by a specific transaction.

Returns null if the object was not referenced, or was present only as a non-object marker variant of unchanged consensus input (e.g. cancelled, stream-ended, per-epoch).

The transactionDigest argument may be omitted when the query is scoped under a transaction context (e.g. a parent Transaction, TransactionEffects, or Event); the field then resolves against the in-scope transaction.

Passing an explicit transactionDigest other than the in-scope transaction in subscription context is not supported; for arbitrary transaction lookups, use the indexed Query API.

CoinMetadata.asTransactionObject.transactionDigest ● String scalar​

CoinMetadata.balance ● Balance object​

Fetch the balance for coinType (e.g. 0x2::sui::SUI) owned by this address.

The result includes the total balance, the balance held in coin objects, and the balance held in the address's balance accumulator. If this address has no balance of that type, all three values are zero.

CoinMetadata.balance.coinType ● String! non-null scalar​

CoinMetadata.balances ● BalanceConnection object​

Balances held by this address, grouped by coin type.

Each result includes the total balance, the balance held in coin objects, and the balance held in the address's balance accumulator.

CoinMetadata.balances.first ● Int scalar​
CoinMetadata.balances.after ● String scalar​
CoinMetadata.balances.last ● Int scalar​
CoinMetadata.balances.before ● String scalar​

CoinMetadata.contents ● MoveValue object​

The structured representation of the object's contents.

CoinMetadata.decimals ● Int scalar​

Number of decimal places the coin uses.

CoinMetadata.defaultNameRecord ● NameRecord object​

The domain explicitly configured as the default Name Service name for this address.

CoinMetadata.denyCap ● MoveObject object​

If the currency is regulated, this object represents the capability to modify the deny list. If a capability is known but wrapped, its address can be fetched but other fields will not be accessible.

CoinMetadata.derivedObject ● MoveObject object​

Access a derived object using its key.

The object can be bounded by at most one of version, rootVersion, or atCheckpoint, with the same semantics as Query.object.

Returns null if the derived object has not been claimed, has been deleted, or is not available in the store.

CoinMetadata.derivedObject.name ● DynamicFieldName! non-null input​
CoinMetadata.derivedObject.version ● UInt53 scalar​
CoinMetadata.derivedObject.rootVersion ● UInt53 scalar​
CoinMetadata.derivedObject.atCheckpoint ● UInt53 scalar​

CoinMetadata.description ● String scalar​

Description of the coin.

CoinMetadata.digest ● String scalar​

32-byte hash that identifies the object's contents, encoded in Base58.

CoinMetadata.dynamicField ● DynamicField object​

Access a dynamic field on an object using its type and BCS-encoded name.

Returns null if a dynamic field with that name could not be found attached to this object.

CoinMetadata.dynamicField.name ● DynamicFieldName! non-null input​

CoinMetadata.dynamicFields ● DynamicFieldConnection object​

Dynamic fields owned by this object.

Dynamic fields on wrapped objects can be accessed using Address.dynamicFields.

CoinMetadata.dynamicFields.first ● Int scalar​
CoinMetadata.dynamicFields.after ● String scalar​
CoinMetadata.dynamicFields.last ● Int scalar​
CoinMetadata.dynamicFields.before ● String scalar​

CoinMetadata.dynamicObjectField ● DynamicField object​

Access a dynamic object field on an object using its type and BCS-encoded name.

Returns null if a dynamic object field with that name could not be found attached to this object.

CoinMetadata.dynamicObjectField.name ● DynamicFieldName! non-null input​

CoinMetadata.hasPublicTransfer ● Boolean scalar​

Whether this object can be transfered using the TransferObjects Programmable Transaction Command or sui::transfer::public_transfer.

Both these operations require the object to have both the key and store abilities.

CoinMetadata.iconUrl ● String scalar​

URL for the coin logo.

CoinMetadata.moveObjectBcs ● Base64 scalar​

The Base64-encoded BCS serialize of this object, as a MoveObject.

CoinMetadata.multiGetBalances ● [Balance!] list object​

Fetch balances keyed by coin types (e.g. 0x2::sui::SUI) owned by this address.

Each result includes the total balance, the balance held in coin objects, and the balance held in the address's balance accumulator. Returns null when no checkpoint is set in scope (e.g. execution scope). If this address has no balance of a given type, all three values are zero for that type.

CoinMetadata.multiGetBalances.keys ● [String!]! non-null scalar​

CoinMetadata.multiGetDerivedObjects ● [MoveObject]! non-null object​

Access derived objects using their keys and optional version bounds.

Each key can specify at most one of version, rootVersion, or atCheckpoint, with the same semantics as Query.object. Returns a list that is guaranteed to be the same length as keys. If a derived object has not been claimed, has been deleted, or is not available in the store, its corresponding entry is null.

CoinMetadata.multiGetDerivedObjects.keys ● [DerivedObjectKey!]! non-null input​

CoinMetadata.multiGetDynamicFields ● [DynamicField]! non-null object​

Access dynamic fields on an object using their types and BCS-encoded names.

Returns a list of dynamic fields that is guaranteed to be the same length as keys. If a dynamic field in keys could not be found in the store, its corresponding entry in the result will be null.

CoinMetadata.multiGetDynamicFields.keys ● [DynamicFieldName!]! non-null input​

CoinMetadata.multiGetDynamicObjectFields ● [DynamicField]! non-null object​

Access dynamic object fields on an object using their types and BCS-encoded names.

Returns a list of dynamic object fields that is guaranteed to be the same length as keys. If a dynamic object field in keys could not be found in the store, its corresponding entry in the result will be null.

CoinMetadata.multiGetDynamicObjectFields.keys ● [DynamicFieldName!]! non-null input​

CoinMetadata.name ● String scalar​

Name for the coin.

CoinMetadata.objectAt ● Object object​

Fetch the object with the same ID, at a different version, root version bound, or checkpoint.

CoinMetadata.objectAt.version ● UInt53 scalar​
CoinMetadata.objectAt.rootVersion ● UInt53 scalar​
CoinMetadata.objectAt.checkpoint ● UInt53 scalar​

CoinMetadata.objectBcs ● Base64 scalar​

The Base64-encoded BCS serialization of this object, as an Object.

CoinMetadata.objectVersionsAfter ● ObjectConnection object​

Paginate all versions of this object after this one.

CoinMetadata.objectVersionsAfter.first ● Int scalar​
CoinMetadata.objectVersionsAfter.after ● String scalar​
CoinMetadata.objectVersionsAfter.last ● Int scalar​
CoinMetadata.objectVersionsAfter.before ● String scalar​
CoinMetadata.objectVersionsAfter.filter ● VersionFilter input​

CoinMetadata.objectVersionsBefore ● ObjectConnection object​

Paginate all versions of this object before this one.

CoinMetadata.objectVersionsBefore.first ● Int scalar​
CoinMetadata.objectVersionsBefore.after ● String scalar​
CoinMetadata.objectVersionsBefore.last ● Int scalar​
CoinMetadata.objectVersionsBefore.before ● String scalar​
CoinMetadata.objectVersionsBefore.filter ● VersionFilter input​

CoinMetadata.objects ● MoveObjectConnection object​

Objects owned by this object, optionally filtered by type.

CoinMetadata.objects.first ● Int scalar​
CoinMetadata.objects.after ● String scalar​
CoinMetadata.objects.last ● Int scalar​
CoinMetadata.objects.before ● String scalar​
CoinMetadata.objects.filter ● ObjectFilter input​

CoinMetadata.owner ● Owner union​

The object's owner kind.

CoinMetadata.previousTransaction ● Transaction object​

The transaction that created this version of the object.

CoinMetadata.receivedTransactions ● TransactionConnection object​

The transactions that sent objects to this object.

CoinMetadata.receivedTransactions.first ● Int scalar​
CoinMetadata.receivedTransactions.after ● String scalar​
CoinMetadata.receivedTransactions.last ● Int scalar​
CoinMetadata.receivedTransactions.before ● String scalar​
CoinMetadata.receivedTransactions.filter ● TransactionFilter input​

CoinMetadata.regulatedState ● RegulatedState enum​

Whether the currency is regulated or not. null indicates that the regulatory status is unknown.

CoinMetadata.storageRebate ● BigInt scalar​

The SUI returned to the sponsor or sender of the transaction that modifies or deletes this object.

CoinMetadata.supply ● BigInt scalar​

The overall balance of coins issued.

CoinMetadata.supplyState ● SupplyState enum​

Future behavior of the supply. null indicates that the future behavior of the supply is not known because the currency's treasury still exists.

CoinMetadata.symbol ● String scalar​

Symbol for the coin.

CoinMetadata.version ● UInt53 scalar​

The version of this object that this content comes from.

Interfaces​

IAddressable interface​

Interface implemented by GraphQL types representing entities that are identified by an address.

An address uniquely represents either the public key of an account, or an object's ID, but never both. It is not possible to determine which type an address represents up-front. If an object is wrapped, its contents will not be accessible via its address, but it will still be possible to access other objects it owns.

IMoveObject interface​

Interface implemented by types that represent a Move object on-chain (A Move value whose type has key).

IObject interface​

Interface implemented by versioned on-chain values that are addressable by an ID (also referred to as its address). This includes Move objects and packages.

Returned By​

coinMetadata query

Member Of​

Balance object ● MoveObject object