Nexus Contract
This contract is the heart and soul of Nexus Network. This contract is a UUPS upgradeable contract that allows the addition of new functionalities according to the needs of the rollups. The contract can be made non-upgradeable once the code is frozen. It is responsible for the following actions:
Admin Management
Whitelist Rollup: A roll looking to register with Nexus Network, must get an address whitelisted by Nexus Admin. The address acts as the rollup admin and performs all the rollup actions. This whitelisting process removes any potential spamming in the name of a particular rollup
Set Node Operator: This function sets the Node Operator Contract address
Set Off Chain oracle: This function sets the off-chain oracle bot:
Change Execution Fee Recipient Address: Block proposer rewards earned by validators are sent to a different wallet address to prevent any potential confusion for the sequencer. The changeExecutionFeeAddress() function sets the execution fee recipient address
Rollup Management
Register Rollup: This function is used by rollups to register their rollup with Nexus Network
Parameters:
bridgeContract: This is the modified bridge contract address that has the Nexus Network package integrated
operatorCluster: Set of node operators as selected by the rollup. If the rollups do not have a preference, Nexus Network will set the operatorCluster to the most performant clusters
nexusFee: Sets the percentage of staking returns that go to Nexus Network as fees. It is set by the rollup in consultation with the Nexus Network team.
stakingLimit: Set the staking limit for the bridge contract. This determines percentage of ETH that needs to be staked.
Change Rollup Parameters
Changing Staking Limit: Rollups can use this function to change their staking limit.
Change Nexus Fee: Rollups can use this function to set a new fee for Nexus Network
Change Cluster: If rollup wants to change the NodeOperator set, they can use this function
Validator Management
Validators are the backbone of any staking infrastructure and likewise are one of the most important components of SSV:
Deposit Validator: This function is used to deposit a validator to the respective rollup bridge
Parameters:
_rollupAdmin: Address for rollup admin that can modify the rollup parameters on Nexus
_validators: List of validators that need to be deposited to the bridge contract for activation
Slashing Validator: This function picks up the slashing details from oracles and updates it for a particular rollup
Validator Exit: This function updates the validator exit status in the Nexus Contract
Validator exit balance transfer: Nexus Network oracles communicate with this function to update whenever an exited validator balance is transferred to the rollup bridge. Whenever the function receives an update, it communicates the rollup bridge contract about the balance transfer and informs the Node Operators to stop performing the validation for the validator
SSV Integration
Deposit SSV Shares: This function submits the keyshares generated after validator creation to the SSV contract so that the SSV node operators can start the validator operations
Recharge SSV cluster: This function pays the SSV fees by sending money to the SSV contract. This includes fees for node operators as well as SSV specific fees
Last updated