{
  "_format": "hh-sol-artifact-1",
  "contractName": "CTokenOracle",
  "sourceName": "contracts/protocol/integration/oracles/CTokenOracle.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract ICErc20",
          "name": "_cToken",
          "type": "address"
        },
        {
          "internalType": "contract IOracle",
          "name": "_underlyingOracle",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_cTokenFullUnit",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_underlyingFullUnit",
          "type": "uint256"
        },
        {
          "internalType": "string",
          "name": "_dataDescription",
          "type": "string"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "cToken",
      "outputs": [
        {
          "internalType": "contract ICErc20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "cTokenFullUnit",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "dataDescription",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "read",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "underlyingFullUnit",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "underlyingOracle",
      "outputs": [
        {
          "internalType": "contract IOracle",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x61010060405234801561001157600080fd5b506040516107cc3803806107cc833981810160405260a081101561003457600080fd5b815160208301516040808501516060860151608087018051935195979496929591949193928201928464010000000082111561006f57600080fd5b90830190602082018581111561008457600080fd5b825164010000000081118282018810171561009e57600080fd5b82525081516020918201929091019080838360005b838110156100cb5781810151838201526020016100b3565b50505050905090810190601f1680156100f85780820380516001836020036101000a031916815260200191505b506040525050506001600160601b0319606086811b821660805260c085905260e084905285901b1660a0528051610136906000906020840190610141565b5050505050506101dc565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018257805160ff19168380011785556101af565b828001600101855582156101af579182015b828111156101af578251825591602001919060010190610194565b506101bb9291506101bf565b5090565b6101d991905b808211156101bb57600081556001016101c5565b90565b60805160601c60a05160601c60c05160e0516105a161022b6000398061027f52806103a55250806102a352806103c952508061013c5280610163525080610206528061038152506105a16000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806312c46e611461006757806357de26a41461008b57806358d65629146100a557806369e527da146101225780636cf641c61461012a578063aee50f5b14610132575b600080fd5b61006f61013a565b604080516001600160a01b039092168252519081900360200190f35b61009361015e565b60408051918252519081900360200190f35b6100ad6102f1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100e75781810151838201526020016100cf565b50505050905090810190601f1680156101145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61006f61037f565b6100936103a3565b6100936103c7565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166357de26a46040518163ffffffff1660e01b815260040160206040518083038186803b1580156101ba57600080fd5b505afa1580156101ce573d6000803e3d6000fd5b505050506040513d60208110156101e457600080fd5b50516040805163182df0f560e01b815290519192506000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163182df0f5916004808301926020929190829003018186803b15801561024c57600080fd5b505afa158015610260573d6000803e3d6000fd5b505050506040513d602081101561027657600080fd5b505190506102ea7f00000000000000000000000000000000000000000000000000000000000000006102de7f00000000000000000000000000000000000000000000000000000000000000006102d2868663ffffffff6103eb16565b9063ffffffff61041216565b9063ffffffff61046b16565b9250505090565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103775780601f1061034c57610100808354040283529160200191610377565b820191906000526020600020905b81548152906001019060200180831161035a57829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610409670de0b6b3a76400006102de858563ffffffff61041216565b90505b92915050565b6000826104215750600061040c565b8282028284828161042e57fe5b04146104095760405162461bcd60e51b815260040180806020018281038252602181526020018061054b6021913960400191505060405180910390fd5b600061040983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836105345760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104f95781810151838201526020016104e1565b50505050905090810190601f1680156105265780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161054057fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212207753e7f6841067b4c98b51951940fb3ba2bbf7da1a0707ae882cb4bdb3a7ef3f64736f6c634300060a0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806312c46e611461006757806357de26a41461008b57806358d65629146100a557806369e527da146101225780636cf641c61461012a578063aee50f5b14610132575b600080fd5b61006f61013a565b604080516001600160a01b039092168252519081900360200190f35b61009361015e565b60408051918252519081900360200190f35b6100ad6102f1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100e75781810151838201526020016100cf565b50505050905090810190601f1680156101145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61006f61037f565b6100936103a3565b6100936103c7565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166357de26a46040518163ffffffff1660e01b815260040160206040518083038186803b1580156101ba57600080fd5b505afa1580156101ce573d6000803e3d6000fd5b505050506040513d60208110156101e457600080fd5b50516040805163182df0f560e01b815290519192506000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163182df0f5916004808301926020929190829003018186803b15801561024c57600080fd5b505afa158015610260573d6000803e3d6000fd5b505050506040513d602081101561027657600080fd5b505190506102ea7f00000000000000000000000000000000000000000000000000000000000000006102de7f00000000000000000000000000000000000000000000000000000000000000006102d2868663ffffffff6103eb16565b9063ffffffff61041216565b9063ffffffff61046b16565b9250505090565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103775780601f1061034c57610100808354040283529160200191610377565b820191906000526020600020905b81548152906001019060200180831161035a57829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610409670de0b6b3a76400006102de858563ffffffff61041216565b90505b92915050565b6000826104215750600061040c565b8282028284828161042e57fe5b04146104095760405162461bcd60e51b815260040180806020018281038252602181526020018061054b6021913960400191505060405180910390fd5b600061040983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836105345760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104f95781810151838201526020016104e1565b50505050905090810190601f1680156105265780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161054057fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212207753e7f6841067b4c98b51951940fb3ba2bbf7da1a0707ae882cb4bdb3a7ef3f64736f6c634300060a0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
