UNPKG

@kollateral/kollateral-contracts

Version:

1,114 lines (1,113 loc) 214 kB
{ "contractName": "Debuggable", "abi": [ { "inputs": [], "payable": false, "stateMutability": "nonpayable", "type": "constructor" } ], "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/kbrizzle/code/kollateral/protocol/contracts/testing/Debuggable.sol\":\"Debuggable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/kbrizzle/code/kollateral/protocol/contracts/testing/Debuggable.sol\":{\"keccak256\":\"0xeb0b1a4e8cb1743059064df0f30bd6168f7d5edc188c5e2d27623e7a49e2f893\",\"urls\":[\"bzz-raw://cf390f7745e1957d9fbcffc0f5ad9bd4954191cf9fa97d8de7dee9a2e8736afd\",\"dweb:/ipfs/QmcoCjnsD5hhkHbE5YUDv81spYZtbuJ8UzMTjNvTnVdab3\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity ^0.5.0;\n\ncontract Debuggable {\n constructor () internal { }\n\n function toString(uint _base)\n internal\n pure\n returns (string memory) {\n bytes memory _tmp = new bytes(32);\n uint i;\n for(i = 0;_base > 0;i++) {\n _tmp[i] = byte(uint8((_base % 10) + 48));\n _base /= 10;\n }\n bytes memory _real = new bytes(i--);\n for(uint j = 0; j < _real.length; j++) {\n _real[j] = _tmp[i--];\n }\n return string(_real);\n }\n\n function concat(string memory _base, string memory _value)\n internal\n pure\n returns (string memory) {\n bytes memory _baseBytes = bytes(_base);\n bytes memory _valueBytes = bytes(_value);\n\n assert(_valueBytes.length > 0);\n\n string memory _tmpValue = new string(_baseBytes.length +\n _valueBytes.length);\n bytes memory _newValue = bytes(_tmpValue);\n\n uint i;\n uint j;\n\n for (i = 0; i < _baseBytes.length; i++) {\n _newValue[j++] = _baseBytes[i];\n }\n\n for (i = 0; i < _valueBytes.length; i++) {\n _newValue[j++] = _valueBytes[i];\n }\n\n return string(_newValue);\n }\n}\n", "sourcePath": "/Users/kbrizzle/code/kollateral/protocol/contracts/testing/Debuggable.sol", "ast": { "absolutePath": "/Users/kbrizzle/code/kollateral/protocol/contracts/testing/Debuggable.sol", "exportedSymbols": { "Debuggable": [ 2264 ] }, "id": 2265, "nodeType": "SourceUnit", "nodes": [ { "id": 2076, "literals": [ "solidity", "^", "0.5", ".0" ], "nodeType": "PragmaDirective", "src": "0:23:10" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 2264, "linearizedBaseContracts": [ 2264 ], "name": "Debuggable", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 2079, "nodeType": "Block", "src": "75:3:10", "statements": [] }, "documentation": null, "id": 2080, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { "id": 2077, "nodeType": "ParameterList", "parameters": [], "src": "63:2:10" }, "returnParameters": { "id": 2078, "nodeType": "ParameterList", "parameters": [], "src": "75:0:10" }, "scope": 2264, "src": "51:27:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { "id": 2162, "nodeType": "Block", "src": "164:358:10", "statements": [ { "assignments": [ 2088 ], "declarations": [ { "constant": false, "id": 2088, "name": "_tmp", "nodeType": "VariableDeclaration", "scope": 2162, "src": "174:17:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2087, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "174:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "id": 2093, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "3332", "id": 2091, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "204:2:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" } ], "id": 2090, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "194:9:10", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { "id": 2089, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "198:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } } }, "id": 2092, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "194:13:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "174:33:10" }, { "assignments": [ 2095 ], "declarations": [ { "constant": false, "id": 2095, "name": "i", "nodeType": "VariableDeclaration", "scope": 2162, "src": "217:6:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2094, "name": "uint", "nodeType": "ElementaryTypeName", "src": "217:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2096, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "217:6:10" }, { "body": { "id": 2126, "nodeType": "Block", "src": "258:90:10", "statements": [ { "expression": { "argumentTypes": null, "id": 2120, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2107, "name": "_tmp", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2088, "src": "272:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 2109, "indexExpression": { "argumentTypes": null, "id": 2108, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2095, "src": "277:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "272:7:10", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2117, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2114, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2112, "name": "_base", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2082, "src": "294:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "%", "rightExpression": { "argumentTypes": null, "hexValue": "3130", "id": 2113, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "302:2:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "src": "294:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 2115, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "293:12:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "hexValue": "3438", "id": 2116, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "308:2:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_48_by_1", "typeString": "int_const 48" }, "value": "48" }, "src": "293:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2111, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "287:5:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, "id": 2118, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "287:24:10", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint8", "typeString": "uint8" } ], "id": 2110, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "282:4:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, "id": 2119, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "282:30:10", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "src": "272:40:10", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "id": 2121, "nodeType": "ExpressionStatement", "src": "272:40:10" }, { "expression": { "argumentTypes": null, "id": 2124, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2122, "name": "_base", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2082, "src": "326:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "/=", "rightHandSide": { "argumentTypes": null, "hexValue": "3130", "id": 2123, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "335:2:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" }, "value": "10" }, "src": "326:11:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2125, "nodeType": "ExpressionStatement", "src": "326:11:10" } ] }, "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2103, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2101, "name": "_base", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2082, "src": "243:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2102, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "251:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "243:9:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 2127, "initializationExpression": { "expression": { "argumentTypes": null, "id": 2099, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2097, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2095, "src": "237:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "30", "id": 2098, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "241:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "237:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2100, "nodeType": "ExpressionStatement", "src": "237:5:10" }, "loopExpression": { "expression": { "argumentTypes": null, "id": 2105, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "253:3:10", "subExpression": { "argumentTypes": null, "id": 2104, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2095, "src": "253:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2106, "nodeType": "ExpressionStatement", "src": "253:3:10" }, "nodeType": "ForStatement", "src": "233:115:10" }, { "assignments": [ 2129 ], "declarations": [ { "constant": false, "id": 2129, "name": "_real", "nodeType": "VariableDeclaration", "scope": 2162, "src": "357:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2128, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "357:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "id": 2135, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2133, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "--", "prefix": false, "src": "388:3:10", "subExpression": { "argumentTypes": null, "id": 2132, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2095, "src": "388:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2131, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "378:9:10", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { "id": 2130, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "382:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } } }, "id": 2134, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "378:14:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "357:35:10" }, { "body": { "id": 2156, "nodeType": "Block", "src": "441:45:10", "statements": [ { "expression": { "argumentTypes": null, "id": 2154, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2147, "name": "_real", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2129, "src": "455:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 2149, "indexExpression": { "argumentTypes": null, "id": 2148, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2137, "src": "461:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "455:8:10", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2150, "name": "_tmp", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2088, "src": "466:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 2153, "indexExpression": { "argumentTypes": null, "id": 2152, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "--", "prefix": false, "src": "471:3:10", "subExpression": { "argumentTypes": null, "id": 2151, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2095, "src": "471:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "466:9:10", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "src": "455:20:10", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "id": 2155, "nodeType": "ExpressionStatement", "src": "455:20:10" } ] }, "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2143, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2140, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2137, "src": "418:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2141, "name": "_real", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2129, "src": "422:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 2142, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "422:12:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "418:16:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 2157, "initializationExpression": { "assignments": [ 2137 ], "declarations": [ { "constant": false, "id": 2137, "name": "j", "nodeType": "VariableDeclaration", "scope": 2157, "src": "406:6:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2136, "name": "uint", "nodeType": "ElementaryTypeName", "src": "406:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2139, "initialValue": { "argumentTypes": null, "hexValue": "30", "id": 2138, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "415:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "406:10:10" }, "loopExpression": { "expression": { "argumentTypes": null, "id": 2145, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "436:3:10", "subExpression": { "argumentTypes": null, "id": 2144, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2137, "src": "436:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2146, "nodeType": "ExpressionStatement", "src": "436:3:10" }, "nodeType": "ForStatement", "src": "402:84:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2159, "name": "_real", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2129, "src": "509:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 2158, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "502:6:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": "string" }, "id": 2160, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "502:13:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "functionReturnParameters": 2086, "id": 2161, "nodeType": "Return", "src": "495:20:10" } ] },