tokenboost-solidity-erc20token
Version:
Solidity contracts for TokenBoost (ERC20Token)
1,089 lines (1,088 loc) • 258 kB
JSON
{
"contractName": "Widgets",
"abi": [],
"bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820ce809e4c5b28f658e4eb9e9baa58f14ae07cd0bdf15bc8ad0e4f311f9850bc600029",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820ce809e4c5b28f658e4eb9e9baa58f14ae07cd0bdf15bc8ad0e4f311f9850bc600029",
"sourceMap": "116:1221:14:-;;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:14:-;;;;;;;;",
"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": [
3644
]
},
"id": 3645,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 3459,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:14"
},
{
"absolutePath": "tokenboost-solidity/contracts/widget/Elements.sol",
"file": "./Elements.sol",
"id": 3460,
"nodeType": "ImportDirective",
"scope": 3645,
"sourceUnit": 3078,
"src": "26:24:14",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "tokenboost-solidity/contracts/utils/strings.sol",
"file": "../utils/strings.sol",
"id": 3461,
"nodeType": "ImportDirective",
"scope": 3645,
"sourceUnit": 2701,
"src": "51:30:14",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "tokenboost-solidity/contracts/utils/UintUtils.sol",
"file": "../utils/UintUtils.sol",
"id": 3462,
"nodeType": "ImportDirective",
"scope": 3645,
"sourceUnit": 1006,
"src": "82:32:14",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "library",
"documentation": null,
"fullyImplemented": true,
"id": 3644,
"linearizedBaseContracts": [
3644
],
"name": "Widgets",
"nodeType": "ContractDefinition",
"nodes": [
{
"id": 3464,
"libraryName": {
"contractScope": null,
"id": 3463,
"name": "strings",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2700,
"src": "144:7:14",
"typeDescriptions": {
"typeIdentifier": "t_contract$_strings_$2700",
"typeString": "library strings"
}
},
"nodeType": "UsingForDirective",
"src": "138:20:14",
"typeName": null
},
{
"id": 3467,
"libraryName": {
"contractScope": null,
"id": 3465,
"name": "UintUtils",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1005,
"src": "169:9:14",
"typeDescriptions": {
"typeIdentifier": "t_contract$_UintUtils_$1005",
"typeString": "library UintUtils"
}
},
"nodeType": "UsingForDirective",
"src": "163:25:14",
"typeName": {
"id": 3466,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "183:4:14",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
{
"id": 3470,
"libraryName": {
"contractScope": null,
"id": 3468,
"name": "Elements",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3077,
"src": "199:8:14",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Elements_$3077",
"typeString": "library Elements"
}
},
"nodeType": "UsingForDirective",
"src": "193:36:14",
"typeName": {
"contractScope": null,
"id": 3469,
"name": "Elements.Element",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2876,
"src": "212:16:14",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$2876_storage_ptr",
"typeString": "struct Elements.Element"
}
}
},
{
"canonicalName": "Widgets.Widget",
"id": 3482,
"members": [
{
"constant": false,
"id": 3472,
"name": "title",
"nodeType": "VariableDeclaration",
"scope": 3482,
"src": "259:12:14",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 3471,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "259:6:14",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 3474,
"name": "shortDesc",
"nodeType": "VariableDeclaration",
"scope": 3482,
"src": "281:16:14",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 3473,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "281:6:14",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 3476,
"name": "longDesc",
"nodeType": "VariableDeclaration",
"scope": 3482,
"src": "307:15:14",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 3475,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "307:6:14",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 3478,
"name": "width",
"nodeType": "VariableDeclaration",
"scope": 3482,
"src": "332:10:14",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3477,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "332:4:14",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 3481,
"name": "elements",
"nodeType": "VariableDeclaration",
"scope": 3482,
"src": "352:27:14",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_Element_$2876_storage_$dyn_storage_ptr",
"typeString": "struct Elements.Element[]"
},
"typeName": {
"baseType": {
"contractScope": null,
"id": 3479,
"name": "Elements.Element",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2876,
"src": "352:16:14",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$2876_storage_ptr",
"typeString": "struct Elements.Element"
}
},
"id": 3480,
"length": null,
"nodeType": "ArrayTypeName",
"src": "352:18:14",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_Element_$2876_storage_$dyn_storage_ptr",
"typeString": "struct Elements.Element[]"
}
},
"value": null,
"visibility": "internal"
}
],
"name": "Widget",
"nodeType": "StructDefinition",
"scope": 3644,
"src": "235:151:14",
"visibility": "public"
},
{
"body": {
"id": 3642,
"nodeType": "Block",
"src": "460:875:14",
"statements": [
{
"assignments": [
3490
],
"declarations": [
{
"constant": false,
"id": 3490,
"name": "json",
"nodeType": "VariableDeclaration",
"scope": 3643,
"src": "470:18:14",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 3489,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "470:6:14",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 3492,
"initialValue": {
"argumentTypes": null,
"hexValue": "7b227469746c65223a22",
"id": 3491,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "491:12:14",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_8faf2a088ae147a766277ec4af97127fb88ca29105086a4c6a1d26ef5f0e64ee",
"typeString": "literal_string \"{\"title\":\"\""
},
"value": "{\"title\":\""
},
"nodeType": "VariableDeclarationStatement",
"src": "470:33:14"
},
{
"expression": {
"argumentTypes": null,
"id": 3503,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 3493,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3490,
"src": "513:4:14",
"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": 3498,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3484,
"src": "542:5:14",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Widget_$3482_memory_ptr",
"typeString": "struct Widgets.Widget memory"
}
},
"id": 3499,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "title",
"nodeType": "MemberAccess",
"referencedDeclaration": 3472,
"src": "542:11:14",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string memory"
}
},
"id": 3500,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 1072,
"src": "542:19:14",
"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": 3501,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "542:21:14",
"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": 3494,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3490,
"src": "520:4:14",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 3495,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 1072,
"src": "520:12:14",
"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": 3496,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "520:14:14",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$1012_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 3497,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 2585,
"src": "520:21:14",
"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": 3502,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "520:44:14",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "513:51:14",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 3504,
"nodeType": "ExpressionStatement",
"src": "513:51:14"
},
{
"expression": {
"argumentTypes": null,
"id": 3514,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 3505,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3490,
"src": "574:4:14",
"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": 3510,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "603:17:14",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_69393e7ec2bfd534b8f1bad46c7516c2dc27410f9c9f50b6dff1037139b7a621",
"typeString": "literal_string \"\",\"shortDesc\":\"\""
},
"value": "\",\"shortDesc\":\""
},
"id": 3511,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 1072,
"src": "603:25:14",
"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": 3512,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "603:27:14",
"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": 3506,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3490,
"src": "581:4:14",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 3507,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 1072,
"src": "581:12:14",
"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": 3508,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "581:14:14",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$1012_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 3509,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 2585,
"src": "581:21:14",
"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": 3513,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "581:50:14",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "574:57:14",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 3515,
"nodeType": "ExpressionStatement",
"src": "574:57:14"
},
{
"expression": {
"argumentTypes": null,
"id": 3526,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 3516,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3490,
"src": "641:4:14",
"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": 3521,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3484,
"src": "670:5:14",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Widget_$3482_memory_ptr",
"typeString": "struct Widgets.Widget memory"
}
},
"id": 3522,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "shortDesc",
"nodeType": "MemberAccess",
"referencedDeclaration": 3474,
"src": "670:15:14",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string memory"
}
},
"id": 3523,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 1072,
"src": "670:23:14",
"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": 3524,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "670:25:14",
"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": 3517,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3490,
"src": "648:4:14",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 3518,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 1072,
"src": "648:12:14",
"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": 3519,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "648:14:14",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$1012_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 3520,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 2585,
"src": "648:21:14",
"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": 3525,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "648:48:14",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "641:55:14",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 3527,
"nodeType": "ExpressionStatement",
"src": "641:55:14"
},
{
"expression": {
"argumentTypes": null,
"id": 3537,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 3528,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3490,
"src": "706:4:14",
"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": 3533,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "735:16:14",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_9c73c9153268d5611a90d7fde0e17bf83f239a24ca472937aabdc593cf87a232",
"typeString": "literal_string \"\",\"longDesc\":\"\""
},
"value": "\",\"longDesc\":\""
},
"id": 3534,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 1072,
"src": "735:24:14",
"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": 3535,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "735:26:14",
"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": 3529,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3490,
"src": "713:4:14",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 3530,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 1072,
"src": "713:12:14",
"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": 3531,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "713:14:14",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$1012_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 3532,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 2585,
"src": "713:21:14",
"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": 3536,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "713:49:14",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "706:56:14",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 3538,
"nodeType": "ExpressionStatement",
"src": "706:56:14"
},
{
"expression": {
"argumentTypes": null,
"id": 3549,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 3539,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3490,
"src": "772:4:14",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{