UNPKG

tokenboost-solidity-erc20token

Version:
1,053 lines (1,052 loc) 495 kB
{ "contractName": "Tables", "abi": [], "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058204d5d9f1c291541beb4db8ff2a9396ef28fb34f2fd058f326081ef2981ddba2130029", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058204d5d9f1c291541beb4db8ff2a9396ef28fb34f2fd058f326081ef2981ddba2130029", "sourceMap": "51:2348:13:-;;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:13:-;;;;;;;;", "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": [ 3457 ] }, "id": 3458, "nodeType": "SourceUnit", "nodes": [ { "id": 3127, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:13" }, { "absolutePath": "tokenboost-solidity/contracts/widget/Actions.sol", "file": "./Actions.sol", "id": 3128, "nodeType": "ImportDirective", "scope": 3458, "sourceUnit": 2849, "src": "26:23:13", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": null, "fullyImplemented": true, "id": 3457, "linearizedBaseContracts": [ 3457 ], "name": "Tables", "nodeType": "ContractDefinition", "nodes": [ { "id": 3131, "libraryName": { "contractScope": null, "id": 3129, "name": "Actions", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2848, "src": "78:7:13", "typeDescriptions": { "typeIdentifier": "t_contract$_Actions_$2848", "typeString": "library Actions" } }, "nodeType": "UsingForDirective", "src": "72:33:13", "typeName": { "contractScope": null, "id": 3130, "name": "Actions.Action", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2720, "src": "90:14:13", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$2720_storage_ptr", "typeString": "struct Actions.Action" } } }, { "id": 3133, "libraryName": { "contractScope": null, "id": 3132, "name": "strings", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2700, "src": "116:7:13", "typeDescriptions": { "typeIdentifier": "t_contract$_strings_$2700", "typeString": "library strings" } }, "nodeType": "UsingForDirective", "src": "110:20:13", "typeName": null }, { "canonicalName": "Tables.Column", "id": 3144, "members": [ { "constant": false, "id": 3135, "name": "exists", "nodeType": "VariableDeclaration", "scope": 3144, "src": "160:11:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3134, "name": "bool", "nodeType": "ElementaryTypeName", "src": "160:4:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3137, "name": "id", "nodeType": "VariableDeclaration", "scope": 3144, "src": "181:9:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 3136, "name": "string", "nodeType": "ElementaryTypeName", "src": "181:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3139, "name": "type_", "nodeType": "VariableDeclaration", "scope": 3144, "src": "200:12:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 3138, "name": "string", "nodeType": "ElementaryTypeName", "src": "200:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3141, "name": "label", "nodeType": "VariableDeclaration", "scope": 3144, "src": "222:12:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 3140, "name": "string", "nodeType": "ElementaryTypeName", "src": "222:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3143, "name": "action", "nodeType": "VariableDeclaration", "scope": 3144, "src": "244:21:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$2720_storage_ptr", "typeString": "struct Actions.Action" }, "typeName": { "contractScope": null, "id": 3142, "name": "Actions.Action", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2720, "src": "244:14:13", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$2720_storage_ptr", "typeString": "struct Actions.Action" } }, "value": null, "visibility": "internal" } ], "name": "Column", "nodeType": "StructDefinition", "scope": 3457, "src": "136:136:13", "visibility": "public" }, { "canonicalName": "Tables.Table", "id": 3153, "members": [ { "constant": false, "id": 3146, "name": "exists", "nodeType": "VariableDeclaration", "scope": 3153, "src": "301:11:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3145, "name": "bool", "nodeType": "ElementaryTypeName", "src": "301:4:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3149, "name": "columns", "nodeType": "VariableDeclaration", "scope": 3153, "src": "322:16:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Column_$3144_storage_$dyn_storage_ptr", "typeString": "struct Tables.Column[]" }, "typeName": { "baseType": { "contractScope": null, "id": 3147, "name": "Column", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 3144, "src": "322:6:13", "typeDescriptions": { "typeIdentifier": "t_struct$_Column_$3144_storage_ptr", "typeString": "struct Tables.Column" } }, "id": 3148, "length": null, "nodeType": "ArrayTypeName", "src": "322:8:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Column_$3144_storage_$dyn_storage_ptr", "typeString": "struct Tables.Column[]" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3152, "name": "rows", "nodeType": "VariableDeclaration", "scope": 3153, "src": "348:13:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", "typeString": "string[]" }, "typeName": { "baseType": { "id": 3150, "name": "string", "nodeType": "ElementaryTypeName", "src": "348:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "id": 3151, "length": null, "nodeType": "ArrayTypeName", "src": "348:8:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", "typeString": "string[]" } }, "value": null, "visibility": "internal" } ], "name": "Table", "nodeType": "StructDefinition", "scope": 3457, "src": "278:90:13", "visibility": "public" }, { "body": { "id": 3172, "nodeType": "Block", "src": "428:70:13", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "66616c7365", "id": 3159, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "451:5:13", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 3163, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "471:1:13", "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": 3162, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "458:12:13", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Column_$3144_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Tables.Column memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, "id": 3160, "name": "Column", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 3144, "src": "462:6:13", "typeDescriptions": { "typeIdentifier": "t_struct$_Column_$3144_storage_ptr", "typeString": "struct Tables.Column" } }, "id": 3161, "length": null, "nodeType": "ArrayTypeName", "src": "462:8:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Column_$3144_storage_$dyn_storage_ptr", "typeString": "struct Tables.Column[]" } } }, "id": 3164, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "458:15:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Column_$3144_memory_$dyn_memory", "typeString": "struct Tables.Column memory[] memory" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 3168, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "488:1:13", "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": 3167, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", "src": "475:12:13", "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": 3165, "name": "string", "nodeType": "ElementaryTypeName", "src": "479:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "id": 3166, "length": null, "nodeType": "ArrayTypeName", "src": "479:8:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", "typeString": "string[]" } } }, "id": 3169, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "475:15:13", "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_$3144_memory_$dyn_memory", "typeString": "struct Tables.Column memory[] memory" }, { "typeIdentifier": "t_array$_t_string_memory_$dyn_memory", "typeString": "string memory[] memory" } ], "id": 3158, "name": "Table", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3153, "src": "445:5:13", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Table_$3153_storage_ptr_$", "typeString": "type(struct Tables.Table storage pointer)" } }, "id": 3170, "isConstant": false, "isLValue": false, "isPure": true, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "445:46:13", "typeDescriptions": { "typeIdentifier": "t_struct$_Table_$3153_memory", "typeString": "struct Tables.Table memory" } }, "functionReturnParameters": 3157, "id": 3171, "nodeType": "Return", "src": "438:53:13" } ] }, "documentation": null, "id": 3173, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "empty", "nodeType": "FunctionDefinition", "parameters": { "id": 3154, "nodeType": "ParameterList", "parameters": [], "src": "388:2:13" }, "payable": false, "returnParameters": { "id": 3157, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3156, "name": "", "nodeType": "VariableDeclaration", "scope": 3173, "src": "414:5:13", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_struct$_Table_$3153_memory_ptr", "typeString": "struct Tables.Table" }, "typeName": { "contractScope": null, "id": 3155, "name": "Table", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 3153, "src": "414:5:13", "typeDescriptions": { "typeIdentifier": "t_struct$_Table_$3153_storage_ptr", "typeString": "struct Tables.Table" } }, "value": null, "visibility": "internal" } ], "src": "413:14:13" }, "scope": 3457, "src": "374:124:13", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { "id": 3317, "nodeType": "Block", "src": "571:911:13", "statements": [ { "condition": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3180, "name": "_self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3175, "src": "585:5:13", "typeDescriptions": { "typeIdentifier": "t_struct$_Table_$3153_memory_ptr", "typeString": "struct Tables.Table memory" } }, "id": 3181, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "exists", "nodeType": "MemberAccess", "referencedDeclaration": 3146, "src": "585:12:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 3315, "nodeType": "Block", "src": "1438:38:13", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "6e756c6c", "id": 3313, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1459:6:13", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_efbde2c3aee204a69b7696d4b10ff31137fe78e3946306284f806e2dfc68b805", "typeString": "literal_string \"null\"" }, "value": "null" }, "functionReturnParameters": 3179, "id": 3314, "nodeType": "Return", "src": "1452:13:13" } ] }, "id": 3316, "nodeType": "IfStatement", "src": "581:895:13", "trueBody": { "id": 3312, "nodeType": "Block", "src": "599:833:13", "statements": [ { "assignments": [ 3183 ], "declarations": [ { "constant": false, "id": 3183, "name": "json", "nodeType": "VariableDeclaration", "scope": 3318, "src": "613:18:13", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3182, "name": "string", "nodeType": "ElementaryTypeName", "src": "613:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "id": 3185, "initialValue": { "argumentTypes": null, "hexValue": "7b22636f6c756d6e73223a5b", "id": 3184, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "634:14:13", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8e64e7187bf7031021ca4dc06621e631ccf0169e82e53e6eddc7651e66a38d18", "typeString": "literal_string \"{\"columns\":[\"" }, "value": "{\"columns\":[" }, "nodeType": "VariableDeclarationStatement", "src": "613:35:13" }, { "assignments": [ 3187 ], "declarations": [ { "constant": false, "id": 3187, "name": "length", "nodeType": "VariableDeclaration", "scope": 3318, "src": "662:11:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3186, "name": "uint", "nodeType": "ElementaryTypeName", "src": "662:4:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 3189, "initialValue": { "argumentTypes": null, "hexValue": "30", "id": 3188, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "676:1:13", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "662:15:13" }, { "body": { "id": 3238, "nodeType": "Block", "src": "739:250:13", "statements": [ { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3204, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3202, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3187, "src": "761:6:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3203, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "770:1:13", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "761:10:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 3217, "nodeType": "IfStatement", "src": "757:100:13", "trueBody": { "id": 3216, "nodeType": "Block", "src": "773:84:13", "statements": [ { "expression": { "argumentTypes": null, "id": 3214, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 3205, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3183, "src": "795:4:13", "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": 3210, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "824:3:13", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb", "typeString": "literal_string \",\"" }, "value": "," }, "id": 3211, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 1072, "src": "824:11:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1012_memory_ptr_$bound_to$_t_string_memory_ptr_$", "typeString": "function (string memory) pure returns (struct strings.slice memory)" } }, "id": 3212, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "824:13:13", "typeDescriptions": { "typeIdentifier": "t_struct$_slice_$1012_memory_ptr", "typeString": "struct strings.slice memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_slice_$1012_memory_ptr", "typeString": "struct strings.slice memory" } ], "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 3206, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3183, "src": "802:4:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 3207, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 1072, "src": "802:12:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$1012_memory_ptr_$bound_to$_t_string_memory_ptr_$", "typeString": "function (string memory) pure returns (struct strings.slice memory)" } }, "id": 3208, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "802:14:13", "typeDescriptions": { "typeIdentifier": "t_struct$_slice_$1012_memory_ptr", "typeString": "struct strings.slice memory" } }, "id": 3209, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "concat", "nodeType": "MemberAccess", "referencedDeclaration": 2585, "src": "802:21:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$1012_memory_ptr_$_t_struct$_slice_$1012_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$1012_memory_ptr_$", "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)" } }, "id": 3213, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "802:36:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "795:43:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }