0 txs
0 calls
constructor
constructor((address uniErc20, address wethErc20, address uniUsdChainlinkFeed, uint256 maximumOracleDelay, address ethUsdChainlinkFeed, uint256 maxEthUsdOracleDelay, address uniV3PairAddress, uint32 twapDuration, address timelockAddress) _params)
functions
BASE_TOKEN_0_DECIMALS
viewfunction BASE_TOKEN_0_DECIMALS() view returns (uint256)
BASE_TOKEN_0
viewfunction BASE_TOKEN_0() view returns (address)
BASE_TOKEN_1_DECIMALS
viewfunction BASE_TOKEN_1_DECIMALS() view returns (uint256)
BASE_TOKEN_1
viewfunction BASE_TOKEN_1() view returns (address)
CHAINLINK_FEED_ADDRESS
viewfunction CHAINLINK_FEED_ADDRESS() view returns (address)
CHAINLINK_FEED_DECIMALS
viewfunction CHAINLINK_FEED_DECIMALS() view returns (uint8)
CHAINLINK_FEED_PRECISION
viewfunction CHAINLINK_FEED_PRECISION() view returns (uint256)
decimals
purefunction decimals() pure returns (uint8)
ETH_USD_CHAINLINK_FEED_ADDRESS
viewfunction ETH_USD_CHAINLINK_FEED_ADDRESS() view returns (address)
ETH_USD_CHAINLINK_FEED_DECIMALS
viewfunction ETH_USD_CHAINLINK_FEED_DECIMALS() view returns (uint8)
ETH_USD_CHAINLINK_FEED_PRECISION
viewfunction ETH_USD_CHAINLINK_FEED_PRECISION() view returns (uint256)
getChainlinkPrice
viewfunction getChainlinkPrice() view returns (bool _isBadData, uint256 _updatedAt, uint256 _price)
getEthUsdChainlinkPrice
viewfunction getEthUsdChainlinkPrice() view returns (bool _isBadData, uint256 _updatedAt, uint256 _usdPerEth)
getMkrPerUsdChainlink
viewfunction getMkrPerUsdChainlink() view returns (bool _isBadData, uint256 _uniPerUsd)
getMkrPerUsdTwap
viewfunction getMkrPerUsdTwap() view returns (bool _isBadData, uint256 _uniPerUsd)
getPrices
viewfunction getPrices() view returns (bool _isBadData, uint256 _priceLow, uint256 _priceHigh)
getPricesNormalized
viewfunction getPricesNormalized() view returns (bool _isBadDataNormal, uint256 _priceLowNormal, uint256 _priceHighNormal)
getUniswapV3Twap
viewfunction getUniswapV3Twap() view returns (uint256 _twap)
maximumEthUsdOracleDelay
viewfunction maximumEthUsdOracleDelay() view returns (uint256)
maximumOracleDelay
viewfunction maximumOracleDelay() view returns (uint256)
name
purefunction name() pure returns (string)
NORMALIZATION_0
viewfunction NORMALIZATION_0() view returns (int256)
NORMALIZATION_1
viewfunction NORMALIZATION_1() view returns (int256)
ORACLE_PRECISION
viewfunction ORACLE_PRECISION() view returns (uint256)
pendingTimelockAddress
viewfunction pendingTimelockAddress() view returns (address)
QUOTE_TOKEN_0_DECIMALS
viewfunction QUOTE_TOKEN_0_DECIMALS() view returns (uint256)
QUOTE_TOKEN_0
viewfunction QUOTE_TOKEN_0() view returns (address)
QUOTE_TOKEN_1_DECIMALS
viewfunction QUOTE_TOKEN_1_DECIMALS() view returns (uint256)
QUOTE_TOKEN_1
viewfunction QUOTE_TOKEN_1() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
timelockAddress
viewfunction timelockAddress() view returns (address)
TWAP_PRECISION
viewfunction TWAP_PRECISION() view returns (uint128)
twapDuration
viewfunction twapDuration() view returns (uint32)
UNI_ERC20
viewfunction UNI_ERC20() view returns (address)
UNI_V3_PAIR_ADDRESS
viewfunction UNI_V3_PAIR_ADDRESS() view returns (address)
UNISWAP_V3_TWAP_BASE_TOKEN
viewfunction UNISWAP_V3_TWAP_BASE_TOKEN() view returns (address)
UNISWAP_V3_TWAP_QUOTE_TOKEN
viewfunction UNISWAP_V3_TWAP_QUOTE_TOKEN() view returns (address)
acceptTransferTimelock
nonpayablefunction acceptTransferTimelock()
renounceTimelock
nonpayablefunction renounceTimelock()
setMaximumEthUsdOracleDelay
nonpayablefunction setMaximumEthUsdOracleDelay(uint256 _newMaxOracleDelay)
setMaximumOracleDelay
nonpayablefunction setMaximumOracleDelay(uint256 _newMaxOracleDelay)
setTwapDuration
nonpayablefunction setTwapDuration(uint32 _newTwapDuration)
transferTimelock
nonpayablefunction transferTimelock(address _newTimelock)
events
SetMaximumEthUsdOracleDelay
event SetMaximumEthUsdOracleDelay(uint256 oldMaxOracleDelay, uint256 newMaxOracleDelay)
SetMaximumOracleDelay
event SetMaximumOracleDelay(address oracle, uint256 oldMaxOracleDelay, uint256 newMaxOracleDelay)
SetMaximumOracleDelay
event SetMaximumOracleDelay(uint256 oldMaxOracleDelay, uint256 newMaxOracleDelay)
SetTwapDuration
event SetTwapDuration(uint256 oldTwapDuration, uint256 newTwapDuration)
TimelockTransferred
event TimelockTransferred(address indexed previousTimelock, address indexed newTimelock)
TimelockTransferStarted
event TimelockTransferStarted(address indexed previousTimelock, address indexed newTimelock)
errors
OnlyPendingTimelock
error OnlyPendingTimelock()
OnlyTimelock
error OnlyTimelock()
creation bytecode
0x6103006040523480156200001257600080fd5b5060405162001fc738038062001fc783398101604081905262000035916200057c565b604051806040016040528082608001516001600160a01b031681526020018260a00151815250604051806040016040528083604001516001600160a01b03168152602001836060015181525060405180608001604052808460c001516001600160a01b031681526020018460e0015163ffffffff16815260200184602001516001600160a01b0316815260200184600001516001600160a01b03168152506040518061010001604052806103486001600160a01b03168152602001601260ff16815260200185600001516001600160a01b03168152602001601260ff1681526020016103486001600160a01b03168152602001601260ff16815260200185600001516001600160a01b03168152602001601260ff1681525080604001516001600160a01b03166080816001600160a01b031681525050806060015160ff1660a081815250508060c001516001600160a01b031660c0816001600160a01b0316815250508060e0015160ff1660e0818152505080600001516001600160a01b0316610100816001600160a01b031681525050806020015160ff16610120818152505080608001516001600160a01b0316610140816001600160a01b0316815250508060a0015160ff1661016081815250506101205160a0516200021891906200064b565b610180526101605160e0516200022f91906200064b565b6101a05250600180546001600160a01b031916331790556200025863656af49b60e11b62000432565b80516001600160a01b039081166101c05260208201516003805463ffffffff191663ffffffff909216919091179055604082015181166101e0526060909101511661020052620002af6368bcdd6d60e11b62000432565b80516001600160a01b03166102208190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa158015620002fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000322919062000675565b60ff166102408190526200033890600a620007a0565b61026052602001516004556200035563243cfb2160e21b62000432565b80516001600160a01b03166102808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa158015620003a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c8919062000675565b60ff166102a0819052620003de90600a620007a0565b6102c05260200151600555610100810151620003fa90620004b6565b6200040c63415f130360e01b62000432565b6200041e632fa3fc3160e21b62000432565b516001600160a01b03166102e052620007ae565b6001600160e01b03198082169003620004915760405162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015260640160405180910390fd5b6001600160e01b0319166000908152600260205260409020805460ff19166001179055565b6001546040516001600160a01b038084169216907f31b6c5a04b069b6ec1b3cef44c4e7c1eadd721349cda9823d0b1877b3551cdc690600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b60405161012081016001600160401b03811182821017156200054457634e487b7160e01b600052604160045260246000fd5b60405290565b80516001600160a01b03811681146200056257600080fd5b919050565b805163ffffffff811681146200056257600080fd5b600061012082840312156200059057600080fd5b6200059a62000512565b620005a5836200054a565b8152620005b5602084016200054a565b6020820152620005c8604084016200054a565b604082015260608301516060820152620005e5608084016200054a565b608082015260a083015160a08201526200060260c084016200054a565b60c08201526200061560e0840162000567565b60e08201526101006200062a8185016200054a565b908201529392505050565b634e487b7160e01b600052601160045260246000fd5b81810360008312801583831316838312821617156200066e576200066e62000635565b5092915050565b6000602082840312156200068857600080fd5b815160ff811681146200069a57600080fd5b9392505050565b600181815b80851115620006e2578160001904821115620006c657620006c662000635565b80851615620006d457918102915b93841c9390800290620006a6565b509250929050565b600082620006fb575060016200079a565b816200070a575060006200079a565b81600181146200072357600281146200072e576200074e565b60019150506200079a565b60ff84111562000742576200074262000635565b50506001821b6200079a565b5060208310610133831016604e8410600b841016171562000773575081810a6200079a565b6200077f8383620006a1565b806000190482111562000796576200079662000635565b0290505b92915050565b60006200069a8383620006ea565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e0516116d4620008f3600039600061034f0152600081816105950152610afb015260006104cb0152600081816106800152610c540152600081816106320152610a960152600061060b01526000818161041e0152610b8a0152600081816106be015261106901526000818161065901526110470152600081816104fa0152610f9b0152600081816102f2015281816109a0015281816109c90152610a0c015260008181610700015281816108fe01528181610927015261096a0152600061047f015260006103f7015260006107a4015260006103d0015260006105bc015260006105660152600061077d0152600061075601526116d46000f3fe608060405234801561001057600080fd5b50600436106102e85760003560e01c8063726de1a511610191578063bd9a548b116100e3578063d736094611610097578063f097486c11610071578063f097486c1461079f578063f6ccaad4146107c6578063f97697ff146107ce57600080fd5b8063d73609461461073e578063e0d2e78014610751578063e5a66dfa1461077857600080fd5b8063c82f2b12116100c8578063c82f2b12146106fb578063cede91a414610722578063d2333be71461072b57600080fd5b8063bd9a548b146106e0578063c433c80a146106e857600080fd5b80638e7dc4c0116101455780639c0615191161011f5780639c061519146106a25780639c0d313f146106aa578063a2cc7703146106b957600080fd5b80638e7dc4c01461062d578063993e3d541461065457806399a64f281461067b57600080fd5b80637c99a499116101765780637c99a499146105de5780637e4fc160146105e75780638b8b2c911461060657600080fd5b8063726de1a514610590578063781097d0146105b757600080fd5b806337f85f661161024a57806345014095116101fe5780634f8b4ae7116101d85780634f8b4ae71461055957806359c909e1146105615780636ff484721461058857600080fd5b8063450140951461051c5780634bc66f32146105315780634d3375e81461055157600080fd5b80633b17136a1161022f5780633b17136a146104c65780633cb6f5fa146104ed578063417d25a9146104f557600080fd5b806337f85f661461047a5780633aeef3d3146104a157600080fd5b8063116d7976116102a157806320bf30fc1161028657806320bf30fc1461041957806326d8954514610440578063313ce5671461046557600080fd5b8063116d7976146103cb57806320888004146103f257600080fd5b806305c3a687116102d257806305c3a6871461034a57806306fdde0314610396578063090f3f50146103ab57600080fd5b806232e91a146102ed57806301ffc9a714610327575b600080fd5b6103147f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b61033a61033536600461120f565b6107fe565b604051901515815260200161031e565b6103717f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161031e565b61039e610887565b60405161031e9190611258565b6000546103719073ffffffffffffffffffffffffffffffffffffffff1681565b6103717f000000000000000000000000000000000000000000000000000000000000000081565b6103717f000000000000000000000000000000000000000000000000000000000000000081565b6103717f000000000000000000000000000000000000000000000000000000000000000081565b6003546104509063ffffffff1681565b60405163ffffffff909116815260200161031e565b60125b60405160ff909116815260200161031e565b6103147f000000000000000000000000000000000000000000000000000000000000000081565b6104a96108a7565b60408051931515845260208401929092529082015260600161031e565b6104687f000000000000000000000000000000000000000000000000000000000000000081565b6104a96108bf565b6103717f000000000000000000000000000000000000000000000000000000000000000081565b61052f61052a3660046112c4565b6108cc565b005b6001546103719073ffffffffffffffffffffffffffffffffffffffff1681565b6104a96108e0565b61052f610a46565b6103717f000000000000000000000000000000000000000000000000000000000000000081565b610314610a6c565b6103147f000000000000000000000000000000000000000000000000000000000000000081565b6103147f000000000000000000000000000000000000000000000000000000000000000081565b61031460055481565b6105ef610a7b565b60408051921515835260208301919091520161031e565b6104687f000000000000000000000000000000000000000000000000000000000000000081565b6103147f000000000000000000000000000000000000000000000000000000000000000081565b6103717f000000000000000000000000000000000000000000000000000000000000000081565b6103717f000000000000000000000000000000000000000000000000000000000000000081565b6105ef610ad4565b610314670de0b6b3a764000081565b6103717f000000000000000000000000000000000000000000000000000000000000000081565b6104a9610b32565b61052f6106f63660046112fa565b610b3f565b6103147f000000000000000000000000000000000000000000000000000000000000000081565b61031460045481565b61052f610739366004611320565b610b50565b61052f61074c366004611320565b610b61565b6103717f000000000000000000000000000000000000000000000000000000000000000081565b6103147f000000000000000000000000000000000000000000000000000000000000000081565b6103147f000000000000000000000000000000000000000000000000000000000000000081565b61052f610b72565b6107dd670de0b6b3a764000081565b6040516fffffffffffffffffffffffffffffffff909116815260200161031e565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061088157507fffffffff00000000000000000000000000000000000000000000000000000000821660009081526002602052604090205460ff165b92915050565b606060405180608001604052806046815260200161168260469139905090565b60008060006108b4610b82565b925092509250909192565b60008060006108b4610c4c565b6108d4610d01565b6108dd81610d52565b50565b6000806000806000806108f1610dc7565b92509250925082955060007f0000000000000000000000000000000000000000000000000000000000000000136109655761094b7f0000000000000000000000000000000000000000000000000000000000000000611368565b61095690600a6114c0565b61096090836114cc565b61099a565b6109907f0000000000000000000000000000000000000000000000000000000000000000600a6114c0565b61099a9083611507565b945060007f000000000000000000000000000000000000000000000000000000000000000013610a07576109ed7f0000000000000000000000000000000000000000000000000000000000000000611368565b6109f890600a6114c0565b610a0290826114cc565b610a3c565b610a327f0000000000000000000000000000000000000000000000000000000000000000600a6114c0565b610a3c9082611507565b9350505050909192565b610a4e610d01565b610a56610e95565b610a606000610d52565b610a6a6000610ee6565b565b6000610a76610f74565b905090565b6000806000610a88610b82565b919450909150819050610ac37f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a7640000611507565b610acd91906114cc565b9150509091565b6000806000610ae1610f74565b90506000610aed610c4c565b919550909150819050610b207f000000000000000000000000000000000000000000000000000000000000000084611507565b610b2a91906114cc565b925050509091565b60008060006108b4610dc7565b610b47610d01565b6108dd816110e1565b610b58610d01565b6108dd8161115c565b610b69610d01565b6108dd8161119d565b610b7a610e95565b610a6a6111de565b6000806000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c17919061153d565b5095509092505050600081131580610c395750600454610c37844261158d565b115b15610c4357600193505b80915050909192565b6000806000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610cbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce1919061153d565b5095509092505050600081131580610c395750600554610c37844261158d565b60015473ffffffffffffffffffffffffffffffffffffffff163314610a6a576040517f1c0be90a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217835560015460405192939116917f162998b90abc2507f3953aa797827b03a14c42dbd9a35f09feaf02e0d592773a9190a350565b6000806000806000610dd7610a7b565b91509150600080610de6610ad4565b91509150838015610df45750815b15610e5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f426f746820436861696e6c696e6b20616e642054574150206172652062616400604482015260640160405180910390fd5b8380610e685750815b9650828110610e775782610e79565b805b9550808311610e885780610e8a565b825b945050505050909192565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a6a576040517ff5c49e6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f31b6c5a04b069b6ec1b3cef44c4e7c1eadd721349cda9823d0b1877b3551cdc690600090a3600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b604080516001808252818301909252600091829190602080830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110610fcd57610fcd6115a0565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526003546040517f07f7ca9f00000000000000000000000000000000000000000000000000000000815273b210ce856631eeeb767efa666ec7c1c57738d438916307f7ca9f9161109a91670de0b6b3a7640000917f0000000000000000000000000000000000000000000000000000000000000000917f000000000000000000000000000000000000000000000000000000000000000091889163ffffffff16906004016115cf565b602060405180830381865afa1580156110b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110db9190611668565b91505090565b6003546040805163ffffffff928316815291831660208301527fa5868b8f066a74ed982ad7843f1f76a16fc96b95c00596d6249b5fe5dee54413910160405180910390a1600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff92909216919091179055565b60045460408051918252602082018390527fd72ef688fa430b6a285b84371ba35e8a8e0762b32c1deb7be9d9c111ca79f5ea910160405180910390a1600455565b60055460408051918252602082018390527f1b427db70b2e813aae1e9f4dc54fcd2ae904b1350f60b84a7bab7d379aa2b02e910160405180910390a1600555565b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055610a6a33610ee6565b60006020828403121561122157600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461125157600080fd5b9392505050565b600060208083528351808285015260005b8181101561128557858101830151858201604001528201611269565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b6000602082840312156112d657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461125157600080fd5b60006020828403121561130c57600080fd5b813563ffffffff8116811461125157600080fd5b60006020828403121561133257600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007f8000000000000000000000000000000000000000000000000000000000000000820361139957611399611339565b5060000390565b600181815b808511156113f957817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156113df576113df611339565b808516156113ec57918102915b93841c93908002906113a5565b509250929050565b60008261141057506001610881565b8161141d57506000610881565b8160018114611433576002811461143d57611459565b6001915050610881565b60ff84111561144e5761144e611339565b50506001821b610881565b5060208310610133831016604e8410600b841016171561147c575081810a610881565b61148683836113a0565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156114b8576114b8611339565b029392505050565b60006112518383611401565b600082611502577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b808202811582820484141761088157610881611339565b805169ffffffffffffffffffff8116811461153857600080fd5b919050565b600080600080600060a0868803121561155557600080fd5b61155e8661151e565b94506020860151935060408601519250606086015191506115816080870161151e565b90509295509295909350565b8181038181111561088157610881611339565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060a082016fffffffffffffffffffffffffffffffff88168352602073ffffffffffffffffffffffffffffffffffffffff80891682860152808816604086015260a0606086015282875180855260c087019150838901945060005b8181101561164957855184168352948401949184019160010161162b565b50508094505050505063ffffffff831660808301529695505050505050565b60006020828403121561167a57600080fd5b505191905056fe556e6973776170204475616c204f7261636c6520436861696e6c696e6b2077697468205374616c656e65737320436865636b20616e6420556e69737761702056332054574150a164736f6c6343000813000a0000000000000000000000001f9840a85d5af5bf1d1762f925bdaddc4201f984000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000553303d460ee0afb37edff9be42922d8ff63220e0000000000000000000000000000000000000000000000000000000000000f3c0000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b84190000000000000000000000000000000000000000000000000000000000000f3c0000000000000000000000001d42064fc4beb5f8aaf85f4617ae8b3b5b8bd80100000000000000000000000000000000000000000000000000000000000003840000000000000000000000008412ebf45bac1b340bbe8f318b928c466c4e39ca