LidoLocator
LidoLocator is the universal address book for the Lido protocol. It follows the well-known service locator pattern.
Upgradability
The contract uses OssifiableProxy for upgradability and does not use storage for the address book. Instead, all addresses are embedded into the implementation's bytecode as immutables for gas efficiency, allowing one to update them along with a proxy implementation.
Methods
accountingOracle()
Returns an address of the AccountingOracle contract
function accountingOracle() view returns(address);
depositSecurityModule()
Returns an address of the DepositSecurityModule contract
function depositSecurityModule() view returns(address)
elRewardsVault()
Returns an address of the LidoExecutionLayerRewardsVault contract
function elRewardsVault() view returns(address)
legacyOracle()
Returns an address of the LegacyOracle contract
function legacyOracle() external view returns(address)
lido()
Returns an address of the Lido contract
function lido() external view returns(address)
oracleReportSanityChecker()
Returns an address of the OracleReportSanityChecker contract
function oracleReportSanityChecker() view returns(address)
burner()
Returns an address of the Burner contract
function burner() view returns(address)
stakingRouter()
Returns an address of the StakingRouter contract
function stakingRouter() view returns(address)
treasury()
Returns an address of the treasury
function treasury() view returns(address)
validatorsExitBusOracle()
Returns an address of the ValidatorsExitBusOracle contract
function validatorsExitBusOracle() external view returns(address)
withdrawalQueue()
Returns an address of the WithdrawalQueueERC721 contract
function withdrawalQueue() view returns(address)
withdrawalVault()
Returns an address of the WithdrawalVault contract
function withdrawalVault() view returns(address)
postTokenRebaseReceiver()
Returns an address of the contract following the IPostTokenRebaseReceiver
interface described inside Lido
.
Right now it returns the LegacyOracle address.
function postTokenRebaseReceiver() view returns(address);
oracleDaemonConfig()
Returns an address of the OracleDaemonConfig contract
function oracleDaemonConfig() view returns(address)
coreComponents()
Returns a batch of core components addresses at once.
It's just a more gas-efficient way of calling several public getters at once.
function coreComponents() view returns(
address elRewardsVault,
address oracleReportSanityChecker,
address stakingRouter,
address treasury,
address withdrawalQueue,
address withdrawalVault
)
oracleReportComponentsForLido()
Returns a batch of addresses that is used specifically during oracle report handling in the Lido contract.
It's just a more gas-efficient way of calling several public getters at once.
function oracleReportComponentsForLido() view returns(
address accountingOracle,
address elRewardsVault,
address oracleReportSanityChecker,
address burner,
address withdrawalQueue,
address withdrawalVault,
address postTokenRebaseReceiver
)