tokenboost-solidity
Version:
Solidity contracts for TokenBoost
1,085 lines (1,084 loc) • 258 kB
JSON
{
"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": "=",