UNPKG

@etherisc/gif-contracts

Version:

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

1,930 lines (1,929 loc) 1.36 MB
{ "abi": [ { "inputs": [ { "internalType": "bytes32", "name": "productName", "type": "bytes32" }, { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "address", "name": "capitalOwner", "type": "address" }, { "internalType": "uint256", "name": "oracleId", "type": "uint256" }, { "internalType": "uint256", "name": "riskpoolId", "type": "uint256" }, { "internalType": "address", "name": "registryAddress", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentApproved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentArchived", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "componentName", "type": "bytes32" }, { "indexed": false, "internalType": "enum IComponent.ComponentType", "name": "componentType", "type": "uint8" }, { "indexed": false, "internalType": "address", "name": "componentAddress", "type": "address" }, { "indexed": false, "internalType": "address", "name": "registryAddress", "type": "address" } ], "name": "LogComponentCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentDeclined", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentPaused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "componentName", "type": "bytes32" }, { "indexed": false, "internalType": "enum IComponent.ComponentType", "name": "componentType", "type": "uint8" }, { "indexed": false, "internalType": "address", "name": "componentAddress", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentProposed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentResumed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "enum IComponent.ComponentState", "name": "stateOld", "type": "uint8" }, { "indexed": false, "internalType": "enum IComponent.ComponentState", "name": "stateNew", "type": "uint8" } ], "name": "LogComponentStateChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentSuspended", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentUnpaused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "componentId", "type": "uint256" } ], "name": "LogProductApproved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "productAddress", "type": "address" } ], "name": "LogProductCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "componentId", "type": "uint256" } ], "name": "LogProductDeclined", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "componentId", "type": "uint256" } ], "name": "LogProductProposed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "requestId", "type": "uint256" }, { "indexed": false, "internalType": "bytes32", "name": "policyId", "type": "bytes32" }, { "indexed": false, "internalType": "bytes", "name": "response", "type": "bytes" } ], "name": "LogTestOracleCallbackReceived", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "LogTestProductFundingReceived", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "ORACLE_CALLBACK_METHOD_NAME", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "POLICY_FLOW", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "applications", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "policyHolder", "type": "address" }, { "internalType": "uint256", "name": "premium", "type": "uint256" }, { "internalType": "uint256", "name": "sumInsured", "type": "uint256" }, { "internalType": "bytes", "name": "metaData", "type": "bytes" }, { "internalType": "bytes", "name": "applicationData", "type": "bytes" } ], "name": "applyForPolicy", "outputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "premium", "type": "uint256" }, { "internalType": "uint256", "name": "sumInsured", "type": "uint256" }, { "internalType": "bytes", "name": "metaData", "type": "bytes" }, { "internalType": "bytes", "name": "applicationData", "type": "bytes" } ], "name": "applyForPolicy", "outputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "approvalCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "archiveCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "claims", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "policyId", "type": "bytes32" } ], "name": "close", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "policyId", "type": "bytes32" }, { "internalType": "uint256", "name": "claimId", "type": "uint256" } ], "name": "closeClaim", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "policyId", "type": "bytes32" } ], "name": "collectPremium", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "uint256", "name": "fee", "type": "uint256" }, { "internalType": "uint256", "name": "netPremium", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "policyId", "type": "bytes32" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "collectPremium", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "uint256", "name": "fee", "type": "uint256" }, { "internalType": "uint256", "name": "netPremium", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "policyId", "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": "policyId", "type": "bytes32" }, { "internalType": "uint256", "name": "claimId", "type": "uint256" }, { "internalType": "uint256", "name": "payoutAmount", "type": "uint256" } ], "name": "createPayout", "outputs": [ { "internalType": "uint256", "name": "payoutId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "decline", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "declineCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "policyId", "type": "bytes32" }, { "internalType": "uint256", "name": "claimId", "type": "uint256" } ], "name": "declineClaim", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "policyId", "type": "bytes32" } ], "name": "expire", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getApplicationDataStructure", "outputs": [ { "internalType": "string", "name": "dataStructure", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getClaimDataStructure", "outputs": [ { "internalType": "string", "name": "dataStructure", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "policyId", "type": "bytes32" } ], "name": "getClaimId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getName", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getPayoutDataStructure", "outputs": [ { "internalType": "string", "name": "dataStructure", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "policyId", "type": "bytes32" } ], "name": "getPayoutId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getPolicyFlow", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getRegistry", "outputs": [ { "internalType": "contract IRegistry", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getRiskpoolId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getState", "outputs": [ { "internalType": "enum IComponent.ComponentState", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getType", "outputs": [ { "internalType": "enum IComponent.ComponentType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isOracle", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isProduct", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isRiskpool", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "premium", "type": "uint256" }, { "internalType": "uint256", "name": "sumInsured", "type": "uint256" }, { "internalType": "bytes", "name": "metaData", "type": "bytes" }, { "internalType": "bytes", "name": "applicationData", "type": "bytes" } ], "name": "newAppliation", "outputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "policyId", "type": "bytes32" }, { "internalType": "uint256", "name": "claimId", "type": "uint256" }, { "internalType": "uint256", "name": "payoutAmount", "type": "uint256" } ], "name": "newPayout", "outputs": [ { "internalType": "uint256", "name": "payoutId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "requestId", "type": "uint256" }, { "internalType": "bytes32", "name": "policyId", "type": "bytes32" }, { "internalType": "bytes", "name": "responseData", "type": "bytes" } ], "name": "oracleCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pauseCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "policies", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "policyId", "type": "bytes32" }, { "internalType": "uint256", "name": "payoutId", "type": "uint256" } ], "name": "processPayout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "proposalCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "resumeCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "revoke", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "capacity", "type": "uint256" } ], "name": "riskPoolCapacityCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "setId", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "policyId", "type": "bytes32" }, { "internalType": "uint256", "name": "claimAmount", "type": "uint256" } ], "name": "submitClaim", "outputs": [ { "internalType": "uint256", "name": "claimId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "policyId", "type": "bytes32" }, { "internalType": "uint256", "name": "claimAmount", "type": "uint256" } ], "name": "submitClaimNoOracle", "outputs": [ { "internalType": "uint256", "name": "claimId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "policyId", "type": "bytes32" }, { "internalType": "uint256", "name": "claimAmount", "type": "uint256" } ], "name": "submitClaimWithDeferredResponse", "outputs": [ { "internalType": "uint256", "name": "claimId", "type": "uint256" }, { "internalType": "uint256", "name": "requestId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "suspendCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "underwrite", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpauseCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "allSourcePaths": { "13": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/IERC20.sol", "18": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC721/IERC721.sol", "22": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Context.sol", "26": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/introspection/IERC165.sol", "29": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/Component.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", "35": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/Product.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", "4": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/access/Ownable.sol", "44": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol", "46": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IComponentOwnerService.sol", "47": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceOperatorService.sol", "48": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceService.sol", "49": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IOracleService.sol", "50": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IProductService.sol", "51": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IRiskpoolService.sol", "53": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/tokens/IBundleToken.sol", "96": "contracts/test/TestProduct.sol" }, "ast": { "absolutePath": "contracts/test/TestProduct.sol", "exportedSymbols": { "Component": [ 25407 ], "Context": [ 24074 ], "ERC20": [ 21536 ], "IAccess": [ 21938 ], "IBundle": [ 20491 ], "IBundleToken": [ 24052 ], "IComponent": [ 22099 ], "IComponentEvents": [ 22419 ], "IComponentOwnerService": [ 23478 ], "IERC165": [ 27203 ], "IERC20": [ 18510 ], "IERC20Metadata": [ 27166 ], "IERC721": [ 23745 ], "IInstanceOperatorService": [ 23629 ], "IInstanceService": [ 22849 ], "IOracleService": [ 23755 ], "IPolicy": [ 20837 ], "IPool": [ 21652 ], "IProduct": [ 21995 ], "IProductService": [ 23900 ], "IRegistry": [ 21750 ], "IRiskpoolService": [ 24006 ], "ITreasury": [ 23443 ], "Ownable": [ 20950 ], "Product": [ 20018 ], "TestProduct": [ 16828 ] }, "id": 16829, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 16073, "literals": [ "solidity", "0.8", ".2" ], "nodeType": "PragmaDirective", "src": "39:22:96" }, { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPolicy.sol", "file": "@etherisc/gif-interface/contracts/modules/IPolicy.sol", "id": 16074, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 16829, "sourceUnit": 20838, "src": "63:63:96", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IProductService.sol", "file": "@etherisc/gif-interface/contracts/services/IProductService.sol", "id": 16075, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 16829, "sourceUnit": 23901, "src": "127:72:96", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IInstanceService.sol", "file": "@etherisc/gif-interface/contracts/services/IInstanceService.sol", "id": 16076, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 16829, "sourceUnit": 22850, "src": "200:73:96", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/Product.sol", "file": "@etherisc/gif-interface/contracts/components/Product.sol", "id": 16077, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 16829, "sourceUnit": 20019, "src": "274:66:96", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/ERC20.sol", "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "id": 16078, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 16829, "sourceUnit": 21537, "src": "342:55:96", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 16079, "name": "Product", "nodeType": "IdentifierPath", "referencedDeclaration": 20018, "src": "428:7:96" }, "id": 16080, "nodeType": "InheritanceSpecifier", "src": "428:7:96" } ], "contractDependencies": [ 20018, 20950, 21995, 22099, 22419, 24074, 25407 ], "contractKind": "contract", "fullyImplemented": true, "id": 16828, "linearizedBaseContracts": [ 16828, 20018, 25407, 20950, 24074, 22419, 21995, 22099 ], "name": "TestProduct", "nameLocation": "408:11:96", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, "functionSelector": "09128d83", "id": 16083, "mutability": "constant", "name": "POLICY_FLOW", "nameLocation": "467:11:96", "nodeType": "VariableDeclaration", "scope": 16828, "src": "443:57:96", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 16081, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "443:7:96", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": { "hexValue": "506f6c69637944656661756c74466c6f77", "id": 16082, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "481:19:96", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4c6194c52a3447410e4616772f780a88c4ac5f0b731d2fc7e7979c603182714e", "typeString": "literal_string \"PolicyDefaultFlow\"" }, "value": "PolicyDefaultFlow" }, "visibility": "public" }, { "constant": true, "functionSelector": "232d346a", "id": 16086, "mutability": "constant", "name": "ORACLE_CALLBACK_METHOD_NAME", "nameLocation": "529:27:96", "nodeType": "VariableDeclaration", "scope": 16828, "src": "506:69:96", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 16084, "name": "string", "nodeType": "ElementaryTypeName", "src": "506:6:96", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": { "hexValue": "6f7261636c6543616c6c6261636b", "id": 16085, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "559:16:96", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2aafc7d392265772ce577bc392adfed2dc64b60acfcc2d5e2ce66fbfe088b79b", "typeString": "literal_string \"oracleCallback\"" }, "value": "oracleCallback" }, "visibility": "public" }, { "constant": false, "id": 16088, "mutability": "mutable", "name": "_capitalOwner", "nameLocation": "598:13:96", "nodeType": "VariableDeclaration", "scope": 16828, "src": "582:29:96", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16087, "name": "address", "nodeType": "ElementaryTypeName", "src": "582:7:96", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "private" }, { "constant": false, "id": 16090, "mutability": "mutable", "name": "_testOracleId", "nameLocation": "633:13:96", "nodeType": "VariableDeclaration", "scope": 16828, "src": "617:29:96", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 16089, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "617:7:96", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "private" }, { "constant": false, "id": 16092, "mutability": "mutable", "name": "_testRiskpoolId", "nameLocation": "668:15:96", "nodeType": "VariableDeclaration", "scope": 16828, "src": "652:31:96", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 16091, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "652:7:96", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "private" }, { "constant": false, "id": 16095, "mutability": "mutable", "name": "_applications", "nameLocation": "709:13:96", "nodeType": "VariableDeclaration", "scope": 16828, "src": "690:32:96", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[]" }, "typeName": { "baseType": { "id": 16093, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "690:7:96", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 16094, "nodeType": "ArrayTypeName", "src": "690:10:96", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" } }, "visibility": "private" }, { "constant": false, "id": 16098, "mutability": "mutable", "name": "_policies", "nameLocation": "747:9:96", "nodeType": "VariableDeclaration", "scope": 16828, "src": "728:28:96", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[]" }, "typeName": { "baseType": { "id": 16096, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "728:7:96", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "id": 16097, "nodeType": "ArrayTypeName", "src": "728:10:96", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" } }, "visibility": "private" }, { "constant": false, "id": 16100, "mutability": "mutable", "name": "_claims", "nameLocation": "778:7:96", "nodeType": "VariableDeclaration", "scope": 16828, "src": "762:23:96", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 16099, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "762:7:96", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "private" }, { "constant": false, "id": 16104, "mutability": "mutable", "name": "_policyIdToClaimId", "nameLocation": "828:18:96", "nodeType": "VariableDeclaration", "scope": 16828, "src": "792:54:96", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" }, "typeName": { "id": 16103, "keyType": { "id": 16101, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "800:7:96", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "792:27:96", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" }, "valueType": { "id": 16102, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "811:7:96", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "visibility": "private" }, { "constant": false, "id": 16108, "mutability": "mutable", "name": "_policyIdToPayoutId", "nameLocation": "888:19:96", "nodeType": "VariableDeclaration", "scope": 16828, "src": "852:55:96", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" }, "typeName": { "id": 16107, "keyType": { "id": 16105, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "860:7:96", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "852:27:96", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" }, "valueType": { "id": 16106, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "871:7:96", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "visibility": "private" }, { "anonymous": false, "id": 16114, "name": "LogTestProductFundingReceived", "nameLocation": "920:29:96", "nodeType": "EventDefinition", "parameters": { "id": 16113, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16110, "indexed": false, "mutability": "mutable", "name": "sender", "nameLocation": "958:6:96", "nodeType": "VariableDeclaration", "scope": 16114, "src": "950:14:96", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16109, "name": "address", "nodeType": "ElementaryTypeName", "src": "950:7:96", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16112, "indexed": false, "mutability": "mutable", "name": "amount", "nameLocation": "974:6:96", "nodeType": "VariableDeclaration", "scope": 16114, "src": "966:14:96", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 16111, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "966:7:96", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "949:32:96" }, "src": "914:68:96" }, { "anonymous": false, "id": 16122, "name": "LogTestOracleCallbackReceived", "nameLocation": "993:29:96", "nodeType": "EventDefinition", "parameters": { "id": 16121, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16116, "indexed": false, "mutability": "mutable", "name": "requestId", "nameLocation": "1031:9:96", "nodeType": "VariableDeclaration", "scope": 16122, "src": "1023:17:96", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 16115, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1023:7:96", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 16118, "indexed": false, "mutability": "mutable", "name": "policyId", "nameLocation": "1050:8:96", "nodeType": "VariableDeclaration", "scope": 16122, "src": "1042:16:96", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 16117, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1042:7:96", "typeDescriptions": { "typeIdentifier": "t_bytes32",