{
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "premiumAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "sumInsuredAmount",
          "type": "uint256"
        }
      ],
      "name": "LogApplicationCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "LogApplicationDeclined",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "premiumAmountOld",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "premiumAmount",
          "type": "uint256"
        }
      ],
      "name": "LogApplicationPremiumAdjusted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "LogApplicationRevoked",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "sumInsuredAmountOld",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "sumInsuredAmount",
          "type": "uint256"
        }
      ],
      "name": "LogApplicationSumInsuredAdjusted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "LogApplicationUnderwritten",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "claimId",
          "type": "uint256"
        }
      ],
      "name": "LogClaimClosed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "claimId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "confirmedAmount",
          "type": "uint256"
        }
      ],
      "name": "LogClaimConfirmed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "claimId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "claimAmount",
          "type": "uint256"
        }
      ],
      "name": "LogClaimCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "claimId",
          "type": "uint256"
        }
      ],
      "name": "LogClaimDeclined",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "productId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "enum IPolicy.PolicyFlowState",
          "name": "state",
          "type": "uint8"
        }
      ],
      "name": "LogMetadataCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "enum IPolicy.PolicyFlowState",
          "name": "state",
          "type": "uint8"
        }
      ],
      "name": "LogMetadataStateChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "claimId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "payoutId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "LogPayoutCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "payoutId",
          "type": "uint256"
        }
      ],
      "name": "LogPayoutProcessed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "LogPolicyClosed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "LogPolicyCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "LogPolicyExpired",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "premiumExpectedAmountOld",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "premiumExpectedAmount",
          "type": "uint256"
        }
      ],
      "name": "LogPolicyPremiumAdjusted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "LogPremiumCollected",
      "type": "event"
    },
    {
      "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": "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"
        }
      ],
      "name": "closePolicy",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "collectPremium",
      "outputs": [],
      "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"
        },
        {
          "internalType": "uint256",
          "name": "premiumAmount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "sumInsuredAmount",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "createApplication",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "claimAmount",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "createClaim",
      "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": "payoutAmount",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "createPayout",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "payoutId",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "createPolicy",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "productId",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "createPolicyFlow",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "declineApplication",
      "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": "expirePolicy",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "payoutId",
          "type": "uint256"
        }
      ],
      "name": "processPayout",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "revokeApplication",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "underwriteApplication",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "36": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol"
  },
  "ast": {
    "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol",
    "exportedSymbols": {
      "IPolicy": [
        12649
      ]
    },
    "id": 12650,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 12305,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:36"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 12649,
        "linearizedBaseContracts": [
          12649
        ],
        "name": "IPolicy",
        "nameLocation": "73:7:36",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "id": 12316,
            "name": "LogMetadataCreated",
            "nameLocation": "108:18:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12315,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12307,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "owner",
                  "nameLocation": "144:5:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12316,
                  "src": "136:13:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 12306,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "136:7:36",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12309,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "167:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12316,
                  "src": "159:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12308,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "159:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12311,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "productId",
                  "nameLocation": "194:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12316,
                  "src": "186:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12310,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "186:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12314,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "state",
                  "nameLocation": "230:5:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12316,
                  "src": "214:21:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_PolicyFlowState_$12433",
                    "typeString": "enum IPolicy.PolicyFlowState"
                  },
                  "typeName": {
                    "id": 12313,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12312,
                      "name": "PolicyFlowState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 12433,
                      "src": "214:15:36"
                    },
                    "referencedDeclaration": 12433,
                    "src": "214:15:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_PolicyFlowState_$12433",
                      "typeString": "enum IPolicy.PolicyFlowState"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "126:115:36"
            },
            "src": "102:140:36"
          },
          {
            "anonymous": false,
            "id": 12323,
            "name": "LogMetadataStateChanged",
            "nameLocation": "254:23:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12322,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12318,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "295:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12323,
                  "src": "287:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12317,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "287:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12321,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "state",
                  "nameLocation": "331:5:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12323,
                  "src": "315:21:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_PolicyFlowState_$12433",
                    "typeString": "enum IPolicy.PolicyFlowState"
                  },
                  "typeName": {
                    "id": 12320,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12319,
                      "name": "PolicyFlowState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 12433,
                      "src": "315:15:36"
                    },
                    "referencedDeclaration": 12433,
                    "src": "315:15:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_PolicyFlowState_$12433",
                      "typeString": "enum IPolicy.PolicyFlowState"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "277:65:36"
            },
            "src": "248:95:36"
          },
          {
            "anonymous": false,
            "id": 12331,
            "name": "LogApplicationCreated",
            "nameLocation": "355:21:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12330,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12325,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "394:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12331,
                  "src": "386:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12324,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "386:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12327,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "premiumAmount",
                  "nameLocation": "422:13:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12331,
                  "src": "414:21:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12326,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "414:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12329,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "sumInsuredAmount",
                  "nameLocation": "454:16:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12331,
                  "src": "446:24:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12328,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "446:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "376:100:36"
            },
            "src": "349:128:36"
          },
          {
            "anonymous": false,
            "id": 12335,
            "name": "LogApplicationRevoked",
            "nameLocation": "489:21:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12334,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12333,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "519:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12335,
                  "src": "511:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12332,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "511:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "510:19:36"
            },
            "src": "483:47:36"
          },
          {
            "anonymous": false,
            "id": 12339,
            "name": "LogApplicationUnderwritten",
            "nameLocation": "541:26:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12338,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12337,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "576:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12339,
                  "src": "568:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12336,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "568:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "567:19:36"
            },
            "src": "535:52:36"
          },
          {
            "anonymous": false,
            "id": 12343,
            "name": "LogApplicationDeclined",
            "nameLocation": "598:22:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12342,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12341,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "629:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12343,
                  "src": "621:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12340,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "621:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "620:19:36"
            },
            "src": "592:48:36"
          },
          {
            "anonymous": false,
            "id": 12347,
            "name": "LogPolicyCreated",
            "nameLocation": "652:16:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12346,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12345,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "677:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12347,
                  "src": "669:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12344,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "669:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "668:19:36"
            },
            "src": "646:42:36"
          },
          {
            "anonymous": false,
            "id": 12351,
            "name": "LogPolicyExpired",
            "nameLocation": "699:16:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12350,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12349,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "724:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12351,
                  "src": "716:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12348,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "716:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "715:19:36"
            },
            "src": "693:42:36"
          },
          {
            "anonymous": false,
            "id": 12355,
            "name": "LogPolicyClosed",
            "nameLocation": "746:15:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12354,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12353,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "770:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12355,
                  "src": "762:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12352,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "762:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "761:19:36"
            },
            "src": "740:41:36"
          },
          {
            "anonymous": false,
            "id": 12361,
            "name": "LogPremiumCollected",
            "nameLocation": "793:19:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12360,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12357,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "821:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12361,
                  "src": "813:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12356,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "813:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12359,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "840:6:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12361,
                  "src": "832:14:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12358,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "832:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "812:35:36"
            },
            "src": "787:61:36"
          },
          {
            "anonymous": false,
            "id": 12369,
            "name": "LogApplicationSumInsuredAdjusted",
            "nameLocation": "864:32:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12368,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12363,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "905:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12369,
                  "src": "897:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12362,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "897:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12365,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "sumInsuredAmountOld",
                  "nameLocation": "924:19:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12369,
                  "src": "916:27:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12364,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "916:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12367,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "sumInsuredAmount",
                  "nameLocation": "953:16:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12369,
                  "src": "945:24:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12366,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "945:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "896:74:36"
            },
            "src": "858:113:36"
          },
          {
            "anonymous": false,
            "id": 12377,
            "name": "LogApplicationPremiumAdjusted",
            "nameLocation": "982:29:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12376,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12371,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1020:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12377,
                  "src": "1012:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12370,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1012:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12373,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "premiumAmountOld",
                  "nameLocation": "1039:16:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12377,
                  "src": "1031:24:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12372,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1031:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12375,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "premiumAmount",
                  "nameLocation": "1065:13:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12377,
                  "src": "1057:21:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12374,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1057:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1011:68:36"
            },
            "src": "976:104:36"
          },
          {
            "anonymous": false,
            "id": 12385,
            "name": "LogPolicyPremiumAdjusted",
            "nameLocation": "1091:24:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12384,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12379,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1124:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12385,
                  "src": "1116:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12378,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1116:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12381,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "premiumExpectedAmountOld",
                  "nameLocation": "1143:24:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12385,
                  "src": "1135:32:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12380,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1135:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12383,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "premiumExpectedAmount",
                  "nameLocation": "1177:21:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12385,
                  "src": "1169:29:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12382,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1169:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1115:84:36"
            },
            "src": "1085:115:36"
          },
          {
            "anonymous": false,
            "id": 12393,
            "name": "LogClaimCreated",
            "nameLocation": "1212:15:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12392,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12387,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1236:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12393,
                  "src": "1228:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12386,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1228:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12389,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "1255:7:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12393,
                  "src": "1247:15:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12388,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1247:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12391,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "claimAmount",
                  "nameLocation": "1272:11:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12393,
                  "src": "1264:19:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12390,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1264:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1227:57:36"
            },
            "src": "1206:79:36"
          },
          {
            "anonymous": false,
            "id": 12401,
            "name": "LogClaimConfirmed",
            "nameLocation": "1296:17:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12400,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12395,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1322:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12401,
                  "src": "1314:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12394,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1314:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12397,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "1341:7:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12401,
                  "src": "1333:15:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12396,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1333:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12399,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "confirmedAmount",
                  "nameLocation": "1358:15:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12401,
                  "src": "1350:23:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12398,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1350:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1313:61:36"
            },
            "src": "1290:85:36"
          },
          {
            "anonymous": false,
            "id": 12407,
            "name": "LogClaimDeclined",
            "nameLocation": "1386:16:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12406,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12403,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1411:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12407,
                  "src": "1403:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12402,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1403:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12405,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "1430:7:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12407,
                  "src": "1422:15:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12404,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1422:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1402:36:36"
            },
            "src": "1380:59:36"
          },
          {
            "anonymous": false,
            "id": 12413,
            "name": "LogClaimClosed",
            "nameLocation": "1450:14:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12412,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12409,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1473:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12413,
                  "src": "1465:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12408,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1465:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12411,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "1492:7:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12413,
                  "src": "1484:15:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12410,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1484:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1464:36:36"
            },
            "src": "1444:57:36"
          },
          {
            "anonymous": false,
            "id": 12423,
            "name": "LogPayoutCreated",
            "nameLocation": "1513:16:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12422,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12415,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1547:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12423,
                  "src": "1539:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12414,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1539:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12417,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "1574:7:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12423,
                  "src": "1566:15:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12416,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1566:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12419,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "payoutId",
                  "nameLocation": "1599:8:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12423,
                  "src": "1591:16:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12418,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1591:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12421,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1625:6:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12423,
                  "src": "1617:14:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12420,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1617:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1529:108:36"
            },
            "src": "1507:131:36"
          },
          {
            "anonymous": false,
            "id": 12429,
            "name": "LogPayoutProcessed",
            "nameLocation": "1650:18:36",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 12428,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12425,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1686:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12429,
                  "src": "1678:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12424,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1678:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12427,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "payoutId",
                  "nameLocation": "1714:8:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12429,
                  "src": "1706:16:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12426,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1706:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1668:60:36"
            },
            "src": "1644:85:36"
          },
          {
            "canonicalName": "IPolicy.PolicyFlowState",
            "id": 12433,
            "members": [
              {
                "id": 12430,
                "name": "Started",
                "nameLocation": "1771:7:36",
                "nodeType": "EnumValue",
                "src": "1771:7:36"
              },
              {
                "id": 12431,
                "name": "Active",
                "nameLocation": "1780:6:36",
                "nodeType": "EnumValue",
                "src": "1780:6:36"
              },
              {
                "id": 12432,
                "name": "Finished",
                "nameLocation": "1788:8:36",
                "nodeType": "EnumValue",
                "src": "1788:8:36"
              }
            ],
            "name": "PolicyFlowState",
            "nameLocation": "1754:15:36",
            "nodeType": "EnumDefinition",
            "src": "1749:48:36"
          },
          {
            "canonicalName": "IPolicy.ApplicationState",
            "id": 12438,
            "members": [
              {
                "id": 12434,
                "name": "Applied",
                "nameLocation": "1825:7:36",
                "nodeType": "EnumValue",
                "src": "1825:7:36"
              },
              {
                "id": 12435,
                "name": "Revoked",
                "nameLocation": "1834:7:36",
                "nodeType": "EnumValue",
                "src": "1834:7:36"
              },
              {
                "id": 12436,
                "name": "Underwritten",
                "nameLocation": "1843:12:36",
                "nodeType": "EnumValue",
                "src": "1843:12:36"
              },
              {
                "id": 12437,
                "name": "Declined",
                "nameLocation": "1857:8:36",
                "nodeType": "EnumValue",
                "src": "1857:8:36"
              }
            ],
            "name": "ApplicationState",
            "nameLocation": "1807:16:36",
            "nodeType": "EnumDefinition",
            "src": "1802:64:36"
          },
          {
            "canonicalName": "IPolicy.PolicyState",
            "id": 12442,
            "members": [
              {
                "id": 12439,
                "name": "Active",
                "nameLocation": "1889:6:36",
                "nodeType": "EnumValue",
                "src": "1889:6:36"
              },
              {
                "id": 12440,
                "name": "Expired",
                "nameLocation": "1897:7:36",
                "nodeType": "EnumValue",
                "src": "1897:7:36"
              },
              {
                "id": 12441,
                "name": "Closed",
                "nameLocation": "1906:6:36",
                "nodeType": "EnumValue",
                "src": "1906:6:36"
              }
            ],
            "name": "PolicyState",
            "nameLocation": "1876:11:36",
            "nodeType": "EnumDefinition",
            "src": "1871:42:36"
          },
          {
            "canonicalName": "IPolicy.ClaimState",
            "id": 12447,
            "members": [
              {
                "id": 12443,
                "name": "Applied",
                "nameLocation": "1935:7:36",
                "nodeType": "EnumValue",
                "src": "1935:7:36"
              },
              {
                "id": 12444,
                "name": "Confirmed",
                "nameLocation": "1944:9:36",
                "nodeType": "EnumValue",
                "src": "1944:9:36"
              },
              {
                "id": 12445,
                "name": "Declined",
                "nameLocation": "1955:8:36",
                "nodeType": "EnumValue",
                "src": "1955:8:36"
              },
              {
                "id": 12446,
                "name": "Closed",
                "nameLocation": "1965:6:36",
                "nodeType": "EnumValue",
                "src": "1965:6:36"
              }
            ],
            "name": "ClaimState",
            "nameLocation": "1923:10:36",
            "nodeType": "EnumDefinition",
            "src": "1918:54:36"
          },
          {
            "canonicalName": "IPolicy.PayoutState",
            "id": 12450,
            "members": [
              {
                "id": 12448,
                "name": "Expected",
                "nameLocation": "1995:8:36",
                "nodeType": "EnumValue",
                "src": "1995:8:36"
              },
              {
                "id": 12449,
                "name": "PaidOut",
                "nameLocation": "2005:7:36",
                "nodeType": "EnumValue",
                "src": "2005:7:36"
              }
            ],
            "name": "PayoutState",
            "nameLocation": "1982:11:36",
            "nodeType": "EnumDefinition",
            "src": "1977:36:36"
          },
          {
            "canonicalName": "IPolicy.Metadata",
            "id": 12464,
            "members": [
              {
                "constant": false,
                "id": 12452,
                "mutability": "mutable",
                "name": "owner",
                "nameLocation": "2068:5:36",
                "nodeType": "VariableDeclaration",
                "scope": 12464,
                "src": "2060:13:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 12451,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2060:7:36",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12454,
                "mutability": "mutable",
                "name": "productId",
                "nameLocation": "2091:9:36",
                "nodeType": "VariableDeclaration",
                "scope": 12464,
                "src": "2083:17:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12453,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2083:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12457,
                "mutability": "mutable",
                "name": "state",
                "nameLocation": "2126:5:36",
                "nodeType": "VariableDeclaration",
                "scope": 12464,
                "src": "2110:21:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_PolicyFlowState_$12433",
                  "typeString": "enum IPolicy.PolicyFlowState"
                },
                "typeName": {
                  "id": 12456,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 12455,
                    "name": "PolicyFlowState",
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 12433,
                    "src": "2110:15:36"
                  },
                  "referencedDeclaration": 12433,
                  "src": "2110:15:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_PolicyFlowState_$12433",
                    "typeString": "enum IPolicy.PolicyFlowState"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12459,
                "mutability": "mutable",
                "name": "data",
                "nameLocation": "2147:4:36",
                "nodeType": "VariableDeclaration",
                "scope": 12464,
                "src": "2141:10:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 12458,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "2141:5:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12461,
                "mutability": "mutable",
                "name": "createdAt",
                "nameLocation": "2169:9:36",
                "nodeType": "VariableDeclaration",
                "scope": 12464,
                "src": "2161:17:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12460,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2161:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12463,
                "mutability": "mutable",
                "name": "updatedAt",
                "nameLocation": "2196:9:36",
                "nodeType": "VariableDeclaration",
                "scope": 12464,
                "src": "2188:17:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12462,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2188:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Metadata",
            "nameLocation": "2041:8:36",
            "nodeType": "StructDefinition",
            "scope": 12649,
            "src": "2034:178:36",
            "visibility": "public"
          },
          {
            "canonicalName": "IPolicy.Application",
            "id": 12478,
            "members": [
              {
                "constant": false,
                "id": 12467,
                "mutability": "mutable",
                "name": "state",
                "nameLocation": "2264:5:36",
                "nodeType": "VariableDeclaration",
                "scope": 12478,
                "src": "2247:22:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_ApplicationState_$12438",
                  "typeString": "enum IPolicy.ApplicationState"
                },
                "typeName": {
                  "id": 12466,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 12465,
                    "name": "ApplicationState",
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 12438,
                    "src": "2247:16:36"
                  },
                  "referencedDeclaration": 12438,
                  "src": "2247:16:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ApplicationState_$12438",
                    "typeString": "enum IPolicy.ApplicationState"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12469,
                "mutability": "mutable",
                "name": "premiumAmount",
                "nameLocation": "2287:13:36",
                "nodeType": "VariableDeclaration",
                "scope": 12478,
                "src": "2279:21:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12468,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2279:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12471,
                "mutability": "mutable",
                "name": "sumInsuredAmount",
                "nameLocation": "2318:16:36",
                "nodeType": "VariableDeclaration",
                "scope": 12478,
                "src": "2310:24:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12470,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2310:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12473,
                "mutability": "mutable",
                "name": "data",
                "nameLocation": "2350:4:36",
                "nodeType": "VariableDeclaration",
                "scope": 12478,
                "src": "2344:10:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 12472,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "2344:5:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12475,
                "mutability": "mutable",
                "name": "createdAt",
                "nameLocation": "2373:9:36",
                "nodeType": "VariableDeclaration",
                "scope": 12478,
                "src": "2365:17:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12474,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2365:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12477,
                "mutability": "mutable",
                "name": "updatedAt",
                "nameLocation": "2400:9:36",
                "nodeType": "VariableDeclaration",
                "scope": 12478,
                "src": "2392:17:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12476,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2392:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Application",
            "nameLocation": "2225:11:36",
            "nodeType": "StructDefinition",
            "scope": 12649,
            "src": "2218:198:36",
            "visibility": "public"
          },
          {
            "canonicalName": "IPolicy.Policy",
            "id": 12498,
            "members": [
              {
                "constant": false,
                "id": 12481,
                "mutability": "mutable",
                "name": "state",
                "nameLocation": "2458:5:36",
                "nodeType": "VariableDeclaration",
                "scope": 12498,
                "src": "2446:17:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_PolicyState_$12442",
                  "typeString": "enum IPolicy.PolicyState"
                },
                "typeName": {
                  "id": 12480,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 12479,
                    "name": "PolicyState",
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 12442,
                    "src": "2446:11:36"
                  },
                  "referencedDeclaration": 12442,
                  "src": "2446:11:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_PolicyState_$12442",
                    "typeString": "enum IPolicy.PolicyState"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12483,
                "mutability": "mutable",
                "name": "premiumExpectedAmount",
                "nameLocation": "2481:21:36",
                "nodeType": "VariableDeclaration",
                "scope": 12498,
                "src": "2473:29:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12482,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2473:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12485,
                "mutability": "mutable",
                "name": "premiumPaidAmount",
                "nameLocation": "2520:17:36",
                "nodeType": "VariableDeclaration",
                "scope": 12498,
                "src": "2512:25:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12484,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2512:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12487,
                "mutability": "mutable",
                "name": "claimsCount",
                "nameLocation": "2555:11:36",
                "nodeType": "VariableDeclaration",
                "scope": 12498,
                "src": "2547:19:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12486,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2547:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12489,
                "mutability": "mutable",
                "name": "openClaimsCount",
                "nameLocation": "2584:15:36",
                "nodeType": "VariableDeclaration",
                "scope": 12498,
                "src": "2576:23:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12488,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2576:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12491,
                "mutability": "mutable",
                "name": "payoutMaxAmount",
                "nameLocation": "2617:15:36",
                "nodeType": "VariableDeclaration",
                "scope": 12498,
                "src": "2609:23:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12490,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2609:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12493,
                "mutability": "mutable",
                "name": "payoutAmount",
                "nameLocation": "2650:12:36",
                "nodeType": "VariableDeclaration",
                "scope": 12498,
                "src": "2642:20:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12492,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2642:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12495,
                "mutability": "mutable",
                "name": "createdAt",
                "nameLocation": "2680:9:36",
                "nodeType": "VariableDeclaration",
                "scope": 12498,
                "src": "2672:17:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12494,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2672:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12497,
                "mutability": "mutable",
                "name": "updatedAt",
                "nameLocation": "2707:9:36",
                "nodeType": "VariableDeclaration",
                "scope": 12498,
                "src": "2699:17:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12496,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2699:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Policy",
            "nameLocation": "2429:6:36",
            "nodeType": "StructDefinition",
            "scope": 12649,
            "src": "2422:301:36",
            "visibility": "public"
          },
          {
            "canonicalName": "IPolicy.Claim",
            "id": 12512,
            "members": [
              {
                "constant": false,
                "id": 12501,
                "mutability": "mutable",
                "name": "state",
                "nameLocation": "2763:5:36",
                "nodeType": "VariableDeclaration",
                "scope": 12512,
                "src": "2752:16:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_ClaimState_$12447",
                  "typeString": "enum IPolicy.ClaimState"
                },
                "typeName": {
                  "id": 12500,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 12499,
                    "name": "ClaimState",
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 12447,
                    "src": "2752:10:36"
                  },
                  "referencedDeclaration": 12447,
                  "src": "2752:10:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ClaimState_$12447",
                    "typeString": "enum IPolicy.ClaimState"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12503,
                "mutability": "mutable",
                "name": "claimAmount",
                "nameLocation": "2786:11:36",
                "nodeType": "VariableDeclaration",
                "scope": 12512,
                "src": "2778:19:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12502,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2778:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12505,
                "mutability": "mutable",
                "name": "paidAmount",
                "nameLocation": "2815:10:36",
                "nodeType": "VariableDeclaration",
                "scope": 12512,
                "src": "2807:18:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12504,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2807:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12507,
                "mutability": "mutable",
                "name": "data",
                "nameLocation": "2841:4:36",
                "nodeType": "VariableDeclaration",
                "scope": 12512,
                "src": "2835:10:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 12506,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "2835:5:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12509,
                "mutability": "mutable",
                "name": "createdAt",
                "nameLocation": "2863:9:36",
                "nodeType": "VariableDeclaration",
                "scope": 12512,
                "src": "2855:17:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12508,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2855:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12511,
                "mutability": "mutable",
                "name": "updatedAt",
                "nameLocation": "2890:9:36",
                "nodeType": "VariableDeclaration",
                "scope": 12512,
                "src": "2882:17:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12510,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2882:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Claim",
            "nameLocation": "2736:5:36",
            "nodeType": "StructDefinition",
            "scope": 12649,
            "src": "2729:177:36",
            "visibility": "public"
          },
          {
            "canonicalName": "IPolicy.Payout",
            "id": 12526,
            "members": [
              {
                "constant": false,
                "id": 12514,
                "mutability": "mutable",
                "name": "claimId",
                "nameLocation": "2944:7:36",
                "nodeType": "VariableDeclaration",
                "scope": 12526,
                "src": "2936:15:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12513,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2936:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12517,
                "mutability": "mutable",
                "name": "state",
                "nameLocation": "2973:5:36",
                "nodeType": "VariableDeclaration",
                "scope": 12526,
                "src": "2961:17:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_PayoutState_$12450",
                  "typeString": "enum IPolicy.PayoutState"
                },
                "typeName": {
                  "id": 12516,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 12515,
                    "name": "PayoutState",
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 12450,
                    "src": "2961:11:36"
                  },
                  "referencedDeclaration": 12450,
                  "src": "2961:11:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_PayoutState_$12450",
                    "typeString": "enum IPolicy.PayoutState"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12519,
                "mutability": "mutable",
                "name": "amount",
                "nameLocation": "2996:6:36",
                "nodeType": "VariableDeclaration",
                "scope": 12526,
                "src": "2988:14:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12518,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2988:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12521,
                "mutability": "mutable",
                "name": "data",
                "nameLocation": "3018:4:36",
                "nodeType": "VariableDeclaration",
                "scope": 12526,
                "src": "3012:10:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 12520,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "3012:5:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12523,
                "mutability": "mutable",
                "name": "createdAt",
                "nameLocation": "3040:9:36",
                "nodeType": "VariableDeclaration",
                "scope": 12526,
                "src": "3032:17:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12522,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3032:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12525,
                "mutability": "mutable",
                "name": "updatedAt",
                "nameLocation": "3067:9:36",
                "nodeType": "VariableDeclaration",
                "scope": 12526,
                "src": "3059:17:36",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12524,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3059:7:36",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Payout",
            "nameLocation": "2919:6:36",
            "nodeType": "StructDefinition",
            "scope": 12649,
            "src": "2912:171:36",
            "visibility": "public"
          },
          {
            "functionSelector": "a1814a1a",
            "id": 12537,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createPolicyFlow",
            "nameLocation": "3098:16:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12533,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12528,
                  "mutability": "mutable",
                  "name": "owner",
                  "nameLocation": "3132:5:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12537,
                  "src": "3124:13:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 12527,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3124:7:36",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12530,
                  "mutability": "mutable",
                  "name": "productId",
                  "nameLocation": "3155:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12537,
                  "src": "3147:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12529,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3147:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12532,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "3190:4:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12537,
                  "src": "3175:19:36",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 12531,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "3175:5:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3114:86:36"
            },
            "returnParameters": {
              "id": 12536,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12535,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "3226:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12537,
                  "src": "3218:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12534,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3218:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3217:19:36"
            },
            "scope": 12649,
            "src": "3089:148:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6780336e",
            "id": 12548,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createApplication",
            "nameLocation": "3252:17:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12546,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12539,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "3287:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12548,
                  "src": "3279:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12538,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3279:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12541,
                  "mutability": "mutable",
                  "name": "premiumAmount",
                  "nameLocation": "3315:13:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12548,
                  "src": "3307:21:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12540,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3307:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12543,
                  "mutability": "mutable",
                  "name": "sumInsuredAmount",
                  "nameLocation": "3346:16:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12548,
                  "src": "3338:24:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12542,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3338:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12545,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "3387:4:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12548,
                  "src": "3372:19:36",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 12544,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "3372:5:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3269:128:36"
            },
            "returnParameters": {
              "id": 12547,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3406:0:36"
            },
            "scope": 12649,
            "src": "3243:164:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "eb96cbed",
            "id": 12553,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "revokeApplication",
            "nameLocation": "3422:17:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12551,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12550,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "3448:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12553,
                  "src": "3440:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12549,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3440:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3439:19:36"
            },
            "returnParameters": {
              "id": 12552,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3467:0:36"
            },
            "scope": 12649,
            "src": "3413:55:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "5c955288",
            "id": 12558,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "underwriteApplication",
            "nameLocation": "3482:21:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12556,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12555,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "3512:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12558,
                  "src": "3504:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12554,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3504:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3503:19:36"
            },
            "returnParameters": {
              "id": 12557,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3531:0:36"
            },
            "scope": 12649,
            "src": "3473:59:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "296d6c7d",
            "id": 12563,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "declineApplication",
            "nameLocation": "3546:18:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12561,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12560,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "3573:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12563,
                  "src": "3565:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12559,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3565:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3564:19:36"
            },
            "returnParameters": {
              "id": 12562,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3592:0:36"
            },
            "scope": 12649,
            "src": "3537:56:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "e3ebdea5",
            "id": 12570,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "collectPremium",
            "nameLocation": "3608:14:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12568,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12565,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "3631:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12570,
                  "src": "3623:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12564,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3623:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12567,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "3650:6:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12570,
                  "src": "3642:14:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12566,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3642:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3622:35:36"
            },
            "returnParameters": {
              "id": 12569,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3666:0:36"
            },
            "scope": 12649,
            "src": "3599:68:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "30a73da5",
            "id": 12579,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "adjustPremiumSumInsured",
            "nameLocation": "3682:23:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12577,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12572,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "3723:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12579,
                  "src": "3715:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12571,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3715:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12574,
                  "mutability": "mutable",
                  "name": "expectedPremiumAmount",
                  "nameLocation": "3751:21:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12579,
                  "src": "3743:29:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12573,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3743:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12576,
                  "mutability": "mutable",
                  "name": "sumInsuredAmount",
                  "nameLocation": "3790:16:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12579,
                  "src": "3782:24:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12575,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3782:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3705:107:36"
            },
            "returnParameters": {
              "id": 12578,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3821:0:36"
            },
            "scope": 12649,
            "src": "3673:149:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4c14ccc2",
            "id": 12584,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createPolicy",
            "nameLocation": "3837:12:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12582,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12581,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "3858:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12584,
                  "src": "3850:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12580,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3850:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3849:19:36"
            },
            "returnParameters": {
              "id": 12583,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3877:0:36"
            },
            "scope": 12649,
            "src": "3828:50:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "47e3b138",
            "id": 12589,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "expirePolicy",
            "nameLocation": "3892:12:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12587,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12586,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "3913:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12589,
                  "src": "3905:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12585,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3905:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3904:19:36"
            },
            "returnParameters": {
              "id": 12588,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3932:0:36"
            },
            "scope": 12649,
            "src": "3883:50:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "adcadb28",
            "id": 12594,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "closePolicy",
            "nameLocation": "3947:11:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12592,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12591,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "3967:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12594,
                  "src": "3959:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12590,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3959:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3958:19:36"
            },
            "returnParameters": {
              "id": 12593,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3986:0:36"
            },
            "scope": 12649,
            "src": "3938:49:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "ec935668",
            "id": 12605,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createClaim",
            "nameLocation": "4002:11:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12601,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12596,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4031:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12605,
                  "src": "4023:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12595,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4023:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12598,
                  "mutability": "mutable",
                  "name": "claimAmount",
                  "nameLocation": "4059:11:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12605,
                  "src": "4051:19:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12597,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4051:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12600,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "4096:4:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12605,
                  "src": "4081:19:36",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 12599,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "4081:5:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4013:93:36"
            },
            "returnParameters": {
              "id": 12604,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12603,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "4133:7:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12605,
                  "src": "4125:15:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12602,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4125:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4124:17:36"
            },
            "scope": 12649,
            "src": "3993:149:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4e02c63f",
            "id": 12614,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "confirmClaim",
            "nameLocation": "4157:12:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12612,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12607,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4187:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12614,
                  "src": "4179:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12606,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4179:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12609,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "4215:7:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12614,
                  "src": "4207:15:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12608,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4207:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12611,
                  "mutability": "mutable",
                  "name": "confirmedAmount",
                  "nameLocation": "4241:15:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12614,
                  "src": "4233:23:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12610,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4233:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4169:93:36"
            },
            "returnParameters": {
              "id": 12613,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4271:0:36"
            },
            "scope": 12649,
            "src": "4148:124:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4cda0de9",
            "id": 12621,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "declineClaim",
            "nameLocation": "4287:12:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12619,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12616,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4308:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12621,
                  "src": "4300:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12615,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4300:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12618,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "4327:7:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12621,
                  "src": "4319:15:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12617,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4319:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4299:36:36"
            },
            "returnParameters": {
              "id": 12620,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4344:0:36"
            },
            "scope": 12649,
            "src": "4278:67:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "7f29dba2",
            "id": 12628,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "closeClaim",
            "nameLocation": "4359:10:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12626,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12623,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4378:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12628,
                  "src": "4370:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12622,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4370:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12625,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "4397:7:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12628,
                  "src": "4389:15:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12624,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4389:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4369:36:36"
            },
            "returnParameters": {
              "id": 12627,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4414:0:36"
            },
            "scope": 12649,
            "src": "4350:65:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "db42b77b",
            "id": 12641,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createPayout",
            "nameLocation": "4430:12:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12637,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12630,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4460:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12641,
                  "src": "4452:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12629,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4452:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12632,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "4487:7:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12641,
                  "src": "4479:15:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12631,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4479:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12634,
                  "mutability": "mutable",
                  "name": "payoutAmount",
                  "nameLocation": "4512:12:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12641,
                  "src": "4504:20:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12633,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4504:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12636,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "4549:4:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12641,
                  "src": "4534:19:36",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 12635,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "4534:5:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4442:117:36"
            },
            "returnParameters": {
              "id": 12640,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12639,
                  "mutability": "mutable",
                  "name": "payoutId",
                  "nameLocation": "4586:8:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12641,
                  "src": "4578:16:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12638,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4578:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4577:18:36"
            },
            "scope": 12649,
            "src": "4421:175:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "fe64372b",
            "id": 12648,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPayout",
            "nameLocation": "4611:13:36",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12646,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12643,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4642:9:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12648,
                  "src": "4634:17:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 12642,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4634:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 12645,
                  "mutability": "mutable",
                  "name": "payoutId",
                  "nameLocation": "4669:8:36",
                  "nodeType": "VariableDeclaration",
                  "scope": 12648,
                  "src": "4661:16:36",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 12644,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4661:7:36",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4624:59:36"
            },
            "returnParameters": {
              "id": 12647,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4692:0:36"
            },
            "scope": 12649,
            "src": "4602:91:36",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 12650,
        "src": "63:4632:36"
      }
    ],
    "src": "39:4657:36"
  },
  "bytecode": "",
  "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.2+commit.661d1103"
  },
  "contractName": "IPolicy",
  "coverageMap": {
    "branches": {},
    "statements": {}
  },
  "dependencies": [],
  "deployedBytecode": "",
  "deployedSourceMap": "",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "offset": [
    63,
    4695
  ],
  "opcodes": "",
  "pcMap": {},
  "sha1": "1c3411ced5e5b27768292ff3c50213ef5701ff25",
  "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.2;\n\ninterface IPolicy {\n\n    // Events\n    event LogMetadataCreated(\n        address owner,\n        bytes32 processId,\n        uint256 productId, \n        PolicyFlowState state\n    );\n\n    event LogMetadataStateChanged(\n        bytes32 processId, \n        PolicyFlowState state\n    );\n\n    event LogApplicationCreated(\n        bytes32 processId, \n        uint256 premiumAmount, \n        uint256 sumInsuredAmount\n    );\n\n    event LogApplicationRevoked(bytes32 processId);\n    event LogApplicationUnderwritten(bytes32 processId);\n    event LogApplicationDeclined(bytes32 processId);\n\n    event LogPolicyCreated(bytes32 processId);\n    event LogPolicyExpired(bytes32 processId);\n    event LogPolicyClosed(bytes32 processId);\n\n    event LogPremiumCollected(bytes32 processId, uint256 amount);\n    \n    event LogApplicationSumInsuredAdjusted(bytes32 processId, uint256 sumInsuredAmountOld, uint256 sumInsuredAmount);\n    event LogApplicationPremiumAdjusted(bytes32 processId, uint256 premiumAmountOld, uint256 premiumAmount);\n    event LogPolicyPremiumAdjusted(bytes32 processId, uint256 premiumExpectedAmountOld, uint256 premiumExpectedAmount);\n\n    event LogClaimCreated(bytes32 processId, uint256 claimId, uint256 claimAmount);\n    event LogClaimConfirmed(bytes32 processId, uint256 claimId, uint256 confirmedAmount);\n    event LogClaimDeclined(bytes32 processId, uint256 claimId);\n    event LogClaimClosed(bytes32 processId, uint256 claimId);\n\n    event LogPayoutCreated(\n        bytes32 processId,\n        uint256 claimId,\n        uint256 payoutId,\n        uint256 amount\n    );\n\n    event LogPayoutProcessed(\n        bytes32 processId, \n        uint256 payoutId\n    );\n\n    // States\n    enum PolicyFlowState {Started, Active, Finished}\n    enum ApplicationState {Applied, Revoked, Underwritten, Declined}\n    enum PolicyState {Active, Expired, Closed}\n    enum ClaimState {Applied, Confirmed, Declined, Closed}\n    enum PayoutState {Expected, PaidOut}\n\n    // Objects\n    struct Metadata {\n        address owner;\n        uint256 productId;\n        PolicyFlowState state;\n        bytes data;\n        uint256 createdAt;\n        uint256 updatedAt;\n    }\n\n    struct Application {\n        ApplicationState state;\n        uint256 premiumAmount;\n        uint256 sumInsuredAmount;\n        bytes data; \n        uint256 createdAt;\n        uint256 updatedAt;\n    }\n\n    struct Policy {\n        PolicyState state;\n        uint256 premiumExpectedAmount;\n        uint256 premiumPaidAmount;\n        uint256 claimsCount;\n        uint256 openClaimsCount;\n        uint256 payoutMaxAmount;\n        uint256 payoutAmount;\n        uint256 createdAt;\n        uint256 updatedAt;\n    }\n\n    struct Claim {\n        ClaimState state;\n        uint256 claimAmount;\n        uint256 paidAmount;\n        bytes data;\n        uint256 createdAt;\n        uint256 updatedAt;\n    }\n\n    struct Payout {\n        uint256 claimId;\n        PayoutState state;\n        uint256 amount;\n        bytes data;\n        uint256 createdAt;\n        uint256 updatedAt;\n    }\n\n    function createPolicyFlow(\n        address owner,\n        uint256 productId, \n        bytes calldata data\n    ) external returns(bytes32 processId);\n\n    function createApplication(\n        bytes32 processId, \n        uint256 premiumAmount,\n        uint256 sumInsuredAmount,\n        bytes calldata data\n    ) external;\n\n    function revokeApplication(bytes32 processId) external;\n    function underwriteApplication(bytes32 processId) external;\n    function declineApplication(bytes32 processId) external;\n\n    function collectPremium(bytes32 processId, uint256 amount) external;\n\n    function adjustPremiumSumInsured(\n        bytes32 processId, \n        uint256 expectedPremiumAmount,\n        uint256 sumInsuredAmount\n    ) external;\n\n    function createPolicy(bytes32 processId) external;\n    function expirePolicy(bytes32 processId) external;\n    function closePolicy(bytes32 processId) external;\n\n    function createClaim(\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 createPayout(\n        bytes32 processId,\n        uint256 claimId,\n        uint256 payoutAmount,\n        bytes calldata data\n    ) external returns (uint256 payoutId);\n\n    function processPayout(\n        bytes32 processId,\n        uint256 payoutId\n    ) external;\n}\n",
  "sourceMap": "",
  "sourcePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol",
  "type": "interface"
}