2 txs
265 calls
constructor
constructor(uint8 decimals_, string description_, uint256 version_, int256 initialPrice)
functions
authorizedAddresses
viewfunction authorizedAddresses(address) view returns (bool)
boundChecksEnabled
viewfunction boundChecksEnabled() view returns (bool)
decimals
viewfunction decimals() view returns (uint8)
description
viewfunction description() view returns (string)
getAnswer
viewfunction getAnswer(uint256 roundId) view returns (int256)
getCurrentPhaseInfo
viewfunction getCurrentPhaseInfo() view returns (uint16 phaseId, uint64 roundId)
getOriginalRoundId
purefunction getOriginalRoundId(uint80 roundId) pure returns (uint64)
getPhaseId
purefunction getPhaseId(uint80 roundId) pure returns (uint16)
getRoundData
viewfunction getRoundData(uint80 roundId) view returns (uint80, int256, uint256, uint256, uint80)
getTimestamp
viewfunction getTimestamp(uint256 roundId) view returns (uint256)
latestAnswer
viewfunction latestAnswer() view returns (int256)
latestRound
viewfunction latestRound() view returns (uint256)
latestRoundData
viewfunction latestRoundData() view returns (uint80, int256, uint256, uint256, uint80)
latestTimestamp
viewfunction latestTimestamp() view returns (uint256)
maxAnswer
viewfunction maxAnswer() view returns (int256)
minAnswer
viewfunction minAnswer() view returns (int256)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
roundExists
viewfunction roundExists(uint80 roundId) view returns (bool)
version
viewfunction version() view returns (uint256)
acceptOwnership
nonpayablefunction acceptOwnership()
addAuthorizedAddress
nonpayablefunction addAuthorizedAddress(address addr)
removeAuthorizedAddress
nonpayablefunction removeAuthorizedAddress(address addr)
renounceOwnership
nonpayablefunction renounceOwnership()
setBounds
nonpayablefunction setBounds(int256 _minAnswer, int256 _maxAnswer, bool _enabled)
toggleBoundsChecking
nonpayablefunction toggleBoundsChecking(bool _enabled)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateAnswer
nonpayablefunction updateAnswer(int256 newAnswer)
events
AnswerUpdated
event AnswerUpdated(int256 indexed current, uint256 indexed roundId, uint256 updatedAt)
AuthorizedAddressAdded
event AuthorizedAddressAdded(address indexed addr)
AuthorizedAddressRemoved
event AuthorizedAddressRemoved(address indexed addr)
BoundChecksToggled
event BoundChecksToggled(bool enabled)
BoundsConfigured
event BoundsConfigured(int256 minAnswer, int256 maxAnswer, bool enabled)
NewRound
event NewRound(uint256 indexed roundId, address indexed startedBy, uint256 startedAt)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
errors
AddressAlreadyAuthorized
error AddressAlreadyAuthorized(address addr)
AddressNotAuthorized
error AddressNotAuthorized(address addr)
InvalidAddress
error InvalidAddress(address addr)
InvalidBounds
error InvalidBounds(int256 min, int256 max)
InvalidPrice
error InvalidPrice(int256 price)
NoRoundsAvailable
error NoRoundsAvailable()
PriceOutOfBounds
error PriceOutOfBounds(int256 price, int256 min, int256 max)
UnauthorizedCaller
error UnauthorizedCaller(address caller)
creation bytecode
0x60c06040523480156200001157600080fd5b506040516200152f3803806200152f83398101604081905262000034916200038c565b6200003f33620000b4565b6000811362000068576040516338ee04a760e01b81526004810182905260240160405180910390fd5b60ff8416608052825162000084906002906020860190620002d0565b5060a0829052600380546001600160501b03191662010001179055620000aa81620000de565b505050506200052c565b600180546001600160a01b0319169055620000db8162000280602090811b62000b8217901c565b50565b600354429060009062000110906201000081046001600160401b03169060401b69ffff000000000000000016620004aa565b6040805160a0810182526001600160501b038381168083526020808401898152848601898152606086018a81526080870185815260008681526004808752908a9020895181546001600160501b0319908116918b16918217835596516001830181905595516002830181905594516003830181905593519190920180548716919099169081179098556005805486169091179055600692909255600755600855600980549091169093179092559251868152939450909286917f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f910160405180910390a360405183815233906001600160501b038416907f0109fc6f55cf40689f02fbaad7af7fe7bbac8a3d2186600afc7d3e10cac602719060200160405180910390a3600380546201000090046001600160401b03169060026200025583620004c5565b91906101000a8154816001600160401b0302191690836001600160401b031602179055505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b828054620002de90620004ef565b90600052602060002090601f0160209004810192826200030257600085556200034d565b82601f106200031d57805160ff19168380011785556200034d565b828001600101855582156200034d579182015b828111156200034d57825182559160200191906001019062000330565b506200035b9291506200035f565b5090565b5b808211156200035b576000815560010162000360565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215620003a357600080fd5b845160ff81168114620003b557600080fd5b602086810151919550906001600160401b0380821115620003d557600080fd5b818801915088601f830112620003ea57600080fd5b815181811115620003ff57620003ff62000376565b604051601f8201601f19908116603f011681019083821181831017156200042a576200042a62000376565b816040528281528b868487010111156200044357600080fd5b600093505b8284101562000467578484018601518185018701529285019262000448565b82841115620004795760008684830101525b60408b01516060909b0151999c909b50975050505050505050565b634e487b7160e01b600052601160045260246000fd5b60008219821115620004c057620004c062000494565b500190565b60006001600160401b0382811680821415620004e557620004e562000494565b6001019392505050565b600181811c908216806200050457607f821691505b602082108114156200052657634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a051610fdd62000552600039600061025f015260006101ec0152610fdd6000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806385cbd5de116100f9578063b5ab58dc11610097578063e30c397811610071578063e30c3978146104a8578063f19e207e146104b9578063f2fde38b146104dc578063feaf968c146104ef57600080fd5b8063b5ab58dc14610454578063b633620c14610467578063d853d7d21461047a57600080fd5b806391d7f65e116100d357806391d7f65e1461035c5780639a6fc8f51461036f578063a87a20ce14610416578063b577bbbc1461042957600080fd5b806385cbd5de1461030757806385e1aaac1461031a5780638da5cb5b1461033757600080fd5b806370712939116101665780637284e416116101405780637284e416146102b857806379ba5097146102cd57806379f4112b146102d55780638205bf6a146102ff57600080fd5b8063707129391461029457806370da2f67146102a7578063715018a6146102b057600080fd5b806342f1181e116101a257806342f1181e1461024057806350d25bcd1461025557806354fd4d501461025d578063668a0f021461028357600080fd5b806322adbc78146101c9578063313ce567146101e55780633181fd9914610216575b600080fd5b6101d2600a5481565b6040519081526020015b60405180910390f35b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016101dc565b6003546040805161ffff831681526201000090920467ffffffffffffffff166020830152016101dc565b61025361024e366004610dea565b6104f7565b005b6101d26105c7565b7f00000000000000000000000000000000000000000000000000000000000000006101d2565b6005546001600160501b03166101d2565b6102536102a2366004610dea565b6105fa565b6101d2600b5481565b6102536106c0565b6102c06106d4565b6040516101dc9190610e1a565b610253610766565b6102e66102e3366004610e6f565b90565b60405167ffffffffffffffff90911681526020016101dc565b6101d26107e0565b610253610315366004610ead565b610813565b600c546103279060ff1681565b60405190151581526020016101dc565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016101dc565b61025361036a366004610ee2565b6108a7565b6103e261037d366004610e6f565b6001600160501b03908116600090815260046020818152604092839020835160a0810185528154861680825260018301549382018490526002830154958201869052600383015460608301819052929094015490951660809095018590529194909390565b604080516001600160501b03968716815260208101959095528401929092526060830152909116608082015260a0016101dc565b610253610424366004610efd565b6108f6565b610441610437366004610e6f565b60401c61ffff1690565b60405161ffff90911681526020016101dc565b6101d2610462366004610efd565b6109be565b6101d2610475366004610efd565b610a34565b610327610488366004610e6f565b6001600160501b0390811660009081526004602052604090205416151590565b6001546001600160a01b0316610344565b6103276104c7366004610dea565b600d6020526000908152604090205460ff1681565b6102536104ea366004610dea565b610ab1565b6103e2610b22565b6104ff610bd2565b6001600160a01b03811661053657604051634726455360e11b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b0381166000908152600d602052604090205460ff161561057b57604051636f4fb35b60e01b81526001600160a01b038216600482015260240161052d565b6001600160a01b0381166000818152600d6020526040808220805460ff19166001179055517f10ac961f00d5e732ba4dcc2c6fb09bebea0eb9edd2a75c8109775ef288382e679190a250565b6005546000906001600160501b03166105f35760405163379e87f960e21b815260040160405180910390fd5b5060065490565b610602610bd2565b6001600160a01b03811661063457604051634726455360e11b81526001600160a01b038216600482015260240161052d565b6001600160a01b0381166000908152600d602052604090205460ff16610677576040516242cc1560e91b81526001600160a01b038216600482015260240161052d565b6001600160a01b0381166000818152600d6020526040808220805460ff19169055517f66d5f06f711af3c9feba3203fdb00b51345d514c68585d9d319c5ff5e6f775929190a250565b6106c8610bd2565b6106d26000610c2c565b565b6060600280546106e390610f16565b80601f016020809104026020016040519081016040528092919081815260200182805461070f90610f16565b801561075c5780601f106107315761010080835404028352916020019161075c565b820191906000526020600020905b81548152906001019060200180831161073f57829003601f168201915b5050505050905090565b60015433906001600160a01b031681146107d45760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161052d565b6107dd81610c2c565b50565b6005546000906001600160501b031661080c5760405163379e87f960e21b815260040160405180910390fd5b5060085490565b61081b610bd2565b8183126108455760405163fe914ca960e01b8152600481018490526024810183905260440161052d565b600a839055600b829055600c805460ff19168215159081179091556040805185815260208101859052908101919091527f7d5670359392fb068900f2e7c7fe97d37ff80cfc0058305ab1260bc0ab1012339060600160405180910390a1505050565b6108af610bd2565b600c805460ff19168215159081179091556040519081527fe25f8a9041b9ce2750132f05a7b24eac05a1665c006d65d3dc03b02743e936f29060200160405180910390a150565b6000546001600160a01b031633148015906109215750336000908152600d602052604090205460ff16155b156109415760405163d86ad9cf60e01b815233600482015260240161052d565b60008113610965576040516338ee04a760e01b81526004810182905260240161052d565b600c5460ff16156109b557600a548112806109815750600b5481135b156109b557600a54600b5460405163c09829d560e01b8152600481018490526024810192909252604482015260640161052d565b6107dd81610c45565b60006001600160501b038211156109d757506000919050565b506001600160501b03908116600090815260046020818152604092839020835160a0810185528154861681526001820154928101839052600282015494810194909452600381015460608501529091015490921660809091015290565b60006001600160501b03821115610a4d57506000919050565b506001600160501b03908116600090815260046020818152604092839020835160a081018552815486168152600182015492810192909252600281015493820193909352600383015460608201819052929091015490921660809092019190915290565b610ab9610bd2565b600180546001600160a01b0383166001600160a01b03199091168117909155610aea6000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60055460009081908190819081906001600160501b0316610b565760405163379e87f960e21b815260040160405180910390fd5b50506005546006546007546008546009546001600160501b039485169893975091955093509190911690565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b031633146106d25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052d565b600180546001600160a01b03191690556107dd81610b82565b6003544290600090610c769062010000810467ffffffffffffffff169060401b69ffff000000000000000016610f67565b6040805160a0810182526001600160501b038381168083526020808401898152848601898152606086018a81526080870185815260008681526004808752908a90208951815469ffffffffffffffffffff19908116918b16918217835596516001830181905595516002830181905594516003830181905593519190920180548716919099169081179098556005805486169091179055600692909255600755600855600980549091169093179092559251868152939450909286917f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f910160405180910390a360405183815233906001600160501b038416907f0109fc6f55cf40689f02fbaad7af7fe7bbac8a3d2186600afc7d3e10cac602719060200160405180910390a36003805462010000900467ffffffffffffffff16906002610dbd83610f7f565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050505050565b600060208284031215610dfc57600080fd5b81356001600160a01b0381168114610e1357600080fd5b9392505050565b600060208083528351808285015260005b81811015610e4757858101830151858201604001528201610e2b565b81811115610e59576000604083870101525b50601f01601f1916929092016040019392505050565b600060208284031215610e8157600080fd5b81356001600160501b0381168114610e1357600080fd5b80358015158114610ea857600080fd5b919050565b600080600060608486031215610ec257600080fd5b8335925060208401359150610ed960408501610e98565b90509250925092565b600060208284031215610ef457600080fd5b610e1382610e98565b600060208284031215610f0f57600080fd5b5035919050565b600181811c90821680610f2a57607f821691505b60208210811415610f4b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610f7a57610f7a610f51565b500190565b600067ffffffffffffffff80831681811415610f9d57610f9d610f51565b600101939250505056fea2646970667358221220594122917e8d466f193a9fc67408ad3454ebd8aa058be1ed34d30ffc72590acd64736f6c634300080a0033000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000010c8e000000000000000000000000000000000000000000000000000000000000000124c41432f55534420507269636520466565640000000000000000000000000000