UNPKG

@etherisc/depeg-contracts

Version:

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

1,478 lines (1,477 loc) 61.1 kB
{ "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "riskpoolId", "type": "uint256" }, { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "LogRiskpoolCollateralReleased", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "riskpoolId", "type": "uint256" }, { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "LogRiskpoolCollateralizationFailed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "riskpoolId", "type": "uint256" }, { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "LogRiskpoolCollateralizationSucceeded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "riskpoolId", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "wallet", "type": "address" }, { "indexed": false, "internalType": "address", "name": "erc20Token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "collateralizationLevel", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sumOfSumInsuredCap", "type": "uint256" } ], "name": "LogRiskpoolRegistered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "sumInsured", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "collateral", "type": "uint256" } ], "name": "LogRiskpoolRequiredCollateral", "type": "event" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "processPayout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "processPremium", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "riskpoolId", "type": "uint256" }, { "internalType": "address", "name": "wallet", "type": "address" }, { "internalType": "address", "name": "erc20Token", "type": "address" }, { "internalType": "uint256", "name": "collateralizationLevel", "type": "uint256" }, { "internalType": "uint256", "name": "sumOfSumInsuredCap", "type": "uint256" } ], "name": "registerRiskpool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "release", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "productId", "type": "uint256" }, { "internalType": "uint256", "name": "riskpoolId", "type": "uint256" } ], "name": "setRiskpoolForProduct", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "processId", "type": "bytes32" } ], "name": "underwrite", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ], "allSourcePaths": { "37": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPool.sol" }, "ast": { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IPool.sol", "exportedSymbols": { "IPool": [ 23131 ] }, "id": 23132, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 23017, "literals": [ "solidity", "0.8", ".2" ], "nodeType": "PragmaDirective", "src": "39:22:37" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, "id": 23131, "linearizedBaseContracts": [ 23131 ], "name": "IPool", "nameLocation": "73:5:37", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "id": 23029, "name": "LogRiskpoolRegistered", "nameLocation": "92:21:37", "nodeType": "EventDefinition", "parameters": { "id": 23028, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 23019, "indexed": false, "mutability": "mutable", "name": "riskpoolId", "nameLocation": "131:10:37", "nodeType": "VariableDeclaration", "scope": 23029, "src": "123:18:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23018, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "123:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23021, "indexed": false, "mutability": "mutable", "name": "wallet", "nameLocation": "160:6:37", "nodeType": "VariableDeclaration", "scope": 23029, "src": "152:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 23020, "name": "address", "nodeType": "ElementaryTypeName", "src": "152:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 23023, "indexed": false, "mutability": "mutable", "name": "erc20Token", "nameLocation": "184:10:37", "nodeType": "VariableDeclaration", "scope": 23029, "src": "176:18:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 23022, "name": "address", "nodeType": "ElementaryTypeName", "src": "176:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 23025, "indexed": false, "mutability": "mutable", "name": "collateralizationLevel", "nameLocation": "213:22:37", "nodeType": "VariableDeclaration", "scope": 23029, "src": "205:30:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23024, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "205:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23027, "indexed": false, "mutability": "mutable", "name": "sumOfSumInsuredCap", "nameLocation": "254:18:37", "nodeType": "VariableDeclaration", "scope": 23029, "src": "246:26:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23026, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "246:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "113:165:37" }, "src": "86:193:37" }, { "anonymous": false, "id": 23037, "name": "LogRiskpoolRequiredCollateral", "nameLocation": "295:29:37", "nodeType": "EventDefinition", "parameters": { "id": 23036, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 23031, "indexed": false, "mutability": "mutable", "name": "processId", "nameLocation": "333:9:37", "nodeType": "VariableDeclaration", "scope": 23037, "src": "325:17:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 23030, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "325:7:37", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 23033, "indexed": false, "mutability": "mutable", "name": "sumInsured", "nameLocation": "352:10:37", "nodeType": "VariableDeclaration", "scope": 23037, "src": "344:18:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23032, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "344:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23035, "indexed": false, "mutability": "mutable", "name": "collateral", "nameLocation": "372:10:37", "nodeType": "VariableDeclaration", "scope": 23037, "src": "364:18:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23034, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "364:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "324:59:37" }, "src": "289:95:37" }, { "anonymous": false, "id": 23045, "name": "LogRiskpoolCollateralizationFailed", "nameLocation": "395:34:37", "nodeType": "EventDefinition", "parameters": { "id": 23044, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 23039, "indexed": false, "mutability": "mutable", "name": "riskpoolId", "nameLocation": "438:10:37", "nodeType": "VariableDeclaration", "scope": 23045, "src": "430:18:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23038, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "430:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23041, "indexed": false, "mutability": "mutable", "name": "processId", "nameLocation": "458:9:37", "nodeType": "VariableDeclaration", "scope": 23045, "src": "450:17:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 23040, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "450:7:37", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 23043, "indexed": false, "mutability": "mutable", "name": "amount", "nameLocation": "477:6:37", "nodeType": "VariableDeclaration", "scope": 23045, "src": "469:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23042, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "469:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "429:55:37" }, "src": "389:96:37" }, { "anonymous": false, "id": 23053, "name": "LogRiskpoolCollateralizationSucceeded", "nameLocation": "496:37:37", "nodeType": "EventDefinition", "parameters": { "id": 23052, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 23047, "indexed": false, "mutability": "mutable", "name": "riskpoolId", "nameLocation": "542:10:37", "nodeType": "VariableDeclaration", "scope": 23053, "src": "534:18:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23046, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "534:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23049, "indexed": false, "mutability": "mutable", "name": "processId", "nameLocation": "562:9:37", "nodeType": "VariableDeclaration", "scope": 23053, "src": "554:17:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 23048, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "554:7:37", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 23051, "indexed": false, "mutability": "mutable", "name": "amount", "nameLocation": "581:6:37", "nodeType": "VariableDeclaration", "scope": 23053, "src": "573:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23050, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "573:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "533:55:37" }, "src": "490:99:37" }, { "anonymous": false, "id": 23061, "name": "LogRiskpoolCollateralReleased", "nameLocation": "600:29:37", "nodeType": "EventDefinition", "parameters": { "id": 23060, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 23055, "indexed": false, "mutability": "mutable", "name": "riskpoolId", "nameLocation": "638:10:37", "nodeType": "VariableDeclaration", "scope": 23061, "src": "630:18:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23054, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "630:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23057, "indexed": false, "mutability": "mutable", "name": "processId", "nameLocation": "658:9:37", "nodeType": "VariableDeclaration", "scope": 23061, "src": "650:17:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 23056, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "650:7:37", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 23059, "indexed": false, "mutability": "mutable", "name": "amount", "nameLocation": "677:6:37", "nodeType": "VariableDeclaration", "scope": 23061, "src": "669:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23058, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "669:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "629:55:37" }, "src": "594:91:37" }, { "canonicalName": "IPool.Pool", "id": 23084, "members": [ { "constant": false, "id": 23063, "mutability": "mutable", "name": "id", "nameLocation": "721:2:37", "nodeType": "VariableDeclaration", "scope": 23084, "src": "713:10:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23062, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "713:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23065, "mutability": "mutable", "name": "wallet", "nameLocation": "777:6:37", "nodeType": "VariableDeclaration", "scope": 23084, "src": "769:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 23064, "name": "address", "nodeType": "ElementaryTypeName", "src": "769:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 23067, "mutability": "mutable", "name": "erc20Token", "nameLocation": "820:10:37", "nodeType": "VariableDeclaration", "scope": 23084, "src": "812:18:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 23066, "name": "address", "nodeType": "ElementaryTypeName", "src": "812:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 23069, "mutability": "mutable", "name": "collateralizationLevel", "nameLocation": "883:22:37", "nodeType": "VariableDeclaration", "scope": 23084, "src": "875:30:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23068, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "875:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23071, "mutability": "mutable", "name": "sumOfSumInsuredCap", "nameLocation": "982:18:37", "nodeType": "VariableDeclaration", "scope": 23084, "src": "974:26:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23070, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "974:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23073, "mutability": "mutable", "name": "sumOfSumInsuredAtRisk", "nameLocation": "1074:21:37", "nodeType": "VariableDeclaration", "scope": 23084, "src": "1066:29:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23072, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1066:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23075, "mutability": "mutable", "name": "capital", "nameLocation": "1164:7:37", "nodeType": "VariableDeclaration", "scope": 23084, "src": "1156:15:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23074, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1156:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23077, "mutability": "mutable", "name": "lockedCapital", "nameLocation": "1235:13:37", "nodeType": "VariableDeclaration", "scope": 23084, "src": "1227:21:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23076, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1227:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23079, "mutability": "mutable", "name": "balance", "nameLocation": "1347:7:37", "nodeType": "VariableDeclaration", "scope": 23084, "src": "1339:15:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23078, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1339:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23081, "mutability": "mutable", "name": "createdAt", "nameLocation": "1446:9:37", "nodeType": "VariableDeclaration", "scope": 23084, "src": "1438:17:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23080, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1438:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23083, "mutability": "mutable", "name": "updatedAt", "nameLocation": "1473:9:37", "nodeType": "VariableDeclaration", "scope": 23084, "src": "1465:17:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23082, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1465:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "name": "Pool", "nameLocation": "698:4:37", "nodeType": "StructDefinition", "scope": 23131, "src": "691:798:37", "visibility": "public" }, { "functionSelector": "57419e8f", "id": 23097, "implemented": false, "kind": "function", "modifiers": [], "name": "registerRiskpool", "nameLocation": "1504:16:37", "nodeType": "FunctionDefinition", "parameters": { "id": 23095, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 23086, "mutability": "mutable", "name": "riskpoolId", "nameLocation": "1538:10:37", "nodeType": "VariableDeclaration", "scope": 23097, "src": "1530:18:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23085, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1530:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23088, "mutability": "mutable", "name": "wallet", "nameLocation": "1567:6:37", "nodeType": "VariableDeclaration", "scope": 23097, "src": "1559:14:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 23087, "name": "address", "nodeType": "ElementaryTypeName", "src": "1559:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 23090, "mutability": "mutable", "name": "erc20Token", "nameLocation": "1591:10:37", "nodeType": "VariableDeclaration", "scope": 23097, "src": "1583:18:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 23089, "name": "address", "nodeType": "ElementaryTypeName", "src": "1583:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 23092, "mutability": "mutable", "name": "collateralizationLevel", "nameLocation": "1619:22:37", "nodeType": "VariableDeclaration", "scope": 23097, "src": "1611:30:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23091, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1611:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23094, "mutability": "mutable", "name": "sumOfSumInsuredCap", "nameLocation": "1660:18:37", "nodeType": "VariableDeclaration", "scope": 23097, "src": "1652:26:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23093, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1652:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1520:164:37" }, "returnParameters": { "id": 23096, "nodeType": "ParameterList", "parameters": [], "src": "1693:0:37" }, "scope": 23131, "src": "1495:199:37", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "f93b3673", "id": 23104, "implemented": false, "kind": "function", "modifiers": [], "name": "setRiskpoolForProduct", "nameLocation": "1709:21:37", "nodeType": "FunctionDefinition", "parameters": { "id": 23102, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 23099, "mutability": "mutable", "name": "productId", "nameLocation": "1739:9:37", "nodeType": "VariableDeclaration", "scope": 23104, "src": "1731:17:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23098, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1731:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 23101, "mutability": "mutable", "name": "riskpoolId", "nameLocation": "1758:10:37", "nodeType": "VariableDeclaration", "scope": 23104, "src": "1750:18:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 23100, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1750:7:37", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1730:39:37" }, "returnParameters": { "id": 23103, "nodeType": "ParameterList", "parameters": [], "src": "1778:0:37" }, "scope": 23131, "src": "1700:79:37", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "1b07b17f", "id": 23111, "implemented": false, "kind": "function", "modifiers": [], "name": "underwrite", "nameLocation": "1794:10:37", "nodeType": "FunctionDefinition", "parameters": { "id": 23107, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 23106, "mutability": "mutable", "name": "processId", "nameLocation": "1813:9:37", "nodeType": "VariableDeclaration", "scope": 23111, "src": "1805:17:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 23105, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1805:7:37", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "1804:19:37" }, "returnParameters": { "id": 23110, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 23109, "mutability": "mutable", "name": "success", "nameLocation": "1846:7:37", "nodeType": "VariableDeclaration", "scope": 23111, "src": "1841:12:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 23108, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1841:4:37", "typeDescriptions": { "typeIdentifier": "t_bool",