Skip to main content

Full Node Protocol

The Full node protocol ...

sui.node.v2.proto

BalanceChange

Fields

address

Type
Label
optional

coin_type

Type
Label
optional

amount

Type
Label
optional

BalanceChanges

Fields

balance_changes

Type
Label
repeated

EffectsFinality

Fields

certified

checkpointed

Type

quorum_executed

Type

ExecuteTransactionOptions

Fields

effects

Type
Label
optional
Description
Include the sui.types.TransactionEffects message in the response.Defaults to false if not included

effects_bcs

Type
Label
optional
Description
Include the TransactionEffects formatted as BCS in the response.Defaults to false if not included

events

Type
Label
optional
Description
Include the sui.types.TransactionEvents message in the response.Defaults to false if not included

events_bcs

Type
Label
optional
Description
Include the TransactionEvents formatted as BCS in the response.Defaults to false if not included

balance_changes

Type
Label
optional
Description
Include the BalanceChanges in the response.Defaults to false if not included

ExecuteTransactionRequest

Fields

transaction

Type
Label
optional

transaction_bcs

Type
Label
optional

signatures

Type
Label
optional

signatures_bytes

Type
Label
optional

options

Type
Label
optional

ExecuteTransactionResponse

Fields

finality

Type
Label
optional

effects

Type
Label
optional

effects_bcs

Type
Label
optional

events

Type
Label
optional

events_bcs

Type
Label
optional

balance_changes

Type
Label
optional

FullCheckpointObject

Fields

object_id

Type
Label
optional

version

Type
Label
optional

digest

Type
Label
optional
Description
The digest of this object

object

Type
Label
optional

object_bcs

Type
Label
optional

FullCheckpointObjects

Fields

objects

Type
Label
repeated

FullCheckpointTransaction

Fields

digest

Type
Label
optional
Description
The digest of this transaction

transaction

Type
Label
optional

transaction_bcs

Type
Label
optional

effects

Type
Label
optional

effects_bcs

Type
Label
optional

events

Type
Label
optional

events_bcs

Type
Label
optional

input_objects

Type
Label
optional

output_objects

Type
Label
optional

GetCheckpointOptions

Fields

summary

Type
Label
optional
Description
Include the sui.types.CheckpointSummary in the response.Defaults to false if not included

summary_bcs

Type
Label
optional
Description
Include the CheckpointSummary formatted as BCS in the response.Defaults to false if not included

signature

Type
Label
optional
Description
Include the sui.types.ValidatorAggregatedSignature in the response.Defaults to false if not included

contents

Type
Label
optional
Description
Include the sui.types.CheckpointContents message in the response.Defaults to false if not included

contents_bcs

Type
Label
optional
Description
Include the CheckpointContents formatted as BCS in the response.Defaults to false if not included

GetCheckpointRequest

Fields

sequence_number

Type
Label
optional

digest

Type
Label
optional

options

Type
Label
optional

GetCheckpointResponse

Fields

sequence_number

Type
Label
optional
Description
The sequence number of this Checkpoint

digest

Type
Label
optional
Description
The digest of this Checkpoint's CheckpointSummary

summary

Type
Label
optional

summary_bcs

Type
Label
optional

signature

contents

Type
Label
optional

contents_bcs

Type
Label
optional

GetCommitteeRequest

Fields

epoch

Type
Label
optional

GetCommitteeResponse

Fields

committee

Type
Label
optional

GetFullCheckpointOptions

Fields

summary

Type
Label
optional
Description
Include the sui.types.CheckpointSummary in the response.Defaults to false if not included

summary_bcs

Type
Label
optional
Description
Include the CheckpointSummary formatted as BCS in the response.Defaults to false if not included

signature

Type
Label
optional
Description
Include the sui.types.ValidatorAggregatedSignature in the response.Defaults to false if not included

contents

Type
Label
optional
Description
Include the sui.types.CheckpointContents message in the response.Defaults to false if not included

contents_bcs

Type
Label
optional
Description
Include the CheckpointContents formatted as BCS in the response.Defaults to false if not included

transaction

