UNPKG

tokenboost-solidity-erc20sale

Version:
1,053 lines (1,052 loc) 495 kB
{ "contractName": "Tables", "abi": [], "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058204d5d9f1c291541beb4db8ff2a9396ef28fb34f2fd058f326081ef2981ddba2130029", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058204d5d9f1c291541beb4db8ff2a9396ef28fb34f2fd058f326081ef2981ddba2130029", "sourceMap": "51:2348:23:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", "deployedSourceMap": "51:2348:23:-;;;;;;;;", "source": "pragma solidity ^0.4.24;\n\nimport \"./Actions.sol\";\n\nlibrary Tables {\n using Actions for Actions.Action;\n using strings for *;\n\n struct Column {\n bool exists;\n string id;\n string type_;\n string label;\n Actions.Action action;\n }\n\n struct Table {\n bool exists;\n Column[] columns;\n string[] rows;\n }\n\n function empty() internal pure returns (Table memory) {\n return Table(false, new Column[](0), new string[](0));\n }\n\n function toJson(Table memory _self) internal pure returns (string) {\n if (_self.exists) {\n string memory json = '{\"columns\":[';\n uint length = 0;\n for (uint i = 0; i < _self.columns.length; i++) {\n if (length > 0) {\n json = json.toSlice().concat(','.toSlice());\n }\n json = json.toSlice().concat(_columnToJson(_self.columns[i]).toSlice());\n length += 1;\n }\n json = json.toSlice().concat('],\"rows\":['.toSlice());\n length = 0;\n for (i = 0; i < _self.rows.length; i++) {\n if (length > 0) {\n json = json.toSlice().concat(','.toSlice());\n }\n json = json.toSlice().concat(_self.rows[i].toSlice());\n length += 1;\n }\n return json.toSlice().concat(']}'.toSlice());\n } else {\n return \"null\";\n }\n }\n\n function _columnToJson(Column memory _self) internal pure returns (string) {\n if (_self.exists) {\n string memory json = '{\"id\":\"';\n json = json.toSlice().concat(_self.id.toSlice());\n json = json.toSlice().concat('\"'.toSlice());\n if (_self.action.exists) {\n json = json.toSlice().concat(','.toSlice());\n json = json.toSlice().concat('\"action\":'.toSlice());\n json = json.toSlice().concat(_self.action.toJson().toSlice());\n }\n json = json.toSlice().concat(',\"type\":\"'.toSlice());\n json = json.toSlice().concat(_self.type_.toSlice());\n json = json.toSlice().concat('\",\"label\":\"'.toSlice());\n json = json.toSlice().concat(_self.label.toSlice());\n return json.toSlice().concat('\"}'.toSlice());\n } else {\n return \"null\";\n }\n }\n}\n", "sourcePath": "tokenboost-solidity/contracts/widget/Tables.sol", "ast": { "absolutePath": "tokenboost-solidity/contracts/widget/Tables.sol", "exportedSymbols": { "Tables": [ 5114 ] }, "id": 5115, "nodeType": "SourceUnit", "nodes": [ { "id": 4784, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:23" }, { "absolutePath": "tokenboost-solidity/contracts/widget/Actions.sol", "file": "./Actions.sol", "id": 4785, "nodeType": "ImportDirective", "scope": 5115, "sourceUnit": 4482, "src": "26:23:23", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": null, "fullyImplemented": true, "id": 5114, "linearizedBaseContracts": [ 5114 ], "name": "Tables", "nodeType": "ContractDefinition", "nodes": [ { "id": 4788, "libraryName": { "contractScope": null, "id": 4786, "name": "Actions", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4481, "src": "78:7:23", "typeDescriptions": { "typeIdentifier": "t_contract$_Actions_$4481", "typeString": "library Actions" } }, "nodeType": "UsingForDirective", "src": "72:33:23", "typeName": { "contractScope": null, "id": 4787, "name": "Actions.Action", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4353, "src": "90:14:23", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$4353_storage_ptr", "typeString": "struct Actions.Action" } } }, { "id": 4790, "libraryName": { "contractScope": null, "id": 4789, "name": "strings", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4333, "src": "116:7:23", "typeDescriptions": { "typeIdentifier": "t_contract$_strings_$4333", "typeString": "library strings" } }, "nodeType": "UsingForDirective", "src": "110:20:23", "typeName": null }, { "canonicalName": "Tables.Column", "id": 4801, "members": [ { "constant": false, "id": 4792, "name": "exists", "nodeType": "VariableDeclaration", "scope": 4801, "src": "160:11:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 4791, "name": "bool", "nodeType": "ElementaryTypeName", "src": "160:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4794, "name": "id", "nodeType": "VariableDeclaration", "scope": 4801, "src": "181:9:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 4793, "name": "string", "nodeType": "ElementaryTypeName", "src": "181:6:23", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4796, "name": "type_", "nodeType": "VariableDeclaration", "scope": 4801, "src": "200:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 4795, "name": "string", "nodeType": "ElementaryTypeName", "src": "200:6:23", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4798, "name": "label", "nodeType": "VariableDeclaration", "scope": 4801, "src": "222:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 4797, "name": "string", "nodeType": "ElementaryTypeName", "src": "222:6:23", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4800, "name": "action", "nodeType": "VariableDeclaration", "scope": 4801, "src": "244:21:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$4353_storage_ptr", "typeString": "struct Actions.Action" }, "typeName": { "contractScope": null, "id": 4799, "name": "Actions.Action", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4353, "src": "244:14:23", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$4353_storage_ptr", "typeString": "struct Actions.Action" } }, "value": null, "visibility": "internal" } ], "name": "Column", "nodeType": "StructDefinition", "scope": 5114, "src": "136:136:23", "visibility": "public" }, { "canonicalName": "Tables.Table", "id": 4810, "members": [ { "constant": false, "id": 4803, "name": "exists", "nodeType": "VariableDeclaration", "scope": 4810, "src": "301:11:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 4802, "name": "bool", "nodeType": "ElementaryTypeName", "src": "301:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4806, "name": "columns", "nodeType": "VariableDeclaration", "scope": 4810, "src": "322:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Column_$4801_storage_$dyn_storage_ptr", "typeString": "struct Tables.Column[]" }, "typeName": { "baseType": { "contractScope": null, "id": 4804, "name": "Column", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4801, "src": "322:6:23", "typeDescriptions": { "typeIdentifier": "t_struct$_Column_$4801_storage_ptr", "typeString": "struct Tables.Column" } }, "id": 4805, "length": null, "nodeType": "ArrayTypeName", "src": "322:8:23", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Column_$4801_storage_$dyn_storage_ptr", "typeString": "struct Tables.Column[]" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4809, "name": "rows", "nodeType": "VariableDeclaration", "scope": 4810, "src": "348:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", "typeString": "string[]" }, "typeName": { "baseType": { "id": 4807, "name": "string", "nodeType": "ElementaryTypeName", "src": "348:6:23", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "id": 4808, "length": null, "nodeType": "ArrayTypeName", "src": "348:8:23", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", "typeString": "string[]" } }, "value": null, "visibility": "internal" } ], "name": "Table", "nodeType": "StructDefinition", "scope": 5114, "src": "278:90:23", "visibility": "public" }, { "body": { "id": 4829, "nodeType": "Block", "src": "428:70:23", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "66616c7365", "id": 4816, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "451:5:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 4820, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "471:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 4819, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "458:12:23", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Column_$4801_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Tables.Column memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, "id": 4817, "name": "Column", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4801, "src": "462:6:23", "typeDescriptions": { "typeIdentifier": "t_struct$_Column_$4801_storage_ptr", "typeString": "struct Tables.Column" } }, "id": 4818, "length": null, "nodeType": "ArrayTypeName", "src": "462:8:23", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Column_$4801_storage_$dyn_storage_ptr", "typeString": "struct Tables.Column[]" } } }, "id": 4821, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "458:15:23", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Column_$4801_memory_$dyn_memory", "typeString": "struct Tables.Column memory[] memory" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 4825, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "488:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 4824, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "475:12:23", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (string memory[] memory)" }, "typeName": { "baseType": { "id": 4822, "name": "string", "nodeType": "ElementaryTypeName", "src": "479:6:23", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "id": 4823, "length": null, "nodeType": "ArrayTypeName", "src": "479:8:23", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", "typeString": "string[]" } } }, "id": 4826, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "475:15:23", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_$dyn_memory", "typeString": "string memory[] memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_array$_t_struct$_Column_$4801_memory_$dyn_memory", "typeString": "struct Tables.Column memory[] memory" }, { "typeIdentifier": "t_array$_t_string_memory_$dyn_memory", "typeString": "string memory[] memory" } ], "id": 4815, "name": "Table", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4810, "src": "445:5:23", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Table_$4810_storage_ptr_$", "typeString": "type(struct Tables.Table storage pointer)" } }, "id": 4827, "isConstant": false, "isLValue": false, "isPure": true, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "445:46:23", "typeDescriptions": { "typeIdentifier": "t_struct$_Table_$4810_memory", "typeString": "struct Tables.Table memory" } }, "functionReturnParameters": 4814, "id": 4828, "nodeType": "Return", "src": "438:53:23" } ] }, "documentation": null, "id": 4830, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "empty", "nodeType": "FunctionDefinition", "parameters": { "id": 4811, "nodeType": "ParameterList", "parameters": [], "src": "388:2:23" }, "payable": false, "returnParameters": { "id": 4814, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 4813, "name": "", "nodeType": "VariableDeclaration", "scope": 4830, "src": "414:5:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_struct$_Table_$4810_memory_ptr", "typeString": "struct Tables.Table" }, "typeName": { "contractScope": null, "id": 4812, "name": "Table", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4810, "src": "414:5:23", "typeDescriptions": { "typeIdentifier": "t_struct$_Table_$4810_storage_ptr", "typeString": "struct Tables.Table" } }, "value": null, "visibility": "internal" } ], "src": "413:14:23" }, "scope": 5114, "src": "374:124:23", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { "id": 4974, "nodeType": "Block", "src": "571:911:23", "statements": [ { "condition": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 4837, "name": "_self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4832, "src": "585:5:23", "typeDescriptions": { "typeIdentifier": "t_struct$_Table_$4810_memory_ptr", "typeString": "struct Tables.Table memory" } }, "id": 4838, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "exists", "nodeType": "MemberAccess", "referencedDeclaration": 4803, "src": "585:12:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 4972, "nodeType": "Block", "src": "1438:38:23", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "6e756c6c", "id": 4970, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1459:6:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_efbde2c3aee204a69b7696d4b10ff31137fe78e3946306284f806e2dfc68b805", "typeString": "literal_string \"null\"" }, "value": "null" }, "functionReturnParameters": 4836, "id": 4971, "nodeType": "Return", "src": "1452:13:23" } ] }, "id": 4973, "nodeType": "IfStatement", "src": "581:895:23", "trueBody": { "id": 4969, "nodeType": "Block", "src": "599:833:23", "statements": [ { "assignments": [ 4840 ], "declarations": [ { "constant": false, "id": 4840, "name": "json", "nodeType": "VariableDeclaration", "scope": 4975, "src": "613:18:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 4839, "name": "string", "nodeType": "ElementaryTypeName", "src": "613:6:23", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "id": 4842, "initialValue": { "argumentTypes": null, "hexValue": "7b22636f6c756d6e73223a5b", "id": 4841, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "634:14:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8e64e7187bf7031021ca4dc06621e631ccf0169e82e53e6eddc7651e66a38d18", "typeString": "literal_string \"{\"columns\":[\"" }, "value": "{\"columns\":[" }, "nodeType": "VariableDeclarationStatement", "src": "613:35:23" }, { "assignments": [ 4844 ], "declarations": [ { "constant": false, "id": 4844, "name": "length", "nodeType": "VariableDeclaration", "scope": 4975, "src": "662:11:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4843, "name": "uint", "nodeType": "ElementaryTypeName", "src": "662:4:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 4846, "initialValue": { "argumentTypes": null, "hexValue": "30", "id": 4845, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "676:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "662:15:23" }, { "body": { "id": 4895, "nodeType": "Block", "src": "739:250:23", "statements": [ { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 4861, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 4859, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4844, "src": "761:6:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 4860, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "770:1:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "761:10:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 4874, "nodeType": "IfStatement", "src": "757:100:23", "trueBody": { "id": 4873, "nodeType": "Block", "src": "773:84:23", "statements": [ { "expression": { "argumentTypes": null, "id": 4871, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4862, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4840, "src": "795:4:23", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "hexValue": "2c", "id": 4867, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "824:3:23", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb", "typeString": "literal_string \",\"" }, "value": "," }, "id": 4868, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 2705, "src": "824:11:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$2645_memory_ptr_$bound_to$_t_string_memory_ptr_$", "typeString": "function (string memory) pure returns (struct strings.slice memory)" } }, "id": 4869, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "824:13:23", "typeDescriptions": { "typeIdentifier": "t_struct$_slice_$2645_memory_ptr", "typeString": "struct strings.slice memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_slice_$2645_memory_ptr", "typeString": "struct strings.slice memory" } ], "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 4863, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4840, "src": "802:4:23", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 4864, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 2705, "src": "802:12:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$2645_memory_ptr_$bound_to$_t_string_memory_ptr_$", "typeString": "function (string memory) pure returns (struct strings.slice memory)" } }, "id": 4865, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "802:14:23", "typeDescriptions": { "typeIdentifier": "t_struct$_slice_$2645_memory_ptr", "typeString": "struct strings.slice memory" } }, "id": 4866, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "concat", "nodeType": "MemberAccess", "referencedDeclaration": 4218, "src": "802:21:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$2645_memory_ptr_$_t_struct$_slice_$2645_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$2645_memory_ptr_$", "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)" } }, "id": 4870, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "802:36:23", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "795:43:23", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }