0 txs
5 calls
constructor
constructor(address initialAdmin, address feed, uint32 stalenessPeriod, uint32 maxDeviation)
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
circuitBreaker
viewfunction circuitBreaker() view returns (bool)
decimals
viewfunction decimals() view returns (uint8)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
lastGoodPrice
viewfunction lastGoodPrice() view returns (uint256)
latestPriceInfo
viewfunction latestPriceInfo() view returns (tuple)
OPERATOR_ROLE
viewfunction OPERATOR_ROLE() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenConfig
viewfunction tokenConfig() view returns (address priceFeed, uint32 stalenessPeriod)
volatileConfig
viewfunction volatileConfig() view returns (uint32 maxDeviation)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
resetCircuitBreaker
nonpayablefunction resetCircuitBreaker()
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setCircuitBreaker
nonpayablefunction setCircuitBreaker()
setTokenConfig
nonpayablefunction setTokenConfig(address feed, uint32 stalenessPeriod, uint32 maxDeviation)
setTokenConfig
nonpayablefunction setTokenConfig(address feed, uint32 stalenessPeriod)
updateLastGoodPrice
nonpayablefunction updateLastGoodPrice(uint256 newPrice)
events
CircuitBreakerActivated
event CircuitBreakerActivated()
CircuitBreakerReset
event CircuitBreakerReset()
LastGoodPriceUpdated
event LastGoodPriceUpdated(uint256 newPrice)
PriceUpdated
event PriceUpdated(uint96 price, uint8 indexed status)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
TokenConfigured
event TokenConfigured(address indexed feed, uint32 stalenessPeriod)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
CircuitBreakerAlreadyActive
error CircuitBreakerAlreadyActive()
InvalidConfig
error InvalidConfig()
InvalidToken
error InvalidToken(address token)
PriceDeviationExceeded
error PriceDeviationExceeded(uint256 currentPrice, uint256 lastGoodPrice)
TokenAlreadyConfigured
error TokenAlreadyConfigured()
creation bytecode
0x6080604090808252346200024b57608081620012c0803803809162000025828562000250565b8339810103126200024b576200003b8162000274565b906200004a6020820162000274565b906200007d6200006a60606200006287850162000289565b930162000289565b9362000076816200029b565b506200031b565b5063ffffffff809316801580156200023f575b6200022e57600154926001600160a01b03908185166200021d5716908115801562000212575b620002015785516001600160401b03938188019185831181841017620001eb5791885283825286811660209283018190526001600160c01b0319909616841760a09190911b63ffffffff60a01b1617600181905587519586529483917fd6d286e9cb056935afab4c996555d1f9bef2b5d62d742a9313238b739745a13391a28551926020840190811184821017620001eb576200016693829188525263ffffffff196002541617600255620003d2565b929092420391428311620001d55760a01c16101580620001cb575b62000196575b5051610e1690816200048a8239f35b6020817f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd3926003558351908152a13862000187565b5080151562000181565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b85516306b7c75960e31b8152600490fd5b5084831615620000b6565b86516343efd39d60e01b8152600490fd5b84516306b7c75960e31b8152600490fd5b50612710811162000090565b600080fd5b601f909101601f19168101906001600160401b03821190821017620001eb57604052565b51906001600160a01b03821682036200024b57565b519063ffffffff821682036200024b57565b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff166200031757818052816020526040822081835260205260408220600160ff198254161790553391600080516020620012a08339815191528180a4600190565b5090565b6001600160a01b031660008181527f7d7ffb7a348e1c6a02869081a26547b49160dd3df72d1d75a570eb9b698292ec60205260408120549091907fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759060ff16620003b857808352826020526040832082845260205260408320600160ff19825416179055600080516020620012a0833981519152339380a4600190565b505090565b51906001600160501b03821682036200024b57565b604051633fabe5a360e21b8152919060a090839060049082906001600160a01b03165afa9182156200047d5760009081936200041e575b506000811262000417579190565b5060009190565b925060a0833d821162000474575b816200043b60a0938362000250565b810103126200047157506200045082620003bd565b50602082015162000469608060608501519401620003bd565b503862000409565b80fd5b3d91506200042c565b6040513d6000823e3d90fdfe608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a7146108d2575080630490be83146108b357806314903f9d146107d057806316efd941146107ad57806320913f0c14610757578063248a9ca31461072d5780632f2ff15d14610705578063313ce5671461065557806336568abe1461060e57806337ad1574146105ab57806375b238fc1461057057806391d148541461052a578063a217fddf1461050f578063ba9341c0146104d5578063c25c469a146104b0578063d547741f14610473578063de5f8d93146103de578063f30a0a79146101a6578063f5b541a6146101675763fab21e161461010057600080fd5b346101635782600319360112610163576101186109e4565b81549060ff8216610154575060ff191660011790557fbb53640937cd9017f44675ef99ea22201845de31c85aac05fdb9f4675b1d3f1e8180a180f35b51630757bc2160e21b81529050fd5b8280fd5b8382346101a257816003193601126101a257602090517f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9298152f35b5080fd5b509190346101a25760603660031901126101a2576101c2610926565b6101ca610957565b6044359463ffffffff938487168097036103da576101e661096a565b6101ee61096a565b600154936001600160a01b03908186166103ca571694851580156103c0575b6103b15785969783519561022087610b59565b8787528286169788966020998a809a015263ffffffff60a01b9060a01b169167ffffffffffffffff60c01b16171792836001558885518781527fd6d286e9cb056935afab4c996555d1f9bef2b5d62d742a9313238b739745a133998a91a2811580156103a6575b610398578451908782019082821067ffffffffffffffff831117610385575091809188949387525263ffffffff1960025416176002556102d76102c989610bc4565b92909460a01c169142610c6b565b11158061037c575b1561034b57817f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd392600355887f9cb7297d87d97df69d6c9c075210a039ca12952fb133685006abf7aebdecc9348386516001600160601b0385168152a28351908152a15b51908152a280f35b600291507f9cb7297d87d97df69d6c9c075210a039ca12952fb133685006abf7aebdecc934908351898152a2610343565b508115156102df565b634e487b7160e01b8c526041905260248bfd5b84516306b7c75960e31b8152fd5b506127108211610287565b5090516306b7c75960e31b8152fd5b508084161561020d565b83516343efd39d60e01b81528390fd5b8580fd5b50346101635782600319360112610163576103f76109e4565b81549060ff821615610431575060ff191690557f749ce304ab81145be90b787a7777d030c801b4cfd19e6b30df21973a54ec004c8180a180f35b5162461bcd60e51b8152602081840152601d60248201527f4369726375697420627265616b6572206973206e6f74206163746976650000006044820152606490fd5b50346101635780600319360112610163576104ac91356104a76001610496610941565b938387528660205286200154610a40565b610ae4565b5080f35b8382346101a257816003193601126101a25760209063ffffffff600254169051908152f35b50823461050c578060031936011261050c575060015481516001600160a01b038216815260a09190911c63ffffffff166020820152f35b80fd5b8382346101a257816003193601126101a25751908152602090f35b5090346101635781600319360112610163578160209360ff9261054b610941565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b8382346101a257816003193601126101a257602090517fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758152f35b5034610163576020366003190112610163578135916105c86109e4565b82156106005750816020917f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39360035551908152a180f35b90516306b7c75960e31b8152fd5b508290346101a257806003193601126101a257610629610941565b90336001600160a01b0383160361064657506104ac919235610ae4565b5163334bd91960e11b81528390fd5b50823461050c578060031936011261050c576001546001600160a01b031680156106f65760209083519485809263313ce56760e01b82525afa9283156106ea5781936106a9575b60208460ff855191168152f35b9092506020813d82116106e2575b816106c460209383610b8b565b8101031261016357519160ff8316830361050c575060ff602061069c565b3d91506106b7565b509051903d90823e3d90fd5b5050516306b7c75960e31b8152fd5b50346101635780600319360112610163576104ac91356107286001610496610941565b610a66565b50903461016357602036600319011261016357816020936001923581528085522001549051908152f35b509190346101a257816003193601126101a257610772610c8e565b9160208451936001600160601b038151168552015191600683101561079a5750506020820152f35b634e487b7160e01b825260219052602490fd5b50823461050c578060031936011261050c575060ff602092541690519015158152f35b50346101635780600319360112610163576107e9610926565b6107f1610957565b6107f961096a565b600154916001600160a01b03908184166108a357169384158015610895575b6108875750826020928584937fd6d286e9cb056935afab4c996555d1f9bef2b5d62d742a9313238b739745a133965161085081610b59565b82815263ffffffff821695018590526001600160c01b03199092161760a09190911b63ffffffff60a01b161760015551908152a280f35b83516306b7c75960e31b8152fd5b5063ffffffff821615610818565b84516343efd39d60e01b81528690fd5b8382346101a257816003193601126101a2576020906003549051908152f35b84908434610163576020366003190112610163573563ffffffff60e01b81168091036101635760209250637965db0b60e01b8114908115610915575b5015158152f35b6301ffc9a760e01b1490508361090e565b600435906001600160a01b038216820361093c57565b600080fd5b602435906001600160a01b038216820361093c57565b6024359063ffffffff8216820361093c57565b3360009081527f7d7ffb7a348e1c6a02869081a26547b49160dd3df72d1d75a570eb9b698292ec60205260409020547fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759060ff16156109c65750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3360009081527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f60205260409020547f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9299060ff16156109c65750565b80600052600060205260406000203360005260205260ff60406000205416156109c65750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014610adf57808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014610adf5780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b6040810190811067ffffffffffffffff821117610b7557604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610b7557604052565b519069ffffffffffffffffffff8216820361093c57565b604051633fabe5a360e21b8152919060a090839060049082906001600160a01b03165afa918215610c5f576000908193610c0d575b5060008112610c06579190565b5060009190565b925060a0833d8211610c57575b81610c2760a09383610b8b565b8101031261050c5750610c3982610bad565b506020820151610c50608060608501519401610bad565b5038610bf9565b3d9150610c1a565b6040513d6000823e3d90fd5b91908203918211610c7857565b634e487b7160e01b600052601160045260246000fd5b60408051610c9b81610b59565b60008082526020918201819052600154929091906001600160a01b0384168015610dcf5760ff60045416610dbf57610cd290610bc4565b610cea63ffffffff969296809360a01c169142610c6b565b11610daf578415610d9f576003548015610d895780861115610d7957610d108187610c6b565b915b61271092838102938185041490151715610d655760025416910411610d4e576001600160601b03905193610d4585610b59565b16835282015290565b519250600491610d5d84610b59565b835282015290565b634e487b7160e01b86526011600452602486fd5b610d838682610c6b565b91610d12565b50506001600160601b03905193610d4585610b59565b50519250600291610d5d84610b59565b50519250600391610d5d84610b59565b50519250600591610d5d84610b59565b81516306b7c75960e31b8152600490fdfea2646970667358221220d45e36d9ad2f4a884083f65670160db58b37ef1ddc1b9697f3989e7009458bd364736f6c634300081400332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d0000000000000000000000006c15b25e9750dccb698c1a4023f34015bfe576490000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b84190000000000000000000000000000000000000000000000000000000000000e1000000000000000000000000000000000000000000000000000000000000007d0