Skip to main content

MachineShareOracleFactory

Git Source

Inherits: AccessManagedUpgradeable, IMachineShareOracleFactory

State Variables

MachineShareOracleFactoryStorageLocation

bytes32 private constant MachineShareOracleFactoryStorageLocation =
0x566402f20de4969fde1c09f6ddbae1c0f5590a4d61e4a12b6deb88f69bf7c700;

Functions

_getMachineShareOracleFactoryStorage

function _getMachineShareOracleFactoryStorage() internal pure returns (MachineShareOracleFactoryStorage storage $);

constructor

constructor();

initialize

function initialize(address _machineShareOracleBeacon, address _initialAuthority) external initializer;

machineShareOracleBeacon

Address of the machine share oracle beacon.

function machineShareOracleBeacon() external view returns (address);

isMachineShareOracle

Address => Whether this is an oracle deployed by this factory.

function isMachineShareOracle(address oracle) external view returns (bool);

Parameters

NameTypeDescription
oracleaddressThe oracle address to check.

createMachineShareOracle

Creates an oracle for the given machine share.

function createMachineShareOracle(address shareOwner, uint8 decimals) external restricted returns (address);

Parameters

NameTypeDescription
shareOwneraddressThe current owner contract of the share (machine or pre-deposit vault).
decimalsuint8Decimals to use for the oracle price.

setMachineShareOracleBeacon

Sets the machine share oracle beacon address.

function setMachineShareOracleBeacon(address _machineShareOracleBeacon) external restricted;

Parameters

NameTypeDescription
_machineShareOracleBeaconaddressThe address of the machine share oracle beacon.

Structs

MachineShareOracleFactoryStorage

struct MachineShareOracleFactoryStorage {
mapping(address oracle => bool isOracle) _isMachineShareOracle;
address _machineShareOracleBeacon;
}