Skip to main content

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
)