Type
Label
optional
Description
Include the sui.types.Transaction message in the response.Defaults to false if not included

transaction_bcs

Type
Label
optional
Description
Include the Transaction formatted as BCS in the response.Defaults to false if not included

effects

Type
Label
optional
Description
Include the sui.types.TransactionEffects message in the response.Defaults to false if not included

effects_bcs

Type
Label
optional
Description
Include the TransactionEffects formatted as BCS in the response.Defaults to false if not included

events

Type
Label
optional
Description
Include the sui.types.TransactionEvents message in the response.Defaults to false if not included

events_bcs

Type
Label
optional
Description
Include the TransactionEvents formatted as BCS in the response.Defaults to false if not included

input_objects

Type
Label
optional
Description
Include the input objects for transactions in the response.Defaults to false if not included

output_objects

Type
Label
optional
Description
Include the output objects for transactions in the response.Defaults to false if not included

object

Type
Label
optional
Description
Include the sui.types.Object message in the response.Defaults to false if not included

object_bcs

Type
Label
optional
Description
Include the Object formatted as BCS in the response.Defaults to false if not included

GetFullCheckpointRequest

Fields

sequence_number

Type
Label
optional

digest

Type
Label
optional

options

Type
Label
optional

GetFullCheckpointResponse

Fields

sequence_number

Type
Label
optional
Description
The sequence number of this Checkpoint

digest

Type
Label
optional
Description
The digest of this Checkpoint's CheckpointSummary

summary

Type
Label
optional

summary_bcs

Type
Label
optional

signature

contents

Type
Label
optional

contents_bcs

Type
Label
optional

transactions

Type
Label
repeated

GetNodeInfoRequest

GetNodeInfoResponse

Fields

chain_id

Type
Label
optional
Description
The chain identifier of the chain that this Node is on

chain

Type
Label
optional
Description
Human readable name of the chain that this Node is on

epoch

Type
Label
optional
Description
Current epoch of the Node based on its highest executed checkpoint

checkpoint_height

Type
Label
optional
Description
Checkpoint height of the most recently executed checkpoint

timestamp

Type
Label
optional
Description
Unix timestamp of the most recently executed checkpoint

lowest_available_checkpoint

Type
Label
optional
Description
The lowest checkpoint for which checkpoints and transaction data is available

lowest_available_checkpoint_objects

Type
Label
optional
Description
The lowest checkpoint for which object data is available

software_version

Type
Label
optional

GetObjectOptions

Fields

object

Type
Label
optional
Description
Include the sui.types.Object message in the response.Defaults to false if not included

object_bcs

Type
Label
optional
Description
Include the Object formatted as BCS in the response.Defaults to false if not included

GetObjectRequest

Fields

object_id

Type
Label
optional

version

Type
Label
optional

options

Type
Label
optional

GetObjectResponse

Fields

object_id

Type
Label
optional

version

Type
Label
optional

digest

Type
Label
optional
Description
The digest of this object

object

Type
Label
optional

object_bcs

Type
Label
optional

GetTransactionOptions

Fields

transaction

Type
Label
optional
Description
Include the sui.types.Transaction message in the response.Defaults to false if not included

transaction_bcs

Type
Label
optional
Description
Include the Transaction formatted as BCS in the response.Defaults to false if not included

signatures

Type
Label
optional
Description
Include the set of sui.types.UserSignature's in the response.Defaults to false if not included

signatures_bytes

Type
Label
optional
Description
Include the set of UserSignature's encoded as bytes in the response.Defaults to false if not included

effects

Type
Label
optional
Description
Include the sui.types.TransactionEffects message in the response.Defaults to false if not included

effects_bcs

Type
Label
optional
Description
Include the TransactionEffects formatted as BCS in the response.Defaults to false if not included

events

Type
Label
optional
Description
Include the sui.types.TransactionEvents message in the response.Defaults to false if not included

events_bcs

Type
Label
optional
Description
Include the TransactionEvents formatted as BCS in the response.Defaults to false if not included

GetTransactionRequest

Fields

digest

Type
Label
optional

options

Type
Label
optional

GetTransactionResponse

Fields

