[
  {
    "inputs": [
      {
        "internalType": "enum KeeperRegistryBase2_0.Mode",
        "name": "mode",
        "type": "uint8"
      },
      {
        "internalType": "address",
        "name": "link",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "linkNativeFeed",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "fastGasFeed",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "ArrayHasNoEntries",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "CannotCancel",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "CheckDataExceedsLimit",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ConfigDigestMismatch",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "DuplicateEntry",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "DuplicateSigners",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "GasLimitCanOnlyIncrease",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "GasLimitOutsideRange",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "IncorrectNumberOfFaultyOracles",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "IncorrectNumberOfSignatures",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "IncorrectNumberOfSigners",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "IndexOutOfRange",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InsufficientFunds",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidDataLength",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidPayee",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidRecipient",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidReport",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "MaxCheckDataSizeCanOnlyIncrease",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "MaxPerformDataSizeCanOnlyIncrease",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "MigrationNotPermitted",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NotAContract",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnchainConfigNonEmpty",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyActiveSigners",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyActiveTransmitters",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyCallableByAdmin",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyCallableByLINKToken",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyCallableByOwnerOrAdmin",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyCallableByOwnerOrRegistrar",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyCallableByPayee",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyCallableByProposedAdmin",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyCallableByProposedPayee",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyPausedUpkeep",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlySimulatedBackend",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "OnlyUnpausedUpkeep",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ParameterLengthError",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "PaymentGreaterThanAllLINK",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ReentrantCall",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RegistryPaused",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RepeatedSigner",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RepeatedTransmitter",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "bytes",
        "name": "reason",
        "type": "bytes"
      }
    ],
    "name": "TargetCheckReverted",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TooManyOracles",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TranscoderNotSet",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "UpkeepAlreadyExists",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "UpkeepCancelled",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "UpkeepNotCanceled",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "UpkeepNotNeeded",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ValueNotChanged",
    "type": "error"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "CancelledUpkeepReport",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint96",
        "name": "amount",
        "type": "uint96"
      }
    ],
    "name": "FundsAdded",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "to",
        "type": "address"
      }
    ],
    "name": "FundsWithdrawn",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "InsufficientFundsUpkeepReport",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint96",
        "name": "amount",
        "type": "uint96"
      }
    ],
    "name": "OwnerFundsWithdrawn",
    "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"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "Paused",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address[]",
        "name": "transmitters",
        "type": "address[]"
      },
      {
        "indexed": false,
        "internalType": "address[]",
        "name": "payees",
        "type": "address[]"
      }
    ],
    "name": "PayeesUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "transmitter",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      }
    ],
    "name": "PayeeshipTransferRequested",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "transmitter",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      }
    ],
    "name": "PayeeshipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "transmitter",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "payee",
        "type": "address"
      }
    ],
    "name": "PaymentWithdrawn",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "ReorgedUpkeepReport",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "StaleUpkeepReport",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "Unpaused",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      }
    ],
    "name": "UpkeepAdminTransferRequested",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      }
    ],
    "name": "UpkeepAdminTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "uint64",
        "name": "atBlockHeight",
        "type": "uint64"
      }
    ],
    "name": "UpkeepCanceled",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "bytes",
        "name": "newCheckData",
        "type": "bytes"
      }
    ],
    "name": "UpkeepCheckDataUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint96",
        "name": "gasLimit",
        "type": "uint96"
      }
    ],
    "name": "UpkeepGasLimitSet",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "remainingBalance",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "destination",
        "type": "address"
      }
    ],
    "name": "UpkeepMigrated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "bytes",
        "name": "offchainConfig",
        "type": "bytes"
      }
    ],
    "name": "UpkeepOffchainConfigSet",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "UpkeepPaused",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "bool",
        "name": "success",
        "type": "bool"
      },
      {
        "indexed": false,
        "internalType": "uint32",
        "name": "checkBlockNumber",
        "type": "uint32"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "gasUsed",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "gasOverhead",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint96",
        "name": "totalPayment",
        "type": "uint96"
      }
    ],
    "name": "UpkeepPerformed",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "startingBalance",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "importedFrom",
        "type": "address"
      }
    ],
    "name": "UpkeepReceived",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint32",
        "name": "executeGas",
        "type": "uint32"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "admin",
        "type": "address"
      }
    ],
    "name": "UpkeepRegistered",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "UpkeepUnpaused",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "acceptOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "transmitter",
        "type": "address"
      }
    ],
    "name": "acceptPayeeship",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "acceptUpkeepAdmin",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "internalType": "uint96",
        "name": "amount",
        "type": "uint96"
      }
    ],
    "name": "addFunds",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "cancelUpkeep",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "checkUpkeep",
    "outputs": [
      {
        "internalType": "bool",
        "name": "upkeepNeeded",
        "type": "bool"
      },
      {
        "internalType": "bytes",
        "name": "performData",
        "type": "bytes"
      },
      {
        "internalType": "enum UpkeepFailureReason",
        "name": "upkeepFailureReason",
        "type": "uint8"
      },
      {
        "internalType": "uint256",
        "name": "gasUsed",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "fastGasWei",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "linkNative",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getFastGasFeedAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getLinkAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getLinkNativeFeedAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getMode",
    "outputs": [
      {
        "internalType": "enum KeeperRegistryBase2_0.Mode",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256[]",
        "name": "ids",
        "type": "uint256[]"
      },
      {
        "internalType": "address",
        "name": "destination",
        "type": "address"
      }
    ],
    "name": "migrateUpkeeps",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pause",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "pauseUpkeep",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes",
        "name": "encodedUpkeeps",
        "type": "bytes"
      }
    ],
    "name": "receiveUpkeeps",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "recoverFunds",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "target",
        "type": "address"
      },
      {
        "internalType": "uint32",
        "name": "gasLimit",
        "type": "uint32"
      },
      {
        "internalType": "address",
        "name": "admin",
        "type": "address"
      },
      {
        "internalType": "bytes",
        "name": "checkData",
        "type": "bytes"
      },
      {
        "internalType": "bytes",
        "name": "offchainConfig",
        "type": "bytes"
      }
    ],
    "name": "registerUpkeep",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "payees",
        "type": "address[]"
      }
    ],
    "name": "setPayees",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "peer",
        "type": "address"
      },
      {
        "internalType": "enum KeeperRegistryBase2_0.MigrationPermission",
        "name": "permission",
        "type": "uint8"
      }
    ],
    "name": "setPeerRegistryMigrationPermission",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "internalType": "uint32",
        "name": "gasLimit",
        "type": "uint32"
      }
    ],
    "name": "setUpkeepGasLimit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "config",
        "type": "bytes"
      }
    ],
    "name": "setUpkeepOffchainConfig",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "transmitter",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "proposed",
        "type": "address"
      }
    ],
    "name": "transferPayeeship",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "proposed",
        "type": "address"
      }
    ],
    "name": "transferUpkeepAdmin",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "unpause",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      }
    ],
    "name": "unpauseUpkeep",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "newCheckData",
        "type": "bytes"
      }
    ],
    "name": "updateCheckData",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "id",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      }
    ],
    "name": "withdrawFunds",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "withdrawOwnerFunds",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      }
    ],
    "name": "withdrawPayment",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]
