@dnextco/tokenboost-solidity-erc223token
Version:
Solidity contracts for TokenBoost (ERC223Token)
1,089 lines (1,088 loc) • 258 kB
JSON
{
"contractName": "Widgets",
"abi": [],
"bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820ce809e4c5b28f658e4eb9e9baa58f14ae07cd0bdf15bc8ad0e4f311f9850bc600029",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820ce809e4c5b28f658e4eb9e9baa58f14ae07cd0bdf15bc8ad0e4f311f9850bc600029",
"sourceMap": "116:1221:36:-;;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:36:-;;;;;;;;",
"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": "tokenboost-solidity/contracts/widget/Widgets.sol",
"ast": {
"absolutePath": "tokenboost-solidity/contracts/widget/Widgets.sol",
"exportedSymbols": {
"Widgets": [
6424
]
},
"id": 6425,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6239,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:36"
},
{
"absolutePath": "tokenboost-solidity/contracts/widget/Elements.sol",
"file": "./Elements.sol",
"id": 6240,
"nodeType": "ImportDirective",
"scope": 6425,
"sourceUnit": 5834,
"src": "26:24:36",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "tokenboost-solidity/contracts/utils/strings.sol",
"file": "../utils/strings.sol",
"id": 6241,
"nodeType": "ImportDirective",
"scope": 6425,
"sourceUnit": 5457,
"src": "51:30:36",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "tokenboost-solidity/contracts/utils/UintUtils.sol",
"file": "../utils/UintUtils.sol",
"id": 6242,
"nodeType": "ImportDirective",
"scope": 6425,
"sourceUnit": 3762,
"src": "82:32:36",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "library",
"documentation": null,
"fullyImplemented": true,
"id": 6424,
"linearizedBaseContracts": [
6424
],
"name": "Widgets",
"nodeType": "ContractDefinition",
"nodes": [
{
"id": 6244,
"libraryName": {
"contractScope": null,
"id": 6243,
"name": "strings",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5456,
"src": "144:7:36",
"typeDescriptions": {
"typeIdentifier": "t_contract$_strings_$5456",
"typeString": "library strings"
}
},
"nodeType": "UsingForDirective",
"src": "138:20:36",
"typeName": null
},
{
"id": 6247,
"libraryName": {
"contractScope": null,
"id": 6245,
"name": "UintUtils",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3761,
"src": "169:9:36",
"typeDescriptions": {
"typeIdentifier": "t_contract$_UintUtils_$3761",
"typeString": "library UintUtils"
}
},
"nodeType": "UsingForDirective",
"src": "163:25:36",
"typeName": {
"id": 6246,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "183:4:36",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
{
"id": 6250,
"libraryName": {
"contractScope": null,
"id": 6248,
"name": "Elements",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5833,
"src": "199:8:36",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Elements_$5833",
"typeString": "library Elements"
}
},
"nodeType": "UsingForDirective",
"src": "193:36:36",
"typeName": {
"contractScope": null,
"id": 6249,
"name": "Elements.Element",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5632,
"src": "212:16:36",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$5632_storage_ptr",
"typeString": "struct Elements.Element"
}
}
},
{
"canonicalName": "Widgets.Widget",
"id": 6262,
"members": [
{
"constant": false,
"id": 6252,
"name": "title",
"nodeType": "VariableDeclaration",
"scope": 6262,
"src": "259:12:36",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 6251,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "259:6:36",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6254,
"name": "shortDesc",
"nodeType": "VariableDeclaration",
"scope": 6262,
"src": "281:16:36",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 6253,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "281:6:36",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6256,
"name": "longDesc",
"nodeType": "VariableDeclaration",
"scope": 6262,
"src": "307:15:36",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 6255,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "307:6:36",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6258,
"name": "width",
"nodeType": "VariableDeclaration",
"scope": 6262,
"src": "332:10:36",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6257,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "332:4:36",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6261,
"name": "elements",
"nodeType": "VariableDeclaration",
"scope": 6262,
"src": "352:27:36",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_Element_$5632_storage_$dyn_storage_ptr",
"typeString": "struct Elements.Element[]"
},
"typeName": {
"baseType": {
"contractScope": null,
"id": 6259,
"name": "Elements.Element",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5632,
"src": "352:16:36",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$5632_storage_ptr",
"typeString": "struct Elements.Element"
}
},
"id": 6260,
"length": null,
"nodeType": "ArrayTypeName",
"src": "352:18:36",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_Element_$5632_storage_$dyn_storage_ptr",
"typeString": "struct Elements.Element[]"
}
},
"value": null,
"visibility": "internal"
}
],
"name": "Widget",
"nodeType": "StructDefinition",
"scope": 6424,
"src": "235:151:36",
"visibility": "public"
},
{
"body": {
"id": 6422,
"nodeType": "Block",
"src": "460:875:36",
"statements": [
{
"assignments": [
6270
],
"declarations": [
{
"constant": false,
"id": 6270,
"name": "json",
"nodeType": "VariableDeclaration",
"scope": 6423,
"src": "470:18:36",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6269,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "470:6:36",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 6272,
"initialValue": {
"argumentTypes": null,
"hexValue": "7b227469746c65223a22",
"id": 6271,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "491:12:36",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_8faf2a088ae147a766277ec4af97127fb88ca29105086a4c6a1d26ef5f0e64ee",
"typeString": "literal_string \"{\"title\":\"\""
},
"value": "{\"title\":\""
},
"nodeType": "VariableDeclarationStatement",
"src": "470:33:36"
},
{
"expression": {
"argumentTypes": null,
"id": 6283,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 6273,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6270,
"src": "513:4:36",
"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": 6278,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6264,
"src": "542:5:36",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Widget_$6262_memory_ptr",
"typeString": "struct Widgets.Widget memory"
}
},
"id": 6279,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "title",
"nodeType": "MemberAccess",
"referencedDeclaration": 6252,
"src": "542:11:36",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string memory"
}
},
"id": 6280,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "542:19:36",
"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": 6281,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "542:21:36",
"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": 6274,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6270,
"src": "520:4:36",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6275,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "520:12:36",
"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": 6276,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "520:14:36",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 6277,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 5341,
"src": "520:21:36",
"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": 6282,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "520:44:36",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "513:51:36",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6284,
"nodeType": "ExpressionStatement",
"src": "513:51:36"
},
{
"expression": {
"argumentTypes": null,
"id": 6294,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 6285,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6270,
"src": "574:4:36",
"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": 6290,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "603:17:36",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_69393e7ec2bfd534b8f1bad46c7516c2dc27410f9c9f50b6dff1037139b7a621",
"typeString": "literal_string \"\",\"shortDesc\":\"\""
},
"value": "\",\"shortDesc\":\""
},
"id": 6291,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "603:25:36",
"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": 6292,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "603:27:36",
"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": 6286,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6270,
"src": "581:4:36",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6287,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "581:12:36",
"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": 6288,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "581:14:36",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 6289,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 5341,
"src": "581:21:36",
"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": 6293,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "581:50:36",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "574:57:36",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6295,
"nodeType": "ExpressionStatement",
"src": "574:57:36"
},
{
"expression": {
"argumentTypes": null,
"id": 6306,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 6296,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6270,
"src": "641:4:36",
"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": 6301,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6264,
"src": "670:5:36",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Widget_$6262_memory_ptr",
"typeString": "struct Widgets.Widget memory"
}
},
"id": 6302,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "shortDesc",
"nodeType": "MemberAccess",
"referencedDeclaration": 6254,
"src": "670:15:36",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string memory"
}
},
"id": 6303,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "670:23:36",
"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": 6304,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "670:25:36",
"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": 6297,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6270,
"src": "648:4:36",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6298,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "648:12:36",
"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": 6299,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "648:14:36",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 6300,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 5341,
"src": "648:21:36",
"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": 6305,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "648:48:36",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "641:55:36",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6307,
"nodeType": "ExpressionStatement",
"src": "641:55:36"
},
{
"expression": {
"argumentTypes": null,
"id": 6317,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 6308,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6270,
"src": "706:4:36",
"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": 6313,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "735:16:36",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_9c73c9153268d5611a90d7fde0e17bf83f239a24ca472937aabdc593cf87a232",
"typeString": "literal_string \"\",\"longDesc\":\"\""
},
"value": "\",\"longDesc\":\""
},
"id": 6314,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "735:24:36",
"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": 6315,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "735:26:36",
"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": 6309,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6270,
"src": "713:4:36",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6310,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "713:12:36",
"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": 6311,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "713:14:36",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 6312,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 5341,
"src": "713:21:36",
"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": 6316,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "713:49:36",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "706:56:36",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6318,
"nodeType": "ExpressionStatement",
"src": "706:56:36"
},
{
"expression": {
"argumentTypes": null,
"id": 6329,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 6319,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6270,
"src": "772:4:36",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{