{
  "_format": "hh-sol-artifact-1",
  "contractName": "PriceOracleProxyUSD",
  "sourceName": "contracts/PriceOracle/PriceOracleProxyUSD.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "admin_",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "jTokenAddress",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "source",
          "type": "address"
        }
      ],
      "name": "AggregatorUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "admin",
          "type": "address"
        }
      ],
      "name": "SetAdmin",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "guardian",
          "type": "address"
        }
      ],
      "name": "SetGuardian",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "_admin",
          "type": "address"
        }
      ],
      "name": "_setAdmin",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address[]",
          "name": "jTokenAddresses",
          "type": "address[]"
        },
        {
          "internalType": "address[]",
          "name": "sources",
          "type": "address[]"
        }
      ],
      "name": "_setAggregators",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "_guardian",
          "type": "address"
        }
      ],
      "name": "_setGuardian",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract JToken",
          "name": "jToken",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "underlyingPriceMantissa",
          "type": "uint256"
        }
      ],
      "name": "_setUnderlyingPrice",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "admin",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "aggregators",
      "outputs": [
        {
          "internalType": "contract AggregatorV3Interface",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "contract JToken",
          "name": "jToken",
          "type": "address"
        }
      ],
      "name": "getUnderlyingPrice",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "guardian",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "jXJoeAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "joeAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "asset",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "price",
          "type": "uint256"
        }
      ],
      "name": "setDirectPrice",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "xJoeAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052600380546001600160a01b0319908116736e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd179091556004805482167357319d41f71e81f3c65f2a47ca4e001ebafd4f331790556005805490911673c146783a59807154f92084f9243eb139d58da69617905534801561007657600080fd5b506040516110173803806110178339818101604052602081101561009957600080fd5b5051600180546001600160a01b0319166001600160a01b03909216919091179055610f4e806100c96000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80635e7f71df116100715780635e7f71df14610221578063ad2819291461024d578063cb15d8e214610255578063e38e8c0f1461025d578063f851a44014610283578063fc57d4df1461028b576100b4565b806309a8acb0146100b9578063112cdab9146100e75780631bec16791461012957806330342ddc146101eb5780633a74a767146101f3578063452a932014610219575b600080fd5b6100e5600480360360408110156100cf57600080fd5b506001600160a01b0381351690602001356102c3565b005b61010d600480360360208110156100fd57600080fd5b50356001600160a01b0316610328565b604080516001600160a01b039092168252519081900360200190f35b6100e56004803603604081101561013f57600080fd5b81019060208101813564010000000081111561015a57600080fd5b82018360208201111561016c57600080fd5b8035906020019184602083028401116401000000008311171561018e57600080fd5b9193909290916020810190356401000000008111156101ac57600080fd5b8201836020820111156101be57600080fd5b803590602001918460208302840111640100000000831117156101e057600080fd5b509092509050610343565b61010d61056d565b6100e56004803603602081101561020957600080fd5b50356001600160a01b031661057c565b61010d610635565b6100e56004803603604081101561023757600080fd5b506001600160a01b038135169060200135610644565b61010d610713565b61010d610722565b6100e56004803603602081101561027357600080fd5b50356001600160a01b0316610731565b61010d6107d4565b6102b1600480360360208110156102a157600080fd5b50356001600160a01b03166107e3565b60408051918252519081900360200190f35b6001546001600160a01b0316331461030c5760405162461bcd60e51b8152600401808060200182810382526027815260200180610e786027913960400191505060405180910390fd5b6001600160a01b03909116600090815260208190526040902055565b6006602052600090815260409020546001600160a01b031681565b6001546001600160a01b031633148061036657506002546001600160a01b031633145b6103a15760405162461bcd60e51b8152600401808060200182810382526032815260200180610e9f6032913960400191505060405180910390fd5b8281146103e7576040805162461bcd60e51b815260206004820152600f60248201526e6d69736d617463686564206461746160881b604482015290519081900360640190fd5b60005b8381101561056657600083838381811061040057fe5b905060200201356001600160a01b03166001600160a01b031614610467576001546001600160a01b031633146104675760405162461bcd60e51b8152600401808060200182810382526026815260200180610ef46026913960400191505060405180910390fd5b82828281811061047357fe5b905060200201356001600160a01b03166006600087878581811061049357fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055507f89baabef7dfd0683c0ac16fd2a8431c51b49fbe654c3f7b5ef19763e2ccd88f285858381811061051457fe5b905060200201356001600160a01b031684848481811061053057fe5b604080516001600160a01b03958616815260209283029490940135909416908301525081519081900390910190a16001016103ea565b5050505050565b6004546001600160a01b031681565b6001546001600160a01b031633146105db576040805162461bcd60e51b815260206004820181905260248201527f6f6e6c79207468652061646d696e206d617920736574206e65772061646d696e604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a1916020908290030190a150565b6002546001600160a01b031681565b6001546001600160a01b0316331461068d5760405162461bcd60e51b815260040180806020018281038252602b815260200180610e4d602b913960400191505060405180910390fd5b6000826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c857600080fd5b505afa1580156106dc573d6000803e3d6000fd5b505050506040513d60208110156106f257600080fd5b50516001600160a01b03166000908152602081905260409020919091555050565b6005546001600160a01b031681565b6003546001600160a01b031681565b6001546001600160a01b0316331461077a5760405162461bcd60e51b8152600401808060200182810382526023815260200180610ed16023913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f31845eceb9cde510c7e8b37f76301c688feb70bc9653aa4c28a3734999840fd8916020908290030190a150565b6001546001600160a01b031681565b6001600160a01b038082166000908152600660205260408120549091839116801561095b57600061081382610a2b565b90506000836001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561085057600080fd5b505afa158015610864573d6000803e3d6000fd5b505050506040513d602081101561087a57600080fd5b50516040805163313ce56760e01b815290516001600160a01b039092169163313ce56791600480820192602092909190829003018186803b1580156108be57600080fd5b505afa1580156108d2573d6000803e3d6000fd5b505050506040513d60208110156108e857600080fd5b505160055460ff90911691506001600160a01b03858116911614156109285761092582604051806020016040528061091e610b5b565b9052610c73565b91505b6012811161094b576109408282601203600a0a610c9b565b945050505050610a26565b6109408260128303600a0a610cdd565b6000826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561099657600080fd5b505afa1580156109aa573d6000803e3d6000fd5b505050506040513d60208110156109c057600080fd5b50516001600160a01b03811660009081526020819052604090205490915080610a20576040805162461bcd60e51b815260206004820152600d60248201526c696e76616c696420707269636560981b604482015290519081900360640190fd5b93505050505b919050565b600080826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610a6757600080fd5b505afa158015610a7b573d6000803e3d6000fd5b505050506040513d60a0811015610a9157600080fd5b5060200151905060008113610add576040805162461bcd60e51b815260206004820152600d60248201526c696e76616c696420707269636560981b604482015290519081900360640190fd5b610b5481846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1a57600080fd5b505afa158015610b2e573d6000803e3d6000fd5b505050506040513d6020811015610b4457600080fd5b505160ff16601203600a0a610c9b565b9392505050565b60035460048054604080516370a0823160e01b81526001600160a01b03928316938101939093525160009384939216916370a08231916024808301926020929190829003018186803b158015610bb057600080fd5b505afa158015610bc4573d6000803e3d6000fd5b505050506040513d6020811015610bda57600080fd5b505160048054604080516318160ddd60e01b815290519394506000936001600160a01b03909216926318160ddd928282019260209290829003018186803b158015610c2457600080fd5b505afa158015610c38573d6000803e3d6000fd5b505050506040513d6020811015610c4e57600080fd5b50516040805160208101909152818152909150610c6c908390610d10565b9250505090565b6000670de0b6b3a7640000610c8c848460000151610c9b565b81610c9357fe5b049392505050565b6000610b5483836040518060400160405280601781526020017f6d756c7469706c69636174696f6e206f766572666c6f77000000000000000000815250610d2e565b6000610b5483836040518060400160405280600e81526020016d646976696465206279207a65726f60901b815250610dea565b6000610b54610d2784670de0b6b3a7640000610c9b565b8351610cdd565b6000831580610d3b575082155b15610d4857506000610b54565b83830283858281610d5557fe5b04148390610de15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610da6578181015183820152602001610d8e565b50505050905090810190601f168015610dd35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50949350505050565b60008183610e395760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610da6578181015183820152602001610d8e565b50828481610e4357fe5b0494935050505056fe6f6e6c79207468652061646d696e206d6179207365742074686520756e6465726c79696e672070726963656f6e6c79207468652061646d696e206d61792073657420746865206469726563742070726963656f6e6c79207468652061646d696e206f7220677561726469616e206d617920736574207468652061676772656761746f72736f6e6c79207468652061646d696e206d617920736574206e657720677561726469616e677561726469616e206d6179206f6e6c7920636c656172207468652061676772656761746f72a265627a7a7231582036c785f95a27b3da919757e48d3d61049a53c059121e9c415528a4c7b0ddad5a64736f6c63430005100032",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80635e7f71df116100715780635e7f71df14610221578063ad2819291461024d578063cb15d8e214610255578063e38e8c0f1461025d578063f851a44014610283578063fc57d4df1461028b576100b4565b806309a8acb0146100b9578063112cdab9146100e75780631bec16791461012957806330342ddc146101eb5780633a74a767146101f3578063452a932014610219575b600080fd5b6100e5600480360360408110156100cf57600080fd5b506001600160a01b0381351690602001356102c3565b005b61010d600480360360208110156100fd57600080fd5b50356001600160a01b0316610328565b604080516001600160a01b039092168252519081900360200190f35b6100e56004803603604081101561013f57600080fd5b81019060208101813564010000000081111561015a57600080fd5b82018360208201111561016c57600080fd5b8035906020019184602083028401116401000000008311171561018e57600080fd5b9193909290916020810190356401000000008111156101ac57600080fd5b8201836020820111156101be57600080fd5b803590602001918460208302840111640100000000831117156101e057600080fd5b509092509050610343565b61010d61056d565b6100e56004803603602081101561020957600080fd5b50356001600160a01b031661057c565b61010d610635565b6100e56004803603604081101561023757600080fd5b506001600160a01b038135169060200135610644565b61010d610713565b61010d610722565b6100e56004803603602081101561027357600080fd5b50356001600160a01b0316610731565b61010d6107d4565b6102b1600480360360208110156102a157600080fd5b50356001600160a01b03166107e3565b60408051918252519081900360200190f35b6001546001600160a01b0316331461030c5760405162461bcd60e51b8152600401808060200182810382526027815260200180610e786027913960400191505060405180910390fd5b6001600160a01b03909116600090815260208190526040902055565b6006602052600090815260409020546001600160a01b031681565b6001546001600160a01b031633148061036657506002546001600160a01b031633145b6103a15760405162461bcd60e51b8152600401808060200182810382526032815260200180610e9f6032913960400191505060405180910390fd5b8281146103e7576040805162461bcd60e51b815260206004820152600f60248201526e6d69736d617463686564206461746160881b604482015290519081900360640190fd5b60005b8381101561056657600083838381811061040057fe5b905060200201356001600160a01b03166001600160a01b031614610467576001546001600160a01b031633146104675760405162461bcd60e51b8152600401808060200182810382526026815260200180610ef46026913960400191505060405180910390fd5b82828281811061047357fe5b905060200201356001600160a01b03166006600087878581811061049357fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055507f89baabef7dfd0683c0ac16fd2a8431c51b49fbe654c3f7b5ef19763e2ccd88f285858381811061051457fe5b905060200201356001600160a01b031684848481811061053057fe5b604080516001600160a01b03958616815260209283029490940135909416908301525081519081900390910190a16001016103ea565b5050505050565b6004546001600160a01b031681565b6001546001600160a01b031633146105db576040805162461bcd60e51b815260206004820181905260248201527f6f6e6c79207468652061646d696e206d617920736574206e65772061646d696e604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a1916020908290030190a150565b6002546001600160a01b031681565b6001546001600160a01b0316331461068d5760405162461bcd60e51b815260040180806020018281038252602b815260200180610e4d602b913960400191505060405180910390fd5b6000826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c857600080fd5b505afa1580156106dc573d6000803e3d6000fd5b505050506040513d60208110156106f257600080fd5b50516001600160a01b03166000908152602081905260409020919091555050565b6005546001600160a01b031681565b6003546001600160a01b031681565b6001546001600160a01b0316331461077a5760405162461bcd60e51b8152600401808060200182810382526023815260200180610ed16023913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f31845eceb9cde510c7e8b37f76301c688feb70bc9653aa4c28a3734999840fd8916020908290030190a150565b6001546001600160a01b031681565b6001600160a01b038082166000908152600660205260408120549091839116801561095b57600061081382610a2b565b90506000836001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561085057600080fd5b505afa158015610864573d6000803e3d6000fd5b505050506040513d602081101561087a57600080fd5b50516040805163313ce56760e01b815290516001600160a01b039092169163313ce56791600480820192602092909190829003018186803b1580156108be57600080fd5b505afa1580156108d2573d6000803e3d6000fd5b505050506040513d60208110156108e857600080fd5b505160055460ff90911691506001600160a01b03858116911614156109285761092582604051806020016040528061091e610b5b565b9052610c73565b91505b6012811161094b576109408282601203600a0a610c9b565b945050505050610a26565b6109408260128303600a0a610cdd565b6000826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561099657600080fd5b505afa1580156109aa573d6000803e3d6000fd5b505050506040513d60208110156109c057600080fd5b50516001600160a01b03811660009081526020819052604090205490915080610a20576040805162461bcd60e51b815260206004820152600d60248201526c696e76616c696420707269636560981b604482015290519081900360640190fd5b93505050505b919050565b600080826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610a6757600080fd5b505afa158015610a7b573d6000803e3d6000fd5b505050506040513d60a0811015610a9157600080fd5b5060200151905060008113610add576040805162461bcd60e51b815260206004820152600d60248201526c696e76616c696420707269636560981b604482015290519081900360640190fd5b610b5481846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1a57600080fd5b505afa158015610b2e573d6000803e3d6000fd5b505050506040513d6020811015610b4457600080fd5b505160ff16601203600a0a610c9b565b9392505050565b60035460048054604080516370a0823160e01b81526001600160a01b03928316938101939093525160009384939216916370a08231916024808301926020929190829003018186803b158015610bb057600080fd5b505afa158015610bc4573d6000803e3d6000fd5b505050506040513d6020811015610bda57600080fd5b505160048054604080516318160ddd60e01b815290519394506000936001600160a01b03909216926318160ddd928282019260209290829003018186803b158015610c2457600080fd5b505afa158015610c38573d6000803e3d6000fd5b505050506040513d6020811015610c4e57600080fd5b50516040805160208101909152818152909150610c6c908390610d10565b9250505090565b6000670de0b6b3a7640000610c8c848460000151610c9b565b81610c9357fe5b049392505050565b6000610b5483836040518060400160405280601781526020017f6d756c7469706c69636174696f6e206f766572666c6f77000000000000000000815250610d2e565b6000610b5483836040518060400160405280600e81526020016d646976696465206279207a65726f60901b815250610dea565b6000610b54610d2784670de0b6b3a7640000610c9b565b8351610cdd565b6000831580610d3b575082155b15610d4857506000610b54565b83830283858281610d5557fe5b04148390610de15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610da6578181015183820152602001610d8e565b50505050905090810190601f168015610dd35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50949350505050565b60008183610e395760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610da6578181015183820152602001610d8e565b50828481610e4357fe5b0494935050505056fe6f6e6c79207468652061646d696e206d6179207365742074686520756e6465726c79696e672070726963656f6e6c79207468652061646d696e206d61792073657420746865206469726563742070726963656f6e6c79207468652061646d696e206f7220677561726469616e206d617920736574207468652061676772656761746f72736f6e6c79207468652061646d696e206d617920736574206e657720677561726469616e677561726469616e206d6179206f6e6c7920636c656172207468652061676772656761746f72a265627a7a7231582036c785f95a27b3da919757e48d3d61049a53c059121e9c415528a4c7b0ddad5a64736f6c63430005100032",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
