Sui Full node gRPC API will replace the JSON-RPC on Full nodes, such that JSON-RPC will be deprecated when gRPC API is generally available.
BalanceChange
The delta, or change, in balance for an address for a particular Coin
type.
Fields
address
optional
The account address that is affected by this balance change event.
amount
optional
The amount or change in balance.
coin_type
optional
The Coin
type of this balance change event.
BalanceChanges
Set of BalanceChange
s that occurred as the result of a transaction.
This set of events are calculated by analyzing all input and output Coin
type objects.
EffectsFinality
Indicates the finality of the executed transaction.
Fields
Union field finality can be only one of the following.
certified
A quorum certificate certifying that a transaction is final but might not be included in a checkpoint yet.
checkpointed
Sequence number of the checkpoint that includes the transaction.
quorum_executed
Indicates that a quorum of validators has executed the transaction but that it might not be included in a checkpoint yet.
ExecuteTransactionOptions
Fields
balance_changes
optional
Include the BalanceChanges
in the response. Defaults to false
if not included.
effects
optional
Include the sui.types.TransactionEffects
message in the response. Defaults to false
if not included.
effects_bcs
optional
Include the TransactionEffects
formatted as BCS in the response. Defaults to false
if not included.
events
optional
Include the sui.types.TransactionEvents
message in the response. Defaults to false
if not included.
events_bcs
optional
Include the TransactionEvents
formatted as BCS in the response. Defaults to false
if not included.
ExecuteTransactionRequest
Request message for NodeService.ExecuteTransaction
.
Note: You must provide only one of transaction
or transaction_bcs
.
Fields
options
optional
Optional. Options for specifying which parts of the ExecuteTransactionResponse
should be returned.
signatures
optional
Optional. Set of UserSiganture
s authorizing the execution of the provided transaction.
signatures_bytes
optional
Optional. Set of UserSiganture
s authorizing the execution of the provided transaction, encoded as bytes.
transaction
optional
Optional. The transaction to execute.
transaction_bcs
optional
Optional. The transaction to execute, encoded as BCS bytes.
ExecuteTransactionResponse
Response message for NodeService.ExecuteTransaction
.
Fields
balance_changes
optional
Optional. Set of balance change events as a result of this transaction.
effects
optional
Optional. The TransactionEffects
for this transaction.
effects_bcs
events
optional
Optional. The TransactionEvents
for this transaction. This field might be empty, even if it was explicitly requested, if the transaction didn't produce any events. sui.types.TransactionEffects.events_digest
is populated if the transaction produced any events.
events_bcs
finality
optional
Indicates the finality of the executed transaction.
FullCheckpointObject
An object used by or produced from a transaction.
Fields
digest
optional
The digest of this object.
object
optional
Optional. The object itself.
object_bcs
optional
Optional. The
object encoded as BCS bytes.
object_id
optional
The ObjectId
of this object.
version
optional
The version of this object.
FullCheckpointObjects
Set of objects used by or produced from a transaction.
FullCheckpointTransaction
A transaction, with all of its inputs and outputs.
Fields
digest
optional
The digest of this transaction.
effects
optional
Optional. The TransactionEffects
for this transaction.
effects_bcs
events
optional
Optional. The TransactionEvents
for this transaction. This field might be empty, even if it was explicitly requested, if the transaction didn't produce any events. sui.types.TransactionEffects.events_digest
is populated if the transaction produced any events.
events_bcs
input_objects
optional
Optional. Set of input objects used during the execution of this transaction.
output_objects
optional
Optional. Set of output objects produced from the execution of this transaction.
transaction
optional
Optional. The transaction itself.
transaction_bcs
GetCheckpointOptions
Options for which parts of the GetCheckpointResponse
should be returned.
Fields
contents
optional
Include the sui.types.CheckpointContents
message in the response. Defaults to false
if not included.
contents_bcs
optional
Include the CheckpointContents
formatted as BCS in the response. Defaults to false
if not included.
signature
optional
Include the sui.types.ValidatorAggregatedSignature
in the response. Defaults to false
if not included.
summary
optional
Include the sui.types.CheckpointSummary
in the response. Defaults to false
if not included.
summary_bcs
optional
Include the CheckpointSummary
formatted as BCS in the response. Defaults to false
if not included.
GetCheckpointRequest
Request message for NodeService.GetCheckpoint
.
At most, provide one of sequence_number
or digest
. An error is
returned if you attempt to provide both. If you provide neither, the service
returns the latest executed checkpoint.
Fields
digest
optional
Optional. The digest of the requested checkpoint.
options
optional
Optional. Options for specifying which parts of the GetCheckpointResponse
should be returned.
sequence_number
optional
Optional. The sequence number of the requested checkpoint.
GetCheckpointResponse
Response message for NodeService.GetCheckpoint
.
Fields
contents
optional
Optional. The CheckpointContents
for this checkpoint.
contents_bcs
digest
optional
The digest of this checkpoint's CheckpointSummary
.
sequence_number
optional
The sequence number of this checkpoint.
signature
optional
Optional. An aggregated quorum signature from the validator committee that certifies this checkpoint.
summary
optional
Optional. The CheckpointSummary
for this checkpoint.
summary_bcs
GetCommitteeRequest
Request message for NodeService.GetCommittee.
Fields
epoch
optional
Optional. Request the sui.types.ValidatorCommittee corresponding to the provided epoch. If no epoch is provided the committee for the current epoch will be returned.
GetCommitteeResponse
Response message for NodeService.GetCommittee
.
Fields
committee
optional
The committee of either the requested epoch or the current epoch.
GetFullCheckpointOptions
Options for which parts of the GetFullCheckpointResponse
should be returned.
Fields
contents
optional
Include the sui.types.CheckpointContents
message in the response. Defaults to false
if not included.
contents_bcs
optional
Include the CheckpointContents
formatted as BCS in the response. Defaults to false
if not included.
effects
optional
Include the sui.types.TransactionEffects
message in the response. Defaults to false
if not included.
effects_bcs
optional
Include the TransactionEffects
formatted as BCS in the response. Defaults to false
if not included.
events
optional
Include the sui.types.TransactionEvents
message in the response. Defaults to false
if not included.
events_bcs
optional
Include the TransactionEvents
formatted as BCS in the response. Defaults to false
if not included.
input_objects
optional
Include the input objects for transactions in the response. Defaults to false
if not included.
object
optional
Include the sui.types.Object
message in the response. Defaults to false
if not included.
object_bcs
optional
Include the object formatted as BCS in the response. Defaults to false
if not included.
output_objects
optional
Include the output objects for transactions in the response. Defaults to false
if not included.
signature
optional
Include the sui.types.ValidatorAggregatedSignature
in the response. Defaults to false
if not included.
summary
optional
Include the sui.types.CheckpointSummary
in the response. Defaults to false
if not included.
summary_bcs
optional
Include the CheckpointSummary
formatted as BCS in the response. Defaults to false
if not included.
transaction
optional
Include the sui.types.Transaction
message in the response. Defaults to false
if not included.
transaction_bcs
optional
Include the transaction formatted as BCS in the response. Defaults to false
if not included.
GetFullCheckpointRequest
Request message for NodeService.GetFullCheckpoint
.
At most, provide one of sequence_number
or digest
. An error is
returned if you provide both. If you provide neither, the service
returns the latest executed checkpoint.
Fields
digest
optional
Optional. The digest of the requested checkpoint.
options
optional
Optional. Options for specifying which parts of the GetFullCheckpointResponse
should be returned.
sequence_number
optional
Optional. The sequence number of the requested checkpoint.
GetFullCheckpointResponse
Response message for NodeService.GetFullCheckpoint
.
Fields
contents
optional
Optional. The CheckpointContents
for this checkpoint.
contents_bcs
digest
optional
The digest of this checkpoint's CheckpointSummary
.
sequence_number
optional
The sequence number of this checkpoint.
signature
optional
Optional. An aggregated quorum signature from the validator committee that certifies this checkpoint.
summary
optional
Optional. The CheckpointSummary
for this checkpoint.
summary_bcs
transactions
repeated
List of transactions included in this checkpoint.
GetNodeInfoRequest
Request message for NodeService.GetNodeInfo
.
GetNodeInfoResponse
Response message for NodeService.GetNodeInfo
.
Fields
chain
optional
Human-readable name of the chain that this node is on. This is intended to be a human-readable name like mainnet
, testnet
, and so on.
chain_id
optional
The chain identifier of the chain that this node is on. The chain identifier is the digest of the genesis checkpoint, the checkpoint with sequence number 0.
checkpoint_height
optional
Checkpoint height of the most recently executed checkpoint.
epoch
optional
Current epoch of the node based on its highest executed checkpoint.
lowest_available_checkpoint
optional
The lowest checkpoint for which checkpoints and transaction data are available.
lowest_available_checkpoint_objects
optional
The lowest checkpoint for which object data is available.
software_version
optional
Software version of the sui-node
binary.
timestamp
optional
Unix timestamp of the most recently executed checkpoint.
GetObjectOptions
Fields
object
optional
Include the sui.types.Object
message in the response. Defaults to false
if not included.
object_bcs
optional
Include the object formatted as BCS in the response. Defaults to false
if not included.
GetObjectRequest
Request message for NodeService.GetObject
.
Fields
object_id
optional
Required. The ObjectId
of the requested object.
options
optional
Optional. Options for specifying which parts of the GetObjectResponse
should be returned.
version
optional
Optional. Request that a specific version of the requested object is returned. If no version is provided, then then the latest version for the object is returned.
GetObjectResponse
Response message for NodeService.GetObject
.
Fields
digest
optional
The digest of this object.
object
optional
Optional. The object itself.
object_bcs
optional
Optional. The
Object encoded as BCS bytes.
object_id
optional
The ObjectId
of this object.
version
optional
The version of this object.
GetTransactionOptions
Options for which parts of the GetTransactionResponse
should be returned.
Fields
effects
optional
Include the sui.types.TransactionEffects
message in the response. Defaults to false
if not included.
effects_bcs
optional
Include the TransactionEffects
formatted as BCS in the response. Defaults to false
if not included.
events
optional
Include the sui.types.TransactionEvents
message in the response. Defaults to false
if not included.
events_bcs
optional
Include the TransactionEvents
formatted as BCS in the response. Defaults to false
if not included.
signatures
optional
Include the set of sui.types.UserSignature
s in the response. Defaults to false
if not included.
signatures_bytes
optional
Include the set of UserSignature
s encoded as bytes in the response. Defaults to false
if not included.
transaction
optional
Include the sui.types.Transaction
message in the response. Defaults to false
if not included.
transaction_bcs
optional
Include the transaction formatted as BCS in the response. Defaults to false
if not included.
GetTransactionRequest
Request message for NodeService.GetTransaction
.
Fields
digest
optional
Required. The digest of the requested transaction.
options
optional
Optional. Options for specifying which parts of the GetTransactionResponse
should be returned.
GetTransactionResponse
Response message for NodeService.GetTransactio
n.
Fields
checkpoint
optional
The sequence number for the checkpoint that includes this transaction.
digest
effects
optional
Optional. The TransactionEffects
for this transaction.
effects_bcs
events
optional
Optional. The TransactionEvents
for this transaction. This field might be empty, even if it was explicitly requested, if the transaction didn't produce any events. sui.types.TransactionEffects.events_digest
is populated if the transaction produced any events.
events_bcs
signatures
optional
Optional. List of user signatures that are used to authorize the execution of this transaction.
signatures_bytes
timestamp
optional
The Unix timestamp of the checkpoint that includes this transaction.
transaction
optional
Optional. The transaction itself.
transaction_bcs
UserSignatures
List of UserSignature
s used to authorize a transaction.
UserSignaturesBytes
List of UserSignature
s used to authorize a transaction encoded as bytes.
Services (sui.node.v2.proto)
NodeService
Service for reading data from a Sui Full node.
Methods
Query a node for information about its current state.
Request the validator committee for a particular epoch or for the current epoch.
Request information for the specified object. Use this API to request an object by its ObjectId
. The version of the object returned is dependent on if you request a specific version. If you do not request a specific version (GetObjectRequest.version is None
), then the most recent version (if the object is live) is returned. If you do request a version, that version is returned if it historically existed, is available, and has not been pruned. Due to storage limitations, implementers of this service might prune older historical data, which can limit the data availability of this API. To determine the data availability range for historical objects, clients can look at GetNodeInfoResponse.lowest_available_checkpoint_objects
to see the lowest checkpoint for which historical object data is available.
Request information for the specified transaction. Use this API to request information about a transaction by its digest. Due to storage limitations, implementers of this service might prune older historical data, which can limit the data availability of this API. To determine the data availability range for historical transactions, clients can look at GetNodeInfoResponse.lowest_available_checkpoint
to see the lowest checkpoint for which historical transaction data is available.
Request information for the specified checkpoint. Use this API to request information about a checkpoint either by its digest or its sequence number (height). Due to storage limitations, implementers of this service might prune older historical data, which can limit the data availability of this API. To determine the data availability range for historical checkpoints, clients can look at GetNodeInfoResponse.lowest_available_checkpoint
to see the lowest checkpoint for which historical checkpoint data is available.
Request information for the entirety of the specified checkpoint. Use this API to request information about a checkpoint either by its digest or its sequence number (height). In particular, you can use this API to request information about all the transactions included in a checkpoint, as well as their input and output objects. Due to storage limitations, implementers of this service might prune older historical data, which can limit the data availability of this API. To determine the data availability range for historical checkpoints, clients can look at GetNodeInfoResponse.lowest_available_checkpoint
to see the lowest checkpoint for which historical checkpoint/transaction data is available and GetNodeInfoResponse.lowest_available_checkpoint_objects
for which historical object data is available.
Request that the provided transaction be relayed to the validator set for execution and inclusion in the blockchain.
Protobuf definitions of public Sui core types.
This file contains a complete set of protobuf definitions for all of the
public sui core types. All sui types are intended to have a 1:1 mapping to a
protobuf message defined in this file and be able to roundtrip to/from their
rust and protobuf definitions assuming a sufficiently up-to-date version of
both these definitions.
For more information on the types these proto messages correspond with, see
the documentation for their rust versions defined in the
sui-sdk-types
library.
Use of optional
These message definitions use protobuf version 3 (proto3). In proto3, fields
that are primitives (that is, they are not a message
) and are not present
on the wire are zero-initialized. To gain the ability to detect
field presence,
these definitions follow the convention of having all fields marked
optional
, and wrapping repeated
fields in a message as needed.
Even if a field is marked as optional
, it might not actually be optional from
the perspective of the Sui protocol. Such fields are explicitly labled
as Required
or Optional
in their documentation.
ActiveJwk
Fields
epoch
optional
Most recent epoch in which the JWK was validated.
id
optional
Identifier used to uniquely identify a JWK.
jwk
Address
Unique identifier for an account on the Sui blockchain.
An Address
is a 32-byte pseudonymous identifier used to uniquely identify an account and
asset-ownership on the Sui blockchain. Often, human-readable addresses are encoded in
hexadecimal with a 0x
prefix. For example, this is a valid Sui address:
0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331
.
Fields
address
optional
Required. 32-byte address.
AddressDeniedForCoinError
Address is denied for this coin type.
Fields
address
optional
Required. Denied address.
coin_type
optional
Required. Coin type.
Argument
An argument to a programmable transaction command.
Fields
Union field kind can be only one of the following.
gas
The gas coin. The gas coin can only be used by-ref, except for with TransferObjects
, which can use it by-value.
input
One of the input objects or primitive values (from ProgrammableTransaction
inputs).
nested_result
Like a Result
but it accesses a nested result. Currently, the only usage of this is to access a value from a Move call with multiple return values.
result
The result of another command (from ProgrammableTransaction
commands).
AuthenticatorStateExpire
Fields
authenticator_object_initial_shared_version
optional
The initial version of the authenticator object that it was shared at.
min_epoch
optional
Expire JWKs that have a lower epoch than this.
AuthenticatorStateUpdate
Update the set of valid JWKs.
Fields
authenticator_object_initial_shared_version
optional
The initial version of the authenticator object that it was shared at.
epoch
optional
Epoch of the authenticator state update transaction.
new_active_jwks
repeated
Newly active JWKs.
round
optional
Consensus round of the authenticator state update.
Bcs
Message that represents a type that is serialized and encoded using the
BCS
format.
Fields
bcs
optional
Required. Bytes of a BCS encoded value.
Bn254FieldElement
A point on the BN254 elliptic curve.
Fields
element
optional
Required. 32-byte big-endian field element.
CancelledTransaction
A transaction that was cancelled.
Fields
digest
optional
Digest of the cancelled transaction.
version_assignments
repeated
List of object version assignments.
CancelledTransactions
Set of cancelled transactions.
Fields
cancelled_transactions
ChangeEpoch
System transaction used to change the epoch.
Fields
computation_charge
optional
The total amount of gas charged for computation during the epoch.
epoch
optional
The next (to become) epoch ID.
epoch_start_timestamp_ms
optional
Unix timestamp when epoch started.
non_refundable_storage_fee
optional
The non-refundable storage fee.
protocol_version
optional
The protocol version in effect in the new epoch.
storage_charge
optional
The total amount of gas charged for storage during the epoch.
storage_rebate
optional
The amount of storage rebate refunded to the txn senders.
system_packages
repeated
System packages (specifically framework and Move stdlib) that are written before the new epoch starts. This tracks framework upgrades on chain. When executing the ChangeEpoch
txn, the validator must write out the following modules. Modules are provided with the version they will be upgraded to, their modules in serialized form (which include their package ID), and a list of their transitive dependencies.
ChangedObject
Input/output state of an object that was changed during execution.
Fields
object_id
optional
Required. ID of the object.
Union field input_state can be only one of the following.
exist
Object existed prior to this transaction.
not_exist
Object did not exist prior to this transaction.
Union field output_state can be only one of the following.
object_write
Object was written, including all of mutated, created, unwrapped.
package_write
removed
Object was removed from the store due to this transaction.
Union field id_operation can be only one of the following.
created
deleted
none
CheckpointCommitment
A commitment made by a checkpoint.
Fields
Union field commitment can be only one of the following.
ecmh_live_object_set
An elliptic curve multiset hash attesting to the set of objects that comprise the live state of the Sui blockchain.
CheckpointContents
The committed to contents of a checkpoint.
Fields
Union field contents can be only one of the following.
v1
Version 1 of CheckpointContents
.
CheckpointSummary
A header for a checkpoint on the Sui blockchain.
On the Sui network, checkpoints define the history of the blockchain. They are quite similar to
the concept of blocks used by other blockchains like Bitcoin or Ethereum. The Sui blockchain,
however, forms checkpoints after transaction execution has already happened to provide a
certified history of the chain, instead of being formed before execution.
Checkpoints commit to a variety of state, including but not limited to:
- The hash of the previous checkpoint.
- The set of transaction digests, their corresponding effects digests, as well as the set of
user signatures that authorized its execution.
- The objects produced by a transaction.
- The set of live objects that make up the current state of the chain.
- On epoch transitions, the next validator committee.
CheckpointSummary
s themselves don't directly include all of the previous information but they
are the top-level type by which all the information is committed to transitively via cryptographic
hashes included in the summary. CheckpointSummary
s are signed and certified by a quorum of
the validator committee in a given epoch to allow verification of the chain's state.
Fields
commitments
repeated
Commitments to checkpoint-specific state.
content_digest
optional
The hash of the CheckpointContents
for this checkpoint.
end_of_epoch_data
optional
Extra data only present in the final checkpoint of an epoch.
epoch
optional
Epoch that this checkpoint belongs to.
epoch_rolling_gas_cost_summary
optional
The running total gas costs of all transactions included in the current epoch so far until this checkpoint.
previous_digest
optional
The hash of the previous CheckpointSummary
. This will be None
only for the first, or genesis, checkpoint.
sequence_number
optional
The height of this checkpoint.
timestamp_ms
optional
Timestamp of the checkpoint - number of milliseconds from the Unix epoch Checkpoint timestamps are monotonic, but not strongly monotonic - subsequent checkpoints can have the same timestamp if they originate from the same underlining consensus commit.
total_network_transactions
optional
Total number of transactions committed since genesis, including those in this checkpoint.
version_specific_data
optional
CheckpointSummary
is not an evolvable structure - it must be readable by any version of the code. Therefore, to allow extensions to be added to CheckpointSummary
, opaque data can be added to checkpoints, which can be deserialized based on the current protocol version.
CheckpointedTransactionInfo
Transaction information committed to in a checkpoint.
Fields
effects
optional
Digest of the effects.
signatures
repeated
Set of user signatures that authorized the transaction.
transaction
optional
Digest of the transaction.
CircomG1
CircomG2
Command
A single command in a programmable transaction.
Fields
Union field command can be only one of the following.
make_move_vector
forall T: Vec<T> -> vector<T>
Given n-values of the same type, it constructs a vector. For non-objects or an empty vector, the type tag must be specified.
merge_coins
(&mut Coin<T>, Vec<Coin<T>>)
It merges n-coins into the first coin.
move_call
A call to either an entry or a public Move function.
publish
Publishes a Move package. It takes the package bytes and a list of the package's transitive dependencies to link against on chain.
split_coins
(&mut Coin<T>, Vec<u64>)
-> Vec<Coin<T>>
It splits off some amounts into new coins with those amounts.
transfer_objects
(Vec<forall T:key+store. T>, address)
It sends n-objects to the specified address. These objects must have store (public transfer) and either the previous owner must be an address or the object must be newly created.
upgrade
Upgrades a Move package. Takes (in order): 1. A vector of serialized modules for the package. 2. A vector of object ids for the transitive dependencies of the new package. 3. The object ID of the package being upgraded. 4. An argument holding the UpgradeTicket
that must have been produced from an earlier command in the same programmable transaction.
CommandArgumentError
An error with an argument to a command.
Fields
argument
optional
Required. Position of the problematic argument.
Union field kind can be only one of the following.
index_out_of_bounds
Out of bounds access to input or results.
invalid_argument_to_private_entry_function
Invalid argument to private entry function. Private entry functions cannot take arguments from other Move functions.
invalid_bcs_bytes
The argument cannot be deserialized into a value of the specified type.
invalid_gas_coin_usage
Invalid usage of gas coin. The gas coin can only be used by-value with a TransferObject
command.
invalid_object_by_mut_ref
Immutable objects cannot be passed by mutable reference, &mut
.
invalid_object_by_value
Immutable objects cannot be passed by-value.
invalid_result_arity
Invalid usage of result. Expected a single result but found either no return value or multiple.
invalid_usage_of_pure_argument
The argument cannot be instantiated from raw bytes.
invalid_value_usage
Invalid usage of Move value. - Mutably borrowed values require unique usage. - Immutably borrowed values cannot be taken or borrowed mutably. - Taken values cannot be used again.
secondary_index_out_of_bounds
Out of bounds access to subresult.
shared_object_operation_not_allowed
Shared object operations such as wrapping, freezing, or converting to owned are not allowed.
type_mismatch
The type of the value does not match the expected type.
CongestedObjectsError
Set of objects that were congested, leading to the transaction's cancellation.
Fields
congested_objects
repeated
Set of congested objects.
ConsensusCommitPrologue
Consensus commit prologue system transaction.
This message can represent V1, V2, and V3 prologue types.
Fields
commit_timestamp_ms
optional
Unix timestamp from consensus. Present in V1, V2, and V3.
consensus_commit_digest
optional
Digest of consensus output. Present in V2 and V3.
consensus_determined_version_assignments
optional
Stores consensus handler determined shared object version assignments. Present in V3.
epoch
optional
Epoch of the commit prologue transaction. Present in V1, V2, and V3.
round
optional
Consensus round of the commit. Present in V1, V2, and V3.
sub_dag_index
optional
The sub DAG index of the consensus commit. This field is populated if there are multiple consensus commits per round. Present in V3.
ConsensusDeterminedVersionAssignments
Version assignments performed by consensus.
Fields
Union field kind can be only one of the following.
cancelled_transactions
Cancelled transaction version assignment.
Digest
32-byte output of hashing a Sui structure using the Blake2b256 hash function.
Fields
digest
optional
Required. 32-byte hash.
EndOfEpochData
Data, which when included in a CheckpointSummary
, signals the end of an Epoch
.
Fields
epoch_commitments
repeated
Commitments to epoch specific state (live object set)
next_epoch_committee
repeated
The set of validators that will be in the ValidatorCommittee
for the next epoch.
next_epoch_protocol_version
optional
The protocol version that is in effect during the next epoch.
EndOfEpochTransaction
Set of operations run at the end of the epoch to close out the current epoch
and start the next one.
EndOfEpochTransactionKind
Operation run at the end of an epoch.
Fields
Union field kind can be only one of the following.
authenticator_state_create
Create and initialize the authenticator object used for zklogin.
authenticator_state_expire
Expire JWKs used for zklogin.
bridge_committee_init
Initialize the bridge committee.
bridge_state_create
Create and initialize the bridge object.
change_epoch
End the epoch and start the next one.
deny_list_state_create
Create and initialize the deny list object.
randomness_state_create
Create and initialize the randomness object.
Event
Fields
contents
optional
BCS serialized bytes of the event.
event_type
optional
The type of the event emitted.
module
optional
Module name of the top-level function invoked by a MoveCall
command that triggered this event to be emitted.
package_id
optional
Package ID of the top-level function invoked by a MoveCall
command that triggered this event to be emitted.
sender
optional
Address of the account that sent the transaction where this event was emitted.
ExecutionStatus
The status of an executed transaction.
Fields
status
optional
Optional. The error if success
is false.
success
optional
Required. Indicates if the transaction was successful or not.
FailureStatus
An error that can occur during the execution of a transaction.
Fields
command
optional
The command, if any, during which the error occurred.
Union field execution_error can be only one of the following.
address_denied_for_coin
Address is denied for this coin type.
arity_mismatch
Parity mismatch for Move function. The number of arguments does not match the number of parameters.
certificate_denied
Certificate is on the deny list.
circular_object_ownership
Circular object ownership.
coin_balance_overflow
Coin balance overflowed an u64.
coin_type_global_pause
Coin type is globally paused for use.
command_argument_error
Invalid command argument.
effects_too_large
Post-execution errors. Effects from the transaction are too large.
execution_cancelled_due_to_randomness_unavailable
Certificate is cancelled because randomness could not be generated this epoch.
execution_cancelled_due_to_shared_object_congestion
Certificate is cancelled due to congestion on shared objects.
feature_not_yet_supported
Attempted to use feature that is not supported yet.
function_not_found
Programmable transaction errors. Function not found.
input_object_deleted
Requested shared object has been deleted.
insufficient_coin_balance
Coin errors. Insufficient coin balance for requested operation.
insufficient_gas
invalid_gas_object
invalid_public_function_return_type
Invalid public Move function signature. Unsupported return type for return value.
invalid_transfer_object
Invalid transfer object, object does not have public transfer.
invariant_violation
move_abort
move_primitive_runtime_error
MoveVm errors. Error from a non-abort instruction. Possible causes: Arithmetic error, stack overflow, max value depth, or similar.
non_entry_function_invoked
Non-entry function invoked. Move Call must start with an entry function.
object_too_big
Move object is larger than the maximum allowed size.
package_too_big
Package is larger than the maximum allowed size.
package_upgrade_error
publish_error_non_zero_address
Publish/Upgrade errors. Publish error, non-zero address. The modules in the package must have their self-addresses set to zero.
publish_upgrade_dependency_downgrade
Publish or upgrade dependency downgrade. Indirect (transitive) dependency of published or upgraded package has been assigned an on-chain version that is less than the version required by one of the package's transitive dependencies.
publish_upgrade_missing_dependency
Publish or Upgrade is missing dependency.
shared_object_operation_not_allowed
The requested shared object operation is not allowed.
sui_move_verification_error
Sui Move bytecode verification error.
sui_move_verification_timedout
Sui Move bytecode verification timed out.
type_argument_error
type_arity_mismatch
Type parity mismatch for Move function. Mismatch between the number of actual versus expected type arguments.
unused_value_without_drop
Unused result without the drop ability.
vm_invariant_violation
MoveVm invariant violation.
vm_verification_or_deserialization_error
Bytecode verification error.
written_objects_too_large
Indicates the transaction tried to write objects too large to storage.
GasCostSummary
Summary of gas charges.
Storage is charged independently of computation.
There are three parts to the storage charges:
storage_cost
: the charge of storage at the time the transaction is executed.
The cost of storage is the number of bytes of the objects being mutated
multiplied by a variable storage cost per byte.
storage_rebate
: the amount a user gets back when manipulating an object.
The storage_rebate
is the storage_cost
for an object minus fees.
non_refundable_storage_fee
: not all the value of the object storage cost is
given back to user and there is a small fraction that
is kept by the system. This value tracks that charge.
When looking at a gas cost summary the amount charged to the user is
computation_cost + storage_cost - storage_rebate
and that is the amount that is deducted from the gas coins.
non_refundable_storage_fee
is collected from the objects being mutated/deleted
and it is tracked by the system in storage funds.
Objects deleted, including the older versions of objects mutated, have the storage field
on the objects added up to a pool of "potential rebate". This rebate then is reduced
by the "nonrefundable rate" such that:
potential_rebate(storage cost of deleted/mutated objects) = storage_rebate + non_refundable_storage_fee
Fields
computation_cost
optional
Cost of computation/execution.
non_refundable_storage_fee
optional
The fee for the rebate. The portion of the storage rebate kept by the system.
storage_cost
optional
Storage cost, it's the sum of all storage cost for all objects created or mutated.
storage_rebate
optional
The amount of storage cost refunded to the user for all objects deleted or mutated in the transaction.
GasPayment
Payment information for executing a transaction.
Fields
budget
optional
Total budget willing to spend for the execution of a transaction.
objects
repeated
Set of gas objects to use for payment.
owner
optional
Owner of the gas objects, either the transaction sender or a sponsor.
price
optional
Gas unit price to use when charging for computation. Must be greater than or equal to the network's current RGP (reference gas price).
GenesisObject
An object part of the initial chain state.
Fields
object
object_id
owner
version
GenesisTransaction
Fields
objects
repeated
Set of genesis objects.
I128
A signed 128-bit integer encoded in little-endian using 16-bytes.
Fields
bytes
optional
Required. 16-byte little-endian bytes.
Identifier
A Move identifier.
Identifiers are only valid if they conform to the following ABNF:
identifier = (ALPHA *127(ALPHA / DIGIT / UNDERSCORE)) /
(UNDERSCORE 1*127(ALPHA / DIGIT / UNDERSCORE))
UNDERSCORE = %x95
An input to a user transaction.
Fields
Union field kind can be only one of the following.
immutable_or_owned
A Move object that is either immutable or address owned.
pure
A move value serialized as BCS. For normal operations this is required to be a move primitive type and not contain structs or objects.
receiving
A Move object that is attempted to be received in this transaction.
shared
A Move object whose owner is "Shared".
Jwk
A JSON web key.
Struct that contains info for a JWK. A list of them for different kinds can
be retrieved from the JWK endpoint (for example, &#lt;https://www.googleapis.com/oauth2/v3/certs>).
The JWK is used to verify the JWT token.
JwkId
Key to uniquely identify a JWK.
Fields
iss
optional
The issuer or identity of the OIDC provider.
kid
optional
A key ID used to uniquely identify a key from an OIDC provider.
MakeMoveVector
Command to build a Move vector out of a set of individual elements.
Fields
element_type
optional
Type of the individual elements. This is required to be set when the type can't be inferred, for example when the set of provided arguments are all pure input values.
elements
repeated
The set individual elements to build the vector with.
MergeCoins
Command to merge multiple coins of the same type into a single coin.
Fields
coin
optional
Coin to merge coins into.
coins_to_merge
repeated
Set of coins to merge into coin
. All listed coins must be of the same type and be the same type as coin
ModifiedAtVersion
Indicates that an object was modified at a specific version.
Fields
object_id
optional
Required. ObjectId
of the object.
version
optional
Required. Version of the object prior to this transaction.
MoveCall
Command to call a Move function.
Functions that can be called by a MoveCall
command are those that have a function signature
that is either entry
or public
(which don't have a reference return type).
Fields
arguments
repeated
The arguments to the function.
function
optional
The function to be called.
module
optional
The specific module in the package containing the function.
package
optional
The package containing the module and function.
type_arguments
repeated
The type arguments to the function.
MoveError
Error that occurred in Move.
Fields
abort_code
optional
Abort code from Move.
location
optional
Location in Move where the error occurred.
MoveField
MoveLocation
Location in Move bytecode where an error occurred.s
Fields
function
optional
Required. The function index.
function_name
optional
Optional. The name of the function, if available.
instruction
optional
Required. Offset of the instruction where the error occurred.
module
optional
Required. The module name.
package
optional
Required. The package ID.
MoveModule
Module defined by a package.
Fields
contents
optional
Serialized bytecode of the module.
name
optional
Name of the module.
MovePackage
Fields
id
optional
Address or ID of this package.
linkage_table
repeated
For each dependency, maps original package ID to the info about the (upgraded) dependency version that this package is using.
modules
repeated
Set of modules defined by this package.
type_origin_table
repeated
Maps struct/module to a package version where it was first defined, stored as a vector for simple serialization and deserialization.
version
optional
Version of the package.
MoveStruct
Fields
contents
optional
BCS bytes of a Move struct value.
has_public_transfer
optional
DEPRECATED this field is no longer used to determine whether a tx can transfer this object. Instead, it is always calculated from the objects type when loaded in execution.
object_id
optional
ObjectId
for this object.
object_type
optional
The type of this object.
version
optional
Version of the object.
MoveStructValue
MoveValue
Fields
Union field kind can be only one of the following.
address
bool
signer
struct
u128
u16
u256
u32
u64
u8
variant
vector
MoveVariant
Fields
enum_type
fields
tag
variant_name
MoveVector
MultisigAggregatedSignature
Aggregated signature from members of a multisig committee.
Fields
bitmap
optional
Required. Bitmap indicating which committee members contributed to the signature.
committee
optional
Required. The committee to use to validate this signature.
legacy_bitmap
optional
Optional. If present, means this signature's on-chain format uses the old legacy multisig format.
signatures
repeated
The plain signatures encoded with signature scheme. The signatures must be in the same order as they are listed in the committee.
MultisigCommittee
Fields
members
repeated
A list of committee members and their corresponding weight.
threshold
optional
Required. The threshold of signatures needed to validate a signature from this committee.
MultisigMember
A member in a multisig committee.
Fields
public_key
optional
Required. The public key of the committee member.
weight
optional
Required. The weight of this member's signature.
MultisigMemberPublicKey
Set of valid public keys for multisig committee members.
Fields
Union field scheme can be only one of the following.
ed25519
secp256k1
secp256r1
zklogin
A zklogin public identifier
MultisigMemberSignature
A signature from a member of a multisig committee.
Fields
Union field signature can be only one of the following.
ed25519
secp256k1
secp256r1
zklogin
NestedResult
An argument type for a nested result.
Fields
result
optional
The command index.
subresult
optional
The index into the command's output.
Object
An object on the Sui blockchain.
Fields
object
object_id
optional
ObjectId
for this object.
owner
optional
Owner of the object.
previous_transaction
optional
The digest of the transaction that created or last mutated this object
storage_rebate
optional
The amount of SUI to rebate if this object gets deleted. This number is re-calculated each time the object is mutated based on the present storage gas price.
version
optional
Version of the object.
ObjectData
Object data, either a package or struct.
Fields
Union field kind can be only one of the following.
package
struct
ObjectExist
Information about the old version of the object.
Fields
digest
optional
Required. Digest of the object.
owner
optional
Required. Owner of the object.
version
optional
Required. Version of the object.
ObjectId
Unique identifier for an object on the Sui blockchain.
An ObjectId
is a 32-byte identifier used to uniquely identify an object on the Sui
blockchain.
Fields
object_id
optional
Required. 32-byte object-id.
ObjectReference
Fields
digest
optional
The digest of this object.
object_id
optional
The object ID of this object.
version
optional
The version of this object.
ObjectReferenceWithOwner
An object reference with owner information.
Fields
owner
reference
optional
Required. ObjectReference
.
ObjectWrite
Object write, including all of mutated, created, unwrapped.
Fields
digest
optional
Required. Digest of the new version of the object.
owner
optional
Required. Owner of the new version of the object.
Owner
Enum of different types of ownership for an object.
Fields
Union field kind can be only one of the following.
address
Object is exclusively owned by a single address, and is mutable.
immutable
Object is immutable, and hence ownership doesn't matter.
object
Object is exclusively owned by a single object, and is mutable.
shared
Object is shared, can be used by any address, and is mutable.
PackageIdDoesNotMatch
Package ID does not match PackageId
in upgrade ticket.
Fields
package_id
optional
Required. The package ID.
ticket_id
optional
Required. The ticket ID.
PackageUpgradeError
An error with a upgrading a package.
Fields
Union field kind can be only one of the following.
digets_does_not_match
Digest in upgrade ticket and computed digest differ.
incompatible_upgrade
Package upgrade is incompatible with previous version.
not_a_package
package_id_does_not_match
Package ID does not match PackageId
in upgrade ticket.
unable_to_fetch_package
unknown_upgrade_policy
Upgrade policy is not valid.
PackageWrite
Fields
digest
optional
Required. Digest of the new package.
version
optional
Version of the new package.
PasskeyAuthenticator
A passkey authenticator.
See
struct.PasskeyAuthenticator
for more information on the requirements on the shape of the
client_data_json
field.
Fields
authenticator_data
optional
Required. Opaque authenticator data for this passkey signature. See
Authenticator Data for more information on this field.
client_data_json
optional
Required. Structured, unparsed, JSON for this passkey signature. See
CollectedClientData for more information on this field.
signature
optional
Required. A secp256r1 signature.
ProgrammableTransaction
A user transaction.
Contains a series of native commands and Move calls where the results of one command can be
used in future commands.
Fields
commands
repeated
The commands to be executed sequentially. A failure in any command results in the failure of the entire transaction.
inputs
repeated
Input objects or primitive values.
Publish
Command to publish a new Move package.
Fields
dependencies
repeated
Set of packages that the to-be published package depends on.
modules
repeated
The serialized Move modules.
RandomnessStateUpdate
Fields
epoch
optional
Epoch of the randomness state update transaction.
random_bytes
optional
Updated random bytes.
randomness_object_initial_shared_version
optional
The initial version of the randomness object that it was shared at.
randomness_round
optional
Randomness round of the update.
ReadOnlyRoot
Read-only shared object from the input.
Fields
digest
optional
Required. Digest of the shared object.
version
optional
Required. Version of the shared object.
RoaringBitmap
A RoaringBitmap. See
RoaringFormatSpec for the
specification for the serialized format of RoaringBitmap
s.
Fields
bitmap
optional
Required. Serialized RoaringBitmap
.
Fields
initial_shared_version
optional
Initial version of the object when it was shared.
mutable
optional
Controls whether the caller asks for a mutable reference to the shared object.
object_id
optional
ObjectId
of the shared object.
SimpleSignature
A basic signature.
Can either be an ed25519, secp256k1, or secp256r1 signature with
corresponding public key.
Fields
public_key
optional
Required. Public key bytes.
scheme
optional
Required. Signature scheme of the signature and public key.
signature
optional
Required. Signature bytes.
SizeError
Fields
max_size
optional
Required. The maximum allowable size.
size
optional
Required. The offending size.
SplitCoins
Command to split a single coin object into multiple coins.
Fields
amounts
repeated
The amounts to split off.
coin
optional
The coin to split.
StructTag
Type information for a Move struct.
Fields
address
optional
Address of the package where this type was defined.
module
optional
Name of the module where this type was defined.
name
optional
Name of the type itself.
type_parameters
repeated
List of type parameters, if any.
SystemPackage
Fields
dependencies
repeated
Package dependencies.
modules
version
optional
Version of the package.
Transaction
Fields
Union field version can be only one of the following.
v1
TransactionV1
Version 1 of Transaction
.
Fields
expiration
gas_payment
kind
sender
TransactionEffects
The output or effects of executing a transaction.
Fields
Union field version can be only one of the following.
v1
v2
TransactionEffectsV1
Version 1 of TransactionEffects
.
Fields
created
repeated
ObjectReference
and owner of new objects created.
deleted
repeated
Object refs of objects now deleted (the new refs).
dependencies
repeated
The set of transaction digests this transaction depends on.
epoch
optional
The epoch when this transaction was executed.
events_digest
optional
The digest of the events emitted during execution, can be None
if the transaction does not emit any event.
gas_object
optional
The updated gas object reference. Have a dedicated field for convenient access. It's also included in mutated.
gas_used
optional
The gas used by this transaction.
modified_at_versions
repeated
The version that every modified (mutated or deleted) object had before it was modified by this transaction.
mutated
repeated
ObjectReference
and owner of mutated objects, including gas object.
shared_objects
repeated
The object references of the shared objects used in this transaction. Empty if no shared objects were used.
status
optional
The status of the execution.
transaction_digest
optional
The transaction digest.
unwrapped
repeated
ObjectReference
and owner of objects that are unwrapped in this transaction. Unwrapped objects are objects that were wrapped into other objects in the past, and just got extracted out.
unwrapped_then_deleted
repeated
Object refs of objects previously wrapped in other objects but now deleted.
wrapped
repeated
Object refs of objects now wrapped in other objects.
TransactionEffectsV2
Version 2 of TransactionEffects
.
Fields
auxiliary_data_digest
optional
Auxiliary data that are not protocol-critical, generated as part of the effects but are stored separately. Storing it separately allows us to avoid bloating the effects with data that are not critical. It also provides more flexibility on the format and type of the data.
changed_objects
repeated
Objects whose state are changed in the object store.
dependencies
repeated
The set of transaction digests this transaction depends on.
epoch
optional
The epoch when this transaction was executed.
events_digest
optional
The digest of the events emitted during execution, can be None
if the transaction does not emit any event.
gas_object_index
optional
The updated gas object reference, as an index into the changed_objects
vector. Having a dedicated field for convenient access. System transaction that don't require gas will leave this as None
.
gas_used
optional
The gas used by this transaction.
lamport_version
optional
The version number of all the written Move objects by this transaction.
status
optional
The status of the execution.
transaction_digest
optional
The transaction digest.
unchanged_shared_objects
repeated
Shared objects that are not mutated in this transaction. Unlike owned objects, read-only shared objects' version are not committed in the transaction, and in order for a node to catch up and execute it without consensus sequencing, the version needs to be committed in the effects.
TransactionEvents
Events emitted during the successful execution of a transaction.
TransactionExpiration
Fields
Union field expiration can be only one of the following.
epoch
Validators won't sign and execute transaction unless the expiration epoch is greater than or equal to the current epoch.
none
The transaction has no expiration.
TransactionKind
Fields
Union field kind can be only one of the following.
authenticator_state_update
Update set of valid JWKs used for zklogin.
change_epoch
System transaction used to end an epoch. The ChangeEpoch
variant is now deprecated (but the ChangeEpoch
struct is still used by EndOfEpochTransaction
).
consensus_commit_prologue_v1
V1 consensus commit update.
consensus_commit_prologue_v2
V2 consensus commit update.
consensus_commit_prologue_v3
V3 consensus commit update.
end_of_epoch
Set of operations to run at the end of the epoch to close out the current epoch and start the next one.
genesis
Transaction used to initialize the chain state. Only valid if in the genesis checkpoint (0) and if this is the very first transaction ever executed on the chain.
programmable_transaction
A user transaction comprised of a list of native commands and Move calls.
randomness_state_update
TransferObjects
Command to transfer ownership of a set of objects to an address.
Fields
address
optional
The address to transfer ownership to.
objects
repeated
Set of objects to transfer.
TypeArgumentError
Fields
type_argument
optional
Required. Index of the problematic type argument.
Union field kind can be only one of the following.
constraint_not_satisfied
A type provided did not match the specified constraint.
type_not_found
A type was not found in the module specified.
TypeOrigin
Identifies a struct and the module it was defined in.
Fields
module_name
package_id
struct_name
TypeTag
Fields
Union field tag can be only one of the following.
address
bool
signer
struct
u128
u16
u256
u32
u64
u8
vector
U128
An unsigned 128-bit integer encoded in little-endian using 16-bytes.
Fields
bytes
optional
Required. 16-byte little-endian bytes.
U256
An unsigned 256-bit integer encoded in little-endian using 32-bytes.
Fields
bytes
optional
Required. 16-byte little-endian bytes.
UnchangedSharedObject
A shared object that wasn't changed during execution.
Fields
object_id
optional
Required. ObjectId of the shared object.
Union field kind can be only one of the following.
cancelled
Shared objects that was congested and resulted in this transaction being cancelled.
mutate_deleted
Deleted shared objects that appear mutably/owned in the input.
per_epoch_config
Read of a per-epoch config object that should remain the same during an epoch.
read_deleted
Deleted shared objects that appear as read-only in the input.
read_only_root
Read-only shared object from the input.
Upgrade
Command to upgrade an already published package.
Fields
dependencies
repeated
Set of packages that the to-be published package depends on.
modules
repeated
The serialized Move modules.
package
optional
Package ID of the package to upgrade.
ticket
optional
Ticket authorizing the upgrade.
UpgradeInfo
Upgraded package info for the linkage table.
Fields
original_id
optional
ID of the original package.
upgraded_id
optional
ID of the upgraded package.
upgraded_version
optional
Version of the upgraded package.
UserSignature
Fields
Union field signature can be only one of the following.
multisig
passkey
simple
zklogin
ValidatorAggregatedSignature
An aggregated signature from multiple validators.
Fields
bitmap
optional
Required. Bitmap indicating which members of the committee contributed to this signature.
epoch
optional
Required. The epoch when this signature was produced. This can be used to lookup the ValidatorCommittee
from this epoch to verify this signature.
signature
optional
Required. The 48-byte Bls12381 aggregated signature.
ValidatorCommittee
The validator set for a particular epoch.
Fields
epoch
optional
Required. The epoch where this committee governs.
members
repeated
The committee members.
ValidatorCommitteeMember
A member of a validator committee.
Fields
public_key
optional
Required. The 96-byte Bls12381 public key for this validator.
stake
optional
Required. Stake weight this validator possesses.
VersionAssignment
Object version assignment from consensus.
Fields
object_id
optional
ObjectId
of the object.
version
optional
Assigned version.
ZkLoginAuthenticator
Fields
inputs
optional
Required. Zklogin proof and inputs required to perform proof verification.
max_epoch
optional
Required. Maximum epoch for which the proof is valid.
signature
optional
Required. User signature with the public key attested to by the provided proof.
ZkLoginClaim
A claim of the iss in a zklogin proof.
A zklogin groth16 proof and the required inputs to perform proof verification.
Fields
address_seed
header_base64
iss_base64_details
proof_points
ZkLoginProof
ZkLoginPublicIdentifier
Public key equivalent for zklogin authenticators.
SignatureScheme
Flag use to disambiguate the signature schemes supported by Sui. Note: the enum values defined by this proto message do not match their BCS serialized values. See
enum.SignatureScheme for a mapping to their canonical serialized format.
Enums
SIGNATURE_SCHEME_UNKNOWN
SIGNATURE_SCHEME_ED25519
SIGNATURE_SCHEME_SECP256K1
SIGNATURE_SCHEME_SECP256R1
SIGNATURE_SCHEME_MULTISIG
SIGNATURE_SCHEME_BLS12381
SIGNATURE_SCHEME_ZKLOGIN
SIGNATURE_SCHEME_PASSKEY