1 tx
123 calls
constructor
constructor(address _feedRegistry, address[] _tokenAddresses, uint48[] _heartbeatIntervals)
functions
feedRegistry
viewfunction feedRegistry() view returns (address)
getLatestRoundData
viewfunction getLatestRoundData(address _tokenAddress) view returns (uint80 roundId, int256 price, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
getPrice
viewfunction getPrice(address _tokenAddress) view returns (uint256 price)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
priceDecimals
viewfunction priceDecimals(address _tokenAddress) view returns (uint8 decimals)
quoteCurrency
purefunction quoteCurrency() pure returns (address currency)
tokenHeartbeatIntervals
viewfunction tokenHeartbeatIntervals(address token) view returns (uint48 heartbeatInterval)
acceptOwnership
nonpayablefunction acceptOwnership()
renounceOwnership
nonpayablefunction renounceOwnership()
setFeedRegistry
nonpayablefunction setFeedRegistry(address _feedRegistry)
setHeartbeatInterval
nonpayablefunction setHeartbeatInterval(address _tokenAddress, uint48 _heartbeatInterval)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
FeedRegistrySet
event FeedRegistrySet(address indexed feedRegistry)
HeartbeatIntervalSet
event HeartbeatIntervalSet(address indexed tokenAddress, uint48 heartbeatInterval)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
errors
ChainlinkOracleHeartbeatFailed
error ChainlinkOracleHeartbeatFailed()
IdempotencyKeyAlreadyExist
error IdempotencyKeyAlreadyExist(bytes32 _idempotencyKey)
InvalidAmount
error InvalidAmount(uint256 _amount)
InvalidArrayLengths
error InvalidArrayLengths()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeCastOverflowedIntToUint
error SafeCastOverflowedIntToUint(int256 value)
ZeroAddress
error ZeroAddress()
creation bytecode
0x608060405234801561001057600080fd5b50604051610ebb380380610ebb83398101604081905261002f91610396565b338061005657604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61005f816100ea565b5061006983610106565b805182511461008b5760405163a9854bc960e01b815260040160405180910390fd5b60005b82518110156100e1576100d98382815181106100ac576100ac610474565b60200260200101518383815181106100c6576100c6610474565b602002602001015161017f60201b60201c565b60010161008e565b5050505061048a565b600180546001600160a01b031916905561010381610218565b50565b61010e610268565b6001600160a01b0381166101355760405163d92e233d60e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f500d606d5175bb4ae8b40112106d8af45cea081e9053fc7635f50a3354d2407f90600090a250565b610187610268565b6001600160a01b0382166101ae5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038216600081815260036020908152604091829020805465ffffffffffff191665ffffffffffff861690811790915591519182527f72603931271c6b66a49f3327ed552ed6579ba9a630212dd8f9c5f412dbc77e6c910160405180910390a25050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b031633146102955760405163118cdaa760e01b815233600482015260240161004d565b565b6001600160a01b038116811461010357600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156102ea576102ea6102ac565b604052919050565b60006001600160401b0382111561030b5761030b6102ac565b5060051b60200190565b600082601f83011261032657600080fd5b8151610339610334826102f2565b6102c2565b8082825260208201915060208360051b86010192508583111561035b57600080fd5b602085015b8381101561038c57805165ffffffffffff8116811461037e57600080fd5b835260209283019201610360565b5095945050505050565b6000806000606084860312156103ab57600080fd5b83516103b681610297565b60208501519093506001600160401b038111156103d257600080fd5b8401601f810186136103e357600080fd5b80516103f1610334826102f2565b8082825260208201915060208360051b85010192508883111561041357600080fd5b6020840193505b8284101561043e57835161042d81610297565b82526020938401939091019061041a565b6040880151909550925050506001600160401b0381111561045e57600080fd5b61046a86828701610315565b9150509250925092565b634e487b7160e01b600052603260045260246000fd5b610a22806104996000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c806390238c391161008c578063cefe0f2111610066578063cefe0f211461021f578063e30c397814610244578063efb0f22314610262578063f2fde38b1461027557600080fd5b806390238c39146101ad57806397e12b6a146101cd578063ba13e9fb146101e057600080fd5b806379ba5097116100bd57806379ba50971461015e57806382564bca146101665780638da5cb5b1461018f57600080fd5b806341976e09146100e4578063715018a61461010a578063725e6f0a14610114575b600080fd5b6100f76100f23660046108bd565b610288565b6040519081526020015b60405180910390f35b6101126102aa565b005b6101276101223660046108bd565b6102be565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610101565b6101126103ec565b6103485b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610101565b60005473ffffffffffffffffffffffffffffffffffffffff1661016a565b60025461016a9073ffffffffffffffffffffffffffffffffffffffff1681565b6101126101db3660046108da565b610468565b6102086101ee3660046108bd565b60036020526000908152604090205465ffffffffffff1681565b60405165ffffffffffff9091168152602001610101565b61023261022d3660046108bd565b61054d565b60405160ff9091168152602001610101565b60015473ffffffffffffffffffffffffffffffffffffffff1661016a565b6101126102703660046108bd565b6105f0565b6101126102833660046108bd565b6106b4565b600080610294836102be565b5050509150506102a381610764565b9392505050565b6102b26107a7565b6102bc60006107fa565b565b6002546040517fbcfd032d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526103486024830152600092839283928392839291169063bcfd032d9060440160a060405180830381865afa158015610340573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610364919061093d565b73ffffffffffffffffffffffffffffffffffffffff8b166000908152600360205260409020549499509297509095509350915065ffffffffffff16806103aa844261098f565b11156103e2576040517ff3041f4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5091939590929450565b600154339073ffffffffffffffffffffffffffffffffffffffff16811461045c576040517f118cdaa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b610465816107fa565b50565b6104706107a7565b73ffffffffffffffffffffffffffffffffffffffff82166104bd576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821660008181526003602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000001665ffffffffffff861690811790915591519182527f72603931271c6b66a49f3327ed552ed6579ba9a630212dd8f9c5f412dbc77e6c910160405180910390a25050565b6002546040517f58e2d3a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152610348602483015260009216906358e2d3a890604401602060405180830381865afa1580156105c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ea91906109c9565b92915050565b6105f86107a7565b73ffffffffffffffffffffffffffffffffffffffff8116610645576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f500d606d5175bb4ae8b40112106d8af45cea081e9053fc7635f50a3354d2407f90600090a250565b6106bc6107a7565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915561071f60005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6000808212156107a3576040517fa8ce443200000000000000000000000000000000000000000000000000000000815260048101839052602401610453565b5090565b60005473ffffffffffffffffffffffffffffffffffffffff1633146102bc576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610453565b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055610465816000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b73ffffffffffffffffffffffffffffffffffffffff8116811461046557600080fd5b6000602082840312156108cf57600080fd5b81356102a38161089b565b600080604083850312156108ed57600080fd5b82356108f88161089b565b9150602083013565ffffffffffff8116811461091357600080fd5b809150509250929050565b805169ffffffffffffffffffff8116811461093857600080fd5b919050565b600080600080600060a0868803121561095557600080fd5b61095e8661091e565b602087015160408801516060890151929750909550935091506109836080870161091e565b90509295509295909350565b818103818111156105ea577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000602082840312156109db57600080fd5b815160ff811681146102a357600080fdfea264697066735822122069745c0df5d4fc901bfc610dd279843ab1d8842a0f2ff670944c9f95ed92c84164736f6c634300081c003300000000000000000000000047fb2585d2c56fe188d0e6ec628a38b74fceeedf000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000015180