SSVNetworkViews
The SSVNetworkViews contract is for reading information about the network and its participants.
SSV Views Contracts Repository
General Methods
getNetworkFee ()
Description: Returns current network fee.
Return values:
| Parameter | Type | Description |
|---|---|---|
| fee | uint256 | The fee charged by the network (denominated as $SSV tokens per block) |
getNetworkEarnings ()
Description: Returns accumulated network fees not yet withdrawn.
Return values:
| Parameter | Type | Description |
|---|---|---|
| amount | uint256 | Amount of fees accumulated in the network treasury |
getLiquidationThresholdPeriod ()
Description: Returns the minimum duration (in blocks) which a cluster has to have sufficient balance (liquidation collateral) to not be liquidated.
Return values
| Parameter | Type | Description |
|---|---|---|
| blocks | uint64 | The minimum duration (blocks) which a cluster has to have sufficient balance (liquidation collateral) to not be liquidated. |
getMinimumLiquidationCollateral()
Description: Returns the minimum amount which a cluster has to have sufficient balance (liquidation collateral) to not be liquidated.
Return values
| Parameter | Type | Description |
|---|---|---|
| amount | uint256 | The minimum amount of SSV which a cluster has to have (liquidation collateral) to not be liquidated. |
getOperatorFeeIncreaseLimit()
Description: Returns the max amount by which operators can increase fees in each fee update cycle. This does refer to the max operator fee limitation, but to the rate (%) by which it can be increased.
Return values
| Parameter | Type | Description |
|---|---|---|
| amount | uint64 | The maximum increase in percentage the operator can update his fee to. |
getOperatorFeePeriods()
Description: returns the time windows (in seconds) of operators declaration and execution fee periods.
Return values:
| Parameter | Type | Description |
|---|---|---|
| seconds | uint64 | The duration (seconds) until an operator can execute a fee after declaring it |
| seconds | uint64 | The duration (seconds) until an operator can execute a fee after declaring it |
getMaximumOperatorFee()
Description: Gets the operator maximum fee for operators that use SSV token
Return values
| Parameter | Type | Description |
|---|---|---|
| maxFee | uint64 | The maximum fee value (SSV/year) |
getValidatorsPerOperatorLimit()
Description: Returns the maximum amount of validators an operator may manage.
Return values
| Parameter | Type | Description |
|---|---|---|
| Validator limit | uint32 | amount of validators an operator may manage. |
Operator Methods
getOperatorById (operatorId)
Description: Returns operator's data.
| Parameter | Type | Description |
|---|---|---|
| operatorId | uint64 | The operator id |
Return values:
| Parameter | Type | Description |
|---|---|---|
| owner | address | The operator's admin address (for management purposes) |
| fee | uint64256 | The fee charged by the operator (denominated as $SSV tokens per block) |
| validatorCount | uint32 | The amount of managed validators |
| whitelistedContract | address | The external contract set to manage this operator's whitelisted addresses |
| isPrivate | boolean | Indication if operator is permissioned |
| active | boolean | Operator network status |
getOperatorFee (operatorId)
Description: returns current operator's fee (not declared).
| Parameter | Type | Description |
|---|---|---|
| operatorId | uint64 | The operator id |
Return values
| Parameter | Type | Description |
|---|---|---|
| declaredFee | uint256 | The fee charged by the operator (denominated as $SSV tokens per block) |
getOperatorDeclaredFee (operatorId)
Description: Returns the declared fee (not actual fee) together with the execution time window.
| Parameter | Type | Description |
|---|---|---|
| operatorId | uint64 | The operator id |
Return valuegetOperatorEarnings (operatorId)
Description: Returns the outstanding earnings of an operator.
| Parameter | Type | Description |
|---|---|---|
| operatorId | uint64 | The operator id |
Return values
| Parameter | Type | Description |
|---|---|---|
| balance | uint256 | Operators outstanding earnings in $SSV tokens. |
Cluster Methods
getBalance (owner, operatorIds, cluster)
Description: Returns the outstanding SSV balance of a cluster.
| Parameter | Type | Description |
|---|---|---|
| owner | address | The cluster owner address |
| operatorIds | uint64[] | List of cluster operators Ids |
| cluster | tuple[] | Object containing the latest cluster snapshot data - obtained using the SSV Scanner tool |
Return values:
| Parameter | Type | Description |
|---|---|---|
| balance | uint256 | Clusters outstanding balance denominated in $SSV tokens |
getBurnRate (owner, operatorIds, cluster)
Description: Returns current ongoing expenses of SSV tokens for a particular SSV cluster balance on per block basis (aggregates all expenses for all the validators in this cluster).\
| Parameter | Type | Description |
|---|---|---|
| owner | address | The user address |
| operatorIds | uint64[] | List of cluster operators Ids. |
| cluster | tuple[] | Object containing the latest cluster snapshot data - obtained using the SSV Scanner tool. |
Return values
| Parameter | Type | Description |
|---|---|---|
| burnRate | uint256 | The rate per block in which the account spends SSV. |
Liquidator Methods
isLiquidatable (owner, operatorIds, cluster)
Description: Returns true if the specified cluster is under the liquidation threshold and can be liquidated.\
| Parameter | Type | Description |
|---|---|---|
| owner | address | The user address |
| operatorIds | uint64[] | List of cluster operators Ids. |
| cluster | tuple[] | Object containing the latest cluster snapshot data - obtained using the SSV Scanner tool. |
Return values
| Parameter | Type | Description |
|---|---|---|
| isLiquidatable | boolean | Indication if a cluster could be liquidated |
isLiquidated (owner, operatorIds, cluster)
Description: Returns true if the provided cluster is liquidated.
| Parameter | Type | Description |
|---|---|---|
| owner | address | The user address |
| operatorIds | uint64[] | List of cluster operators Ids. |
| cluster | tuple[] | Object containing the latest cluster snapshot data - obtained using the SSV Scanner tool. |
Return values
| Parameter | Type | Description |
|---|---|---|
| isLiquidated | boolean | Indication if a cluster is liquidated |
getWhitelistedOperators(operatorIds, whitelistedAddress)
Description: Returns a list of operators that have this address whitelisted for them.
| Parameter | Type | Description |
|---|---|---|
| operatorIds | uint64[] | List of operators Ids. |
| whitelistedAddress | address | ETH1 address |
Return values
| Parameter | Type | Description |
|---|---|---|
| whitelistedOperatorIds | uint64[] | List of operator IDs that this address is whitelisted for. |
isWhitelistingContract(contractAddress)
Description: Returns if a contract address is a valid whitelisting contract or not.
| Parameter | Type | Description |
|---|---|---|
| whitelistedAddress | address | Whitelisting contract address. |
Return values
| Parameter | Type | Description |
|---|---|---|
| isWhitelistingContract | bool | True if contract is valid, false if not. |
isAddressWhitelistedInWhitelistingContract(addressToCheck, operatorId, whitelistingContract)
Description: Checks the whitelisted contract for an operator to see if the address provided is whitelisted for the given operator.
| Parameter | Type | Description |
|---|---|---|
| addressToCheck | address | Address we want to check is whitelisted. |
| operatorId | uint256 | Operator ID. |
| whitelistedAddress | address | Whitelisting contract address. |
Return values
| Parameter | Type | Description |
|---|---|---|
| isWhitelisted | bool | True if address is whitelisted, false if not. |