tokenboost-solidity-erc20token
Version:
Solidity contracts for TokenBoost (ERC20Token)
1,088 lines (1,087 loc) • 347 kB
JSON
{
"contractName": "Elements",
"abi": [],
"bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582034fb50fe095dd244cfeee8e5f897b1fba19d0dcb3b43b6f7acba95ef6ea676c40029",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582034fb50fe095dd244cfeee8e5f897b1fba19d0dcb3b43b6f7acba95ef6ea676c40029",
"sourceMap": "105:1637:11:-;;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:11:-;;;;;;;;",
"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": [
3077
]
},
"id": 3078,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2850,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:11"
},
{
"absolutePath": "tokenboost-solidity/contracts/widget/Actions.sol",
"file": "./Actions.sol",
"id": 2851,
"nodeType": "ImportDirective",
"scope": 3078,
"sourceUnit": 2849,
"src": "26:23:11",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "tokenboost-solidity/contracts/widget/Tables.sol",
"file": "./Tables.sol",
"id": 2852,
"nodeType": "ImportDirective",
"scope": 3078,
"sourceUnit": 3458,
"src": "50:22:11",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "tokenboost-solidity/contracts/utils/strings.sol",
"file": "../utils/strings.sol",
"id": 2853,
"nodeType": "ImportDirective",
"scope": 3078,
"sourceUnit": 2701,
"src": "73:30:11",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "library",
"documentation": null,
"fullyImplemented": true,
"id": 3077,
"linearizedBaseContracts": [
3077
],
"name": "Elements",
"nodeType": "ContractDefinition",
"nodes": [
{
"id": 2855,
"libraryName": {
"contractScope": null,
"id": 2854,
"name": "strings",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2700,
"src": "134:7:11",
"typeDescriptions": {
"typeIdentifier": "t_contract$_strings_$2700",
"typeString": "library strings"
}
},
"nodeType": "UsingForDirective",
"src": "128:20:11",
"typeName": null
},
{
"id": 2858,
"libraryName": {
"contractScope": null,
"id": 2856,
"name": "Actions",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2848,
"src": "159:7:11",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Actions_$2848",
"typeString": "library Actions"
}
},
"nodeType": "UsingForDirective",
"src": "153:33:11",
"typeName": {
"contractScope": null,
"id": 2857,
"name": "Actions.Action",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2720,
"src": "171:14:11",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$2720_storage_ptr",
"typeString": "struct Actions.Action"
}
}
},
{
"id": 2861,
"libraryName": {
"contractScope": null,
"id": 2859,
"name": "Tables",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3457,
"src": "197:6:11",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Tables_$3457",
"typeString": "library Tables"
}
},
"nodeType": "UsingForDirective",
"src": "191:30:11",
"typeName": {
"contractScope": null,
"id": 2860,
"name": "Tables.Table",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3153,
"src": "208:12:11",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$3153_storage_ptr",
"typeString": "struct Tables.Table"
}
}
},
{
"canonicalName": "Elements.Element",
"id": 2876,
"members": [
{
"constant": false,
"id": 2863,
"name": "exists",
"nodeType": "VariableDeclaration",
"scope": 2876,
"src": "252:11:11",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 2862,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "252:4:11",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2865,
"name": "id",
"nodeType": "VariableDeclaration",
"scope": 2876,
"src": "273:9:11",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 2864,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "273:6:11",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2867,
"name": "type_",
"nodeType": "VariableDeclaration",
"scope": 2876,
"src": "292:12:11",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 2866,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "292:6:11",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2869,
"name": "label",
"nodeType": "VariableDeclaration",
"scope": 2876,
"src": "314:12:11",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 2868,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "314:6:11",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2871,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 2876,
"src": "336:11:11",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 2870,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "336:6:11",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2873,
"name": "action",
"nodeType": "VariableDeclaration",
"scope": 2876,
"src": "357:21:11",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$2720_storage_ptr",
"typeString": "struct Actions.Action"
},
"typeName": {
"contractScope": null,
"id": 2872,
"name": "Actions.Action",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2720,
"src": "357:14:11",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$2720_storage_ptr",
"typeString": "struct Actions.Action"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2875,
"name": "table",
"nodeType": "VariableDeclaration",
"scope": 2876,
"src": "388:18:11",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$3153_storage_ptr",
"typeString": "struct Tables.Table"
},
"typeName": {
"contractScope": null,
"id": 2874,
"name": "Tables.Table",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3153,
"src": "388:12:11",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$3153_storage_ptr",
"typeString": "struct Tables.Table"
}
},
"value": null,
"visibility": "internal"
}
],
"name": "Element",
"nodeType": "StructDefinition",
"scope": 3077,
"src": "227:186:11",
"visibility": "public"
},
{
"body": {
"id": 2895,
"nodeType": "Block",
"src": "475:87:11",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "66616c7365",
"id": 2882,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "500:5:11",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "false"
},
{
"argumentTypes": null,
"hexValue": "",
"id": 2883,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "507:2:11",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
{
"argumentTypes": null,
"hexValue": "",
"id": 2884,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "511:2:11",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
{
"argumentTypes": null,
"hexValue": "",
"id": 2885,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "515:2:11",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
{
"argumentTypes": null,
"hexValue": "",
"id": 2886,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "519:2:11",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
{
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 2887,
"name": "Actions",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2848,
"src": "523:7:11",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Actions_$2848_$",
"typeString": "type(library Actions)"
}
},
"id": 2888,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "empty",
"nodeType": "MemberAccess",
"referencedDeclaration": 2736,
"src": "523:13:11",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$2720_memory_ptr_$",
"typeString": "function () pure returns (struct Actions.Action memory)"
}
},
"id": 2889,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "523:15:11",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$2720_memory_ptr",
"typeString": "struct Actions.Action memory"
}
},
{
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 2890,
"name": "Tables",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3457,
"src": "540:6:11",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Tables_$3457_$",
"typeString": "type(library Tables)"
}
},
"id": 2891,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "empty",
"nodeType": "MemberAccess",
"referencedDeclaration": 3173,
"src": "540:12:11",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$3153_memory_ptr_$",
"typeString": "function () pure returns (struct Tables.Table memory)"
}
},
"id": 2892,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "540:14:11",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Table_$3153_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_$2720_memory_ptr",
"typeString": "struct Actions.Action memory"
},
{
"typeIdentifier": "t_struct$_Table_$3153_memory_ptr",
"typeString": "struct Tables.Table memory"
}
],
"id": 2881,
"name": "Element",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2876,
"src": "492:7:11",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_Element_$2876_storage_ptr_$",
"typeString": "type(struct Elements.Element storage pointer)"
}
},
"id": 2893,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "492:63:11",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$2876_memory",
"typeString": "struct Elements.Element memory"
}
},
"functionReturnParameters": 2880,
"id": 2894,
"nodeType": "Return",
"src": "485:70:11"
}
]
},
"documentation": null,
"id": 2896,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "empty",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2877,
"nodeType": "ParameterList",
"parameters": [],
"src": "433:2:11"
},
"payable": false,
"returnParameters": {
"id": 2880,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2879,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 2896,
"src": "459:7:11",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$2876_memory_ptr",
"typeString": "struct Elements.Element"
},
"typeName": {
"contractScope": null,
"id": 2878,
"name": "Element",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2876,
"src": "459:7:11",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$2876_storage_ptr",
"typeString": "struct Elements.Element"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "458:16:11"
},
"scope": 3077,
"src": "419:143:11",
"stateMutability": "pure",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
"id": 3075,
"nodeType": "Block",
"src": "637:1103:11",
"statements": [
{
"condition": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 2903,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2898,
"src": "651:5:11",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$2876_memory_ptr",
"typeString": "struct Elements.Element memory"
}
},
"id": 2904,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "exists",
"nodeType": "MemberAccess",
"referencedDeclaration": 2863,
"src": "651:12:11",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 3073,
"nodeType": "Block",
"src": "1696:38:11",
"statements": [
{
"expression": {
"argumentTypes": null,
"hexValue": "6e756c6c",
"id": 3071,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1717:6:11",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_efbde2c3aee204a69b7696d4b10ff31137fe78e3946306284f806e2dfc68b805",
"typeString": "literal_string \"null\""
},
"value": "null"
},
"functionReturnParameters": 2902,
"id": 3072,
"nodeType": "Return",
"src": "1710:13:11"
}
]
},
"id": 3074,
"nodeType": "IfStatement",
"src": "647:1087:11",
"trueBody": {
"id": 3070,
"nodeType": "Block",
"src": "665:1025:11",
"statements": [
{
"assignments": [
2906
],
"declarations": [
{
"constant": false,
"id": 2906,
"name": "json",
"nodeType": "VariableDeclaration",
"scope": 3076,
"src": "679:18:11",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2905,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "679:6:11",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 2908,
"initialValue": {
"argumentTypes": null,
"hexValue": "7b226964223a22",
"id": 2907,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "700:9:11",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_334dd9a3f36c190d9290f44b1b75d9f1f0e8c64c9d2b286cea8c274de5e469a6",
"typeString": "literal_string \"{\"id\":\"\""
},
"value": "{\"id\":\""
},
"nodeType": "VariableDeclarationStatement",
"src": "679:30:11"
},
{
"expression": {
"argumentTypes": null,
"id": 2919,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 2909,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2906,
"src": "723:4:11",
"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": 2914,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2898,
"src": "752:5:11",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$2876_memory_ptr",
"typeString": "struct Elements.Element memory"
}
},
"id": 2915,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "id",
"nodeType": "MemberAccess",
"referencedDeclaration": 2865,
"src": "752:8:11",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string memory"
}
},
"id": 2916,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 1072,
"src": "752:16:11",
"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": 2917,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "752:18:11",
"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": 2910,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2906,
"src": "730:4:11",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 2911,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 1072,
"src": "730:12:11",
"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": 2912,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "730:14:11",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$1012_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 2913,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 2585,
"src": "730:21:11",
"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": 2918,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "730:41:11",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "723:48:11",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 2920,
"nodeType": "ExpressionStatement",
"src": "723:48:11"
},
{
"expression": {
"argumentTypes": null,
"id": 2930,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 2921,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2906,
"src": "785:4:11",
"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": 2926,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "814:3:11",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0",
"typeString": "literal_string \"\"\""
},
"value": "\""
},
"id": 2927,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 1072,
"src": "814:11:11",
"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": 2928,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "814:13:11",
"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": 2922,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2906,
"src": "792:4:11",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 2923,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 1072,
"src": "792:12:11",
"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)"
}
},