{
  "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": {
    "51": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IRiskpoolService.sol"
  },
  "ast": {
    "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IRiskpoolService.sol",
    "exportedSymbols": {
      "IRiskpoolService": [
        24006
      ]
    },
    "id": 24007,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 23902,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:51"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 24006,
        "linearizedBaseContracts": [
          24006
        ],
        "name": "IRiskpoolService",
        "nameLocation": "73:16:51",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "functionSelector": "bf2e3546",
            "id": 23913,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "registerRiskpool",
            "nameLocation": "106:16:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23911,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23904,
                  "mutability": "mutable",
                  "name": "wallet",
                  "nameLocation": "140:6:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23913,
                  "src": "132:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 23903,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "132:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23906,
                  "mutability": "mutable",
                  "name": "erc20Token",
                  "nameLocation": "164:10:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23913,
                  "src": "156:18:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 23905,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "156:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23908,
                  "mutability": "mutable",
                  "name": "collateralization",
                  "nameLocation": "192:17:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23913,
                  "src": "184:25:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23907,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "184:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23910,
                  "mutability": "mutable",
                  "name": "sumOfSumInsuredCap",
                  "nameLocation": "228:18:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23913,
                  "src": "220:26:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23909,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "220:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "122:130:51"
            },
            "returnParameters": {
              "id": 23912,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "261:0:51"
            },
            "scope": 24006,
            "src": "97:165:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "15fc1e74",
            "id": 23924,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createBundle",
            "nameLocation": "277:12:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23920,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23915,
                  "mutability": "mutable",
                  "name": "owner_",
                  "nameLocation": "298:6:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23924,
                  "src": "290:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 23914,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "290:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23917,
                  "mutability": "mutable",
                  "name": "filter_",
                  "nameLocation": "321:7:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23924,
                  "src": "306:22:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 23916,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "306:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23919,
                  "mutability": "mutable",
                  "name": "amount_",
                  "nameLocation": "338:7:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23924,
                  "src": "330:15:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23918,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "330:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "289:57:51"
            },
            "returnParameters": {
              "id": 23923,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23922,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "372:8:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23924,
                  "src": "364:16:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23921,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "364:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "363:18:51"
            },
            "scope": 24006,
            "src": "268:114:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "89002da5",
            "id": 23933,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "fundBundle",
            "nameLocation": "396:10:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23929,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23926,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "415:8:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23933,
                  "src": "407:16:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23925,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "407:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23928,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "433:6:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23933,
                  "src": "425:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23927,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "425:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "406:34:51"
            },
            "returnParameters": {
              "id": 23932,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23931,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "466:9:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23933,
                  "src": "458:17:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23930,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "458:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "457:19:51"
            },
            "scope": 24006,
            "src": "387:90:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "36153f3a",
            "id": 23942,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "defundBundle",
            "nameLocation": "491:12:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23938,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23935,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "512:8:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23942,
                  "src": "504:16:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23934,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "504:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23937,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "530:6:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23942,
                  "src": "522:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23936,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "522:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "503:34:51"
            },
            "returnParameters": {
              "id": 23941,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23940,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "563:9:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23942,
                  "src": "555:17:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23939,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "555:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "554:19:51"
            },
            "scope": 24006,
            "src": "482:92:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a17030d5",
            "id": 23947,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lockBundle",
            "nameLocation": "589:10:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23945,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23944,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "608:8:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23947,
                  "src": "600:16:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23943,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "600:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "599:18:51"
            },
            "returnParameters": {
              "id": 23946,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "626:0:51"
            },
            "scope": 24006,
            "src": "580:47:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "316c5348",
            "id": 23952,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "unlockBundle",
            "nameLocation": "641:12:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23950,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23949,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "662:8:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23952,
                  "src": "654:16:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23948,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "654:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "653:18:51"
            },
            "returnParameters": {
              "id": 23951,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "680:0:51"
            },
            "scope": 24006,
            "src": "632:49:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "8c483e5a",
            "id": 23957,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "closeBundle",
            "nameLocation": "695:11:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23955,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23954,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "715:8:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23957,
                  "src": "707:16:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23953,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "707:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "706:18:51"
            },
            "returnParameters": {
              "id": 23956,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "733:0:51"
            },
            "scope": 24006,
            "src": "686:48:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "587e59d0",
            "id": 23962,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "burnBundle",
            "nameLocation": "748:10:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23960,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23959,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "767:8:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23962,
                  "src": "759:16:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23958,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "759:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "758:18:51"
            },
            "returnParameters": {
              "id": 23961,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "785:0:51"
            },
            "scope": 24006,
            "src": "739:47:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4d03f9b7",
            "id": 23971,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "collateralizePolicy",
            "nameLocation": "801:19:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23969,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23964,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "829:8:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23971,
                  "src": "821:16:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23963,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "821:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23966,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "847:9:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23971,
                  "src": "839:17:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23965,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "839:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23968,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "866:16:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23971,
                  "src": "858:24:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23967,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "858:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "820:63:51"
            },
            "returnParameters": {
              "id": 23970,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "892:0:51"
            },
            "scope": 24006,
            "src": "792:101:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b7267420",
            "id": 23980,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPremium",
            "nameLocation": "907:14:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23978,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23973,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "930:8:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23980,
                  "src": "922:16:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23972,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "922:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23975,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "948:9:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23980,
                  "src": "940:17:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23974,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "940:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23977,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "967:6:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23980,
                  "src": "959:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23976,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "959:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "921:53:51"
            },
            "returnParameters": {
              "id": 23979,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "983:0:51"
            },
            "scope": 24006,
            "src": "898:86:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b299cc26",
            "id": 23989,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPayout",
            "nameLocation": "998:13:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23987,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23982,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1020:8:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23989,
                  "src": "1012:16:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23981,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1012:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23984,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1038:9:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23989,
                  "src": "1030:17:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23983,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1030:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23986,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1057:6:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23989,
                  "src": "1049:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23985,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1049:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1011:53:51"
            },
            "returnParameters": {
              "id": 23988,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1073:0:51"
            },
            "scope": 24006,
            "src": "989:85:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "bb540df6",
            "id": 23998,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "releasePolicy",
            "nameLocation": "1088:13:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 23994,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23991,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1110:8:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23998,
                  "src": "1102:16:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23990,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1102:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 23993,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1128:9:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23998,
                  "src": "1120:17:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 23992,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1120:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1101:37:51"
            },
            "returnParameters": {
              "id": 23997,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 23996,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "1164:16:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 23998,
                  "src": "1156:24:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23995,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1156:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1155:26:51"
            },
            "scope": 24006,
            "src": "1079:103:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2127fd48",
            "id": 24005,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setMaximumNumberOfActiveBundles",
            "nameLocation": "1197:31:51",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 24003,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 24000,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "1237:10:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 24005,
                  "src": "1229:18:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 23999,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1229:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 24002,
                  "mutability": "mutable",
                  "name": "maxNumberOfActiveBundles",
                  "nameLocation": "1257:24:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 24005,
                  "src": "1249:32:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 24001,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1249:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1228:54:51"
            },
            "returnParameters": {
              "id": 24004,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1291:0:51"
            },
            "scope": 24006,
            "src": "1188:104:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 24007,
        "src": "63:1231:51"
      }
    ],
    "src": "39:1257:51"
  },
  "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": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IRiskpoolService.sol",
  "type": "interface"
}