digest

Type
Label
optional
Description
The digest of this transaction

transaction

Type
Label
optional

transaction_bcs

Type
Label
optional

signatures

Type
Label
optional

signatures_bytes

Type
Label
optional

effects

Type
Label
optional

effects_bcs

Type
Label
optional

events

Type
Label
optional

events_bcs

Type
Label
optional

checkpoint

Type
Label
optional

timestamp

Type
Label
optional

UserSignatures

Fields

signatures

Type
Label
repeated

UserSignaturesBytes

Fields

signatures

Type
Label
repeated

sui.types.proto

ActiveJwk

Fields

id

Type
Label
optional

jwk

Type
Label
optional

epoch

Type
Label
optional

Address

Fields

address

Type
Label
optional

AddressDeniedForCoinError

Fields

address

Type
Label
optional

coin_type

Type
Label
optional

Argument

Fields

gas

Type

input

Type

result

Type

nested_result

AuthenticatorStateExpire

Fields

min_epoch

Type
Label
optional

authenticator_object_initial_shared_version

Type
Label
optional

AuthenticatorStateUpdate

Fields

epoch

Type
Label
optional

round

Type
Label
optional

new_active_jwks

Type
Label
repeated

authenticator_object_initial_shared_version

Type
Label
optional

Bcs

Fields

bcs

Type
Label
optional

Bn254FieldElement

Fields

element

Type
Label
optional

CancelledTransaction

Fields

digest

Type
Label
optional

version_assignments

Type
Label
repeated

CancelledTransactions

Fields

cancelled_transactions

Type
Label
repeated

ChangeEpoch

Fields

epoch

Type
Label
optional
Description
The next (to become) epoch ID.

protocol_version

Type
Label
optional
Description
The protocol version in effect in the new epoch.

storage_charge

Type
Label
optional
Description
The total amount of gas charged for storage during the epoch.

computation_charge

Type
Label
optional
Description
The total amount of gas charged for computation during the epoch.

storage_rebate

Type
Label
optional
Description
The amount of storage rebate refunded to the txn senders.

non_refundable_storage_fee

Type
Label
optional
Description
The non-refundable storage fee.

epoch_start_timestamp_ms

Type
Label
optional
Description
Unix timestamp when epoch started

system_packages

Type
Label
repeated
Description
System packages (specifically framework and move stdlib) that are written before the newepoch starts. This tracks framework upgrades on chain. When executing the ChangeEpoch txn,the validator must write out the modules below. Modules are provided with the version theywill be upgraded to, their modules in serialized form (which include their package ID), anda list of their transitive dependencies.

ChangedObject

Fields

object_id

Type
Label
optional

not_exist

Type

exist

removed

Type

object_write

package_write

none

Type

created

Type

deleted

Type

CheckpointCommitment

Fields

ecmh_live_object_set

Type

CheckpointContents

Fields

v1

Type

V1

Fields

transactions

CheckpointSummary

Fields

epoch

Type
Label
optional

sequence_number

Type
Label
optional

total_network_transactions

Type
Label
optional

content_digest

Type
Label
optional

previous_digest

Type
Label
optional

epoch_rolling_gas_cost_summary

Type
Label
optional

timestamp_ms

Type
Label
optional

commitments

Type
Label
repeated

end_of_epoch_data

Type
Label
optional

version_specific_data

Type
Label
optional

CheckpointedTransactionInfo

Fields

transaction

Type
Label
optional
Description
TransactionDigest

effects

Type
Label
optional
Description
EffectsDigest

signatures

Type
Label
repeated

CircomG1

Fields

e0

Type
Label
optional

e1

Type
Label
optional

e2

Type
Label
optional

CircomG2

Fields

e00

Type
Label
optional

e01

Type
Label
optional

e10

Type
Label
optional

e11

Type
Label
optional

e20

Type
Label
optional

e21

Type
Label
optional

Command

Fields

move_call

transfer_objects

split_coins

merge_coins

publish

make_move_vector

upgrade

CommandArgumentError

Fields

argument

Type
Label
optional

type_mismatch

Type
Description
The type of the value does not match the expected type

