tokenboost-solidity
Version:
Solidity contracts for TokenBoost
1,085 lines • 348 kB
JSON
{
"contractName": "Elements",
"abi": [],
"bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820cba87f8eaca91a07137135d28dfc0b47cc1badf24ab7c394a81b81edf728a75f0029",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820cba87f8eaca91a07137135d28dfc0b47cc1badf24ab7c394a81b81edf728a75f0029",
"sourceMap": "105:1637:15:-;;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": "105:1637:15:-;;;;;;;;",
"source": "pragma solidity ^0.4.24;\n\nimport \"./Actions.sol\";\nimport \"./Tables.sol\";\nimport \"../utils/strings.sol\";\n\nlibrary Elements {\n using strings for *;\n using Actions for Actions.Action;\n using Tables for Tables.Table;\n\n struct Element {\n bool exists;\n string id;\n string type_;\n string label;\n string data;\n Actions.Action action;\n Tables.Table table;\n }\n\n function empty() internal pure returns (Element memory) {\n return Element(false, \"\", \"\", \"\", \"\", Actions.empty(), Tables.empty());\n }\n\n function toJson(Element 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(', \"action\":'.toSlice());\n json = json.toSlice().concat(_self.action.toJson().toSlice());\n }\n if (_self.table.exists) {\n json = json.toSlice().concat(', \"table\":'.toSlice());\n json = json.toSlice().concat(_self.table.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 json = json.toSlice().concat('\",\"data\":'.toSlice());\n json = json.toSlice().concat(_self.data.toSlice());\n return json.toSlice().concat('}'.toSlice());\n } else {\n return \"null\";\n }\n }\n}",
"sourcePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/widget/Elements.sol",
"ast": {
"absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/widget/Elements.sol",
"exportedSymbols": {
"Elements": [
4105
]
},
"id": 4106,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 3878,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:15"
},
{
"absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/widget/Actions.sol",
"file": "./Actions.sol",
"id": 3879,
"nodeType": "ImportDirective",
"scope": 4106,
"sourceUnit": 3877,
"src": "26:23:15",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/widget/Tables.sol",
"file": "./Tables.sol",
"id": 3880,
"nodeType": "ImportDirective",
"scope": 4106,
"sourceUnit": 4438,
"src": "50:22:15",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/utils/strings.sol",
"file": "../utils/strings.sol",
"id": 3881,
"nodeType": "ImportDirective",
"scope": 4106,
"sourceUnit": 3729,
"src": "73:30:15",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "library",
"documentation": null,
"fullyImplemented": true,
"id": 4105,
"linearizedBaseContracts": [
4105
],
"name": "Elements",
"nodeType": "ContractDefinition",
"nodes": [
{
"id": 3883,
"libraryName": {
"contractScope": null,
"id": 3882,
"name": "strings",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3728,
"src": "134:7:15",
"typeDescriptions": {
"typeIdentifier": "t_contract$_strings_$3728",
"typeString": "library strings"
}
},
"nodeType": "UsingForDirective",
"src": "128:20:15",
"typeName": null
},
{
"id": 3886,
"libraryName": {
"contractScope": null,
"id": 3884,
"name": "Actions",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3876,
"src": "159:7:15",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Actions_$3876",
"typeString": "library Actions"
}
},
"nodeType": "UsingForDirective",
"src": "153:33:15",
"typeName": {
"contractScope": null,
"id": 3885,
"name": "Actions.Action",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3748,
"src": "171:14:15",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$3748_storage_ptr",
"typeString": "struct Actions.Action"
}
}
},
{
"id": 3889,
"libraryName": {
"contractScope": null,
"id": 3887,
"name": "Tables",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 4437,
"src": "197:6:15",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Tables_$4437",
"typeString": "library Tables"
}
},
"nodeType": "UsingForDirective",
"src": "191:30:15",
"typeName": {
"contractScope": null,
"id": 3888,
"name": "Tables.Table",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 4133,
"src": "208:12:15",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$4133_storage_ptr",
"typeString": "struct Tables.Table"
}
}
},
{
"canonicalName": "Elements.Element",
"id": 3904,
"members": [
{
"constant": false,
"id": 3891,
"name": "exists",
"nodeType": "VariableDeclaration",
"scope": 3904,
"src": "252:11:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 3890,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "252:4:15",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 3893,
"name": "id",
"nodeType": "VariableDeclaration",
"scope": 3904,
"src": "273:9:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 3892,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "273:6:15",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 3895,
"name": "type_",
"nodeType": "VariableDeclaration",
"scope": 3904,
"src": "292:12:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 3894,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "292:6:15",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 3897,
"name": "label",
"nodeType": "VariableDeclaration",
"scope": 3904,
"src": "314:12:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 3896,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "314:6:15",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 3899,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 3904,
"src": "336:11:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 3898,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "336:6:15",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 3901,
"name": "action",
"nodeType": "VariableDeclaration",
"scope": 3904,
"src": "357:21:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$3748_storage_ptr",
"typeString": "struct Actions.Action"
},
"typeName": {
"contractScope": null,
"id": 3900,
"name": "Actions.Action",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3748,
"src": "357:14:15",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$3748_storage_ptr",
"typeString": "struct Actions.Action"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 3903,
"name": "table",
"nodeType": "VariableDeclaration",
"scope": 3904,
"src": "388:18:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$4133_storage_ptr",
"typeString": "struct Tables.Table"
},
"typeName": {
"contractScope": null,
"id": 3902,
"name": "Tables.Table",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 4133,
"src": "388:12:15",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$4133_storage_ptr",
"typeString": "struct Tables.Table"
}
},
"value": null,
"visibility": "internal"
}
],
"name": "Element",
"nodeType": "StructDefinition",
"scope": 4105,
"src": "227:186:15",
"visibility": "public"
},
{
"body": {
"id": 3923,
"nodeType": "Block",
"src": "475:87:15",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "66616c7365",
"id": 3910,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "500:5:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "false"
},
{
"argumentTypes": null,
"hexValue": "",
"id": 3911,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "507:2:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
{
"argumentTypes": null,
"hexValue": "",
"id": 3912,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "511:2:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
{
"argumentTypes": null,
"hexValue": "",
"id": 3913,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "515:2:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
{
"argumentTypes": null,
"hexValue": "",
"id": 3914,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "519:2:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
{
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 3915,
"name": "Actions",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3876,
"src": "523:7:15",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Actions_$3876_$",
"typeString": "type(library Actions)"
}
},
"id": 3916,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "empty",
"nodeType": "MemberAccess",
"referencedDeclaration": 3764,
"src": "523:13:15",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$3748_memory_ptr_$",
"typeString": "function () pure returns (struct Actions.Action memory)"
}
},
"id": 3917,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "523:15:15",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$3748_memory_ptr",
"typeString": "struct Actions.Action memory"
}
},
{
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 3918,
"name": "Tables",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4437,
"src": "540:6:15",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Tables_$4437_$",
"typeString": "type(library Tables)"
}
},
"id": 3919,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "empty",
"nodeType": "MemberAccess",
"referencedDeclaration": 4153,
"src": "540:12:15",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$4133_memory_ptr_$",
"typeString": "function () pure returns (struct Tables.Table memory)"
}
},
"id": 3920,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "540:14:15",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$4133_memory_ptr",
"typeString": "struct Tables.Table memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
{
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
{
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
{
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
{
"typeIdentifier": "t_struct$_Action_$3748_memory_ptr",
"typeString": "struct Actions.Action memory"
},
{
"typeIdentifier": "t_struct$_Table_$4133_memory_ptr",
"typeString": "struct Tables.Table memory"
}
],
"id": 3909,
"name": "Element",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3904,
"src": "492:7:15",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_Element_$3904_storage_ptr_$",
"typeString": "type(struct Elements.Element storage pointer)"
}
},
"id": 3921,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "492:63:15",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$3904_memory",
"typeString": "struct Elements.Element memory"
}
},
"functionReturnParameters": 3908,
"id": 3922,
"nodeType": "Return",
"src": "485:70:15"
}
]
},
"documentation": null,
"id": 3924,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "empty",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 3905,
"nodeType": "ParameterList",
"parameters": [],
"src": "433:2:15"
},
"payable": false,
"returnParameters": {
"id": 3908,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3907,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 3924,
"src": "459:7:15",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$3904_memory_ptr",
"typeString": "struct Elements.Element"
},
"typeName": {
"contractScope": null,
"id": 3906,
"name": "Element",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3904,
"src": "459:7:15",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$3904_storage_ptr",
"typeString": "struct Elements.Element"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "458:16:15"
},
"scope": 4105,
"src": "419:143:15",
"stateMutability": "pure",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
"id": 4103,
"nodeType": "Block",
"src": "637:1103:15",
"statements": [
{
"condition": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 3931,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3926,
"src": "651:5:15",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$3904_memory_ptr",
"typeString": "struct Elements.Element memory"
}
},
"id": 3932,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "exists",
"nodeType": "MemberAccess",
"referencedDeclaration": 3891,
"src": "651:12:15",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 4101,
"nodeType": "Block",
"src": "1696:38:15",
"statements": [
{
"expression": {
"argumentTypes": null,
"hexValue": "6e756c6c",
"id": 4099,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1717:6:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_efbde2c3aee204a69b7696d4b10ff31137fe78e3946306284f806e2dfc68b805",
"typeString": "literal_string \"null\""
},
"value": "null"
},
"functionReturnParameters": 3930,
"id": 4100,
"nodeType": "Return",
"src": "1710:13:15"
}
]
},
"id": 4102,
"nodeType": "IfStatement",
"src": "647:1087:15",
"trueBody": {
"id": 4098,
"nodeType": "Block",
"src": "665:1025:15",
"statements": [
{
"assignments": [
3934
],
"declarations": [
{
"constant": false,
"id": 3934,
"name": "json",
"nodeType": "VariableDeclaration",
"scope": 4104,
"src": "679:18:15",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 3933,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "679:6:15",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 3936,
"initialValue": {
"argumentTypes": null,
"hexValue": "7b226964223a22",
"id": 3935,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "700:9:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_334dd9a3f36c190d9290f44b1b75d9f1f0e8c64c9d2b286cea8c274de5e469a6",
"typeString": "literal_string \"{\"id\":\"\""
},
"value": "{\"id\":\""
},
"nodeType": "VariableDeclarationStatement",
"src": "679:30:15"
},
{
"expression": {
"argumentTypes": null,
"id": 3947,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 3937,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3934,
"src": "723:4:15",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 3942,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3926,
"src": "752:5:15",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$3904_memory_ptr",
"typeString": "struct Elements.Element memory"
}
},
"id": 3943,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "id",
"nodeType": "MemberAccess",
"referencedDeclaration": 3893,
"src": "752:8:15",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string memory"
}
},
"id": 3944,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 2100,
"src": "752:16:15",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$2040_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 3945,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "752:18:15",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$2040_memory_ptr",
"typeString": "struct strings.slice memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_struct$_slice_$2040_memory_ptr",
"typeString": "struct strings.slice memory"
}
],
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 3938,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3934,
"src": "730:4:15",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 3939,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 2100,
"src": "730:12:15",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$2040_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 3940,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "730:14:15",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$2040_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 3941,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 3613,
"src": "730:21:15",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$2040_memory_ptr_$_t_struct$_slice_$2040_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$2040_memory_ptr_$",
"typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
}
},
"id": 3946,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "730:41:15",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "723:48:15",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 3948,
"nodeType": "ExpressionStatement",
"src": "723:48:15"
},
{
"expression": {
"argumentTypes": null,
"id": 3958,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 3949,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3934,
"src": "785:4:15",
"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": "22",
"id": 3954,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "814:3:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0",
"typeString": "literal_string \"\"\""
},
"value": "\""
},
"id": 3955,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 2100,
"src": "814:11:15",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$2040_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 3956,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "814:13:15",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$2040_memory_ptr",
"typeString": "struct strings.slice memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_struct$_slice_$2040_memory_ptr",
"typeString": "struct strings.slice memory"
}
],
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 3950,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3934,
"src": "792:4:15",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 3951,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 2100,
"src": "792:12:15",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$2040_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function