Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

OrderRouterAdmin

Git Source

Inherits: Ownable, Pausable

Constants

TIMELOCK_DELAY

uint256 public constant TIMELOCK_DELAY = 48 hours;

MAX_PENDING_ORDERS_LIMIT

uint256 internal constant MAX_PENDING_ORDERS_LIMIT = 32;

MAX_CLOSE_ORDER_EXECUTION_BOUNTY_USDC

uint256 internal constant MAX_CLOSE_ORDER_EXECUTION_BOUNTY_USDC = 1_000_000;

MIN_ENGINE_GAS_FLOOR

uint256 internal constant MIN_ENGINE_GAS_FLOOR = 100_000;

MIN_ENGINE_GAS_CAP

uint256 internal constant MIN_ENGINE_GAS_CAP = 5_000_000;

MAX_PRUNE_ORDERS_PER_CALL_LIMIT

uint256 internal constant MAX_PRUNE_ORDERS_PER_CALL_LIMIT = 256;

MAX_ORDER_AGE_LIMIT

uint256 internal constant MAX_ORDER_AGE_LIMIT = 1 hours;

router

IOrderRouterAdminHost public immutable router;

State Variables

claimableEth

mapping(address => uint256) public claimableEth;

pauser

address public pauser;

pendingRouterConfig

IOrderRouterAdminHost.RouterConfig public pendingRouterConfig;

routerConfigActivationTime

uint256 public routerConfigActivationTime;

_pendingOracleConfig

IOrderRouterAdminHost.OracleConfig private _pendingOracleConfig;

oracleConfigActivationTime

uint256 public oracleConfigActivationTime;

Functions

constructor

constructor(
    address router_,
    address initialOwner
) Ownable(initialOwner);

onlyRouterHost

modifier onlyRouterHost();

onlyPauserOrOwner

modifier onlyPauserOrOwner();

proposeRouterConfig

function proposeRouterConfig(
    IOrderRouterAdminHost.RouterConfig calldata config
) external onlyOwner;

finalizeRouterConfig

function finalizeRouterConfig() external onlyOwner;

cancelRouterConfig

function cancelRouterConfig() external onlyOwner;

proposeOracleConfig

function proposeOracleConfig(
    IOrderRouterAdminHost.OracleConfig calldata config
) external onlyOwner;

finalizeOracleConfig

function finalizeOracleConfig() external onlyOwner;

cancelOracleConfig

function cancelOracleConfig() external onlyOwner;

getPendingOracleConfig

function getPendingOracleConfig() external view returns (IOrderRouterAdminHost.OracleConfig memory config);

setPauser

function setPauser(
    address newPauser
) external onlyOwner;

pause

function pause() external onlyPauserOrOwner;

unpause

function unpause() external onlyOwner;

creditClaimableEth

function creditClaimableEth(
    address beneficiary,
    uint256 amount
) external payable onlyRouterHost;

claimBalance

function claimBalance(
    bool ethBalance
) external;

_requireTimelockReady

function _requireTimelockReady(
    uint256 activationTime
) internal view;

_validateRouterConfig

function _validateRouterConfig(
    IOrderRouterAdminHost.RouterConfig memory config
) internal pure;

_validateOracleConfig

function _validateOracleConfig(
    IOrderRouterAdminHost.OracleConfig calldata config
) internal pure;

Events

RouterConfigProposed

event RouterConfigProposed(IOrderRouterAdminHost.RouterConfig config, uint256 activationTime);

RouterConfigFinalized

event RouterConfigFinalized(IOrderRouterAdminHost.RouterConfig config);

RouterConfigCancelled

event RouterConfigCancelled();

OracleConfigProposed

event OracleConfigProposed(IOrderRouterAdminHost.OracleConfig config, uint256 activationTime);

OracleConfigFinalized

event OracleConfigFinalized(IOrderRouterAdminHost.OracleConfig config);

OracleConfigCancelled

event OracleConfigCancelled();

PauserUpdated

event PauserUpdated(address indexed previousPauser, address indexed newPauser);

Errors

OrderRouterAdmin__TimelockNotReady

error OrderRouterAdmin__TimelockNotReady();

OrderRouterAdmin__NoProposal

error OrderRouterAdmin__NoProposal();

OrderRouterAdmin__InvalidMaxOrderAge

error OrderRouterAdmin__InvalidMaxOrderAge();

OrderRouterAdmin__InvalidStalenessLimit

error OrderRouterAdmin__InvalidStalenessLimit();

OrderRouterAdmin__InvalidConfidenceRatio

error OrderRouterAdmin__InvalidConfidenceRatio();

OrderRouterAdmin__InvalidExecutionBounty

error OrderRouterAdmin__InvalidExecutionBounty();

OrderRouterAdmin__InvalidPendingOrderLimit

error OrderRouterAdmin__InvalidPendingOrderLimit();

OrderRouterAdmin__InvalidGasLimit

error OrderRouterAdmin__InvalidGasLimit();

OrderRouterAdmin__InvalidOracleConfig

error OrderRouterAdmin__InvalidOracleConfig();

OrderRouterAdmin__Unauthorized

error OrderRouterAdmin__Unauthorized();

OrderRouterAdmin__UnauthorizedPauser

error OrderRouterAdmin__UnauthorizedPauser();

OrderRouterAdmin__NothingToClaim

error OrderRouterAdmin__NothingToClaim();

OrderRouterAdmin__EthTransferFailed

error OrderRouterAdmin__EthTransferFailed();

OrderRouterAdmin__EthAmountMismatch

error OrderRouterAdmin__EthAmountMismatch();