invalid_bcs_bytes

Type
Description
The argument cannot be deserialized into a value of the specified type

invalid_usage_of_pure_argument

Type
Description
The argument cannot be instantiated from raw bytes

invalid_argument_to_private_entry_function

Type
Description
Invalid argument to private entry function. Private entry functions cannot take arguments from other Move functions.

index_out_of_bounds

Type
Description
Out of bounds access to input or results

secondary_index_out_of_bounds

Type
Description
Out of bounds access to subresult

invalid_result_arity

Type
Description
Invalid usage of result. Expected a single result but found either no return value or multiple.

invalid_gas_coin_usage

Type
Description
Invalid usage of Gas coin. The Gas coin can only be used by-value with a TransferObjects command.

invalid_value_usage

Type
Description
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.

invalid_object_by_value

Type
Description
Immutable objects cannot be passed by-value.

invalid_object_by_mut_ref

Type
Description
Immutable objects cannot be passed by mutable reference, &mut.

shared_object_operation_not_allowed

Type
Description
Shared object operations such a wrapping, freezing, or converting to owned are not allowed.

CongestedObjectsError

Fields

congested_objects

Type
Label
repeated

ConsensusCommitPrologue

Fields

epoch

Type
Label
optional

round

Type
Label
optional

commit_timestamp_ms

Type
Label
optional

consensus_commit_digest

Type
Label
optional

sub_dag_index

Type
Label
optional

consensus_determined_version_assignments

ConsensusDeterminedVersionAssignments

Fields

cancelled_transactions

Digest

Fields

digest

Type
Label
optional

EndOfEpochData

Fields

next_epoch_committee

Type
Label
repeated

next_epoch_protocol_version

Type
Label
optional

epoch_commitments

Type
Label
repeated

EndOfEpochTransaction

Fields

transactions

Type
Label
repeated

EndOfEpochTransactionKind

Fields

change_epoch

authenticator_state_expire

authenticator_state_create

Type
Description
Use higher field numbers for kinds which happen infrequently

randomness_state_create

Type

deny_list_state_create

Type

bridge_state_create

Type

bridge_committee_init

Type

Event

Fields

package_id

Type
Label
optional

module

Type
Label
optional

sender

Type
Label
optional

event_type

Type
Label
optional

contents

Type
Label
optional

ExecutionStatus

Fields

success

Type
Label
optional

status

Type
Label
optional

FailureStatus

Fields

command

Type
Label
optional

insufficient_gas

Type
Description
Insufficient Gas

invalid_gas_object

Type
Description
Invalid Gas Object.

invariant_violation

Type
Description
Invariant Violation

feature_not_yet_supported

Type
Description
Attempted to used feature that is not supported yet

object_too_big

Type
Description
Move object is larger than the maximum allowed size

package_too_big

Type
Description
Package is larger than the maximum allowed size

circular_object_ownership

Type
Description
Circular Object Ownership

insufficient_coin_balance

Type
Description
Coin errors Insufficient coin balance for requested operation

coin_balance_overflow

Type
Description
Coin balance overflowed an u64

publish_error_non_zero_address

Type
Description
Publish/Upgrade errors Publish Error, Non-zero Address. The modules in the package must have their self-addresses set to zero.

sui_move_verification_error

Type
Description
Sui Move Bytecode Verification Error.

move_primitive_runtime_error

Type
Description
MoveVm Errors Error from a non-abort instruction. Possible causes: Arithmetic error, stack overflow, max value depth, etc."

move_abort

Type
Description
Move runtime abort

vm_verification_or_deserialization_error

Type
Description
Bytecode verification error.

vm_invariant_violation

Type
Description
MoveVm invariant violation

function_not_found

Type
Description
Programmable Transaction Errors Function not found

arity_mismatch

Type
Description
Arity mismatch for Move function. The number of arguments does not match the number of parameters

type_arity_mismatch

Type
Description
Type arity mismatch for Move function. Mismatch between the number of actual versus expected type arguments.

non_entry_function_invoked

Type
Description
Non Entry Function Invoked. Move Call must start with an entry function.

