{
  "_format": "hh-sol-artifact-1",
  "contractName": "StalenessFlaggingValidator",
  "sourceName": "contracts/v0.7/dev/StalenessFlaggingValidator.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "flagsAddress",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "aggregator",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "previous",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "current",
          "type": "uint256"
        }
      ],
      "name": "FlaggingThresholdUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previous",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "current",
          "type": "address"
        }
      ],
      "name": "FlagsAddressUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferRequested",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "acceptOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "aggregators",
          "type": "address[]"
        }
      ],
      "name": "check",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "checkForUpkeep",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "flags",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "performUpkeep",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "flagsAddress",
          "type": "address"
        }
      ],
      "name": "setFlagsAddress",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "aggregators",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "flaggingThresholds",
          "type": "uint256[]"
        }
      ],
      "name": "setThresholds",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "aggregator",
          "type": "address"
        }
      ],
      "name": "threshold",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "aggregators",
          "type": "address[]"
        }
      ],
      "name": "update",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506040516110ef3803806110ef8339818101604052602081101561003357600080fd5b5051600080546001600160a01b0319163317905561005081610056565b5061011e565b6000546001600160a01b031633146100b5576040805162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b6002546001600160a01b03908116908216811461011a57600280546001600160a01b0319166001600160a01b0384811691821790925560405190918316907f900aa01828592ab069e4d44e7a36c70ebd476e35f567c7db6a691e503b8029d890600090a35b5050565b610fc28061012d6000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c806379ba509711610081578063c86ec2bf1161005b578063c86ec2bf1461052f578063f198769514610574578063f2fde38b146105a7576100c9565b806379ba50971461047c578063870e5d51146104845780638da5cb5b14610527576100c9565b80634585e33b116100b25780634585e33b146102b2578063570fa5bc1461032457806364cc4aa51461044b576100c9565b806307ee59a6146100ce578063317f17dc146101bf575b600080fd5b61013e600480360360208110156100e457600080fd5b8101906020810181356401000000008111156100ff57600080fd5b82018360208201111561011157600080fd5b8035906020019184600183028401116401000000008311171561013357600080fd5b5090925090506105da565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561018357818101518382015260200161016b565b50505050905090810190601f1680156101b05780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b610262600480360360208110156101d557600080fd5b8101906020810181356401000000008111156101f057600080fd5b82018360208201111561020257600080fd5b8035906020019184602083028401116401000000008311171561022457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610668945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561029e578181015183820152602001610286565b505050509050019250505060405180910390f35b610322600480360360208110156102c857600080fd5b8101906020810181356401000000008111156102e357600080fd5b8201836020820111156102f557600080fd5b8035906020019184600183028401116401000000008311171561031757600080fd5b509092509050610744565b005b6103226004803603604081101561033a57600080fd5b81019060208101813564010000000081111561035557600080fd5b82018360208201111561036757600080fd5b8035906020019184602083028401116401000000008311171561038957600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156103d957600080fd5b8201836020820111156103eb57600080fd5b8035906020019184602083028401116401000000008311171561040d57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061075c945050505050565b610453610939565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610322610955565b6102626004803603602081101561049a57600080fd5b8101906020810181356401000000008111156104b557600080fd5b8201836020820111156104c757600080fd5b803590602001918460208302840111640100000000831117156104e957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610a57945050505050565b610453610b30565b6105626004803603602081101561054557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b4c565b60408051918252519081900360200190f35b6103226004803603602081101561058a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b74565b610322600480360360208110156105bd57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c95565b60006060806105f28585602081101561049a57600080fd5b9050600080825111905080826040516020018080602001828103825283818151815260200191508051906020019060200280838360005b83811015610641578181015183820152602001610629565b50505050905001925050506040516020818303038152906040529350935050509250929050565b60608061067483610a57565b6002546040517f760bc82d00000000000000000000000000000000000000000000000000000000815260206004820181815284516024840152845194955073ffffffffffffffffffffffffffffffffffffffff9093169363760bc82d93869390928392604490920191818601910280838360005b838110156107005781810151838201526020016106e8565b5050505090500192505050600060405180830381600087803b15801561072557600080fd5b505af1158015610739573d6000803e3d6000fd5b509295945050505050565b610757828260208110156101d557600080fd5b505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107e257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b805182511461085257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f446966666572656e742073697a65642061727261797300000000000000000000604482015290519081900360640190fd5b60005b825181101561075757600083828151811061086c57fe5b602002602001015190506000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008484815181106108c857fe5b6020026020010151905080821461092e5773ffffffffffffffffffffffffffffffffffffffff8316600081815260036020526040808220849055518392859290917fb619ed0e01a67a6f1d7ed53d389ba26e72d044fd2ca68d4c7d8a084d550f0aec9190a45b505050600101610855565b60025473ffffffffffffffffffffffffffffffffffffffff1690565b60015473ffffffffffffffffffffffffffffffffffffffff1633146109db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e657200000000000000000000604482015290519081900360640190fd5b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b606060004290506060835167ffffffffffffffff81118015610a7857600080fd5b50604051908082528060200260200182016040528015610aa2578160200160208202803683370190505b5090506000805b8551811015610b1b576000868281518110610ac057fe5b60200260200101519050610ad48186610e16565b15610b125780848481518110610ae657fe5b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526001909201915b50600101610aa9565b5080855114610b28578082525b509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff163314610bfa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b60025473ffffffffffffffffffffffffffffffffffffffff9081169082168114610c9157600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84811691821790925560405190918316907f900aa01828592ab069e4d44e7a36c70ebd476e35f567c7db6a691e503b8029d890600090a35b5050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610d1b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116331415610da057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015290519081900360640190fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040812054610e4857506000610f0f565b60008373ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610e9057600080fd5b505afa158015610ea4573d6000803e3d6000fd5b505050506040513d60a0811015610eba57600080fd5b506060015190506000610ecd8483610f15565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260036020526040902054909150811115610f0857600192505050610f0f565b6000925050505b92915050565b600082821115610f8657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fea2646970667358221220fafb689c768fd475c8efb311a878ada2bb7fa50ded65b21f3455bb1c5ae2662764736f6c63430007000033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c806379ba509711610081578063c86ec2bf1161005b578063c86ec2bf1461052f578063f198769514610574578063f2fde38b146105a7576100c9565b806379ba50971461047c578063870e5d51146104845780638da5cb5b14610527576100c9565b80634585e33b116100b25780634585e33b146102b2578063570fa5bc1461032457806364cc4aa51461044b576100c9565b806307ee59a6146100ce578063317f17dc146101bf575b600080fd5b61013e600480360360208110156100e457600080fd5b8101906020810181356401000000008111156100ff57600080fd5b82018360208201111561011157600080fd5b8035906020019184600183028401116401000000008311171561013357600080fd5b5090925090506105da565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561018357818101518382015260200161016b565b50505050905090810190601f1680156101b05780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b610262600480360360208110156101d557600080fd5b8101906020810181356401000000008111156101f057600080fd5b82018360208201111561020257600080fd5b8035906020019184602083028401116401000000008311171561022457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610668945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561029e578181015183820152602001610286565b505050509050019250505060405180910390f35b610322600480360360208110156102c857600080fd5b8101906020810181356401000000008111156102e357600080fd5b8201836020820111156102f557600080fd5b8035906020019184600183028401116401000000008311171561031757600080fd5b509092509050610744565b005b6103226004803603604081101561033a57600080fd5b81019060208101813564010000000081111561035557600080fd5b82018360208201111561036757600080fd5b8035906020019184602083028401116401000000008311171561038957600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156103d957600080fd5b8201836020820111156103eb57600080fd5b8035906020019184602083028401116401000000008311171561040d57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061075c945050505050565b610453610939565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610322610955565b6102626004803603602081101561049a57600080fd5b8101906020810181356401000000008111156104b557600080fd5b8201836020820111156104c757600080fd5b803590602001918460208302840111640100000000831117156104e957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610a57945050505050565b610453610b30565b6105626004803603602081101561054557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b4c565b60408051918252519081900360200190f35b6103226004803603602081101561058a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b74565b610322600480360360208110156105bd57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c95565b60006060806105f28585602081101561049a57600080fd5b9050600080825111905080826040516020018080602001828103825283818151815260200191508051906020019060200280838360005b83811015610641578181015183820152602001610629565b50505050905001925050506040516020818303038152906040529350935050509250929050565b60608061067483610a57565b6002546040517f760bc82d00000000000000000000000000000000000000000000000000000000815260206004820181815284516024840152845194955073ffffffffffffffffffffffffffffffffffffffff9093169363760bc82d93869390928392604490920191818601910280838360005b838110156107005781810151838201526020016106e8565b5050505090500192505050600060405180830381600087803b15801561072557600080fd5b505af1158015610739573d6000803e3d6000fd5b509295945050505050565b610757828260208110156101d557600080fd5b505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107e257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b805182511461085257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f446966666572656e742073697a65642061727261797300000000000000000000604482015290519081900360640190fd5b60005b825181101561075757600083828151811061086c57fe5b602002602001015190506000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008484815181106108c857fe5b6020026020010151905080821461092e5773ffffffffffffffffffffffffffffffffffffffff8316600081815260036020526040808220849055518392859290917fb619ed0e01a67a6f1d7ed53d389ba26e72d044fd2ca68d4c7d8a084d550f0aec9190a45b505050600101610855565b60025473ffffffffffffffffffffffffffffffffffffffff1690565b60015473ffffffffffffffffffffffffffffffffffffffff1633146109db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e657200000000000000000000604482015290519081900360640190fd5b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b606060004290506060835167ffffffffffffffff81118015610a7857600080fd5b50604051908082528060200260200182016040528015610aa2578160200160208202803683370190505b5090506000805b8551811015610b1b576000868281518110610ac057fe5b60200260200101519050610ad48186610e16565b15610b125780848481518110610ae657fe5b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526001909201915b50600101610aa9565b5080855114610b28578082525b509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff163314610bfa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b60025473ffffffffffffffffffffffffffffffffffffffff9081169082168114610c9157600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84811691821790925560405190918316907f900aa01828592ab069e4d44e7a36c70ebd476e35f567c7db6a691e503b8029d890600090a35b5050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610d1b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116331415610da057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015290519081900360640190fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040812054610e4857506000610f0f565b60008373ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610e9057600080fd5b505afa158015610ea4573d6000803e3d6000fd5b505050506040513d60a0811015610eba57600080fd5b506060015190506000610ecd8483610f15565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260036020526040902054909150811115610f0857600192505050610f0f565b6000925050505b92915050565b600082821115610f8657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fea2646970667358221220fafb689c768fd475c8efb311a878ada2bb7fa50ded65b21f3455bb1c5ae2662764736f6c63430007000033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
