{
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "componentName",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "enum IComponent.ComponentType",
          "name": "componentType",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "componentAddress",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "registryAddress",
          "type": "address"
        }
      ],
      "name": "LogComponentCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolApproved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolBundleCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "isMatching",
          "type": "bool"
        }
      ],
      "name": "LogRiskpoolBundleMatchesPolicy",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "collateralAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "isSecured",
          "type": "bool"
        }
      ],
      "name": "LogRiskpoolCollateralLocked",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "collateralAmount",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolCollateralReleased",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "riskpoolAddress",
          "type": "address"
        }
      ],
      "name": "LogRiskpoolCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolDeclined",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolPayoutProcessed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolPremiumProcessed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "LogRiskpoolProposed",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "activeBundles",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "approvalCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "archiveCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "riskpoolId",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "tokenId",
              "type": "uint256"
            },
            {
              "internalType": "enum IBundle.BundleState",
              "name": "state",
              "type": "uint8"
            },
            {
              "internalType": "bytes",
              "name": "filter",
              "type": "bytes"
            },
            {
              "internalType": "uint256",
              "name": "capital",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "lockedCapital",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "balance",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "updatedAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IBundle.Bundle",
          "name": "bundle",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "enum IPolicy.ApplicationState",
              "name": "state",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "premiumAmount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "sumInsuredAmount",
              "type": "uint256"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "updatedAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IPolicy.Application",
          "name": "application",
          "type": "tuple"
        }
      ],
      "name": "bundleMatchesApplication",
      "outputs": [
        {
          "internalType": "bool",
          "name": "isMatching",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "bundles",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "burnBundle",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "closeBundle",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "collateralAmount",
          "type": "uint256"
        }
      ],
      "name": "collateralizePolicy",
      "outputs": [
        {
          "internalType": "bool",
          "name": "isSecured",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "filter",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "initialAmount",
          "type": "uint256"
        }
      ],
      "name": "createBundle",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "declineCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "defundBundle",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "netAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "fundBundle",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "netAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "idx",
          "type": "uint256"
        }
      ],
      "name": "getActiveBundleId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getBalance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "idx",
          "type": "uint256"
        }
      ],
      "name": "getBundle",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "riskpoolId",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "tokenId",
              "type": "uint256"
            },
            {
              "internalType": "enum IBundle.BundleState",
              "name": "state",
              "type": "uint8"
            },
            {
              "internalType": "bytes",
              "name": "filter",
              "type": "bytes"
            },
            {
              "internalType": "uint256",
              "name": "capital",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "lockedCapital",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "balance",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "updatedAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IBundle.Bundle",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getCapacity",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getCapital",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getCollateralizationLevel",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getErc20Token",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getFilterDataStructure",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getFullCollateralizationLevel",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getMaximumNumberOfActiveBundles",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "maximumNumberOfActiveBundles",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getName",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getRegistry",
      "outputs": [
        {
          "internalType": "contract IRegistry",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getState",
      "outputs": [
        {
          "internalType": "enum IComponent.ComponentState",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getSumOfSumInsuredCap",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getTotalValueLocked",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getType",
      "outputs": [
        {
          "internalType": "enum IComponent.ComponentType",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getWallet",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isOracle",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isProduct",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isRiskpool",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "lockBundle",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pauseCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "processPolicyPayout",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "processPolicyPremium",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proposalCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "releasePolicy",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "resumeCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "setId",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "maximumNumberOfActiveBundles",
          "type": "uint256"
        }
      ],
      "name": "setMaximumNumberOfActiveBundles",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "suspendCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "name": "unlockBundle",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "unpauseCallback",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "10": "contracts/components/IRiskpool.sol",
    "21": "contracts/modules/IRegistry.sol",
    "7": "contracts/components/IComponent.sol"
  },
  "ast": {
    "absolutePath": "contracts/components/IRiskpool.sol",
    "exportedSymbols": {
      "IBundle": [
        2844
      ],
      "IComponent": [
        812
      ],
      "IPolicy": [
        3257
      ],
      "IRegistry": [
        3538
      ],
      "IRiskpool": [
        1136
      ]
    },
    "id": 1137,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 905,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:10"
      },
      {
        "absolutePath": "contracts/components/IComponent.sol",
        "file": "./IComponent.sol",
        "id": 906,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 1137,
        "sourceUnit": 813,
        "src": "63:26:10",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/modules/IBundle.sol",
        "file": "../modules/IBundle.sol",
        "id": 907,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 1137,
        "sourceUnit": 2845,
        "src": "90:32:10",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/modules/IPolicy.sol",
        "file": "../modules/IPolicy.sol",
        "id": 908,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 1137,
        "sourceUnit": 3258,
        "src": "123:32:10",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 909,
              "name": "IComponent",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 812,
              "src": "180:10:10"
            },
            "id": 910,
            "nodeType": "InheritanceSpecifier",
            "src": "180:10:10"
          }
        ],
        "contractDependencies": [
          812
        ],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 1136,
        "linearizedBaseContracts": [
          1136,
          812
        ],
        "name": "IRiskpool",
        "nameLocation": "167:9:10",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "id": 914,
            "name": "LogRiskpoolCreated",
            "nameLocation": "204:18:10",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 913,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 912,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "riskpoolAddress",
                  "nameLocation": "232:15:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 914,
                  "src": "224:23:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 911,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "224:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "223:25:10"
            },
            "src": "198:51:10"
          },
          {
            "anonymous": false,
            "id": 918,
            "name": "LogRiskpoolProposed",
            "nameLocation": "260:19:10",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 917,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 916,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "289:2:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 918,
                  "src": "281:10:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 915,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "281:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "280:12:10"
            },
            "src": "254:39:10"
          },
          {
            "anonymous": false,
            "id": 922,
            "name": "LogRiskpoolApproved",
            "nameLocation": "304:19:10",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 921,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 920,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "333:2:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 922,
                  "src": "325:10:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 919,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "325:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "324:12:10"
            },
            "src": "298:39:10"
          },
          {
            "anonymous": false,
            "id": 926,
            "name": "LogRiskpoolDeclined",
            "nameLocation": "348:19:10",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 925,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 924,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "377:2:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 926,
                  "src": "369:10:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 923,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "369:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "368:12:10"
            },
            "src": "342:39:10"
          },
          {
            "anonymous": false,
            "id": 932,
            "name": "LogRiskpoolBundleCreated",
            "nameLocation": "393:24:10",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 931,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 928,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "426:8:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 932,
                  "src": "418:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 927,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "418:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 930,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "444:6:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 932,
                  "src": "436:14:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 929,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "436:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "417:34:10"
            },
            "src": "387:65:10"
          },
          {
            "anonymous": false,
            "id": 938,
            "name": "LogRiskpoolBundleMatchesPolicy",
            "nameLocation": "463:30:10",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 937,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 934,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "502:8:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 938,
                  "src": "494:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 933,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "494:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 936,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "isMatching",
                  "nameLocation": "517:10:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 938,
                  "src": "512:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 935,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "512:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "493:35:10"
            },
            "src": "457:72:10"
          },
          {
            "anonymous": false,
            "id": 946,
            "name": "LogRiskpoolCollateralLocked",
            "nameLocation": "540:27:10",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 945,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 940,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "576:9:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 946,
                  "src": "568:17:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 939,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "568:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 942,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "595:16:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 946,
                  "src": "587:24:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 941,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "587:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 944,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "isSecured",
                  "nameLocation": "618:9:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 946,
                  "src": "613:14:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 943,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "613:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "567:61:10"
            },
            "src": "534:95:10"
          },
          {
            "anonymous": false,
            "id": 952,
            "name": "LogRiskpoolPremiumProcessed",
            "nameLocation": "641:27:10",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 951,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 948,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "677:9:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 952,
                  "src": "669:17:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 947,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "669:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 950,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "696:6:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 952,
                  "src": "688:14:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 949,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "688:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "668:35:10"
            },
            "src": "635:69:10"
          },
          {
            "anonymous": false,
            "id": 958,
            "name": "LogRiskpoolPayoutProcessed",
            "nameLocation": "715:26:10",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 957,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 954,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "750:9:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 958,
                  "src": "742:17:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 953,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "742:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 956,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "769:6:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 958,
                  "src": "761:14:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 955,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "761:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "741:35:10"
            },
            "src": "709:68:10"
          },
          {
            "anonymous": false,
            "id": 964,
            "name": "LogRiskpoolCollateralReleased",
            "nameLocation": "788:29:10",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 963,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 960,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "826:9:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 964,
                  "src": "818:17:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 959,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "818:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 962,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "845:16:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 964,
                  "src": "837:24:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 961,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "837:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "817:45:10"
            },
            "src": "782:81:10"
          },
          {
            "functionSelector": "7888a2ff",
            "id": 973,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createBundle",
            "nameLocation": "879:12:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 969,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 966,
                  "mutability": "mutable",
                  "name": "filter",
                  "nameLocation": "905:6:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 973,
                  "src": "892:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 965,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "892:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 968,
                  "mutability": "mutable",
                  "name": "initialAmount",
                  "nameLocation": "921:13:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 973,
                  "src": "913:21:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 967,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "913:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "891:44:10"
            },
            "returnParameters": {
              "id": 972,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 971,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "961:8:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 973,
                  "src": "953:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 970,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "953:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "952:18:10"
            },
            "scope": 1136,
            "src": "870:101:10",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "89002da5",
            "id": 982,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "fundBundle",
            "nameLocation": "985:10:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 978,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 975,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1004:8:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 982,
                  "src": "996:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 974,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "996:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 977,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1022:6:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 982,
                  "src": "1014:14:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 976,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1014:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "995:34:10"
            },
            "returnParameters": {
              "id": 981,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 980,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "1055:9:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 982,
                  "src": "1047:17:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 979,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1047:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1046:19:10"
            },
            "scope": 1136,
            "src": "976:90:10",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "36153f3a",
            "id": 991,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "defundBundle",
            "nameLocation": "1080:12:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 987,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 984,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1101:8:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 991,
                  "src": "1093:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 983,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1093:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 986,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1119:6:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 991,
                  "src": "1111:14:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 985,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1111:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1092:34:10"
            },
            "returnParameters": {
              "id": 990,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 989,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "1152:9:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 991,
                  "src": "1144:17:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 988,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1144:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1143:19:10"
            },
            "scope": 1136,
            "src": "1071:92:10",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a17030d5",
            "id": 996,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lockBundle",
            "nameLocation": "1178:10:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 994,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 993,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1197:8:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 996,
                  "src": "1189:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 992,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1189:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1188:18:10"
            },
            "returnParameters": {
              "id": 995,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1215:0:10"
            },
            "scope": 1136,
            "src": "1169:47:10",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "316c5348",
            "id": 1001,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "unlockBundle",
            "nameLocation": "1230:12:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 999,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 998,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1251:8:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1001,
                  "src": "1243:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 997,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1243:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1242:18:10"
            },
            "returnParameters": {
              "id": 1000,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1269:0:10"
            },
            "scope": 1136,
            "src": "1221:49:10",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "8c483e5a",
            "id": 1006,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "closeBundle",
            "nameLocation": "1284:11:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1004,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1003,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1304:8:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1006,
                  "src": "1296:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1002,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1296:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1295:18:10"
            },
            "returnParameters": {
              "id": 1005,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1322:0:10"
            },
            "scope": 1136,
            "src": "1275:48:10",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "587e59d0",
            "id": 1011,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "burnBundle",
            "nameLocation": "1337:10:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1009,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1008,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1356:8:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1011,
                  "src": "1348:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1007,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1348:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1347:18:10"
            },
            "returnParameters": {
              "id": 1010,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1374:0:10"
            },
            "scope": 1136,
            "src": "1328:47:10",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "890fbf78",
            "id": 1020,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "collateralizePolicy",
            "nameLocation": "1390:19:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1016,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1013,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1418:9:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1020,
                  "src": "1410:17:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1012,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1410:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1015,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "1437:16:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1020,
                  "src": "1429:24:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1014,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1429:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1409:45:10"
            },
            "returnParameters": {
              "id": 1019,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1018,
                  "mutability": "mutable",
                  "name": "isSecured",
                  "nameLocation": "1477:9:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1020,
                  "src": "1472:14:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1017,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1472:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1471:16:10"
            },
            "scope": 1136,
            "src": "1381:107:10",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "3629c3c4",
            "id": 1027,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPolicyPremium",
            "nameLocation": "1502:20:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1025,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1022,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1531:9:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1027,
                  "src": "1523:17:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1021,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1523:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1024,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1550:6:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1027,
                  "src": "1542:14:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1023,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1542:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1522:35:10"
            },
            "returnParameters": {
              "id": 1026,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1566:0:10"
            },
            "scope": 1136,
            "src": "1493:74:10",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "82558906",
            "id": 1034,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPolicyPayout",
            "nameLocation": "1581:19:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1032,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1029,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1609:9:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1034,
                  "src": "1601:17:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1028,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1601:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1031,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1628:6:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1034,
                  "src": "1620:14:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1030,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1620:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1600:35:10"
            },
            "returnParameters": {
              "id": 1033,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1644:0:10"
            },
            "scope": 1136,
            "src": "1572:73:10",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c3004c86",
            "id": 1039,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "releasePolicy",
            "nameLocation": "1659:13:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1037,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1036,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1681:9:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1039,
                  "src": "1673:17:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1035,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1673:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1672:19:10"
            },
            "returnParameters": {
              "id": 1038,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1700:0:10"
            },
            "scope": 1136,
            "src": "1650:51:10",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "54afef63",
            "id": 1044,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCollateralizationLevel",
            "nameLocation": "1716:25:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1040,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1741:2:10"
            },
            "returnParameters": {
              "id": 1043,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1042,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1044,
                  "src": "1767:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1041,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1767:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1766:9:10"
            },
            "scope": 1136,
            "src": "1707:69:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "f1d354d0",
            "id": 1049,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getFullCollateralizationLevel",
            "nameLocation": "1790:29:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1045,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1819:2:10"
            },
            "returnParameters": {
              "id": 1048,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1047,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1049,
                  "src": "1845:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1046,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1845:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1844:9:10"
            },
            "scope": 1136,
            "src": "1781:73:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "86c71288",
            "id": 1060,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "bundleMatchesApplication",
            "nameLocation": "1869:24:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1056,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1052,
                  "mutability": "mutable",
                  "name": "bundle",
                  "nameLocation": "1925:6:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1060,
                  "src": "1903:28:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Bundle_$2760_memory_ptr",
                    "typeString": "struct IBundle.Bundle"
                  },
                  "typeName": {
                    "id": 1051,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 1050,
                      "name": "IBundle.Bundle",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2760,
                      "src": "1903:14:10"
                    },
                    "referencedDeclaration": 2760,
                    "src": "1903:14:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Bundle_$2760_storage_ptr",
                      "typeString": "struct IBundle.Bundle"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1055,
                  "mutability": "mutable",
                  "name": "application",
                  "nameLocation": "1969:11:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1060,
                  "src": "1942:38:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Application_$3086_memory_ptr",
                    "typeString": "struct IPolicy.Application"
                  },
                  "typeName": {
                    "id": 1054,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 1053,
                      "name": "IPolicy.Application",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3086,
                      "src": "1942:19:10"
                    },
                    "referencedDeclaration": 3086,
                    "src": "1942:19:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Application_$3086_storage_ptr",
                      "typeString": "struct IPolicy.Application"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1893:93:10"
            },
            "returnParameters": {
              "id": 1059,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1058,
                  "mutability": "mutable",
                  "name": "isMatching",
                  "nameLocation": "2023:10:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1060,
                  "src": "2018:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1057,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2018:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2017:17:10"
            },
            "scope": 1136,
            "src": "1860:175:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "3dcdde17",
            "id": 1065,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getFilterDataStructure",
            "nameLocation": "2057:22:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1061,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2079:2:10"
            },
            "returnParameters": {
              "id": 1064,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1063,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1065,
                  "src": "2104:13:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1062,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2104:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2103:15:10"
            },
            "scope": 1136,
            "src": "2048:71:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "18442e63",
            "id": 1070,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "bundles",
            "nameLocation": "2134:7:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1066,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2141:2:10"
            },
            "returnParameters": {
              "id": 1069,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1068,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1070,
                  "src": "2166:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1067,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2166:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2165:9:10"
            },
            "scope": 1136,
            "src": "2125:50:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2d0821b7",
            "id": 1078,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getBundle",
            "nameLocation": "2189:9:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1073,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1072,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "2207:3:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1078,
                  "src": "2199:11:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1071,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2199:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2198:13:10"
            },
            "returnParameters": {
              "id": 1077,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1076,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1078,
                  "src": "2234:21:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Bundle_$2760_memory_ptr",
                    "typeString": "struct IBundle.Bundle"
                  },
                  "typeName": {
                    "id": 1075,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 1074,
                      "name": "IBundle.Bundle",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2760,
                      "src": "2234:14:10"
                    },
                    "referencedDeclaration": 2760,
                    "src": "2234:14:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Bundle_$2760_storage_ptr",
                      "typeString": "struct IBundle.Bundle"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2233:23:10"
            },
            "scope": 1136,
            "src": "2180:77:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4101b90c",
            "id": 1083,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "activeBundles",
            "nameLocation": "2272:13:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1079,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2285:2:10"
            },
            "returnParameters": {
              "id": 1082,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1081,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1083,
                  "src": "2310:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1080,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2310:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2309:9:10"
            },
            "scope": 1136,
            "src": "2263:56:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "0676cb0e",
            "id": 1090,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getActiveBundleId",
            "nameLocation": "2333:17:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1086,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1085,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "2359:3:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1090,
                  "src": "2351:11:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1084,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2351:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2350:13:10"
            },
            "returnParameters": {
              "id": 1089,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1088,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2394:8:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1090,
                  "src": "2386:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1087,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2386:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2385:18:10"
            },
            "scope": 1136,
            "src": "2324:80:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "13299604",
            "id": 1095,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getWallet",
            "nameLocation": "2419:9:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1091,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2428:2:10"
            },
            "returnParameters": {
              "id": 1094,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1093,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1095,
                  "src": "2453:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1092,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2453:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2452:9:10"
            },
            "scope": 1136,
            "src": "2410:52:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "feb1824b",
            "id": 1100,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getErc20Token",
            "nameLocation": "2476:13:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1096,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2489:2:10"
            },
            "returnParameters": {
              "id": 1099,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1098,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1100,
                  "src": "2514:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1097,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2514:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2513:9:10"
            },
            "scope": 1136,
            "src": "2467:56:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a18aa128",
            "id": 1105,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getSumOfSumInsuredCap",
            "nameLocation": "2538:21:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1101,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2559:2:10"
            },
            "returnParameters": {
              "id": 1104,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1103,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1105,
                  "src": "2585:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1102,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2585:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2584:9:10"
            },
            "scope": 1136,
            "src": "2529:65:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "e0032383",
            "id": 1110,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCapital",
            "nameLocation": "2608:10:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1106,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2618:2:10"
            },
            "returnParameters": {
              "id": 1109,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1108,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1110,
                  "src": "2643:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1107,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2643:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2642:9:10"
            },
            "scope": 1136,
            "src": "2599:53:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b26025aa",
            "id": 1115,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getTotalValueLocked",
            "nameLocation": "2666:19:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1111,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2685:2:10"
            },
            "returnParameters": {
              "id": 1114,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1113,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1115,
                  "src": "2710:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1112,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2710:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2709:9:10"
            },
            "scope": 1136,
            "src": "2657:62:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c40000d4",
            "id": 1120,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCapacity",
            "nameLocation": "2734:11:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1116,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2745:2:10"
            },
            "returnParameters": {
              "id": 1119,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1118,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1120,
                  "src": "2770:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1117,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2770:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2769:9:10"
            },
            "scope": 1136,
            "src": "2725:54:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "12065fe0",
            "id": 1125,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getBalance",
            "nameLocation": "2794:10:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1121,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2804:2:10"
            },
            "returnParameters": {
              "id": 1124,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1123,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 1125,
                  "src": "2829:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1122,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2829:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2828:9:10"
            },
            "scope": 1136,
            "src": "2785:53:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "652028e5",
            "id": 1130,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setMaximumNumberOfActiveBundles",
            "nameLocation": "2854:31:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1128,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1127,
                  "mutability": "mutable",
                  "name": "maximumNumberOfActiveBundles",
                  "nameLocation": "2894:28:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1130,
                  "src": "2886:36:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1126,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2886:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2885:38:10"
            },
            "returnParameters": {
              "id": 1129,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2932:0:10"
            },
            "scope": 1136,
            "src": "2845:88:10",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "7f3b6980",
            "id": 1135,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getMaximumNumberOfActiveBundles",
            "nameLocation": "2948:31:10",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1131,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2979:2:10"
            },
            "returnParameters": {
              "id": 1134,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1133,
                  "mutability": "mutable",
                  "name": "maximumNumberOfActiveBundles",
                  "nameLocation": "3012:28:10",
                  "nodeType": "VariableDeclaration",
                  "scope": 1135,
                  "src": "3004:36:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1132,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3004:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3003:38:10"
            },
            "scope": 1136,
            "src": "2939:103:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 1137,
        "src": "157:2887:10"
      }
    ],
    "src": "39:3006:10"
  },
  "bytecode": "",
  "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.2+commit.661d1103"
  },
  "contractName": "IRiskpool",
  "coverageMap": {
    "branches": {},
    "statements": {}
  },
  "dependencies": [
    "IComponent",
    "IRegistry"
  ],
  "deployedBytecode": "",
  "deployedSourceMap": "",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "offset": [
    157,
    3044
  ],
  "opcodes": "",
  "pcMap": {},
  "sha1": "102c5e0725e6730ae1374869faeefb36b8a45a7d",
  "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.2;\n\nimport \"./IComponent.sol\";\nimport \"../modules/IBundle.sol\";\nimport \"../modules/IPolicy.sol\";\n\ninterface IRiskpool is IComponent {\n\n    event LogRiskpoolCreated (address riskpoolAddress);\n    event LogRiskpoolProposed (uint256 id);\n    event LogRiskpoolApproved (uint256 id);\n    event LogRiskpoolDeclined (uint256 id);\n\n    event LogRiskpoolBundleCreated(uint256 bundleId, uint256 amount);\n    event LogRiskpoolBundleMatchesPolicy(uint256 bundleId, bool isMatching);\n    event LogRiskpoolCollateralLocked(bytes32 processId, uint256 collateralAmount, bool isSecured);\n\n    event LogRiskpoolPremiumProcessed(bytes32 processId, uint256 amount);\n    event LogRiskpoolPayoutProcessed(bytes32 processId, uint256 amount);\n    event LogRiskpoolCollateralReleased(bytes32 processId, uint256 collateralAmount);\n\n\n    function createBundle(bytes memory filter, uint256 initialAmount) external returns(uint256 bundleId);\n    function fundBundle(uint256 bundleId, uint256 amount) external returns(uint256 netAmount);\n    function defundBundle(uint256 bundleId, uint256 amount) external returns(uint256 netAmount);\n\n    function lockBundle(uint256 bundleId) external;\n    function unlockBundle(uint256 bundleId) external;\n    function closeBundle(uint256 bundleId) external;\n    function burnBundle(uint256 bundleId) external;\n\n    function collateralizePolicy(bytes32 processId, uint256 collateralAmount) external returns(bool isSecured);\n    function processPolicyPremium(bytes32 processId, uint256 amount) external;\n    function processPolicyPayout(bytes32 processId, uint256 amount) external;\n    function releasePolicy(bytes32 processId) external;\n\n    function getCollateralizationLevel() external view returns (uint256);\n    function getFullCollateralizationLevel() external view returns (uint256);\n\n    function bundleMatchesApplication(\n        IBundle.Bundle memory bundle, \n        IPolicy.Application memory application\n    ) \n        external view returns(bool isMatching);   \n    \n    function getFilterDataStructure() external view returns(string memory);\n\n    function bundles() external view returns(uint256);\n    function getBundle(uint256 idx) external view returns(IBundle.Bundle memory);\n\n    function activeBundles() external view returns(uint256);\n    function getActiveBundleId(uint256 idx) external view returns(uint256 bundleId);\n\n    function getWallet() external view returns(address);\n    function getErc20Token() external view returns(address);\n\n    function getSumOfSumInsuredCap() external view returns (uint256);\n    function getCapital() external view returns(uint256);\n    function getTotalValueLocked() external view returns(uint256); \n    function getCapacity() external view returns(uint256); \n    function getBalance() external view returns(uint256); \n\n    function setMaximumNumberOfActiveBundles(uint256 maximumNumberOfActiveBundles) external; \n    function getMaximumNumberOfActiveBundles() external view returns(uint256 maximumNumberOfActiveBundles);\n}\n",
  "sourceMap": "",
  "sourcePath": "contracts/components/IRiskpool.sol",
  "type": "interface"
}