StakeWise Solos smart contract details.
The contract is not upgradable to prevent StakeWise from unilaterally changing the withdrawal credentials through the upgrade mechanism.
To create a solo validator, the user must have at least 32 ether on their balance. Together with the deposit amount, the user must also provide the withdrawal credentials that can be generated by following our guide. By calling addDeposit function in the
Soloscontract, the user will be placed in the queue for validator registration. For every 32 ETH deposited by the user, a new validator will be created.
The time lock is needed for the
operatorto have some time for registering the validator without the user disrupting the registration process. For example, a malicious user could send the transaction which would cancel the deposit and the
operatorwould lose gas by trying to register the canceled deposit.
When there are deposits in the
Soloscontract, a user with an
operatorrole can register a new validator. It is possible to create multiple validators in one batch if there is more than one deposit. In order to register a new validator, the
operatormust generate the deposit data for every validator and submit it through the registerValidator function. The
operatorcannot use the withdrawal credentials that are different from those submitted by the user, since the ETH2 Validator Registration Contract would reject the transaction.
Operator generates deposit data for every validator and initiates validator registration
operatorruns in the cluster and listens to the
Solos' events. As soon as there is enough ETH collected, the
operatorwill spin up the validator nodes and register their deposit data through the
Soloscontract. The Validators contract keeps track of all the validators registered by the
Soloscontracts. It rejects registering the validators with already used public keys as there should be only one validator registration call per public key. The ETH2 Validator Registration Contract (VRC) is an official contract for registering new validators.