UNPKG

tokenboost-solidity-erc20token

Version:
1,062 lines (1,061 loc) 212 kB
{ "contractName": "Actions", "abi": [], "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058200578aff91cdab8fa8b304203bc1a543e6e1e176b128043c8f16aecadf6ce84660029", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058200578aff91cdab8fa8b304203bc1a543e6e1e176b128043c8f16aecadf6ce84660029", "sourceMap": "94:1124:10:-;;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:10:-;;;;;;;;", "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": [ 2848 ] }, "id": 2849, "nodeType": "SourceUnit", "nodes": [ { "id": 2702, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:10" }, { "absolutePath": "tokenboost-solidity/contracts/utils/strings.sol", "file": "../utils/strings.sol", "id": 2703, "nodeType": "ImportDirective", "scope": 2849, "sourceUnit": 2701, "src": "26:30:10", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "tokenboost-solidity/contracts/utils/AddressUtils.sol", "file": "../utils/AddressUtils.sol", "id": 2704, "nodeType": "ImportDirective", "scope": 2849, "sourceUnit": 915, "src": "57:35:10", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": null, "fullyImplemented": true, "id": 2848, "linearizedBaseContracts": [ 2848 ], "name": "Actions", "nodeType": "ContractDefinition", "nodes": [ { "id": 2706, "libraryName": { "contractScope": null, "id": 2705, "name": "strings", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2700, "src": "122:7:10", "typeDescriptions": { "typeIdentifier": "t_contract$_strings_$2700", "typeString": "library strings" } }, "nodeType": "UsingForDirective", "src": "116:20:10", "typeName": null }, { "id": 2709, "libraryName": { "contractScope": null, "id": 2707, "name": "AddressUtils", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 914, "src": "147:12:10", "typeDescriptions": { "typeIdentifier": "t_contract$_AddressUtils_$914", "typeString": "library AddressUtils" } }, "nodeType": "UsingForDirective", "src": "141:31:10", "typeName": { "id": 2708, "name": "address", "nodeType": "ElementaryTypeName", "src": "164:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } }, { "canonicalName": "Actions.Action", "id": 2720, "members": [ { "constant": false, "id": 2711, "name": "exists", "nodeType": "VariableDeclaration", "scope": 2720, "src": "202:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2710, "name": "bool", "nodeType": "ElementaryTypeName", "src": "202:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2713, "name": "to", "nodeType": "VariableDeclaration", "scope": 2720, "src": "223:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2712, "name": "address", "nodeType": "ElementaryTypeName", "src": "223:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2715, "name": "functionSelector", "nodeType": "VariableDeclaration", "scope": 2720, "src": "243:23:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 2714, "name": "string", "nodeType": "ElementaryTypeName", "src": "243:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2717, "name": "arguments", "nodeType": "VariableDeclaration", "scope": 2720, "src": "276:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 2716, "name": "string", "nodeType": "ElementaryTypeName", "src": "276:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2719, "name": "confirm", "nodeType": "VariableDeclaration", "scope": 2720, "src": "302:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 2718, "name": "string", "nodeType": "ElementaryTypeName", "src": "302:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "name": "Action", "nodeType": "StructDefinition", "scope": 2848, "src": "178:145:10", "visibility": "public" }, { "body": { "id": 2735, "nodeType": "Block", "src": "384:61:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "66616c7365", "id": 2726, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "408:5:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2728, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "423:1:10", "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": 2727, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "415:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2729, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "415:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "hexValue": "", "id": 2730, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "427:2:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" }, { "argumentTypes": null, "hexValue": "", "id": 2731, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "431:2:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" }, { "argumentTypes": null, "hexValue": "", "id": 2732, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "435:2:10", "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": 2725, "name": "Action", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2720, "src": "401:6:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Action_$2720_storage_ptr_$", "typeString": "type(struct Actions.Action storage pointer)" } }, "id": 2733, "isConstant": false, "isLValue": false, "isPure": true, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "401:37:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$2720_memory", "typeString": "struct Actions.Action memory" } }, "functionReturnParameters": 2724, "id": 2734, "nodeType": "Return", "src": "394:44:10" } ] }, "documentation": null, "id": 2736, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "empty", "nodeType": "FunctionDefinition", "parameters": { "id": 2721, "nodeType": "ParameterList", "parameters": [], "src": "343:2:10" }, "payable": false, "returnParameters": { "id": 2724, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2723, "name": "", "nodeType": "VariableDeclaration", "scope": 2736, "src": "369:6:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$2720_memory_ptr", "typeString": "struct Actions.Action" }, "typeName": { "contractScope": null, "id": 2722, "name": "Action", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2720, "src": "369:6:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$2720_storage_ptr", "typeString": "struct Actions.Action" } }, "value": null, "visibility": "internal" } ], "src": "368:15:10" }, "scope": 2848, "src": "329:116:10", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { "id": 2846, "nodeType": "Block", "src": "519:697:10", "statements": [ { "condition": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2743, "name": "_self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2738, "src": "533:5:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$2720_memory_ptr", "typeString": "struct Actions.Action memory" } }, "id": 2744, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "exists", "nodeType": "MemberAccess", "referencedDeclaration": 2711, "src": "533:12:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 2844, "nodeType": "Block", "src": "1172:38:10", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "6e756c6c", "id": 2842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1193:6:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_efbde2c3aee204a69b7696d4b10ff31137fe78e3946306284f806e2dfc68b805", "typeString": "literal_string \"null\"" }, "value": "null" }, "functionReturnParameters": 2742, "id": 2843, "nodeType": "Return", "src": "1186:13:10" } ] }, "id": 2845, "nodeType": "IfStatement", "src": "529:681:10", "trueBody": { "id": 2841, "nodeType": "Block", "src": "547:619:10", "statements": [ { "assignments": [ 2746 ], "declarations": [ { "constant": false, "id": 2746, "name": "json", "nodeType": "VariableDeclaration", "scope": 2847, "src": "561:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2745, "name": "string", "nodeType": "ElementaryTypeName", "src": "561:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "id": 2748, "initialValue": { "argumentTypes": null, "hexValue": "7b2261646472657373223a22", "id": 2747, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "582:14:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_44809c325c685992218e65a7cd52ab64712bb8f19767919ea44cbfa2eeb49ae9", "typeString": "literal_string \"{\"address\":\"\"" }, "value": "{\"address\":\"" }, "nodeType": "VariableDeclarationStatement", "src": "561:35:10" }, { "expression": { "argumentTypes": null, "id": 2761, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2749, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2746, "src": "610:4:10", "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": 2754, "name": "_self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2738, "src": "639:5:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$2720_memory_ptr", "typeString": "struct Actions.Action memory" } }, "id": 2755, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "to", "nodeType": "MemberAccess", "referencedDeclaration": 2713, "src": "639:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 2756, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", "referencedDeclaration": 913, "src": "639:17:10", "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": 2757, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "639:19:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 2758, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 1072, "src": "639:27:10", "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": 2759, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "639:29:10", "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": 2750, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2746, "src": "617:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 2751, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 1072, "src": "617:12:10", "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": 2752, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "617:14:10", "typeDescriptions": { "typeIdentifier": "t_struct$_slice_$1012_memory_ptr", "typeString": "struct strings.slice memory" } }, "id": 2753, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "concat", "nodeType": "MemberAccess", "referencedDeclaration": 2585, "src": "617:21:10", "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": 2760, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "617:52:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "610:59:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 2762, "nodeType": "ExpressionStatement", "src": "610:59:10" }, { "expression": { "argumentTypes": null, "id": 2772, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2763, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2746, "src": "683:4:10", "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": 2768, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "712:24:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_07bc42a4e638db01b08907e06d690a4eb3a44d39ef30e7460012025394fc4133", "typeString": "literal_string \"\",\"functionSelector\":\"\"" }, "value": "\",\"functionSelector\":\"" }, "id": 2769, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 1072, "src": "712:32:10", "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": 2770, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "712:34:10", "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": 2764, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2746, "src": "690:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 2765, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toSlice", "nodeType": "MemberAccess", "referencedDeclaration": 1072, "src": "690:12:10", "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": 2766, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "690:14:10", "typeDescriptions": { "typeIdentifier": "t_struct$_slice_$1012_memory_ptr", "typeString": "struct strings.slice memory" } }, "id": 2767, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "concat", "nodeType": "MemberAccess", "referencedDeclaration": 2585, "src": "690:21:10", "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": 2771, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "690:57:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "683:64:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 2773, "nodeType": "ExpressionStatement", "src": "683:64:10" }, { "expression": { "argumentTypes": null, "id": 2784, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2774, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2746, "src": "761:4:10", "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": 2779, "name": "_self", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2738, "src": "790:5:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Action_$2720_memory_ptr", "typeString": "struct Actions.Action memory" } }, "id": 2780, "isConstant": false, "isLValue": true,