OrderRouterAdmin
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();