{
  "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": {
    "15": "contracts/modules/IBundle.sol"
  },
  "ast": {
    "absolutePath": "contracts/modules/IBundle.sol",
    "exportedSymbols": {
      "IBundle": [
        2844
      ]
    },
    "id": 2845,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2662,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:15"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 2844,
        "linearizedBaseContracts": [
          2844
        ],
        "name": "IBundle",
        "nameLocation": "73:7:15",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "id": 2675,
            "name": "LogBundleCreated",
            "nameLocation": "94:16:15",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2674,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2664,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "128:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2675,
                  "src": "120:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2663,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "120:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2666,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "155:10:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2675,
                  "src": "147:18:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2665,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "147:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2668,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "owner",
                  "nameLocation": "184:5:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2675,
                  "src": "176:13:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2667,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "176:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2671,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "state",
                  "nameLocation": "211:5:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2675,
                  "src": "199:17:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_BundleState_$2738",
                    "typeString": "enum IBundle.BundleState"
                  },
                  "typeName": {
                    "id": 2670,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2669,
                      "name": "BundleState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2738,
                      "src": "199:11:15"
                    },
                    "referencedDeclaration": 2738,
                    "src": "199:11:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_BundleState_$2738",
                      "typeString": "enum IBundle.BundleState"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2673,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "234:6:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2675,
                  "src": "226:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2672,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "226:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "110:136:15"
            },
            "src": "88:159:15"
          },
          {
            "anonymous": false,
            "id": 2685,
            "name": "LogBundleStateChanged",
            "nameLocation": "259:21:15",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2684,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2677,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "289:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2685,
                  "src": "281:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2676,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "281:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2680,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "oldState",
                  "nameLocation": "311:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2685,
                  "src": "299:20:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_BundleState_$2738",
                    "typeString": "enum IBundle.BundleState"
                  },
                  "typeName": {
                    "id": 2679,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2678,
                      "name": "BundleState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2738,
                      "src": "299:11:15"
                    },
                    "referencedDeclaration": 2738,
                    "src": "299:11:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_BundleState_$2738",
                      "typeString": "enum IBundle.BundleState"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2683,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "newState",
                  "nameLocation": "333:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2685,
                  "src": "321:20:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_BundleState_$2738",
                    "typeString": "enum IBundle.BundleState"
                  },
                  "typeName": {
                    "id": 2682,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 2681,
                      "name": "BundleState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2738,
                      "src": "321:11:15"
                    },
                    "referencedDeclaration": 2738,
                    "src": "321:11:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_BundleState_$2738",
                      "typeString": "enum IBundle.BundleState"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "280:62:15"
            },
            "src": "253:90:15"
          },
          {
            "anonymous": false,
            "id": 2695,
            "name": "LogBundleCapitalProvided",
            "nameLocation": "355:24:15",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2694,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2687,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "388:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2695,
                  "src": "380:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2686,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "380:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2689,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "sender",
                  "nameLocation": "406:6:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2695,
                  "src": "398:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2688,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "398:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2691,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "422:6:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2695,
                  "src": "414:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2690,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "414:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2693,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "capacity",
                  "nameLocation": "438:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2695,
                  "src": "430:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2692,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "430:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "379:68:15"
            },
            "src": "349:99:15"
          },
          {
            "anonymous": false,
            "id": 2705,
            "name": "LogBundleCapitalWithdrawn",
            "nameLocation": "459:25:15",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2704,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2697,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "493:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2705,
                  "src": "485:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2696,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "485:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2699,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "recipient",
                  "nameLocation": "511:9:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2705,
                  "src": "503:17:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2698,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "503:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2701,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "530:6:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2705,
                  "src": "522:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2700,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "522:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2703,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "capacity",
                  "nameLocation": "546:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2705,
                  "src": "538:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2702,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "538:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "484:71:15"
            },
            "src": "453:103:15"
          },
          {
            "anonymous": false,
            "id": 2715,
            "name": "LogBundlePolicyCollateralized",
            "nameLocation": "568:29:15",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2714,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2707,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "606:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2715,
                  "src": "598:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2706,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "598:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2709,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "624:9:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2715,
                  "src": "616:17:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2708,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "616:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2711,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "643:6:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2715,
                  "src": "635:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2710,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "635:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2713,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "capacity",
                  "nameLocation": "659:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2715,
                  "src": "651:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2712,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "651:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "597:71:15"
            },
            "src": "562:107:15"
          },
          {
            "anonymous": false,
            "id": 2723,
            "name": "LogBundlePayoutProcessed",
            "nameLocation": "680:24:15",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2722,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2717,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "713:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2723,
                  "src": "705:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2716,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "705:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2719,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "731:9:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2723,
                  "src": "723:17:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2718,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "723:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2721,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "750:6:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2723,
                  "src": "742:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2720,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "742:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "704:53:15"
            },
            "src": "674:84:15"
          },
          {
            "anonymous": false,
            "id": 2733,
            "name": "LogBundlePolicyReleased",
            "nameLocation": "769:23:15",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2732,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2725,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "801:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2733,
                  "src": "793:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2724,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "793:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2727,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "819:9:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2733,
                  "src": "811:17:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2726,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "811:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2729,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "838:6:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2733,
                  "src": "830:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2728,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "830:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2731,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "capacity",
                  "nameLocation": "854:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2733,
                  "src": "846:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2730,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "846:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "792:71:15"
            },
            "src": "763:101:15"
          },
          {
            "canonicalName": "IBundle.BundleState",
            "id": 2738,
            "members": [
              {
                "id": 2734,
                "name": "Active",
                "nameLocation": "897:6:15",
                "nodeType": "EnumValue",
                "src": "897:6:15"
              },
              {
                "id": 2735,
                "name": "Locked",
                "nameLocation": "913:6:15",
                "nodeType": "EnumValue",
                "src": "913:6:15"
              },
              {
                "id": 2736,
                "name": "Closed",
                "nameLocation": "929:6:15",
                "nodeType": "EnumValue",
                "src": "929:6:15"
              },
              {
                "id": 2737,
                "name": "Burned",
                "nameLocation": "945:6:15",
                "nodeType": "EnumValue",
                "src": "945:6:15"
              }
            ],
            "name": "BundleState",
            "nameLocation": "875:11:15",
            "nodeType": "EnumDefinition",
            "src": "870:87:15"
          },
          {
            "canonicalName": "IBundle.Bundle",
            "id": 2760,
            "members": [
              {
                "constant": false,
                "id": 2740,
                "mutability": "mutable",
                "name": "id",
                "nameLocation": "995:2:15",
                "nodeType": "VariableDeclaration",
                "scope": 2760,
                "src": "987:10:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2739,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "987:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2742,
                "mutability": "mutable",
                "name": "riskpoolId",
                "nameLocation": "1015:10:15",
                "nodeType": "VariableDeclaration",
                "scope": 2760,
                "src": "1007:18:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2741,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1007:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2744,
                "mutability": "mutable",
                "name": "tokenId",
                "nameLocation": "1043:7:15",
                "nodeType": "VariableDeclaration",
                "scope": 2760,
                "src": "1035:15:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2743,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1035:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2747,
                "mutability": "mutable",
                "name": "state",
                "nameLocation": "1072:5:15",
                "nodeType": "VariableDeclaration",
                "scope": 2760,
                "src": "1060:17:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_BundleState_$2738",
                  "typeString": "enum IBundle.BundleState"
                },
                "typeName": {
                  "id": 2746,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 2745,
                    "name": "BundleState",
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 2738,
                    "src": "1060:11:15"
                  },
                  "referencedDeclaration": 2738,
                  "src": "1060:11:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_BundleState_$2738",
                    "typeString": "enum IBundle.BundleState"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2749,
                "mutability": "mutable",
                "name": "filter",
                "nameLocation": "1093:6:15",
                "nodeType": "VariableDeclaration",
                "scope": 2760,
                "src": "1087:12:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 2748,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "1087:5:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2751,
                "mutability": "mutable",
                "name": "capital",
                "nameLocation": "1211:7:15",
                "nodeType": "VariableDeclaration",
                "scope": 2760,
                "src": "1203:15:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2750,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1203:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2753,
                "mutability": "mutable",
                "name": "lockedCapital",
                "nameLocation": "1282:13:15",
                "nodeType": "VariableDeclaration",
                "scope": 2760,
                "src": "1274:21:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2752,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1274:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2755,
                "mutability": "mutable",
                "name": "balance",
                "nameLocation": "1394:7:15",
                "nodeType": "VariableDeclaration",
                "scope": 2760,
                "src": "1386:15:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2754,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1386:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2757,
                "mutability": "mutable",
                "name": "createdAt",
                "nameLocation": "1493:9:15",
                "nodeType": "VariableDeclaration",
                "scope": 2760,
                "src": "1485:17:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2756,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1485:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2759,
                "mutability": "mutable",
                "name": "updatedAt",
                "nameLocation": "1520:9:15",
                "nodeType": "VariableDeclaration",
                "scope": 2760,
                "src": "1512:17:15",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2758,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1512:7:15",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Bundle",
            "nameLocation": "970:6:15",
            "nodeType": "StructDefinition",
            "scope": 2844,
            "src": "963:573:15",
            "visibility": "public"
          },
          {
            "functionSelector": "c0e71404",
            "id": 2773,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "create",
            "nameLocation": "1551:6:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2769,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2762,
                  "mutability": "mutable",
                  "name": "owner_",
                  "nameLocation": "1566:6:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2773,
                  "src": "1558:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2761,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1558:7:15",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2764,
                  "mutability": "mutable",
                  "name": "riskpoolId_",
                  "nameLocation": "1582:11:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2773,
                  "src": "1574:19:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2763,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1574:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2766,
                  "mutability": "mutable",
                  "name": "filter_",
                  "nameLocation": "1610:7:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2773,
                  "src": "1595:22:15",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 2765,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1595:5:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2768,
                  "mutability": "mutable",
                  "name": "amount_",
                  "nameLocation": "1627:7:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2773,
                  "src": "1619:15:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2767,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1619:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1557:78:15"
            },
            "returnParameters": {
              "id": 2772,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2771,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1661:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2773,
                  "src": "1653:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2770,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1653:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1652:18:15"
            },
            "scope": 2844,
            "src": "1542:129:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a65e2cfd",
            "id": 2780,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "fund",
            "nameLocation": "1685:4:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2778,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2775,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1698:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2780,
                  "src": "1690:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2774,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1690:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2777,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1716:6:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2780,
                  "src": "1708:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2776,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1708:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1689:34:15"
            },
            "returnParameters": {
              "id": 2779,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1732:0:15"
            },
            "scope": 2844,
            "src": "1676:57:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c397ae39",
            "id": 2787,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "defund",
            "nameLocation": "1747:6:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2785,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2782,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1762:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2787,
                  "src": "1754:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2781,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1754:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2784,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1780:6:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2787,
                  "src": "1772:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2783,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1772:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1753:34:15"
            },
            "returnParameters": {
              "id": 2786,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1796:0:15"
            },
            "scope": 2844,
            "src": "1738:59:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "dd467064",
            "id": 2792,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lock",
            "nameLocation": "1812:4:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2790,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2789,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1825:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2792,
                  "src": "1817:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2788,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1817:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1816:18:15"
            },
            "returnParameters": {
              "id": 2791,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1843:0:15"
            },
            "scope": 2844,
            "src": "1803:41:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6198e339",
            "id": 2797,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "unlock",
            "nameLocation": "1858:6:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2795,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2794,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1873:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2797,
                  "src": "1865:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2793,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1865:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1864:18:15"
            },
            "returnParameters": {
              "id": 2796,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1891:0:15"
            },
            "scope": 2844,
            "src": "1849:43:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "0aebeb4e",
            "id": 2802,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "close",
            "nameLocation": "1906:5:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2800,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2799,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1920:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2802,
                  "src": "1912:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2798,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1912:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1911:18:15"
            },
            "returnParameters": {
              "id": 2801,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1938:0:15"
            },
            "scope": 2844,
            "src": "1897:42:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "42966c68",
            "id": 2807,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "burn",
            "nameLocation": "1953:4:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2805,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2804,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1966:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2807,
                  "src": "1958:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2803,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1958:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1957:18:15"
            },
            "returnParameters": {
              "id": 2806,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1984:0:15"
            },
            "scope": 2844,
            "src": "1944:41:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4d03f9b7",
            "id": 2816,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "collateralizePolicy",
            "nameLocation": "2000:19:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2814,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2809,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2028:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2816,
                  "src": "2020:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2808,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2020:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2811,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "2046:9:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2816,
                  "src": "2038:17:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2810,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2038:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2813,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "2065:16:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2816,
                  "src": "2057:24:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2812,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2057:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2019:63:15"
            },
            "returnParameters": {
              "id": 2815,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2091:0:15"
            },
            "scope": 2844,
            "src": "1991:101:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b7267420",
            "id": 2825,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPremium",
            "nameLocation": "2106:14:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2823,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2818,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2129:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2825,
                  "src": "2121:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2817,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2121:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2820,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "2147:9:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2825,
                  "src": "2139:17:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2819,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2139:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2822,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "2166:6:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2825,
                  "src": "2158:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2821,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2158:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2120:53:15"
            },
            "returnParameters": {
              "id": 2824,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2182:0:15"
            },
            "scope": 2844,
            "src": "2097:86:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b299cc26",
            "id": 2834,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPayout",
            "nameLocation": "2197:13:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2832,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2827,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2219:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2834,
                  "src": "2211:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2826,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2211:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2829,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "2237:9:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2834,
                  "src": "2229:17:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2828,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2229:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2831,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "2256:6:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2834,
                  "src": "2248:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2830,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2248:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2210:53:15"
            },
            "returnParameters": {
              "id": 2833,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2272:0:15"
            },
            "scope": 2844,
            "src": "2188:85:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "bb540df6",
            "id": 2843,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "releasePolicy",
            "nameLocation": "2287:13:15",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2839,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2836,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2309:8:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2843,
                  "src": "2301:16:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2835,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2301:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2838,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "2327:9:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2843,
                  "src": "2319:17:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2837,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2319:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2300:37:15"
            },
            "returnParameters": {
              "id": 2842,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2841,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "2363:16:15",
                  "nodeType": "VariableDeclaration",
                  "scope": 2843,
                  "src": "2355:24:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2840,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2355:7:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2354:26:15"
            },
            "scope": 2844,
            "src": "2278:103:15",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 2845,
        "src": "63:2320:15"
      }
    ],
    "src": "39:2345:15"
  },
  "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": "contracts/modules/IBundle.sol",
  "type": "interface"
}