{
  "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": {
    "12": "/home/runner/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IRiskpool.sol",
    "21": "/home/runner/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol",
    "9": "/home/runner/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol"
  },
  "ast": {
    "absolutePath": "/home/runner/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IRiskpool.sol",
    "exportedSymbols": {
      "IBundle": [
        3612
      ],
      "IComponent": [
        5218
      ],
      "IPolicy": [
        3958
      ],
      "IRegistry": [
        7009
      ],
      "IRiskpool": [
        7650
      ]
    },
    "id": 7651,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 7419,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:12"
      },
      {
        "absolutePath": "/home/runner/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
        "file": "./IComponent.sol",
        "id": 7420,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 7651,
        "sourceUnit": 5219,
        "src": "63:26:12",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/runner/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IBundle.sol",
        "file": "../modules/IBundle.sol",
        "id": 7421,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 7651,
        "sourceUnit": 3613,
        "src": "90:32:12",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/runner/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol",
        "file": "../modules/IPolicy.sol",
        "id": 7422,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 7651,
        "sourceUnit": 3959,
        "src": "123:32:12",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 7423,
              "name": "IComponent",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 5218,
              "src": "180:10:12"
            },
            "id": 7424,
            "nodeType": "InheritanceSpecifier",
            "src": "180:10:12"
          }
        ],
        "contractDependencies": [
          5218
        ],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 7650,
        "linearizedBaseContracts": [
          7650,
          5218
        ],
        "name": "IRiskpool",
        "nameLocation": "167:9:12",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "id": 7428,
            "name": "LogRiskpoolCreated",
            "nameLocation": "204:18:12",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7427,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7426,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "riskpoolAddress",
                  "nameLocation": "232:15:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7428,
                  "src": "224:23:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7425,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "224:7:12",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "223:25:12"
            },
            "src": "198:51:12"
          },
          {
            "anonymous": false,
            "id": 7432,
            "name": "LogRiskpoolProposed",
            "nameLocation": "260:19:12",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7431,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7430,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "289:2:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7432,
                  "src": "281:10:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7429,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "281:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "280:12:12"
            },
            "src": "254:39:12"
          },
          {
            "anonymous": false,
            "id": 7436,
            "name": "LogRiskpoolApproved",
            "nameLocation": "304:19:12",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7435,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7434,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "333:2:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7436,
                  "src": "325:10:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7433,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "325:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "324:12:12"
            },
            "src": "298:39:12"
          },
          {
            "anonymous": false,
            "id": 7440,
            "name": "LogRiskpoolDeclined",
            "nameLocation": "348:19:12",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7439,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7438,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "377:2:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7440,
                  "src": "369:10:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7437,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "369:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "368:12:12"
            },
            "src": "342:39:12"
          },
          {
            "anonymous": false,
            "id": 7446,
            "name": "LogRiskpoolBundleCreated",
            "nameLocation": "393:24:12",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7445,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7442,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "426:8:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7446,
                  "src": "418:16:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7441,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "418:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7444,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "444:6:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7446,
                  "src": "436:14:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7443,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "436:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "417:34:12"
            },
            "src": "387:65:12"
          },
          {
            "anonymous": false,
            "id": 7452,
            "name": "LogRiskpoolBundleMatchesPolicy",
            "nameLocation": "463:30:12",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7451,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7448,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "502:8:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7452,
                  "src": "494:16:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7447,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "494:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7450,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "isMatching",
                  "nameLocation": "517:10:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7452,
                  "src": "512:15:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7449,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "512:4:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "493:35:12"
            },
            "src": "457:72:12"
          },
          {
            "anonymous": false,
            "id": 7460,
            "name": "LogRiskpoolCollateralLocked",
            "nameLocation": "540:27:12",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7459,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7454,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "576:9:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7460,
                  "src": "568:17:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7453,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "568:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7456,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "595:16:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7460,
                  "src": "587:24:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7455,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "587:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7458,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "isSecured",
                  "nameLocation": "618:9:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7460,
                  "src": "613:14:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7457,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "613:4:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "567:61:12"
            },
            "src": "534:95:12"
          },
          {
            "anonymous": false,
            "id": 7466,
            "name": "LogRiskpoolPremiumProcessed",
            "nameLocation": "641:27:12",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7465,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7462,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "677:9:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7466,
                  "src": "669:17:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7461,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "669:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7464,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "696:6:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7466,
                  "src": "688:14:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7463,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "688:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "668:35:12"
            },
            "src": "635:69:12"
          },
          {
            "anonymous": false,
            "id": 7472,
            "name": "LogRiskpoolPayoutProcessed",
            "nameLocation": "715:26:12",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7471,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7468,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "750:9:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7472,
                  "src": "742:17:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7467,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "742:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7470,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "769:6:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7472,
                  "src": "761:14:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7469,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "761:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "741:35:12"
            },
            "src": "709:68:12"
          },
          {
            "anonymous": false,
            "id": 7478,
            "name": "LogRiskpoolCollateralReleased",
            "nameLocation": "788:29:12",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 7477,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7474,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "826:9:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7478,
                  "src": "818:17:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7473,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "818:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7476,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "845:16:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7478,
                  "src": "837:24:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7475,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "837:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "817:45:12"
            },
            "src": "782:81:12"
          },
          {
            "functionSelector": "7888a2ff",
            "id": 7487,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createBundle",
            "nameLocation": "879:12:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7483,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7480,
                  "mutability": "mutable",
                  "name": "filter",
                  "nameLocation": "905:6:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7487,
                  "src": "892:19:12",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 7479,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "892:5:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7482,
                  "mutability": "mutable",
                  "name": "initialAmount",
                  "nameLocation": "921:13:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7487,
                  "src": "913:21:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7481,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "913:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "891:44:12"
            },
            "returnParameters": {
              "id": 7486,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7485,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "961:8:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7487,
                  "src": "953:16:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7484,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "953:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "952:18:12"
            },
            "scope": 7650,
            "src": "870:101:12",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "89002da5",
            "id": 7496,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "fundBundle",
            "nameLocation": "985:10:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7492,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7489,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1004:8:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7496,
                  "src": "996:16:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7488,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "996:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7491,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1022:6:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7496,
                  "src": "1014:14:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7490,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1014:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "995:34:12"
            },
            "returnParameters": {
              "id": 7495,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7494,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "1055:9:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7496,
                  "src": "1047:17:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7493,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1047:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1046:19:12"
            },
            "scope": 7650,
            "src": "976:90:12",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "36153f3a",
            "id": 7505,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "defundBundle",
            "nameLocation": "1080:12:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7501,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7498,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1101:8:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7505,
                  "src": "1093:16:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7497,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1093:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7500,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1119:6:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7505,
                  "src": "1111:14:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7499,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1111:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1092:34:12"
            },
            "returnParameters": {
              "id": 7504,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7503,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "1152:9:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7505,
                  "src": "1144:17:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7502,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1144:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1143:19:12"
            },
            "scope": 7650,
            "src": "1071:92:12",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a17030d5",
            "id": 7510,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lockBundle",
            "nameLocation": "1178:10:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7508,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7507,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1197:8:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7510,
                  "src": "1189:16:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7506,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1189:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1188:18:12"
            },
            "returnParameters": {
              "id": 7509,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1215:0:12"
            },
            "scope": 7650,
            "src": "1169:47:12",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "316c5348",
            "id": 7515,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "unlockBundle",
            "nameLocation": "1230:12:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7513,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7512,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1251:8:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7515,
                  "src": "1243:16:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7511,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1243:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1242:18:12"
            },
            "returnParameters": {
              "id": 7514,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1269:0:12"
            },
            "scope": 7650,
            "src": "1221:49:12",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "8c483e5a",
            "id": 7520,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "closeBundle",
            "nameLocation": "1284:11:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7518,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7517,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1304:8:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7520,
                  "src": "1296:16:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7516,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1296:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1295:18:12"
            },
            "returnParameters": {
              "id": 7519,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1322:0:12"
            },
            "scope": 7650,
            "src": "1275:48:12",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "587e59d0",
            "id": 7525,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "burnBundle",
            "nameLocation": "1337:10:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7523,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7522,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1356:8:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7525,
                  "src": "1348:16:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7521,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1348:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1347:18:12"
            },
            "returnParameters": {
              "id": 7524,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1374:0:12"
            },
            "scope": 7650,
            "src": "1328:47:12",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "890fbf78",
            "id": 7534,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "collateralizePolicy",
            "nameLocation": "1390:19:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7530,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7527,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1418:9:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7534,
                  "src": "1410:17:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7526,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1410:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7529,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "1437:16:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7534,
                  "src": "1429:24:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7528,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1429:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1409:45:12"
            },
            "returnParameters": {
              "id": 7533,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7532,
                  "mutability": "mutable",
                  "name": "isSecured",
                  "nameLocation": "1477:9:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7534,
                  "src": "1472:14:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7531,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1472:4:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1471:16:12"
            },
            "scope": 7650,
            "src": "1381:107:12",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "3629c3c4",
            "id": 7541,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPolicyPremium",
            "nameLocation": "1502:20:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7539,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7536,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1531:9:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7541,
                  "src": "1523:17:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7535,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1523:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7538,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1550:6:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7541,
                  "src": "1542:14:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7537,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1542:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1522:35:12"
            },
            "returnParameters": {
              "id": 7540,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1566:0:12"
            },
            "scope": 7650,
            "src": "1493:74:12",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "82558906",
            "id": 7548,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPolicyPayout",
            "nameLocation": "1581:19:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7546,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7543,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1609:9:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7548,
                  "src": "1601:17:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7542,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1601:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7545,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1628:6:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7548,
                  "src": "1620:14:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7544,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1620:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1600:35:12"
            },
            "returnParameters": {
              "id": 7547,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1644:0:12"
            },
            "scope": 7650,
            "src": "1572:73:12",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c3004c86",
            "id": 7553,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "releasePolicy",
            "nameLocation": "1659:13:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7551,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7550,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1681:9:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7553,
                  "src": "1673:17:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 7549,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1673:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1672:19:12"
            },
            "returnParameters": {
              "id": 7552,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1700:0:12"
            },
            "scope": 7650,
            "src": "1650:51:12",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "54afef63",
            "id": 7558,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCollateralizationLevel",
            "nameLocation": "1716:25:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7554,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1741:2:12"
            },
            "returnParameters": {
              "id": 7557,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7556,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7558,
                  "src": "1767:7:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7555,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1767:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1766:9:12"
            },
            "scope": 7650,
            "src": "1707:69:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "f1d354d0",
            "id": 7563,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getFullCollateralizationLevel",
            "nameLocation": "1790:29:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7559,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1819:2:12"
            },
            "returnParameters": {
              "id": 7562,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7561,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7563,
                  "src": "1845:7:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7560,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1845:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1844:9:12"
            },
            "scope": 7650,
            "src": "1781:73:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "86c71288",
            "id": 7574,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "bundleMatchesApplication",
            "nameLocation": "1869:24:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7570,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7566,
                  "mutability": "mutable",
                  "name": "bundle",
                  "nameLocation": "1925:6:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7574,
                  "src": "1903:28:12",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Bundle_$3528_memory_ptr",
                    "typeString": "struct IBundle.Bundle"
                  },
                  "typeName": {
                    "id": 7565,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 7564,
                      "name": "IBundle.Bundle",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3528,
                      "src": "1903:14:12"
                    },
                    "referencedDeclaration": 3528,
                    "src": "1903:14:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Bundle_$3528_storage_ptr",
                      "typeString": "struct IBundle.Bundle"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7569,
                  "mutability": "mutable",
                  "name": "application",
                  "nameLocation": "1969:11:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7574,
                  "src": "1942:38:12",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Application_$3787_memory_ptr",
                    "typeString": "struct IPolicy.Application"
                  },
                  "typeName": {
                    "id": 7568,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 7567,
                      "name": "IPolicy.Application",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3787,
                      "src": "1942:19:12"
                    },
                    "referencedDeclaration": 3787,
                    "src": "1942:19:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Application_$3787_storage_ptr",
                      "typeString": "struct IPolicy.Application"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1893:93:12"
            },
            "returnParameters": {
              "id": 7573,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7572,
                  "mutability": "mutable",
                  "name": "isMatching",
                  "nameLocation": "2023:10:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7574,
                  "src": "2018:15:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7571,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2018:4:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2017:17:12"
            },
            "scope": 7650,
            "src": "1860:175:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "3dcdde17",
            "id": 7579,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getFilterDataStructure",
            "nameLocation": "2057:22:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7575,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2079:2:12"
            },
            "returnParameters": {
              "id": 7578,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7577,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7579,
                  "src": "2104:13:12",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7576,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2104:6:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2103:15:12"
            },
            "scope": 7650,
            "src": "2048:71:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "18442e63",
            "id": 7584,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "bundles",
            "nameLocation": "2134:7:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7580,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2141:2:12"
            },
            "returnParameters": {
              "id": 7583,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7582,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7584,
                  "src": "2166:7:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7581,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2166:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2165:9:12"
            },
            "scope": 7650,
            "src": "2125:50:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2d0821b7",
            "id": 7592,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getBundle",
            "nameLocation": "2189:9:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7587,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7586,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "2207:3:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7592,
                  "src": "2199:11:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7585,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2199:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2198:13:12"
            },
            "returnParameters": {
              "id": 7591,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7590,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7592,
                  "src": "2234:21:12",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Bundle_$3528_memory_ptr",
                    "typeString": "struct IBundle.Bundle"
                  },
                  "typeName": {
                    "id": 7589,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 7588,
                      "name": "IBundle.Bundle",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3528,
                      "src": "2234:14:12"
                    },
                    "referencedDeclaration": 3528,
                    "src": "2234:14:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Bundle_$3528_storage_ptr",
                      "typeString": "struct IBundle.Bundle"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2233:23:12"
            },
            "scope": 7650,
            "src": "2180:77:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4101b90c",
            "id": 7597,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "activeBundles",
            "nameLocation": "2272:13:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7593,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2285:2:12"
            },
            "returnParameters": {
              "id": 7596,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7595,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7597,
                  "src": "2310:7:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7594,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2310:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2309:9:12"
            },
            "scope": 7650,
            "src": "2263:56:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "0676cb0e",
            "id": 7604,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getActiveBundleId",
            "nameLocation": "2333:17:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7600,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7599,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "2359:3:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7604,
                  "src": "2351:11:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7598,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2351:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2350:13:12"
            },
            "returnParameters": {
              "id": 7603,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7602,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2394:8:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7604,
                  "src": "2386:16:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7601,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2386:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2385:18:12"
            },
            "scope": 7650,
            "src": "2324:80:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "13299604",
            "id": 7609,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getWallet",
            "nameLocation": "2419:9:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7605,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2428:2:12"
            },
            "returnParameters": {
              "id": 7608,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7607,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7609,
                  "src": "2453:7:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7606,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2453:7:12",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2452:9:12"
            },
            "scope": 7650,
            "src": "2410:52:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "feb1824b",
            "id": 7614,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getErc20Token",
            "nameLocation": "2476:13:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7610,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2489:2:12"
            },
            "returnParameters": {
              "id": 7613,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7612,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7614,
                  "src": "2514:7:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7611,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2514:7:12",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2513:9:12"
            },
            "scope": 7650,
            "src": "2467:56:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a18aa128",
            "id": 7619,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getSumOfSumInsuredCap",
            "nameLocation": "2538:21:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7615,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2559:2:12"
            },
            "returnParameters": {
              "id": 7618,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7617,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7619,
                  "src": "2585:7:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7616,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2585:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2584:9:12"
            },
            "scope": 7650,
            "src": "2529:65:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "e0032383",
            "id": 7624,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCapital",
            "nameLocation": "2608:10:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7620,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2618:2:12"
            },
            "returnParameters": {
              "id": 7623,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7622,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7624,
                  "src": "2643:7:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7621,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2643:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2642:9:12"
            },
            "scope": 7650,
            "src": "2599:53:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b26025aa",
            "id": 7629,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getTotalValueLocked",
            "nameLocation": "2666:19:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7625,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2685:2:12"
            },
            "returnParameters": {
              "id": 7628,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7627,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7629,
                  "src": "2710:7:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7626,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2710:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2709:9:12"
            },
            "scope": 7650,
            "src": "2657:62:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c40000d4",
            "id": 7634,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCapacity",
            "nameLocation": "2734:11:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7630,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2745:2:12"
            },
            "returnParameters": {
              "id": 7633,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7632,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7634,
                  "src": "2770:7:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7631,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2770:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2769:9:12"
            },
            "scope": 7650,
            "src": "2725:54:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "12065fe0",
            "id": 7639,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getBalance",
            "nameLocation": "2794:10:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7635,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2804:2:12"
            },
            "returnParameters": {
              "id": 7638,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7637,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 7639,
                  "src": "2829:7:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7636,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2829:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2828:9:12"
            },
            "scope": 7650,
            "src": "2785:53:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "652028e5",
            "id": 7644,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setMaximumNumberOfActiveBundles",
            "nameLocation": "2854:31:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7642,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7641,
                  "mutability": "mutable",
                  "name": "maximumNumberOfActiveBundles",
                  "nameLocation": "2894:28:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7644,
                  "src": "2886:36:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7640,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2886:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2885:38:12"
            },
            "returnParameters": {
              "id": 7643,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2932:0:12"
            },
            "scope": 7650,
            "src": "2845:88:12",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "7f3b6980",
            "id": 7649,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getMaximumNumberOfActiveBundles",
            "nameLocation": "2948:31:12",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7645,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2979:2:12"
            },
            "returnParameters": {
              "id": 7648,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7647,
                  "mutability": "mutable",
                  "name": "maximumNumberOfActiveBundles",
                  "nameLocation": "3012:28:12",
                  "nodeType": "VariableDeclaration",
                  "scope": 7649,
                  "src": "3004:36:12",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7646,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3004:7:12",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3003:38:12"
            },
            "scope": 7650,
            "src": "2939:103:12",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 7651,
        "src": "157:2887:12"
      }
    ],
    "src": "39:3006:12"
  },
  "bytecode": "",
  "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.2+commit.661d1103"
  },
  "contractName": "IRiskpool",
  "coverageMap": {
    "branches": {},
    "statements": {}
  },
  "dependencies": [
    "etherisc/gif-interface@3b0002a/IComponent",
    "etherisc/gif-interface@3b0002a/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": "/home/runner/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IRiskpool.sol",
  "type": "interface"
}