{
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "capacity",
          "type": "uint256"
        }
      ],
      "name": "LogBundleCapitalProvided",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "capacity",
          "type": "uint256"
        }
      ],
      "name": "LogBundleCapitalWithdrawn",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "riskpoolId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "enum IBundle.BundleState",
          "name": "state",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "LogBundleCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "LogBundlePayoutProcessed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "capacity",
          "type": "uint256"
        }
      ],
      "name": "LogBundlePolicyCollateralized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "capacity",
          "type": "uint256"
        }
      ],
      "name": "LogBundlePolicyReleased",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "enum IBundle.BundleState",
          "name": "oldState",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "enum IBundle.BundleState",
          "name": "newState",
          "type": "uint8"
        }
      ],
      "name": "LogBundleStateChanged",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "burn",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "close",
      "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": "uint256",
          "name": "riskpoolId_",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "filter_",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "amount_",
          "type": "uint256"
        }
      ],
      "name": "create",
      "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": "defund",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "fund",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "lock",
      "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": "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": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "unlock",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "38": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IBundle.sol"
  },
  "ast": {
    "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IBundle.sol",
    "exportedSymbols": {
      "IBundle": [
        20491
      ]
    },
    "id": 20492,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 20309,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:38"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 20491,
        "linearizedBaseContracts": [
          20491
        ],
        "name": "IBundle",
        "nameLocation": "73:7:38",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "id": 20322,
            "name": "LogBundleCreated",
            "nameLocation": "94:16:38",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 20321,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20311,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "128:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20322,
                  "src": "120:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20310,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "120:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20313,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "155:10:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20322,
                  "src": "147:18:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20312,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "147:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20315,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "owner",
                  "nameLocation": "184:5:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20322,
                  "src": "176:13:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 20314,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "176:7:38",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20318,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "state",
                  "nameLocation": "211:5:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20322,
                  "src": "199:17:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_BundleState_$20385",
                    "typeString": "enum IBundle.BundleState"
                  },
                  "typeName": {
                    "id": 20317,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20316,
                      "name": "BundleState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 20385,
                      "src": "199:11:38"
                    },
                    "referencedDeclaration": 20385,
                    "src": "199:11:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_BundleState_$20385",
                      "typeString": "enum IBundle.BundleState"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20320,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "234:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20322,
                  "src": "226:14:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20319,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "226:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "110:136:38"
            },
            "src": "88:159:38"
          },
          {
            "anonymous": false,
            "id": 20332,
            "name": "LogBundleStateChanged",
            "nameLocation": "259:21:38",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 20331,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20324,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "289:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20332,
                  "src": "281:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20323,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "281:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20327,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "oldState",
                  "nameLocation": "311:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20332,
                  "src": "299:20:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_BundleState_$20385",
                    "typeString": "enum IBundle.BundleState"
                  },
                  "typeName": {
                    "id": 20326,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20325,
                      "name": "BundleState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 20385,
                      "src": "299:11:38"
                    },
                    "referencedDeclaration": 20385,
                    "src": "299:11:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_BundleState_$20385",
                      "typeString": "enum IBundle.BundleState"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20330,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "newState",
                  "nameLocation": "333:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20332,
                  "src": "321:20:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_BundleState_$20385",
                    "typeString": "enum IBundle.BundleState"
                  },
                  "typeName": {
                    "id": 20329,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 20328,
                      "name": "BundleState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 20385,
                      "src": "321:11:38"
                    },
                    "referencedDeclaration": 20385,
                    "src": "321:11:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_BundleState_$20385",
                      "typeString": "enum IBundle.BundleState"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "280:62:38"
            },
            "src": "253:90:38"
          },
          {
            "anonymous": false,
            "id": 20342,
            "name": "LogBundleCapitalProvided",
            "nameLocation": "355:24:38",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 20341,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20334,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "388:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20342,
                  "src": "380:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20333,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "380:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20336,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "sender",
                  "nameLocation": "406:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20342,
                  "src": "398:14:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 20335,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "398:7:38",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20338,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "422:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20342,
                  "src": "414:14:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20337,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "414:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20340,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "capacity",
                  "nameLocation": "438:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20342,
                  "src": "430:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20339,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "430:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "379:68:38"
            },
            "src": "349:99:38"
          },
          {
            "anonymous": false,
            "id": 20352,
            "name": "LogBundleCapitalWithdrawn",
            "nameLocation": "459:25:38",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 20351,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20344,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "493:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20352,
                  "src": "485:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20343,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "485:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20346,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "recipient",
                  "nameLocation": "511:9:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20352,
                  "src": "503:17:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 20345,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "503:7:38",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20348,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "530:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20352,
                  "src": "522:14:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20347,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "522:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20350,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "capacity",
                  "nameLocation": "546:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20352,
                  "src": "538:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20349,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "538:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "484:71:38"
            },
            "src": "453:103:38"
          },
          {
            "anonymous": false,
            "id": 20362,
            "name": "LogBundlePolicyCollateralized",
            "nameLocation": "568:29:38",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 20361,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20354,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "606:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20362,
                  "src": "598:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20353,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "598:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20356,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "624:9:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20362,
                  "src": "616:17:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 20355,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "616:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20358,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "643:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20362,
                  "src": "635:14:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20357,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "635:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20360,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "capacity",
                  "nameLocation": "659:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20362,
                  "src": "651:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20359,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "651:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "597:71:38"
            },
            "src": "562:107:38"
          },
          {
            "anonymous": false,
            "id": 20370,
            "name": "LogBundlePayoutProcessed",
            "nameLocation": "680:24:38",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 20369,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20364,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "713:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20370,
                  "src": "705:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20363,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "705:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20366,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "731:9:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20370,
                  "src": "723:17:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 20365,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "723:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20368,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "750:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20370,
                  "src": "742:14:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20367,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "742:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "704:53:38"
            },
            "src": "674:84:38"
          },
          {
            "anonymous": false,
            "id": 20380,
            "name": "LogBundlePolicyReleased",
            "nameLocation": "769:23:38",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 20379,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20372,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "801:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20380,
                  "src": "793:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20371,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "793:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20374,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "819:9:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20380,
                  "src": "811:17:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 20373,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "811:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20376,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "838:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20380,
                  "src": "830:14:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20375,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "830:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20378,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "capacity",
                  "nameLocation": "854:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20380,
                  "src": "846:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20377,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "846:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "792:71:38"
            },
            "src": "763:101:38"
          },
          {
            "canonicalName": "IBundle.BundleState",
            "id": 20385,
            "members": [
              {
                "id": 20381,
                "name": "Active",
                "nameLocation": "897:6:38",
                "nodeType": "EnumValue",
                "src": "897:6:38"
              },
              {
                "id": 20382,
                "name": "Locked",
                "nameLocation": "913:6:38",
                "nodeType": "EnumValue",
                "src": "913:6:38"
              },
              {
                "id": 20383,
                "name": "Closed",
                "nameLocation": "929:6:38",
                "nodeType": "EnumValue",
                "src": "929:6:38"
              },
              {
                "id": 20384,
                "name": "Burned",
                "nameLocation": "945:6:38",
                "nodeType": "EnumValue",
                "src": "945:6:38"
              }
            ],
            "name": "BundleState",
            "nameLocation": "875:11:38",
            "nodeType": "EnumDefinition",
            "src": "870:87:38"
          },
          {
            "canonicalName": "IBundle.Bundle",
            "id": 20407,
            "members": [
              {
                "constant": false,
                "id": 20387,
                "mutability": "mutable",
                "name": "id",
                "nameLocation": "995:2:38",
                "nodeType": "VariableDeclaration",
                "scope": 20407,
                "src": "987:10:38",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 20386,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "987:7:38",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 20389,
                "mutability": "mutable",
                "name": "riskpoolId",
                "nameLocation": "1015:10:38",
                "nodeType": "VariableDeclaration",
                "scope": 20407,
                "src": "1007:18:38",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 20388,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1007:7:38",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 20391,
                "mutability": "mutable",
                "name": "tokenId",
                "nameLocation": "1043:7:38",
                "nodeType": "VariableDeclaration",
                "scope": 20407,
                "src": "1035:15:38",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 20390,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1035:7:38",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 20394,
                "mutability": "mutable",
                "name": "state",
                "nameLocation": "1072:5:38",
                "nodeType": "VariableDeclaration",
                "scope": 20407,
                "src": "1060:17:38",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_BundleState_$20385",
                  "typeString": "enum IBundle.BundleState"
                },
                "typeName": {
                  "id": 20393,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 20392,
                    "name": "BundleState",
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 20385,
                    "src": "1060:11:38"
                  },
                  "referencedDeclaration": 20385,
                  "src": "1060:11:38",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_BundleState_$20385",
                    "typeString": "enum IBundle.BundleState"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 20396,
                "mutability": "mutable",
                "name": "filter",
                "nameLocation": "1093:6:38",
                "nodeType": "VariableDeclaration",
                "scope": 20407,
                "src": "1087:12:38",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 20395,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "1087:5:38",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 20398,
                "mutability": "mutable",
                "name": "capital",
                "nameLocation": "1211:7:38",
                "nodeType": "VariableDeclaration",
                "scope": 20407,
                "src": "1203:15:38",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 20397,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1203:7:38",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 20400,
                "mutability": "mutable",
                "name": "lockedCapital",
                "nameLocation": "1282:13:38",
                "nodeType": "VariableDeclaration",
                "scope": 20407,
                "src": "1274:21:38",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 20399,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1274:7:38",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 20402,
                "mutability": "mutable",
                "name": "balance",
                "nameLocation": "1394:7:38",
                "nodeType": "VariableDeclaration",
                "scope": 20407,
                "src": "1386:15:38",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 20401,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1386:7:38",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 20404,
                "mutability": "mutable",
                "name": "createdAt",
                "nameLocation": "1493:9:38",
                "nodeType": "VariableDeclaration",
                "scope": 20407,
                "src": "1485:17:38",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 20403,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1485:7:38",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 20406,
                "mutability": "mutable",
                "name": "updatedAt",
                "nameLocation": "1520:9:38",
                "nodeType": "VariableDeclaration",
                "scope": 20407,
                "src": "1512:17:38",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 20405,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1512:7:38",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Bundle",
            "nameLocation": "970:6:38",
            "nodeType": "StructDefinition",
            "scope": 20491,
            "src": "963:573:38",
            "visibility": "public"
          },
          {
            "functionSelector": "c0e71404",
            "id": 20420,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "create",
            "nameLocation": "1551:6:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20416,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20409,
                  "mutability": "mutable",
                  "name": "owner_",
                  "nameLocation": "1566:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20420,
                  "src": "1558:14:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 20408,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1558:7:38",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20411,
                  "mutability": "mutable",
                  "name": "riskpoolId_",
                  "nameLocation": "1582:11:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20420,
                  "src": "1574:19:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20410,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1574:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20413,
                  "mutability": "mutable",
                  "name": "filter_",
                  "nameLocation": "1610:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20420,
                  "src": "1595:22:38",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 20412,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1595:5:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20415,
                  "mutability": "mutable",
                  "name": "amount_",
                  "nameLocation": "1627:7:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20420,
                  "src": "1619:15:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20414,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1619:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1557:78:38"
            },
            "returnParameters": {
              "id": 20419,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20418,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1661:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20420,
                  "src": "1653:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20417,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1653:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1652:18:38"
            },
            "scope": 20491,
            "src": "1542:129:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a65e2cfd",
            "id": 20427,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "fund",
            "nameLocation": "1685:4:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20425,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20422,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1698:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20427,
                  "src": "1690:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20421,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1690:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20424,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1716:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20427,
                  "src": "1708:14:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20423,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1708:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1689:34:38"
            },
            "returnParameters": {
              "id": 20426,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1732:0:38"
            },
            "scope": 20491,
            "src": "1676:57:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c397ae39",
            "id": 20434,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "defund",
            "nameLocation": "1747:6:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20432,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20429,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1762:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20434,
                  "src": "1754:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20428,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1754:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20431,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1780:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20434,
                  "src": "1772:14:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20430,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1772:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1753:34:38"
            },
            "returnParameters": {
              "id": 20433,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1796:0:38"
            },
            "scope": 20491,
            "src": "1738:59:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "dd467064",
            "id": 20439,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lock",
            "nameLocation": "1812:4:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20437,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20436,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1825:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20439,
                  "src": "1817:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20435,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1817:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1816:18:38"
            },
            "returnParameters": {
              "id": 20438,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1843:0:38"
            },
            "scope": 20491,
            "src": "1803:41:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6198e339",
            "id": 20444,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "unlock",
            "nameLocation": "1858:6:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20442,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20441,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1873:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20444,
                  "src": "1865:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20440,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1865:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1864:18:38"
            },
            "returnParameters": {
              "id": 20443,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1891:0:38"
            },
            "scope": 20491,
            "src": "1849:43:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "0aebeb4e",
            "id": 20449,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "close",
            "nameLocation": "1906:5:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20447,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20446,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1920:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20449,
                  "src": "1912:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20445,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1912:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1911:18:38"
            },
            "returnParameters": {
              "id": 20448,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1938:0:38"
            },
            "scope": 20491,
            "src": "1897:42:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "42966c68",
            "id": 20454,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "burn",
            "nameLocation": "1953:4:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20452,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20451,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1966:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20454,
                  "src": "1958:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20450,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1958:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1957:18:38"
            },
            "returnParameters": {
              "id": 20453,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1984:0:38"
            },
            "scope": 20491,
            "src": "1944:41:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4d03f9b7",
            "id": 20463,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "collateralizePolicy",
            "nameLocation": "2000:19:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20461,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20456,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2028:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20463,
                  "src": "2020:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20455,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2020:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20458,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "2046:9:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20463,
                  "src": "2038:17:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 20457,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2038:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20460,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "2065:16:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20463,
                  "src": "2057:24:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20459,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2057:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2019:63:38"
            },
            "returnParameters": {
              "id": 20462,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2091:0:38"
            },
            "scope": 20491,
            "src": "1991:101:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b7267420",
            "id": 20472,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPremium",
            "nameLocation": "2106:14:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20470,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20465,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2129:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20472,
                  "src": "2121:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20464,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2121:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20467,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "2147:9:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20472,
                  "src": "2139:17:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 20466,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2139:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20469,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "2166:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20472,
                  "src": "2158:14:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20468,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2158:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2120:53:38"
            },
            "returnParameters": {
              "id": 20471,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2182:0:38"
            },
            "scope": 20491,
            "src": "2097:86:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b299cc26",
            "id": 20481,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPayout",
            "nameLocation": "2197:13:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20479,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20474,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2219:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20481,
                  "src": "2211:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20473,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2211:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20476,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "2237:9:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20481,
                  "src": "2229:17:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 20475,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2229:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20478,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "2256:6:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20481,
                  "src": "2248:14:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20477,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2248:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2210:53:38"
            },
            "returnParameters": {
              "id": 20480,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2272:0:38"
            },
            "scope": 20491,
            "src": "2188:85:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "bb540df6",
            "id": 20490,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "releasePolicy",
            "nameLocation": "2287:13:38",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20486,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20483,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2309:8:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20490,
                  "src": "2301:16:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20482,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2301:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20485,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "2327:9:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20490,
                  "src": "2319:17:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 20484,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2319:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2300:37:38"
            },
            "returnParameters": {
              "id": 20489,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20488,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "2363:16:38",
                  "nodeType": "VariableDeclaration",
                  "scope": 20490,
                  "src": "2355:24:38",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20487,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2355:7:38",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2354:26:38"
            },
            "scope": 20491,
            "src": "2278:103:38",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 20492,
        "src": "63:2320:38"
      }
    ],
    "src": "39:2345:38"
  },
  "bytecode": "",
  "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.2+commit.661d1103"
  },
  "contractName": "IBundle",
  "coverageMap": {
    "branches": {},
    "statements": {}
  },
  "dependencies": [],
  "deployedBytecode": "",
  "deployedSourceMap": "",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "offset": [
    63,
    2383
  ],
  "opcodes": "",
  "pcMap": {},
  "sha1": "3567f68f46cbc8f5d361ae7483d3085bd49e69b5",
  "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.2;\n\ninterface IBundle {\n\n    event LogBundleCreated(\n        uint256 bundleId, \n        uint256 riskpoolId, \n        address owner,\n        BundleState state,\n        uint256 amount\n    );\n\n    event LogBundleStateChanged(uint256 bundleId, BundleState oldState, BundleState newState);\n\n    event LogBundleCapitalProvided(uint256 bundleId, address sender, uint256 amount, uint256 capacity);\n    event LogBundleCapitalWithdrawn(uint256 bundleId, address recipient, uint256 amount, uint256 capacity);\n\n    event LogBundlePolicyCollateralized(uint256 bundleId, bytes32 processId, uint256 amount, uint256 capacity);\n    event LogBundlePayoutProcessed(uint256 bundleId, bytes32 processId, uint256 amount);\n    event LogBundlePolicyReleased(uint256 bundleId, bytes32 processId, uint256 amount, uint256 capacity);\n\n    enum BundleState {\n        Active,\n        Locked,\n        Closed,\n        Burned\n    }\n\n    struct Bundle {\n        uint256 id;\n        uint256 riskpoolId;\n        uint256 tokenId;\n        BundleState state;\n        bytes filter; // required conditions for applications to be considered for collateralization by this bundle\n        uint256 capital; // net investment capital amount (<= balance)\n        uint256 lockedCapital; // capital amount linked to collateralizaion of non-closed policies (<= capital)\n        uint256 balance; // total amount of funds: net investment capital + net premiums - payouts\n        uint256 createdAt;\n        uint256 updatedAt;\n    }\n\n    function create(address owner_, uint256 riskpoolId_, bytes calldata filter_, uint256 amount_) external returns(uint256 bundleId);\n    function fund(uint256 bundleId, uint256 amount) external;\n    function defund(uint256 bundleId, uint256 amount) external;\n\n    function lock(uint256 bundleId) external;\n    function unlock(uint256 bundleId) external;\n    function close(uint256 bundleId) external;\n    function burn(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",
  "sourceMap": "",
  "sourcePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IBundle.sol",
  "type": "interface"
}