{
  "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": {
    "34": "/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": [
        13382
      ]
    },
    "id": 13383,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 13200,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:34"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 13382,
        "linearizedBaseContracts": [
          13382
        ],
        "name": "IBundle",
        "nameLocation": "73:7:34",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "id": 13213,
            "name": "LogBundleCreated",
            "nameLocation": "94:16:34",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 13212,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13202,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "128:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13213,
                  "src": "120:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13201,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "120:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13204,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "155:10:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13213,
                  "src": "147:18:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13203,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "147:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13206,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "owner",
                  "nameLocation": "184:5:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13213,
                  "src": "176:13:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 13205,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "176:7:34",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13209,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "state",
                  "nameLocation": "211:5:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13213,
                  "src": "199:17:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_BundleState_$13276",
                    "typeString": "enum IBundle.BundleState"
                  },
                  "typeName": {
                    "id": 13208,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 13207,
                      "name": "BundleState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 13276,
                      "src": "199:11:34"
                    },
                    "referencedDeclaration": 13276,
                    "src": "199:11:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_BundleState_$13276",
                      "typeString": "enum IBundle.BundleState"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13211,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "234:6:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13213,
                  "src": "226:14:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13210,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "226:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "110:136:34"
            },
            "src": "88:159:34"
          },
          {
            "anonymous": false,
            "id": 13223,
            "name": "LogBundleStateChanged",
            "nameLocation": "259:21:34",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 13222,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13215,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "289:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13223,
                  "src": "281:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13214,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "281:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13218,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "oldState",
                  "nameLocation": "311:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13223,
                  "src": "299:20:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_BundleState_$13276",
                    "typeString": "enum IBundle.BundleState"
                  },
                  "typeName": {
                    "id": 13217,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 13216,
                      "name": "BundleState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 13276,
                      "src": "299:11:34"
                    },
                    "referencedDeclaration": 13276,
                    "src": "299:11:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_BundleState_$13276",
                      "typeString": "enum IBundle.BundleState"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13221,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "newState",
                  "nameLocation": "333:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13223,
                  "src": "321:20:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_BundleState_$13276",
                    "typeString": "enum IBundle.BundleState"
                  },
                  "typeName": {
                    "id": 13220,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 13219,
                      "name": "BundleState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 13276,
                      "src": "321:11:34"
                    },
                    "referencedDeclaration": 13276,
                    "src": "321:11:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_BundleState_$13276",
                      "typeString": "enum IBundle.BundleState"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "280:62:34"
            },
            "src": "253:90:34"
          },
          {
            "anonymous": false,
            "id": 13233,
            "name": "LogBundleCapitalProvided",
            "nameLocation": "355:24:34",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 13232,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13225,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "388:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13233,
                  "src": "380:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13224,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "380:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13227,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "sender",
                  "nameLocation": "406:6:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13233,
                  "src": "398:14:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 13226,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "398:7:34",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13229,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "422:6:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13233,
                  "src": "414:14:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13228,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "414:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13231,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "capacity",
                  "nameLocation": "438:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13233,
                  "src": "430:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13230,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "430:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "379:68:34"
            },
            "src": "349:99:34"
          },
          {
            "anonymous": false,
            "id": 13243,
            "name": "LogBundleCapitalWithdrawn",
            "nameLocation": "459:25:34",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 13242,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13235,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "493:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13243,
                  "src": "485:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13234,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "485:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13237,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "recipient",
                  "nameLocation": "511:9:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13243,
                  "src": "503:17:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 13236,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "503:7:34",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13239,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "530:6:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13243,
                  "src": "522:14:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13238,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "522:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13241,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "capacity",
                  "nameLocation": "546:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13243,
                  "src": "538:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13240,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "538:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "484:71:34"
            },
            "src": "453:103:34"
          },
          {
            "anonymous": false,
            "id": 13253,
            "name": "LogBundlePolicyCollateralized",
            "nameLocation": "568:29:34",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 13252,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13245,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "606:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13253,
                  "src": "598:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13244,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "598:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13247,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "624:9:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13253,
                  "src": "616:17:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 13246,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "616:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13249,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "643:6:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13253,
                  "src": "635:14:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13248,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "635:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13251,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "capacity",
                  "nameLocation": "659:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13253,
                  "src": "651:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13250,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "651:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "597:71:34"
            },
            "src": "562:107:34"
          },
          {
            "anonymous": false,
            "id": 13261,
            "name": "LogBundlePayoutProcessed",
            "nameLocation": "680:24:34",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 13260,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13255,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "713:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13261,
                  "src": "705:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13254,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "705:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13257,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "731:9:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13261,
                  "src": "723:17:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 13256,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "723:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13259,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "750:6:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13261,
                  "src": "742:14:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13258,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "742:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "704:53:34"
            },
            "src": "674:84:34"
          },
          {
            "anonymous": false,
            "id": 13271,
            "name": "LogBundlePolicyReleased",
            "nameLocation": "769:23:34",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 13270,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13263,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "801:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13271,
                  "src": "793:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13262,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "793:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13265,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "819:9:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13271,
                  "src": "811:17:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 13264,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "811:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13267,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "838:6:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13271,
                  "src": "830:14:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13266,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "830:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13269,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "capacity",
                  "nameLocation": "854:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13271,
                  "src": "846:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13268,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "846:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "792:71:34"
            },
            "src": "763:101:34"
          },
          {
            "canonicalName": "IBundle.BundleState",
            "id": 13276,
            "members": [
              {
                "id": 13272,
                "name": "Active",
                "nameLocation": "897:6:34",
                "nodeType": "EnumValue",
                "src": "897:6:34"
              },
              {
                "id": 13273,
                "name": "Locked",
                "nameLocation": "913:6:34",
                "nodeType": "EnumValue",
                "src": "913:6:34"
              },
              {
                "id": 13274,
                "name": "Closed",
                "nameLocation": "929:6:34",
                "nodeType": "EnumValue",
                "src": "929:6:34"
              },
              {
                "id": 13275,
                "name": "Burned",
                "nameLocation": "945:6:34",
                "nodeType": "EnumValue",
                "src": "945:6:34"
              }
            ],
            "name": "BundleState",
            "nameLocation": "875:11:34",
            "nodeType": "EnumDefinition",
            "src": "870:87:34"
          },
          {
            "canonicalName": "IBundle.Bundle",
            "id": 13298,
            "members": [
              {
                "constant": false,
                "id": 13278,
                "mutability": "mutable",
                "name": "id",
                "nameLocation": "995:2:34",
                "nodeType": "VariableDeclaration",
                "scope": 13298,
                "src": "987:10:34",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 13277,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "987:7:34",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 13280,
                "mutability": "mutable",
                "name": "riskpoolId",
                "nameLocation": "1015:10:34",
                "nodeType": "VariableDeclaration",
                "scope": 13298,
                "src": "1007:18:34",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 13279,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1007:7:34",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 13282,
                "mutability": "mutable",
                "name": "tokenId",
                "nameLocation": "1043:7:34",
                "nodeType": "VariableDeclaration",
                "scope": 13298,
                "src": "1035:15:34",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 13281,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1035:7:34",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 13285,
                "mutability": "mutable",
                "name": "state",
                "nameLocation": "1072:5:34",
                "nodeType": "VariableDeclaration",
                "scope": 13298,
                "src": "1060:17:34",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_BundleState_$13276",
                  "typeString": "enum IBundle.BundleState"
                },
                "typeName": {
                  "id": 13284,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 13283,
                    "name": "BundleState",
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 13276,
                    "src": "1060:11:34"
                  },
                  "referencedDeclaration": 13276,
                  "src": "1060:11:34",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_BundleState_$13276",
                    "typeString": "enum IBundle.BundleState"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 13287,
                "mutability": "mutable",
                "name": "filter",
                "nameLocation": "1093:6:34",
                "nodeType": "VariableDeclaration",
                "scope": 13298,
                "src": "1087:12:34",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 13286,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "1087:5:34",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 13289,
                "mutability": "mutable",
                "name": "capital",
                "nameLocation": "1211:7:34",
                "nodeType": "VariableDeclaration",
                "scope": 13298,
                "src": "1203:15:34",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 13288,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1203:7:34",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 13291,
                "mutability": "mutable",
                "name": "lockedCapital",
                "nameLocation": "1282:13:34",
                "nodeType": "VariableDeclaration",
                "scope": 13298,
                "src": "1274:21:34",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 13290,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1274:7:34",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 13293,
                "mutability": "mutable",
                "name": "balance",
                "nameLocation": "1394:7:34",
                "nodeType": "VariableDeclaration",
                "scope": 13298,
                "src": "1386:15:34",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 13292,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1386:7:34",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 13295,
                "mutability": "mutable",
                "name": "createdAt",
                "nameLocation": "1493:9:34",
                "nodeType": "VariableDeclaration",
                "scope": 13298,
                "src": "1485:17:34",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 13294,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1485:7:34",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 13297,
                "mutability": "mutable",
                "name": "updatedAt",
                "nameLocation": "1520:9:34",
                "nodeType": "VariableDeclaration",
                "scope": 13298,
                "src": "1512:17:34",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 13296,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1512:7:34",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Bundle",
            "nameLocation": "970:6:34",
            "nodeType": "StructDefinition",
            "scope": 13382,
            "src": "963:573:34",
            "visibility": "public"
          },
          {
            "functionSelector": "c0e71404",
            "id": 13311,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "create",
            "nameLocation": "1551:6:34",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13307,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13300,
                  "mutability": "mutable",
                  "name": "owner_",
                  "nameLocation": "1566:6:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13311,
                  "src": "1558:14:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 13299,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1558:7:34",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13302,
                  "mutability": "mutable",
                  "name": "riskpoolId_",
                  "nameLocation": "1582:11:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13311,
                  "src": "1574:19:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13301,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1574:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13304,
                  "mutability": "mutable",
                  "name": "filter_",
                  "nameLocation": "1610:7:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13311,
                  "src": "1595:22:34",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 13303,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1595:5:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13306,
                  "mutability": "mutable",
                  "name": "amount_",
                  "nameLocation": "1627:7:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13311,
                  "src": "1619:15:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13305,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1619:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1557:78:34"
            },
            "returnParameters": {
              "id": 13310,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13309,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1661:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13311,
                  "src": "1653:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13308,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1653:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1652:18:34"
            },
            "scope": 13382,
            "src": "1542:129:34",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a65e2cfd",
            "id": 13318,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "fund",
            "nameLocation": "1685:4:34",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13316,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13313,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1698:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13318,
                  "src": "1690:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13312,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1690:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13315,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1716:6:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13318,
                  "src": "1708:14:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13314,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1708:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1689:34:34"
            },
            "returnParameters": {
              "id": 13317,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1732:0:34"
            },
            "scope": 13382,
            "src": "1676:57:34",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c397ae39",
            "id": 13325,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "defund",
            "nameLocation": "1747:6:34",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13323,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13320,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1762:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13325,
                  "src": "1754:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13319,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1754:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13322,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1780:6:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13325,
                  "src": "1772:14:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13321,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1772:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1753:34:34"
            },
            "returnParameters": {
              "id": 13324,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1796:0:34"
            },
            "scope": 13382,
            "src": "1738:59:34",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "dd467064",
            "id": 13330,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lock",
            "nameLocation": "1812:4:34",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13328,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13327,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1825:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13330,
                  "src": "1817:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13326,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1817:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1816:18:34"
            },
            "returnParameters": {
              "id": 13329,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1843:0:34"
            },
            "scope": 13382,
            "src": "1803:41:34",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6198e339",
            "id": 13335,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "unlock",
            "nameLocation": "1858:6:34",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13333,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13332,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1873:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13335,
                  "src": "1865:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13331,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1865:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1864:18:34"
            },
            "returnParameters": {
              "id": 13334,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1891:0:34"
            },
            "scope": 13382,
            "src": "1849:43:34",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "0aebeb4e",
            "id": 13340,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "close",
            "nameLocation": "1906:5:34",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13338,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13337,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1920:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13340,
                  "src": "1912:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13336,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1912:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1911:18:34"
            },
            "returnParameters": {
              "id": 13339,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1938:0:34"
            },
            "scope": 13382,
            "src": "1897:42:34",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "42966c68",
            "id": 13345,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "burn",
            "nameLocation": "1953:4:34",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13343,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13342,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1966:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13345,
                  "src": "1958:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13341,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1958:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1957:18:34"
            },
            "returnParameters": {
              "id": 13344,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1984:0:34"
            },
            "scope": 13382,
            "src": "1944:41:34",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4d03f9b7",
            "id": 13354,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "collateralizePolicy",
            "nameLocation": "2000:19:34",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13352,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13347,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2028:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13354,
                  "src": "2020:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13346,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2020:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13349,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "2046:9:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13354,
                  "src": "2038:17:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 13348,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2038:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13351,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "2065:16:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13354,
                  "src": "2057:24:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13350,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2057:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2019:63:34"
            },
            "returnParameters": {
              "id": 13353,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2091:0:34"
            },
            "scope": 13382,
            "src": "1991:101:34",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b7267420",
            "id": 13363,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPremium",
            "nameLocation": "2106:14:34",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13361,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13356,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2129:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13363,
                  "src": "2121:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13355,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2121:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13358,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "2147:9:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13363,
                  "src": "2139:17:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 13357,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2139:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13360,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "2166:6:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13363,
                  "src": "2158:14:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13359,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2158:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2120:53:34"
            },
            "returnParameters": {
              "id": 13362,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2182:0:34"
            },
            "scope": 13382,
            "src": "2097:86:34",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b299cc26",
            "id": 13372,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPayout",
            "nameLocation": "2197:13:34",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13370,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13365,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2219:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13372,
                  "src": "2211:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13364,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2211:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13367,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "2237:9:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13372,
                  "src": "2229:17:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 13366,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2229:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13369,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "2256:6:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13372,
                  "src": "2248:14:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13368,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2248:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2210:53:34"
            },
            "returnParameters": {
              "id": 13371,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2272:0:34"
            },
            "scope": 13382,
            "src": "2188:85:34",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "bb540df6",
            "id": 13381,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "releasePolicy",
            "nameLocation": "2287:13:34",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13377,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13374,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2309:8:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13381,
                  "src": "2301:16:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13373,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2301:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13376,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "2327:9:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13381,
                  "src": "2319:17:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 13375,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2319:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2300:37:34"
            },
            "returnParameters": {
              "id": 13380,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13379,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "2363:16:34",
                  "nodeType": "VariableDeclaration",
                  "scope": 13381,
                  "src": "2355:24:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13378,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2355:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2354:26:34"
            },
            "scope": 13382,
            "src": "2278:103:34",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 13383,
        "src": "63:2320:34"
      }
    ],
    "src": "39:2345:34"
  },
  "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"
}