Skip to main content

ValidatorInfo

Arthera has a number of system contracts that perform various protocol-level tasks. The choice to decouple some functionality form the main blockchain node to system contract is related to upgradeability. All System Contracts are upgradeble through a governance process, so if a vote is cast through governance to change the price of subscription plans or staking rewards, a new version of the respective contracts will be deployed without having validators upgrade their software or restart their node.


This contract is responsible for keeping a mapping between validator addresses and a validator JSON info file with additional information about the validator. The JSON file needs to be publicly available at an URl and has the following format:

{
"name": "demo validator",
"logoUrl": "https://imgur.net/validator_logo.png",
"website": "https://validator.website",
"contact": "contact@validator.website"
}

You can use the Arthera's public validator registry to publish your JSON file in Arthera's validator registry repository.

You can use the ABI to call the functions below.

getInfo()

Returns string - the URL of the JSON file for the provided validator.

Method parameters:

  • uint256 validatorID the id of the validator

setInfo()

Sets the JSON info file URL for the sender. The sender needs to be a registered validator, otherwise the transaction will be reverted with an error.

Method parameters:

  • msg.sender - the validator's registered address
  • string configUrl the URL of the JSON info file

Emits

  • event InfoUpdated(uint256 validatorID)