{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "expected",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "actual",
          "type": "bytes32"
        }
      ],
      "name": "ConfigDigestMismatch",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "expected",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "actual",
          "type": "uint256"
        }
      ],
      "name": "ForkedChain",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "message",
          "type": "string"
        }
      ],
      "name": "InvalidConfig",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NonUniqueSignatures",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "OracleCannotBeZeroAddress",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "SignaturesOutOfRegistration",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "UnauthorizedSigner",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "UnauthorizedTransmitter",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "expected",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "actual",
          "type": "uint256"
        }
      ],
      "name": "WrongMessageLength",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "WrongNumberOfSignatures",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint32",
          "name": "previousConfigBlockNumber",
          "type": "uint32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "configDigest",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "configCount",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "signers",
          "type": "address[]"
        },
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "transmitters",
          "type": "address[]"
        },
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "f",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "onchainConfig",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "offchainConfigVersion",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "offchainConfig",
          "type": "bytes"
        }
      ],
      "name": "ConfigSet",
      "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": "bytes32",
          "name": "configDigest",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint32",
          "name": "epoch",
          "type": "uint32"
        }
      ],
      "name": "Transmitted",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "acceptOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getTransmitters",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "latestConfigDetails",
      "outputs": [
        {
          "internalType": "uint32",
          "name": "configCount",
          "type": "uint32"
        },
        {
          "internalType": "uint32",
          "name": "blockNumber",
          "type": "uint32"
        },
        {
          "internalType": "bytes32",
          "name": "configDigest",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "latestConfigDigestAndEpoch",
      "outputs": [
        {
          "internalType": "bool",
          "name": "scanLogs",
          "type": "bool"
        },
        {
          "internalType": "bytes32",
          "name": "configDigest",
          "type": "bytes32"
        },
        {
          "internalType": "uint32",
          "name": "epoch",
          "type": "uint32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "signers",
          "type": "address[]"
        },
        {
          "internalType": "address[]",
          "name": "transmitters",
          "type": "address[]"
        },
        {
          "internalType": "uint8",
          "name": "f",
          "type": "uint8"
        },
        {
          "internalType": "bytes",
          "name": "onchainConfig",
          "type": "bytes"
        },
        {
          "internalType": "uint64",
          "name": "offchainConfigVersion",
          "type": "uint64"
        },
        {
          "internalType": "bytes",
          "name": "offchainConfig",
          "type": "bytes"
        }
      ],
      "name": "setOCR2Config",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32[3]",
          "name": "reportContext",
          "type": "bytes32[3]"
        },
        {
          "internalType": "bytes",
          "name": "report",
          "type": "bytes"
        },
        {
          "internalType": "bytes32[]",
          "name": "rs",
          "type": "bytes32[]"
        },
        {
          "internalType": "bytes32[]",
          "name": "ss",
          "type": "bytes32[]"
        },
        {
          "internalType": "bytes32",
          "name": "rawVs",
          "type": "bytes32"
        }
      ],
      "name": "transmit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "typeAndVersion",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": {
    "object": "0x",
    "sourceMap": "",
    "linkReferences": {}
  },
  "deployedBytecode": {
    "object": "0x",
    "sourceMap": "",
    "linkReferences": {}
  },
  "methodIdentifiers": {
    "acceptOwnership()": "79ba5097",
    "getTransmitters()": "666cab8d",
    "latestConfigDetails()": "81ff7048",
    "latestConfigDigestAndEpoch()": "afcb95d7",
    "owner()": "8da5cb5b",
    "setOCR2Config(address[],address[],uint8,bytes,uint64,bytes)": "1ef38174",
    "transferOwnership(address)": "f2fde38b",
    "transmit(bytes32[3],bytes,bytes32[],bytes32[],bytes32)": "b1dc65a4",
    "typeAndVersion()": "181f5a77"
  }
}