{
  "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": {
    "1": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/IERC20.sol",
    "2": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC721/IERC721.sol",
    "21": "contracts/modules/IRegistry.sol",
    "23": "contracts/services/IComponentOwnerService.sol",
    "24": "contracts/services/IInstanceOperatorService.sol",
    "25": "contracts/services/IInstanceService.sol",
    "26": "contracts/services/IOracleService.sol",
    "27": "contracts/services/IProductService.sol",
    "28": "contracts/services/IRiskpoolService.sol",
    "30": "contracts/tokens/IBundleToken.sol",
    "4": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/introspection/IERC165.sol",
    "7": "contracts/components/IComponent.sol"
  },
  "ast": {
    "absolutePath": "contracts/services/IInstanceService.sol",
    "exportedSymbols": {
      "IBundle": [
        2844
      ],
      "IBundleToken": [
        4649
      ],
      "IComponent": [
        812
      ],
      "IComponentOwnerService": [
        3833
      ],
      "IERC165": [
        4990
      ],
      "IERC20": [
        4956
      ],
      "IERC721": [
        4878
      ],
      "IInstanceOperatorService": [
        3984
      ],
      "IInstanceService": [
        4333
      ],
      "IOracleService": [
        4343
      ],
      "IPolicy": [
        3257
      ],
      "IPool": [
        3373
      ],
      "IProductService": [
        4488
      ],
      "IRegistry": [
        3538
      ],
      "IRiskpoolService": [
        4594
      ],
      "ITreasury": [
        3798
      ]
    },
    "id": 4334,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 3986,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:25"
      },
      {
        "absolutePath": "contracts/components/IComponent.sol",
        "file": "../components/IComponent.sol",
        "id": 3987,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4334,
        "sourceUnit": 813,
        "src": "63:38:25",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/modules/IBundle.sol",
        "file": "../modules/IBundle.sol",
        "id": 3988,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4334,
        "sourceUnit": 2845,
        "src": "102:32:25",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/modules/IPolicy.sol",
        "file": "../modules/IPolicy.sol",
        "id": 3989,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4334,
        "sourceUnit": 3258,
        "src": "135:32:25",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/modules/IPool.sol",
        "file": "../modules/IPool.sol",
        "id": 3990,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4334,
        "sourceUnit": 3374,
        "src": "168:30:25",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/tokens/IBundleToken.sol",
        "file": "../tokens/IBundleToken.sol",
        "id": 3991,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4334,
        "sourceUnit": 4650,
        "src": "199:36:25",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/services/IComponentOwnerService.sol",
        "file": "./IComponentOwnerService.sol",
        "id": 3992,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4334,
        "sourceUnit": 3834,
        "src": "236:38:25",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/services/IInstanceOperatorService.sol",
        "file": "./IInstanceOperatorService.sol",
        "id": 3993,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4334,
        "sourceUnit": 3985,
        "src": "275:40:25",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/services/IOracleService.sol",
        "file": "./IOracleService.sol",
        "id": 3994,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4334,
        "sourceUnit": 4344,
        "src": "316:30:25",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/services/IProductService.sol",
        "file": "./IProductService.sol",
        "id": 3995,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4334,
        "sourceUnit": 4489,
        "src": "347:31:25",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/services/IRiskpoolService.sol",
        "file": "./IRiskpoolService.sol",
        "id": 3996,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4334,
        "sourceUnit": 4595,
        "src": "379:32:25",
        "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": 3997,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4334,
        "sourceUnit": 4957,
        "src": "413:56:25",
        "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": 3998,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4334,
        "sourceUnit": 4879,
        "src": "470:58:25",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 4333,
        "linearizedBaseContracts": [
          4333
        ],
        "name": "IInstanceService",
        "nameLocation": "540:16:25",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "functionSelector": "3408e470",
            "id": 4003,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getChainId",
            "nameLocation": "589:10:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3999,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "599:2:25"
            },
            "returnParameters": {
              "id": 4002,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4001,
                  "mutability": "mutable",
                  "name": "chainId",
                  "nameLocation": "632:7:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4003,
                  "src": "624:15:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4000,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "624:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "623:17:25"
            },
            "scope": 4333,
            "src": "580:61:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "d722b0bc",
            "id": 4008,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getChainName",
            "nameLocation": "655:12:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4004,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "667:2:25"
            },
            "returnParameters": {
              "id": 4007,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4006,
                  "mutability": "mutable",
                  "name": "chainName",
                  "nameLocation": "706:9:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4008,
                  "src": "692:23:25",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4005,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "692:6:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "691:25:25"
            },
            "scope": 4333,
            "src": "646:71:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "1551100f",
            "id": 4013,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getInstanceId",
            "nameLocation": "731:13:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4009,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "744:2:25"
            },
            "returnParameters": {
              "id": 4012,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4011,
                  "mutability": "mutable",
                  "name": "instanceId",
                  "nameLocation": "777:10:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4013,
                  "src": "769:18:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4010,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "769:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "768:20:25"
            },
            "scope": 4333,
            "src": "722:67:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "39c6fa90",
            "id": 4018,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getInstanceOperator",
            "nameLocation": "803:19:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4014,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "822:2:25"
            },
            "returnParameters": {
              "id": 4017,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4016,
                  "mutability": "mutable",
                  "name": "instanceOperator",
                  "nameLocation": "855:16:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4018,
                  "src": "847:24:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4015,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "847:7:25",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "846:26:25"
            },
            "scope": 4333,
            "src": "794:79:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6fa29853",
            "id": 4024,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentOwnerService",
            "nameLocation": "904:24:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4019,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "928:2:25"
            },
            "returnParameters": {
              "id": 4023,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4022,
                  "mutability": "mutable",
                  "name": "service",
                  "nameLocation": "976:7:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4024,
                  "src": "953:30:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IComponentOwnerService_$3833",
                    "typeString": "contract IComponentOwnerService"
                  },
                  "typeName": {
                    "id": 4021,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4020,
                      "name": "IComponentOwnerService",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3833,
                      "src": "953:22:25"
                    },
                    "referencedDeclaration": 3833,
                    "src": "953:22:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponentOwnerService_$3833",
                      "typeString": "contract IComponentOwnerService"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "952:32:25"
            },
            "scope": 4333,
            "src": "895:90:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "091924dc",
            "id": 4030,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getInstanceOperatorService",
            "nameLocation": "999:26:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4025,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1025:2:25"
            },
            "returnParameters": {
              "id": 4029,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4028,
                  "mutability": "mutable",
                  "name": "service",
                  "nameLocation": "1075:7:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4030,
                  "src": "1050:32:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IInstanceOperatorService_$3984",
                    "typeString": "contract IInstanceOperatorService"
                  },
                  "typeName": {
                    "id": 4027,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4026,
                      "name": "IInstanceOperatorService",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3984,
                      "src": "1050:24:25"
                    },
                    "referencedDeclaration": 3984,
                    "src": "1050:24:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IInstanceOperatorService_$3984",
                      "typeString": "contract IInstanceOperatorService"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1049:34:25"
            },
            "scope": 4333,
            "src": "990:94:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a7ecda36",
            "id": 4036,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getOracleService",
            "nameLocation": "1098:16:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4031,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1114:2:25"
            },
            "returnParameters": {
              "id": 4035,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4034,
                  "mutability": "mutable",
                  "name": "service",
                  "nameLocation": "1154:7:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4036,
                  "src": "1139:22:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IOracleService_$4343",
                    "typeString": "contract IOracleService"
                  },
                  "typeName": {
                    "id": 4033,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4032,
                      "name": "IOracleService",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4343,
                      "src": "1139:14:25"
                    },
                    "referencedDeclaration": 4343,
                    "src": "1139:14:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IOracleService_$4343",
                      "typeString": "contract IOracleService"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1138:24:25"
            },
            "scope": 4333,
            "src": "1089:74:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4288121d",
            "id": 4042,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getProductService",
            "nameLocation": "1177:17:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4037,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1194:2:25"
            },
            "returnParameters": {
              "id": 4041,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4040,
                  "mutability": "mutable",
                  "name": "service",
                  "nameLocation": "1235:7:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4042,
                  "src": "1219:23:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IProductService_$4488",
                    "typeString": "contract IProductService"
                  },
                  "typeName": {
                    "id": 4039,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4038,
                      "name": "IProductService",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4488,
                      "src": "1219:15:25"
                    },
                    "referencedDeclaration": 4488,
                    "src": "1219:15:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IProductService_$4488",
                      "typeString": "contract IProductService"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1218:25:25"
            },
            "scope": 4333,
            "src": "1168:76:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "442ed817",
            "id": 4048,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getRiskpoolService",
            "nameLocation": "1258:18:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4043,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1276:2:25"
            },
            "returnParameters": {
              "id": 4047,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4046,
                  "mutability": "mutable",
                  "name": "service",
                  "nameLocation": "1318:7:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4048,
                  "src": "1301:24:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IRiskpoolService_$4594",
                    "typeString": "contract IRiskpoolService"
                  },
                  "typeName": {
                    "id": 4045,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4044,
                      "name": "IRiskpoolService",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4594,
                      "src": "1301:16:25"
                    },
                    "referencedDeclaration": 4594,
                    "src": "1301:16:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IRiskpoolService_$4594",
                      "typeString": "contract IRiskpoolService"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1300:26:25"
            },
            "scope": 4333,
            "src": "1249:78:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6c0f79b6",
            "id": 4053,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "contracts",
            "nameLocation": "1341:9:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4049,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1350:2:25"
            },
            "returnParameters": {
              "id": 4052,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4051,
                  "mutability": "mutable",
                  "name": "numberOfContracts",
                  "nameLocation": "1384:17:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4053,
                  "src": "1376:25:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4050,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1376:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1375:27:25"
            },
            "scope": 4333,
            "src": "1332:71:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "f6b3e7d0",
            "id": 4060,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "contractName",
            "nameLocation": "1417:12:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4056,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4055,
                  "mutability": "mutable",
                  "name": "idx",
                  "nameLocation": "1438:3:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4060,
                  "src": "1430:11:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4054,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1430:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1429:13:25"
            },
            "returnParameters": {
              "id": 4059,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4058,
                  "mutability": "mutable",
                  "name": "name",
                  "nameLocation": "1474:4:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4060,
                  "src": "1466:12:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4057,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1466:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1465:14:25"
            },
            "scope": 4333,
            "src": "1408:72:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "52a9c8d7",
            "id": 4065,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getDefaultAdminRole",
            "nameLocation": "1509:19:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4061,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1528:2:25"
            },
            "returnParameters": {
              "id": 4064,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4063,
                  "mutability": "mutable",
                  "name": "role",
                  "nameLocation": "1561:4:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4065,
                  "src": "1553:12:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4062,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1553:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1552:14:25"
            },
            "scope": 4333,
            "src": "1500:67:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "775a4048",
            "id": 4070,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getProductOwnerRole",
            "nameLocation": "1581:19:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4066,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1600:2:25"
            },
            "returnParameters": {
              "id": 4069,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4068,
                  "mutability": "mutable",
                  "name": "role",
                  "nameLocation": "1633:4:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4070,
                  "src": "1625:12:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4067,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1625:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1624:14:25"
            },
            "scope": 4333,
            "src": "1572:67:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "d49d21c0",
            "id": 4075,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getOracleProviderRole",
            "nameLocation": "1653:21:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4071,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1674:2:25"
            },
            "returnParameters": {
              "id": 4074,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4073,
                  "mutability": "mutable",
                  "name": "role",
                  "nameLocation": "1707:4:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4075,
                  "src": "1699:12:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4072,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1699:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1698:14:25"
            },
            "scope": 4333,
            "src": "1644:69:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "3ffdd2f3",
            "id": 4080,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getRiskpoolKeeperRole",
            "nameLocation": "1727:21:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4076,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1748:2:25"
            },
            "returnParameters": {
              "id": 4079,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4078,
                  "mutability": "mutable",
                  "name": "role",
                  "nameLocation": "1781:4:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4080,
                  "src": "1773:12:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4077,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1773:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1772:14:25"
            },
            "scope": 4333,
            "src": "1718:69:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "91d14854",
            "id": 4089,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "hasRole",
            "nameLocation": "1801:7:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4085,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4082,
                  "mutability": "mutable",
                  "name": "role",
                  "nameLocation": "1817:4:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4089,
                  "src": "1809:12:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4081,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1809:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4084,
                  "mutability": "mutable",
                  "name": "principal",
                  "nameLocation": "1831:9:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4089,
                  "src": "1823:17:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4083,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1823:7:25",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1808:33:25"
            },
            "returnParameters": {
              "id": 4088,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4087,
                  "mutability": "mutable",
                  "name": "roleIsAssigned",
                  "nameLocation": "1870:14:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4089,
                  "src": "1865:19:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 4086,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1865:4:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1864:21:25"
            },
            "scope": 4333,
            "src": "1792:94:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c71e261f",
            "id": 4094,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "products",
            "nameLocation": "1922:8:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4090,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1930:2:25"
            },
            "returnParameters": {
              "id": 4093,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4092,
                  "mutability": "mutable",
                  "name": "numberOfProducts",
                  "nameLocation": "1963:16:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4094,
                  "src": "1955:24:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4091,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1955:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1954:26:25"
            },
            "scope": 4333,
            "src": "1913:68:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2857373a",
            "id": 4099,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "oracles",
            "nameLocation": "1995:7:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4095,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2002:2:25"
            },
            "returnParameters": {
              "id": 4098,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4097,
                  "mutability": "mutable",
                  "name": "numberOfOracles",
                  "nameLocation": "2035:15:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4099,
                  "src": "2027:23:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4096,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2027:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2026:25:25"
            },
            "scope": 4333,
            "src": "1986:66:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a054381f",
            "id": 4104,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "riskpools",
            "nameLocation": "2066:9:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4100,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2075:2:25"
            },
            "returnParameters": {
              "id": 4103,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4102,
                  "mutability": "mutable",
                  "name": "numberOfRiskpools",
                  "nameLocation": "2108:17:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4104,
                  "src": "2100:25:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4101,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2100:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2099:27:25"
            },
            "scope": 4333,
            "src": "2057:70:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2b1c7f73",
            "id": 4111,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentId",
            "nameLocation": "2142:14:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4107,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4106,
                  "mutability": "mutable",
                  "name": "componentAddress",
                  "nameLocation": "2165:16:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4111,
                  "src": "2157:24:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4105,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2157:7:25",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2156:26:25"
            },
            "returnParameters": {
              "id": 4110,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4109,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "2213:11:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4111,
                  "src": "2205:19:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4108,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2205:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2204:21:25"
            },
            "scope": 4333,
            "src": "2133:93:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4f27da18",
            "id": 4119,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getComponent",
            "nameLocation": "2240:12:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4114,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4113,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "2261:11:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4119,
                  "src": "2253:19:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4112,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2253:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2252:21:25"
            },
            "returnParameters": {
              "id": 4118,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4117,
                  "mutability": "mutable",
                  "name": "component",
                  "nameLocation": "2307:9:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4119,
                  "src": "2296:20:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IComponent_$812",
                    "typeString": "contract IComponent"
                  },
                  "typeName": {
                    "id": 4116,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4115,
                      "name": "IComponent",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 812,
                      "src": "2296:10:25"
                    },
                    "referencedDeclaration": 812,
                    "src": "2296:10:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IComponent_$812",
                      "typeString": "contract IComponent"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2295:22:25"
            },
            "scope": 4333,
            "src": "2231:87:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "dd51c86a",
            "id": 4127,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentType",
            "nameLocation": "2332:16:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4122,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4121,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "2357:11:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4127,
                  "src": "2349:19:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4120,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2349:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2348:21:25"
            },
            "returnParameters": {
              "id": 4126,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4125,
                  "mutability": "mutable",
                  "name": "componentType",
                  "nameLocation": "2417:13:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4127,
                  "src": "2392:38:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentType_$715",
                    "typeString": "enum IComponent.ComponentType"
                  },
                  "typeName": {
                    "id": 4124,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4123,
                      "name": "IComponent.ComponentType",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 715,
                      "src": "2392:24:25"
                    },
                    "referencedDeclaration": 715,
                    "src": "2392:24:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentType_$715",
                      "typeString": "enum IComponent.ComponentType"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2391:40:25"
            },
            "scope": 4333,
            "src": "2323:109:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "5e966e45",
            "id": 4135,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentState",
            "nameLocation": "2446:17:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4130,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4129,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "2472:11:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4135,
                  "src": "2464:19:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4128,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2464:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2463:21:25"
            },
            "returnParameters": {
              "id": 4134,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4133,
                  "mutability": "mutable",
                  "name": "componentState",
                  "nameLocation": "2533:14:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4135,
                  "src": "2507:40:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComponentState_$723",
                    "typeString": "enum IComponent.ComponentState"
                  },
                  "typeName": {
                    "id": 4132,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4131,
                      "name": "IComponent.ComponentState",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 723,
                      "src": "2507:25:25"
                    },
                    "referencedDeclaration": 723,
                    "src": "2507:25:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ComponentState_$723",
                      "typeString": "enum IComponent.ComponentState"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2506:42:25"
            },
            "scope": 4333,
            "src": "2437:112:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "ab9c6ee4",
            "id": 4142,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getStakingRequirements",
            "nameLocation": "2587:22:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4138,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4137,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "2618:11:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4142,
                  "src": "2610:19:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4136,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2610:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2609:21:25"
            },
            "returnParameters": {
              "id": 4141,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4140,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "2666:4:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4142,
                  "src": "2653:17:25",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 4139,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2653:5:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2652:19:25"
            },
            "scope": 4333,
            "src": "2578:94:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "3a42b053",
            "id": 4149,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getStakedAssets",
            "nameLocation": "2686:15:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4145,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4144,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "2710:11:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4149,
                  "src": "2702:19:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4143,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2702:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2701:21:25"
            },
            "returnParameters": {
              "id": 4148,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4147,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "2758:4:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4149,
                  "src": "2745:17:25",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 4146,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2745:5:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2744:19:25"
            },
            "scope": 4333,
            "src": "2677:87:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "eb802114",
            "id": 4157,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getRiskpool",
            "nameLocation": "2795:11:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4152,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4151,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "2815:10:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4157,
                  "src": "2807:18:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4150,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2807:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2806:20:25"
            },
            "returnParameters": {
              "id": 4156,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4155,
                  "mutability": "mutable",
                  "name": "riskPool",
                  "nameLocation": "2867:8:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4157,
                  "src": "2849:26:25",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Pool_$3326_memory_ptr",
                    "typeString": "struct IPool.Pool"
                  },
                  "typeName": {
                    "id": 4154,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4153,
                      "name": "IPool.Pool",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3326,
                      "src": "2849:10:25"
                    },
                    "referencedDeclaration": 3326,
                    "src": "2849:10:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Pool_$3326_storage_ptr",
                      "typeString": "struct IPool.Pool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2848:28:25"
            },
            "scope": 4333,
            "src": "2786:91:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "f1d354d0",
            "id": 4162,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getFullCollateralizationLevel",
            "nameLocation": "2891:29:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4158,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2920:2:25"
            },
            "returnParameters": {
              "id": 4161,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4160,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4162,
                  "src": "2946:7:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4159,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2946:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2945:9:25"
            },
            "scope": 4333,
            "src": "2882:73:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "29560980",
            "id": 4169,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCapital",
            "nameLocation": "2969:10:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4165,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4164,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "2988:10:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4169,
                  "src": "2980:18:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4163,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2980:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2979:20:25"
            },
            "returnParameters": {
              "id": 4168,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4167,
                  "mutability": "mutable",
                  "name": "capitalAmount",
                  "nameLocation": "3030:13:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4169,
                  "src": "3022:21:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4166,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3022:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3021:23:25"
            },
            "scope": 4333,
            "src": "2960:85:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "3f5d9235",
            "id": 4176,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getTotalValueLocked",
            "nameLocation": "3059:19:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4172,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4171,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "3087:10:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4176,
                  "src": "3079:18:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4170,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3079:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3078:20:25"
            },
            "returnParameters": {
              "id": 4175,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4174,
                  "mutability": "mutable",
                  "name": "totalValueLockedAmount",
                  "nameLocation": "3129:22:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4176,
                  "src": "3121:30:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4173,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3121:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3120:32:25"
            },
            "scope": 4333,
            "src": "3050:103:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "bcd5349f",
            "id": 4183,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCapacity",
            "nameLocation": "3167:11:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4179,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4178,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "3187:10:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4183,
                  "src": "3179:18:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4177,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3179:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3178:20:25"
            },
            "returnParameters": {
              "id": 4182,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4181,
                  "mutability": "mutable",
                  "name": "capacityAmount",
                  "nameLocation": "3229:14:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4183,
                  "src": "3221:22:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4180,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3221:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3220:24:25"
            },
            "scope": 4333,
            "src": "3158:87:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "1e010439",
            "id": 4190,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getBalance",
            "nameLocation": "3259:10:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4186,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4185,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "3278:10:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4190,
                  "src": "3270:18:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4184,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3270:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3269:20:25"
            },
            "returnParameters": {
              "id": 4189,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4188,
                  "mutability": "mutable",
                  "name": "balanceAmount",
                  "nameLocation": "3320:13:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4190,
                  "src": "3312:21:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4187,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3312:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3311:23:25"
            },
            "scope": 4333,
            "src": "3250:85:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a4266a66",
            "id": 4197,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "activeBundles",
            "nameLocation": "3350:13:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4193,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4192,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "3372:10:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4197,
                  "src": "3364:18:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4191,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3364:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3363:20:25"
            },
            "returnParameters": {
              "id": 4196,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4195,
                  "mutability": "mutable",
                  "name": "numberOfActiveBundles",
                  "nameLocation": "3414:21:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4197,
                  "src": "3406:29:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4194,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3406:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3405:31:25"
            },
            "scope": 4333,
            "src": "3341:96:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "ec833b0c",
            "id": 4206,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getActiveBundleId",
            "nameLocation": "3451:17:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4202,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4199,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "3477:10:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4206,
                  "src": "3469:18:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4198,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3469:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4201,
                  "mutability": "mutable",
                  "name": "bundleIdx",
                  "nameLocation": "3497:9:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4206,
                  "src": "3489:17:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4200,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3489:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3468:39:25"
            },
            "returnParameters": {
              "id": 4205,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4204,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "3538:8:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4206,
                  "src": "3530:16:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4203,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3530:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3529:18:25"
            },
            "scope": 4333,
            "src": "3442:106:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "7db32844",
            "id": 4213,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getMaximumNumberOfActiveBundles",
            "nameLocation": "3562:31:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4209,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4208,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "3602:10:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4213,
                  "src": "3594:18:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4207,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3594:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3593:20:25"
            },
            "returnParameters": {
              "id": 4212,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4211,
                  "mutability": "mutable",
                  "name": "maximumNumberOfActiveBundles",
                  "nameLocation": "3644:28:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4213,
                  "src": "3636:36:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4210,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3636:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3635:38:25"
            },
            "scope": 4333,
            "src": "3553:121:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "eb35783c",
            "id": 4219,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getBundleToken",
            "nameLocation": "3704:14:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4214,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3718:2:25"
            },
            "returnParameters": {
              "id": 4218,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4217,
                  "mutability": "mutable",
                  "name": "token",
                  "nameLocation": "3756:5:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4219,
                  "src": "3743:18:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IBundleToken_$4649",
                    "typeString": "contract IBundleToken"
                  },
                  "typeName": {
                    "id": 4216,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4215,
                      "name": "IBundleToken",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4649,
                      "src": "3743:12:25"
                    },
                    "referencedDeclaration": 4649,
                    "src": "3743:12:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IBundleToken_$4649",
                      "typeString": "contract IBundleToken"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3742:20:25"
            },
            "scope": 4333,
            "src": "3695:68:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "18442e63",
            "id": 4224,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "bundles",
            "nameLocation": "3777:7:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4220,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3784:2:25"
            },
            "returnParameters": {
              "id": 4223,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4222,
                  "mutability": "mutable",
                  "name": "numberOfBundles",
                  "nameLocation": "3817:15:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4224,
                  "src": "3809:23:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4221,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3809:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3808:25:25"
            },
            "scope": 4333,
            "src": "3768:66:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2d0821b7",
            "id": 4232,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getBundle",
            "nameLocation": "3848:9:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4227,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4226,
                  "mutability": "mutable",
                  "name": "bundleId",
                  "nameLocation": "3866:8:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4232,
                  "src": "3858:16:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4225,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3858:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3857:18:25"
            },
            "returnParameters": {
              "id": 4231,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4230,
                  "mutability": "mutable",
                  "name": "bundle",
                  "nameLocation": "3920:6:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4232,
                  "src": "3898:28:25",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Bundle_$2760_memory_ptr",
                    "typeString": "struct IBundle.Bundle"
                  },
                  "typeName": {
                    "id": 4229,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4228,
                      "name": "IBundle.Bundle",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2760,
                      "src": "3898:14:25"
                    },
                    "referencedDeclaration": 2760,
                    "src": "3898:14:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Bundle_$2760_storage_ptr",
                      "typeString": "struct IBundle.Bundle"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3897:30:25"
            },
            "scope": 4333,
            "src": "3839:89:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c559783e",
            "id": 4239,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "unburntBundles",
            "nameLocation": "3942:14:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4235,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4234,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "3965:10:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4239,
                  "src": "3957:18:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4233,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3957:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3956:20:25"
            },
            "returnParameters": {
              "id": 4238,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4237,
                  "mutability": "mutable",
                  "name": "numberOfUnburntBundles",
                  "nameLocation": "4007:22:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4239,
                  "src": "3999:30:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4236,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3999:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3998:32:25"
            },
            "scope": 4333,
            "src": "3933:98:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a427056e",
            "id": 4244,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processIds",
            "nameLocation": "4060:10:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4240,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4070:2:25"
            },
            "returnParameters": {
              "id": 4243,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4242,
                  "mutability": "mutable",
                  "name": "numberOfProcessIds",
                  "nameLocation": "4103:18:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4244,
                  "src": "4095:26:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4241,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4095:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4094:28:25"
            },
            "scope": 4333,
            "src": "4051:72:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a5961b4c",
            "id": 4252,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getMetadata",
            "nameLocation": "4137:11:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4247,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4246,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4157:9:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4252,
                  "src": "4149:17:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4245,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4149:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4148:19:25"
            },
            "returnParameters": {
              "id": 4251,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4250,
                  "mutability": "mutable",
                  "name": "metadata",
                  "nameLocation": "4214:8:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4252,
                  "src": "4190:32:25",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Metadata_$3072_memory_ptr",
                    "typeString": "struct IPolicy.Metadata"
                  },
                  "typeName": {
                    "id": 4249,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4248,
                      "name": "IPolicy.Metadata",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3072,
                      "src": "4190:16:25"
                    },
                    "referencedDeclaration": 3072,
                    "src": "4190:16:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Metadata_$3072_storage_ptr",
                      "typeString": "struct IPolicy.Metadata"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4189:34:25"
            },
            "scope": 4333,
            "src": "4128:96:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "bc506f64",
            "id": 4260,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getApplication",
            "nameLocation": "4238:14:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4255,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4254,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4261:9:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4260,
                  "src": "4253:17:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4253,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4253:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4252:19:25"
            },
            "returnParameters": {
              "id": 4259,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4258,
                  "mutability": "mutable",
                  "name": "application",
                  "nameLocation": "4321:11:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4260,
                  "src": "4294:38:25",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Application_$3086_memory_ptr",
                    "typeString": "struct IPolicy.Application"
                  },
                  "typeName": {
                    "id": 4257,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4256,
                      "name": "IPolicy.Application",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3086,
                      "src": "4294:19:25"
                    },
                    "referencedDeclaration": 3086,
                    "src": "4294:19:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Application_$3086_storage_ptr",
                      "typeString": "struct IPolicy.Application"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4293:40:25"
            },
            "scope": 4333,
            "src": "4229:105:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a3f685f9",
            "id": 4268,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getPolicy",
            "nameLocation": "4348:9:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4263,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4262,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4366:9:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4268,
                  "src": "4358:17:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4261,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4358:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4357:19:25"
            },
            "returnParameters": {
              "id": 4267,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4266,
                  "mutability": "mutable",
                  "name": "policy",
                  "nameLocation": "4421:6:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4268,
                  "src": "4399:28:25",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Policy_$3106_memory_ptr",
                    "typeString": "struct IPolicy.Policy"
                  },
                  "typeName": {
                    "id": 4265,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4264,
                      "name": "IPolicy.Policy",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3106,
                      "src": "4399:14:25"
                    },
                    "referencedDeclaration": 3106,
                    "src": "4399:14:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Policy_$3106_storage_ptr",
                      "typeString": "struct IPolicy.Policy"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4398:30:25"
            },
            "scope": 4333,
            "src": "4339:90:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "eff0f592",
            "id": 4275,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "claims",
            "nameLocation": "4443:6:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4271,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4270,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4458:9:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4275,
                  "src": "4450:17:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4269,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4450:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4449:19:25"
            },
            "returnParameters": {
              "id": 4274,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4273,
                  "mutability": "mutable",
                  "name": "numberOfClaims",
                  "nameLocation": "4499:14:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4275,
                  "src": "4491:22:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4272,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4491:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4490:24:25"
            },
            "scope": 4333,
            "src": "4434:81:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "aeddb905",
            "id": 4282,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "payouts",
            "nameLocation": "4529:7:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4278,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4277,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4545:9:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4282,
                  "src": "4537:17:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4276,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4537:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4536:19:25"
            },
            "returnParameters": {
              "id": 4281,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4280,
                  "mutability": "mutable",
                  "name": "numberOfPayouts",
                  "nameLocation": "4586:15:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4282,
                  "src": "4578:23:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4279,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4578:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4577:25:25"
            },
            "scope": 4333,
            "src": "4520:83:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "7f22c2d9",
            "id": 4292,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getClaim",
            "nameLocation": "4618:8:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4287,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4284,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4635:9:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4292,
                  "src": "4627:17:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4283,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4627:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4286,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "4654:7:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4292,
                  "src": "4646:15:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4285,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4646:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4626:36:25"
            },
            "returnParameters": {
              "id": 4291,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4290,
                  "mutability": "mutable",
                  "name": "claim",
                  "nameLocation": "4707:5:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4292,
                  "src": "4686:26:25",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Claim_$3120_memory_ptr",
                    "typeString": "struct IPolicy.Claim"
                  },
                  "typeName": {
                    "id": 4289,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4288,
                      "name": "IPolicy.Claim",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3120,
                      "src": "4686:13:25"
                    },
                    "referencedDeclaration": 3120,
                    "src": "4686:13:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Claim_$3120_storage_ptr",
                      "typeString": "struct IPolicy.Claim"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4685:28:25"
            },
            "scope": 4333,
            "src": "4609:105:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "cef58f13",
            "id": 4302,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getPayout",
            "nameLocation": "4728:9:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4297,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4294,
                  "mutability": "mutable",
                  "name": "processId",
                  "nameLocation": "4746:9:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4302,
                  "src": "4738:17:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4293,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4738:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4296,
                  "mutability": "mutable",
                  "name": "payoutId",
                  "nameLocation": "4765:8:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4302,
                  "src": "4757:16:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4295,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4757:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4737:37:25"
            },
            "returnParameters": {
              "id": 4301,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4300,
                  "mutability": "mutable",
                  "name": "payout",
                  "nameLocation": "4820:6:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4302,
                  "src": "4798:28:25",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Payout_$3134_memory_ptr",
                    "typeString": "struct IPolicy.Payout"
                  },
                  "typeName": {
                    "id": 4299,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4298,
                      "name": "IPolicy.Payout",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 3134,
                      "src": "4798:14:25"
                    },
                    "referencedDeclaration": 3134,
                    "src": "4798:14:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Payout_$3134_storage_ptr",
                      "typeString": "struct IPolicy.Payout"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4797:30:25"
            },
            "scope": 4333,
            "src": "4719:109:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "e0024604",
            "id": 4307,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getTreasuryAddress",
            "nameLocation": "4859:18:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4303,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4877:2:25"
            },
            "returnParameters": {
              "id": 4306,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4305,
                  "mutability": "mutable",
                  "name": "treasuryAddress",
                  "nameLocation": "4910:15:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4307,
                  "src": "4902:23:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4304,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4902:7:25",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4901:25:25"
            },
            "scope": 4333,
            "src": "4850:77:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a44330c4",
            "id": 4312,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getInstanceWallet",
            "nameLocation": "4943:17:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4308,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4960:2:25"
            },
            "returnParameters": {
              "id": 4311,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4310,
                  "mutability": "mutable",
                  "name": "walletAddress",
                  "nameLocation": "4993:13:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4312,
                  "src": "4985:21:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4309,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4985:7:25",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4984:23:25"
            },
            "scope": 4333,
            "src": "4934:74:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "49081637",
            "id": 4319,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getRiskpoolWallet",
            "nameLocation": "5022:17:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4315,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4314,
                  "mutability": "mutable",
                  "name": "riskpoolId",
                  "nameLocation": "5048:10:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4319,
                  "src": "5040:18:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4313,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5040:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5039:20:25"
            },
            "returnParameters": {
              "id": 4318,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4317,
                  "mutability": "mutable",
                  "name": "walletAddress",
                  "nameLocation": "5090:13:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4319,
                  "src": "5082:21:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4316,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5082:7:25",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5081:23:25"
            },
            "scope": 4333,
            "src": "5013:92:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "038696bb",
            "id": 4327,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getComponentToken",
            "nameLocation": "5121:17:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4322,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4321,
                  "mutability": "mutable",
                  "name": "componentId",
                  "nameLocation": "5147:11:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4327,
                  "src": "5139:19:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4320,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5139:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5138:21:25"
            },
            "returnParameters": {
              "id": 4326,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4325,
                  "mutability": "mutable",
                  "name": "token",
                  "nameLocation": "5189:5:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4327,
                  "src": "5182:12:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IERC20_$4956",
                    "typeString": "contract IERC20"
                  },
                  "typeName": {
                    "id": 4324,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4323,
                      "name": "IERC20",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4956,
                      "src": "5182:6:25"
                    },
                    "referencedDeclaration": 4956,
                    "src": "5182:6:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IERC20_$4956",
                      "typeString": "contract IERC20"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5181:14:25"
            },
            "scope": 4333,
            "src": "5112:84:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6319112b",
            "id": 4332,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getFeeFractionFullUnit",
            "nameLocation": "5210:22:25",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4328,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5232:2:25"
            },
            "returnParameters": {
              "id": 4331,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4330,
                  "mutability": "mutable",
                  "name": "fullUnit",
                  "nameLocation": "5265:8:25",
                  "nodeType": "VariableDeclaration",
                  "scope": 4332,
                  "src": "5257:16:25",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4329,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5257:7:25",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5256:18:25"
            },
            "scope": 4333,
            "src": "5201:74:25",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 4334,
        "src": "530:4748:25"
      }
    ],
    "src": "39:5240:25"
  },
  "bytecode": "",
  "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.2+commit.661d1103"
  },
  "contractName": "IInstanceService",
  "coverageMap": {
    "branches": {},
    "statements": {}
  },
  "dependencies": [
    "IBundleToken",
    "IComponent",
    "IComponentOwnerService",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/IERC165",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/IERC20",
    "OpenZeppelin/openzeppelin-contracts@4.7.3/IERC721",
    "IInstanceOperatorService",
    "IOracleService",
    "IProductService",
    "IRegistry",
    "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": "contracts/services/IInstanceService.sol",
  "type": "interface"
}