command_argument_error

Type
Description
Invalid command argument

type_argument_error

Type
Description
Type argument error

unused_value_without_drop

Type
Description
Unused result without the drop ability.

invalid_public_function_return_type

Type
Description
Invalid public Move function signature. Unsupported return type for return value

invalid_transfer_object

Type
Description
Invalid Transfer Object, object does not have public transfer.

effects_too_large

Type
Description
Post-execution errors Effects from the transaction are too large

publish_upgrade_missing_dependency

Type
Description
Publish or Upgrade is missing dependency

publish_upgrade_dependency_downgrade

Type
Description
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.

package_upgrade_error

Type
Description
Invalid package upgrade

written_objects_too_large

Type
Description
Indicates the transaction tried to write objects too large to storage

certificate_denied

Type
Description
Certificate is on the deny list

sui_move_verification_timedout

Type
Description
Sui Move Bytecode verification timed out.

shared_object_operation_not_allowed

Type
Description
The requested shared object operation is not allowed

input_object_deleted

Type
Description
Requested shared object has been deleted

execution_cancelled_due_to_shared_object_congestion

Type
Description
Certificate is cancelled due to congestion on shared objects

address_denied_for_coin

Type
Description
Address is denied for this coin type

coin_type_global_pause

Type
Description
Coin type is globally paused for use

execution_cancelled_due_to_randomness_unavailable

Type
Description
Certificate is cancelled because randomness could not be generated this epoch

GasCostSummary

Fields

computation_cost

Type
Label
optional

storage_cost

Type
Label
optional

storage_rebate

Type
Label
optional

non_refundable_storage_fee

Type
Label
optional

GasPayment

Fields

objects

Type
Label
repeated

owner

Type
Label
optional

price

Type
Label
optional

budget

Type
Label
optional

GenesisObject

Fields

object_id

Type
Label
optional

version

Type
Label
optional

owner

Type
Label
optional

object

Type
Label
optional

GenesisTransaction

Fields

objects

Type
Label
repeated

I128

Little-endian encoded i128

Fields

bytes

Type
Label
optional

Identifier

Fields

identifier

Type
Label
optional

Input

Fields

pure

Type

immutable_or_owned

shared

receiving

Jwk

Fields

kty

Type
Label
optional
Description

e

Type
Label
optional
Description

n

alg

Type
Label
optional
Description

JwkId

Fields

iss

Type
Label
optional

kid

Type
Label
optional

MakeMoveVector

Fields

element_type

Type
Label
optional

elements

Type
Label
repeated

MergeCoins

Fields

coin

Type
Label
optional

coins_to_merge

Type
Label
repeated

ModifiedAtVersion

Fields

object_id

Type
Label
optional

version

Type
Label
optional

MoveCall

Fields

package

Type
Label
optional

module

Type
Label
optional

function

Type
Label
optional

type_arguments

Type
Label
repeated

arguments

Type
Label
repeated

MoveError

Fields

location

Type
Label
optional

abort_code

Type
Label
optional

MoveField

Fields

name

Type
Label
optional

value

Type
Label
optional

MoveLocation

Fields

package

Type
Label
optional

module

Type
Label
optional

function

Type
Label
optional

instruction

Type
Label
optional

function_name

Type
Label
optional

MoveModule

Fields

name

Type
Label
optional

contents

Type
Label
optional

MovePackage

Fields

id

Type
Label
optional

version

Type
Label
optional

modules

Type
Label
repeated

type_origin_table

Type
Label
repeated

linkage_table

Type
Label
repeated

MoveStruct

Fields

object_id

Type
Label
optional

object_type

Type
Label
optional

has_public_transfer

Type
Label
optional

version

Type
Label
optional

contents

Type
Label
optional

MoveStructValue

Fields

struct_type

Type
Label
optional

fields

Type
Label
repeated

MoveValue

Fields

bool

Type

u8

Type

u16

Type

u32

Type

u64

Type

u128

Type

u256

Type

address

vector

struct

signer

variant

MoveVariant

Fields

enum_type

Type
Label
optional

variant_name

Type
Label
optional

tag

