UNPKG

@etherisc/depeg-contracts

Version:

Etherisc's smart contracts for a depeg insurance for stable coins.

1,891 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": { "1": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/proxy/utils/Initializable.sol", "10": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Address.sol", "11": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Context.sol", "16": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/structs/EnumerableSet.sol", "18": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/modules/ComponentController.sol", "19": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/modules/PolicyController.sol", "22": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/shared/CoreController.sol", "27": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol", "29": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IProduct.sol", "33": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IAccess.sol", "35": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IComponentEvents.sol", "36": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol", "38": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol" }, "ast": { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/modules/PolicyController.sol", "exportedSymbols": { "Address": [ 24852 ], "ComponentController": [ 18412 ], "Context": [ 15648 ], "CoreController": [ 21649 ], "EnumerableSet": [ 10109 ], "IAccess": [ 22927 ], "IBundle": [ 13382 ], "IComponent": [ 11675 ], "IComponentEvents": [ 22980 ], "IOracle": [ 23539 ], "IPolicy": [ 12649 ], "IProduct": [ 21878 ], "IRegistry": [ 21976 ], "IRiskpool": [ 14585 ], "Initializable": [ 23690 ], "PolicyController": [ 20323 ] }, "id": 20324, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 18414, "literals": [ "solidity", "0.8", ".2" ], "nodeType": "PragmaDirective", "src": "39:22:19" }, { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/shared/CoreController.sol", "file": "../shared/CoreController.sol", "id": 18415, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 20324, "sourceUnit": 21650, "src": "63:38:19", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-contracts@b58fd27/contracts/modules/ComponentController.sol", "file": "./ComponentController.sol", "id": 18416, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 20324, "sourceUnit": 18413, "src": "102:35:19", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol", "file": "@etherisc/gif-interface/contracts/modules/IPolicy.sol", "id": 18417, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 20324, "sourceUnit": 12650, "src": "138:63:19", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 18418, "name": "IPolicy", "nodeType": "IdentifierPath", "referencedDeclaration": 12649, "src": "237:7:19" }, "id": 18419, "nodeType": "InheritanceSpecifier", "src": "237:7:19" }, { "baseName": { "id": 18420, "name": "CoreController", "nodeType": "IdentifierPath", "referencedDeclaration": 21649, "src": "251:14:19" }, "id": 18421, "nodeType": "InheritanceSpecifier", "src": "251:14:19" } ], "contractDependencies": [ 12649, 15648, 21649, 23690 ], "contractKind": "contract", "fullyImplemented": true, "id": 20323, "linearizedBaseContracts": [ 20323, 21649, 23690, 15648, 12649 ], "name": "PolicyController", "nameLocation": "212:16:19", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "7122ba06", "id": 18426, "mutability": "mutable", "name": "metadata", "nameLocation": "399:8:19", "nodeType": "VariableDeclaration", "scope": 20323, "src": "347:60:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Metadata_$12464_storage_$", "typeString": "mapping(bytes32 => struct IPolicy.Metadata)" }, "typeName": { "id": 18425, "keyType": { "id": 18422, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "355:7:19", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "347:44:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Metadata_$12464_storage_$", "typeString": "mapping(bytes32 => struct IPolicy.Metadata)" }, "valueType": { "id": 18424, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 18423, "name": "Metadata", "nodeType": "IdentifierPath", "referencedDeclaration": 12464, "src": "382:8:19" }, "referencedDeclaration": 12464, "src": "382:8:19", "typeDescriptions": { "typeIdentifier": "t_struct$_Metadata_$12464_storage_ptr", "typeString": "struct IPolicy.Metadata" } } }, "visibility": "public" }, { "constant": false, "functionSelector": "4cafa121", "id": 18431, "mutability": "mutable", "name": "applications", "nameLocation": "489:12:19", "nodeType": "VariableDeclaration", "scope": 20323, "src": "434:67:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Application_$12478_storage_$", "typeString": "mapping(bytes32 => struct IPolicy.Application)" }, "typeName": { "id": 18430, "keyType": { "id": 18427, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "442:7:19", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "434:47:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Application_$12478_storage_$", "typeString": "mapping(bytes32 => struct IPolicy.Application)" }, "valueType": { "id": 18429, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 18428, "name": "Application", "nodeType": "IdentifierPath", "referencedDeclaration": 12478, "src": "469:11:19" }, "referencedDeclaration": 12478, "src": "469:11:19", "typeDescriptions": { "typeIdentifier": "t_struct$_Application_$12478_storage_ptr", "typeString": "struct IPolicy.Application" } } }, "visibility": "public" }, { "constant": false, "functionSelector": "ddbfd8ef", "id": 18436, "mutability": "mutable", "name": "policies", "nameLocation": "574:8:19", "nodeType": "VariableDeclaration", "scope": 20323, "src": "524:58:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Policy_$12498_storage_$", "typeString": "mapping(bytes32 => struct IPolicy.Policy)" }, "typeName": { "id": 18435, "keyType": { "id": 18432, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "532:7:19", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "524:42:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Policy_$12498_storage_$", "typeString": "mapping(bytes32 => struct IPolicy.Policy)" }, "valueType": { "id": 18434, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 18433, "name": "Policy", "nodeType": "IdentifierPath", "referencedDeclaration": 12498, "src": "559:6:19" }, "referencedDeclaration": 12498, "src": "559:6:19", "typeDescriptions": { "typeIdentifier": "t_struct$_Policy_$12498_storage_ptr", "typeString": "struct IPolicy.Policy" } } }, "visibility": "public" }, { "constant": false, "functionSelector": "9e81f96a", "id": 18443, "mutability": "mutable", "name": "claims", "nameLocation": "686:6:19", "nodeType": "VariableDeclaration", "scope": 20323, "src": "603:89:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_Claim_$12512_storage_$_$", "typeString": "mapping(bytes32 => mapping(uint256 => struct IPolicy.Claim))" }, "typeName": { "id": 18442, "keyType": { "id": 18437, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "611:7:19", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "603:75:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_Claim_$12512_storage_$_$", "typeString": "mapping(bytes32 => mapping(uint256 => struct IPolicy.Claim))" }, "valueType": { "id": 18441, "keyType": { "id": 18438, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "646:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", "src": "638:39:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Claim_$12512_storage_$", "typeString": "mapping(uint256 => struct IPolicy.Claim)" }, "valueType": { "id": 18440, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 18439, "name": "Claim", "nodeType": "IdentifierPath", "referencedDeclaration": 12512, "src": "671:5:19" }, "referencedDeclaration": 12512, "src": "671:5:19", "typeDescriptions": { "typeIdentifier": "t_struct$_Claim_$12512_storage_ptr", "typeString": "struct IPolicy.Claim" } } } }, "visibility": "public" }, { "constant": false, "functionSelector": "80f2122c", "id": 18450, "mutability": "mutable", "name": "payouts", "nameLocation": "799:7:19", "nodeType": "VariableDeclaration", "scope": 20323, "src": "714:92:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_Payout_$12526_storage_$_$", "typeString": "mapping(bytes32 => mapping(uint256 => struct IPolicy.Payout))" }, "typeName": { "id": 18449, "keyType": { "id": 18444, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "722:7:19", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "714:77:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_Payout_$12526_storage_$_$", "typeString": "mapping(bytes32 => mapping(uint256 => struct IPolicy.Payout))" }, "valueType": { "id": 18448, "keyType": { "id": 18445, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "757:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", "src": "749:41:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Payout_$12526_storage_$", "typeString": "mapping(uint256 => struct IPolicy.Payout)" }, "valueType": { "id": 18447, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 18446, "name": "Payout", "nodeType": "IdentifierPath", "referencedDeclaration": 12526, "src": "783:6:19" }, "referencedDeclaration": 12526, "src": "783:6:19", "typeDescriptions": { "typeIdentifier": "t_struct$_Payout_$12526_storage_ptr", "typeString": "struct IPolicy.Payout" } } } }, "visibility": "public" }, { "constant": false, "functionSelector": "357f030a", "id": 18454, "mutability": "mutable", "name": "payoutCount", "nameLocation": "863:11:19", "nodeType": "VariableDeclaration", "scope": 20323, "src": "812:62:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" }, "typeName": { "id": 18453, "keyType": { "id": 18451, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "820:7:19", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "812:43:19", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" }, "valueType": { "id": 18452, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "847:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "visibility": "public" }, { "constant": false, "id": 18456, "mutability": "mutable", "name": "_assigendProcessIds", "nameLocation": "970:19:19", "nodeType": "VariableDeclaration", "scope": 20323, "src": "954:35:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 18455, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "954:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "private" }, { "constant": false, "id": 18459, "mutability": "mutable", "name": "_component", "nameLocation": "1024:10:19", "nodeType": "VariableDeclaration", "scope": 20323, "src": "996:38:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_ComponentController_$18412", "typeString": "contract ComponentController" }, "typeName": { "id": 18458, "nodeType": "UserDefinedTypeName", "pathNode":