{
  "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": {
    "27": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
    "30": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IRiskpool.sol",
    "38": "/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": [
        13382
      ],
      "IComponent": [
        11675
      ],
      "IPolicy": [
        12649
      ],
      "IRegistry": [
        21976
      ],
      "IRiskpool": [
        14585
      ]
    },
    "id": 14586,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 14354,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:30"
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
        "file": "./IComponent.sol",
        "id": 14355,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 14586,
        "sourceUnit": 11676,
        "src": "63:26:30",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IBundle.sol",
        "file": "../modules/IBundle.sol",
        "id": 14356,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 14586,
        "sourceUnit": 13383,
        "src": "90:32:30",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol",
        "file": "../modules/IPolicy.sol",
        "id": 14357,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 14586,
        "sourceUnit": 12650,
        "src": "123:32:30",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 14358,
              "name": "IComponent",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 11675,
              "src": "180:10:30"
            },
            "id": 14359,
            "nodeType": "InheritanceSpecifier",
            "src": "180:10:30"
          }
        ],
        "contractDependencies": [
          11675
        ],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 14585,
        "linearizedBaseContracts": [
          14585,
          11675
        ],
        "name": "IRiskpool",
        "nameLocation": "167:9:30",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "id": 14363,
            "name": "LogRiskpoolCreated",
            "nameLocation": "204:18:30",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 14362,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14361,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "riskpoolAddress",
                  "nameLocation": "232:15:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14363,
                  "src": "224:23:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14360,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "224:7:30",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "223:25:30"
            },
            "src": "198:51:30"
          },
          {
            "anonymous": false,
            "id": 14367,
            "name": "LogRiskpoolProposed",
            "nameLocation": "260:19:30",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 14366,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14365,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "289:2:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14367,
                  "src": "281:10:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14364,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "281:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "280:12:30"
            },
            "src": "254:39:30"
          },
          {
            "anonymous": false,
            "id": 14371,
            "name": "LogRiskpoolApproved",
            "nameLocation": "304:19:30",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 14370,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14369,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "333:2:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14371,
                  "src": "325:10:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14368,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "325:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "324:12:30"
            },
            "src": "298:39:30"
          },
          {
            "anonymous": false,
            "id": 14375,
            "name": "LogRiskpoolDeclined",
            "nameLocation": "348:19:30",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 14374,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14373,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "377:2:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14375,
                  "src": "369:10:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14372,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "369:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "368:12:30"
            },
            "src": "342:39:30"
          },
          {
            "anonymous": false,
            "id": 14381,
            "name": "LogRiskpoolBundleCreated",
            "nameLocation": "393:24:30",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 14380,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14377,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "426:8:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14381,
                  "src": "418:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14376,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "418:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14379,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "444:6:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14381,
                  "src": "436:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14378,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "436:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "417:34:30"
            },
            "src": "387:65:30"
          },
          {
            "anonymous": false,
            "id": 14387,
            "name": "LogRiskpoolBundleMatchesPolicy",
            "nameLocation": "463:30:30",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 14386,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14383,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "502:8:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14387,
                  "src": "494:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14382,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "494:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14385,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "isMatching",
                  "nameLocation": "517:10:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14387,
                  "src": "512:15:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 14384,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "512:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "493:35:30"
            },
            "src": "457:72:30"
          },
          {
            "anonymous": false,
            "id": 14395,
            "name": "LogRiskpoolCollateralLocked",
            "nameLocation": "540:27:30",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 14394,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14389,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "576:9:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14395,
                  "src": "568:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14388,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "568:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14391,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "595:16:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14395,
                  "src": "587:24:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14390,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "587:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14393,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "isSecured",
                  "nameLocation": "618:9:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14395,
                  "src": "613:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 14392,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "613:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "567:61:30"
            },
            "src": "534:95:30"
          },
          {
            "anonymous": false,
            "id": 14401,
            "name": "LogRiskpoolPremiumProcessed",
            "nameLocation": "641:27:30",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 14400,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14397,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "677:9:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14401,
                  "src": "669:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14396,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "669:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14399,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "696:6:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14401,
                  "src": "688:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14398,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "688:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "668:35:30"
            },
            "src": "635:69:30"
          },
          {
            "anonymous": false,
            "id": 14407,
            "name": "LogRiskpoolPayoutProcessed",
            "nameLocation": "715:26:30",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 14406,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14403,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "750:9:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14407,
                  "src": "742:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14402,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "742:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14405,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "769:6:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14407,
                  "src": "761:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14404,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "761:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "741:35:30"
            },
            "src": "709:68:30"
          },
          {
            "anonymous": false,
            "id": 14413,
            "name": "LogRiskpoolCollateralReleased",
            "nameLocation": "788:29:30",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 14412,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14409,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "826:9:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14413,
                  "src": "818:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14408,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "818:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14411,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "845:16:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14413,
                  "src": "837:24:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14410,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "837:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "817:45:30"
            },
            "src": "782:81:30"
          },
          {
            "functionSelector": "7888a2ff",
            "id": 14422,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createBundle",
            "nameLocation": "879:12:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14418,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14415,
                  "mutability": "mutable",
                  "name": "filter",
                  "nameLocation": "905:6:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14422,
                  "src": "892:19:30",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 14414,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "892:5:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14417,
                  "mutability": "mutable",
                  "name": "initialAmount",
                  "nameLocation": "921:13:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14422,
                  "src": "913:21:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14416,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "913:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "891:44:30"
            },
            "returnParameters": {
              "id": 14421,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14420,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "961:8:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14422,
                  "src": "953:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14419,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "953:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "952:18:30"
            },
            "scope": 14585,
            "src": "870:101:30",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "89002da5",
            "id": 14431,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "fundBundle",
            "nameLocation": "985:10:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14427,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14424,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1004:8:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14431,
                  "src": "996:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14423,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "996:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14426,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1022:6:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14431,
                  "src": "1014:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14425,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1014:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "995:34:30"
            },
            "returnParameters": {
              "id": 14430,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14429,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "1055:9:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14431,
                  "src": "1047:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14428,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1047:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1046:19:30"
            },
            "scope": 14585,
            "src": "976:90:30",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "36153f3a",
            "id": 14440,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "defundBundle",
            "nameLocation": "1080:12:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14436,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14433,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1101:8:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14440,
                  "src": "1093:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14432,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1093:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14435,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1119:6:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14440,
                  "src": "1111:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14434,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1111:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1092:34:30"
            },
            "returnParameters": {
              "id": 14439,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14438,
                  "mutability": "mutable",
                  "name": "netAmount",
                  "nameLocation": "1152:9:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14440,
                  "src": "1144:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14437,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1144:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1143:19:30"
            },
            "scope": 14585,
            "src": "1071:92:30",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a17030d5",
            "id": 14445,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lockBundle",
            "nameLocation": "1178:10:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14443,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14442,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1197:8:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14445,
                  "src": "1189:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14441,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1189:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1188:18:30"
            },
            "returnParameters": {
              "id": 14444,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1215:0:30"
            },
            "scope": 14585,
            "src": "1169:47:30",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "316c5348",
            "id": 14450,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "unlockBundle",
            "nameLocation": "1230:12:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14448,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14447,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1251:8:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14450,
                  "src": "1243:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14446,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1243:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1242:18:30"
            },
            "returnParameters": {
              "id": 14449,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1269:0:30"
            },
            "scope": 14585,
            "src": "1221:49:30",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "8c483e5a",
            "id": 14455,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "closeBundle",
            "nameLocation": "1284:11:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14453,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14452,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1304:8:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14455,
                  "src": "1296:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14451,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1296:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1295:18:30"
            },
            "returnParameters": {
              "id": 14454,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1322:0:30"
            },
            "scope": 14585,
            "src": "1275:48:30",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "587e59d0",
            "id": 14460,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "burnBundle",
            "nameLocation": "1337:10:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14458,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14457,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "1356:8:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14460,
                  "src": "1348:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14456,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1348:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1347:18:30"
            },
            "returnParameters": {
              "id": 14459,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1374:0:30"
            },
            "scope": 14585,
            "src": "1328:47:30",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "890fbf78",
            "id": 14469,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "collateralizePolicy",
            "nameLocation": "1390:19:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14465,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14462,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1418:9:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14469,
                  "src": "1410:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14461,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1410:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14464,
                  "mutability": "mutable",
                  "name": "collateralAmount",
                  "nameLocation": "1437:16:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14469,
                  "src": "1429:24:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14463,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1429:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1409:45:30"
            },
            "returnParameters": {
              "id": 14468,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14467,
                  "mutability": "mutable",
                  "name": "isSecured",
                  "nameLocation": "1477:9:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14469,
                  "src": "1472:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 14466,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1472:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1471:16:30"
            },
            "scope": 14585,
            "src": "1381:107:30",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "3629c3c4",
            "id": 14476,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPolicyPremium",
            "nameLocation": "1502:20:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14474,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14471,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1531:9:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14476,
                  "src": "1523:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14470,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1523:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14473,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1550:6:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14476,
                  "src": "1542:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14472,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1542:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1522:35:30"
            },
            "returnParameters": {
              "id": 14475,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1566:0:30"
            },
            "scope": 14585,
            "src": "1493:74:30",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "82558906",
            "id": 14483,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processPolicyPayout",
            "nameLocation": "1581:19:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14481,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14478,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1609:9:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14483,
                  "src": "1601:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14477,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1601:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14480,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1628:6:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14483,
                  "src": "1620:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14479,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1620:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1600:35:30"
            },
            "returnParameters": {
              "id": 14482,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1644:0:30"
            },
            "scope": 14585,
            "src": "1572:73:30",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c3004c86",
            "id": 14488,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "releasePolicy",
            "nameLocation": "1659:13:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14486,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14485,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "1681:9:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14488,
                  "src": "1673:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14484,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1673:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1672:19:30"
            },
            "returnParameters": {
              "id": 14487,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1700:0:30"
            },
            "scope": 14585,
            "src": "1650:51:30",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "54afef63",
            "id": 14493,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCollateralizationLevel",
            "nameLocation": "1716:25:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14489,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1741:2:30"
            },
            "returnParameters": {
              "id": 14492,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14491,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 14493,
                  "src": "1767:7:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14490,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1767:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1766:9:30"
            },
            "scope": 14585,
            "src": "1707:69:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "f1d354d0",
            "id": 14498,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getFullCollateralizationLevel",
            "nameLocation": "1790:29:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14494,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1819:2:30"
            },
            "returnParameters": {
              "id": 14497,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14496,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 14498,
                  "src": "1845:7:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14495,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1845:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1844:9:30"
            },
            "scope": 14585,
            "src": "1781:73:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "86c71288",
            "id": 14509,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "bundleMatchesApplication",
            "nameLocation": "1869:24:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14505,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14501,
                  "mutability": "mutable",
                  "name": "bundle",
                  "nameLocation": "1925:6:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14509,
                  "src": "1903:28:30",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Bundle_$13298_memory_ptr",
                    "typeString": "struct IBundle.Bundle"
                  },
                  "typeName": {
                    "id": 14500,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14499,
                      "name": "IBundle.Bundle",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 13298,
                      "src": "1903:14:30"
                    },
                    "referencedDeclaration": 13298,
                    "src": "1903:14:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Bundle_$13298_storage_ptr",
                      "typeString": "struct IBundle.Bundle"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14504,
                  "mutability": "mutable",
                  "name": "application",
                  "nameLocation": "1969:11:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14509,
                  "src": "1942:38:30",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Application_$12478_memory_ptr",
                    "typeString": "struct IPolicy.Application"
                  },
                  "typeName": {
                    "id": 14503,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14502,
                      "name": "IPolicy.Application",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 12478,
                      "src": "1942:19:30"
                    },
                    "referencedDeclaration": 12478,
                    "src": "1942:19:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Application_$12478_storage_ptr",
                      "typeString": "struct IPolicy.Application"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1893:93:30"
            },
            "returnParameters": {
              "id": 14508,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14507,
                  "mutability": "mutable",
                  "name": "isMatching",
                  "nameLocation": "2023:10:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14509,
                  "src": "2018:15:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 14506,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2018:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2017:17:30"
            },
            "scope": 14585,
            "src": "1860:175:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "3dcdde17",
            "id": 14514,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getFilterDataStructure",
            "nameLocation": "2057:22:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14510,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2079:2:30"
            },
            "returnParameters": {
              "id": 14513,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14512,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 14514,
                  "src": "2104:13:30",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 14511,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2104:6:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2103:15:30"
            },
            "scope": 14585,
            "src": "2048:71:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "18442e63",
            "id": 14519,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "bundles",
            "nameLocation": "2134:7:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14515,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2141:2:30"
            },
            "returnParameters": {
              "id": 14518,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14517,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 14519,
                  "src": "2166:7:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14516,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2166:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2165:9:30"
            },
            "scope": 14585,
            "src": "2125:50:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2d0821b7",
            "id": 14527,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getBundle",
            "nameLocation": "2189:9:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14522,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14521,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "2207:3:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14527,
                  "src": "2199:11:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14520,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2199:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2198:13:30"
            },
            "returnParameters": {
              "id": 14526,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14525,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 14527,
                  "src": "2234:21:30",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Bundle_$13298_memory_ptr",
                    "typeString": "struct IBundle.Bundle"
                  },
                  "typeName": {
                    "id": 14524,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14523,
                      "name": "IBundle.Bundle",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 13298,
                      "src": "2234:14:30"
                    },
                    "referencedDeclaration": 13298,
                    "src": "2234:14:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Bundle_$13298_storage_ptr",
                      "typeString": "struct IBundle.Bundle"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2233:23:30"
            },
            "scope": 14585,
            "src": "2180:77:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4101b90c",
            "id": 14532,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "activeBundles",
            "nameLocation": "2272:13:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14528,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2285:2:30"
            },
            "returnParameters": {
              "id": 14531,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14530,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 14532,
                  "src": "2310:7:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14529,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2310:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2309:9:30"
            },
            "scope": 14585,
            "src": "2263:56:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "0676cb0e",
            "id": 14539,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getActiveBundleId",
            "nameLocation": "2333:17:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14535,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14534,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "2359:3:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14539,
                  "src": "2351:11:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14533,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2351:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2350:13:30"
            },
            "returnParameters": {
              "id": 14538,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14537,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "2394:8:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14539,
                  "src": "2386:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14536,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2386:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2385:18:30"
            },
            "scope": 14585,
            "src": "2324:80:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "13299604",
            "id": 14544,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getWallet",
            "nameLocation": "2419:9:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14540,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2428:2:30"
            },
            "returnParameters": {
              "id": 14543,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14542,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 14544,
                  "src": "2453:7:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14541,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2453:7:30",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2452:9:30"
            },
            "scope": 14585,
            "src": "2410:52:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "feb1824b",
            "id": 14549,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getErc20Token",
            "nameLocation": "2476:13:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14545,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2489:2:30"
            },
            "returnParameters": {
              "id": 14548,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14547,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 14549,
                  "src": "2514:7:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14546,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2514:7:30",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2513:9:30"
            },
            "scope": 14585,
            "src": "2467:56:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a18aa128",
            "id": 14554,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getSumOfSumInsuredCap",
            "nameLocation": "2538:21:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14550,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2559:2:30"
            },
            "returnParameters": {
              "id": 14553,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14552,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 14554,
                  "src": "2585:7:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14551,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2585:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2584:9:30"
            },
            "scope": 14585,
            "src": "2529:65:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "e0032383",
            "id": 14559,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCapital",
            "nameLocation": "2608:10:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14555,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2618:2:30"
            },
            "returnParameters": {
              "id": 14558,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14557,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 14559,
                  "src": "2643:7:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14556,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2643:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2642:9:30"
            },
            "scope": 14585,
            "src": "2599:53:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "b26025aa",
            "id": 14564,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getTotalValueLocked",
            "nameLocation": "2666:19:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14560,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2685:2:30"
            },
            "returnParameters": {
              "id": 14563,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14562,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 14564,
                  "src": "2710:7:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14561,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2710:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2709:9:30"
            },
            "scope": 14585,
            "src": "2657:62:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c40000d4",
            "id": 14569,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCapacity",
            "nameLocation": "2734:11:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14565,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2745:2:30"
            },
            "returnParameters": {
              "id": 14568,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14567,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 14569,
                  "src": "2770:7:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14566,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2770:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2769:9:30"
            },
            "scope": 14585,
            "src": "2725:54:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "12065fe0",
            "id": 14574,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getBalance",
            "nameLocation": "2794:10:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14570,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2804:2:30"
            },
            "returnParameters": {
              "id": 14573,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14572,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 14574,
                  "src": "2829:7:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14571,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2829:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2828:9:30"
            },
            "scope": 14585,
            "src": "2785:53:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "652028e5",
            "id": 14579,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setMaximumNumberOfActiveBundles",
            "nameLocation": "2854:31:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14577,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14576,
                  "mutability": "mutable",
                  "name": "maximumNumberOfActiveBundles",
                  "nameLocation": "2894:28:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14579,
                  "src": "2886:36:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14575,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2886:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2885:38:30"
            },
            "returnParameters": {
              "id": 14578,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2932:0:30"
            },
            "scope": 14585,
            "src": "2845:88:30",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "7f3b6980",
            "id": 14584,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getMaximumNumberOfActiveBundles",
            "nameLocation": "2948:31:30",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14580,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2979:2:30"
            },
            "returnParameters": {
              "id": 14583,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14582,
                  "mutability": "mutable",
                  "name": "maximumNumberOfActiveBundles",
                  "nameLocation": "3012:28:30",
                  "nodeType": "VariableDeclaration",
                  "scope": 14584,
                  "src": "3004:36:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14581,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3004:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3003:38:30"
            },
            "scope": 14585,
            "src": "2939:103:30",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 14586,
        "src": "157:2887:30"
      }
    ],
    "src": "39:3006:30"
  },
  "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"
}