{
  "abi": [
    {
      "inputs": [],
      "name": "Module_OnlyOracle",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "Oracle_AlreadyFinalized",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_caller",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        }
      ],
      "name": "Oracle_CannotDeleteInvalidProposer",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        }
      ],
      "name": "Oracle_CannotDeleteWhileDisputing",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "Oracle_CannotEscalate",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "Oracle_CannotResolve",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "Oracle_CannotTamperParticipant",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "Oracle_InvalidDisputeId",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        }
      ],
      "name": "Oracle_InvalidFinalizedResponse",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "Oracle_InvalidRequestId",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        }
      ],
      "name": "Oracle_InvalidResponseId",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "Oracle_NoResolutionModule",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_caller",
          "type": "address"
        }
      ],
      "name": "Oracle_NotDisputeModule",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_caller",
          "type": "address"
        }
      ],
      "name": "Oracle_NotResolutionModule",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        }
      ],
      "name": "Oracle_ResponseAlreadyDisputed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "SequentialResolutionModule_NotImplemented",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "SequentialResolutionModule_OnlySubmodule",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_sequenceId",
          "type": "uint256"
        }
      ],
      "name": "SequentialResolutionModule_SequenceIdAlreadyUsed",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_caller",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "DisputeEscalated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "enum IOracle.DisputeStatus",
          "name": "_status",
          "type": "uint8"
        }
      ],
      "name": "DisputeResolved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_caller",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "DisputeResolved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "enum IOracle.DisputeStatus",
          "name": "_status",
          "type": "uint8"
        }
      ],
      "name": "DisputeStatusUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_caller",
          "type": "address"
        }
      ],
      "name": "OracleRequestFinalized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_requester",
          "type": "address"
        }
      ],
      "name": "RequestCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_finalizer",
          "type": "address"
        }
      ],
      "name": "RequestFinalized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_sequenceId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "contract IResolutionModule[]",
          "name": "_modules",
          "type": "address[]"
        }
      ],
      "name": "ResolutionSequenceAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "ResolutionStarted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_caller",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        }
      ],
      "name": "ResponseDeleted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_disputer",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "ResponseDisputed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_proposer",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        }
      ],
      "name": "ResponseProposed",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "contract IResolutionModule[]",
          "name": "_modules",
          "type": "address[]"
        }
      ],
      "name": "addResolutionModuleSequence",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_sequenceId",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_module",
          "type": "address"
        }
      ],
      "name": "allowedModule",
      "outputs": [
        {
          "internalType": "bool",
          "name": "_allowedModule",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "bytes",
              "name": "requestModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "responseModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "disputeModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "resolutionModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "finalityModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes32",
              "name": "ipfsHash",
              "type": "bytes32"
            },
            {
              "internalType": "contract IRequestModule",
              "name": "requestModule",
              "type": "address"
            },
            {
              "internalType": "contract IResponseModule",
              "name": "responseModule",
              "type": "address"
            },
            {
              "internalType": "contract IDisputeModule",
              "name": "disputeModule",
              "type": "address"
            },
            {
              "internalType": "contract IResolutionModule",
              "name": "resolutionModule",
              "type": "address"
            },
            {
              "internalType": "contract IFinalityModule",
              "name": "finalityModule",
              "type": "address"
            }
          ],
          "internalType": "struct IOracle.NewRequest",
          "name": "_request",
          "type": "tuple"
        }
      ],
      "name": "createRequest",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "bytes",
              "name": "requestModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "responseModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "disputeModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "resolutionModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "finalityModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes32",
              "name": "ipfsHash",
              "type": "bytes32"
            },
            {
              "internalType": "contract IRequestModule",
              "name": "requestModule",
              "type": "address"
            },
            {
              "internalType": "contract IResponseModule",
              "name": "responseModule",
              "type": "address"
            },
            {
              "internalType": "contract IDisputeModule",
              "name": "disputeModule",
              "type": "address"
            },
            {
              "internalType": "contract IResolutionModule",
              "name": "resolutionModule",
              "type": "address"
            },
            {
              "internalType": "contract IFinalityModule",
              "name": "finalityModule",
              "type": "address"
            }
          ],
          "internalType": "struct IOracle.NewRequest[]",
          "name": "_requestsData",
          "type": "tuple[]"
        }
      ],
      "name": "createRequests",
      "outputs": [
        {
          "internalType": "bytes32[]",
          "name": "_batchRequestsIds",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "currentModuleIndex",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_moduleIndex",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "currentSequenceId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_currentSequenceId",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "decodeRequestData",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "sequenceId",
              "type": "uint256"
            },
            {
              "internalType": "bytes[]",
              "name": "submoduleData",
              "type": "bytes[]"
            }
          ],
          "internalType": "struct ISequentialResolutionModule.RequestParameters",
          "name": "_params",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        }
      ],
      "name": "deleteResponse",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        }
      ],
      "name": "disputeOf",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        }
      ],
      "name": "disputeResponse",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "escalateDispute",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "finalize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_finalizedResponseId",
          "type": "bytes32"
        }
      ],
      "name": "finalize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_finalizer",
          "type": "address"
        }
      ],
      "name": "finalizeRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "getCurrentResolutionModule",
      "outputs": [
        {
          "internalType": "contract IResolutionModule",
          "name": "_module",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "getDispute",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "disputer",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "proposer",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "responseId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "requestId",
              "type": "bytes32"
            },
            {
              "internalType": "enum IOracle.DisputeStatus",
              "name": "status",
              "type": "uint8"
            }
          ],
          "internalType": "struct IOracle.Dispute",
          "name": "_dispute",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "getFinalizedResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "proposer",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "disputeId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "response",
              "type": "bytes"
            }
          ],
          "internalType": "struct IOracle.Response",
          "name": "_response",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "getFinalizedResponseId",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_finalizedResponseId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "getFullRequest",
      "outputs": [
        {
          "components": [
            {
              "internalType": "bytes",
              "name": "requestModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "responseModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "disputeModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "resolutionModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "finalityModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes32",
              "name": "ipfsHash",
              "type": "bytes32"
            },
            {
              "internalType": "contract IRequestModule",
              "name": "requestModule",
              "type": "address"
            },
            {
              "internalType": "contract IResponseModule",
              "name": "responseModule",
              "type": "address"
            },
            {
              "internalType": "contract IDisputeModule",
              "name": "disputeModule",
              "type": "address"
            },
            {
              "internalType": "contract IResolutionModule",
              "name": "resolutionModule",
              "type": "address"
            },
            {
              "internalType": "contract IFinalityModule",
              "name": "finalityModule",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "requester",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "nonce",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "finalizedAt",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "requestId",
              "type": "bytes32"
            }
          ],
          "internalType": "struct IOracle.FullRequest",
          "name": "_request",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "getRequest",
      "outputs": [
        {
          "components": [
            {
              "internalType": "bytes32",
              "name": "ipfsHash",
              "type": "bytes32"
            },
            {
              "internalType": "contract IRequestModule",
              "name": "requestModule",
              "type": "address"
            },
            {
              "internalType": "contract IResponseModule",
              "name": "responseModule",
              "type": "address"
            },
            {
              "internalType": "contract IDisputeModule",
              "name": "disputeModule",
              "type": "address"
            },
            {
              "internalType": "contract IResolutionModule",
              "name": "resolutionModule",
              "type": "address"
            },
            {
              "internalType": "contract IFinalityModule",
              "name": "finalityModule",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "requester",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "nonce",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "finalizedAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IOracle.Request",
          "name": "_request",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_nonce",
          "type": "uint256"
        }
      ],
      "name": "getRequestByNonce",
      "outputs": [
        {
          "components": [
            {
              "internalType": "bytes32",
              "name": "ipfsHash",
              "type": "bytes32"
            },
            {
              "internalType": "contract IRequestModule",
              "name": "requestModule",
              "type": "address"
            },
            {
              "internalType": "contract IResponseModule",
              "name": "responseModule",
              "type": "address"
            },
            {
              "internalType": "contract IDisputeModule",
              "name": "disputeModule",
              "type": "address"
            },
            {
              "internalType": "contract IResolutionModule",
              "name": "resolutionModule",
              "type": "address"
            },
            {
              "internalType": "contract IFinalityModule",
              "name": "finalityModule",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "requester",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "nonce",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "finalizedAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IOracle.Request",
          "name": "_request",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_nonce",
          "type": "uint256"
        }
      ],
      "name": "getRequestId",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        }
      ],
      "name": "getResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "proposer",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "disputeId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "response",
              "type": "bytes"
            }
          ],
          "internalType": "struct IOracle.Response",
          "name": "_response",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "getResponseIds",
      "outputs": [
        {
          "internalType": "bytes32[]",
          "name": "_ids",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "isParticipant",
      "outputs": [
        {
          "internalType": "bool",
          "name": "_isParticipant",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_startFrom",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_batchSize",
          "type": "uint256"
        }
      ],
      "name": "listRequestIds",
      "outputs": [
        {
          "internalType": "bytes32[]",
          "name": "_list",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_startFrom",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_batchSize",
          "type": "uint256"
        }
      ],
      "name": "listRequests",
      "outputs": [
        {
          "components": [
            {
              "internalType": "bytes",
              "name": "requestModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "responseModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "disputeModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "resolutionModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "finalityModuleData",
              "type": "bytes"
            },
            {
              "internalType": "bytes32",
              "name": "ipfsHash",
              "type": "bytes32"
            },
            {
              "internalType": "contract IRequestModule",
              "name": "requestModule",
              "type": "address"
            },
            {
              "internalType": "contract IResponseModule",
              "name": "responseModule",
              "type": "address"
            },
            {
              "internalType": "contract IDisputeModule",
              "name": "disputeModule",
              "type": "address"
            },
            {
              "internalType": "contract IResolutionModule",
              "name": "resolutionModule",
              "type": "address"
            },
            {
              "internalType": "contract IFinalityModule",
              "name": "finalityModule",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "requester",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "nonce",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "finalizedAt",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "requestId",
              "type": "bytes32"
            }
          ],
          "internalType": "struct IOracle.FullRequest[]",
          "name": "_list",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_startFrom",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_batchSize",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_sequenceId",
          "type": "uint256"
        }
      ],
      "name": "listSubmodules",
      "outputs": [
        {
          "internalType": "contract IResolutionModule[]",
          "name": "_list",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "moduleName",
      "outputs": [
        {
          "internalType": "string",
          "name": "_moduleName",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "oracle",
      "outputs": [
        {
          "internalType": "address",
          "name": "_oracle",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_proposer",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_responseData",
          "type": "bytes"
        }
      ],
      "name": "proposeResponse",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_responseData",
          "type": "bytes"
        }
      ],
      "name": "proposeResponse",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "requestData",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "_requestData",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "requestIdForDispute",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "resolveDispute",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_data",
          "type": "bytes"
        }
      ],
      "name": "setupRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "startResolution",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalRequestCount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "_count",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "internalType": "enum IOracle.DisputeStatus",
          "name": "_status",
          "type": "uint8"
        }
      ],
      "name": "updateDisputeStatus",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": {
    "object": "0x",
    "sourceMap": "",
    "linkReferences": {}
  },
  "deployedBytecode": {
    "object": "0x",
    "sourceMap": "",
    "linkReferences": {}
  },
  "methodIdentifiers": {
    "addResolutionModuleSequence(address[])": "97a0075d",
    "allowedModule(bytes32,address)": "c4a41c4f",
    "createRequest((bytes,bytes,bytes,bytes,bytes,bytes32,address,address,address,address,address))": "59e318aa",
    "createRequests((bytes,bytes,bytes,bytes,bytes,bytes32,address,address,address,address,address)[])": "49c7741e",
    "currentModuleIndex(bytes32)": "67b3a1e9",
    "currentSequenceId()": "843d7a70",
    "decodeRequestData(bytes32)": "4d610a46",
    "deleteResponse(bytes32)": "ffc84d69",
    "disputeOf(bytes32)": "9427c7d6",
    "disputeResponse(bytes32,bytes32)": "548a4884",
    "escalateDispute(bytes32)": "b2d83645",
    "finalize(bytes32)": "92584d80",
    "finalize(bytes32,bytes32)": "c65ff8f2",
    "finalizeRequest(bytes32,address)": "309de607",
    "getCurrentResolutionModule(bytes32)": "0cad26ce",
    "getDispute(bytes32)": "136ba6aa",
    "getFinalizedResponse(bytes32)": "163ed02f",
    "getFinalizedResponseId(bytes32)": "1af02211",
    "getFullRequest(bytes32)": "d35d640e",
    "getRequest(bytes32)": "fb1e61ca",
    "getRequestByNonce(uint256)": "eeff6139",
    "getRequestId(uint256)": "68814af8",
    "getResponse(bytes32)": "415a2bc1",
    "getResponseIds(bytes32)": "5b425b09",
    "isParticipant(bytes32,address)": "c44a8923",
    "listRequestIds(uint256,uint256)": "b670e144",
    "listRequests(uint256,uint256)": "a803b59d",
    "listSubmodules(uint256,uint256,uint256)": "7436f080",
    "moduleName()": "93f0899a",
    "oracle()": "7dc0d1d0",
    "proposeResponse(address,bytes32,bytes)": "92b0382f",
    "proposeResponse(bytes32,bytes)": "b06303f2",
    "requestData(bytes32)": "3661346b",
    "requestIdForDispute(bytes32)": "da526d1b",
    "resolveDispute(bytes32)": "c8218e3e",
    "setupRequest(bytes32,bytes)": "2e76be2a",
    "startResolution(bytes32)": "d96dd0e7",
    "totalRequestCount()": "3261bb3f",
    "updateDisputeStatus(bytes32,uint8)": "0c1d0c23"
  },
  "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Module_OnlyOracle\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"Oracle_AlreadyFinalized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"}],\"name\":\"Oracle_CannotDeleteInvalidProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"}],\"name\":\"Oracle_CannotDeleteWhileDisputing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"Oracle_CannotEscalate\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"Oracle_CannotResolve\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Oracle_CannotTamperParticipant\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"Oracle_InvalidDisputeId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"}],\"name\":\"Oracle_InvalidFinalizedResponse\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"Oracle_InvalidRequestId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"}],\"name\":\"Oracle_InvalidResponseId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"Oracle_NoResolutionModule\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"Oracle_NotDisputeModule\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"Oracle_NotResolutionModule\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"}],\"name\":\"Oracle_ResponseAlreadyDisputed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SequentialResolutionModule_NotImplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SequentialResolutionModule_OnlySubmodule\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sequenceId\",\"type\":\"uint256\"}],\"name\":\"SequentialResolutionModule_SequenceIdAlreadyUsed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"DisputeEscalated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"enum IOracle.DisputeStatus\",\"name\":\"_status\",\"type\":\"uint8\"}],\"name\":\"DisputeResolved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"DisputeResolved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"enum IOracle.DisputeStatus\",\"name\":\"_status\",\"type\":\"uint8\"}],\"name\":\"DisputeStatusUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"OracleRequestFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_requester\",\"type\":\"address\"}],\"name\":\"RequestCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_finalizer\",\"type\":\"address\"}],\"name\":\"RequestFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_sequenceId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IResolutionModule[]\",\"name\":\"_modules\",\"type\":\"address[]\"}],\"name\":\"ResolutionSequenceAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"ResolutionStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"}],\"name\":\"ResponseDeleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_disputer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"ResponseDisputed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"}],\"name\":\"ResponseProposed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"contract IResolutionModule[]\",\"name\":\"_modules\",\"type\":\"address[]\"}],\"name\":\"addResolutionModuleSequence\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_sequenceId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_module\",\"type\":\"address\"}],\"name\":\"allowedModule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_allowedModule\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"requestModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"responseModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"disputeModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"resolutionModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"finalityModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"ipfsHash\",\"type\":\"bytes32\"},{\"internalType\":\"contract IRequestModule\",\"name\":\"requestModule\",\"type\":\"address\"},{\"internalType\":\"contract IResponseModule\",\"name\":\"responseModule\",\"type\":\"address\"},{\"internalType\":\"contract IDisputeModule\",\"name\":\"disputeModule\",\"type\":\"address\"},{\"internalType\":\"contract IResolutionModule\",\"name\":\"resolutionModule\",\"type\":\"address\"},{\"internalType\":\"contract IFinalityModule\",\"name\":\"finalityModule\",\"type\":\"address\"}],\"internalType\":\"struct IOracle.NewRequest\",\"name\":\"_request\",\"type\":\"tuple\"}],\"name\":\"createRequest\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"requestModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"responseModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"disputeModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"resolutionModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"finalityModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"ipfsHash\",\"type\":\"bytes32\"},{\"internalType\":\"contract IRequestModule\",\"name\":\"requestModule\",\"type\":\"address\"},{\"internalType\":\"contract IResponseModule\",\"name\":\"responseModule\",\"type\":\"address\"},{\"internalType\":\"contract IDisputeModule\",\"name\":\"disputeModule\",\"type\":\"address\"},{\"internalType\":\"contract IResolutionModule\",\"name\":\"resolutionModule\",\"type\":\"address\"},{\"internalType\":\"contract IFinalityModule\",\"name\":\"finalityModule\",\"type\":\"address\"}],\"internalType\":\"struct IOracle.NewRequest[]\",\"name\":\"_requestsData\",\"type\":\"tuple[]\"}],\"name\":\"createRequests\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_batchRequestsIds\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"currentModuleIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_moduleIndex\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentSequenceId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_currentSequenceId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"decodeRequestData\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"sequenceId\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"submoduleData\",\"type\":\"bytes[]\"}],\"internalType\":\"struct ISequentialResolutionModule.RequestParameters\",\"name\":\"_params\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"}],\"name\":\"deleteResponse\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"}],\"name\":\"disputeOf\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"}],\"name\":\"disputeResponse\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"escalateDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"finalize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_finalizedResponseId\",\"type\":\"bytes32\"}],\"name\":\"finalize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_finalizer\",\"type\":\"address\"}],\"name\":\"finalizeRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"getCurrentResolutionModule\",\"outputs\":[{\"internalType\":\"contract IResolutionModule\",\"name\":\"_module\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"getDispute\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"responseId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"internalType\":\"enum IOracle.DisputeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"internalType\":\"struct IOracle.Dispute\",\"name\":\"_dispute\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"getFinalizedResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"disputeId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"response\",\"type\":\"bytes\"}],\"internalType\":\"struct IOracle.Response\",\"name\":\"_response\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"getFinalizedResponseId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_finalizedResponseId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"getFullRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"requestModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"responseModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"disputeModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"resolutionModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"finalityModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"ipfsHash\",\"type\":\"bytes32\"},{\"internalType\":\"contract IRequestModule\",\"name\":\"requestModule\",\"type\":\"address\"},{\"internalType\":\"contract IResponseModule\",\"name\":\"responseModule\",\"type\":\"address\"},{\"internalType\":\"contract IDisputeModule\",\"name\":\"disputeModule\",\"type\":\"address\"},{\"internalType\":\"contract IResolutionModule\",\"name\":\"resolutionModule\",\"type\":\"address\"},{\"internalType\":\"contract IFinalityModule\",\"name\":\"finalityModule\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"finalizedAt\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"}],\"internalType\":\"struct IOracle.FullRequest\",\"name\":\"_request\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"getRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"ipfsHash\",\"type\":\"bytes32\"},{\"internalType\":\"contract IRequestModule\",\"name\":\"requestModule\",\"type\":\"address\"},{\"internalType\":\"contract IResponseModule\",\"name\":\"responseModule\",\"type\":\"address\"},{\"internalType\":\"contract IDisputeModule\",\"name\":\"disputeModule\",\"type\":\"address\"},{\"internalType\":\"contract IResolutionModule\",\"name\":\"resolutionModule\",\"type\":\"address\"},{\"internalType\":\"contract IFinalityModule\",\"name\":\"finalityModule\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"finalizedAt\",\"type\":\"uint256\"}],\"internalType\":\"struct IOracle.Request\",\"name\":\"_request\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"getRequestByNonce\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"ipfsHash\",\"type\":\"bytes32\"},{\"internalType\":\"contract IRequestModule\",\"name\":\"requestModule\",\"type\":\"address\"},{\"internalType\":\"contract IResponseModule\",\"name\":\"responseModule\",\"type\":\"address\"},{\"internalType\":\"contract IDisputeModule\",\"name\":\"disputeModule\",\"type\":\"address\"},{\"internalType\":\"contract IResolutionModule\",\"name\":\"resolutionModule\",\"type\":\"address\"},{\"internalType\":\"contract IFinalityModule\",\"name\":\"finalityModule\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"finalizedAt\",\"type\":\"uint256\"}],\"internalType\":\"struct IOracle.Request\",\"name\":\"_request\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"getRequestId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"}],\"name\":\"getResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"disputeId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"response\",\"type\":\"bytes\"}],\"internalType\":\"struct IOracle.Response\",\"name\":\"_response\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"getResponseIds\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_ids\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_startFrom\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_batchSize\",\"type\":\"uint256\"}],\"name\":\"listRequestIds\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_list\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_startFrom\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_batchSize\",\"type\":\"uint256\"}],\"name\":\"listRequests\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"requestModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"responseModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"disputeModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"resolutionModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"finalityModuleData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"ipfsHash\",\"type\":\"bytes32\"},{\"internalType\":\"contract IRequestModule\",\"name\":\"requestModule\",\"type\":\"address\"},{\"internalType\":\"contract IResponseModule\",\"name\":\"responseModule\",\"type\":\"address\"},{\"internalType\":\"contract IDisputeModule\",\"name\":\"disputeModule\",\"type\":\"address\"},{\"internalType\":\"contract IResolutionModule\",\"name\":\"resolutionModule\",\"type\":\"address\"},{\"internalType\":\"contract IFinalityModule\",\"name\":\"finalityModule\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"finalizedAt\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"}],\"internalType\":\"struct IOracle.FullRequest[]\",\"name\":\"_list\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_startFrom\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_batchSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_sequenceId\",\"type\":\"uint256\"}],\"name\":\"listSubmodules\",\"outputs\":[{\"internalType\":\"contract IResolutionModule[]\",\"name\":\"_list\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"moduleName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_moduleName\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"oracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_oracle\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_responseData\",\"type\":\"bytes\"}],\"name\":\"proposeResponse\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_responseData\",\"type\":\"bytes\"}],\"name\":\"proposeResponse\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"requestData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"_requestData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"requestIdForDispute\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"resolveDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"setupRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"startResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalRequestCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_count\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"internalType\":\"enum IOracle.DisputeStatus\",\"name\":\"_status\",\"type\":\"uint8\"}],\"name\":\"updateDisputeStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Oracle_AlreadyFinalized(bytes32)\":[{\"params\":{\"_requestId\":\"The id of the request\"}}],\"Oracle_CannotDeleteInvalidProposer(address,bytes32)\":[{\"params\":{\"_caller\":\"The caller of the function\",\"_responseId\":\"The id of the response being deleted\"}}],\"Oracle_CannotDeleteWhileDisputing(bytes32)\":[{\"params\":{\"_responseId\":\"The id of the response being deleted\"}}],\"Oracle_CannotEscalate(bytes32)\":[{\"params\":{\"_disputeId\":\"The id of the dispute\"}}],\"Oracle_CannotResolve(bytes32)\":[{\"params\":{\"_disputeId\":\"The id of the dispute\"}}],\"Oracle_InvalidDisputeId(bytes32)\":[{\"params\":{\"_disputeId\":\"The id of the dispute\"}}],\"Oracle_InvalidFinalizedResponse(bytes32)\":[{\"params\":{\"_responseId\":\"The id of the response\"}}],\"Oracle_InvalidRequestId(bytes32)\":[{\"params\":{\"_requestId\":\"The id of the request\"}}],\"Oracle_InvalidResponseId(bytes32)\":[{\"params\":{\"_responseId\":\"The id of the response being disputed\"}}],\"Oracle_NoResolutionModule(bytes32)\":[{\"params\":{\"_disputeId\":\"The id of the dispute being\"}}],\"Oracle_NotDisputeModule(address)\":[{\"params\":{\"_caller\":\"The caller of the function\"}}],\"Oracle_NotResolutionModule(address)\":[{\"params\":{\"_caller\":\"The caller of the function\"}}],\"Oracle_ResponseAlreadyDisputed(bytes32)\":[{\"params\":{\"_responseId\":\"The id of the response being disputed\"}}],\"SequentialResolutionModule_SequenceIdAlreadyUsed(uint256)\":[{\"params\":{\"_sequenceId\":\"The sequenceId that was already used\"}}]},\"events\":{\"DisputeEscalated(address,bytes32)\":{\"params\":{\"_caller\":\"The address of the user who escalated the dispute\",\"_disputeId\":\"The id of the dispute being escalated\"}},\"DisputeResolved(address,bytes32)\":{\"params\":{\"_caller\":\"The address of the user who resolved the dispute\",\"_disputeId\":\"The id of the dispute being resolved\"}},\"DisputeResolved(bytes32,bytes32,uint8)\":{\"params\":{\"_disputeId\":\"The id for the dispute that was resolved\",\"_requestId\":\"The id for the request that was disputed\",\"_status\":\"The final result of the resolution\"}},\"DisputeStatusUpdated(bytes32,uint8)\":{\"params\":{\"_disputeId\":\"The id of the dispute\",\"_status\":\"The new dispute status\"}},\"OracleRequestFinalized(bytes32,address)\":{\"params\":{\"_caller\":\"The address of the user who finalized the request\",\"_requestId\":\"The id of the request being finalized\"}},\"RequestCreated(bytes32,address)\":{\"params\":{\"_requestId\":\"The id of the created request\",\"_requester\":\"The address of the user who created the request\"}},\"RequestFinalized(bytes32,address)\":{\"params\":{\"_finalizer\":\"The address that initiated the finalization\",\"_requestId\":\"The ID of the request that was finalized\"}},\"ResolutionStarted(bytes32,bytes32)\":{\"params\":{\"_disputeId\":\"The id for the dispute that the resolution was started for\",\"_requestId\":\"The id for the request for the dispute\"}},\"ResponseDeleted(bytes32,address,bytes32)\":{\"params\":{\"_caller\":\"The address of the user who deleted the response\",\"_requestId\":\"The id of the request\",\"_responseId\":\"The id of the deleted response\"}},\"ResponseDisputed(address,bytes32,bytes32)\":{\"params\":{\"_disputeId\":\"The id of the dispute\",\"_disputer\":\"The address of the user who started the dispute\",\"_responseId\":\"The id of the response being disputed\"}},\"ResponseProposed(bytes32,address,bytes32)\":{\"params\":{\"_proposer\":\"The address of the user who proposed the response\",\"_requestId\":\"The id of the request\",\"_responseId\":\"The id of the proposed response\"}}},\"kind\":\"dev\",\"methods\":{\"addResolutionModuleSequence(address[])\":{\"params\":{\"_modules\":\"The modules to add to the sequence.\"},\"returns\":{\"_sequenceId\":\"The sequenceId created\"}},\"allowedModule(bytes32,address)\":{\"params\":{\"_module\":\"The address to check\",\"_requestId\":\"The id of the request\"},\"returns\":{\"_allowedModule\":\"If the module is a part of the request\"}},\"createRequest((bytes,bytes,bytes,bytes,bytes,bytes32,address,address,address,address,address))\":{\"details\":\"The modules must be real contracts following the IModule interface\",\"params\":{\"_request\":\"The request data\"},\"returns\":{\"_requestId\":\"The id of the request, can be used to propose a response or query results\"}},\"createRequests((bytes,bytes,bytes,bytes,bytes,bytes32,address,address,address,address,address)[])\":{\"params\":{\"_requestsData\":\"The array of calldata for each request\"},\"returns\":{\"_batchRequestsIds\":\"The array of request IDs\"}},\"currentModuleIndex(bytes32)\":{\"params\":{\"_disputeId\":\"The disputeId\"},\"returns\":{\"_moduleIndex\":\"The index of the module\"}},\"currentSequenceId()\":{\"returns\":{\"_currentSequenceId\":\"The sequence id\"}},\"decodeRequestData(bytes32)\":{\"params\":{\"_requestId\":\"The ID of the request\"},\"returns\":{\"_params\":\"The struct containing the parameters for the request\"}},\"deleteResponse(bytes32)\":{\"params\":{\"_responseId\":\"The id of the response being deleted\"}},\"disputeOf(bytes32)\":{\"params\":{\"_responseId\":\"The response id to get the dispute for\"},\"returns\":{\"_disputeId\":\"The id of the dispute associated with the given response\"}},\"disputeResponse(bytes32,bytes32)\":{\"details\":\"If pre-dispute modules are being used, the returned dispute from `disputeModule.disputeResponse` may have a status other than `Active`, in which case the dispute is considered resolved and the dispute status updated.\",\"params\":{\"_requestId\":\"The id of the request which was responded\",\"_responseId\":\"The id of the response being disputed\"}},\"escalateDispute(bytes32)\":{\"params\":{\"_disputeId\":\"The id of the dispute to escalate\"}},\"finalize(bytes32)\":{\"params\":{\"_requestId\":\"The id of the request to finalize\"}},\"finalize(bytes32,bytes32)\":{\"params\":{\"_finalizedResponseId\":\"The id of the response to finalize the request with\",\"_requestId\":\"The id of the request to finalize\"}},\"finalizeRequest(bytes32,address)\":{\"params\":{\"_finalizer\":\"The address that initiated the finalization\",\"_requestId\":\"The ID of the request being finalized\"}},\"getCurrentResolutionModule(bytes32)\":{\"params\":{\"_disputeId\":\"The id of the dispute\"},\"returns\":{\"_module\":\"Te current resolution module\"}},\"getDispute(bytes32)\":{\"params\":{\"_disputeId\":\"The id of the dispute\"},\"returns\":{\"_dispute\":\"The dispute data\"}},\"getFinalizedResponse(bytes32)\":{\"params\":{\"_requestId\":\"The id of the request\"},\"returns\":{\"_response\":\"The finalized response\"}},\"getFinalizedResponseId(bytes32)\":{\"params\":{\"_requestId\":\"The id of the request\"},\"returns\":{\"_finalizedResponseId\":\"The ID of the finalized response\"}},\"getFullRequest(bytes32)\":{\"params\":{\"_requestId\":\"The id of the request\"},\"returns\":{\"_request\":\"The request data\"}},\"getRequest(bytes32)\":{\"params\":{\"_requestId\":\"The id of the request\"},\"returns\":{\"_request\":\"The request data\"}},\"getRequestByNonce(uint256)\":{\"params\":{\"_nonce\":\"The nonce of the request\"},\"returns\":{\"_request\":\"The request data\"}},\"getRequestId(uint256)\":{\"params\":{\"_nonce\":\"The nonce of the request\"},\"returns\":{\"_requestId\":\"The id of the request\"}},\"getResponse(bytes32)\":{\"params\":{\"_responseId\":\"The id of the response\"},\"returns\":{\"_response\":\"The response data\"}},\"getResponseIds(bytes32)\":{\"params\":{\"_requestId\":\"The id of the request\"},\"returns\":{\"_ids\":\"The ids of the responses\"}},\"isParticipant(bytes32,address)\":{\"params\":{\"_requestId\":\"The id of the request\",\"_user\":\"The address to check\"},\"returns\":{\"_isParticipant\":\"If the user is a participant of the request\"}},\"listRequestIds(uint256,uint256)\":{\"params\":{\"_batchSize\":\"The number of requests to return\",\"_startFrom\":\"The index to start from\"},\"returns\":{\"_list\":\"The list of request IDs\"}},\"listRequests(uint256,uint256)\":{\"params\":{\"_batchSize\":\"The number of requests to return\",\"_startFrom\":\"The index to start from\"},\"returns\":{\"_list\":\"The list of requests\"}},\"listSubmodules(uint256,uint256,uint256)\":{\"params\":{\"_batchSize\":\"The number of submodules to return\",\"_sequenceId\":\"The sequence to get the submodules from\",\"_startFrom\":\"The index to start from\"},\"returns\":{\"_list\":\"The list of submodules\"}},\"moduleName()\":{\"returns\":{\"_moduleName\":\"The name of the module.\"}},\"oracle()\":{\"returns\":{\"_oracle\":\"The address of the oracle\"}},\"proposeResponse(address,bytes32,bytes)\":{\"details\":\"Only callable by the dispute module of the request\",\"params\":{\"_proposer\":\"The address of the user proposing the response\",\"_requestId\":\"The id of the request\",\"_responseData\":\"The response data\"},\"returns\":{\"_responseId\":\"The id of the created response\"}},\"proposeResponse(bytes32,bytes)\":{\"params\":{\"_requestId\":\"The id of the request\",\"_responseData\":\"The response data\"},\"returns\":{\"_responseId\":\"The id of the created response\"}},\"requestData(bytes32)\":{\"params\":{\"_requestId\":\"The id of the request\"},\"returns\":{\"_requestData\":\"The data of the request\"}},\"requestIdForDispute(bytes32)\":{\"params\":{\"_disputeId\":\"The disputeId\"},\"returns\":{\"_requestId\":\"The requestId\"}},\"resolveDispute(bytes32)\":{\"params\":{\"_disputeId\":\"The id of the dispute to resolve\"}},\"setupRequest(bytes32,bytes)\":{\"params\":{\"_data\":\"The data of the request\",\"_requestId\":\"The ID of the request\"}},\"startResolution(bytes32)\":{\"params\":{\"_disputeId\":\"The ID of the dispute\"}},\"totalRequestCount()\":{\"returns\":{\"_count\":\"The total number of requests\"}},\"updateDisputeStatus(bytes32,uint8)\":{\"params\":{\"_disputeId\":\"The id of the dispute to update\",\"_status\":\"The new status of the dispute\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"Module_OnlyOracle()\":[{\"notice\":\"Thrown when the caller is not the oracle\"}],\"Oracle_AlreadyFinalized(bytes32)\":[{\"notice\":\"Thrown when trying to dispute or finalize a request that is already finalized\"}],\"Oracle_CannotDeleteInvalidProposer(address,bytes32)\":[{\"notice\":\"Thrown when an unauthorized caller is trying to delete a response\"}],\"Oracle_CannotDeleteWhileDisputing(bytes32)\":[{\"notice\":\"Thrown when trying to delete a disputed response\"}],\"Oracle_CannotEscalate(bytes32)\":[{\"notice\":\"Thrown when trying to escalate a dispute that's not in the active state\"}],\"Oracle_CannotResolve(bytes32)\":[{\"notice\":\"Thrown when trying to resolve a dispute that's not in the active nor escalated state\"}],\"Oracle_CannotTamperParticipant()\":[{\"notice\":\"Thrown when a module tries to tamper with the address of the user\"}],\"Oracle_InvalidDisputeId(bytes32)\":[{\"notice\":\"Thrown when trying to resolve or escalate an invalid dispute\"}],\"Oracle_InvalidFinalizedResponse(bytes32)\":[{\"notice\":\"Thrown when trying to finalize a request with an invalid response\"}],\"Oracle_InvalidRequestId(bytes32)\":[{\"notice\":\"Thrown when trying to propose a response to an invalid request\"}],\"Oracle_InvalidResponseId(bytes32)\":[{\"notice\":\"Thrown when trying to dispute an invalid response\"}],\"Oracle_NoResolutionModule(bytes32)\":[{\"notice\":\"Thrown when trying to resolve a dispute of a request without resolution module\"}],\"Oracle_NotDisputeModule(address)\":[{\"notice\":\"Thrown when an unauthorized caller is trying to propose a response\"}],\"Oracle_NotResolutionModule(address)\":[{\"notice\":\"Thrown when an unauthorized caller is trying to change a dispute's status\"}],\"Oracle_ResponseAlreadyDisputed(bytes32)\":[{\"notice\":\"Thrown when disputing a response that is already disputed\"}],\"SequentialResolutionModule_NotImplemented()\":[{\"notice\":\"Thrown when the function called is not implemented\"}],\"SequentialResolutionModule_OnlySubmodule()\":[{\"notice\":\"Thrown when the caller is not a valid sub-module\"}],\"SequentialResolutionModule_SequenceIdAlreadyUsed(uint256)\":[{\"notice\":\"Thrown when trying to add a new sequenceId that was already used\"}]},\"events\":{\"DisputeEscalated(address,bytes32)\":{\"notice\":\"Emitted when a dispute is escalated\"},\"DisputeResolved(address,bytes32)\":{\"notice\":\"Emitted when a dispute is resolved\"},\"DisputeResolved(bytes32,bytes32,uint8)\":{\"notice\":\"Emitted when a dispute has been resolved\"},\"DisputeStatusUpdated(bytes32,uint8)\":{\"notice\":\"Emitted when a dispute's status changes\"},\"OracleRequestFinalized(bytes32,address)\":{\"notice\":\"Emitted when a request is finalized\"},\"RequestCreated(bytes32,address)\":{\"notice\":\"Emitted when a request is created\"},\"RequestFinalized(bytes32,address)\":{\"notice\":\"Emitted when a request is finalized\"},\"ResolutionSequenceAdded(uint256,address[])\":{\"notice\":\"Emitted when a new resolution sequence is added\"},\"ResolutionStarted(bytes32,bytes32)\":{\"notice\":\"Emitted when a resolution is started\"},\"ResponseDeleted(bytes32,address,bytes32)\":{\"notice\":\"Emitted when a response is deleted\"},\"ResponseDisputed(address,bytes32,bytes32)\":{\"notice\":\"Emitted when a response is disputed\"},\"ResponseProposed(bytes32,address,bytes32)\":{\"notice\":\"Emitted when a response is proposed\"}},\"kind\":\"user\",\"methods\":{\"addResolutionModuleSequence(address[])\":{\"notice\":\"Adds a sequence of modules to the resolution module registry.\"},\"allowedModule(bytes32,address)\":{\"notice\":\"Checks if the given address is a module used in the request\"},\"createRequest((bytes,bytes,bytes,bytes,bytes,bytes32,address,address,address,address,address))\":{\"notice\":\"Generates the request ID and initializes the modules for the request\"},\"createRequests((bytes,bytes,bytes,bytes,bytes,bytes32,address,address,address,address,address)[])\":{\"notice\":\"Creates multiple requests, the same way as createRequest\"},\"currentModuleIndex(bytes32)\":{\"notice\":\"Returns the current index of the submodule in use for a dispute\"},\"currentSequenceId()\":{\"notice\":\"Returns the last sequence id that was created\"},\"decodeRequestData(bytes32)\":{\"notice\":\"Returns the decoded data for a request\"},\"deleteResponse(bytes32)\":{\"notice\":\"Deletes a response\"},\"disputeOf(bytes32)\":{\"notice\":\"Returns the dispute id for a given response\"},\"disputeResponse(bytes32,bytes32)\":{\"notice\":\"Starts the process of disputing a response\"},\"escalateDispute(bytes32)\":{\"notice\":\"Escalates a dispute, sending it to the resolution module\"},\"finalize(bytes32)\":{\"notice\":\"Finalizes a request without a valid response\"},\"finalize(bytes32,bytes32)\":{\"notice\":\"Finalizes a request\"},\"finalizeRequest(bytes32,address)\":{\"notice\":\"Finalizes a given request and executes any additional logic set by the chosen modules\"},\"getCurrentResolutionModule(bytes32)\":{\"notice\":\"Returns the module that is currently resolving the specified dispute\"},\"getDispute(bytes32)\":{\"notice\":\"Returns a dispute\"},\"getFinalizedResponse(bytes32)\":{\"notice\":\"Returns the finalized response for a given request\"},\"getFinalizedResponseId(bytes32)\":{\"notice\":\"Returns the finalized response ID for a given request\"},\"getFullRequest(bytes32)\":{\"notice\":\"Returns a full request\"},\"getRequest(bytes32)\":{\"notice\":\"Returns a request\"},\"getRequestByNonce(uint256)\":{\"notice\":\"Returns a request\"},\"getRequestId(uint256)\":{\"notice\":\"Returns a request id\"},\"getResponse(bytes32)\":{\"notice\":\"Fetches a response\"},\"getResponseIds(bytes32)\":{\"notice\":\"Returns the ids of the responses for a given request\"},\"isParticipant(bytes32,address)\":{\"notice\":\"Checks if the given address is participating in a specific request\"},\"listRequestIds(uint256,uint256)\":{\"notice\":\"Returns the list of request IDs\"},\"listRequests(uint256,uint256)\":{\"notice\":\"Returns the list of requests\"},\"listSubmodules(uint256,uint256,uint256)\":{\"notice\":\"Returns the list of submodules\"},\"moduleName()\":{\"notice\":\"Returns the name of the module.\"},\"oracle()\":{\"notice\":\"Returns the address of the oracle\"},\"proposeResponse(address,bytes32,bytes)\":{\"notice\":\"Creates a new response for a given request\"},\"proposeResponse(bytes32,bytes)\":{\"notice\":\"Creates a new response for a given request\"},\"requestData(bytes32)\":{\"notice\":\"Returns the data of the request associated with the provided id\"},\"requestIdForDispute(bytes32)\":{\"notice\":\"Returns the requestId corresponding to a dispute\"},\"resolveDispute(bytes32)\":{\"notice\":\"Resolves a dispute\"},\"setupRequest(bytes32,bytes)\":{\"notice\":\"Stores the request data and runs module-specific hooks\"},\"startResolution(bytes32)\":{\"notice\":\"Starts the resolution process\"},\"totalRequestCount()\":{\"notice\":\"Returns the total number of requests stored in the oracle\"},\"updateDisputeStatus(bytes32,uint8)\":{\"notice\":\"Updates the status of a dispute\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"solidity/interfaces/modules/resolution/ISequentialResolutionModule.sol\":\"ISequentialResolutionModule\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":@defi-wonderland/=node_modules/@defi-wonderland/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":solmate/=node_modules/solmate/src/\"]},\"sources\":{\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IModule.sol\":{\"keccak256\":\"0x72c2f68e8c2b749d9ae745269c706b137a640d6bd6f65f966238b547d61e3a05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4edb1aae7c4abd875d2da44a2dd83781c3c0a3d059edf2d1f2be1c44f865456f\",\"dweb:/ipfs/QmbEHy8tENha1ANEEZADpH4THmqC8aHyCXxFYPw4tS5mf4\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol\":{\"keccak256\":\"0x606262b4bb3b1447b1f6afef8a1b49088956b168a4b066f6f60da4712b95d3cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a763cdb6ba9f12a93e3d5238d6d3235c5c0c229df94793927f9d2abe00542823\",\"dweb:/ipfs/QmbAbfVyCiHvNvhHxc5r8tK5GUuVBATo15Ma5MirhZPtE6\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/dispute/IDisputeModule.sol\":{\"keccak256\":\"0x21707db43d55ba040893ef0ffefa7f9740c6e03b94d750637e6b2c047a16baa4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae582ca2fdd6fc82c650333066c95a917221282ad7ef15ea62fb4a31e4ed864d\",\"dweb:/ipfs/QmdxvkpNCK46uYv31TxAtxCiRPSoxbT4hrs94WQfR4ctTM\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/finality/IFinalityModule.sol\":{\"keccak256\":\"0xf6f465732ee119879e3317227f9cf6468055f4f98acdb4365f5b4eacda32948e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82e1928a7bbc5bce95e1b83d917e1470c72a0bec7494f6f42471b21c0f2b641e\",\"dweb:/ipfs/QmSjaBsNhzCfQd5xwZa98LNYSZ1TqAqo6inRTGD31ua4L8\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/request/IRequestModule.sol\":{\"keccak256\":\"0xefa5dd3334a1676cca1c1860c66c16adb1e399917742476d15de8737b5cb0032\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://03bcff0500f4054b5f71b0badd1779f8dfaa7fc74fc64788991438a1d9d2d14d\",\"dweb:/ipfs/QmdDjbGPgBfbbyT26Xtt9uBD7nYnhSK43fa9skfuBrfjCc\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/resolution/IResolutionModule.sol\":{\"keccak256\":\"0x36e75a87661b234be605a7455c88eaf4e7cbc9f5b4ea08133dd6d9d5af8d6bc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://232536c4e8b2e9114035e57360976ff24931459fb22a026114d392d3e315ea67\",\"dweb:/ipfs/QmPYKU5RDGMqTZZzCCvVy7ssush4EQGgCCbzbeGpnejGno\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/response/IResponseModule.sol\":{\"keccak256\":\"0xd0610065a22a8d3323427d871a73b835e4d0dffb3afe4bb7e8bbee81b8b9ed1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c72dcbd36f11e87fc21c922684e5524f0c83830dc945ac92614ea1cd770a1bf\",\"dweb:/ipfs/QmfYnQfSDd2jS9QEAdpmDF6wVXWqitQpmJsSeEHs1mtUQP\"]},\"solidity/interfaces/modules/resolution/ISequentialResolutionModule.sol\":{\"keccak256\":\"0x21a0797f15381671c435eaab7f18d69abbcec369ac6248dbeb857b714088e1c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb01a61628fa5bf67a160515e79898c670399a259ae70db70283b242a651e700\",\"dweb:/ipfs/QmRXkLLNBTW5hChhKKmJQ1nHy6Q4h3LZfudgxwHAgrgtiq\"]}},\"version\":1}",
  "metadata": {
    "compiler": {
      "version": "0.8.19+commit.7dd6d404"
    },
    "language": "Solidity",
    "output": {
      "abi": [
        {
          "inputs": [],
          "type": "error",
          "name": "Module_OnlyOracle"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "type": "error",
          "name": "Oracle_AlreadyFinalized"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_caller",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32"
            }
          ],
          "type": "error",
          "name": "Oracle_CannotDeleteInvalidProposer"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32"
            }
          ],
          "type": "error",
          "name": "Oracle_CannotDeleteWhileDisputing"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "type": "error",
          "name": "Oracle_CannotEscalate"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "type": "error",
          "name": "Oracle_CannotResolve"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "Oracle_CannotTamperParticipant"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "type": "error",
          "name": "Oracle_InvalidDisputeId"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32"
            }
          ],
          "type": "error",
          "name": "Oracle_InvalidFinalizedResponse"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "type": "error",
          "name": "Oracle_InvalidRequestId"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32"
            }
          ],
          "type": "error",
          "name": "Oracle_InvalidResponseId"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "type": "error",
          "name": "Oracle_NoResolutionModule"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_caller",
              "type": "address"
            }
          ],
          "type": "error",
          "name": "Oracle_NotDisputeModule"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_caller",
              "type": "address"
            }
          ],
          "type": "error",
          "name": "Oracle_NotResolutionModule"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32"
            }
          ],
          "type": "error",
          "name": "Oracle_ResponseAlreadyDisputed"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "SequentialResolutionModule_NotImplemented"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "SequentialResolutionModule_OnlySubmodule"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_sequenceId",
              "type": "uint256"
            }
          ],
          "type": "error",
          "name": "SequentialResolutionModule_SequenceIdAlreadyUsed"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_caller",
              "type": "address",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "DisputeEscalated",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "enum IOracle.DisputeStatus",
              "name": "_status",
              "type": "uint8",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "DisputeResolved",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_caller",
              "type": "address",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "DisputeResolved",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "enum IOracle.DisputeStatus",
              "name": "_status",
              "type": "uint8",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "DisputeStatusUpdated",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "address",
              "name": "_caller",
              "type": "address",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "OracleRequestFinalized",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "address",
              "name": "_requester",
              "type": "address",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "RequestCreated",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "address",
              "name": "_finalizer",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "RequestFinalized",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_sequenceId",
              "type": "uint256",
              "indexed": false
            },
            {
              "internalType": "contract IResolutionModule[]",
              "name": "_modules",
              "type": "address[]",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "ResolutionSequenceAdded",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "ResolutionStarted",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "address",
              "name": "_caller",
              "type": "address",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "ResponseDeleted",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_disputer",
              "type": "address",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "ResponseDisputed",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "address",
              "name": "_proposer",
              "type": "address",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "ResponseProposed",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "contract IResolutionModule[]",
              "name": "_modules",
              "type": "address[]"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "addResolutionModuleSequence",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "_sequenceId",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "_module",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "allowedModule",
          "outputs": [
            {
              "internalType": "bool",
              "name": "_allowedModule",
              "type": "bool"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "struct IOracle.NewRequest",
              "name": "_request",
              "type": "tuple",
              "components": [
                {
                  "internalType": "bytes",
                  "name": "requestModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "responseModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "disputeModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "resolutionModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "finalityModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes32",
                  "name": "ipfsHash",
                  "type": "bytes32"
                },
                {
                  "internalType": "contract IRequestModule",
                  "name": "requestModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IResponseModule",
                  "name": "responseModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IDisputeModule",
                  "name": "disputeModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IResolutionModule",
                  "name": "resolutionModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IFinalityModule",
                  "name": "finalityModule",
                  "type": "address"
                }
              ]
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "createRequest",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "struct IOracle.NewRequest[]",
              "name": "_requestsData",
              "type": "tuple[]",
              "components": [
                {
                  "internalType": "bytes",
                  "name": "requestModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "responseModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "disputeModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "resolutionModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "finalityModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes32",
                  "name": "ipfsHash",
                  "type": "bytes32"
                },
                {
                  "internalType": "contract IRequestModule",
                  "name": "requestModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IResponseModule",
                  "name": "responseModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IDisputeModule",
                  "name": "disputeModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IResolutionModule",
                  "name": "resolutionModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IFinalityModule",
                  "name": "finalityModule",
                  "type": "address"
                }
              ]
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "createRequests",
          "outputs": [
            {
              "internalType": "bytes32[]",
              "name": "_batchRequestsIds",
              "type": "bytes32[]"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "currentModuleIndex",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "_moduleIndex",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "currentSequenceId",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "_currentSequenceId",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "decodeRequestData",
          "outputs": [
            {
              "internalType": "struct ISequentialResolutionModule.RequestParameters",
              "name": "_params",
              "type": "tuple",
              "components": [
                {
                  "internalType": "uint256",
                  "name": "sequenceId",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes[]",
                  "name": "submoduleData",
                  "type": "bytes[]"
                }
              ]
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "deleteResponse"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "disputeOf",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "disputeResponse",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "escalateDispute"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "finalize"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "_finalizedResponseId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "finalize"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "_finalizer",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "finalizeRequest"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "getCurrentResolutionModule",
          "outputs": [
            {
              "internalType": "contract IResolutionModule",
              "name": "_module",
              "type": "address"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "getDispute",
          "outputs": [
            {
              "internalType": "struct IOracle.Dispute",
              "name": "_dispute",
              "type": "tuple",
              "components": [
                {
                  "internalType": "uint256",
                  "name": "createdAt",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "disputer",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "proposer",
                  "type": "address"
                },
                {
                  "internalType": "bytes32",
                  "name": "responseId",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes32",
                  "name": "requestId",
                  "type": "bytes32"
                },
                {
                  "internalType": "enum IOracle.DisputeStatus",
                  "name": "status",
                  "type": "uint8"
                }
              ]
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "getFinalizedResponse",
          "outputs": [
            {
              "internalType": "struct IOracle.Response",
              "name": "_response",
              "type": "tuple",
              "components": [
                {
                  "internalType": "uint256",
                  "name": "createdAt",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "proposer",
                  "type": "address"
                },
                {
                  "internalType": "bytes32",
                  "name": "requestId",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes32",
                  "name": "disputeId",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes",
                  "name": "response",
                  "type": "bytes"
                }
              ]
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "getFinalizedResponseId",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "_finalizedResponseId",
              "type": "bytes32"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "getFullRequest",
          "outputs": [
            {
              "internalType": "struct IOracle.FullRequest",
              "name": "_request",
              "type": "tuple",
              "components": [
                {
                  "internalType": "bytes",
                  "name": "requestModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "responseModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "disputeModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "resolutionModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "finalityModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes32",
                  "name": "ipfsHash",
                  "type": "bytes32"
                },
                {
                  "internalType": "contract IRequestModule",
                  "name": "requestModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IResponseModule",
                  "name": "responseModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IDisputeModule",
                  "name": "disputeModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IResolutionModule",
                  "name": "resolutionModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IFinalityModule",
                  "name": "finalityModule",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "requester",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "nonce",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "createdAt",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "finalizedAt",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes32",
                  "name": "requestId",
                  "type": "bytes32"
                }
              ]
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "getRequest",
          "outputs": [
            {
              "internalType": "struct IOracle.Request",
              "name": "_request",
              "type": "tuple",
              "components": [
                {
                  "internalType": "bytes32",
                  "name": "ipfsHash",
                  "type": "bytes32"
                },
                {
                  "internalType": "contract IRequestModule",
                  "name": "requestModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IResponseModule",
                  "name": "responseModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IDisputeModule",
                  "name": "disputeModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IResolutionModule",
                  "name": "resolutionModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IFinalityModule",
                  "name": "finalityModule",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "requester",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "nonce",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "createdAt",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "finalizedAt",
                  "type": "uint256"
                }
              ]
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_nonce",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "getRequestByNonce",
          "outputs": [
            {
              "internalType": "struct IOracle.Request",
              "name": "_request",
              "type": "tuple",
              "components": [
                {
                  "internalType": "bytes32",
                  "name": "ipfsHash",
                  "type": "bytes32"
                },
                {
                  "internalType": "contract IRequestModule",
                  "name": "requestModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IResponseModule",
                  "name": "responseModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IDisputeModule",
                  "name": "disputeModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IResolutionModule",
                  "name": "resolutionModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IFinalityModule",
                  "name": "finalityModule",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "requester",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "nonce",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "createdAt",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "finalizedAt",
                  "type": "uint256"
                }
              ]
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_nonce",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "getRequestId",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "getResponse",
          "outputs": [
            {
              "internalType": "struct IOracle.Response",
              "name": "_response",
              "type": "tuple",
              "components": [
                {
                  "internalType": "uint256",
                  "name": "createdAt",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "proposer",
                  "type": "address"
                },
                {
                  "internalType": "bytes32",
                  "name": "requestId",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes32",
                  "name": "disputeId",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes",
                  "name": "response",
                  "type": "bytes"
                }
              ]
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "getResponseIds",
          "outputs": [
            {
              "internalType": "bytes32[]",
              "name": "_ids",
              "type": "bytes32[]"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "_user",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "isParticipant",
          "outputs": [
            {
              "internalType": "bool",
              "name": "_isParticipant",
              "type": "bool"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_startFrom",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_batchSize",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "listRequestIds",
          "outputs": [
            {
              "internalType": "bytes32[]",
              "name": "_list",
              "type": "bytes32[]"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_startFrom",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_batchSize",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "listRequests",
          "outputs": [
            {
              "internalType": "struct IOracle.FullRequest[]",
              "name": "_list",
              "type": "tuple[]",
              "components": [
                {
                  "internalType": "bytes",
                  "name": "requestModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "responseModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "disputeModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "resolutionModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "finalityModuleData",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes32",
                  "name": "ipfsHash",
                  "type": "bytes32"
                },
                {
                  "internalType": "contract IRequestModule",
                  "name": "requestModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IResponseModule",
                  "name": "responseModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IDisputeModule",
                  "name": "disputeModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IResolutionModule",
                  "name": "resolutionModule",
                  "type": "address"
                },
                {
                  "internalType": "contract IFinalityModule",
                  "name": "finalityModule",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "requester",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "nonce",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "createdAt",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "finalizedAt",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes32",
                  "name": "requestId",
                  "type": "bytes32"
                }
              ]
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_startFrom",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_batchSize",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_sequenceId",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "listSubmodules",
          "outputs": [
            {
              "internalType": "contract IResolutionModule[]",
              "name": "_list",
              "type": "address[]"
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "moduleName",
          "outputs": [
            {
              "internalType": "string",
              "name": "_moduleName",
              "type": "string"
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "oracle",
          "outputs": [
            {
              "internalType": "address",
              "name": "_oracle",
              "type": "address"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_proposer",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "_responseData",
              "type": "bytes"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "proposeResponse",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "_responseData",
              "type": "bytes"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "proposeResponse",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "requestData",
          "outputs": [
            {
              "internalType": "bytes",
              "name": "_requestData",
              "type": "bytes"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "requestIdForDispute",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "resolveDispute"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "_data",
              "type": "bytes"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "setupRequest"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "startResolution"
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "totalRequestCount",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "_count",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            },
            {
              "internalType": "enum IOracle.DisputeStatus",
              "name": "_status",
              "type": "uint8"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "updateDisputeStatus"
        }
      ],
      "devdoc": {
        "kind": "dev",
        "methods": {
          "addResolutionModuleSequence(address[])": {
            "params": {
              "_modules": "The modules to add to the sequence."
            },
            "returns": {
              "_sequenceId": "The sequenceId created"
            }
          },
          "allowedModule(bytes32,address)": {
            "params": {
              "_module": "The address to check",
              "_requestId": "The id of the request"
            },
            "returns": {
              "_allowedModule": "If the module is a part of the request"
            }
          },
          "createRequest((bytes,bytes,bytes,bytes,bytes,bytes32,address,address,address,address,address))": {
            "details": "The modules must be real contracts following the IModule interface",
            "params": {
              "_request": "The request data"
            },
            "returns": {
              "_requestId": "The id of the request, can be used to propose a response or query results"
            }
          },
          "createRequests((bytes,bytes,bytes,bytes,bytes,bytes32,address,address,address,address,address)[])": {
            "params": {
              "_requestsData": "The array of calldata for each request"
            },
            "returns": {
              "_batchRequestsIds": "The array of request IDs"
            }
          },
          "currentModuleIndex(bytes32)": {
            "params": {
              "_disputeId": "The disputeId"
            },
            "returns": {
              "_moduleIndex": "The index of the module"
            }
          },
          "currentSequenceId()": {
            "returns": {
              "_currentSequenceId": "The sequence id"
            }
          },
          "decodeRequestData(bytes32)": {
            "params": {
              "_requestId": "The ID of the request"
            },
            "returns": {
              "_params": "The struct containing the parameters for the request"
            }
          },
          "deleteResponse(bytes32)": {
            "params": {
              "_responseId": "The id of the response being deleted"
            }
          },
          "disputeOf(bytes32)": {
            "params": {
              "_responseId": "The response id to get the dispute for"
            },
            "returns": {
              "_disputeId": "The id of the dispute associated with the given response"
            }
          },
          "disputeResponse(bytes32,bytes32)": {
            "details": "If pre-dispute modules are being used, the returned dispute from `disputeModule.disputeResponse` may have a status other than `Active`, in which case the dispute is considered resolved and the dispute status updated.",
            "params": {
              "_requestId": "The id of the request which was responded",
              "_responseId": "The id of the response being disputed"
            }
          },
          "escalateDispute(bytes32)": {
            "params": {
              "_disputeId": "The id of the dispute to escalate"
            }
          },
          "finalize(bytes32)": {
            "params": {
              "_requestId": "The id of the request to finalize"
            }
          },
          "finalize(bytes32,bytes32)": {
            "params": {
              "_finalizedResponseId": "The id of the response to finalize the request with",
              "_requestId": "The id of the request to finalize"
            }
          },
          "finalizeRequest(bytes32,address)": {
            "params": {
              "_finalizer": "The address that initiated the finalization",
              "_requestId": "The ID of the request being finalized"
            }
          },
          "getCurrentResolutionModule(bytes32)": {
            "params": {
              "_disputeId": "The id of the dispute"
            },
            "returns": {
              "_module": "Te current resolution module"
            }
          },
          "getDispute(bytes32)": {
            "params": {
              "_disputeId": "The id of the dispute"
            },
            "returns": {
              "_dispute": "The dispute data"
            }
          },
          "getFinalizedResponse(bytes32)": {
            "params": {
              "_requestId": "The id of the request"
            },
            "returns": {
              "_response": "The finalized response"
            }
          },
          "getFinalizedResponseId(bytes32)": {
            "params": {
              "_requestId": "The id of the request"
            },
            "returns": {
              "_finalizedResponseId": "The ID of the finalized response"
            }
          },
          "getFullRequest(bytes32)": {
            "params": {
              "_requestId": "The id of the request"
            },
            "returns": {
              "_request": "The request data"
            }
          },
          "getRequest(bytes32)": {
            "params": {
              "_requestId": "The id of the request"
            },
            "returns": {
              "_request": "The request data"
            }
          },
          "getRequestByNonce(uint256)": {
            "params": {
              "_nonce": "The nonce of the request"
            },
            "returns": {
              "_request": "The request data"
            }
          },
          "getRequestId(uint256)": {
            "params": {
              "_nonce": "The nonce of the request"
            },
            "returns": {
              "_requestId": "The id of the request"
            }
          },
          "getResponse(bytes32)": {
            "params": {
              "_responseId": "The id of the response"
            },
            "returns": {
              "_response": "The response data"
            }
          },
          "getResponseIds(bytes32)": {
            "params": {
              "_requestId": "The id of the request"
            },
            "returns": {
              "_ids": "The ids of the responses"
            }
          },
          "isParticipant(bytes32,address)": {
            "params": {
              "_requestId": "The id of the request",
              "_user": "The address to check"
            },
            "returns": {
              "_isParticipant": "If the user is a participant of the request"
            }
          },
          "listRequestIds(uint256,uint256)": {
            "params": {
              "_batchSize": "The number of requests to return",
              "_startFrom": "The index to start from"
            },
            "returns": {
              "_list": "The list of request IDs"
            }
          },
          "listRequests(uint256,uint256)": {
            "params": {
              "_batchSize": "The number of requests to return",
              "_startFrom": "The index to start from"
            },
            "returns": {
              "_list": "The list of requests"
            }
          },
          "listSubmodules(uint256,uint256,uint256)": {
            "params": {
              "_batchSize": "The number of submodules to return",
              "_sequenceId": "The sequence to get the submodules from",
              "_startFrom": "The index to start from"
            },
            "returns": {
              "_list": "The list of submodules"
            }
          },
          "moduleName()": {
            "returns": {
              "_moduleName": "The name of the module."
            }
          },
          "oracle()": {
            "returns": {
              "_oracle": "The address of the oracle"
            }
          },
          "proposeResponse(address,bytes32,bytes)": {
            "details": "Only callable by the dispute module of the request",
            "params": {
              "_proposer": "The address of the user proposing the response",
              "_requestId": "The id of the request",
              "_responseData": "The response data"
            },
            "returns": {
              "_responseId": "The id of the created response"
            }
          },
          "proposeResponse(bytes32,bytes)": {
            "params": {
              "_requestId": "The id of the request",
              "_responseData": "The response data"
            },
            "returns": {
              "_responseId": "The id of the created response"
            }
          },
          "requestData(bytes32)": {
            "params": {
              "_requestId": "The id of the request"
            },
            "returns": {
              "_requestData": "The data of the request"
            }
          },
          "requestIdForDispute(bytes32)": {
            "params": {
              "_disputeId": "The disputeId"
            },
            "returns": {
              "_requestId": "The requestId"
            }
          },
          "resolveDispute(bytes32)": {
            "params": {
              "_disputeId": "The id of the dispute to resolve"
            }
          },
          "setupRequest(bytes32,bytes)": {
            "params": {
              "_data": "The data of the request",
              "_requestId": "The ID of the request"
            }
          },
          "startResolution(bytes32)": {
            "params": {
              "_disputeId": "The ID of the dispute"
            }
          },
          "totalRequestCount()": {
            "returns": {
              "_count": "The total number of requests"
            }
          },
          "updateDisputeStatus(bytes32,uint8)": {
            "params": {
              "_disputeId": "The id of the dispute to update",
              "_status": "The new status of the dispute"
            }
          }
        },
        "version": 1
      },
      "userdoc": {
        "kind": "user",
        "methods": {
          "addResolutionModuleSequence(address[])": {
            "notice": "Adds a sequence of modules to the resolution module registry."
          },
          "allowedModule(bytes32,address)": {
            "notice": "Checks if the given address is a module used in the request"
          },
          "createRequest((bytes,bytes,bytes,bytes,bytes,bytes32,address,address,address,address,address))": {
            "notice": "Generates the request ID and initializes the modules for the request"
          },
          "createRequests((bytes,bytes,bytes,bytes,bytes,bytes32,address,address,address,address,address)[])": {
            "notice": "Creates multiple requests, the same way as createRequest"
          },
          "currentModuleIndex(bytes32)": {
            "notice": "Returns the current index of the submodule in use for a dispute"
          },
          "currentSequenceId()": {
            "notice": "Returns the last sequence id that was created"
          },
          "decodeRequestData(bytes32)": {
            "notice": "Returns the decoded data for a request"
          },
          "deleteResponse(bytes32)": {
            "notice": "Deletes a response"
          },
          "disputeOf(bytes32)": {
            "notice": "Returns the dispute id for a given response"
          },
          "disputeResponse(bytes32,bytes32)": {
            "notice": "Starts the process of disputing a response"
          },
          "escalateDispute(bytes32)": {
            "notice": "Escalates a dispute, sending it to the resolution module"
          },
          "finalize(bytes32)": {
            "notice": "Finalizes a request without a valid response"
          },
          "finalize(bytes32,bytes32)": {
            "notice": "Finalizes a request"
          },
          "finalizeRequest(bytes32,address)": {
            "notice": "Finalizes a given request and executes any additional logic set by the chosen modules"
          },
          "getCurrentResolutionModule(bytes32)": {
            "notice": "Returns the module that is currently resolving the specified dispute"
          },
          "getDispute(bytes32)": {
            "notice": "Returns a dispute"
          },
          "getFinalizedResponse(bytes32)": {
            "notice": "Returns the finalized response for a given request"
          },
          "getFinalizedResponseId(bytes32)": {
            "notice": "Returns the finalized response ID for a given request"
          },
          "getFullRequest(bytes32)": {
            "notice": "Returns a full request"
          },
          "getRequest(bytes32)": {
            "notice": "Returns a request"
          },
          "getRequestByNonce(uint256)": {
            "notice": "Returns a request"
          },
          "getRequestId(uint256)": {
            "notice": "Returns a request id"
          },
          "getResponse(bytes32)": {
            "notice": "Fetches a response"
          },
          "getResponseIds(bytes32)": {
            "notice": "Returns the ids of the responses for a given request"
          },
          "isParticipant(bytes32,address)": {
            "notice": "Checks if the given address is participating in a specific request"
          },
          "listRequestIds(uint256,uint256)": {
            "notice": "Returns the list of request IDs"
          },
          "listRequests(uint256,uint256)": {
            "notice": "Returns the list of requests"
          },
          "listSubmodules(uint256,uint256,uint256)": {
            "notice": "Returns the list of submodules"
          },
          "moduleName()": {
            "notice": "Returns the name of the module."
          },
          "oracle()": {
            "notice": "Returns the address of the oracle"
          },
          "proposeResponse(address,bytes32,bytes)": {
            "notice": "Creates a new response for a given request"
          },
          "proposeResponse(bytes32,bytes)": {
            "notice": "Creates a new response for a given request"
          },
          "requestData(bytes32)": {
            "notice": "Returns the data of the request associated with the provided id"
          },
          "requestIdForDispute(bytes32)": {
            "notice": "Returns the requestId corresponding to a dispute"
          },
          "resolveDispute(bytes32)": {
            "notice": "Resolves a dispute"
          },
          "setupRequest(bytes32,bytes)": {
            "notice": "Stores the request data and runs module-specific hooks"
          },
          "startResolution(bytes32)": {
            "notice": "Starts the resolution process"
          },
          "totalRequestCount()": {
            "notice": "Returns the total number of requests stored in the oracle"
          },
          "updateDisputeStatus(bytes32,uint8)": {
            "notice": "Updates the status of a dispute"
          }
        },
        "version": 1
      }
    },
    "settings": {
      "remappings": [
        "@defi-wonderland/=node_modules/@defi-wonderland/",
        "@openzeppelin/=node_modules/@openzeppelin/",
        "ds-test/=node_modules/ds-test/src/",
        "forge-std/=node_modules/forge-std/src/",
        "solmate/=node_modules/solmate/src/"
      ],
      "optimizer": {
        "enabled": true,
        "runs": 10000
      },
      "metadata": {
        "bytecodeHash": "ipfs"
      },
      "compilationTarget": {
        "solidity/interfaces/modules/resolution/ISequentialResolutionModule.sol": "ISequentialResolutionModule"
      },
      "libraries": {}
    },
    "sources": {
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IModule.sol": {
        "keccak256": "0x72c2f68e8c2b749d9ae745269c706b137a640d6bd6f65f966238b547d61e3a05",
        "urls": [
          "bzz-raw://4edb1aae7c4abd875d2da44a2dd83781c3c0a3d059edf2d1f2be1c44f865456f",
          "dweb:/ipfs/QmbEHy8tENha1ANEEZADpH4THmqC8aHyCXxFYPw4tS5mf4"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol": {
        "keccak256": "0x606262b4bb3b1447b1f6afef8a1b49088956b168a4b066f6f60da4712b95d3cf",
        "urls": [
          "bzz-raw://a763cdb6ba9f12a93e3d5238d6d3235c5c0c229df94793927f9d2abe00542823",
          "dweb:/ipfs/QmbAbfVyCiHvNvhHxc5r8tK5GUuVBATo15Ma5MirhZPtE6"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/dispute/IDisputeModule.sol": {
        "keccak256": "0x21707db43d55ba040893ef0ffefa7f9740c6e03b94d750637e6b2c047a16baa4",
        "urls": [
          "bzz-raw://ae582ca2fdd6fc82c650333066c95a917221282ad7ef15ea62fb4a31e4ed864d",
          "dweb:/ipfs/QmdxvkpNCK46uYv31TxAtxCiRPSoxbT4hrs94WQfR4ctTM"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/finality/IFinalityModule.sol": {
        "keccak256": "0xf6f465732ee119879e3317227f9cf6468055f4f98acdb4365f5b4eacda32948e",
        "urls": [
          "bzz-raw://82e1928a7bbc5bce95e1b83d917e1470c72a0bec7494f6f42471b21c0f2b641e",
          "dweb:/ipfs/QmSjaBsNhzCfQd5xwZa98LNYSZ1TqAqo6inRTGD31ua4L8"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/request/IRequestModule.sol": {
        "keccak256": "0xefa5dd3334a1676cca1c1860c66c16adb1e399917742476d15de8737b5cb0032",
        "urls": [
          "bzz-raw://03bcff0500f4054b5f71b0badd1779f8dfaa7fc74fc64788991438a1d9d2d14d",
          "dweb:/ipfs/QmdDjbGPgBfbbyT26Xtt9uBD7nYnhSK43fa9skfuBrfjCc"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/resolution/IResolutionModule.sol": {
        "keccak256": "0x36e75a87661b234be605a7455c88eaf4e7cbc9f5b4ea08133dd6d9d5af8d6bc6",
        "urls": [
          "bzz-raw://232536c4e8b2e9114035e57360976ff24931459fb22a026114d392d3e315ea67",
          "dweb:/ipfs/QmPYKU5RDGMqTZZzCCvVy7ssush4EQGgCCbzbeGpnejGno"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/response/IResponseModule.sol": {
        "keccak256": "0xd0610065a22a8d3323427d871a73b835e4d0dffb3afe4bb7e8bbee81b8b9ed1b",
        "urls": [
          "bzz-raw://8c72dcbd36f11e87fc21c922684e5524f0c83830dc945ac92614ea1cd770a1bf",
          "dweb:/ipfs/QmfYnQfSDd2jS9QEAdpmDF6wVXWqitQpmJsSeEHs1mtUQP"
        ],
        "license": "MIT"
      },
      "solidity/interfaces/modules/resolution/ISequentialResolutionModule.sol": {
        "keccak256": "0x21a0797f15381671c435eaab7f18d69abbcec369ac6248dbeb857b714088e1c3",
        "urls": [
          "bzz-raw://cb01a61628fa5bf67a160515e79898c670399a259ae70db70283b242a651e700",
          "dweb:/ipfs/QmRXkLLNBTW5hChhKKmJQ1nHy6Q4h3LZfudgxwHAgrgtiq"
        ],
        "license": "MIT"
      }
    },
    "version": 1
  },
  "ast": {
    "absolutePath": "solidity/interfaces/modules/resolution/ISequentialResolutionModule.sol",
    "id": 44098,
    "exportedSymbols": {
      "IOracle": [
        2282
      ],
      "IResolutionModule": [
        2399
      ],
      "ISequentialResolutionModule": [
        44097
      ]
    },
    "nodeType": "SourceUnit",
    "src": "32:4378:75",
    "nodes": [
      {
        "id": 43989,
        "nodeType": "PragmaDirective",
        "src": "32:24:75",
        "nodes": [],
        "literals": [
          "solidity",
          "^",
          "0.8",
          ".19"
        ]
      },
      {
        "id": 43991,
        "nodeType": "ImportDirective",
        "src": "58:96:75",
        "nodes": [],
        "absolutePath": "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol",
        "file": "@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 44098,
        "sourceUnit": 2283,
        "symbolAliases": [
          {
            "foreign": {
              "id": 43990,
              "name": "IOracle",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 2282,
              "src": "66:7:75",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 43993,
        "nodeType": "ImportDirective",
        "src": "155:137:75",
        "nodes": [],
        "absolutePath": "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/resolution/IResolutionModule.sol",
        "file": "@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/resolution/IResolutionModule.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 44098,
        "sourceUnit": 2400,
        "symbolAliases": [
          {
            "foreign": {
              "id": 43992,
              "name": "IResolutionModule",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 2399,
              "src": "163:17:75",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 44097,
        "nodeType": "ContractDefinition",
        "src": "294:4115:75",
        "nodes": [
          {
            "id": 44006,
            "nodeType": "EventDefinition",
            "src": "612:81:75",
            "nodes": [],
            "anonymous": false,
            "documentation": {
              "id": 43998,
              "nodeType": "StructuredDocumentation",
              "src": "539:70:75",
              "text": " @notice Emitted when a new resolution sequence is added"
            },
            "eventSelector": "2fc09c44e2c6dcd1a9c240e8466955d2e0fb7e1395b2db28dbda2ae75d449be9",
            "name": "ResolutionSequenceAdded",
            "nameLocation": "618:23:75",
            "parameters": {
              "id": 44005,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44000,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "_sequenceId",
                  "nameLocation": "650:11:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44006,
                  "src": "642:19:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 43999,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "642:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 44004,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "_modules",
                  "nameLocation": "683:8:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44006,
                  "src": "663:28:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_contract$_IResolutionModule_$2399_$dyn_memory_ptr",
                    "typeString": "contract IResolutionModule[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 44002,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 44001,
                        "name": "IResolutionModule",
                        "nameLocations": [
                          "663:17:75"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 2399,
                        "src": "663:17:75"
                      },
                      "referencedDeclaration": 2399,
                      "src": "663:17:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IResolutionModule_$2399",
                        "typeString": "contract IResolutionModule"
                      }
                    },
                    "id": 44003,
                    "nodeType": "ArrayTypeName",
                    "src": "663:19:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_contract$_IResolutionModule_$2399_$dyn_storage_ptr",
                      "typeString": "contract IResolutionModule[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "641:51:75"
            }
          },
          {
            "id": 44009,
            "nodeType": "ErrorDefinition",
            "src": "943:49:75",
            "nodes": [],
            "documentation": {
              "id": 44007,
              "nodeType": "StructuredDocumentation",
              "src": "869:71:75",
              "text": " @notice Thrown when the caller is not a valid sub-module"
            },
            "errorSelector": "d62e5f1d",
            "name": "SequentialResolutionModule_OnlySubmodule",
            "nameLocation": "949:40:75",
            "parameters": {
              "id": 44008,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "989:2:75"
            }
          },
          {
            "id": 44012,
            "nodeType": "ErrorDefinition",
            "src": "1072:50:75",
            "nodes": [],
            "documentation": {
              "id": 44010,
              "nodeType": "StructuredDocumentation",
              "src": "996:73:75",
              "text": " @notice Thrown when the function called is not implemented"
            },
            "errorSelector": "28153978",
            "name": "SequentialResolutionModule_NotImplemented",
            "nameLocation": "1078:41:75",
            "parameters": {
              "id": 44011,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1119:2:75"
            }
          },
          {
            "id": 44017,
            "nodeType": "ErrorDefinition",
            "src": "1277:76:75",
            "nodes": [],
            "documentation": {
              "id": 44013,
              "nodeType": "StructuredDocumentation",
              "src": "1126:148:75",
              "text": " @notice Thrown when trying to add a new sequenceId that was already used\n @param _sequenceId The sequenceId that was already used"
            },
            "errorSelector": "f9368b44",
            "name": "SequentialResolutionModule_SequenceIdAlreadyUsed",
            "nameLocation": "1283:48:75",
            "parameters": {
              "id": 44016,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44015,
                  "mutability": "mutable",
                  "name": "_sequenceId",
                  "nameLocation": "1340:11:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44017,
                  "src": "1332:19:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 44014,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1332:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1331:21:75"
            }
          },
          {
            "id": 44023,
            "nodeType": "StructDefinition",
            "src": "1737:81:75",
            "nodes": [],
            "canonicalName": "ISequentialResolutionModule.RequestParameters",
            "members": [
              {
                "constant": false,
                "id": 44019,
                "mutability": "mutable",
                "name": "sequenceId",
                "nameLocation": "1776:10:75",
                "nodeType": "VariableDeclaration",
                "scope": 44023,
                "src": "1768:18:75",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 44018,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1768:7:75",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 44022,
                "mutability": "mutable",
                "name": "submoduleData",
                "nameLocation": "1800:13:75",
                "nodeType": "VariableDeclaration",
                "scope": 44023,
                "src": "1792:21:75",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
                  "typeString": "bytes[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 44020,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1792:5:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "id": 44021,
                  "nodeType": "ArrayTypeName",
                  "src": "1792:7:75",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
                    "typeString": "bytes[]"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "RequestParameters",
            "nameLocation": "1744:17:75",
            "scope": 44097,
            "visibility": "public"
          },
          {
            "id": 44029,
            "nodeType": "FunctionDefinition",
            "src": "2117:80:75",
            "nodes": [],
            "documentation": {
              "id": 44024,
              "nodeType": "StructuredDocumentation",
              "src": "1998:116:75",
              "text": " @notice Returns the last sequence id that was created\n @return _currentSequenceId The sequence id"
            },
            "functionSelector": "843d7a70",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "currentSequenceId",
            "nameLocation": "2126:17:75",
            "parameters": {
              "id": 44025,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2143:2:75"
            },
            "returnParameters": {
              "id": 44028,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44027,
                  "mutability": "mutable",
                  "name": "_currentSequenceId",
                  "nameLocation": "2177:18:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44029,
                  "src": "2169:26:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 44026,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2169:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2168:28:75"
            },
            "scope": 44097,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 44037,
            "nodeType": "FunctionDefinition",
            "src": "2377:93:75",
            "nodes": [],
            "documentation": {
              "id": 44030,
              "nodeType": "StructuredDocumentation",
              "src": "2201:173:75",
              "text": " @notice Returns the current index of the submodule in use for a dispute\n @param _disputeId The disputeId\n @return _moduleIndex The index of the module"
            },
            "functionSelector": "67b3a1e9",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "currentModuleIndex",
            "nameLocation": "2386:18:75",
            "parameters": {
              "id": 44033,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44032,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "2413:10:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44037,
                  "src": "2405:18:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 44031,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2405:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2404:20:75"
            },
            "returnParameters": {
              "id": 44036,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44035,
                  "mutability": "mutable",
                  "name": "_moduleIndex",
                  "nameLocation": "2456:12:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44037,
                  "src": "2448:20:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 44034,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2448:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2447:22:75"
            },
            "scope": 44097,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 44045,
            "nodeType": "FunctionDefinition",
            "src": "2623:92:75",
            "nodes": [],
            "documentation": {
              "id": 44038,
              "nodeType": "StructuredDocumentation",
              "src": "2474:146:75",
              "text": " @notice Returns the requestId corresponding to a dispute\n @param _disputeId The disputeId\n @return _requestId The requestId"
            },
            "functionSelector": "da526d1b",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "requestIdForDispute",
            "nameLocation": "2632:19:75",
            "parameters": {
              "id": 44041,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44040,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "2660:10:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44045,
                  "src": "2652:18:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 44039,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2652:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2651:20:75"
            },
            "returnParameters": {
              "id": 44044,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44043,
                  "mutability": "mutable",
                  "name": "_requestId",
                  "nameLocation": "2703:10:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44045,
                  "src": "2695:18:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 44042,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2695:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2694:20:75"
            },
            "scope": 44097,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 44054,
            "nodeType": "FunctionDefinition",
            "src": "2902:104:75",
            "nodes": [],
            "documentation": {
              "id": 44046,
              "nodeType": "StructuredDocumentation",
              "src": "2719:180:75",
              "text": " @notice Returns the decoded data for a request\n @param _requestId The ID of the request\n @return _params The struct containing the parameters for the request"
            },
            "functionSelector": "4d610a46",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "decodeRequestData",
            "nameLocation": "2911:17:75",
            "parameters": {
              "id": 44049,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44048,
                  "mutability": "mutable",
                  "name": "_requestId",
                  "nameLocation": "2937:10:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44054,
                  "src": "2929:18:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 44047,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2929:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2928:20:75"
            },
            "returnParameters": {
              "id": 44053,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44052,
                  "mutability": "mutable",
                  "name": "_params",
                  "nameLocation": "2997:7:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44054,
                  "src": "2972:32:75",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RequestParameters_$44023_memory_ptr",
                    "typeString": "struct ISequentialResolutionModule.RequestParameters"
                  },
                  "typeName": {
                    "id": 44051,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 44050,
                      "name": "RequestParameters",
                      "nameLocations": [
                        "2972:17:75"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 44023,
                      "src": "2972:17:75"
                    },
                    "referencedDeclaration": 44023,
                    "src": "2972:17:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$44023_storage_ptr",
                      "typeString": "struct ISequentialResolutionModule.RequestParameters"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2971:34:75"
            },
            "scope": 44097,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 44068,
            "nodeType": "FunctionDefinition",
            "src": "3452:158:75",
            "nodes": [],
            "documentation": {
              "id": 44055,
              "nodeType": "StructuredDocumentation",
              "src": "3185:264:75",
              "text": " @notice Returns the list of submodules\n @param _startFrom The index to start from\n @param _batchSize The number of submodules to return\n @param _sequenceId The sequence to get the submodules from\n @return _list The list of submodules"
            },
            "functionSelector": "7436f080",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "listSubmodules",
            "nameLocation": "3461:14:75",
            "parameters": {
              "id": 44062,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44057,
                  "mutability": "mutable",
                  "name": "_startFrom",
                  "nameLocation": "3489:10:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44068,
                  "src": "3481:18:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 44056,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3481:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 44059,
                  "mutability": "mutable",
                  "name": "_batchSize",
                  "nameLocation": "3513:10:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44068,
                  "src": "3505:18:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 44058,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3505:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 44061,
                  "mutability": "mutable",
                  "name": "_sequenceId",
                  "nameLocation": "3537:11:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44068,
                  "src": "3529:19:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 44060,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3529:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3475:77:75"
            },
            "returnParameters": {
              "id": 44067,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44066,
                  "mutability": "mutable",
                  "name": "_list",
                  "nameLocation": "3603:5:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44068,
                  "src": "3576:32:75",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_contract$_IResolutionModule_$2399_$dyn_memory_ptr",
                    "typeString": "contract IResolutionModule[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 44064,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 44063,
                        "name": "IResolutionModule",
                        "nameLocations": [
                          "3576:17:75"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 2399,
                        "src": "3576:17:75"
                      },
                      "referencedDeclaration": 2399,
                      "src": "3576:17:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IResolutionModule_$2399",
                        "typeString": "contract IResolutionModule"
                      }
                    },
                    "id": 44065,
                    "nodeType": "ArrayTypeName",
                    "src": "3576:19:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_contract$_IResolutionModule_$2399_$dyn_storage_ptr",
                      "typeString": "contract IResolutionModule[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3575:34:75"
            },
            "scope": 44097,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 44078,
            "nodeType": "FunctionDefinition",
            "src": "3806:113:75",
            "nodes": [],
            "documentation": {
              "id": 44069,
              "nodeType": "StructuredDocumentation",
              "src": "3614:189:75",
              "text": " @notice Adds a sequence of modules to the resolution module registry.\n @param _modules The modules to add to the sequence.\n @return _sequenceId The sequenceId created"
            },
            "functionSelector": "97a0075d",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "addResolutionModuleSequence",
            "nameLocation": "3815:27:75",
            "parameters": {
              "id": 44074,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44073,
                  "mutability": "mutable",
                  "name": "_modules",
                  "nameLocation": "3870:8:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44078,
                  "src": "3843:35:75",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_contract$_IResolutionModule_$2399_$dyn_memory_ptr",
                    "typeString": "contract IResolutionModule[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 44071,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 44070,
                        "name": "IResolutionModule",
                        "nameLocations": [
                          "3843:17:75"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 2399,
                        "src": "3843:17:75"
                      },
                      "referencedDeclaration": 2399,
                      "src": "3843:17:75",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IResolutionModule_$2399",
                        "typeString": "contract IResolutionModule"
                      }
                    },
                    "id": 44072,
                    "nodeType": "ArrayTypeName",
                    "src": "3843:19:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_contract$_IResolutionModule_$2399_$dyn_storage_ptr",
                      "typeString": "contract IResolutionModule[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3842:37:75"
            },
            "returnParameters": {
              "id": 44077,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44076,
                  "mutability": "mutable",
                  "name": "_sequenceId",
                  "nameLocation": "3906:11:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44078,
                  "src": "3898:19:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 44075,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3898:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3897:21:75"
            },
            "scope": 44097,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 44087,
            "nodeType": "FunctionDefinition",
            "src": "4112:101:75",
            "nodes": [],
            "documentation": {
              "id": 44079,
              "nodeType": "StructuredDocumentation",
              "src": "3923:186:75",
              "text": " @notice Returns the module that is currently resolving the specified dispute\n @param _disputeId The id of the dispute\n @return _module Te current resolution module"
            },
            "functionSelector": "0cad26ce",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCurrentResolutionModule",
            "nameLocation": "4121:26:75",
            "parameters": {
              "id": 44082,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44081,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "4156:10:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44087,
                  "src": "4148:18:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 44080,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4148:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4147:20:75"
            },
            "returnParameters": {
              "id": 44086,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44085,
                  "mutability": "mutable",
                  "name": "_module",
                  "nameLocation": "4204:7:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44087,
                  "src": "4186:25:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IResolutionModule_$2399",
                    "typeString": "contract IResolutionModule"
                  },
                  "typeName": {
                    "id": 44084,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 44083,
                      "name": "IResolutionModule",
                      "nameLocations": [
                        "4186:17:75"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2399,
                      "src": "4186:17:75"
                    },
                    "referencedDeclaration": 2399,
                    "src": "4186:17:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IResolutionModule_$2399",
                      "typeString": "contract IResolutionModule"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4185:27:75"
            },
            "scope": 44097,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 44096,
            "nodeType": "FunctionDefinition",
            "src": "4317:90:75",
            "nodes": [],
            "baseFunctions": [
              2212,
              2398
            ],
            "documentation": {
              "id": 44088,
              "nodeType": "StructuredDocumentation",
              "src": "4217:97:75",
              "text": " @notice Resolves a dispute\n @param _disputeId The id of the dispute to resolve"
            },
            "functionSelector": "c8218e3e",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "resolveDispute",
            "nameLocation": "4326:14:75",
            "overrides": {
              "id": 44094,
              "nodeType": "OverrideSpecifier",
              "overrides": [
                {
                  "id": 44092,
                  "name": "IOracle",
                  "nameLocations": [
                    "4379:7:75"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 2282,
                  "src": "4379:7:75"
                },
                {
                  "id": 44093,
                  "name": "IResolutionModule",
                  "nameLocations": [
                    "4388:17:75"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 2399,
                  "src": "4388:17:75"
                }
              ],
              "src": "4370:36:75"
            },
            "parameters": {
              "id": 44091,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 44090,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "4349:10:75",
                  "nodeType": "VariableDeclaration",
                  "scope": 44096,
                  "src": "4341:18:75",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 44089,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4341:7:75",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4340:20:75"
            },
            "returnParameters": {
              "id": 44095,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4406:0:75"
            },
            "scope": 44097,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 43994,
              "name": "IOracle",
              "nameLocations": [
                "335:7:75"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 2282,
              "src": "335:7:75"
            },
            "id": 43995,
            "nodeType": "InheritanceSpecifier",
            "src": "335:7:75"
          },
          {
            "baseName": {
              "id": 43996,
              "name": "IResolutionModule",
              "nameLocations": [
                "344:17:75"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 2399,
              "src": "344:17:75"
            },
            "id": 43997,
            "nodeType": "InheritanceSpecifier",
            "src": "344:17:75"
          }
        ],
        "canonicalName": "ISequentialResolutionModule",
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "linearizedBaseContracts": [
          44097,
          2399,
          1782,
          2282
        ],
        "name": "ISequentialResolutionModule",
        "nameLocation": "304:27:75",
        "scope": 44098,
        "usedErrors": [
          1745,
          1863,
          1868,
          1873,
          1878,
          1883,
          1888,
          1893,
          1898,
          1903,
          1908,
          1913,
          1918,
          1925,
          1928,
          44009,
          44012,
          44017
        ]
      }
    ],
    "license": "MIT"
  },
  "id": 75
}