Skip to main content
Version: Endpoint V1

ILayerZeroOracle.sol

// SPDX-License-Identifier: BUSL-1.1

pragma solidity >=0.7.0;

interface ILayerZeroOracle {
// @notice query the oracle price for relaying block information to the destination chain
// @param _dstChainId the destination endpoint identifier
// @param _outboundProofType the proof type identifier to specify the data to be relayed
function getPrice(uint16 _dstChainId, uint16 _outboundProofType) external view returns (uint price);

// @notice Ultra-Light Node notifies the Oracle of a new block information relaying request
// @param _dstChainId the destination endpoint identifier
// @param _outboundProofType the proof type identifier to specify the data to be relayed
// @param _outboundBlockConfirmations the number of source chain block confirmation needed
function notifyOracle(uint16 _dstChainId, uint16 _outboundProofType, uint64 _outboundBlockConfirmations) external;

// @notice query if the address is an approved actor for privileges like data submission and fee withdrawal etc.
// @param _address the address to be checked
function isApproved(address _address) external view returns (bool approved);
}