{
  "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": {
    "30": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
    "33": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IRiskpool.sol",
    "44": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol"
  },
  "ast": {
    "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IRiskpool.sol",
    "exportedSymbols": {
      "IBundle": [
        20491
      ],
      "IComponent": [
        22099
      ],
      "IPolicy": [
        20837
      ],
      "IRegistry": [
        21750
      ],
      "IRiskpool": [
        22366
      ]
    },
    "id": 22367,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 22135,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:33"
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
        "file": "./IComponent.sol",
        "id": 22136,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 22367,
        "sourceUnit": 22100,
        "src": "63:26:33",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IBundle.sol",
        "file": "../modules/IBundle.sol",
        "id": 22137,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 22367,
        "sourceUnit": 20492,
        "src": "90:32:33",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol",
        "file": "../modules/IPolicy.sol",
        "id": 22138,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 22367,
        "sourceUnit": 20838,
        "src": "123:32:33",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 22139,
              "name": "IComponent",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 22099,
              "src": "180:10:33"
            },
            "id": 22140,
            "nodeType": "InheritanceSpecifier",
            "src": "180:10:33"
          }
        ],
        "contractDependencies": [
          22099
        ],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 22366,
        "linearizedBaseContracts": [
          22366,
          22099
        ],
        "name": "IRiskpool",
        "nameLocation": "167:9:33",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "id": 22144,
            "name": "LogRiskpoolCreated",
            "nameLocation": "204:18:33",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 22143,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22142,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "riskpoolAddress",
                  "nameLocation": "232:15:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22144,
                  "src": "224:23:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 22141,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "224:7:33",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "223:25:33"
            },
            "src": "198:51:33"
          },
          {
            "anonymous": false,
            "id": 22148,
            "name": "LogRiskpoolProposed",
            "nameLocation": "260:19:33",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 22147,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22146,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "289:2:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22148,
                  "src": "281:10:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22145,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "281:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "280:12:33"
            },
            "src": "254:39:33"
          },
          {
            "anonymous": false,
            "id": 22152,
            "name": "LogRiskpoolApproved",
            "nameLocation": "304:19:33",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 22151,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22150,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "333:2:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22152,
                  "src": "325:10:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22149,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "325:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "324:12:33"
            },
            "src": "298:39:33"
          },
          {
            "anonymous": false,
            "id": 22156,
            "name": "LogRiskpoolDeclined",
            "nameLocation": "348:19:33",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 22155,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22154,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "377:2:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22156,
                  "src": "369:10:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22153,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "369:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "368:12:33"
            },
            "src": "342:39:33"
          },
          {
            "anonymous": false,
            "id": 22162,
            "name": "LogRiskpoolBundleCreated",
            "nameLocation": "393:24:33",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 22161,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22158,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "426:8:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22162,
                  "src": "418:16:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22157,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "418:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22160,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "444:6:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22162,
                  "src": "436:14:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22159,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "436:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "417:34:33"
            },
            "src": "387:65:33"
          },
          {
            "anonymous": false,
            "id": 22168,
            "name": "LogRiskpoolBundleMatchesPolicy",
            "nameLocation": "463:30:33",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 22167,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22164,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "502:8:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22168,
                  "src": "494:16:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22163,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "494:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22166,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "isMatching",
                  "nameLocation": "517:10:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22168,
                  "src": "512:15:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 22165,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "512:4:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "493:35:33"
            },
            "src": "457:72:33"
          },
          {
            "anonymous": false,
            "id": 22176,
            "name": "LogRiskpoolCollateralLocked",
            "nameLocation": "540:27:33",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 22175,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22170,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "576:9:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22176,
                  "src": "568:17:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 22169,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "568:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22172,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "595:16:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22176,
                  "src": "587:24:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22171,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "587:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22174,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "isSecured",
                  "nameLocation": "618:9:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22176,
                  "src": "613:14:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 22173,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "613:4:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "567:61:33"
            },
            "src": "534:95:33"
          },
          {
            "anonymous": false,
            "id": 22182,
            "name": "LogRiskpoolPremiumProcessed",
            "nameLocation": "641:27:33",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 22181,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22178,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "677:9:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22182,
                  "src": "669:17:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 22177,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "669:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22180,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "696:6:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22182,
                  "src": "688:14:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22179,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "688:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "668:35:33"
            },
            "src": "635:69:33"
          },
          {
            "anonymous": false,
            "id": 22188,
            "name": "LogRiskpoolPayoutProcessed",
            "nameLocation": "715:26:33",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 22187,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22184,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "750:9:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22188,
                  "src": "742:17:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 22183,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "742:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22186,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "769:6:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22188,
                  "src": "761:14:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22185,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "761:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "741:35:33"
            },
            "src": "709:68:33"
          },
          {
            "anonymous": false,
            "id": 22194,
            "name": "LogRiskpoolCollateralReleased",
            "nameLocation": "788:29:33",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 22193,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22190,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "826:9:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22194,
                  "src": "818:17:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 22189,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "818:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22192,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "845:16:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22194,
                  "src": "837:24:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22191,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "837:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "817:45:33"
            },
            "src": "782:81:33"
          },
          {
            "functionSelector": "7888a2ff",
            "id": 22203,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createBundle",
            "nameLocation": "879:12:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22199,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22196,
                  "mutability": "mutable",
                  "name": "filter",
                  "nameLocation": "905:6:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22203,
                  "src": "892:19:33",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 22195,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "892:5:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22198,
                  "mutability": "mutable",
                  "name": "initialAmount",
                  "nameLocation": "921:13:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22203,
                  "src": "913:21:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22197,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "913:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "891:44:33"
            },
            "returnParameters": {
              "id": 22202,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22201,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "961:8:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22203,
                  "src": "953:16:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22200,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "953:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "952:18:33"
            },
            "scope": 22366,
            "src": "870:101:33",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "89002da5",
            "id": 22212,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "fundBundle",
            "nameLocation": "985:10:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22208,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22205,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1004:8:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22212,
                  "src": "996:16:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22204,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "996:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22207,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1022:6:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22212,
                  "src": "1014:14:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22206,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1014:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "995:34:33"
            },
            "returnParameters": {
              "id": 22211,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22210,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "1055:9:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22212,
                  "src": "1047:17:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22209,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1047:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1046:19:33"
            },
            "scope": 22366,
            "src": "976:90:33",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "36153f3a",
            "id": 22221,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "defundBundle",
            "nameLocation": "1080:12:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22217,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22214,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1101:8:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22221,
                  "src": "1093:16:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22213,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1093:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22216,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1119:6:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22221,
                  "src": "1111:14:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22215,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1111:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1092:34:33"
            },
            "returnParameters": {
              "id": 22220,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22219,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "1152:9:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22221,
                  "src": "1144:17:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22218,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1144:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1143:19:33"
            },
            "scope": 22366,
            "src": "1071:92:33",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a17030d5",
            "id": 22226,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lockBundle",
            "nameLocation": "1178:10:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22224,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22223,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1197:8:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22226,
                  "src": "1189:16:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22222,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1189:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1188:18:33"
            },
            "returnParameters": {
              "id": 22225,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1215:0:33"
            },
            "scope": 22366,
            "src": "1169:47:33",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "316c5348",
            "id": 22231,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "unlockBundle",
            "nameLocation": "1230:12:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22229,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22228,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1251:8:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22231,
                  "src": "1243:16:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22227,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1243:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1242:18:33"
            },
            "returnParameters": {
              "id": 22230,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1269:0:33"
            },
            "scope": 22366,
            "src": "1221:49:33",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "8c483e5a",
            "id": 22236,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "closeBundle",
            "nameLocation": "1284:11:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22234,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22233,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1304:8:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22236,
                  "src": "1296:16:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22232,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1296:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1295:18:33"
            },
            "returnParameters": {
              "id": 22235,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1322:0:33"
            },
            "scope": 22366,
            "src": "1275:48:33",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "587e59d0",
            "id": 22241,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "burnBundle",
            "nameLocation": "1337:10:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22239,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22238,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1356:8:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22241,
                  "src": "1348:16:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22237,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1348:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1347:18:33"
            },
            "returnParameters": {
              "id": 22240,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1374:0:33"
            },
            "scope": 22366,
            "src": "1328:47:33",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "890fbf78",
            "id": 22250,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "collateralizePolicy",
            "nameLocation": "1390:19:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22246,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22243,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1418:9:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22250,
                  "src": "1410:17:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 22242,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1410:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22245,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "1437:16:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22250,
                  "src": "1429:24:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22244,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1429:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1409:45:33"
            },
            "returnParameters": {
              "id": 22249,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22248,
                  "mutability": "mutable",
                  "name": "isSecured",
                  "nameLocation": "1477:9:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22250,
                  "src": "1472:14:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 22247,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1472:4:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1471:16:33"
            },
            "scope": 22366,
            "src": "1381:107:33",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "3629c3c4",
            "id": 22257,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPolicyPremium",
            "nameLocation": "1502:20:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22255,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22252,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1531:9:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22257,
                  "src": "1523:17:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 22251,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1523:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22254,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1550:6:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22257,
                  "src": "1542:14:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22253,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1542:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1522:35:33"
            },
            "returnParameters": {
              "id": 22256,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1566:0:33"
            },
            "scope": 22366,
            "src": "1493:74:33",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "82558906",
            "id": 22264,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPolicyPayout",
            "nameLocation": "1581:19:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22262,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22259,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1609:9:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22264,
                  "src": "1601:17:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 22258,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1601:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22261,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1628:6:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22264,
                  "src": "1620:14:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22260,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1620:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1600:35:33"
            },
            "returnParameters": {
              "id": 22263,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1644:0:33"
            },
            "scope": 22366,
            "src": "1572:73:33",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c3004c86",
            "id": 22269,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "releasePolicy",
            "nameLocation": "1659:13:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22267,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22266,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1681:9:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22269,
                  "src": "1673:17:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 22265,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1673:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1672:19:33"
            },
            "returnParameters": {
              "id": 22268,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1700:0:33"
            },
            "scope": 22366,
            "src": "1650:51:33",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "54afef63",
            "id": 22274,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCollateralizationLevel",
            "nameLocation": "1716:25:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22270,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1741:2:33"
            },
            "returnParameters": {
              "id": 22273,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22272,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22274,
                  "src": "1767:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22271,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1767:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1766:9:33"
            },
            "scope": 22366,
            "src": "1707:69:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "f1d354d0",
            "id": 22279,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getFullCollateralizationLevel",
            "nameLocation": "1790:29:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22275,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1819:2:33"
            },
            "returnParameters": {
              "id": 22278,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22277,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22279,
                  "src": "1845:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22276,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1845:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1844:9:33"
            },
            "scope": 22366,
            "src": "1781:73:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "86c71288",
            "id": 22290,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "bundleMatchesApplication",
            "nameLocation": "1869:24:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22286,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22282,
                  "mutability": "mutable",
                  "name": "bundle",
                  "nameLocation": "1925:6:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22290,
                  "src": "1903:28:33",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Bundle_$20407_memory_ptr",
                    "typeString": "struct IBundle.Bundle"
                  },
                  "typeName": {
                    "id": 22281,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22280,
                      "name": "IBundle.Bundle",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 20407,
                      "src": "1903:14:33"
                    },
                    "referencedDeclaration": 20407,
                    "src": "1903:14:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Bundle_$20407_storage_ptr",
                      "typeString": "struct IBundle.Bundle"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 22285,
                  "mutability": "mutable",
                  "name": "application",
                  "nameLocation": "1969:11:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22290,
                  "src": "1942:38:33",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Application_$20666_memory_ptr",
                    "typeString": "struct IPolicy.Application"
                  },
                  "typeName": {
                    "id": 22284,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22283,
                      "name": "IPolicy.Application",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 20666,
                      "src": "1942:19:33"
                    },
                    "referencedDeclaration": 20666,
                    "src": "1942:19:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Application_$20666_storage_ptr",
                      "typeString": "struct IPolicy.Application"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1893:93:33"
            },
            "returnParameters": {
              "id": 22289,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22288,
                  "mutability": "mutable",
                  "name": "isMatching",
                  "nameLocation": "2023:10:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22290,
                  "src": "2018:15:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 22287,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2018:4:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2017:17:33"
            },
            "scope": 22366,
            "src": "1860:175:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "3dcdde17",
            "id": 22295,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getFilterDataStructure",
            "nameLocation": "2057:22:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22291,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2079:2:33"
            },
            "returnParameters": {
              "id": 22294,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22293,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22295,
                  "src": "2104:13:33",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 22292,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2104:6:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2103:15:33"
            },
            "scope": 22366,
            "src": "2048:71:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "18442e63",
            "id": 22300,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "bundles",
            "nameLocation": "2134:7:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22296,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2141:2:33"
            },
            "returnParameters": {
              "id": 22299,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22298,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22300,
                  "src": "2166:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22297,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2166:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2165:9:33"
            },
            "scope": 22366,
            "src": "2125:50:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2d0821b7",
            "id": 22308,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getBundle",
            "nameLocation": "2189:9:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22303,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22302,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "2207:3:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22308,
                  "src": "2199:11:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22301,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2199:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2198:13:33"
            },
            "returnParameters": {
              "id": 22307,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22306,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22308,
                  "src": "2234:21:33",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Bundle_$20407_memory_ptr",
                    "typeString": "struct IBundle.Bundle"
                  },
                  "typeName": {
                    "id": 22305,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 22304,
                      "name": "IBundle.Bundle",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 20407,
                      "src": "2234:14:33"
                    },
                    "referencedDeclaration": 20407,
                    "src": "2234:14:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Bundle_$20407_storage_ptr",
                      "typeString": "struct IBundle.Bundle"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2233:23:33"
            },
            "scope": 22366,
            "src": "2180:77:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4101b90c",
            "id": 22313,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "activeBundles",
            "nameLocation": "2272:13:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22309,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2285:2:33"
            },
            "returnParameters": {
              "id": 22312,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22311,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22313,
                  "src": "2310:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22310,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2310:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2309:9:33"
            },
            "scope": 22366,
            "src": "2263:56:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "0676cb0e",
            "id": 22320,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getActiveBundleId",
            "nameLocation": "2333:17:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22316,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22315,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "2359:3:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22320,
                  "src": "2351:11:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22314,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2351:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2350:13:33"
            },
            "returnParameters": {
              "id": 22319,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22318,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2394:8:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22320,
                  "src": "2386:16:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22317,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2386:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2385:18:33"
            },
            "scope": 22366,
            "src": "2324:80:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "13299604",
            "id": 22325,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getWallet",
            "nameLocation": "2419:9:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22321,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2428:2:33"
            },
            "returnParameters": {
              "id": 22324,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22323,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22325,
                  "src": "2453:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 22322,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2453:7:33",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2452:9:33"
            },
            "scope": 22366,
            "src": "2410:52:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "feb1824b",
            "id": 22330,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getErc20Token",
            "nameLocation": "2476:13:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22326,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2489:2:33"
            },
            "returnParameters": {
              "id": 22329,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22328,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22330,
                  "src": "2514:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 22327,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2514:7:33",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2513:9:33"
            },
            "scope": 22366,
            "src": "2467:56:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a18aa128",
            "id": 22335,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getSumOfSumInsuredCap",
            "nameLocation": "2538:21:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22331,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2559:2:33"
            },
            "returnParameters": {
              "id": 22334,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22333,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22335,
                  "src": "2585:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22332,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2585:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2584:9:33"
            },
            "scope": 22366,
            "src": "2529:65:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "e0032383",
            "id": 22340,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCapital",
            "nameLocation": "2608:10:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22336,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2618:2:33"
            },
            "returnParameters": {
              "id": 22339,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22338,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22340,
                  "src": "2643:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22337,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2643:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2642:9:33"
            },
            "scope": 22366,
            "src": "2599:53:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b26025aa",
            "id": 22345,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getTotalValueLocked",
            "nameLocation": "2666:19:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22341,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2685:2:33"
            },
            "returnParameters": {
              "id": 22344,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22343,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22345,
                  "src": "2710:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22342,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2710:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2709:9:33"
            },
            "scope": 22366,
            "src": "2657:62:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c40000d4",
            "id": 22350,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCapacity",
            "nameLocation": "2734:11:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22346,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2745:2:33"
            },
            "returnParameters": {
              "id": 22349,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22348,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22350,
                  "src": "2770:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22347,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2770:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2769:9:33"
            },
            "scope": 22366,
            "src": "2725:54:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "12065fe0",
            "id": 22355,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getBalance",
            "nameLocation": "2794:10:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22351,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2804:2:33"
            },
            "returnParameters": {
              "id": 22354,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22353,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 22355,
                  "src": "2829:7:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22352,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2829:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2828:9:33"
            },
            "scope": 22366,
            "src": "2785:53:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "652028e5",
            "id": 22360,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setMaximumNumberOfActiveBundles",
            "nameLocation": "2854:31:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22358,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22357,
                  "mutability": "mutable",
                  "name": "maximumNumberOfActiveBundles",
                  "nameLocation": "2894:28:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22360,
                  "src": "2886:36:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22356,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2886:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2885:38:33"
            },
            "returnParameters": {
              "id": 22359,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2932:0:33"
            },
            "scope": 22366,
            "src": "2845:88:33",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "7f3b6980",
            "id": 22365,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getMaximumNumberOfActiveBundles",
            "nameLocation": "2948:31:33",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 22361,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2979:2:33"
            },
            "returnParameters": {
              "id": 22364,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 22363,
                  "mutability": "mutable",
                  "name": "maximumNumberOfActiveBundles",
                  "nameLocation": "3012:28:33",
                  "nodeType": "VariableDeclaration",
                  "scope": 22365,
                  "src": "3004:36:33",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 22362,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3004:7:33",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3003:38:33"
            },
            "scope": 22366,
            "src": "2939:103:33",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 22367,
        "src": "157:2887:33"
      }
    ],
    "src": "39:3006:33"
  },
  "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/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IRiskpool.sol",
  "type": "interface"
}