Skip to main content

Types of Wallets

There are several types of wallets in the SKALE Network. These include:
  1. Wallets Controlled by the validator, supernode operator, and SKALE Chain owner. These wallets may be software or hardware wallets.
  2. Self-Recharging wallets can be for validators and for the SKALE Chain owner.

Node Transactions & Reimbursement

The following table explores what supernode transactions are reimbursed and by who.

Replenishment

Self-recharging validator wallets can be replenished in ETH by anyone with the wallet’s contract address and the ValidatorId or sChainId. This functionality allows anyone to ensure the continued ETH funding and operation of validator supernodes and SKALE Chains. If the self-recharging
  • validator balance runs out of ETH, then the supernodes’ wallets are first spent until transactions revert.
  • SKALE Chain Owner balance runs out of ETH, then transactions will revert.
Node wallets connected to the self-recharging validator wallet are replenished automatically at the end of each transaction based on the best estimate of the gas consumed in the transaction.
If the validator self-recharging wallet is out of ETH, then supernode wallets start using their own ETH until the supernode balance is 0. Suppose the validator self-recharging wallet has 0 balance at the same time that the supernode wallet balance is 0. In that case, validators are then responsible for recharging both the validator self-recharging wallet and the supernode wallets with 0 balance.
If a supernode’s getBounty transaction reverts and can’t complete the transaction before the end of the month, the validator-delegators will receive less bounty. Validators must ensure sufficient balance and a working endpoint to connect with Ethereum mainnet.
There is no easy way to know the EVM’s refund counter’s value from inside the EVM. Thus, refunds may offset the transaction’s final net cost, and supernode balances may slightly increase over time. This process will be reviewed and improved over time.

Using a Self-Recharging Wallet

When a new validator is registered, a self-recharging wallet is automatically deployed. The validator’s private key has withdraw access to this wallet. Validators can use this private key to close the self-recharging wallet should the validator leave the network. As a validator links supernodes to their validator ID, these linked supernodes will automatically request reimbursement from the validator’s self-recharging wallet for those transactions. If a supernode is unlinked from the validator, this supernode will no longer request reimbursement from the validator’s self-recharging wallet. Existing validators will automatically be added to the Wallet contract and will start using them once this feature is deployed to mainnet.

Interacting with the Self-Recharging Wallet (SRW)

Validators can use the CLI to recharge, withdraw funds from, or check the self-recharging wallet’s balance. Anyone can recharge or check the balance by interacting with the Wallet contract on Ethereum. For the CLI
For Wallets Contract See https://github.com/skalenetwork/skale-manager/blob/develop/contracts/Wallets.sol