validator_commands.proto
path vega/commands/v1/validator_commands.proto
package vega.commands.v1
Messages
AnnounceNode
A command that allows a new node operator to announce themselves to the network as a new validator.
Name | Type | Description |
---|---|---|
vega_pub_key | string | Vega public key of the node being announced. |
ethereum_address | string | Ethereum public key of the node being announced. |
chain_pub_key | string | Public key for the blockchain, currently the node's CometBFT key. |
info_url | string | URL to the node operators homepage allowing stake holders to make an informed decision when delegating. |
country | string | Country code (ISO 3166-1 alpha-2) for the location of the node. |
id | string | Node ID of the validator, which is the node's public master key. |
name | string | Human-readable name of the node. |
avatar_url | string | URL to the node operator's avatar. |
vega_pub_key_index | uint32 | Vega public key derivation index. |
from_epoch | uint64 | Epoch from which the node is expected to be ready to validate blocks. |
ethereum_signature | Signature | Signature from the node made using the ethereum wallet. |
vega_signature | Signature | Signature from the node made using the Vega wallet. |
submitter_address | string | Ethereum public key to use as a submitter to allow automatic signature generation. |
ChainEvent
A validator command sent automatically that provides information of events that have happened on foreign chains.
Name | Type | Description |
---|---|---|
tx_id | string | ID of the transaction on the foreign chain that caused the event. |
nonce | uint64 | Arbitrary one-time integer used to prevent replay attacks. |
builtin | vega.BuiltinAssetEvent | Built-in asset event. |
erc20 | vega.ERC20Event | Ethereum ERC20 event. |
staking_event | vega.StakingEvent | Ethereum Staking event. |
erc20_multisig | vega.ERC20MultiSigEvent | Ethereum ERC20 multisig event. |
contract_call | vega.EthContractCallEvent | Ethereum contract call event. |
EthereumKeyRotateSubmission
A validator command sent manually that allows a node operator to indicate to the network that their node's Ethereum key will be rotated.
Name | Type | Description |
---|---|---|
target_block | uint64 | Block height at which the key rotation will take effect. |
new_address | string | Ethereum address that is being rotated to. |
current_address | string | Ethereum address of the node's current Ethereum keys. |
submitter_address | string | Ethereum public key to use as a submitter to allow automatic signature generation. |
ethereum_signature | Signature | Signature signed by the new Ethereum key that can be verified to prove ownership. |
KeyRotateSubmission
A validator command sent manually that allows a node operator to indicate to the network that their node's Vega key will be rotated.
Name | Type | Description |
---|---|---|
new_pub_key_index | uint32 | New Vega public key derivation index. |
target_block | uint64 | Block height at which the key rotation will take effect. |
new_pub_key | string | Vega public key that would be rotated to. |
current_pub_key_hash | string | Hash of the node's current Vega public key. |
NodeSignature
A validator command sent automatically containing a signature that can be used on a foreign chain to process an action.
Name | Type | Description |
---|---|---|
id | string | ID of the resource that the signature relates to. |
sig | bytes | Signature generated by the node. |
kind | NodeSignatureKind | Kind of resource being signed. |
NodeVote
A validator command which is sent automatically by a node when it has verified a resource external to the network.
Name | Type | Description |
---|---|---|
reference | string | Reference identifying the resource that has been verified. |
type | NodeVote.Type | Type of external event that has been verified. |
ProtocolUpgradeProposal
A validator command sent manually by a node operator to propose a protocol upgrade.
Name | Type | Description |
---|---|---|
upgrade_block_height | uint64 | Block height at which to perform the upgrade. |
vega_release_tag | string | Release tag for the Vega binary. |
StateVariableProposal
A validator command sent automatically to reach consensus on floating point values.
Name | Type | Description |
---|---|---|
proposal | vega.StateValueProposal | Details of the state variable being proposed. |
ValidatorHeartbeat
A validator command which is sent automatically at regular intervals by any validator participating in the network. It is used to allow the network to know whether a validator is active, or if they have shut down.
Name | Type | Description |
---|---|---|
node_id | string | Node ID of the validator emitting the heartbeat. |
ethereum_signature | Signature | Signature from the validator made using their Ethereum wallet. |
vega_signature | Signature | Signature from the validator made using their Vega wallet. |
message | string | Message which has been signed. |
Enums
NodeSignatureKind
Kind of signature created by a node, for example, allow-listing a new asset, withdrawal etc
Name | Number | Description |
---|---|---|
NODE_SIGNATURE_KIND_UNSPECIFIED | 0 | Represents an unspecified or missing value from the input. |
NODE_SIGNATURE_KIND_ASSET_NEW | 1 | Represents a signature for a new asset allow-listing. |
NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL | 2 | Represents a signature for an asset withdrawal. |
NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED | 3 | Represents a signature for a new signer added to the erc20 multisig contract. |
NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED | 4 | Represents a signature for a signer removed from the erc20 multisig contract. |
NODE_SIGNATURE_KIND_ASSET_UPDATE | 5 | Represents a signature for an asset update allow-listing. |
NodeVote.Type
Name | Number | Description |
---|---|---|
TYPE_UNSPECIFIED | 0 | Represents an unspecified or missing value from the input |
TYPE_STAKE_DEPOSITED | 1 | Node vote for a new stake deposit |
TYPE_STAKE_REMOVED | 2 | Node vote for a new stake removed event |
TYPE_FUNDS_DEPOSITED | 3 | Node vote for a new collateral deposit |
TYPE_SIGNER_ADDED | 4 | Node vote for a new signer added to the erc20 bridge |
TYPE_SIGNER_REMOVED | 5 | Node vote for a signer removed from the erc20 bridge |
TYPE_BRIDGE_STOPPED | 6 | Node vote for a bridge stopped event |
TYPE_BRIDGE_RESUMED | 7 | Node vote for a bridge resumed event |
TYPE_ASSET_LISTED | 8 | Node vote for a newly listed asset |
TYPE_LIMITS_UPDATED | 9 | Node vote for an asset limits update |
TYPE_STAKE_TOTAL_SUPPLY | 10 | Node vote to share the total supply of the staking token |
TYPE_SIGNER_THRESHOLD_SET | 11 | Node vote to update the threshold of the signer set for the multisig contract |
TYPE_GOVERNANCE_VALIDATE_ASSET | 12 | Node vote to validate a new assert governance proposal |
TYPE_ETHEREUM_CONTRACT_CALL_RESULT | 13 | Node vote for an Ethereum contract call result |