{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "riskpoolId",
          "type": "uint256"
        }
      ],
      "name": "activeBundles",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "numberOfActiveBundles",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "bundles",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "numberOfBundles",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "claims",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "numberOfClaims",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "idx",
          "type": "uint256"
        }
      ],
      "name": "contractName",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "name",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "contracts",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "numberOfContracts",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "riskpoolId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "bundleIdx",
          "type": "uint256"
        }
      ],
      "name": "getActiveBundleId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "getApplication",
      "outputs": [
        {
          "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"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "riskpoolId",
          "type": "uint256"
        }
      ],
      "name": "getBalance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "balanceAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bundleId",
          "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": "bundle",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getBundleToken",
      "outputs": [
        {
          "internalType": "contract IBundleToken",
          "name": "token",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "riskpoolId",
          "type": "uint256"
        }
      ],
      "name": "getCapacity",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "capacityAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "riskpoolId",
          "type": "uint256"
        }
      ],
      "name": "getCapital",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "capitalAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getChainId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "chainId",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getChainName",
      "outputs": [
        {
          "internalType": "string",
          "name": "chainName",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "claimId",
          "type": "uint256"
        }
      ],
      "name": "getClaim",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum IPolicy.ClaimState",
              "name": "state",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "claimAmount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "paidAmount",
              "type": "uint256"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "updatedAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IPolicy.Claim",
          "name": "claim",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "componentId",
          "type": "uint256"
        }
      ],
      "name": "getComponent",
      "outputs": [
        {
          "internalType": "contract IComponent",
          "name": "component",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "componentAddress",
          "type": "address"
        }
      ],
      "name": "getComponentId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "componentId",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getComponentOwnerService",
      "outputs": [
        {
          "internalType": "contract IComponentOwnerService",
          "name": "service",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "componentId",
          "type": "uint256"
        }
      ],
      "name": "getComponentState",
      "outputs": [
        {
          "internalType": "enum IComponent.ComponentState",
          "name": "componentState",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "componentId",
          "type": "uint256"
        }
      ],
      "name": "getComponentToken",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "token",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "componentId",
          "type": "uint256"
        }
      ],
      "name": "getComponentType",
      "outputs": [
        {
          "internalType": "enum IComponent.ComponentType",
          "name": "componentType",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getDefaultAdminRole",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getFeeFractionFullUnit",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "fullUnit",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getFullCollateralizationLevel",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getInstanceId",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "instanceId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getInstanceOperator",
      "outputs": [
        {
          "internalType": "address",
          "name": "instanceOperator",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getInstanceOperatorService",
      "outputs": [
        {
          "internalType": "contract IInstanceOperatorService",
          "name": "service",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getInstanceWallet",
      "outputs": [
        {
          "internalType": "address",
          "name": "walletAddress",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "riskpoolId",
          "type": "uint256"
        }
      ],
      "name": "getMaximumNumberOfActiveBundles",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "maximumNumberOfActiveBundles",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "getMetadata",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "productId",
              "type": "uint256"
            },
            {
              "internalType": "enum IPolicy.PolicyFlowState",
              "name": "state",
              "type": "uint8"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "updatedAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IPolicy.Metadata",
          "name": "metadata",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getOracleProviderRole",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getOracleService",
      "outputs": [
        {
          "internalType": "contract IOracleService",
          "name": "service",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "payoutId",
          "type": "uint256"
        }
      ],
      "name": "getPayout",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "claimId",
              "type": "uint256"
            },
            {
              "internalType": "enum IPolicy.PayoutState",
              "name": "state",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "updatedAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IPolicy.Payout",
          "name": "payout",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "getPolicy",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum IPolicy.PolicyState",
              "name": "state",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "premiumExpectedAmount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "premiumPaidAmount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "claimsCount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "openClaimsCount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "payoutMaxAmount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "payoutAmount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "updatedAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IPolicy.Policy",
          "name": "policy",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getProductOwnerRole",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getProductService",
      "outputs": [
        {
          "internalType": "contract IProductService",
          "name": "service",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "riskpoolId",
          "type": "uint256"
        }
      ],
      "name": "getRiskpool",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "wallet",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "erc20Token",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "collateralizationLevel",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "sumOfSumInsuredCap",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "sumOfSumInsuredAtRisk",
              "type": "uint256"
            },
            {
              "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 IPool.Pool",
          "name": "riskPool",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getRiskpoolKeeperRole",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getRiskpoolService",
      "outputs": [
        {
          "internalType": "contract IRiskpoolService",
          "name": "service",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "riskpoolId",
          "type": "uint256"
        }
      ],
      "name": "getRiskpoolWallet",
      "outputs": [
        {
          "internalType": "address",
          "name": "walletAddress",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "componentId",
          "type": "uint256"
        }
      ],
      "name": "getStakedAssets",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "componentId",
          "type": "uint256"
        }
      ],
      "name": "getStakingRequirements",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "riskpoolId",
          "type": "uint256"
        }
      ],
      "name": "getTotalValueLocked",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "totalValueLockedAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getTreasuryAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "treasuryAddress",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "role",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "principal",
          "type": "address"
        }
      ],
      "name": "hasRole",
      "outputs": [
        {
          "internalType": "bool",
          "name": "roleIsAssigned",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "oracles",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "numberOfOracles",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "processId",
          "type": "bytes32"
        }
      ],
      "name": "payouts",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "numberOfPayouts",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "processIds",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "numberOfProcessIds",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "products",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "numberOfProducts",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "riskpools",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "numberOfRiskpools",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "riskpoolId",
          "type": "uint256"
        }
      ],
      "name": "unburntBundles",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "numberOfUnburntBundles",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "15": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/introspection/IERC165.sol",
    "27": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
    "38": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol",
    "4": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/IERC20.sol",
    "40": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IComponentOwnerService.sol",
    "41": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceOperatorService.sol",
    "42": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceService.sol",
    "43": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IOracleService.sol",
    "44": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IProductService.sol",
    "45": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IRiskpoolService.sol",
    "46": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/tokens/IBundleToken.sol",
    "7": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC721/IERC721.sol"
  },
  "ast": {
    "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceService.sol",
    "exportedSymbols": {
      "IBundle": [
        13382
      ],
      "IBundleToken": [
        13428
      ],
      "IComponent": [
        11675
      ],
      "IComponentOwnerService": [
        23015
      ],
      "IERC165": [
        22864
      ],
      "IERC20": [
        15820
      ],
      "IERC721": [
        13932
      ],
      "IInstanceOperatorService": [
        23282
      ],
      "IInstanceService": [
        14934
      ],
      "IOracleService": [
        23292
      ],
      "IPolicy": [
        12649
      ],
      "IPool": [
        23131
      ],
      "IProductService": [
        22121
      ],
      "IRegistry": [
        21976
      ],
      "IRiskpoolService": [
        15040
      ],
      "ITreasury": [
        12909
      ]
    },
    "id": 14935,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 14587,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:42"
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
        "file": "../components/IComponent.sol",
        "id": 14588,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 14935,
        "sourceUnit": 11676,
        "src": "63:38:42",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IBundle.sol",
        "file": "../modules/IBundle.sol",
        "id": 14589,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 14935,
        "sourceUnit": 13383,
        "src": "102:32:42",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol",
        "file": "../modules/IPolicy.sol",
        "id": 14590,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 14935,
        "sourceUnit": 12650,
        "src": "135:32:42",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPool.sol",
        "file": "../modules/IPool.sol",
        "id": 14591,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 14935,
        "sourceUnit": 23132,
        "src": "168:30:42",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/tokens/IBundleToken.sol",
        "file": "../tokens/IBundleToken.sol",
        "id": 14592,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 14935,
        "sourceUnit": 13429,
        "src": "199:36:42",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IComponentOwnerService.sol",
        "file": "./IComponentOwnerService.sol",
        "id": 14593,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 14935,
        "sourceUnit": 23016,
        "src": "236:38:42",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceOperatorService.sol",
        "file": "./IInstanceOperatorService.sol",
        "id": 14594,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 14935,
        "sourceUnit": 23283,
        "src": "275:40:42",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IOracleService.sol",
        "file": "./IOracleService.sol",
        "id": 14595,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 14935,
        "sourceUnit": 23293,
        "src": "316:30:42",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IProductService.sol",
        "file": "./IProductService.sol",
        "id": 14596,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 14935,
        "sourceUnit": 22122,
        "src": "347:31:42",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IRiskpoolService.sol",
        "file": "./IRiskpoolService.sol",
        "id": 14597,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 14935,
        "sourceUnit": 15041,
        "src": "379:32:42",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/IERC20.sol",
        "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
        "id": 14598,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 14935,
        "sourceUnit": 15821,
        "src": "413:56:42",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC721/IERC721.sol",
        "file": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
        "id": 14599,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 14935,
        "sourceUnit": 13933,
        "src": "470:58:42",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 14934,
        "linearizedBaseContracts": [
          14934
        ],
        "name": "IInstanceService",
        "nameLocation": "540:16:42",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "functionSelector": "3408e470",
            "id": 14604,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getChainId",
            "nameLocation": "589:10:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14600,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "599:2:42"
            },
            "returnParameters": {
              "id": 14603,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14602,
                  "mutability": "mutable",
                  "name": "chainId",
                  "nameLocation": "632:7:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14604,
                  "src": "624:15:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14601,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "624:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "623:17:42"
            },
            "scope": 14934,
            "src": "580:61:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "d722b0bc",
            "id": 14609,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getChainName",
            "nameLocation": "655:12:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14605,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "667:2:42"
            },
            "returnParameters": {
              "id": 14608,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14607,
                  "mutability": "mutable",
                  "name": "chainName",
                  "nameLocation": "706:9:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14609,
                  "src": "692:23:42",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 14606,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "692:6:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "691:25:42"
            },
            "scope": 14934,
            "src": "646:71:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "1551100f",
            "id": 14614,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getInstanceId",
            "nameLocation": "731:13:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14610,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "744:2:42"
            },
            "returnParameters": {
              "id": 14613,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14612,
                  "mutability": "mutable",
                  "name": "instanceId",
                  "nameLocation": "777:10:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14614,
                  "src": "769:18:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14611,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "769:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "768:20:42"
            },
            "scope": 14934,
            "src": "722:67:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "39c6fa90",
            "id": 14619,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getInstanceOperator",
            "nameLocation": "803:19:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14615,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "822:2:42"
            },
            "returnParameters": {
              "id": 14618,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14617,
                  "mutability": "mutable",
                  "name": "instanceOperator",
                  "nameLocation": "855:16:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14619,
                  "src": "847:24:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14616,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "847:7:42",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "846:26:42"
            },
            "scope": 14934,
            "src": "794:79:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6fa29853",
            "id": 14625,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentOwnerService",
            "nameLocation": "904:24:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14620,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "928:2:42"
            },
            "returnParameters": {
              "id": 14624,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14623,
                  "mutability": "mutable",
                  "name": "service",
                  "nameLocation": "976:7:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14625,
                  "src": "953:30:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IComponentOwnerService_$23015",
                    "typeString": "contract IComponentOwnerService"
                  },
                  "typeName": {
                    "id": 14622,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14621,
                      "name": "IComponentOwnerService",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23015,
                      "src": "953:22:42"
                    },
                    "referencedDeclaration": 23015,
                    "src": "953:22:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponentOwnerService_$23015",
                      "typeString": "contract IComponentOwnerService"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "952:32:42"
            },
            "scope": 14934,
            "src": "895:90:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "091924dc",
            "id": 14631,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getInstanceOperatorService",
            "nameLocation": "999:26:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14626,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1025:2:42"
            },
            "returnParameters": {
              "id": 14630,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14629,
                  "mutability": "mutable",
                  "name": "service",
                  "nameLocation": "1075:7:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14631,
                  "src": "1050:32:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IInstanceOperatorService_$23282",
                    "typeString": "contract IInstanceOperatorService"
                  },
                  "typeName": {
                    "id": 14628,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14627,
                      "name": "IInstanceOperatorService",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23282,
                      "src": "1050:24:42"
                    },
                    "referencedDeclaration": 23282,
                    "src": "1050:24:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IInstanceOperatorService_$23282",
                      "typeString": "contract IInstanceOperatorService"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1049:34:42"
            },
            "scope": 14934,
            "src": "990:94:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a7ecda36",
            "id": 14637,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getOracleService",
            "nameLocation": "1098:16:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14632,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1114:2:42"
            },
            "returnParameters": {
              "id": 14636,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14635,
                  "mutability": "mutable",
                  "name": "service",
                  "nameLocation": "1154:7:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14637,
                  "src": "1139:22:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IOracleService_$23292",
                    "typeString": "contract IOracleService"
                  },
                  "typeName": {
                    "id": 14634,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14633,
                      "name": "IOracleService",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23292,
                      "src": "1139:14:42"
                    },
                    "referencedDeclaration": 23292,
                    "src": "1139:14:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IOracleService_$23292",
                      "typeString": "contract IOracleService"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1138:24:42"
            },
            "scope": 14934,
            "src": "1089:74:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4288121d",
            "id": 14643,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getProductService",
            "nameLocation": "1177:17:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14638,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1194:2:42"
            },
            "returnParameters": {
              "id": 14642,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14641,
                  "mutability": "mutable",
                  "name": "service",
                  "nameLocation": "1235:7:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14643,
                  "src": "1219:23:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IProductService_$22121",
                    "typeString": "contract IProductService"
                  },
                  "typeName": {
                    "id": 14640,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14639,
                      "name": "IProductService",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 22121,
                      "src": "1219:15:42"
                    },
                    "referencedDeclaration": 22121,
                    "src": "1219:15:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IProductService_$22121",
                      "typeString": "contract IProductService"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1218:25:42"
            },
            "scope": 14934,
            "src": "1168:76:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "442ed817",
            "id": 14649,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getRiskpoolService",
            "nameLocation": "1258:18:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14644,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1276:2:42"
            },
            "returnParameters": {
              "id": 14648,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14647,
                  "mutability": "mutable",
                  "name": "service",
                  "nameLocation": "1318:7:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14649,
                  "src": "1301:24:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
                    "typeString": "contract IRiskpoolService"
                  },
                  "typeName": {
                    "id": 14646,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14645,
                      "name": "IRiskpoolService",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 15040,
                      "src": "1301:16:42"
                    },
                    "referencedDeclaration": 15040,
                    "src": "1301:16:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IRiskpoolService_$15040",
                      "typeString": "contract IRiskpoolService"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1300:26:42"
            },
            "scope": 14934,
            "src": "1249:78:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6c0f79b6",
            "id": 14654,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "contracts",
            "nameLocation": "1341:9:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14650,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1350:2:42"
            },
            "returnParameters": {
              "id": 14653,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14652,
                  "mutability": "mutable",
                  "name": "numberOfContracts",
                  "nameLocation": "1384:17:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14654,
                  "src": "1376:25:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14651,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1376:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1375:27:42"
            },
            "scope": 14934,
            "src": "1332:71:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "f6b3e7d0",
            "id": 14661,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "contractName",
            "nameLocation": "1417:12:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14657,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14656,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "1438:3:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14661,
                  "src": "1430:11:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14655,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1430:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1429:13:42"
            },
            "returnParameters": {
              "id": 14660,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14659,
                  "mutability": "mutable",
                  "name": "name",
                  "nameLocation": "1474:4:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14661,
                  "src": "1466:12:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14658,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1466:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1465:14:42"
            },
            "scope": 14934,
            "src": "1408:72:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "52a9c8d7",
            "id": 14666,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getDefaultAdminRole",
            "nameLocation": "1509:19:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14662,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1528:2:42"
            },
            "returnParameters": {
              "id": 14665,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14664,
                  "mutability": "mutable",
                  "name": "role",
                  "nameLocation": "1561:4:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14666,
                  "src": "1553:12:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14663,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1553:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1552:14:42"
            },
            "scope": 14934,
            "src": "1500:67:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "775a4048",
            "id": 14671,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getProductOwnerRole",
            "nameLocation": "1581:19:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14667,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1600:2:42"
            },
            "returnParameters": {
              "id": 14670,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14669,
                  "mutability": "mutable",
                  "name": "role",
                  "nameLocation": "1633:4:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14671,
                  "src": "1625:12:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14668,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1625:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1624:14:42"
            },
            "scope": 14934,
            "src": "1572:67:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "d49d21c0",
            "id": 14676,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getOracleProviderRole",
            "nameLocation": "1653:21:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14672,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1674:2:42"
            },
            "returnParameters": {
              "id": 14675,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14674,
                  "mutability": "mutable",
                  "name": "role",
                  "nameLocation": "1707:4:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14676,
                  "src": "1699:12:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14673,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1699:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1698:14:42"
            },
            "scope": 14934,
            "src": "1644:69:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "3ffdd2f3",
            "id": 14681,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getRiskpoolKeeperRole",
            "nameLocation": "1727:21:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14677,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1748:2:42"
            },
            "returnParameters": {
              "id": 14680,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14679,
                  "mutability": "mutable",
                  "name": "role",
                  "nameLocation": "1781:4:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14681,
                  "src": "1773:12:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14678,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1773:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1772:14:42"
            },
            "scope": 14934,
            "src": "1718:69:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "91d14854",
            "id": 14690,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "hasRole",
            "nameLocation": "1801:7:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14686,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14683,
                  "mutability": "mutable",
                  "name": "role",
                  "nameLocation": "1817:4:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14690,
                  "src": "1809:12:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14682,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1809:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14685,
                  "mutability": "mutable",
                  "name": "principal",
                  "nameLocation": "1831:9:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14690,
                  "src": "1823:17:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14684,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1823:7:42",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1808:33:42"
            },
            "returnParameters": {
              "id": 14689,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14688,
                  "mutability": "mutable",
                  "name": "roleIsAssigned",
                  "nameLocation": "1870:14:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14690,
                  "src": "1865:19:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 14687,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1865:4:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1864:21:42"
            },
            "scope": 14934,
            "src": "1792:94:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c71e261f",
            "id": 14695,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "products",
            "nameLocation": "1922:8:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14691,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1930:2:42"
            },
            "returnParameters": {
              "id": 14694,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14693,
                  "mutability": "mutable",
                  "name": "numberOfProducts",
                  "nameLocation": "1963:16:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14695,
                  "src": "1955:24:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14692,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1955:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1954:26:42"
            },
            "scope": 14934,
            "src": "1913:68:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2857373a",
            "id": 14700,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "oracles",
            "nameLocation": "1995:7:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14696,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2002:2:42"
            },
            "returnParameters": {
              "id": 14699,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14698,
                  "mutability": "mutable",
                  "name": "numberOfOracles",
                  "nameLocation": "2035:15:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14700,
                  "src": "2027:23:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14697,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2027:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2026:25:42"
            },
            "scope": 14934,
            "src": "1986:66:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a054381f",
            "id": 14705,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "riskpools",
            "nameLocation": "2066:9:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14701,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2075:2:42"
            },
            "returnParameters": {
              "id": 14704,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14703,
                  "mutability": "mutable",
                  "name": "numberOfRiskpools",
                  "nameLocation": "2108:17:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14705,
                  "src": "2100:25:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14702,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2100:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2099:27:42"
            },
            "scope": 14934,
            "src": "2057:70:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2b1c7f73",
            "id": 14712,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentId",
            "nameLocation": "2142:14:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14708,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14707,
                  "mutability": "mutable",
                  "name": "componentAddress",
                  "nameLocation": "2165:16:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14712,
                  "src": "2157:24:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14706,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2157:7:42",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2156:26:42"
            },
            "returnParameters": {
              "id": 14711,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14710,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "2213:11:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14712,
                  "src": "2205:19:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14709,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2205:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2204:21:42"
            },
            "scope": 14934,
            "src": "2133:93:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4f27da18",
            "id": 14720,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getComponent",
            "nameLocation": "2240:12:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14715,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14714,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "2261:11:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14720,
                  "src": "2253:19:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14713,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2253:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2252:21:42"
            },
            "returnParameters": {
              "id": 14719,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14718,
                  "mutability": "mutable",
                  "name": "component",
                  "nameLocation": "2307:9:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14720,
                  "src": "2296:20:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IComponent_$11675",
                    "typeString": "contract IComponent"
                  },
                  "typeName": {
                    "id": 14717,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14716,
                      "name": "IComponent",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 11675,
                      "src": "2296:10:42"
                    },
                    "referencedDeclaration": 11675,
                    "src": "2296:10:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$11675",
                      "typeString": "contract IComponent"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2295:22:42"
            },
            "scope": 14934,
            "src": "2231:87:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "dd51c86a",
            "id": 14728,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentType",
            "nameLocation": "2332:16:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14723,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14722,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "2357:11:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14728,
                  "src": "2349:19:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14721,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2349:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2348:21:42"
            },
            "returnParameters": {
              "id": 14727,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14726,
                  "mutability": "mutable",
                  "name": "componentType",
                  "nameLocation": "2417:13:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14728,
                  "src": "2392:38:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentType_$11578",
                    "typeString": "enum IComponent.ComponentType"
                  },
                  "typeName": {
                    "id": 14725,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14724,
                      "name": "IComponent.ComponentType",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 11578,
                      "src": "2392:24:42"
                    },
                    "referencedDeclaration": 11578,
                    "src": "2392:24:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentType_$11578",
                      "typeString": "enum IComponent.ComponentType"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2391:40:42"
            },
            "scope": 14934,
            "src": "2323:109:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "5e966e45",
            "id": 14736,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentState",
            "nameLocation": "2446:17:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14731,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14730,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "2472:11:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14736,
                  "src": "2464:19:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14729,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2464:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2463:21:42"
            },
            "returnParameters": {
              "id": 14735,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14734,
                  "mutability": "mutable",
                  "name": "componentState",
                  "nameLocation": "2533:14:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14736,
                  "src": "2507:40:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentState_$11586",
                    "typeString": "enum IComponent.ComponentState"
                  },
                  "typeName": {
                    "id": 14733,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14732,
                      "name": "IComponent.ComponentState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 11586,
                      "src": "2507:25:42"
                    },
                    "referencedDeclaration": 11586,
                    "src": "2507:25:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$11586",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2506:42:42"
            },
            "scope": 14934,
            "src": "2437:112:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "ab9c6ee4",
            "id": 14743,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getStakingRequirements",
            "nameLocation": "2587:22:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14739,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14738,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "2618:11:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14743,
                  "src": "2610:19:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14737,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2610:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2609:21:42"
            },
            "returnParameters": {
              "id": 14742,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14741,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "2666:4:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14743,
                  "src": "2653:17:42",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 14740,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2653:5:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2652:19:42"
            },
            "scope": 14934,
            "src": "2578:94:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "3a42b053",
            "id": 14750,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getStakedAssets",
            "nameLocation": "2686:15:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14746,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14745,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "2710:11:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14750,
                  "src": "2702:19:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14744,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2702:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2701:21:42"
            },
            "returnParameters": {
              "id": 14749,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14748,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "2758:4:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14750,
                  "src": "2745:17:42",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 14747,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2745:5:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2744:19:42"
            },
            "scope": 14934,
            "src": "2677:87:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "eb802114",
            "id": 14758,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getRiskpool",
            "nameLocation": "2795:11:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14753,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14752,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "2815:10:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14758,
                  "src": "2807:18:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14751,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2807:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2806:20:42"
            },
            "returnParameters": {
              "id": 14757,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14756,
                  "mutability": "mutable",
                  "name": "riskPool",
                  "nameLocation": "2867:8:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14758,
                  "src": "2849:26:42",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Pool_$23084_memory_ptr",
                    "typeString": "struct IPool.Pool"
                  },
                  "typeName": {
                    "id": 14755,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14754,
                      "name": "IPool.Pool",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 23084,
                      "src": "2849:10:42"
                    },
                    "referencedDeclaration": 23084,
                    "src": "2849:10:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Pool_$23084_storage_ptr",
                      "typeString": "struct IPool.Pool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2848:28:42"
            },
            "scope": 14934,
            "src": "2786:91:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "f1d354d0",
            "id": 14763,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getFullCollateralizationLevel",
            "nameLocation": "2891:29:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14759,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2920:2:42"
            },
            "returnParameters": {
              "id": 14762,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14761,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 14763,
                  "src": "2946:7:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14760,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2946:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2945:9:42"
            },
            "scope": 14934,
            "src": "2882:73:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "29560980",
            "id": 14770,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCapital",
            "nameLocation": "2969:10:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14766,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14765,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "2988:10:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14770,
                  "src": "2980:18:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14764,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2980:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2979:20:42"
            },
            "returnParameters": {
              "id": 14769,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14768,
                  "mutability": "mutable",
                  "name": "capitalAmount",
                  "nameLocation": "3030:13:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14770,
                  "src": "3022:21:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14767,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3022:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3021:23:42"
            },
            "scope": 14934,
            "src": "2960:85:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "3f5d9235",
            "id": 14777,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getTotalValueLocked",
            "nameLocation": "3059:19:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14773,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14772,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "3087:10:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14777,
                  "src": "3079:18:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14771,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3079:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3078:20:42"
            },
            "returnParameters": {
              "id": 14776,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14775,
                  "mutability": "mutable",
                  "name": "totalValueLockedAmount",
                  "nameLocation": "3129:22:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14777,
                  "src": "3121:30:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14774,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3121:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3120:32:42"
            },
            "scope": 14934,
            "src": "3050:103:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "bcd5349f",
            "id": 14784,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCapacity",
            "nameLocation": "3167:11:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14780,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14779,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "3187:10:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14784,
                  "src": "3179:18:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14778,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3179:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3178:20:42"
            },
            "returnParameters": {
              "id": 14783,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14782,
                  "mutability": "mutable",
                  "name": "capacityAmount",
                  "nameLocation": "3229:14:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14784,
                  "src": "3221:22:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14781,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3221:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3220:24:42"
            },
            "scope": 14934,
            "src": "3158:87:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "1e010439",
            "id": 14791,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getBalance",
            "nameLocation": "3259:10:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14787,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14786,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "3278:10:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14791,
                  "src": "3270:18:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14785,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3270:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3269:20:42"
            },
            "returnParameters": {
              "id": 14790,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14789,
                  "mutability": "mutable",
                  "name": "balanceAmount",
                  "nameLocation": "3320:13:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14791,
                  "src": "3312:21:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14788,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3312:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3311:23:42"
            },
            "scope": 14934,
            "src": "3250:85:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a4266a66",
            "id": 14798,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "activeBundles",
            "nameLocation": "3350:13:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14794,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14793,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "3372:10:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14798,
                  "src": "3364:18:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14792,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3364:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3363:20:42"
            },
            "returnParameters": {
              "id": 14797,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14796,
                  "mutability": "mutable",
                  "name": "numberOfActiveBundles",
                  "nameLocation": "3414:21:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14798,
                  "src": "3406:29:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14795,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3406:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3405:31:42"
            },
            "scope": 14934,
            "src": "3341:96:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "ec833b0c",
            "id": 14807,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getActiveBundleId",
            "nameLocation": "3451:17:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14803,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14800,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "3477:10:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14807,
                  "src": "3469:18:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14799,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3469:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14802,
                  "mutability": "mutable",
                  "name": "bundleIdx",
                  "nameLocation": "3497:9:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14807,
                  "src": "3489:17:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14801,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3489:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3468:39:42"
            },
            "returnParameters": {
              "id": 14806,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14805,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "3538:8:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14807,
                  "src": "3530:16:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14804,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3530:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3529:18:42"
            },
            "scope": 14934,
            "src": "3442:106:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "7db32844",
            "id": 14814,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getMaximumNumberOfActiveBundles",
            "nameLocation": "3562:31:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14810,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14809,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "3602:10:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14814,
                  "src": "3594:18:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14808,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3594:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3593:20:42"
            },
            "returnParameters": {
              "id": 14813,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14812,
                  "mutability": "mutable",
                  "name": "maximumNumberOfActiveBundles",
                  "nameLocation": "3644:28:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14814,
                  "src": "3636:36:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14811,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3636:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3635:38:42"
            },
            "scope": 14934,
            "src": "3553:121:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "eb35783c",
            "id": 14820,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getBundleToken",
            "nameLocation": "3704:14:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14815,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3718:2:42"
            },
            "returnParameters": {
              "id": 14819,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14818,
                  "mutability": "mutable",
                  "name": "token",
                  "nameLocation": "3756:5:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14820,
                  "src": "3743:18:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IBundleToken_$13428",
                    "typeString": "contract IBundleToken"
                  },
                  "typeName": {
                    "id": 14817,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14816,
                      "name": "IBundleToken",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 13428,
                      "src": "3743:12:42"
                    },
                    "referencedDeclaration": 13428,
                    "src": "3743:12:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IBundleToken_$13428",
                      "typeString": "contract IBundleToken"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3742:20:42"
            },
            "scope": 14934,
            "src": "3695:68:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "18442e63",
            "id": 14825,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "bundles",
            "nameLocation": "3777:7:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14821,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3784:2:42"
            },
            "returnParameters": {
              "id": 14824,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14823,
                  "mutability": "mutable",
                  "name": "numberOfBundles",
                  "nameLocation": "3817:15:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14825,
                  "src": "3809:23:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14822,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3809:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3808:25:42"
            },
            "scope": 14934,
            "src": "3768:66:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2d0821b7",
            "id": 14833,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getBundle",
            "nameLocation": "3848:9:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14828,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14827,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "3866:8:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14833,
                  "src": "3858:16:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14826,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3858:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3857:18:42"
            },
            "returnParameters": {
              "id": 14832,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14831,
                  "mutability": "mutable",
                  "name": "bundle",
                  "nameLocation": "3920:6:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14833,
                  "src": "3898:28:42",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Bundle_$13298_memory_ptr",
                    "typeString": "struct IBundle.Bundle"
                  },
                  "typeName": {
                    "id": 14830,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14829,
                      "name": "IBundle.Bundle",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 13298,
                      "src": "3898:14:42"
                    },
                    "referencedDeclaration": 13298,
                    "src": "3898:14:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Bundle_$13298_storage_ptr",
                      "typeString": "struct IBundle.Bundle"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3897:30:42"
            },
            "scope": 14934,
            "src": "3839:89:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c559783e",
            "id": 14840,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "unburntBundles",
            "nameLocation": "3942:14:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14836,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14835,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "3965:10:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14840,
                  "src": "3957:18:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14834,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3957:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3956:20:42"
            },
            "returnParameters": {
              "id": 14839,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14838,
                  "mutability": "mutable",
                  "name": "numberOfUnburntBundles",
                  "nameLocation": "4007:22:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14840,
                  "src": "3999:30:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14837,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3999:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3998:32:42"
            },
            "scope": 14934,
            "src": "3933:98:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a427056e",
            "id": 14845,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processIds",
            "nameLocation": "4060:10:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14841,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4070:2:42"
            },
            "returnParameters": {
              "id": 14844,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14843,
                  "mutability": "mutable",
                  "name": "numberOfProcessIds",
                  "nameLocation": "4103:18:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14845,
                  "src": "4095:26:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14842,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4095:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4094:28:42"
            },
            "scope": 14934,
            "src": "4051:72:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a5961b4c",
            "id": 14853,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getMetadata",
            "nameLocation": "4137:11:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14848,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14847,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4157:9:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14853,
                  "src": "4149:17:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14846,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4149:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4148:19:42"
            },
            "returnParameters": {
              "id": 14852,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14851,
                  "mutability": "mutable",
                  "name": "metadata",
                  "nameLocation": "4214:8:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14853,
                  "src": "4190:32:42",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Metadata_$12464_memory_ptr",
                    "typeString": "struct IPolicy.Metadata"
                  },
                  "typeName": {
                    "id": 14850,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14849,
                      "name": "IPolicy.Metadata",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 12464,
                      "src": "4190:16:42"
                    },
                    "referencedDeclaration": 12464,
                    "src": "4190:16:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Metadata_$12464_storage_ptr",
                      "typeString": "struct IPolicy.Metadata"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4189:34:42"
            },
            "scope": 14934,
            "src": "4128:96:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "bc506f64",
            "id": 14861,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getApplication",
            "nameLocation": "4238:14:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14856,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14855,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4261:9:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14861,
                  "src": "4253:17:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14854,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4253:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4252:19:42"
            },
            "returnParameters": {
              "id": 14860,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14859,
                  "mutability": "mutable",
                  "name": "application",
                  "nameLocation": "4321:11:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14861,
                  "src": "4294:38:42",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Application_$12478_memory_ptr",
                    "typeString": "struct IPolicy.Application"
                  },
                  "typeName": {
                    "id": 14858,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14857,
                      "name": "IPolicy.Application",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 12478,
                      "src": "4294:19:42"
                    },
                    "referencedDeclaration": 12478,
                    "src": "4294:19:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Application_$12478_storage_ptr",
                      "typeString": "struct IPolicy.Application"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4293:40:42"
            },
            "scope": 14934,
            "src": "4229:105:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a3f685f9",
            "id": 14869,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getPolicy",
            "nameLocation": "4348:9:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14864,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14863,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4366:9:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14869,
                  "src": "4358:17:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14862,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4358:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4357:19:42"
            },
            "returnParameters": {
              "id": 14868,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14867,
                  "mutability": "mutable",
                  "name": "policy",
                  "nameLocation": "4421:6:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14869,
                  "src": "4399:28:42",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Policy_$12498_memory_ptr",
                    "typeString": "struct IPolicy.Policy"
                  },
                  "typeName": {
                    "id": 14866,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14865,
                      "name": "IPolicy.Policy",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 12498,
                      "src": "4399:14:42"
                    },
                    "referencedDeclaration": 12498,
                    "src": "4399:14:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Policy_$12498_storage_ptr",
                      "typeString": "struct IPolicy.Policy"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4398:30:42"
            },
            "scope": 14934,
            "src": "4339:90:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "eff0f592",
            "id": 14876,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "claims",
            "nameLocation": "4443:6:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14872,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14871,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4458:9:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14876,
                  "src": "4450:17:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14870,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4450:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4449:19:42"
            },
            "returnParameters": {
              "id": 14875,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14874,
                  "mutability": "mutable",
                  "name": "numberOfClaims",
                  "nameLocation": "4499:14:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14876,
                  "src": "4491:22:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14873,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4491:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4490:24:42"
            },
            "scope": 14934,
            "src": "4434:81:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "aeddb905",
            "id": 14883,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "payouts",
            "nameLocation": "4529:7:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14879,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14878,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4545:9:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14883,
                  "src": "4537:17:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14877,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4537:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4536:19:42"
            },
            "returnParameters": {
              "id": 14882,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14881,
                  "mutability": "mutable",
                  "name": "numberOfPayouts",
                  "nameLocation": "4586:15:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14883,
                  "src": "4578:23:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14880,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4578:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4577:25:42"
            },
            "scope": 14934,
            "src": "4520:83:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "7f22c2d9",
            "id": 14893,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getClaim",
            "nameLocation": "4618:8:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14888,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14885,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4635:9:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14893,
                  "src": "4627:17:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14884,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4627:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14887,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "4654:7:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14893,
                  "src": "4646:15:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14886,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4646:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4626:36:42"
            },
            "returnParameters": {
              "id": 14892,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14891,
                  "mutability": "mutable",
                  "name": "claim",
                  "nameLocation": "4707:5:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14893,
                  "src": "4686:26:42",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Claim_$12512_memory_ptr",
                    "typeString": "struct IPolicy.Claim"
                  },
                  "typeName": {
                    "id": 14890,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14889,
                      "name": "IPolicy.Claim",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 12512,
                      "src": "4686:13:42"
                    },
                    "referencedDeclaration": 12512,
                    "src": "4686:13:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Claim_$12512_storage_ptr",
                      "typeString": "struct IPolicy.Claim"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4685:28:42"
            },
            "scope": 14934,
            "src": "4609:105:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "cef58f13",
            "id": 14903,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getPayout",
            "nameLocation": "4728:9:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14898,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14895,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4746:9:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14903,
                  "src": "4738:17:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 14894,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4738:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14897,
                  "mutability": "mutable",
                  "name": "payoutId",
                  "nameLocation": "4765:8:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14903,
                  "src": "4757:16:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14896,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4757:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4737:37:42"
            },
            "returnParameters": {
              "id": 14902,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14901,
                  "mutability": "mutable",
                  "name": "payout",
                  "nameLocation": "4820:6:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14903,
                  "src": "4798:28:42",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Payout_$12526_memory_ptr",
                    "typeString": "struct IPolicy.Payout"
                  },
                  "typeName": {
                    "id": 14900,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14899,
                      "name": "IPolicy.Payout",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 12526,
                      "src": "4798:14:42"
                    },
                    "referencedDeclaration": 12526,
                    "src": "4798:14:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Payout_$12526_storage_ptr",
                      "typeString": "struct IPolicy.Payout"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4797:30:42"
            },
            "scope": 14934,
            "src": "4719:109:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "e0024604",
            "id": 14908,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getTreasuryAddress",
            "nameLocation": "4859:18:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14904,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4877:2:42"
            },
            "returnParameters": {
              "id": 14907,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14906,
                  "mutability": "mutable",
                  "name": "treasuryAddress",
                  "nameLocation": "4910:15:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14908,
                  "src": "4902:23:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14905,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4902:7:42",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4901:25:42"
            },
            "scope": 14934,
            "src": "4850:77:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a44330c4",
            "id": 14913,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getInstanceWallet",
            "nameLocation": "4943:17:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14909,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4960:2:42"
            },
            "returnParameters": {
              "id": 14912,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14911,
                  "mutability": "mutable",
                  "name": "walletAddress",
                  "nameLocation": "4993:13:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14913,
                  "src": "4985:21:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14910,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4985:7:42",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4984:23:42"
            },
            "scope": 14934,
            "src": "4934:74:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "49081637",
            "id": 14920,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getRiskpoolWallet",
            "nameLocation": "5022:17:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14916,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14915,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "5048:10:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14920,
                  "src": "5040:18:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14914,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5040:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5039:20:42"
            },
            "returnParameters": {
              "id": 14919,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14918,
                  "mutability": "mutable",
                  "name": "walletAddress",
                  "nameLocation": "5090:13:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14920,
                  "src": "5082:21:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14917,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5082:7:42",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5081:23:42"
            },
            "scope": 14934,
            "src": "5013:92:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "038696bb",
            "id": 14928,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentToken",
            "nameLocation": "5121:17:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14923,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14922,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "5147:11:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14928,
                  "src": "5139:19:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14921,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5139:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5138:21:42"
            },
            "returnParameters": {
              "id": 14927,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14926,
                  "mutability": "mutable",
                  "name": "token",
                  "nameLocation": "5189:5:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14928,
                  "src": "5182:12:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IERC20_$15820",
                    "typeString": "contract IERC20"
                  },
                  "typeName": {
                    "id": 14925,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 14924,
                      "name": "IERC20",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 15820,
                      "src": "5182:6:42"
                    },
                    "referencedDeclaration": 15820,
                    "src": "5182:6:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IERC20_$15820",
                      "typeString": "contract IERC20"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5181:14:42"
            },
            "scope": 14934,
            "src": "5112:84:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6319112b",
            "id": 14933,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getFeeFractionFullUnit",
            "nameLocation": "5210:22:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14929,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5232:2:42"
            },
            "returnParameters": {
              "id": 14932,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14931,
                  "mutability": "mutable",
                  "name": "fullUnit",
                  "nameLocation": "5265:8:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 14933,
                  "src": "5257:16:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14930,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5257:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5256:18:42"
            },
            "scope": 14934,
            "src": "5201:74:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 14935,
        "src": "530:4748:42"
      }
    ],
    "src": "39:5240:42"
  },
  "bytecode": "",
  "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.2+commit.661d1103"
  },
  "contractName": "IInstanceService",
  "coverageMap": {
    "branches": {},
    "statements": {}
  },
  "dependencies": [
    "etherisc/gif-interface@3b0002a/IBundleToken",
    "etherisc/gif-interface@3b0002a/IComponent",
    "etherisc/gif-interface@3b0002a/IComponentOwnerService",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/IERC165",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/IERC20",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/IERC721",
    "etherisc/gif-interface@3b0002a/IInstanceOperatorService",
    "etherisc/gif-interface@3b0002a/IOracleService",
    "etherisc/gif-interface@3b0002a/IProductService",
    "etherisc/gif-interface@3b0002a/IRegistry",
    "etherisc/gif-interface@3b0002a/IRiskpoolService"
  ],
  "deployedBytecode": "",
  "deployedSourceMap": "",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "offset": [
    530,
    5278
  ],
  "opcodes": "",
  "pcMap": {},
  "sha1": "a6ad1c32058b44b6f99d00b274af2bff3da44462",
  "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.2;\n\nimport \"../components/IComponent.sol\";\nimport \"../modules/IBundle.sol\";\nimport \"../modules/IPolicy.sol\";\nimport \"../modules/IPool.sol\";\nimport \"../tokens/IBundleToken.sol\";\nimport \"./IComponentOwnerService.sol\";\nimport \"./IInstanceOperatorService.sol\";\nimport \"./IOracleService.sol\";\nimport \"./IProductService.sol\";\nimport \"./IRiskpoolService.sol\";\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\n\ninterface IInstanceService {\n\n    // instance\n    function getChainId() external view returns(uint256 chainId);\n    function getChainName() external view returns(string memory chainName);\n    function getInstanceId() external view returns(bytes32 instanceId);\n    function getInstanceOperator() external view returns(address instanceOperator);\n\n    // registry\n    function getComponentOwnerService() external view returns(IComponentOwnerService service);\n    function getInstanceOperatorService() external view returns(IInstanceOperatorService service);\n    function getOracleService() external view returns(IOracleService service);\n    function getProductService() external view returns(IProductService service);\n    function getRiskpoolService() external view returns(IRiskpoolService service);\n    function contracts() external view returns (uint256 numberOfContracts);\n    function contractName(uint256 idx) external view returns (bytes32 name);\n\n    // access\n    function getDefaultAdminRole() external view returns(bytes32 role);\n    function getProductOwnerRole() external view returns(bytes32 role);\n    function getOracleProviderRole() external view returns(bytes32 role);\n    function getRiskpoolKeeperRole() external view returns(bytes32 role);\n    function hasRole(bytes32 role, address principal) external view returns (bool roleIsAssigned);    \n\n    // component\n    function products() external view returns(uint256 numberOfProducts);\n    function oracles() external view returns(uint256 numberOfOracles);\n    function riskpools() external view returns(uint256 numberOfRiskpools);\n\n    function getComponentId(address componentAddress) external view returns(uint256 componentId);\n    function getComponent(uint256 componentId) external view returns(IComponent component);\n    function getComponentType(uint256 componentId) external view returns(IComponent.ComponentType componentType);\n    function getComponentState(uint256 componentId) external view returns(IComponent.ComponentState componentState);\n\n    // service staking\n    function getStakingRequirements(uint256 componentId) external view returns(bytes memory data);\n    function getStakedAssets(uint256 componentId) external view returns(bytes memory data);\n\n    // riskpool\n    function getRiskpool(uint256 riskpoolId) external view returns(IPool.Pool memory riskPool);\n    function getFullCollateralizationLevel() external view returns (uint256);\n    function getCapital(uint256 riskpoolId) external view returns(uint256 capitalAmount);\n    function getTotalValueLocked(uint256 riskpoolId) external view returns(uint256 totalValueLockedAmount);\n    function getCapacity(uint256 riskpoolId) external view returns(uint256 capacityAmount);\n    function getBalance(uint256 riskpoolId) external view returns(uint256 balanceAmount);\n\n    function activeBundles(uint256 riskpoolId) external view returns(uint256 numberOfActiveBundles);\n    function getActiveBundleId(uint256 riskpoolId, uint256 bundleIdx) external view returns(uint256 bundleId);\n    function getMaximumNumberOfActiveBundles(uint256 riskpoolId) external view returns(uint256 maximumNumberOfActiveBundles);\n\n    // bundles\n    function getBundleToken() external view returns(IBundleToken token);\n    function bundles() external view returns(uint256 numberOfBundles);\n    function getBundle(uint256 bundleId) external view returns(IBundle.Bundle memory bundle);\n    function unburntBundles(uint256 riskpoolId) external view returns(uint256 numberOfUnburntBundles);\n\n    // policy\n    function processIds() external view returns(uint256 numberOfProcessIds);\n    function getMetadata(bytes32 processId) external view returns(IPolicy.Metadata memory metadata);\n    function getApplication(bytes32 processId) external view returns(IPolicy.Application memory application);\n    function getPolicy(bytes32 processId) external view returns(IPolicy.Policy memory policy);\n    function claims(bytes32 processId) external view returns(uint256 numberOfClaims);\n    function payouts(bytes32 processId) external view returns(uint256 numberOfPayouts);\n\n    function getClaim(bytes32 processId, uint256 claimId) external view returns (IPolicy.Claim memory claim);\n    function getPayout(bytes32 processId, uint256 payoutId) external view returns (IPolicy.Payout memory payout);\n\n    // treasury\n    function getTreasuryAddress() external view returns(address treasuryAddress);\n \n    function getInstanceWallet() external view returns(address walletAddress);\n    function getRiskpoolWallet(uint256 riskpoolId) external view returns(address walletAddress);\n \n    function getComponentToken(uint256 componentId) external view returns(IERC20 token);\n    function getFeeFractionFullUnit() external view returns(uint256 fullUnit);\n\n}\n",
  "sourceMap": "",
  "sourcePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceService.sol",
  "type": "interface"
}