{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "burnBundle",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "closeBundle",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "collateralAmount",
          "type": "uint256"
        }
      ],
      "name": "collateralizePolicy",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner_",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "filter_",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "amount_",
          "type": "uint256"
        }
      ],
      "name": "createBundle",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "defundBundle",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "netAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "fundBundle",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "netAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "lockBundle",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "processPayout",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "processPremium",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "wallet",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "erc20Token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "collateralization",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "sumOfSumInsuredCap",
          "type": "uint256"
        }
      ],
      "name": "registerRiskpool",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "releasePolicy",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "collateralAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "riskpoolId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "maxNumberOfActiveBundles",
          "type": "uint256"
        }
      ],
      "name": "setMaximumNumberOfActiveBundles",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "unlockBundle",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "28": "contracts/services/IRiskpoolService.sol"
  },
  "ast": {
    "absolutePath": "contracts/services/IRiskpoolService.sol",
    "exportedSymbols": {
      "IRiskpoolService": [
        4594
      ]
    },
    "id": 4595,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 4490,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:28"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 4594,
        "linearizedBaseContracts": [
          4594
        ],
        "name": "IRiskpoolService",
        "nameLocation": "73:16:28",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "functionSelector": "bf2e3546",
            "id": 4501,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "registerRiskpool",
            "nameLocation": "106:16:28",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4499,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4492,
                  "mutability": "mutable",
                  "name": "wallet",
                  "nameLocation": "140:6:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4501,
                  "src": "132:14:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4491,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "132:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4494,
                  "mutability": "mutable",
                  "name": "erc20Token",
                  "nameLocation": "164:10:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4501,
                  "src": "156:18:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4493,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "156:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4496,
                  "mutability": "mutable",
                  "name": "collateralization",
                  "nameLocation": "192:17:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4501,
                  "src": "184:25:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4495,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "184:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4498,
                  "mutability": "mutable",
                  "name": "sumOfSumInsuredCap",
                  "nameLocation": "228:18:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4501,
                  "src": "220:26:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4497,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "220:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "122:130:28"
            },
            "returnParameters": {
              "id": 4500,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "261:0:28"
            },
            "scope": 4594,
            "src": "97:165:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "15fc1e74",
            "id": 4512,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createBundle",
            "nameLocation": "277:12:28",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4508,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4503,
                  "mutability": "mutable",
                  "name": "owner_",
                  "nameLocation": "298:6:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4512,
                  "src": "290:14:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4502,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "290:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4505,
                  "mutability": "mutable",
                  "name": "filter_",
                  "nameLocation": "321:7:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4512,
                  "src": "306:22:28",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 4504,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "306:5:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4507,
                  "mutability": "mutable",
                  "name": "amount_",
                  "nameLocation": "338:7:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4512,
                  "src": "330:15:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4506,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "330:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "289:57:28"
            },
            "returnParameters": {
              "id": 4511,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4510,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "372:8:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4512,
                  "src": "364:16:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4509,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "364:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "363:18:28"
            },
            "scope": 4594,
            "src": "268:114:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "89002da5",
            "id": 4521,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "fundBundle",
            "nameLocation": "396:10:28",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4517,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4514,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "415:8:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4521,
                  "src": "407:16:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4513,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "407:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4516,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "433:6:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4521,
                  "src": "425:14:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4515,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "425:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "406:34:28"
            },
            "returnParameters": {
              "id": 4520,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4519,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "466:9:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4521,
                  "src": "458:17:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4518,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "458:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "457:19:28"
            },
            "scope": 4594,
            "src": "387:90:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "36153f3a",
            "id": 4530,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "defundBundle",
            "nameLocation": "491:12:28",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4526,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4523,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "512:8:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4530,
                  "src": "504:16:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4522,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "504:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4525,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "530:6:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4530,
                  "src": "522:14:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4524,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "522:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "503:34:28"
            },
            "returnParameters": {
              "id": 4529,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4528,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "563:9:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4530,
                  "src": "555:17:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4527,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "555:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "554:19:28"
            },
            "scope": 4594,
            "src": "482:92:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a17030d5",
            "id": 4535,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lockBundle",
            "nameLocation": "589:10:28",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4533,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4532,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "608:8:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4535,
                  "src": "600:16:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4531,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "600:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "599:18:28"
            },
            "returnParameters": {
              "id": 4534,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "626:0:28"
            },
            "scope": 4594,
            "src": "580:47:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "316c5348",
            "id": 4540,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "unlockBundle",
            "nameLocation": "641:12:28",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4538,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4537,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "662:8:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4540,
                  "src": "654:16:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4536,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "654:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "653:18:28"
            },
            "returnParameters": {
              "id": 4539,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "680:0:28"
            },
            "scope": 4594,
            "src": "632:49:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "8c483e5a",
            "id": 4545,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "closeBundle",
            "nameLocation": "695:11:28",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4543,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4542,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "715:8:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4545,
                  "src": "707:16:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4541,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "707:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "706:18:28"
            },
            "returnParameters": {
              "id": 4544,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "733:0:28"
            },
            "scope": 4594,
            "src": "686:48:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "587e59d0",
            "id": 4550,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "burnBundle",
            "nameLocation": "748:10:28",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4548,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4547,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "767:8:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4550,
                  "src": "759:16:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4546,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "759:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "758:18:28"
            },
            "returnParameters": {
              "id": 4549,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "785:0:28"
            },
            "scope": 4594,
            "src": "739:47:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4d03f9b7",
            "id": 4559,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "collateralizePolicy",
            "nameLocation": "801:19:28",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4557,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4552,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "829:8:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4559,
                  "src": "821:16:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4551,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "821:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4554,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "847:9:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4559,
                  "src": "839:17:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4553,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "839:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4556,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "866:16:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4559,
                  "src": "858:24:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4555,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "858:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "820:63:28"
            },
            "returnParameters": {
              "id": 4558,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "892:0:28"
            },
            "scope": 4594,
            "src": "792:101:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b7267420",
            "id": 4568,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPremium",
            "nameLocation": "907:14:28",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4566,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4561,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "930:8:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4568,
                  "src": "922:16:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4560,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "922:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4563,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "948:9:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4568,
                  "src": "940:17:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4562,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "940:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4565,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "967:6:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4568,
                  "src": "959:14:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4564,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "959:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "921:53:28"
            },
            "returnParameters": {
              "id": 4567,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "983:0:28"
            },
            "scope": 4594,
            "src": "898:86:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b299cc26",
            "id": 4577,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPayout",
            "nameLocation": "998:13:28",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4575,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4570,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1020:8:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4577,
                  "src": "1012:16:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4569,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1012:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4572,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1038:9:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4577,
                  "src": "1030:17:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4571,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1030:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4574,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1057:6:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4577,
                  "src": "1049:14:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4573,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1049:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1011:53:28"
            },
            "returnParameters": {
              "id": 4576,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1073:0:28"
            },
            "scope": 4594,
            "src": "989:85:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "bb540df6",
            "id": 4586,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "releasePolicy",
            "nameLocation": "1088:13:28",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4582,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4579,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1110:8:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4586,
                  "src": "1102:16:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4578,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1102:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4581,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1128:9:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4586,
                  "src": "1120:17:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4580,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1120:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1101:37:28"
            },
            "returnParameters": {
              "id": 4585,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4584,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "1164:16:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4586,
                  "src": "1156:24:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4583,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1156:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1155:26:28"
            },
            "scope": 4594,
            "src": "1079:103:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2127fd48",
            "id": 4593,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setMaximumNumberOfActiveBundles",
            "nameLocation": "1197:31:28",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4591,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4588,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "1237:10:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4593,
                  "src": "1229:18:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4587,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1229:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4590,
                  "mutability": "mutable",
                  "name": "maxNumberOfActiveBundles",
                  "nameLocation": "1257:24:28",
                  "nodeType": "VariableDeclaration",
                  "scope": 4593,
                  "src": "1249:32:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4589,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1249:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1228:54:28"
            },
            "returnParameters": {
              "id": 4592,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1291:0:28"
            },
            "scope": 4594,
            "src": "1188:104:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 4595,
        "src": "63:1231:28"
      }
    ],
    "src": "39:1257:28"
  },
  "bytecode": "",
  "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.2+commit.661d1103"
  },
  "contractName": "IRiskpoolService",
  "coverageMap": {
    "branches": {},
    "statements": {}
  },
  "dependencies": [],
  "deployedBytecode": "",
  "deployedSourceMap": "",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "offset": [
    63,
    1294
  ],
  "opcodes": "",
  "pcMap": {},
  "sha1": "2cb83f64f9c30ec9e98aabfb1eade58792c4030d",
  "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.2;\n\ninterface IRiskpoolService {\n\n    function registerRiskpool(\n        address wallet,\n        address erc20Token,\n        uint256 collateralization, \n        uint256 sumOfSumInsuredCap\n    ) external;\n\n    function createBundle(address owner_, bytes calldata filter_, uint256 amount_) external returns(uint256 bundleId);\n    function fundBundle(uint256 bundleId, uint256 amount) external returns(uint256 netAmount);\n    function defundBundle(uint256 bundleId, uint256 amount) external returns(uint256 netAmount);\n\n    function lockBundle(uint256 bundleId) external;\n    function unlockBundle(uint256 bundleId) external;\n    function closeBundle(uint256 bundleId) external;\n    function burnBundle(uint256 bundleId) external;\n\n    function collateralizePolicy(uint256 bundleId, bytes32 processId, uint256 collateralAmount) external;\n    function processPremium(uint256 bundleId, bytes32 processId, uint256 amount) external;\n    function processPayout(uint256 bundleId, bytes32 processId, uint256 amount) external;\n    function releasePolicy(uint256 bundleId, bytes32 processId) external returns(uint256 collateralAmount);\n\n    function setMaximumNumberOfActiveBundles(uint256 riskpoolId, uint256 maxNumberOfActiveBundles) external;\n}\n\n",
  "sourceMap": "",
  "sourcePath": "contracts/services/IRiskpoolService.sol",
  "type": "interface"
}