tokenboost-solidity-erc20token
Version:
Solidity contracts for TokenBoost (ERC20Token)
1,053 lines (1,052 loc) • 495 kB
JSON
{
"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"
}