Type
Label
optional

fields

Type
Label
repeated

MoveVector

Fields

values

Type
Label
repeated

MultisigAggregatedSignature

Fields

signatures

Type
Label
repeated

bitmap

Type
Label
optional

legacy_bitmap

Type
Label
optional

committee

Type
Label
optional

MultisigCommittee

Fields

members

Type
Label
repeated

threshold

Type
Label
optional

MultisigMember

Fields

public_key

Type
Label
optional

weight

Type
Label
optional

MultisigMemberPublicKey

Fields

ed25519

Type

secp256k1

Type

secp256r1

Type

zklogin

MultisigMemberSignature

Fields

ed25519

Type

secp256k1

Type

secp256r1

Type

zklogin

NestedResult

Fields

result

Type
Label
optional

subresult

Type
Label
optional

Object

Fields

object_id

Type
Label
optional

version

Type
Label
optional

owner

Type
Label
optional

object

Type
Label
optional

previous_transaction

Type
Label
optional

storage_rebate

Type
Label
optional

ObjectData

Fields

struct

package

ObjectExist

Fields

version

Type
Label
optional

digest

Type
Label
optional

owner

Type
Label
optional

ObjectId

Fields

object_id

Type
Label
optional

ObjectReference

Fields

object_id

Type
Label
optional

version

Type
Label
optional

digest

Type
Label
optional

ObjectReferenceWithOwner

Fields

reference

Type
Label
optional

owner

Type
Label
optional

ObjectWrite

Fields

digest

Type
Label
optional

owner

Type
Label
optional

Owner

Fields

address

object

shared

Type

immutable

Type

PackageIdDoesNotMatch

Fields

package_id

Type
Label
optional

object_id

Type
Label
optional

PackageUpgradeError

Fields

unable_to_fetch_package

not_a_package

incompatible_upgrade

Type

digets_does_not_match

Type

unknown_upgrade_policy

Type

package_id_does_not_match

PackageWrite

Fields

version

Type
Label
optional

digest

Type
Label
optional

PasskeyAuthenticator

Fields

authenticator_data

Type
Label
optional

client_data_json

Type
Label
optional

signature

Type
Label
optional

ProgrammableTransaction

Fields

inputs

Type
Label
repeated

commands

Type
Label
repeated

Publish

Fields

modules

Type
Label
repeated

dependencies

Type
Label
repeated

RandomnessStateUpdate

Fields

epoch

Type
Label
optional

randomness_round

Type
Label
optional

random_bytes

Type
Label
optional

randomness_object_initial_shared_version

Type
Label
optional

ReadOnlyRoot

Fields

version

Type
Label
optional

digest

Type
Label
optional

RoaringBitmap

Fields

bitmap

Type
Label
optional

SharedObjectInput

Fields

object_id

Type
Label
optional

initial_shared_version

Type
Label
optional

mutable

Type
Label
optional

SimpleSignature

Fields

scheme

Type
Label
optional

signature

Type
Label
optional

public_key

Type
Label
optional

SizeError

Fields

size

Type
Label
optional

max_size

Type
Label
optional

SplitCoins

Fields

coin

Type
Label
optional

amounts

Type
Label
repeated

StructTag

Fields

address

Type
Label
optional

module

Type
Label
optional

name

Type
Label
optional

type_parameters

Type
Label
repeated

SystemPackage

Fields

version

Type
Label
optional

modules

Type
Label
repeated

dependencies

Type
Label
repeated

Transaction

Fields

TransactionV1

Fields

kind

Type
Label
optional

sender

Type
Label
optional

gas_payment

Type
Label
optional

expiration

Type
Label
optional

TransactionEffects

Fields

TransactionEffectsV1

Fields

status

Type
Label
optional
Description
The status of the execution

epoch

Type
Label
optional
Description
The epoch when this transaction was executed.

gas_used

Type
Label
optional

modified_at_versions

Type
Label
repeated
Description
The version that every modified (mutated or deleted) object had before it was modified by this transaction.

shared_objects

Type
Label
repeated
Description
The object references of the shared objects used in this transaction. Empty if no shared objects were used.

