@dnextco/tokenboost-solidity-erc223token
Version:
Solidity contracts for TokenBoost (ERC223Token)
1,053 lines (1,052 loc) • 495 kB
JSON
{
"contractName": "Tables",
"abi": [],
"bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058204d5d9f1c291541beb4db8ff2a9396ef28fb34f2fd058f326081ef2981ddba2130029",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058204d5d9f1c291541beb4db8ff2a9396ef28fb34f2fd058f326081ef2981ddba2130029",
"sourceMap": "51:2348:35:-;;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:35:-;;;;;;;;",
"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": [
6237
]
},
"id": 6238,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5907,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:35"
},
{
"absolutePath": "tokenboost-solidity/contracts/widget/Actions.sol",
"file": "./Actions.sol",
"id": 5908,
"nodeType": "ImportDirective",
"scope": 6238,
"sourceUnit": 5605,
"src": "26:23:35",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "library",
"documentation": null,
"fullyImplemented": true,
"id": 6237,
"linearizedBaseContracts": [
6237
],
"name": "Tables",
"nodeType": "ContractDefinition",
"nodes": [
{
"id": 5911,
"libraryName": {
"contractScope": null,
"id": 5909,
"name": "Actions",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5604,
"src": "78:7:35",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Actions_$5604",
"typeString": "library Actions"
}
},
"nodeType": "UsingForDirective",
"src": "72:33:35",
"typeName": {
"contractScope": null,
"id": 5910,
"name": "Actions.Action",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5476,
"src": "90:14:35",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$5476_storage_ptr",
"typeString": "struct Actions.Action"
}
}
},
{
"id": 5913,
"libraryName": {
"contractScope": null,
"id": 5912,
"name": "strings",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5456,
"src": "116:7:35",
"typeDescriptions": {
"typeIdentifier": "t_contract$_strings_$5456",
"typeString": "library strings"
}
},
"nodeType": "UsingForDirective",
"src": "110:20:35",
"typeName": null
},
{
"canonicalName": "Tables.Column",
"id": 5924,
"members": [
{
"constant": false,
"id": 5915,
"name": "exists",
"nodeType": "VariableDeclaration",
"scope": 5924,
"src": "160:11:35",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 5914,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "160:4:35",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5917,
"name": "id",
"nodeType": "VariableDeclaration",
"scope": 5924,
"src": "181:9:35",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 5916,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "181:6:35",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5919,
"name": "type_",
"nodeType": "VariableDeclaration",
"scope": 5924,
"src": "200:12:35",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 5918,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "200:6:35",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5921,
"name": "label",
"nodeType": "VariableDeclaration",
"scope": 5924,
"src": "222:12:35",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 5920,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "222:6:35",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5923,
"name": "action",
"nodeType": "VariableDeclaration",
"scope": 5924,
"src": "244:21:35",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$5476_storage_ptr",
"typeString": "struct Actions.Action"
},
"typeName": {
"contractScope": null,
"id": 5922,
"name": "Actions.Action",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5476,
"src": "244:14:35",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$5476_storage_ptr",
"typeString": "struct Actions.Action"
}
},
"value": null,
"visibility": "internal"
}
],
"name": "Column",
"nodeType": "StructDefinition",
"scope": 6237,
"src": "136:136:35",
"visibility": "public"
},
{
"canonicalName": "Tables.Table",
"id": 5933,
"members": [
{
"constant": false,
"id": 5926,
"name": "exists",
"nodeType": "VariableDeclaration",
"scope": 5933,
"src": "301:11:35",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 5925,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "301:4:35",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5929,
"name": "columns",
"nodeType": "VariableDeclaration",
"scope": 5933,
"src": "322:16:35",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_Column_$5924_storage_$dyn_storage_ptr",
"typeString": "struct Tables.Column[]"
},
"typeName": {
"baseType": {
"contractScope": null,
"id": 5927,
"name": "Column",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5924,
"src": "322:6:35",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Column_$5924_storage_ptr",
"typeString": "struct Tables.Column"
}
},
"id": 5928,
"length": null,
"nodeType": "ArrayTypeName",
"src": "322:8:35",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_Column_$5924_storage_$dyn_storage_ptr",
"typeString": "struct Tables.Column[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5932,
"name": "rows",
"nodeType": "VariableDeclaration",
"scope": 5933,
"src": "348:13:35",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
"typeString": "string[]"
},
"typeName": {
"baseType": {
"id": 5930,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "348:6:35",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"id": 5931,
"length": null,
"nodeType": "ArrayTypeName",
"src": "348:8:35",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
"typeString": "string[]"
}
},
"value": null,
"visibility": "internal"
}
],
"name": "Table",
"nodeType": "StructDefinition",
"scope": 6237,
"src": "278:90:35",
"visibility": "public"
},
{
"body": {
"id": 5952,
"nodeType": "Block",
"src": "428:70:35",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "66616c7365",
"id": 5939,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "451:5:35",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "false"
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 5943,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "471:1:35",
"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": 5942,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "NewExpression",
"src": "458:12:35",
"typeDescriptions": {
"typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Column_$5924_memory_$dyn_memory_$",
"typeString": "function (uint256) pure returns (struct Tables.Column memory[] memory)"
},
"typeName": {
"baseType": {
"contractScope": null,
"id": 5940,
"name": "Column",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5924,
"src": "462:6:35",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Column_$5924_storage_ptr",
"typeString": "struct Tables.Column"
}
},
"id": 5941,
"length": null,
"nodeType": "ArrayTypeName",
"src": "462:8:35",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_Column_$5924_storage_$dyn_storage_ptr",
"typeString": "struct Tables.Column[]"
}
}
},
"id": 5944,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "458:15:35",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_Column_$5924_memory_$dyn_memory",
"typeString": "struct Tables.Column memory[] memory"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 5948,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "488:1:35",
"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": 5947,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "NewExpression",
"src": "475:12:35",
"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": 5945,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "479:6:35",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"id": 5946,
"length": null,
"nodeType": "ArrayTypeName",
"src": "479:8:35",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
"typeString": "string[]"
}
}
},
"id": 5949,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "475:15:35",
"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_$5924_memory_$dyn_memory",
"typeString": "struct Tables.Column memory[] memory"
},
{
"typeIdentifier": "t_array$_t_string_memory_$dyn_memory",
"typeString": "string memory[] memory"
}
],
"id": 5938,
"name": "Table",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5933,
"src": "445:5:35",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_Table_$5933_storage_ptr_$",
"typeString": "type(struct Tables.Table storage pointer)"
}
},
"id": 5950,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "445:46:35",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$5933_memory",
"typeString": "struct Tables.Table memory"
}
},
"functionReturnParameters": 5937,
"id": 5951,
"nodeType": "Return",
"src": "438:53:35"
}
]
},
"documentation": null,
"id": 5953,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "empty",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 5934,
"nodeType": "ParameterList",
"parameters": [],
"src": "388:2:35"
},
"payable": false,
"returnParameters": {
"id": 5937,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5936,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 5953,
"src": "414:5:35",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
"typeString": "struct Tables.Table"
},
"typeName": {
"contractScope": null,
"id": 5935,
"name": "Table",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5933,
"src": "414:5:35",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$5933_storage_ptr",
"typeString": "struct Tables.Table"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "413:14:35"
},
"scope": 6237,
"src": "374:124:35",
"stateMutability": "pure",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
"id": 6097,
"nodeType": "Block",
"src": "571:911:35",
"statements": [
{
"condition": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 5960,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5955,
"src": "585:5:35",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
"typeString": "struct Tables.Table memory"
}
},
"id": 5961,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "exists",
"nodeType": "MemberAccess",
"referencedDeclaration": 5926,
"src": "585:12:35",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 6095,
"nodeType": "Block",
"src": "1438:38:35",
"statements": [
{
"expression": {
"argumentTypes": null,
"hexValue": "6e756c6c",
"id": 6093,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1459:6:35",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_efbde2c3aee204a69b7696d4b10ff31137fe78e3946306284f806e2dfc68b805",
"typeString": "literal_string \"null\""
},
"value": "null"
},
"functionReturnParameters": 5959,
"id": 6094,
"nodeType": "Return",
"src": "1452:13:35"
}
]
},
"id": 6096,
"nodeType": "IfStatement",
"src": "581:895:35",
"trueBody": {
"id": 6092,
"nodeType": "Block",
"src": "599:833:35",
"statements": [
{
"assignments": [
5963
],
"declarations": [
{
"constant": false,
"id": 5963,
"name": "json",
"nodeType": "VariableDeclaration",
"scope": 6098,
"src": "613:18:35",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5962,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "613:6:35",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 5965,
"initialValue": {
"argumentTypes": null,
"hexValue": "7b22636f6c756d6e73223a5b",
"id": 5964,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "634:14:35",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_8e64e7187bf7031021ca4dc06621e631ccf0169e82e53e6eddc7651e66a38d18",
"typeString": "literal_string \"{\"columns\":[\""
},
"value": "{\"columns\":["
},
"nodeType": "VariableDeclarationStatement",
"src": "613:35:35"
},
{
"assignments": [
5967
],
"declarations": [
{
"constant": false,
"id": 5967,
"name": "length",
"nodeType": "VariableDeclaration",
"scope": 6098,
"src": "662:11:35",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 5966,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "662:4:35",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 5969,
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
"id": 5968,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "676:1:35",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
"src": "662:15:35"
},
{
"body": {
"id": 6018,
"nodeType": "Block",
"src": "739:250:35",
"statements": [
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 5984,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 5982,
"name": "length",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5967,
"src": "761:6:35",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 5983,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "770:1:35",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "761:10:35",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 5997,
"nodeType": "IfStatement",
"src": "757:100:35",
"trueBody": {
"id": 5996,
"nodeType": "Block",
"src": "773:84:35",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 5994,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 5985,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5963,
"src": "795:4:35",
"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": 5990,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "824:3:35",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb",
"typeString": "literal_string \",\""
},
"value": ","
},
"id": 5991,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "824:11:35",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 5992,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "824:13:35",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
"typeString": "struct strings.slice memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
"typeString": "struct strings.slice memory"
}
],
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 5986,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5963,
"src": "802:4:35",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 5987,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "802:12:35",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 5988,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "802:14:35",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 5989,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 5341,
"src": "802:21:35",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3768_memory_ptr_$_t_struct$_slice_$3768_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3768_memory_ptr_$",
"typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
}
},
"id": 5993,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "802:36:35",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "795:43:35",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}