Skip to content

SequencerChainlinkOracle

The following proxy implementations were read on August 27, 2026 and match the SequencerChainlinkOracle v2.16.0 source:

NetworkChecked blockProxyImplementation
Arbitrum One4988880030x9cd9Fcc7E3dEDA360de7c080590AaD377ac9F1130x4256f572B8738126466e864D453BCCD0281b3C6C
Optimism1561137930x1076e5A60F1aC98e6f361813138275F1179BEb520x1Abf4919dE8ae2B917d553475e9B1D9CdE6E36D3

The sequencer feed is immutable in each implementation. Resolve and verify that immutable rather than assuming the network name alone selects the correct feed. Token feeds, stale periods, direct overrides, ownership, and ACM permissions are still dynamic proxy configuration.

This contract inherits the complete ChainlinkOracle API, including initialize, NATIVE_TOKEN_ADDR, prices, tokenConfigs, setDirectPrice, setTokenConfig, setTokenConfigs, owner, pendingOwner, transferOwnership, acceptOwnership, renounceOwnership, accessControlManager, and setAccessControlManager. Its override adds the one-hour sequencer recovery grace-period check before returning a price.

Oracle to fetch price using chainlink oracles on L2s with sequencer

L2 Sequencer feed

contract AggregatorV3Interface sequencer

L2 Sequencer grace period

uint256 GRACE_PERIOD_TIME

Contract constructor @param _sequencer L2 sequencer @custom:oz-upgrades-unsafe-allow constructor

constructor(contract AggregatorV3Interface _sequencer) public

Gets the price of a asset from the chainlink oracle

function getPrice(address asset) public view returns (uint256)
NameTypeDescription
assetaddressAddress of the asset
NameTypeDescription
[0]uint256Price in USD from Chainlink or a manually set price for the asset