Permissionlessly create oracles that perform operations on data from ChainLink aggregators
GPL-3.0 License
Delphi is a set of contracts that allows anyone to permissionlessly create oracles which perform an arbitrary mathematical operation on data from ChainLink Aggregators.
Utilizes a modified version of Band Protocol's equation evaluation library that allows for multiple variables to be used.
DelphiFactoryV1
createOracle(string _name, address[] _aggregators, uint256[] _expressions)
_expressions
is an array of Opcodes and their children. (See src/math/Equation.sol
for more info)setAllowAggregator(address _aggregator, bool _allow)
setEndorsed(address _oracle, bool _endorsed)
transferOwnership(address _newOwner)
_newOwner
DelphiOracleV1
init(address _factory, address[] _aggregators, uint256[] _expressions)
DelphiFactoryV1
contract upon creation of the oracle. Can only be called once.getLatestValue() view returns (int256)
latestRoundData() & latestAnswer()
AggregatorV2V3Interface
getAggregators() view returns (AggregatorV2V3Interface[] memory)
getNodes() view returns (Equation.Node[] memory)
See DEPLOYMENTS.md
See CONTRIBUTE.md