UNPKG

@etherisc/gif-contracts

Version:

This repository holds the GIF core contracts and tools to develop, test and deploy GIF instances.

1,902 lines 2.57 MB
{ "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "premiumAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sumInsuredAmount", "type": "uint256" } ], "name": "LogApplicationCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "LogApplicationDeclined", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "premiumAmountOld", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "premiumAmount", "type": "uint256" } ], "name": "LogApplicationPremiumAdjusted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "LogApplicationRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "sumInsuredAmountOld", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sumInsuredAmount", "type": "uint256" } ], "name": "LogApplicationSumInsuredAdjusted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "LogApplicationUnderwritten", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "claimId", "type": "uint256" } ], "name": "LogClaimClosed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "claimId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "confirmedAmount", "type": "uint256" } ], "name": "LogClaimConfirmed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "claimId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "claimAmount", "type": "uint256" } ], "name": "LogClaimCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "claimId", "type": "uint256" } ], "name": "LogClaimDeclined", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "productId", "type": "uint256" }, { "indexed": false, "internalType": "enum IPolicy.PolicyFlowState", "name": "state", "type": "uint8" } ], "name": "LogMetadataCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "enum IPolicy.PolicyFlowState", "name": "state", "type": "uint8" } ], "name": "LogMetadataStateChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "claimId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "payoutId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "LogPayoutCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "payoutId", "type": "uint256" } ], "name": "LogPayoutProcessed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "LogPolicyClosed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "LogPolicyCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "LogPolicyExpired", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "premiumExpectedAmountOld", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "premiumExpectedAmount", "type": "uint256" } ], "name": "LogPolicyPremiumAdjusted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "LogPremiumCollected", "type": "event" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "internalType": "uint256", "name": "expectedPremiumAmount", "type": "uint256" }, { "internalType": "uint256", "name": "sumInsuredAmount", "type": "uint256" } ], "name": "adjustPremiumSumInsured", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "applications", "outputs": [ { "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" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "claims", "outputs": [ { "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" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "internalType": "uint256", "name": "claimId", "type": "uint256" } ], "name": "closeClaim", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "closePolicy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "collectPremium", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "internalType": "uint256", "name": "claimId", "type": "uint256" }, { "internalType": "uint256", "name": "confirmedAmount", "type": "uint256" } ], "name": "confirmClaim", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "internalType": "uint256", "name": "premiumAmount", "type": "uint256" }, { "internalType": "uint256", "name": "sumInsuredAmount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "createApplication", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "internalType": "uint256", "name": "claimAmount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "createClaim", "outputs": [ { "internalType": "uint256", "name": "claimId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "internalType": "uint256", "name": "claimId", "type": "uint256" }, { "internalType": "uint256", "name": "payoutAmount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "createPayout", "outputs": [ { "internalType": "uint256", "name": "payoutId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "createPolicy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "productId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "createPolicyFlow", "outputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "declineApplication", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "internalType": "uint256", "name": "claimId", "type": "uint256" } ], "name": "declineClaim", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "expirePolicy", "outputs": [], "stateMutability": "nonpayable", "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": "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": "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": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "getNumberOfClaims", "outputs": [ { "internalType": "uint256", "name": "numberOfClaims", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "getNumberOfPayouts", "outputs": [ { "internalType": "uint256", "name": "numberOfPayouts", "type": "uint256" } ], "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": [ { "internalType": "address", "name": "registry", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "metadata", "outputs": [ { "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" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "payoutCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "payouts", "outputs": [ { "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" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "policies", "outputs": [ { "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" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "processIds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "internalType": "uint256", "name": "payoutId", "type": "uint256" } ], "name": "processPayout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "revokeApplication", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "underwriteApplication", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "allSourcePaths": { "10": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/proxy/utils/Initializable.sol", "21": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Address.sol", "22": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Context.sol", "27": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/structs/EnumerableSet.sol", "30": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol", "32": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IProduct.sol", "37": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IAccess.sol", "39": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IComponentEvents.sol", "41": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol", "44": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol", "75": "contracts/modules/ComponentController.sol", "77": "contracts/modules/PolicyController.sol", "88": "contracts/shared/CoreController.sol" }, "ast": { "absolutePath": "contracts/modules/PolicyController.sol", "exportedSymbols": { "Address": [ 26374 ], "ComponentController": [ 6504 ], "Context": [ 24074 ], "CoreController": [ 14924 ], "EnumerableSet": [ 19390 ], "IAccess": [ 21938 ], "IBundle": [ 20491 ], "IComponent": [ 22099 ], "IComponentEvents": [ 22419 ], "IOracle": [ 22133 ], "IPolicy": [ 20837 ], "IProduct": [ 21995 ], "IRegistry": [ 21750 ], "IRiskpool": [ 22366 ], "Initializable": [ 18432 ], "PolicyController": [ 8529 ] }, "id": 8530, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 6620, "literals": [ "solidity", "0.8", ".2" ], "nodeType": "PragmaDirective", "src": "39:22:77" }, { "absolutePath": "contracts/shared/CoreController.sol", "file": "../shared/CoreController.sol", "id": 6621, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 8530, "sourceUnit": 14925, "src": "63:38:77", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "contracts/modules/ComponentController.sol", "file": "./ComponentController.sol", "id": 6622, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 8530, "sourceUnit": 6505, "src": "102:35:77", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol", "file": "@etherisc/gif-interface/contracts/modules/IPolicy.sol", "id": 6623, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 8530, "sourceUnit": 20838, "src": "138:63:77", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 6624, "name": "IPolicy", "nodeType": "IdentifierPath", "referencedDeclaration": 20837, "src": "237:7:77" }, "id": 6625, "nodeType": "InheritanceSpecifier", "src": "237:7:77" }, { "baseName": { "id": 6626, "name": "CoreController", "nodeType": "IdentifierPath", "referencedDeclaration": 14924, "src": "251:14:77" }, "id": 6627, "nodeType": "InheritanceSpecifier", "src": "251:14:77" } ], "contractDependencies": [ 14924, 18432, 20837, 24074 ], "contractKind": "contract", "fullyImplemented": true, "id": 8529, "linearizedBaseContracts": [ 8529, 14924, 18432, 24074, 20837 ], "name": "PolicyController", "nameLocation": "212:16:77", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "7122ba06", "id": 6632, "mutability": "mutable", "name": "metadata", "nameLocation": "399:8:77", "nodeType": "VariableDeclaration", "scope": 8529, "src": "347:60:77", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Metadata_$20652_storage_$", "typeString": "mapping(bytes32 => struct IPolicy.Metadata)" }, "typeName": { "id": 6631, "keyType": { "id": 6628, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "355:7:77", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "347:44:77", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Metadata_$20652_storage_$", "typeString": "mapping(bytes32 => struct IPolicy.Metadata)" }, "valueType": { "id": 6630, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6629, "name": "Metadata", "nodeType": "IdentifierPath", "referencedDeclaration": 20652, "src": "382:8:77" }, "referencedDeclaration": 20652, "src": "382:8:77", "typeDescriptions": { "typeIdentifier": "t_struct$_Metadata_$20652_storage_ptr", "typeString": "struct IPolicy.Metadata" } } }, "visibility": "public" }, { "constant": false, "functionSelector": "4cafa121", "id": 6637, "mutability": "mutable", "name": "applications", "nameLocation": "489:12:77", "nodeType": "VariableDeclaration", "scope": 8529, "src": "434:67:77", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Application_$20666_storage_$", "typeString": "mapping(bytes32 => struct IPolicy.Application)" }, "typeName": { "id": 6636, "keyType": { "id": 6633, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "442:7:77", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "434:47:77", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Application_$20666_storage_$", "typeString": "mapping(bytes32 => struct IPolicy.Application)" }, "valueType": { "id": 6635, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6634, "name": "Application", "nodeType": "IdentifierPath", "referencedDeclaration": 20666, "src": "469:11:77" }, "referencedDeclaration": 20666, "src": "469:11:77", "typeDescriptions": { "typeIdentifier": "t_struct$_Application_$20666_storage_ptr", "typeString": "struct IPolicy.Application" } } }, "visibility": "public" }, { "constant": false, "functionSelector": "ddbfd8ef", "id": 6642, "mutability": "mutable", "name": "policies", "nameLocation": "574:8:77", "nodeType": "VariableDeclaration", "scope": 8529, "src": "524:58:77", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Policy_$20686_storage_$", "typeString": "mapping(bytes32 => struct IPolicy.Policy)" }, "typeName": { "id": 6641, "keyType": { "id": 6638, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "532:7:77", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "524:42:77", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Policy_$20686_storage_$", "typeString": "mapping(bytes32 => struct IPolicy.Policy)" }, "valueType": { "id": 6640, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6639, "name": "Policy", "nodeType": "IdentifierPath", "referencedDeclaration": 20686, "src": "559:6:77" }, "referencedDeclaration": 20686, "src": "559:6:77", "typeDescriptions": { "typeIdentifier": "t_struct$_Policy_$20686_storage_ptr", "typeString": "struct IPolicy.Policy" } } }, "visibility": "public" }, { "constant": false, "functionSelector": "9e81f96a", "id": 6649, "mutability": "mutable", "name": "claims", "nameLocation": "686:6:77", "nodeType": "VariableDeclaration", "scope": 8529, "src": "603:89:77", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_Claim_$20700_storage_$_$", "typeString": "mapping(bytes32 => mapping(uint256 => struct IPolicy.Claim))" }, "typeName": { "id": 6648, "keyType": { "id": 6643, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "611:7:77", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "603:75:77", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_Claim_$20700_storage_$_$", "typeString": "mapping(bytes32 => mapping(uint256 => struct IPolicy.Claim))" }, "valueType": { "id": 6647, "keyType": { "id": 6644, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "646:7:77", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", "src": "638:39:77", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Claim_$20700_storage_$", "typeString": "mapping(uint256 => struct IPolicy.Claim)" }, "valueType": { "id": 6646, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6645, "name": "Claim", "nodeType": "IdentifierPath", "referencedDeclaration": 20700, "src": "671:5:77" }, "referencedDeclaration": 20700, "src": "671:5:77", "typeDescriptions": { "typeIdentifier": "t_struct$_Claim_$20700_storage_ptr", "typeString": "struct IPolicy.Claim" } } } }, "visibility": "public" }, { "constant": false, "functionSelector": "80f2122c", "id": 6656, "mutability": "mutable", "name": "payouts", "nameLocation": "799:7:77", "nodeType": "VariableDeclaration", "scope": 8529, "src": "714:92:77", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_Payout_$20714_storage_$_$", "typeString": "mapping(bytes32 => mapping(uint256 => struct IPolicy.Payout))" }, "typeName": { "id": 6655, "keyType": { "id": 6650, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "722:7:77", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "714:77:77", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_Payout_$20714_storage_$_$", "typeString": "mapping(bytes32 => mapping(uint256 => struct IPolicy.Payout))" }, "valueType": { "id": 6654, "keyType": { "id": 6651, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "757:7:77", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", "src": "749:41:77", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Payout_$20714_storage_$", "typeString": "mapping(uint256 => struct IPolicy.Payout)" }, "valueType": { "id": 6653, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6652, "name": "Payout", "nodeType": "IdentifierPath", "referencedDeclaration": 20714, "src": "783:6:77" }, "referencedDeclaration": 20714, "src": "783:6:77", "typeDescriptions": { "typeIdentifier": "t_struct$_Payout_$20714_storage_ptr", "typeString": "struct IPolicy.Payout" } } } }, "visibility": "public" }, { "constant": false, "functionSelector": "357f030a", "id": 6660, "mutability": "mutable", "name": "payoutCount", "nameLocation": "863:11:77", "nodeType": "VariableDeclaration", "scope": 8529, "src": "812:62:77", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" }, "typeName": { "id": 6659, "keyType": { "id": 6657, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "820:7:77", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "812:43:77", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" }, "valueType": { "id": 6658, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "847:7:77", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "visibility": "public" }, { "constant": false, "id": 6662, "mutability": "mutable", "name": "_assigendProcessIds", "nameLocation": "970:19:77", "nodeType": "VariableDeclaration", "scope": 8529, "src": "954:35:77", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 6661, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "954:7:77", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "private" }, { "constant": false, "id": 6665, "mutability": "mutable", "name": "_component", "nameLocation": "1024:10:77", "nodeType": "VariableDeclaration", "scope": 8529, "src": "996:38:77", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_ComponentController_$6504", "typeString": "contract ComponentController" }, "typeName": { "id": 6664, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6663, "name": "ComponentController", "nodeType": "IdentifierPath", "referencedDeclaration": 6504, "src": "996:19:77" }, "referencedDeclaration": 6504, "src": "996:19:77", "typeDescriptions": { "typeIdentifier": "t_contract$_ComponentController_$6504", "typeS