UNPKG

tokenboost-solidity-erc20sale

Version:
1,061 lines 212 kB
{ "contractName": "Actions", "abi": [], "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058200578aff91cdab8fa8b304203bc1a543e6e1e176b128043c8f16aecadf6ce84660029", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058200578aff91cdab8fa8b304203bc1a543e6e1e176b128043c8f16aecadf6ce84660029", "sourceMap": "94:1124:19:-;;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": "94:1124:19:-;;;;;;;;", "source": "pragma solidity ^0.4.24;\n\nimport \"../utils/strings.sol\";\nimport \"../utils/AddressUtils.sol\";\n\nlibrary Actions {\n using strings for *;\n using AddressUtils for address;\n\n struct Action {\n bool exists;\n address to;\n string functionSelector;\n string arguments;\n string confirm;\n }\n\n function empty() internal pure returns (Action memory) {\n return Action(false, address(0), \"\", \"\", \"\");\n }\n\n function toJson(Action memory _self) internal pure returns (string) {\n if (_self.exists) {\n string memory json = '{\"address\":\"';\n json = json.toSlice().concat(_self.to.toString().toSlice());\n json = json.toSlice().concat('\",\"functionSelector\":\"'.toSlice());\n json = json.toSlice().concat(_self.functionSelector.toSlice());\n json = json.toSlice().concat('\",\"arguments\":'.toSlice());\n json = json.toSlice().concat(_self.arguments.toSlice());\n json = json.toSlice().concat(',\"confirm\":\"'.toSlice());\n json = json.toSlice().concat(_self.confirm.toSlice());\n return json.toSlice().concat('\"}'.toSlice());\n } else {\n return \"null\";\n }\n }\n}\n", "sourcePath": "tokenboost-solidity/contracts/widget/Actions.sol", "ast": { "absolutePath": "tokenboost-solidity/contracts/widget/Actions.sol", "exportedSymbols": { "Actions": [ 4481 ] }, "id": 4482, "nodeType": "SourceUnit", "nodes": [ { "id": 4335, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:19" }, { "absolutePath": "tokenboost-solidity/contracts/utils/strings.sol", "file": "../utils/strings.sol", "id": 4336, "nodeType": "ImportDirective", "scope": 4482, "sourceUnit": 4334, "src": "26:30:19", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "tokenboost-solidity/contracts/utils/AddressUtils.sol", "file": "../utils/AddressUtils.sol", "id": 4337, "nodeType": "ImportDirective", "scope": 4482, "sourceUnit": 2499, "src": "57:35:19", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": null, "fullyImplemented": true, "id": 4481, "linearizedBaseContracts": [ 4481 ], "name": "Actions", "nodeType": "ContractDefinition", "nodes": [ { "id": 4339, "libraryName": { "contractScope": null, "id": 4338, "name": "strings", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4333, "src": "122:7:19", "typeDescriptions": { "typeIdentifier": "t_contract$_strings_$4333", "typeString": "library strings" } }, "nodeType": "UsingForDirective", "src": "116:20:19", "typeName": null }, { "id": 4342, "libraryName": { "contractScope": null, "id": 4340, "name": "AddressUtils", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2498, "src": "147:12:19", "typeDescriptions": { "typeIdentifier": "t_contract$_AddressUtils_$2498", "typeString": "library AddressUtils" } }, "nodeType": "UsingForDirective", "src": "141:31:19", "typeName": { "id": 4341, "name": "address", "nodeType": "ElementaryTypeName", "src": "164:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } }, { "canonicalName": "Actions.Action", "id": 4353, "members": [ { "constant": false, "id": 4344, "name": "exists", "nodeType": "VariableDeclaration", "scope": 4353, "src": "202:11:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 4343, "name": "bool", "nodeType": "ElementaryTypeName", "src": "202:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4346, "name": "to", "nodeType": "VariableDeclaration", "scope": 4353, "src": "223:10:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 4345, "name": "address", "nodeType": "ElementaryTypeName", "src": "223:7:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4348, "name": "functionSelector", "nodeType": "VariableDeclaration", "scope": 4353, "src": "243:23:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 4347, "name": "string", "nodeType": "ElementaryTypeName", "src": "243:6:19", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4350, "name": "arguments", "nodeType": "VariableDeclaration", "scope": 4353, "src": "276:16:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 4349, "name": "string", "nodeType": "ElementaryTypeName", "src": "276:6:19", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4352, "name": "confirm", "nodeType": "VariableDeclaration", "scope": 4353, "src": "302:14:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 4351, "name": "string", "nodeType": "ElementaryTypeName", "src": "302:6:19", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "name": "Action", "nodeType": "StructDefinition", "scope": 4481, "src": "178:145:19", "visibility": "public" }, { "body": { "id": 4368, "nodeType": "Block", "src": "384:61:19", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "66616c7365", "id": 4359, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "408:5:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 4361, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "423:1:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 4360, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "415:7:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 4362, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "415:10:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "hexValue": "", "id": 4363, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "427:2:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" }, { "argumentTypes": null, "hexValue": "", "id": 4364, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "431:2:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" }, { "argumentTypes": null, "hexValue": "", "id": 4365, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "435:2:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" } ], "id": 4358, "name": "Action", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4353, "src": "401:6:19", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Action_$4353_storage_ptr_$", "typeString": "type(struct Actions.Action storage pointer)" } }, "id": 4366, "isConstant": false, "isLValue": false, "isPure": true, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "401:37:19", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$4353_memory", "typeString": "struct Actions.Action memory" } }, "functionReturnParameters": 4357, "id": 4367, "nodeType": "Return", "src": "394:44:19" } ] }, "documentation": null, "id": 4369, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "empty", "nodeType": "FunctionDefinition", "parameters": { "id": 4354, "nodeType": "ParameterList", "parameters": [], "src": "343:2:19" }, "payable": false, "returnParameters": { "id": 4357, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 4356, "name": "", "nodeType": "VariableDeclaration", "scope": 4369, "src": "369:6:19", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$4353_memory_ptr", "typeString": "struct Actions.Action" }, "typeName": { "contractScope": null, "id": 4355, "name": "Action", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4353, "src": "369:6:19", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$4353_storage_ptr", "typeString": "struct Actions.Action" } }, "value": null, "visibility": "internal" } ], "src": "368:15:19" }, "scope": 4481, "src": "329:116:19", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { "id": 4479, "nodeType": "Block", "src": "519:697:19", "statements": [ { "condition": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 4376, "name": "_self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4371, "src": "533:5:19", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$4353_memory_ptr", "typeString": "struct Actions.Action memory" } }, "id": 4377, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "exists", "nodeType": "MemberAccess", "referencedDeclaration": 4344, "src": "533:12:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 4477, "nodeType": "Block", "src": "1172:38:19", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "6e756c6c", "id": 4475, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1193:6:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_efbde2c3aee204a69b7696d4b10ff31137fe78e3946306284f806e2dfc68b805", "typeString": "literal_string \"null\"" }, "value": "null" }, "functionReturnParameters": 4375, "id": 4476, "nodeType": "Return", "src": "1186:13:19" } ] }, "id": 4478, "nodeType": "IfStatement", "src": "529:681:19", "trueBody": { "id": 4474, "nodeType": "Block", "src": "547:619:19", "statements": [ { "assignments": [ 4379 ], "declarations": [ { "constant": false, "id": 4379, "name": "json", "nodeType": "VariableDeclaration", "scope": 4480, "src": "561:18:19", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 4378, "name": "string", "nodeType": "ElementaryTypeName", "src": "561:6:19", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "id": 4381, "initialValue": { "argumentTypes": null, "hexValue": "7b2261646472657373223a22", "id": 4380, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "582:14:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_44809c325c685992218e65a7cd52ab64712bb8f19767919ea44cbfa2eeb49ae9", "typeString": "literal_string \"{\"address\":\"\"" }, "value": "{\"address\":\"" }, "nodeType": "VariableDeclarationStatement", "src": "561:35:19" }, { "expression": { "argumentTypes": null, "id": 4394, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4382, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4379, "src": "610:4:19", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 4387, "name": "_self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4371, "src": "639:5:19", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$4353_memory_ptr", "typeString": "struct Actions.Action memory" } }, "id": 4388, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "to", "nodeType": "MemberAccess", "referencedDeclaration": 4346, "src": "639:8:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 4389, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", "referencedDeclaration": 2497, "src": "639:17:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_string_memory_ptr_$bound_to$_t_address_$", "typeString": "function (address) pure returns (string memory)" } }, "id": 4390, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "639:19:19", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 4391, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 2705, "src": "639:27:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$2645_memory_ptr_$bound_to$_t_string_memory_ptr_$", "typeString": "function (string memory) pure returns (struct strings.slice memory)" } }, "id": 4392, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "639:29:19", "typeDescriptions": { "typeIdentifier": "t_struct$_slice_$2645_memory_ptr", "typeString": "struct strings.slice memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_slice_$2645_memory_ptr", "typeString": "struct strings.slice memory" } ], "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 4383, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4379, "src": "617:4:19", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 4384, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 2705, "src": "617:12:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$2645_memory_ptr_$bound_to$_t_string_memory_ptr_$", "typeString": "function (string memory) pure returns (struct strings.slice memory)" } }, "id": 4385, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "617:14:19", "typeDescriptions": { "typeIdentifier": "t_struct$_slice_$2645_memory_ptr", "typeString": "struct strings.slice memory" } }, "id": 4386, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "concat", "nodeType": "MemberAccess", "referencedDeclaration": 4218, "src": "617:21:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$2645_memory_ptr_$_t_struct$_slice_$2645_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$2645_memory_ptr_$", "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)" } }, "id": 4393, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "617:52:19", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "610:59:19", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 4395, "nodeType": "ExpressionStatement", "src": "610:59:19" }, { "expression": { "argumentTypes": null, "id": 4405, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4396, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4379, "src": "683:4:19", "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": "222c2266756e6374696f6e53656c6563746f72223a22", "id": 4401, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "712:24:19", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_07bc42a4e638db01b08907e06d690a4eb3a44d39ef30e7460012025394fc4133", "typeString": "literal_string \"\",\"functionSelector\":\"\"" }, "value": "\",\"functionSelector\":\"" }, "id": 4402, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 2705, "src": "712:32:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$2645_memory_ptr_$bound_to$_t_string_memory_ptr_$", "typeString": "function (string memory) pure returns (struct strings.slice memory)" } }, "id": 4403, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "712:34:19", "typeDescriptions": { "typeIdentifier": "t_struct$_slice_$2645_memory_ptr", "typeString": "struct strings.slice memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_slice_$2645_memory_ptr", "typeString": "struct strings.slice memory" } ], "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 4397, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4379, "src": "690:4:19", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 4398, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 2705, "src": "690:12:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$2645_memory_ptr_$bound_to$_t_string_memory_ptr_$", "typeString": "function (string memory) pure returns (struct strings.slice memory)" } }, "id": 4399, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "690:14:19", "typeDescriptions": { "typeIdentifier": "t_struct$_slice_$2645_memory_ptr", "typeString": "struct strings.slice memory" } }, "id": 4400, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "concat", "nodeType": "MemberAccess", "referencedDeclaration": 4218, "src": "690:21:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$2645_memory_ptr_$_t_struct$_slice_$2645_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$2645_memory_ptr_$", "typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)" } }, "id": 4404, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "690:57:19", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "683:64:19", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 4406, "nodeType": "ExpressionStatement", "src": "683:64:19" }, { "expression": { "argumentTypes": null, "id": 4417, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4407, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4379, "src": "761:4:19", "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": 4412, "name": "_self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4371, "src": "790:5:19", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$4353_memory_ptr", "typeString": "struct Actions.Action memory" } }, "id": 4413, "isConstant": false, "isLValue": true