Skip to main content
Version: mainnet (v0.71)

validator_commands.proto

path vega/commands/v1/validator_commands.proto

package vega.commands.v1


Messages

AnnounceNode

Used to announce a node as a new pending validator

NameTypeDescription
vega_pub_keystringVega public key, required field.
ethereum_addressstringEthereum public key, required field.
chain_pub_keystringPublic key for the blockchain, required field.
info_urlstringURL with more info on the node.
countrystringCountry code (ISO 3166-1 alpha-2) for the location of the node.
idstringNode ID of the validator, i.e. the node's public master key.
namestringName of the validator.
avatar_urlstringAvatarURL of the validator.
vega_pub_key_indexuint32Vega public key derivation index.
from_epochuint64Epoch from which the validator is expected to be ready to validate blocks.
ethereum_signatureSignatureSignature from the validator made using the ethereum wallet.
vega_signatureSignatureSignature from the validator made using the Vega wallet.
submitter_addressstringEthereum public key to use as a submitter to allow automatic signature generation.

ChainEvent

Event forwarded to the Vega network to provide information on events happening on other networks

NameTypeDescription
tx_idstringTransaction ID of the transaction in which the events happened, usually a hash.
nonceuint64Arbitrary one-time integer used to prevent replay attacks.
builtinvega.BuiltinAssetEventBuilt-in asset event.
erc20vega.ERC20EventEthereum ERC20 event.
staking_eventvega.StakingEventEthereum Staking event.
erc20_multisigvega.ERC20MultiSigEventEthereum ERC20 multisig event.

EthereumKeyRotateSubmission

Transaction to allow a validator to rotate their ethereum keys

NameTypeDescription
target_blockuint64Target block at which the key rotation will take effect on.
new_addressstringNew address to rotate to.
current_addressstringCurrently used public address.
submitter_addressstringEthereum public key to use as a submitter to allow automatic signature generation.
ethereum_signatureSignatureSignature that can be verified using the new ethereum address.

KeyRotateSubmission

Transaction to allow a validator to rotate their Vega keys

NameTypeDescription
new_pub_key_indexuint32New Vega public key derivation index.
target_blockuint64Target block at which the key rotation will take effect on.
new_pub_keystringNew public key to rotate to.
current_pub_key_hashstringHash of currently used public key.

NodeSignature

Represents a signature from a validator, to be used by a foreign chain in order to recognise a decision taken by the Vega network

NameTypeDescription
idstringID of the resource being signed.
sigbytesThe signature generated by the signer.
kindNodeSignatureKindKind of resource being signed.

NodeVote

Used when a node votes for validating that a given resource exists or is valid, for example, an ERC20 deposit is valid and exists on ethereum.

NameTypeDescription
referencestringReference identifying the resource making the vote, required field.
typeNodeVote.TypeType of NodeVote, also required.

ProtocolUpgradeProposal

Transaction for a validator to suggest a protocol upgrade

NameTypeDescription
upgrade_block_heightuint64Block height at which to perform the upgrade.
vega_release_tagstringRelease tag for the Vega binary.

StateVariableProposal

Transaction for a validator to submit a floating point value

NameTypeDescription
proposalvega.StateValueProposalState value proposal details.

ValidatorHeartbeat

Message from a validator signalling they are still online and validating blocks or ready to validate blocks when they are still a pending validator

NameTypeDescription
node_idstringNode ID of the validator emitting the heartbeat.
ethereum_signatureSignatureSignature from the validator made using the ethereum wallet.
vega_signatureSignatureSignature from the validator made using the vega wallet.
messagestringMessage which has been signed.

Enums

NodeSignatureKind

Kind of signature created by a node, for example, allow-listing a new asset, withdrawal etc

NameNumberDescription
NODE_SIGNATURE_KIND_UNSPECIFIED0Represents an unspecified or missing value from the input
NODE_SIGNATURE_KIND_ASSET_NEW1Represents a signature for a new asset allow-listing
NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL2Represents a signature for an asset withdrawal
NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED3Represents a signature for a new signer added to the erc20 multisig contract
NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED4Represents a signature for a signer removed from the erc20 multisig contract
NODE_SIGNATURE_KIND_ASSET_UPDATE5Represents a signature for an asset update allow-listing

NodeVote.Type

NameNumberDescription
TYPE_UNSPECIFIED0Represents an unspecified or missing value from the input
TYPE_STAKE_DEPOSITED1Node vote for a new stake deposit
TYPE_STAKE_REMOVED2Node vote for a new stake removed event
TYPE_FUNDS_DEPOSITED3Node vote for a new collateral deposit
TYPE_SIGNER_ADDED4Node vote for a new signer added to the erc20 bridge
TYPE_SIGNER_REMOVED5Node vote for a signer removed from the erc20 bridge
TYPE_BRIDGE_STOPPED6Node vote for a bridge stopped event
TYPE_BRIDGE_RESUMED7Node vote for a bridge resumed event
TYPE_ASSET_LISTED8Node vote for a newly listed asset
TYPE_LIMITS_UPDATED9Node vote for an asset limits update
TYPE_STAKE_TOTAL_SUPPLY10Node vote to share the total supply of the staking token
TYPE_SIGNER_THRESHOLD_SET11Node vote to update the threshold of the signer set for the multisig contract
TYPE_GOVERNANCE_VALIDATE_ASSET12Node vote to validate a new assert governance proposal