transaction_digest

Type
Label
optional
Description
The transaction digest

created

Type
Label
repeated
Description
ObjectReference and owner of new objects created.

mutated

Type
Label
repeated
Description
ObjectReference and owner of mutated objects, including gas object.

unwrapped

Type
Label
repeated
Description
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.

deleted

Type
Label
repeated
Description
Object Refs of objects now deleted (the new refs).

unwrapped_then_deleted

Type
Label
repeated
Description
Object refs of objects previously wrapped in other objects but now deleted.

wrapped

Type
Label
repeated
Description
Object refs of objects now wrapped in other objects.

gas_object

Type
Label
optional
Description
The updated gas object reference. Have a dedicated field for convenient access. It's also included in mutated.

events_digest

Type
Label
optional
Description
The digest of the events emitted during execution, can be None if the transaction does not emit any event.

dependencies

Type
Label
repeated
Description
The set of transaction digests this transaction depends on.

TransactionEffectsV2

Fields

status

Type
Label
optional
Description
The status of the execution

epoch

Type
Label
optional
Description
The epoch when this transaction was executed.

gas_used

Type
Label
optional

transaction_digest

Type
Label
optional
Description
The transaction digest

gas_object_index

Type
Label
optional
Description
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.

events_digest

Type
Label
optional
Description
The digest of the events emitted during execution, can be None if the transaction does not emit any event.

dependencies

Type
Label
repeated
Description
The set of transaction digests this transaction depends on.

lamport_version

Type
Label
optional
Description
The version number of all the written Move objects by this transaction.

changed_objects

Type
Label
repeated
Description
Objects whose state are changed in the object store.

unchanged_shared_objects

Type
Label
repeated
Description
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.

auxiliary_data_digest

Type
Label
optional
Description
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.

TransactionEvents

Fields

events

Type
Label
repeated

TransactionExpiration

Fields

none

Type

epoch

Type

TransactionKind

Fields

programmable_transaction

change_epoch

genesis

consensus_commit_prologue_v1

authenticator_state_update

end_of_epoch

randomness_state_update

consensus_commit_prologue_v2

consensus_commit_prologue_v3

TransferObjects

Fields

objects

Type
Label
repeated

address

Type
Label
optional

TypeArgumentError

Fields

type_argument

Type
Label
optional

type_not_found

Type

constraint_not_satisfied

Type

TypeOrigin

Fields

module_name

Type
Label
optional

struct_name

Type
Label
optional

package_id

Type
Label
optional

TypeTag

Fields

u8

Type

u16

Type

u32

Type

u64

Type

u128

Type

u256

Type

bool

Type

address

Type

signer

Type

vector

struct

U128

Little-endian encoded u128

Fields

bytes

Type
Label
optional

U256

Little-endian encoded u256

Fields

bytes

Type
Label
optional

UnchangedSharedObject

Fields

object_id

Type
Label
optional

read_only_root

mutate_deleted

Type

read_deleted

Type

cancelled

Type

per_epoch_config

Type

Upgrade

Fields

modules

Type
Label
repeated

dependencies

Type
Label
repeated

package

Type
Label
optional

ticket

Type
Label
optional

UpgradeInfo

Fields

original_id

Type
Label
optional

upgraded_id

Type
Label
optional

upgraded_version

Type
Label
optional

UserSignature

Fields

ValidatorAggregatedSignature

Fields

epoch

Type
Label
optional

signature

Type
Label
optional

bitmap

Type
Label
optional

ValidatorCommittee

Fields

epoch

Type
Label
optional

members

Type
Label
repeated

ValidatorCommitteeMember

Fields

public_key

Type
Label
optional

stake

Type
Label
optional

VersionAssignment

Fields

object_id

Type
Label
optional

version

Type
Label
optional

ZkLoginAuthenticator

Fields

inputs

Type
Label
optional

max_epoch

Type
Label
optional

signature

Type
Label
optional

ZkLoginClaim

Fields

value

Type
Label
optional

index_mod_4

Type
Label
optional

ZkLoginInputs

Fields

proof_points

Type
Label
optional

iss_base64_details

