tokenboost-solidity-erc20sale
Version:
Solidity contracts for TokenBoost (ERC20Sale)
1,089 lines (1,088 loc) • 258 kB
JSON
{
"contractName": "Widgets",
"abi": [],
"bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820ce809e4c5b28f658e4eb9e9baa58f14ae07cd0bdf15bc8ad0e4f311f9850bc600029",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820ce809e4c5b28f658e4eb9e9baa58f14ae07cd0bdf15bc8ad0e4f311f9850bc600029",
"sourceMap": "116:1221:31:-;;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:31:-;;;;;;;;",
"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": [
6258
]
},
"id": 6259,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6073,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:31"
},
{
"absolutePath": "tokenboost-solidity/contracts/widget/Elements.sol",
"file": "./Elements.sol",
"id": 6074,
"nodeType": "ImportDirective",
"scope": 6259,
"sourceUnit": 5668,
"src": "26:24:31",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "tokenboost-solidity/contracts/utils/strings.sol",
"file": "../utils/strings.sol",
"id": 6075,
"nodeType": "ImportDirective",
"scope": 6259,
"sourceUnit": 5291,
"src": "51:30:31",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "tokenboost-solidity/contracts/utils/UintUtils.sol",
"file": "../utils/UintUtils.sol",
"id": 6076,
"nodeType": "ImportDirective",
"scope": 6259,
"sourceUnit": 3596,
"src": "82:32:31",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "library",
"documentation": null,
"fullyImplemented": true,
"id": 6258,
"linearizedBaseContracts": [
6258
],
"name": "Widgets",
"nodeType": "ContractDefinition",
"nodes": [
{
"id": 6078,
"libraryName": {
"contractScope": null,
"id": 6077,
"name": "strings",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5290,
"src": "144:7:31",
"typeDescriptions": {
"typeIdentifier": "t_contract$_strings_$5290",
"typeString": "library strings"
}
},
"nodeType": "UsingForDirective",
"src": "138:20:31",
"typeName": null
},
{
"id": 6081,
"libraryName": {
"contractScope": null,
"id": 6079,
"name": "UintUtils",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3595,
"src": "169:9:31",
"typeDescriptions": {
"typeIdentifier": "t_contract$_UintUtils_$3595",
"typeString": "library UintUtils"
}
},
"nodeType": "UsingForDirective",
"src": "163:25:31",
"typeName": {
"id": 6080,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "183:4:31",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
{
"id": 6084,
"libraryName": {
"contractScope": null,
"id": 6082,
"name": "Elements",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5667,
"src": "199:8:31",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Elements_$5667",
"typeString": "library Elements"
}
},
"nodeType": "UsingForDirective",
"src": "193:36:31",
"typeName": {
"contractScope": null,
"id": 6083,
"name": "Elements.Element",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5466,
"src": "212:16:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$5466_storage_ptr",
"typeString": "struct Elements.Element"
}
}
},
{
"canonicalName": "Widgets.Widget",
"id": 6096,
"members": [
{
"constant": false,
"id": 6086,
"name": "title",
"nodeType": "VariableDeclaration",
"scope": 6096,
"src": "259:12:31",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 6085,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "259:6:31",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6088,
"name": "shortDesc",
"nodeType": "VariableDeclaration",
"scope": 6096,
"src": "281:16:31",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 6087,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "281:6:31",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6090,
"name": "longDesc",
"nodeType": "VariableDeclaration",
"scope": 6096,
"src": "307:15:31",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 6089,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "307:6:31",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6092,
"name": "width",
"nodeType": "VariableDeclaration",
"scope": 6096,
"src": "332:10:31",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6091,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "332:4:31",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6095,
"name": "elements",
"nodeType": "VariableDeclaration",
"scope": 6096,
"src": "352:27:31",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_Element_$5466_storage_$dyn_storage_ptr",
"typeString": "struct Elements.Element[]"
},
"typeName": {
"baseType": {
"contractScope": null,
"id": 6093,
"name": "Elements.Element",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5466,
"src": "352:16:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Element_$5466_storage_ptr",
"typeString": "struct Elements.Element"
}
},
"id": 6094,
"length": null,
"nodeType": "ArrayTypeName",
"src": "352:18:31",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_Element_$5466_storage_$dyn_storage_ptr",
"typeString": "struct Elements.Element[]"
}
},
"value": null,
"visibility": "internal"
}
],
"name": "Widget",
"nodeType": "StructDefinition",
"scope": 6258,
"src": "235:151:31",
"visibility": "public"
},
{
"body": {
"id": 6256,
"nodeType": "Block",
"src": "460:875:31",
"statements": [
{
"assignments": [
6104
],
"declarations": [
{
"constant": false,
"id": 6104,
"name": "json",
"nodeType": "VariableDeclaration",
"scope": 6257,
"src": "470:18:31",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6103,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "470:6:31",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 6106,
"initialValue": {
"argumentTypes": null,
"hexValue": "7b227469746c65223a22",
"id": 6105,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "491:12:31",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_8faf2a088ae147a766277ec4af97127fb88ca29105086a4c6a1d26ef5f0e64ee",
"typeString": "literal_string \"{\"title\":\"\""
},
"value": "{\"title\":\""
},
"nodeType": "VariableDeclarationStatement",
"src": "470:33:31"
},
{
"expression": {
"argumentTypes": null,
"id": 6117,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 6107,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6104,
"src": "513:4:31",
"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": 6112,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6098,
"src": "542:5:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Widget_$6096_memory_ptr",
"typeString": "struct Widgets.Widget memory"
}
},
"id": 6113,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "title",
"nodeType": "MemberAccess",
"referencedDeclaration": 6086,
"src": "542:11:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string memory"
}
},
"id": 6114,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3662,
"src": "542:19:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3602_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 6115,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "542:21:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3602_memory_ptr",
"typeString": "struct strings.slice memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_struct$_slice_$3602_memory_ptr",
"typeString": "struct strings.slice memory"
}
],
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 6108,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6104,
"src": "520:4:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6109,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3662,
"src": "520:12:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3602_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 6110,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "520:14:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3602_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 6111,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 5175,
"src": "520:21:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3602_memory_ptr_$_t_struct$_slice_$3602_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3602_memory_ptr_$",
"typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
}
},
"id": 6116,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "520:44:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "513:51:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6118,
"nodeType": "ExpressionStatement",
"src": "513:51:31"
},
{
"expression": {
"argumentTypes": null,
"id": 6128,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 6119,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6104,
"src": "574:4:31",
"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": 6124,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "603:17:31",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_69393e7ec2bfd534b8f1bad46c7516c2dc27410f9c9f50b6dff1037139b7a621",
"typeString": "literal_string \"\",\"shortDesc\":\"\""
},
"value": "\",\"shortDesc\":\""
},
"id": 6125,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3662,
"src": "603:25:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3602_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 6126,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "603:27:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3602_memory_ptr",
"typeString": "struct strings.slice memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_struct$_slice_$3602_memory_ptr",
"typeString": "struct strings.slice memory"
}
],
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 6120,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6104,
"src": "581:4:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6121,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3662,
"src": "581:12:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3602_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 6122,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "581:14:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3602_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 6123,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 5175,
"src": "581:21:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3602_memory_ptr_$_t_struct$_slice_$3602_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3602_memory_ptr_$",
"typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
}
},
"id": 6127,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "581:50:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "574:57:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6129,
"nodeType": "ExpressionStatement",
"src": "574:57:31"
},
{
"expression": {
"argumentTypes": null,
"id": 6140,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 6130,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6104,
"src": "641:4:31",
"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": 6135,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6098,
"src": "670:5:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Widget_$6096_memory_ptr",
"typeString": "struct Widgets.Widget memory"
}
},
"id": 6136,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "shortDesc",
"nodeType": "MemberAccess",
"referencedDeclaration": 6088,
"src": "670:15:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string memory"
}
},
"id": 6137,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3662,
"src": "670:23:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3602_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 6138,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "670:25:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3602_memory_ptr",
"typeString": "struct strings.slice memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_struct$_slice_$3602_memory_ptr",
"typeString": "struct strings.slice memory"
}
],
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 6131,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6104,
"src": "648:4:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6132,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3662,
"src": "648:12:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3602_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 6133,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "648:14:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3602_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 6134,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 5175,
"src": "648:21:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3602_memory_ptr_$_t_struct$_slice_$3602_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3602_memory_ptr_$",
"typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
}
},
"id": 6139,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "648:48:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "641:55:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6141,
"nodeType": "ExpressionStatement",
"src": "641:55:31"
},
{
"expression": {
"argumentTypes": null,
"id": 6151,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 6142,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6104,
"src": "706:4:31",
"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": 6147,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "735:16:31",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_9c73c9153268d5611a90d7fde0e17bf83f239a24ca472937aabdc593cf87a232",
"typeString": "literal_string \"\",\"longDesc\":\"\""
},
"value": "\",\"longDesc\":\""
},
"id": 6148,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3662,
"src": "735:24:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3602_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 6149,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "735:26:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3602_memory_ptr",
"typeString": "struct strings.slice memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_struct$_slice_$3602_memory_ptr",
"typeString": "struct strings.slice memory"
}
],
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 6143,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6104,
"src": "713:4:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6144,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3662,
"src": "713:12:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3602_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 6145,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "713:14:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3602_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 6146,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 5175,
"src": "713:21:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3602_memory_ptr_$_t_struct$_slice_$3602_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3602_memory_ptr_$",
"typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
}
},
"id": 6150,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "713:49:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "706:56:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 6152,
"nodeType": "ExpressionStatement",
"src": "706:56:31"
},
{
"expression": {
"argumentTypes": null,
"id": 6163,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 6153,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6104,
"src": "772:4:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{