UNPKG

tokenboost-solidity

Version:
1,085 lines (1,084 loc) 258 kB
{ "contractName": "Widgets", "abi": [], "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820fba04e5ce64a2f4480f55b392b87c219c6972ea4a7bdb83ef7132e43302e24360029", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820fba04e5ce64a2f4480f55b392b87c219c6972ea4a7bdb83ef7132e43302e24360029", "sourceMap": "116:1221:17:-;;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": "116:1221:17:-;;;;;;;;", "source": "pragma solidity ^0.4.24;\n\nimport \"./Elements.sol\";\nimport \"../utils/strings.sol\";\nimport \"../utils/UintUtils.sol\";\n\nlibrary Widgets {\n using strings for *;\n using UintUtils for uint;\n using Elements for Elements.Element;\n\n struct Widget {\n string title;\n string shortDesc;\n string longDesc;\n uint width;\n Elements.Element[] elements;\n }\n\n function toJson(Widget memory _self) internal pure returns (string) {\n string memory json = '{\"title\":\"';\n json = json.toSlice().concat(_self.title.toSlice());\n json = json.toSlice().concat('\",\"shortDesc\":\"'.toSlice());\n json = json.toSlice().concat(_self.shortDesc.toSlice());\n json = json.toSlice().concat('\",\"longDesc\":\"'.toSlice());\n json = json.toSlice().concat(_self.longDesc.toSlice());\n json = json.toSlice().concat('\",\"width\":'.toSlice());\n json = json.toSlice().concat(_self.width.toString().toSlice());\n json = json.toSlice().concat(',\"elements\":['.toSlice());\n for (uint i = 0; i < _self.elements.length; i++) {\n if (i > 0) {\n json = json.toSlice().concat(','.toSlice());\n }\n json = json.toSlice().concat(_self.elements[i].toJson().toSlice());\n }\n return json.toSlice().concat(']}'.toSlice());\n }\n}", "sourcePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/widget/Widgets.sol", "ast": { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/widget/Widgets.sol", "exportedSymbols": { "Widgets": [ 4624 ] }, "id": 4625, "nodeType": "SourceUnit", "nodes": [ { "id": 4439, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:17" }, { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/widget/Elements.sol", "file": "./Elements.sol", "id": 4440, "nodeType": "ImportDirective", "scope": 4625, "sourceUnit": 4106, "src": "26:24:17", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/utils/strings.sol", "file": "../utils/strings.sol", "id": 4441, "nodeType": "ImportDirective", "scope": 4625, "sourceUnit": 3729, "src": "51:30:17", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/utils/UintUtils.sol", "file": "../utils/UintUtils.sol", "id": 4442, "nodeType": "ImportDirective", "scope": 4625, "sourceUnit": 2034, "src": "82:32:17", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": null, "fullyImplemented": true, "id": 4624, "linearizedBaseContracts": [ 4624 ], "name": "Widgets", "nodeType": "ContractDefinition", "nodes": [ { "id": 4444, "libraryName": { "contractScope": null, "id": 4443, "name": "strings", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 3728, "src": "144:7:17", "typeDescriptions": { "typeIdentifier": "t_contract$_strings_$3728", "typeString": "library strings" } }, "nodeType": "UsingForDirective", "src": "138:20:17", "typeName": null }, { "id": 4447, "libraryName": { "contractScope": null, "id": 4445, "name": "UintUtils", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2033, "src": "169:9:17", "typeDescriptions": { "typeIdentifier": "t_contract$_UintUtils_$2033", "typeString": "library UintUtils" } }, "nodeType": "UsingForDirective", "src": "163:25:17", "typeName": { "id": 4446, "name": "uint", "nodeType": "ElementaryTypeName", "src": "183:4:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, { "id": 4450, "libraryName": { "contractScope": null, "id": 4448, "name": "Elements", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4105, "src": "199:8:17", "typeDescriptions": { "typeIdentifier": "t_contract$_Elements_$4105", "typeString": "library Elements" } }, "nodeType": "UsingForDirective", "src": "193:36:17", "typeName": { "contractScope": null, "id": 4449, "name": "Elements.Element", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 3904, "src": "212:16:17", "typeDescriptions": { "typeIdentifier": "t_struct$_Element_$3904_storage_ptr", "typeString": "struct Elements.Element" } } }, { "canonicalName": "Widgets.Widget", "id": 4462, "members": [ { "constant": false, "id": 4452, "name": "title", "nodeType": "VariableDeclaration", "scope": 4462, "src": "259:12:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 4451, "name": "string", "nodeType": "ElementaryTypeName", "src": "259:6:17", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4454, "name": "shortDesc", "nodeType": "VariableDeclaration", "scope": 4462, "src": "281:16:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 4453, "name": "string", "nodeType": "ElementaryTypeName", "src": "281:6:17", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4456, "name": "longDesc", "nodeType": "VariableDeclaration", "scope": 4462, "src": "307:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 4455, "name": "string", "nodeType": "ElementaryTypeName", "src": "307:6:17", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4458, "name": "width", "nodeType": "VariableDeclaration", "scope": 4462, "src": "332:10:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4457, "name": "uint", "nodeType": "ElementaryTypeName", "src": "332:4:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4461, "name": "elements", "nodeType": "VariableDeclaration", "scope": 4462, "src": "352:27:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Element_$3904_storage_$dyn_storage_ptr", "typeString": "struct Elements.Element[]" }, "typeName": { "baseType": { "contractScope": null, "id": 4459, "name": "Elements.Element", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 3904, "src": "352:16:17", "typeDescriptions": { "typeIdentifier": "t_struct$_Element_$3904_storage_ptr", "typeString": "struct Elements.Element" } }, "id": 4460, "length": null, "nodeType": "ArrayTypeName", "src": "352:18:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Element_$3904_storage_$dyn_storage_ptr", "typeString": "struct Elements.Element[]" } }, "value": null, "visibility": "internal" } ], "name": "Widget", "nodeType": "StructDefinition", "scope": 4624, "src": "235:151:17", "visibility": "public" }, { "body": { "id": 4622, "nodeType": "Block", "src": "460:875:17", "statements": [ { "assignments": [ 4470 ], "declarations": [ { "constant": false, "id": 4470, "name": "json", "nodeType": "VariableDeclaration", "scope": 4623, "src": "470:18:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 4469, "name": "string", "nodeType": "ElementaryTypeName", "src": "470:6:17", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "id": 4472, "initialValue": { "argumentTypes": null, "hexValue": "7b227469746c65223a22", "id": 4471, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "491:12:17", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8faf2a088ae147a766277ec4af97127fb88ca29105086a4c6a1d26ef5f0e64ee", "typeString": "literal_string \"{\"title\":\"\"" }, "value": "{\"title\":\"" }, "nodeType": "VariableDeclarationStatement", "src": "470:33:17" }, { "expression": { "argumentTypes": null, "id": 4483, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4473, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4470, "src": "513:4:17", "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": 4478, "name": "_self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4464, "src": "542:5:17", "typeDescriptions": { "typeIdentifier": "t_struct$_Widget_$4462_memory_ptr", "typeString": "struct Widgets.Widget memory" } }, "id": 4479, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "title", "nodeType": "MemberAccess", "referencedDeclaration": 4452, "src": "542:11:17", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" } }, "id": 4480, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 2100, "src": "542:19:17", "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": 4481, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "542:21:17", "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": 4474, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4470, "src": "520:4:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 4475, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 2100, "src": "520:12:17", "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": 4476, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "520:14:17", "typeDescriptions": { "typeIdentifier": "t_struct$_slice_$2040_memory_ptr", "typeString": "struct strings.slice memory" } }, "id": 4477, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "concat", "nodeType": "MemberAccess", "referencedDeclaration": 3613, "src": "520:21:17", "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": 4482, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "520:44:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "513:51:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 4484, "nodeType": "ExpressionStatement", "src": "513:51:17" }, { "expression": { "argumentTypes": null, "id": 4494, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4485, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4470, "src": "574:4:17", "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": "222c2273686f727444657363223a22", "id": 4490, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "603:17:17", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_69393e7ec2bfd534b8f1bad46c7516c2dc27410f9c9f50b6dff1037139b7a621", "typeString": "literal_string \"\",\"shortDesc\":\"\"" }, "value": "\",\"shortDesc\":\"" }, "id": 4491, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 2100, "src": "603:25:17", "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": 4492, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "603:27:17", "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": 4486, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4470, "src": "581:4:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 4487, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 2100, "src": "581:12:17", "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": 4488, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "581:14:17", "typeDescriptions": { "typeIdentifier": "t_struct$_slice_$2040_memory_ptr", "typeString": "struct strings.slice memory" } }, "id": 4489, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "concat", "nodeType": "MemberAccess", "referencedDeclaration": 3613, "src": "581:21:17", "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": 4493, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "581:50:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "574:57:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 4495, "nodeType": "ExpressionStatement", "src": "574:57:17" }, { "expression": { "argumentTypes": null, "id": 4506, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4496, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4470, "src": "641:4:17", "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": 4501, "name": "_self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4464, "src": "670:5:17", "typeDescriptions": { "typeIdentifier": "t_struct$_Widget_$4462_memory_ptr", "typeString": "struct Widgets.Widget memory" } }, "id": 4502, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "shortDesc", "nodeType": "MemberAccess", "referencedDeclaration": 4454, "src": "670:15:17", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" } }, "id": 4503, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 2100, "src": "670:23:17", "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": 4504, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "670:25:17", "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": 4497, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4470, "src": "648:4:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 4498, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 2100, "src": "648:12:17", "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": 4499, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "648:14:17", "typeDescriptions": { "typeIdentifier": "t_struct$_slice_$2040_memory_ptr", "typeString": "struct strings.slice memory" } }, "id": 4500, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "concat", "nodeType": "MemberAccess", "referencedDeclaration": 3613, "src": "648:21:17", "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": 4505, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "648:48:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "641:55:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 4507, "nodeType": "ExpressionStatement", "src": "641:55:17" }, { "expression": { "argumentTypes": null, "id": 4517, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4508, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4470, "src": "706:4:17", "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": "222c226c6f6e6744657363223a22", "id": 4513, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "735:16:17", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9c73c9153268d5611a90d7fde0e17bf83f239a24ca472937aabdc593cf87a232", "typeString": "literal_string \"\",\"longDesc\":\"\"" }, "value": "\",\"longDesc\":\"" }, "id": 4514, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 2100, "src": "735:24:17", "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": 4515, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "735:26:17", "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": 4509, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4470, "src": "713:4:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 4510, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 2100, "src": "713:12:17", "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": 4511, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "713:14:17", "typeDescriptions": { "typeIdentifier": "t_struct$_slice_$2040_memory_ptr", "typeString": "struct strings.slice memory" } }, "id": 4512, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "concat", "nodeType": "MemberAccess", "referencedDeclaration": 3613, "src": "713:21:17", "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": 4516, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "713:49:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "706:56:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 4518, "nodeType": "ExpressionStatement", "src": "706:56:17" }, { "expression": { "argumentTypes": null, "id": 4529, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4519, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4470, "src": "772:4:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "Assignment", "operator": "=",