{
  "_format": "hh-sol-artifact-1",
  "contractName": "PriceFeed",
  "sourceName": "contracts/PriceFeed.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_lastGoodPrice",
          "type": "uint256"
        }
      ],
      "name": "LastGoodPriceUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "index",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "priceFeedAddress",
          "type": "address"
        }
      ],
      "name": "PriceFeedBroken",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "index",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newPriceFeedAddress",
          "type": "address"
        }
      ],
      "name": "PriceFeedUpdated",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "NAME",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "fetchPrice",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lastGoodPrice",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "_index",
          "type": "uint8"
        },
        {
          "internalType": "address",
          "name": "_newPriceFeed",
          "type": "address"
        }
      ],
      "name": "setAddress",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_mainPriceFeed",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_backupPriceFeed",
          "type": "address"
        }
      ],
      "name": "setAddresses",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "setOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b610110565b6001600160a01b03811661006d5760405162461bcd60e51b81526004018080602001828103825260228152602001806109936022913960400191505060405180910390fd5b6001600160a01b0381166100886001600160e01b036100e616565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b8152905190819003601101902055565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b6108748061011f6000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c80630490be83146100725780630589c4e51461008c5780630fdb11cf146100bb57806313af4035146100c3578063893d20e8146100eb57806390107afe1461010f578063a3f4df7e1461013d575b600080fd5b61007a6101ba565b60408051918252519081900360200190f35b61007a600480360360408110156100a257600080fd5b50803560ff1690602001356001600160a01b03166101c0565b61007a6103b9565b6100e9600480360360208110156100d957600080fd5b50356001600160a01b03166104d9565b005b6100f361054c565b604080516001600160a01b039092168252519081900360200190f35b6100e96004803603604081101561012557600080fd5b506001600160a01b0381358116916020013516610576565b610145610606565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017f578181015183820152602001610167565b50505050905090810190601f1680156101ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60025481565b60006101ca61054c565b6001600160a01b0316336001600160a01b031614610229576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60028360ff161061026b5760405162461bcd60e51b81526004018080602001828103825260298152602001806107cf6029913960400191505060405180910390fd5b6102748261062b565b8160008460ff166002811061028557fe5b0180546001600160a01b0319166001600160a01b03929092169190911790556000808060ff8616600281106102b657fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b1580156102f757600080fd5b505afa15801561030b573d6000803e3d6000fd5b505050506040513d604081101561032157600080fd5b50805160209091015190925090508061036b5760405162461bcd60e51b815260040180806020018281038252602581526020018061081a6025913960400191505060405180910390fd5b6040805160ff871681526001600160a01b038616602082015281517f97f7578becfa7a6013824d8ab1174e8c0522d468cd75e7a7e7fc4bde27338442929181900390910190a1509392505050565b6000805b60028160ff1610156104d05760008060008360ff16600281106103dc57fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b15801561041d57600080fd5b505afa158015610431573d6000803e3d6000fd5b505050506040513d604081101561044757600080fd5b5080516020909101519092509050801561046e57610464826106de565b5091506104d69050565b7f19f3630adb38b0aca2b2ad2b9db00888aef6e2b79bbf683a6c4992500998ea708360008560ff16600281106104a057fe5b01546040805160ff90931683526001600160a01b0390911660208301528051918290030190a150506001016103bd565b50506002545b90565b6104e161054c565b6001600160a01b0316336001600160a01b031614610540576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61054981610719565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61057e61054c565b6001600160a01b0316336001600160a01b0316146105dd576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60006105ea6000846101c0565b90506105f76001836101c0565b50610601816106de565b505050565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b6001600160a01b038116610686576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106da576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60028190556040805182815290517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a150565b6001600160a01b03811661075e5760405162461bcd60e51b81526004018080602001828103825260228152602001806107f86022913960400191505060405180910390fd5b806001600160a01b031661077061054c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f7574206f6620626f756e6473207768656e2073657474696e672074686520707269636520666565644f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735072696365466565643a2050726963652066656564206d75737420626520776f726b696e67a2646970667358221220d75a0e789852c7f8e3e44c3497dbdf447a2e3743166b9f9b0216e249934429d564736f6c634300060b00334f776e61626c653a3a7365744f776e65723a20696e76616c69642061646472657373",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061006d5760003560e01c80630490be83146100725780630589c4e51461008c5780630fdb11cf146100bb57806313af4035146100c3578063893d20e8146100eb57806390107afe1461010f578063a3f4df7e1461013d575b600080fd5b61007a6101ba565b60408051918252519081900360200190f35b61007a600480360360408110156100a257600080fd5b50803560ff1690602001356001600160a01b03166101c0565b61007a6103b9565b6100e9600480360360208110156100d957600080fd5b50356001600160a01b03166104d9565b005b6100f361054c565b604080516001600160a01b039092168252519081900360200190f35b6100e96004803603604081101561012557600080fd5b506001600160a01b0381358116916020013516610576565b610145610606565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017f578181015183820152602001610167565b50505050905090810190601f1680156101ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60025481565b60006101ca61054c565b6001600160a01b0316336001600160a01b031614610229576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60028360ff161061026b5760405162461bcd60e51b81526004018080602001828103825260298152602001806107cf6029913960400191505060405180910390fd5b6102748261062b565b8160008460ff166002811061028557fe5b0180546001600160a01b0319166001600160a01b03929092169190911790556000808060ff8616600281106102b657fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b1580156102f757600080fd5b505afa15801561030b573d6000803e3d6000fd5b505050506040513d604081101561032157600080fd5b50805160209091015190925090508061036b5760405162461bcd60e51b815260040180806020018281038252602581526020018061081a6025913960400191505060405180910390fd5b6040805160ff871681526001600160a01b038616602082015281517f97f7578becfa7a6013824d8ab1174e8c0522d468cd75e7a7e7fc4bde27338442929181900390910190a1509392505050565b6000805b60028160ff1610156104d05760008060008360ff16600281106103dc57fe5b0154604080516350d25bcd60e01b815281516001600160a01b03909316926350d25bcd92600480840193919291829003018186803b15801561041d57600080fd5b505afa158015610431573d6000803e3d6000fd5b505050506040513d604081101561044757600080fd5b5080516020909101519092509050801561046e57610464826106de565b5091506104d69050565b7f19f3630adb38b0aca2b2ad2b9db00888aef6e2b79bbf683a6c4992500998ea708360008560ff16600281106104a057fe5b01546040805160ff90931683526001600160a01b0390911660208301528051918290030190a150506001016103bd565b50506002545b90565b6104e161054c565b6001600160a01b0316336001600160a01b031614610540576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b61054981610719565b50565b604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205490565b61057e61054c565b6001600160a01b0316336001600160a01b0316146105dd576040805162461bcd60e51b815260206004820152601760248201527613dddb98589b194e8e881858d8d95cdcc819195b9a5959604a1b604482015290519081900360640190fd5b60006105ea6000846101c0565b90506105f76001836101c0565b50610601816106de565b505050565b60405180604001604052806009815260200168141c9a58d95199595960ba1b81525081565b6001600160a01b038116610686576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b806106da576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60028190556040805182815290517f4d29de21de555af78a62fc82dd4bc05e9ae5b0660a37f04729527e0f22780cd39181900360200190a150565b6001600160a01b03811661075e5760405162461bcd60e51b81526004018080602001828103825260228152602001806107f86022913960400191505060405180910390fd5b806001600160a01b031661077061054c565b6001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3604080517035b2bc9737bbb730b136329737bbb732b960791b815290519081900360110190205556fe4f7574206f6620626f756e6473207768656e2073657474696e672074686520707269636520666565644f776e61626c653a3a7365744f776e65723a20696e76616c696420616464726573735072696365466565643a2050726963652066656564206d75737420626520776f726b696e67a2646970667358221220d75a0e789852c7f8e3e44c3497dbdf447a2e3743166b9f9b0216e249934429d564736f6c634300060b0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
