OracleManagerV1
Kiln
Oracle Manager (v1)
This contract handles the inputs provided by the oracleThe Oracle contract is plugged to this contract and is in charge of pushingdata whenever a new report has been deemed valid. The report consists in twovalues: the sum of all balances of all deposited validators and the count ofvalidators that have been activated on the consensus layer.
Methods
getCLValidatorCount
Get CL validator count (the amount of validator reported by the oracles)
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | The CL validator count |
getCLValidatorTotalBalance
Get CL validator total balance
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | The CL Validator total balance |
getOracle
Get oracle address
Returns
Name | Type | Description |
---|---|---|
_0 | address | The oracle address |
setConsensusLayerData
Sets the validator count and validator total balance sum reported by the oracle
Can only be called by the oracle addressThe round id is a blackbox value that should only be used to identify unique reportsWhen a report is performed, River computes the amount of fees that can be pulledfrom the execution layer fee recipient. This amount is capped by the max allowedincrease provided during the report.If the total asset balance increases (from the reported total balance and the pulled funds)we then compute the share that must be taken for the collector on the positive delta.The execution layer fees are taken into account here because they are the product ofnode operator's work, just like consensus layer fees, and both should be handled in thesame manner, as a single revenue stream for the users and the collector.
Parameters
Name | Type | Description |
---|---|---|
_validatorCount | uint256 | The number of active validators on the consensus layer |
_validatorTotalBalance | uint256 | The balance sum of the active validators on the consensus layer |
_roundId | bytes32 | An identifier for this update |
_maxIncrease | uint256 | The maximum allowed increase in the total balance |
setOracle
Set the oracle address
Parameters
Name | Type | Description |
---|---|---|
_oracleAddress | address | Address of the oracle |
Events
ConsensusLayerDataUpdate
The consensus layer data provided by the oracle has been updated
Parameters
Name | Type | Description |
---|---|---|
validatorCount | uint256 | undefined |
validatorTotalBalance | uint256 | undefined |
roundId | bytes32 | undefined |
SetOracle
The stored oracle address changed
Parameters
Name | Type | Description |
---|---|---|
oracleAddress | address | undefined |
Errors
InvalidValidatorCountReport
The reported validator count is invalid
Parameters
Name | Type | Description |
---|---|---|
providedValidatorCount | uint256 | The received validator count value |
depositedValidatorCount | uint256 | The number of deposits performed by the system |
InvalidZeroAddress
The address is zero
Unauthorized
The operator is unauthorized for the caller
Parameters
Name | Type | Description |
---|---|---|
caller | address | Address performing the call |
Last updated