Type
Label
optional

header_base64

Type
Label
optional

address_seed

Type
Label
optional

ZkLoginProof

Fields

a

Type
Label
optional

b

Type
Label
optional

c

Type
Label
optional

ZkLoginPublicIdentifier

Fields

iss

Type
Label
optional

address_seed

Type
Label
optional

google/protobuf/empty.proto

Empty

A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:

service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }

google/protobuf/timestamp.proto

Timestamp

A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See https://www.ietf.org/rfc/rfc3339.txt.

Examples

Example 1: Compute Timestamp from POSIX time().

Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);

Example 2: Compute Timestamp from POSIX gettimeofday().

struct timeval tv; gettimeofday(&tv, NULL);

Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);

Example 3: Compute Timestamp from Win32 GetSystemTimeAsFileTime().

FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) &#lt;&#lt; 32) | ft.dwLowDateTime;

// A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));

Example 4: Compute Timestamp from Java System.currentTimeMillis().

long millis = System.currentTimeMillis();

Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();

Example 5: Compute Timestamp from current time in Python.

timestamp = Timestamp() timestamp.GetCurrentTime()

JSON Mapping

In JSON format, the Timestamp type is encoded as a string in the RFC 3339 format. That is, the format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" where {year} is always expressed using four digits while {month}, {day}, {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone is required, though only UTC (as indicated by "Z") is presently supported.

For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past 01:30 UTC on January 15, 2017.

In JavaScript, one can convert a Date object to this format using the standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString] method. In Python, a standard datetime.datetime object can be converted to this format using strftime with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use the Joda Time's ISODateTimeFormat.dateTime() to obtain a formatter capable of generating timestamps in this format.

Fields

seconds

Type
Description
Represents seconds of UTC time since Unix epoch1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to9999-12-31T23:59:59Z inclusive.

nanos

Type
Description
Non-negative fractions of a second at nanosecond resolution. Negativesecond values with fractions must still have non-negative nanos valuesthat count forward in time. Must be from 0 to 999,999,999inclusive.

Scalar Value Types

double

C++JavaPythonGoC#PHPRuby
doubledoublefloatfloat64doublefloatFloat

float

C++JavaPythonGoC#PHPRuby
floatfloatfloatfloat32floatfloatFloat

int32

Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.

C++JavaPythonGoC#PHPRuby
int32intintint32intintegerBignum or Fixnum (as required)

int64

Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.

C++JavaPythonGoC#PHPRuby
int64longint/longint64longinteger/stringBignum

uint32

Uses variable-length encoding.

C++JavaPythonGoC#PHPRuby
uint32intint/longuint32uintintegerBignum or Fixnum (as required)

uint64

Uses variable-length encoding.

C++JavaPythonGoC#PHPRuby
uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)

sint32

Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.

C++JavaPythonGoC#PHPRuby
int32intintint32intintegerBignum or Fixnum (as required)

sint64

Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.

C++JavaPythonGoC#PHPRuby
int64longint/longint64longinteger/stringBignum

fixed32

Always four bytes. More efficient than uint32 if values are often greater than 2^28.

C++JavaPythonGoC#PHPRuby
uint32intintuint32uintintegerBignum or Fixnum (as required)

fixed64

Always eight bytes. More efficient than uint64 if values are often greater than 2^56.

C++JavaPythonGoC#PHPRuby
uint64longint/longuint64ulonginteger/stringBignum

sfixed32

Always four bytes.

C++JavaPythonGoC#PHPRuby
int32intintint32intintegerBignum or Fixnum (as required)

sfixed64

Always eight bytes.

C++JavaPythonGoC#PHPRuby
int64longint/longint64longinteger/stringBignum

bool

C++JavaPythonGoC#PHPRuby
boolbooleanbooleanboolboolbooleanTrueClass/FalseClass

string

A string must always contain UTF-8 encoded or 7-bit ASCII text.

C++JavaPythonGoC#PHPRuby
stringStringstr/unicodestringstringstringString (UTF-8)

bytes

May contain any arbitrary sequence of bytes.

C++JavaPythonGoC#PHPRuby
stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)