MachineShareOracleFactory
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
| Name | Type | Description |
|---|---|---|
oracle | address | The oracle address to check. |
createMachineShareOracle
Creates an oracle for the given machine share.
function createMachineShareOracle(address shareOwner, uint8 decimals) external restricted returns (address);
Parameters
| Name | Type | Description |
|---|---|---|
shareOwner | address | The current owner contract of the share (machine or pre-deposit vault). |
decimals | uint8 | Decimals to use for the oracle price. |
setMachineShareOracleBeacon
Sets the machine share oracle beacon address.
function setMachineShareOracleBeacon(address _machineShareOracleBeacon) external restricted;
Parameters
| Name | Type | Description |
|---|---|---|
_machineShareOracleBeacon | address | The address of the machine share oracle beacon. |
Structs
MachineShareOracleFactoryStorage
struct MachineShareOracleFactoryStorage {
mapping(address oracle => bool isOracle) _isMachineShareOracle;
address _machineShareOracleBeacon;
}