@dnextco/tokenboost-solidity-erc223token
Version:
Solidity contracts for TokenBoost (ERC223Token)
1,088 lines (1,087 loc) • 347 kB
JSON
{
"contractName": "Elements",
"abi": [],
"bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582034fb50fe095dd244cfeee8e5f897b1fba19d0dcb3b43b6f7acba95ef6ea676c40029",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582034fb50fe095dd244cfeee8e5f897b1fba19d0dcb3b43b6f7acba95ef6ea676c40029",
"sourceMap": "105:1637:32:-;;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:32:-;;;;;;;;",
"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": "tokenboost-solidity/contracts/widget/Elements.sol",
"ast": {
"absolutePath": "tokenboost-solidity/contracts/widget/Elements.sol",
"exportedSymbols": {
"Elements": [
5833
]
},
"id": 5834,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5606,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:32"
},
{
"absolutePath": "tokenboost-solidity/contracts/widget/Actions.sol",
"file": "./Actions.sol",
"id": 5607,
"nodeType": "ImportDirective",
"scope": 5834,
"sourceUnit": 5605,
"src": "26:23:32",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "tokenboost-solidity/contracts/widget/Tables.sol",
"file": "./Tables.sol",
"id": 5608,
"nodeType": "ImportDirective",
"scope": 5834,
"sourceUnit": 6238,
"src": "50:22:32",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "tokenboost-solidity/contracts/utils/strings.sol",
"file": "../utils/strings.sol",
"id": 5609,
"nodeType": "ImportDirective",
"scope": 5834,
"sourceUnit": 5457,
"src": "73:30:32",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "library",
"documentation": null,
"fullyImplemented": true,
"id": 5833,
"linearizedBaseContracts": [
5833
],
"name": "Elements",
"nodeType": "ContractDefinition",
"nodes": [
{
"id": 5611,
"libraryName": {
"contractScope": null,
"id": 5610,
"name": "strings",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5456,
"src": "134:7:32",
"typeDescriptions": {
"typeIdentifier": "t_contract$_strings_$5456",
"typeString": "library strings"
}
},
"nodeType": "UsingForDirective",
"src": "128:20:32",
"typeName": null
},
{
"id": 5614,
"libraryName": {
"contractScope": null,
"id": 5612,
"name": "Actions",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5604,
"src": "159:7:32",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Actions_$5604",
"typeString": "library Actions"
}
},
"nodeType": "UsingForDirective",
"src": "153:33:32",
"typeName": {
"contractScope": null,
"id": 5613,
"name": "Actions.Action",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5476,
"src": "171:14:32",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$5476_storage_ptr",
"typeString": "struct Actions.Action"
}
}
},
{
"id": 5617,
"libraryName": {
"contractScope": null,
"id": 5615,
"name": "Tables",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 6237,
"src": "197:6:32",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Tables_$6237",
"typeString": "library Tables"
}
},
"nodeType": "UsingForDirective",
"src": "191:30:32",
"typeName": {
"contractScope": null,
"id": 5616,
"name": "Tables.Table",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5933,
"src": "208:12:32",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$5933_storage_ptr",
"typeString": "struct Tables.Table"
}
}
},
{
"canonicalName": "Elements.Element",
"id": 5632,
"members": [
{
"constant": false,
"id": 5619,
"name": "exists",
"nodeType": "VariableDeclaration",
"scope": 5632,
"src": "252:11:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 5618,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "252:4:32",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5621,
"name": "id",
"nodeType": "VariableDeclaration",
"scope": 5632,
"src": "273:9:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 5620,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "273:6:32",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5623,
"name": "type_",
"nodeType": "VariableDeclaration",
"scope": 5632,
"src": "292:12:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 5622,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "292:6:32",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5625,
"name": "label",
"nodeType": "VariableDeclaration",
"scope": 5632,
"src": "314:12:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 5624,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "314:6:32",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5627,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 5632,
"src": "336:11:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 5626,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "336:6:32",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5629,
"name": "action",
"nodeType": "VariableDeclaration",
"scope": 5632,
"src": "357:21:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$5476_storage_ptr",
"typeString": "struct Actions.Action"
},
"typeName": {
"contractScope": null,
"id": 5628,
"name": "Actions.Action",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5476,
"src": "357:14:32",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$5476_storage_ptr",
"typeString": "struct Actions.Action"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5631,
"name": "table",
"nodeType": "VariableDeclaration",
"scope": 5632,
"src": "388:18:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$5933_storage_ptr",
"typeString": "struct Tables.Table"
},
"typeName": {
"contractScope": null,
"id": 5630,
"name": "Tables.Table",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5933,
"src": "388:12:32",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$5933_storage_ptr",
"typeString": "struct Tables.Table"
}
},
"value": null,
"visibility": "internal"
}
],
"name": "Element",
"nodeType": "StructDefinition",
"scope": 5833,
"src": "227:186:32",
"visibility": "public"
},
{
"body": {
"id": 5651,
"nodeType": "Block",
"src": "475:87:32",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "66616c7365",
"id": 5638,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "500:5:32",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "false"
},
{
"argumentTypes": null,
"hexValue": "",
"id": 5639,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "507:2:32",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
{
"argumentTypes": null,
"hexValue": "",
"id": 5640,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "511:2:32",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
{
"argumentTypes": null,
"hexValue": "",
"id": 5641,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "515:2:32",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
{
"argumentTypes": null,
"hexValue": "",
"id": 5642,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "519:2:32",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
{
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 5643,
"name": "Actions",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5604,
"src": "523:7:32",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Actions_$5604_$",
"typeString": "type(library Actions)"
}
},
"id": 5644,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "empty",
"nodeType": "MemberAccess",
"referencedDeclaration": 5492,
"src": "523:13:32",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$5476_memory_ptr_$",
"typeString": "function () pure returns (struct Actions.Action memory)"
}
},
"id": 5645,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "523:15:32",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
"typeString": "struct Actions.Action memory"
}
},
{
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 5646,
"name": "Tables",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6237,
"src": "540:6:32",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Tables_$6237_$",
"typeString": "type(library Tables)"
}
},
"id": 5647,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "empty",
"nodeType": "MemberAccess",
"referencedDeclaration": 5953,
"src": "540:12:32",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$5933_memory_ptr_$",
"typeString": "function () pure returns (struct Tables.Table memory)"
}
},
"id": 5648,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "540:14:32",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$5933_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_$5476_memory_ptr",
"typeString": "struct Actions.Action memory"
},
{
"typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
"typeString": "struct Tables.Table memory"
}
],
"id": 5637,
"name": "Element",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5632,
"src": "492:7:32",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_Element_$5632_storage_ptr_$",
"typeString": "type(struct Elements.Element storage pointer)"
}
},
"id": 5649,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "492:63:32",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$5632_memory",
"typeString": "struct Elements.Element memory"
}
},
"functionReturnParameters": 5636,
"id": 5650,
"nodeType": "Return",
"src": "485:70:32"
}
]
},
"documentation": null,
"id": 5652,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "empty",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 5633,
"nodeType": "ParameterList",
"parameters": [],
"src": "433:2:32"
},
"payable": false,
"returnParameters": {
"id": 5636,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5635,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 5652,
"src": "459:7:32",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$5632_memory_ptr",
"typeString": "struct Elements.Element"
},
"typeName": {
"contractScope": null,
"id": 5634,
"name": "Element",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5632,
"src": "459:7:32",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$5632_storage_ptr",
"typeString": "struct Elements.Element"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "458:16:32"
},
"scope": 5833,
"src": "419:143:32",
"stateMutability": "pure",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
"id": 5831,
"nodeType": "Block",
"src": "637:1103:32",
"statements": [
{
"condition": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 5659,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5654,
"src": "651:5:32",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$5632_memory_ptr",
"typeString": "struct Elements.Element memory"
}
},
"id": 5660,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "exists",
"nodeType": "MemberAccess",
"referencedDeclaration": 5619,
"src": "651:12:32",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 5829,
"nodeType": "Block",
"src": "1696:38:32",
"statements": [
{
"expression": {
"argumentTypes": null,
"hexValue": "6e756c6c",
"id": 5827,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1717:6:32",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_efbde2c3aee204a69b7696d4b10ff31137fe78e3946306284f806e2dfc68b805",
"typeString": "literal_string \"null\""
},
"value": "null"
},
"functionReturnParameters": 5658,
"id": 5828,
"nodeType": "Return",
"src": "1710:13:32"
}
]
},
"id": 5830,
"nodeType": "IfStatement",
"src": "647:1087:32",
"trueBody": {
"id": 5826,
"nodeType": "Block",
"src": "665:1025:32",
"statements": [
{
"assignments": [
5662
],
"declarations": [
{
"constant": false,
"id": 5662,
"name": "json",
"nodeType": "VariableDeclaration",
"scope": 5832,
"src": "679:18:32",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5661,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "679:6:32",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 5664,
"initialValue": {
"argumentTypes": null,
"hexValue": "7b226964223a22",
"id": 5663,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "700:9:32",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_334dd9a3f36c190d9290f44b1b75d9f1f0e8c64c9d2b286cea8c274de5e469a6",
"typeString": "literal_string \"{\"id\":\"\""
},
"value": "{\"id\":\""
},
"nodeType": "VariableDeclarationStatement",
"src": "679:30:32"
},
{
"expression": {
"argumentTypes": null,
"id": 5675,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 5665,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5662,
"src": "723:4:32",
"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": 5670,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5654,
"src": "752:5:32",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$5632_memory_ptr",
"typeString": "struct Elements.Element memory"
}
},
"id": 5671,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "id",
"nodeType": "MemberAccess",
"referencedDeclaration": 5621,
"src": "752:8:32",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string memory"
}
},
"id": 5672,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "752:16:32",
"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": 5673,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "752:18:32",
"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": 5666,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5662,
"src": "730:4:32",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 5667,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "730:12:32",
"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": 5668,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "730:14:32",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 5669,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 5341,
"src": "730:21:32",
"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": 5674,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "730:41:32",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "723:48:32",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 5676,
"nodeType": "ExpressionStatement",
"src": "723:48:32"
},
{
"expression": {
"argumentTypes": null,
"id": 5686,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 5677,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5662,
"src": "785:4:32",
"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": 5682,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "814:3:32",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0",
"typeString": "literal_string \"\"\""
},
"value": "\""
},
"id": 5683,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "814:11:32",
"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": 5684,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "814:13:32",
"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": 5678,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5662,
"src": "792:4:32",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 5679,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "792:12:32",
"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)"
}
},