{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "expectedPremiumAmount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "sumInsuredAmount",
          "type": "uint256"
        }
      ],
      "name": "adjustPremiumSumInsured",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "requestId",
          "type": "uint256"
        }
      ],
      "name": "cancelRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "close",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "claimId",
          "type": "uint256"
        }
      ],
      "name": "closeClaim",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "collectPremium",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        },
        {
          "internalType": "uint256",
          "name": "feeAmount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "netPremiumAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "claimId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "confirmedAmount",
          "type": "uint256"
        }
      ],
      "name": "confirmClaim",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "decline",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "claimId",
          "type": "uint256"
        }
      ],
      "name": "declineClaim",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "expire",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "premiumAmount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "sumInsuredAmount",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "metaData",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "applicationData",
          "type": "bytes"
        }
      ],
      "name": "newApplication",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "claimAmount",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "newClaim",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "claimId",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "claimId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "newPayout",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "payoutId",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "payoutId",
          "type": "uint256"
        }
      ],
      "name": "processPayout",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "feeAmount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "netPayoutAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "string",
          "name": "callbackMethodName",
          "type": "string"
        },
        {
          "internalType": "address",
          "name": "callbackContractAddress",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "responsibleOracleId",
          "type": "uint256"
        }
      ],
      "name": "request",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "requestId",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "revoke",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "underwrite",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "50": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IProductService.sol"
  },
  "ast": {
    "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IProductService.sol",
    "exportedSymbols": {
      "IProductService": [
        23900
      ]
    },
    "id": 23901,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 23757,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:50"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 23900,
        "linearizedBaseContracts": [
          23900
        ],
        "name": "IProductService",
        "nameLocation": "73:15:50",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "functionSelector": "93b8414a",
            "id": 23772,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "newApplication",
            "nameLocation": "105:14:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23768,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23759,
                  "mutability": "mutable",
                  "name": "owner",
                  "nameLocation": "137:5:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23772,
                  "src": "129:13:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 23758,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "129:7:50",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23761,
                  "mutability": "mutable",
                  "name": "premiumAmount",
                  "nameLocation": "160:13:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23772,
                  "src": "152:21:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23760,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "152:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23763,
                  "mutability": "mutable",
                  "name": "sumInsuredAmount",
                  "nameLocation": "191:16:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23772,
                  "src": "183:24:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23762,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "183:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23765,
                  "mutability": "mutable",
                  "name": "metaData",
                  "nameLocation": "232:8:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23772,
                  "src": "217:23:50",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 23764,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "217:5:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23767,
                  "mutability": "mutable",
                  "name": "applicationData",
                  "nameLocation": "266:15:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23772,
                  "src": "251:30:50",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 23766,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "251:5:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "119:169:50"
            },
            "returnParameters": {
              "id": 23771,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23770,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "314:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23772,
                  "src": "306:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23769,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "306:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "305:19:50"
            },
            "scope": 23900,
            "src": "96:229:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "e3ebdea5",
            "id": 23785,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "collectPremium",
            "nameLocation": "340:14:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23777,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23774,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "363:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23785,
                  "src": "355:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23773,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "355:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23776,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "382:6:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23785,
                  "src": "374:14:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23775,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "374:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "354:35:50"
            },
            "returnParameters": {
              "id": 23784,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23779,
                  "mutability": "mutable",
                  "name": "success",
                  "nameLocation": "433:7:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23785,
                  "src": "428:12:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 23778,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "428:4:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23781,
                  "mutability": "mutable",
                  "name": "feeAmount",
                  "nameLocation": "462:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23785,
                  "src": "454:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23780,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "454:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23783,
                  "mutability": "mutable",
                  "name": "netPremiumAmount",
                  "nameLocation": "493:16:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23785,
                  "src": "485:24:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23782,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "485:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "414:105:50"
            },
            "scope": 23900,
            "src": "331:189:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "30a73da5",
            "id": 23794,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "adjustPremiumSumInsured",
            "nameLocation": "539:23:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23792,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23787,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "580:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23794,
                  "src": "572:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23786,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "572:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23789,
                  "mutability": "mutable",
                  "name": "expectedPremiumAmount",
                  "nameLocation": "608:21:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23794,
                  "src": "600:29:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23788,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "600:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23791,
                  "mutability": "mutable",
                  "name": "sumInsuredAmount",
                  "nameLocation": "647:16:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23794,
                  "src": "639:24:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23790,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "639:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "562:107:50"
            },
            "returnParameters": {
              "id": 23793,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "678:0:50"
            },
            "scope": 23900,
            "src": "530:149:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b75c7dc6",
            "id": 23799,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "revoke",
            "nameLocation": "694:6:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23797,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23796,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "709:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23799,
                  "src": "701:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23795,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "701:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "700:19:50"
            },
            "returnParameters": {
              "id": 23798,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "728:0:50"
            },
            "scope": 23900,
            "src": "685:44:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "1b07b17f",
            "id": 23806,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "underwrite",
            "nameLocation": "743:10:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23802,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23801,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "762:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23806,
                  "src": "754:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23800,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "754:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "753:19:50"
            },
            "returnParameters": {
              "id": 23805,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23804,
                  "mutability": "mutable",
                  "name": "success",
                  "nameLocation": "795:7:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23806,
                  "src": "790:12:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 23803,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "790:4:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "789:14:50"
            },
            "scope": 23900,
            "src": "734:70:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "8cc7d3d1",
            "id": 23811,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "decline",
            "nameLocation": "818:7:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23809,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23808,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "834:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23811,
                  "src": "826:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23807,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "826:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "825:19:50"
            },
            "returnParameters": {
              "id": 23810,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "853:0:50"
            },
            "scope": 23900,
            "src": "809:45:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c6441798",
            "id": 23816,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "expire",
            "nameLocation": "868:6:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23814,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23813,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "883:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23816,
                  "src": "875:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23812,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "875:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "874:19:50"
            },
            "returnParameters": {
              "id": 23815,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "902:0:50"
            },
            "scope": 23900,
            "src": "859:44:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "39c79e0c",
            "id": 23821,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "close",
            "nameLocation": "917:5:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23819,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23818,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "931:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23821,
                  "src": "923:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23817,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "923:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "922:19:50"
            },
            "returnParameters": {
              "id": 23820,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "950:0:50"
            },
            "scope": 23900,
            "src": "908:43:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "fae43d15",
            "id": 23832,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "newClaim",
            "nameLocation": "966:8:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23828,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23823,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "992:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23832,
                  "src": "984:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23822,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "984:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23825,
                  "mutability": "mutable",
                  "name": "claimAmount",
                  "nameLocation": "1020:11:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23832,
                  "src": "1012:19:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23824,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1012:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23827,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "1056:4:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23832,
                  "src": "1041:19:50",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 23826,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1041:5:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "974:92:50"
            },
            "returnParameters": {
              "id": 23831,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23830,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "1092:7:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23832,
                  "src": "1084:15:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23829,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1084:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1083:17:50"
            },
            "scope": 23900,
            "src": "957:144:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4e02c63f",
            "id": 23841,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "confirmClaim",
            "nameLocation": "1116:12:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23839,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23834,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1146:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23841,
                  "src": "1138:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23833,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1138:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23836,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "1174:7:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23841,
                  "src": "1166:15:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23835,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1166:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23838,
                  "mutability": "mutable",
                  "name": "confirmedAmount",
                  "nameLocation": "1200:15:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23841,
                  "src": "1192:23:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23837,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1192:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1128:93:50"
            },
            "returnParameters": {
              "id": 23840,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1230:0:50"
            },
            "scope": 23900,
            "src": "1107:124:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4cda0de9",
            "id": 23848,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "declineClaim",
            "nameLocation": "1246:12:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23846,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23843,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1267:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23848,
                  "src": "1259:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23842,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1259:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23845,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "1286:7:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23848,
                  "src": "1278:15:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23844,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1278:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1258:36:50"
            },
            "returnParameters": {
              "id": 23847,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1303:0:50"
            },
            "scope": 23900,
            "src": "1237:67:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "7f29dba2",
            "id": 23855,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "closeClaim",
            "nameLocation": "1318:10:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23853,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23850,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1337:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23855,
                  "src": "1329:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23849,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1329:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23852,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "1356:7:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23855,
                  "src": "1348:15:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23851,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1348:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1328:36:50"
            },
            "returnParameters": {
              "id": 23854,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1373:0:50"
            },
            "scope": 23900,
            "src": "1309:65:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "781d7846",
            "id": 23868,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "newPayout",
            "nameLocation": "1389:9:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23864,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23857,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1416:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23868,
                  "src": "1408:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23856,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1408:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23859,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "1444:7:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23868,
                  "src": "1436:15:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23858,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1436:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23861,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1470:6:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23868,
                  "src": "1462:14:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23860,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1462:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23863,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "1501:4:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23868,
                  "src": "1486:19:50",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 23862,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1486:5:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1398:113:50"
            },
            "returnParameters": {
              "id": 23867,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23866,
                  "mutability": "mutable",
                  "name": "payoutId",
                  "nameLocation": "1537:8:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23868,
                  "src": "1529:16:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23865,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1529:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1528:18:50"
            },
            "scope": 23900,
            "src": "1380:167:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "fe64372b",
            "id": 23879,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPayout",
            "nameLocation": "1562:13:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23873,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23870,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1584:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23879,
                  "src": "1576:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23869,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1576:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23872,
                  "mutability": "mutable",
                  "name": "payoutId",
                  "nameLocation": "1603:8:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23879,
                  "src": "1595:16:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23871,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1595:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1575:37:50"
            },
            "returnParameters": {
              "id": 23878,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23875,
                  "mutability": "mutable",
                  "name": "feeAmount",
                  "nameLocation": "1659:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23879,
                  "src": "1651:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23874,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1651:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23877,
                  "mutability": "mutable",
                  "name": "netPayoutAmount",
                  "nameLocation": "1690:15:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23879,
                  "src": "1682:23:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23876,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1682:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1637:78:50"
            },
            "scope": 23900,
            "src": "1553:163:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2c933f22",
            "id": 23894,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "request",
            "nameLocation": "1731:7:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23890,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23881,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1756:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23894,
                  "src": "1748:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23880,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1748:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23883,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "1790:4:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23894,
                  "src": "1775:19:50",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 23882,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1775:5:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23885,
                  "mutability": "mutable",
                  "name": "callbackMethodName",
                  "nameLocation": "1820:18:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23894,
                  "src": "1804:34:50",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 23884,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1804:6:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23887,
                  "mutability": "mutable",
                  "name": "callbackContractAddress",
                  "nameLocation": "1856:23:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23894,
                  "src": "1848:31:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 23886,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1848:7:50",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23889,
                  "mutability": "mutable",
                  "name": "responsibleOracleId",
                  "nameLocation": "1897:19:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23894,
                  "src": "1889:27:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23888,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1889:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1738:184:50"
            },
            "returnParameters": {
              "id": 23893,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23892,
                  "mutability": "mutable",
                  "name": "requestId",
                  "nameLocation": "1948:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23894,
                  "src": "1940:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23891,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1940:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1939:19:50"
            },
            "scope": 23900,
            "src": "1722:237:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "3015394c",
            "id": 23899,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "cancelRequest",
            "nameLocation": "1974:13:50",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23897,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23896,
                  "mutability": "mutable",
                  "name": "requestId",
                  "nameLocation": "1996:9:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 23899,
                  "src": "1988:17:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23895,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1988:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1987:19:50"
            },
            "returnParameters": {
              "id": 23898,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2015:0:50"
            },
            "scope": 23900,
            "src": "1965:51:50",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 23901,
        "src": "63:1955:50"
      }
    ],
    "src": "39:1980:50"
  },
  "bytecode": "",
  "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.2+commit.661d1103"
  },
  "contractName": "IProductService",
  "coverageMap": {
    "branches": {},
    "statements": {}
  },
  "dependencies": [],
  "deployedBytecode": "",
  "deployedSourceMap": "",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "offset": [
    63,
    2018
  ],
  "opcodes": "",
  "pcMap": {},
  "sha1": "a9bb78c3f0ebb9395271b09bb6ebd4f5d77d123a",
  "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.2;\n\ninterface IProductService {\n\n    function newApplication(\n        address owner,\n        uint256 premiumAmount,\n        uint256 sumInsuredAmount,\n        bytes calldata metaData, \n        bytes calldata applicationData \n    ) external returns(bytes32 processId);\n\n    function collectPremium(bytes32 processId, uint256 amount) external\n        returns(\n            bool success,\n            uint256 feeAmount,\n            uint256 netPremiumAmount\n        );\n    \n    function adjustPremiumSumInsured(\n        bytes32 processId, \n        uint256 expectedPremiumAmount,\n        uint256 sumInsuredAmount\n    ) external;\n\n    function revoke(bytes32 processId) external;\n    function underwrite(bytes32 processId) external returns(bool success);\n    function decline(bytes32 processId) external;\n    function expire(bytes32 processId) external;\n    function close(bytes32 processId) external;\n\n    function newClaim(\n        bytes32 processId, \n        uint256 claimAmount,\n        bytes calldata data\n    ) external returns(uint256 claimId);\n\n    function confirmClaim(\n        bytes32 processId, \n        uint256 claimId, \n        uint256 confirmedAmount\n    ) external;\n\n    function declineClaim(bytes32 processId, uint256 claimId) external;\n    function closeClaim(bytes32 processId, uint256 claimId) external;\n\n    function newPayout(\n        bytes32 processId, \n        uint256 claimId, \n        uint256 amount,\n        bytes calldata data\n    ) external returns(uint256 payoutId);\n\n    function processPayout(bytes32 processId, uint256 payoutId) external\n        returns(\n            uint256 feeAmount,\n            uint256 netPayoutAmount\n        );\n\n    function request(\n        bytes32 processId,\n        bytes calldata data,\n        string calldata callbackMethodName,\n        address callbackContractAddress,\n        uint256 responsibleOracleId\n    ) external returns(uint256 requestId);\n\n    function cancelRequest(uint256 requestId) external;\n}\n",
  "sourceMap": "",
  "sourcePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IProductService.sol",
  "type": "interface"
}