Primary Oval contract.

This contract contains some of the core logic for what value to return, governed by the case work described in the mechanism description section. This contract also stores the state for lastUnlockTimestamp which governs this case work. Conceptually, this contract sits between the source adapters and destination adapters and connects all parts together, taking the input of from the source adapters, controlling the release process and is then read from by the destination adapter.

The minimal interface of this contract looks as follows:

interface Oval {

    // Function called by permissioned actor to unlock the latest value as part
    // of the MEV-Share auction flow. The call to this function is expected to
    // be sent to flashbots via eth_sendPrivateTransaction and is this is the
    // transaction that is backrun by the winner of the auction. The backrunner
    // has access to the most recent newly updated source price as a result 
    // and therefore can extract associated MEV.
    function unlockLatestValue() external;

    // Returns latest data from source, governed by case work controling if
    // this is the latest value or a value at older than lockWindow old. 
    // This function is called by destination adapters to retrieve the
    // appropriate data to expose.
    function internalLatestData() external view returns (int256, uint256);

The source implementation can be found here.

Last updated