{
  "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": {
    "45": "/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": [
        15040
      ]
    },
    "id": 15041,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 14936,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:45"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 15040,
        "linearizedBaseContracts": [
          15040
        ],
        "name": "IRiskpoolService",
        "nameLocation": "73:16:45",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "functionSelector": "bf2e3546",
            "id": 14947,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "registerRiskpool",
            "nameLocation": "106:16:45",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14945,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14938,
                  "mutability": "mutable",
                  "name": "wallet",
                  "nameLocation": "140:6:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14947,
                  "src": "132:14:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14937,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "132:7:45",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14940,
                  "mutability": "mutable",
                  "name": "erc20Token",
                  "nameLocation": "164:10:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14947,
                  "src": "156:18:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14939,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "156:7:45",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14942,
                  "mutability": "mutable",
                  "name": "collateralization",
                  "nameLocation": "192:17:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14947,
                  "src": "184:25:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14941,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "184:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14944,
                  "mutability": "mutable",
                  "name": "sumOfSumInsuredCap",
                  "nameLocation": "228:18:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14947,
                  "src": "220:26:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14943,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "220:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "122:130:45"
            },
            "returnParameters": {
              "id": 14946,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "261:0:45"
            },
            "scope": 15040,
            "src": "97:165:45",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "15fc1e74",
            "id": 14958,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createBundle",
            "nameLocation": "277:12:45",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14954,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14949,
                  "mutability": "mutable",
                  "name": "owner_",
                  "nameLocation": "298:6:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14958,
                  "src": "290:14:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14948,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "290:7:45",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14951,
                  "mutability": "mutable",
                  "name": "filter_",
                  "nameLocation": "321:7:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14958,
                  "src": "306:22:45",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 14950,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "306:5:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14953,
                  "mutability": "mutable",
                  "name": "amount_",
                  "nameLocation": "338:7:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14958,
                  "src": "330:15:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14952,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "330:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "289:57:45"
            },
            "returnParameters": {
              "id": 14957,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14956,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "372:8:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14958,
                  "src": "364:16:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14955,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "364:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "363:18:45"
            },
            "scope": 15040,
            "src": "268:114:45",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "89002da5",
            "id": 14967,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "fundBundle",
            "nameLocation": "396:10:45",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14963,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14960,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "415:8:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14967,
                  "src": "407:16:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14959,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "407:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14962,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "433:6:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14967,
                  "src": "425:14:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14961,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "425:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "406:34:45"
            },
            "returnParameters": {
              "id": 14966,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14965,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "466:9:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14967,
                  "src": "458:17:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14964,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "458:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "457:19:45"
            },
            "scope": 15040,
            "src": "387:90:45",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "36153f3a",
            "id": 14976,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "defundBundle",
            "nameLocation": "491:12:45",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14972,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14969,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "512:8:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14976,
                  "src": "504:16:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14968,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "504:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14971,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "530:6:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14976,
                  "src": "522:14:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14970,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "522:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "503:34:45"
            },
            "returnParameters": {
              "id": 14975,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14974,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "563:9:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14976,
                  "src": "555:17:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14973,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "555:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "554:19:45"
            },
            "scope": 15040,
            "src": "482:92:45",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a17030d5",
            "id": 14981,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lockBundle",
            "nameLocation": "589:10:45",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14979,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14978,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "608:8:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14981,
                  "src": "600:16:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14977,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "600:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "599:18:45"
            },
            "returnParameters": {
              "id": 14980,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "626:0:45"
            },
            "scope": 15040,
            "src": "580:47:45",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "316c5348",
            "id": 14986,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "unlockBundle",
            "nameLocation": "641:12:45",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14984,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14983,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "662:8:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14986,
                  "src": "654:16:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14982,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "654:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "653:18:45"
            },
            "returnParameters": {
              "id": 14985,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "680:0:45"
            },
            "scope": 15040,
            "src": "632:49:45",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "8c483e5a",
            "id": 14991,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "closeBundle",
            "nameLocation": "695:11:45",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14989,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14988,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "715:8:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14991,
                  "src": "707:16:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14987,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "707:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "706:18:45"
            },
            "returnParameters": {
              "id": 14990,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "733:0:45"
            },
            "scope": 15040,
            "src": "686:48:45",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "587e59d0",
            "id": 14996,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "burnBundle",
            "nameLocation": "748:10:45",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14994,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14993,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "767:8:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 14996,
                  "src": "759:16:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14992,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "759:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "758:18:45"
            },
            "returnParameters": {
              "id": 14995,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "785:0:45"
            },
            "scope": 15040,
            "src": "739:47:45",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4d03f9b7",
            "id": 15005,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "collateralizePolicy",
            "nameLocation": "801:19:45",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15003,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14998,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "829:8:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 15005,
                  "src": "821:16:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14997,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "821:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15000,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "847:9:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 15005,
                  "src": "839:17:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14999,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "839:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15002,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "866:16:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 15005,
                  "src": "858:24:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15001,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "858:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "820:63:45"
            },
            "returnParameters": {
              "id": 15004,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "892:0:45"
            },
            "scope": 15040,
            "src": "792:101:45",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b7267420",
            "id": 15014,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPremium",
            "nameLocation": "907:14:45",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15012,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15007,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "930:8:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 15014,
                  "src": "922:16:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15006,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "922:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15009,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "948:9:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 15014,
                  "src": "940:17:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 15008,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "940:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15011,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "967:6:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 15014,
                  "src": "959:14:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15010,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "959:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "921:53:45"
            },
            "returnParameters": {
              "id": 15013,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "983:0:45"
            },
            "scope": 15040,
            "src": "898:86:45",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b299cc26",
            "id": 15023,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPayout",
            "nameLocation": "998:13:45",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15021,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15016,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1020:8:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 15023,
                  "src": "1012:16:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15015,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1012:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15018,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1038:9:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 15023,
                  "src": "1030:17:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 15017,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1030:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15020,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1057:6:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 15023,
                  "src": "1049:14:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15019,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1049:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1011:53:45"
            },
            "returnParameters": {
              "id": 15022,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1073:0:45"
            },
            "scope": 15040,
            "src": "989:85:45",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "bb540df6",
            "id": 15032,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "releasePolicy",
            "nameLocation": "1088:13:45",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15028,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15025,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1110:8:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 15032,
                  "src": "1102:16:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15024,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1102:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15027,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1128:9:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 15032,
                  "src": "1120:17:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 15026,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1120:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1101:37:45"
            },
            "returnParameters": {
              "id": 15031,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15030,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "1164:16:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 15032,
                  "src": "1156:24:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15029,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1156:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1155:26:45"
            },
            "scope": 15040,
            "src": "1079:103:45",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2127fd48",
            "id": 15039,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setMaximumNumberOfActiveBundles",
            "nameLocation": "1197:31:45",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15037,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15034,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "1237:10:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 15039,
                  "src": "1229:18:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15033,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1229:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15036,
                  "mutability": "mutable",
                  "name": "maxNumberOfActiveBundles",
                  "nameLocation": "1257:24:45",
                  "nodeType": "VariableDeclaration",
                  "scope": 15039,
                  "src": "1249:32:45",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15035,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1249:7:45",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1228:54:45"
            },
            "returnParameters": {
              "id": 15038,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1291:0:45"
            },
            "scope": 15040,
            "src": "1188:104:45",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 15041,
        "src": "63:1231:45"
      }
    ],
    "src": "39:1257:45"
  },
  "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"
}