fluid-contracts-public/deployments/arbitrum/dump/0x650b778B40f78e2c197324b4CDc67B8E9361823c.json

489 lines
163 KiB
JSON
Raw Normal View History

{
"address": "0x650b778B40f78e2c197324b4CDc67B8E9361823c",
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "infoName_",
"type": "string"
},
{
"components": [
{
"components": [
{
"internalType": "contract IUniswapV3Pool",
"name": "pool",
"type": "address"
},
{
"internalType": "bool",
"name": "invertRate",
"type": "bool"
},
{
"internalType": "uint256[3]",
"name": "tWAPMaxDeltaPercents",
"type": "uint256[3]"
},
{
"internalType": "uint32[5]",
"name": "secondsAgos",
"type": "uint32[5]"
}
],
"internalType": "struct UniV3OracleImpl.UniV3ConstructorParams",
"name": "uniV3Params",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint8",
"name": "hops",
"type": "uint8"
},
{
"components": [
{
"internalType": "contract IChainlinkAggregatorV3",
"name": "feed",
"type": "address"
},
{
"internalType": "bool",
"name": "invertRate",
"type": "bool"
},
{
"internalType": "uint256",
"name": "token0Decimals",
"type": "uint256"
}
],
"internalType": "struct ChainlinkStructs.ChainlinkFeedData",
"name": "feed1",
"type": "tuple"
},
{
"components": [
{
"internalType": "contract IChainlinkAggregatorV3",
"name": "feed",
"type": "address"
},
{
"internalType": "bool",
"name": "invertRate",
"type": "bool"
},
{
"internalType": "uint256",
"name": "token0Decimals",
"type": "uint256"
}
],
"internalType": "struct ChainlinkStructs.ChainlinkFeedData",
"name": "feed2",
"type": "tuple"
},
{
"components": [
{
"internalType": "contract IChainlinkAggregatorV3",
"name": "feed",
"type": "address"
},
{
"internalType": "bool",
"name": "invertRate",
"type": "bool"
},
{
"internalType": "uint256",
"name": "token0Decimals",
"type": "uint256"
}
],
"internalType": "struct ChainlinkStructs.ChainlinkFeedData",
"name": "feed3",
"type": "tuple"
}
],
"internalType": "struct ChainlinkStructs.ChainlinkConstructorParams",
"name": "chainlinkParams",
"type": "tuple"
},
{
"components": [
{
"internalType": "contract IRedstoneOracle",
"name": "oracle",
"type": "address"
},
{
"internalType": "bool",
"name": "invertRate",
"type": "bool"
},
{
"internalType": "uint256",
"name": "token0Decimals",
"type": "uint256"
}
],
"internalType": "struct RedstoneStructs.RedstoneOracleData",
"name": "redstoneOracle",
"type": "tuple"
},
{
"internalType": "uint8",
"name": "rateSource",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "fallbackMainSource",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "rateCheckMaxDeltaPercent",
"type": "uint256"
}
],
"internalType": "struct UniV3CheckCLRSOracle.UniV3CheckCLRSConstructorParams",
"name": "params_",
"type": "tuple"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "errorId_",
"type": "uint256"
}
],
"name": "FluidOracleError",
"type": "error"
},
{
"inputs": [],
"name": "chainlinkOracleData",
"outputs": [
{
"internalType": "uint256",
"name": "chainlinkExchangeRate_",
"type": "uint256"
},
{
"internalType": "contract IChainlinkAggregatorV3",
"name": "chainlinkFeed1_",
"type": "address"
},
{
"internalType": "bool",
"name": "chainlinkInvertRate1_",
"type": "bool"
},
{
"internalType": "uint256",
"name": "chainlinkExchangeRate1_",
"type": "uint256"
},
{
"internalType": "contract IChainlinkAggregatorV3",
"name": "chainlinkFeed2_",
"type": "address"
},
{
"internalType": "bool",
"name": "chainlinkInvertRate2_",
"type": "bool"
},
{
"internalType": "uint256",
"name": "chainlinkExchangeRate2_",
"type": "uint256"
},
{
"internalType": "contract IChainlinkAggregatorV3",
"name": "chainlinkFeed3_",
"type": "address"
},
{
"internalType": "bool",
"name": "chainlinkInvertRate3_",
"type": "bool"
},
{
"internalType": "uint256",
"name": "chainlinkExchangeRate3_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getExchangeRate",
"outputs": [
{
"internalType": "uint256",
"name": "exchangeRate_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getExchangeRateLiquidate",
"outputs": [
{
"internalType": "uint256",
"name": "exchangeRate_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getExchangeRateOperate",
"outputs": [
{
"internalType": "uint256",
"name": "exchangeRate_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "infoName",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "redstoneOracleData",
"outputs": [
{
"internalType": "uint256",
"name": "redstoneExchangeRate_",
"type": "uint256"
},
{
"internalType": "contract IRedstoneOracle",
"name": "redstoneOracle_",
"type": "address"
},
{
"internalType": "bool",
"name": "redstoneInvertRate_",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "uniV3CheckOracleData",
"outputs": [
{
"internalType": "uint256",
"name": "rateCheckMaxDelta_",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateSource_",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "fallbackMainSource_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "uniV3OracleData",
"outputs": [
{
"internalType": "contract IUniswapV3Pool",
"name": "uniV3Pool_",
"type": "address"
},
{
"internalType": "bool",
"name": "uniV3InvertRate_",
"type": "bool"
},
{
"internalType": "uint32[]",
"name": "uniV3secondsAgos_",
"type": "uint32[]"
},
{
"internalType": "uint256[]",
"name": "uniV3TwapDeltas_",
"type": "uint256[]"
},
{
"internalType": "uint256",
"name": "uniV3exchangeRateUnsafe_",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "uniV3exchangeRate_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"transactionHash": "0x5410fbfbbc62c202a2e28e2459b14bfc6020f064fa76fa6e4ec3176aa55fdb4c",
"receipt": {
"to": "0x4e59b44847b379578588920cA78FbF26c0B4956C",
"from": "0x0Ed35B1609Ec45c7079E80d11149a52717e4859A",
"contractAddress": null,
"transactionIndex": 6,
"gasUsed": "4504259",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"blockHash": "0x505934f7e9ff3f9fc22df2f55a8c7d08f4b56edd4d3eb5d7008e4467cf1905bf",
"transactionHash": "0x5410fbfbbc62c202a2e28e2459b14bfc6020f064fa76fa6e4ec3176aa55fdb4c",
"logs": [],
"blockNumber": 228976759,
"cumulativeGasUsed": "5489764",
"status": 1,
"byzantium": true
},
"args": [
"USDC for 1 ETH",
{
"chainlinkParams": {
"hops": 2,
"feed1": {
"feed": "0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612",
"invertRate": false,
"token0Decimals": 18
},
"feed2": {
"feed": "0x50834F3163758fcC1Df9973b6e91f0F0F0434aD3",
"invertRate": true,
"token0Decimals": 6
},
"feed3": {
"feed": "0x0000000000000000000000000000000000000000",
"invertRate": false,
"token0Decimals": 0
}
},
"uniV3Params": {
"pool": "0xC6962004f452bE9203591991D15f6b388e09E8D0",
"secondsAgos": [
240,
60,
15,
1,
0
],
"tWAPMaxDeltaPercents": [
200,
50,
20
],
"invertRate": false
},
"redstoneOracle": {
"oracle": "0x0000000000000000000000000000000000000000",
"invertRate": false,
"token0Decimals": 0
},
"rateSource": 2,
"fallbackMainSource": 1,
"rateCheckMaxDeltaPercent": 300
}
],
"numDeployments": 1,
"solcInputHash": "34abf56871e2a889151a39ee29c0ef0f",
"metadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"infoName_\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"contract IUniswapV3Pool\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"invertRate\",\"type\":\"bool\"},{\"internalType\":\"uint256[3]\",\"name\":\"tWAPMaxDeltaPercents\",\"type\":\"uint256[3]\"},{\"internalType\":\"uint32[5]\",\"name\":\"secondsAgos\",\"type\":\"uint32[5]\"}],\"internalType\":\"struct UniV3OracleImpl.UniV3ConstructorParams\",\"name\":\"uniV3Params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"hops\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"contract IChainlinkAggregatorV3\",\"name\":\"feed\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"invertRate\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"token0Decimals\",\"type\":\"uint256\"}],\"internalType\":\"struct ChainlinkStructs.ChainlinkFeedData\",\"name\":\"feed1\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IChainlinkAggregatorV3\",\"name\":\"feed\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"invertRate\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"token0Decimals\",\"type\":\"uint256\"}],\"internalType\":\"struct ChainlinkStructs.ChainlinkFeedData\",\"name\":\"feed2\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IChainlinkAggregatorV3\",\"name\":\"feed\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"invertRate\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"token0Decimals\",\"type\":\"uint256\"}],\"internalType\":\"struct ChainlinkStructs.ChainlinkFeedData\",\"name\":\"feed3\",\"type\":\"tuple\"}],\"internalType\":\"struct ChainlinkStructs.ChainlinkConstructorParams\",\"name\":\"chainlinkParams\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"contract IRedstoneOracle\",\"name\":\"oracle\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"invertRate\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"token0Decimals\",\"type\":\"uint256\"}],\"internalType\":\"struct RedstoneStructs.RedstoneOracleData\",\"name\":\"redstoneOracle\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"rateSource\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fallbackMainSource\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"rateCheckMaxDeltaPercent\",\"type\":\"uint256\"}],\"internalType\":\"struct UniV3CheckCLRSOracle.UniV3CheckCLRSConstructorParams\",\"name\":\"params_\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"errorId_\",\"type\":\"uint256\"}],\"name\":\"FluidOracleError\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"chainlinkOracleData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainlinkExchangeRate_\",\"type\":\"uint256\"},{\"internalType\":\"contract IChainlinkAggregatorV3\",\"name\":\"chainlinkFeed1_\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"chainlinkInvertRate1_\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"chainlinkExchangeRate1_\",\"type\":\"uint256\"},{\"internalType\":\"contract IChainlinkAggregatorV3\",\"name\":\"chainlinkFeed2_\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"chainlinkInvertRate2_\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"chainlinkExchangeRate2_\",\"type\":\"uint256\"},{\"internalType\":\"contract IChainlinkAggregatorV3\",\"name\":\"chainlinkFeed3_\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"chainlinkInvertRate3_\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"chainlinkExchangeRate3_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExchangeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"exchangeRate_\",\"type\":\"uint256\"}],\"stateMutability\":\"
"bytecode": "0x61052060405261dead610320523480156200001957600080fd5b5060405162003861380380620038618339810160408190526200003c9162000aea565b608081015160208201516040830151805182906001600160a01b03161562000065578162000091565b6040518060600160405280610320516001600160a01b0316815260200160001515815260200160018152505b856000015187602081511180620000a757508051155b15620000cf5760405163c82fc46560e01b815261ea6a60048201526024015b60405180910390fd5b6020015160805280516001600160a01b0316620001045760405163c82fc46560e01b815261f2316004820152602401620000c6565b60608101516020810151905163ffffffff91821691161115806200014457506060810151604081015163ffffffff16906001602002015163ffffffff1611155b806200016c57506060818101519081015163ffffffff16906002602002015163ffffffff1611155b806200019457506060810151608081015163ffffffff16906003602002015163ffffffff1611155b15620001b85760405163c82fc46560e01b815261f2326004820152602401620000c6565b604081015151612710111580620001d9575060408101518051602090910151115b80620001f057506040818101516020810151910151115b15620002145760405163c82fc46560e01b815261f2336004820152602401620000c6565b606081810180515163ffffffff90811661014052815160209081015182166101605282516040015182166101805282519093015181166101a052815160800151166101c052519081015190516200026c919062000bcb565b63ffffffff166101e0526060810151604081015160209091015162000292919062000bcb565b63ffffffff166102005260608181015190810151604090910151620002b8919062000bcb565b63ffffffff16610220526060818101516080810151910151620002dc919062000bcb565b63ffffffff1661024052604081810180515160e0528051602090810151610100529051909101516101205281516001600160a01b031660a052810151151560c0526200032b601b600a62000cf1565b610260526200033d601b600262000d06565b6200034a90600a62000cf1565b610280525080516001600160a01b031615806200036957506040810151155b156200038d5760405163c82fc46560e01b815261fa016004820152602401620000c6565b80516001600160a01b039081166102a052602082015115156102c0526103205182518216911614620003de576040810151620003cb90601b62000d20565b620003d890600a62000cf1565b620003e1565b60015b6102e0526103205181516001600160a01b03908116911614620004235760408101516200041090601b62000d36565b6200041d90600a62000cf1565b62000426565b60015b61030052508051600160ff90911610806200044857506003816000015160ff16115b806200047157506020810151516001600160a01b03161580620004715750602081015160400151155b80620004ac57506001816000015160ff16118015620004ac57506040810151516001600160a01b03161580620004ac57506040808201510151155b80620004e857506002816000015160ff16118015620004e857506060810151516001600160a01b03161580620004e85750606081015160400151155b156200050c5760405163c82fc46560e01b815261ee496004820152602401620000c6565b60208082018051516001600160a01b039081166103405260408085018051518316610360526060860180515190931661038052835185015115156103a0525184015115156103c05290519092015115156103e0525101516200057090601b62000d20565b6200057d90600a62000cf1565b610400526020810151604001516200059790601b62000d36565b620005a490600a62000cf1565b610420528051600160ff90911611620005bf576001620005e1565b6040808201510151620005d490601b62000d20565b620005e190600a62000cf1565b610440528051600160ff90911611620005fc5760016200061e565b60408082015101516200061190601b62000d36565b6200061e90600a62000cf1565b610460528051600260ff90911611620006395760016200065c565b6060810151604001516200064f90601b62000d20565b6200065c90600a62000cf1565b610480528051600260ff90911611620006775760016200069a565b6060810151604001516200068d90601b62000d36565b6200069a90600a62000cf1565b6104a05250600160ff84161080620006b5575060038360ff16115b15620006d95760405163c82fc46560e01b815261fde96004820152602401620000c6565b505060ff9081166104c05260608201516001911610806200070157506003816060015160ff16115b806200071257506127108160a00151115b80620007385750806080015160ff166001148015620007385750806060015160ff166003145b156200075c5760405163c82fc46560e01b815261ea626004820152602401620000c6565b60a08101516104e0526060015160ff16610500525062000d4c565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715620007b257620007b262000777565b60405290565b604051608081016001600160401b0381118282101715620007b257620007b262000777565b60405160c081016001600160401b0381118282101715620007
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063a6ac91341161005b578063a6ac9134146101d7578063abd5f95d146101f1578063e6aa216c146101c1578063f3190c89146101c157600080fd5b80637557ca411461008d5780637cebd7c51461010557806388c35209146101875780638e7bfbc0146101c1575b600080fd5b610095610206565b604080519a8b5273ffffffffffffffffffffffffffffffffffffffff998a1660208c0152971515978a01979097526060890195909552928616608088015290151560a087015260c086015290921660e0840152901515610100830152610120820152610140015b60405180910390f35b604080517f0000000000000000000000000000000000000000000000000000000000000000815260ff7f0000000000000000000000000000000000000000000000000000000000000000811660208301527f000000000000000000000000000000000000000000000000000000000000000016918101919091526060016100fc565b61018f6104ef565b6040805193845273ffffffffffffffffffffffffffffffffffffffff90921660208401521515908201526060016100fc565b6101c96105c2565b6040519081526020016100fc565b6101df6105d1565b6040516100fc9695949392919061215f565b6101f96108ce565b6040516100fc9190612214565b60008060008060008060008060008061021d610a33565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006102eb7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610caf565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8216156103da576103d57f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610caf565b6103dd565b60005b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8216156104cc576104c77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610caf565b6104cf565b60005b995099509950995099509950995099509950995090919293949596979899565b60008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16146105745761056f610d70565b610577565b60005b937f000000000000000000000000000000000000000000000000000000000000000093507f000000000000000000000000000000000000000000000000000000000000000092509050565b60006105cc610ea4565b905090565b60008060608082806005604051908082528060200260200182016040528015610604578160200160208202803683370190505b5093507f00000000000000000000000000000000000000000000000000000000000000008460008151811061063b5761063b612294565b602002602001019063ffffffff16908163ffffffff16815250507f00000000000000000000000000000000000000000000000000000000000000008460018151811061068957610689612294565b602002602001019063ffffffff16908163ffffffff16815250507f0000000000000000000000000000000000000000000000000000000000000000846002815181106106d7576106d7612294565b602002602001019063ffffffff16908163ffffffff16815250507f00000000000000000000000000000000000000000000000000000000000000008460038151811061072557610725612294565b602002602001019063ffffffff16908163ffffffff16815250507f00000000000000000000000000000000000000000000000000000000000000008460048151811061077357610773612294565b63ffffffff92909216602092830291909101820152604080516003808252608082019092529182016060803683370190505092507f0000000000000000000000000000000000000000000000000000000000000000836000815181106107db576107db612294565b6020026020010181815250507f00000000000000000000
"devdoc": {
"details": "The process for getting the aggregate oracle price is: 1. Fetch the UniV3 TWAPS, the latest interval is used as the current price 2. Verify this price is within an acceptable DELTA from the Uniswap TWAPS e.g.: a. 240 to 60s b. 60 to 15s c. 15 to 1s (last block) d. 1 to 0s (current) 3. (unless UniV3 only mode): Verify this price is within an acceptable DELTA from the Chainlink / Redstone Oracle 4. If it passes all checks, return the price. Otherwise use fallbacks, usually to Chainlink. In extreme edge-cases revert.For UniV3 with check mode, if fetching the check price fails, the UniV3 rate is used directly.",
"kind": "dev",
"methods": {
"getExchangeRate()": {
"details": "Deprecated. Use `getExchangeRateOperate()` and `getExchangeRateLiquidate()` instead. Only implemented for backwards compatibility."
}
},
"stateVariables": {
"_RATE_CHECK_MAX_DELTA_PERCENT": {
"details": "Rate check oracle delta percent in 1e2 percent. If current uniswap price is out of this delta, current price fetching reverts."
},
"_RATE_SOURCE": {
"details": "which oracle to use as final rate source: - 1 = UniV3 ONLY (no check), - 2 = UniV3 with Chainlink / Redstone check - 3 = Chainlink / Redstone with UniV3 used as check."
}
},
"title": "UniswapV3 checked against Chainlink / Redstone Oracle. Either one reported as exchange rate.",
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {
"chainlinkOracleData()": {
"notice": "returns all Chainlink oracle related data as utility for easy off-chain use / block explorer in a single view method"
},
"getExchangeRateLiquidate()": {
"notice": "Get the `exchangeRate_` between the underlying asset and the peg asset in 1e27 for liquidations"
},
"getExchangeRateOperate()": {
"notice": "Get the `exchangeRate_` between the underlying asset and the peg asset in 1e27 for operates"
},
"infoName()": {
"notice": "helper string to easily identify the oracle. E.g. token symbols"
},
"redstoneOracleData()": {
"notice": "returns all Redstone oracle related data as utility for easy off-chain use / block explorer in a single view method"
},
"uniV3CheckOracleData()": {
"notice": "returns all oracle related data as utility for easy off-chain / block explorer use in a single view method"
},
"uniV3OracleData()": {
"notice": "returns all UniV3 oracle related data as utility for easy off-chain use / block explorer in a single view method"
}
},
"notice": "Gets the exchange rate between the underlying asset and the peg asset by using: the price from a UniV3 pool (compared against 3 TWAPs) and (optionally) comparing it against a Chainlink or Redstone price (one of Chainlink or Redstone being the main source and the other one the fallback source). Alternatively it can also use Chainlink / Redstone as main price and use UniV3 as check price.",
"version": 1
},
"storageLayout": {
"storage": [],
"types": null
}
}