@dnextco/tokenboost-solidity-erc223token
Version:
Solidity contracts for TokenBoost (ERC223Token)
1,061 lines • 212 kB
JSON
{
"contractName": "Actions",
"abi": [],
"bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058200578aff91cdab8fa8b304203bc1a543e6e1e176b128043c8f16aecadf6ce84660029",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058200578aff91cdab8fa8b304203bc1a543e6e1e176b128043c8f16aecadf6ce84660029",
"sourceMap": "94:1124: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": "94:1124:31:-;;;;;;;;",
"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": [
5604
]
},
"id": 5605,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5458,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:31"
},
{
"absolutePath": "tokenboost-solidity/contracts/utils/strings.sol",
"file": "../utils/strings.sol",
"id": 5459,
"nodeType": "ImportDirective",
"scope": 5605,
"sourceUnit": 5457,
"src": "26:30:31",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "tokenboost-solidity/contracts/utils/AddressUtils.sol",
"file": "../utils/AddressUtils.sol",
"id": 5460,
"nodeType": "ImportDirective",
"scope": 5605,
"sourceUnit": 3622,
"src": "57:35:31",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "library",
"documentation": null,
"fullyImplemented": true,
"id": 5604,
"linearizedBaseContracts": [
5604
],
"name": "Actions",
"nodeType": "ContractDefinition",
"nodes": [
{
"id": 5462,
"libraryName": {
"contractScope": null,
"id": 5461,
"name": "strings",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5456,
"src": "122:7:31",
"typeDescriptions": {
"typeIdentifier": "t_contract$_strings_$5456",
"typeString": "library strings"
}
},
"nodeType": "UsingForDirective",
"src": "116:20:31",
"typeName": null
},
{
"id": 5465,
"libraryName": {
"contractScope": null,
"id": 5463,
"name": "AddressUtils",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3621,
"src": "147:12:31",
"typeDescriptions": {
"typeIdentifier": "t_contract$_AddressUtils_$3621",
"typeString": "library AddressUtils"
}
},
"nodeType": "UsingForDirective",
"src": "141:31:31",
"typeName": {
"id": 5464,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "164:7:31",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
},
{
"canonicalName": "Actions.Action",
"id": 5476,
"members": [
{
"constant": false,
"id": 5467,
"name": "exists",
"nodeType": "VariableDeclaration",
"scope": 5476,
"src": "202:11:31",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 5466,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "202:4:31",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5469,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 5476,
"src": "223:10:31",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 5468,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "223:7:31",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5471,
"name": "functionSelector",
"nodeType": "VariableDeclaration",
"scope": 5476,
"src": "243:23:31",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 5470,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "243:6:31",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5473,
"name": "arguments",
"nodeType": "VariableDeclaration",
"scope": 5476,
"src": "276:16:31",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 5472,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "276:6:31",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 5475,
"name": "confirm",
"nodeType": "VariableDeclaration",
"scope": 5476,
"src": "302:14:31",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 5474,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "302:6:31",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"name": "Action",
"nodeType": "StructDefinition",
"scope": 5604,
"src": "178:145:31",
"visibility": "public"
},
{
"body": {
"id": 5491,
"nodeType": "Block",
"src": "384:61:31",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "66616c7365",
"id": 5482,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "408:5:31",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "false"
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 5484,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "423:1:31",
"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": 5483,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "415:7:31",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 5485,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "415:10:31",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"hexValue": "",
"id": 5486,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "427:2:31",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
{
"argumentTypes": null,
"hexValue": "",
"id": 5487,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "431:2:31",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
{
"argumentTypes": null,
"hexValue": "",
"id": 5488,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "435:2:31",
"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": 5481,
"name": "Action",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5476,
"src": "401:6:31",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_Action_$5476_storage_ptr_$",
"typeString": "type(struct Actions.Action storage pointer)"
}
},
"id": 5489,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "401:37:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$5476_memory",
"typeString": "struct Actions.Action memory"
}
},
"functionReturnParameters": 5480,
"id": 5490,
"nodeType": "Return",
"src": "394:44:31"
}
]
},
"documentation": null,
"id": 5492,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "empty",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 5477,
"nodeType": "ParameterList",
"parameters": [],
"src": "343:2:31"
},
"payable": false,
"returnParameters": {
"id": 5480,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5479,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 5492,
"src": "369:6:31",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
"typeString": "struct Actions.Action"
},
"typeName": {
"contractScope": null,
"id": 5478,
"name": "Action",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 5476,
"src": "369:6:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$5476_storage_ptr",
"typeString": "struct Actions.Action"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "368:15:31"
},
"scope": 5604,
"src": "329:116:31",
"stateMutability": "pure",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
"id": 5602,
"nodeType": "Block",
"src": "519:697:31",
"statements": [
{
"condition": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 5499,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5494,
"src": "533:5:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
"typeString": "struct Actions.Action memory"
}
},
"id": 5500,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "exists",
"nodeType": "MemberAccess",
"referencedDeclaration": 5467,
"src": "533:12:31",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 5600,
"nodeType": "Block",
"src": "1172:38:31",
"statements": [
{
"expression": {
"argumentTypes": null,
"hexValue": "6e756c6c",
"id": 5598,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1193:6:31",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_efbde2c3aee204a69b7696d4b10ff31137fe78e3946306284f806e2dfc68b805",
"typeString": "literal_string \"null\""
},
"value": "null"
},
"functionReturnParameters": 5498,
"id": 5599,
"nodeType": "Return",
"src": "1186:13:31"
}
]
},
"id": 5601,
"nodeType": "IfStatement",
"src": "529:681:31",
"trueBody": {
"id": 5597,
"nodeType": "Block",
"src": "547:619:31",
"statements": [
{
"assignments": [
5502
],
"declarations": [
{
"constant": false,
"id": 5502,
"name": "json",
"nodeType": "VariableDeclaration",
"scope": 5603,
"src": "561:18:31",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5501,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "561:6:31",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 5504,
"initialValue": {
"argumentTypes": null,
"hexValue": "7b2261646472657373223a22",
"id": 5503,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "582:14:31",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_44809c325c685992218e65a7cd52ab64712bb8f19767919ea44cbfa2eeb49ae9",
"typeString": "literal_string \"{\"address\":\"\""
},
"value": "{\"address\":\""
},
"nodeType": "VariableDeclarationStatement",
"src": "561:35:31"
},
{
"expression": {
"argumentTypes": null,
"id": 5517,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 5505,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5502,
"src": "610: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,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 5510,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5494,
"src": "639:5:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
"typeString": "struct Actions.Action memory"
}
},
"id": 5511,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "to",
"nodeType": "MemberAccess",
"referencedDeclaration": 5469,
"src": "639:8:31",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 5512,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toString",
"nodeType": "MemberAccess",
"referencedDeclaration": 3620,
"src": "639:17:31",
"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": 5513,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "639:19:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 5514,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "639:27:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 5515,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "639:29:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
"typeString": "struct strings.slice memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
"typeString": "struct strings.slice memory"
}
],
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 5506,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5502,
"src": "617:4:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 5507,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "617:12:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 5508,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "617:14:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 5509,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 5341,
"src": "617:21:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3768_memory_ptr_$_t_struct$_slice_$3768_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3768_memory_ptr_$",
"typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
}
},
"id": 5516,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "617:52:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "610:59:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 5518,
"nodeType": "ExpressionStatement",
"src": "610:59:31"
},
{
"expression": {
"argumentTypes": null,
"id": 5528,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 5519,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5502,
"src": "683: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": "222c2266756e6374696f6e53656c6563746f72223a22",
"id": 5524,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "712:24:31",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_07bc42a4e638db01b08907e06d690a4eb3a44d39ef30e7460012025394fc4133",
"typeString": "literal_string \"\",\"functionSelector\":\"\""
},
"value": "\",\"functionSelector\":\""
},
"id": 5525,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "712:32:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 5526,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "712:34:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
"typeString": "struct strings.slice memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
"typeString": "struct strings.slice memory"
}
],
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 5520,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5502,
"src": "690:4:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 5521,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "toSlice",
"nodeType": "MemberAccess",
"referencedDeclaration": 3828,
"src": "690:12:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_slice_$3768_memory_ptr_$bound_to$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (struct strings.slice memory)"
}
},
"id": 5522,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "690:14:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_slice_$3768_memory_ptr",
"typeString": "struct strings.slice memory"
}
},
"id": 5523,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "concat",
"nodeType": "MemberAccess",
"referencedDeclaration": 5341,
"src": "690:21:31",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_struct$_slice_$3768_memory_ptr_$_t_struct$_slice_$3768_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_slice_$3768_memory_ptr_$",
"typeString": "function (struct strings.slice memory,struct strings.slice memory) pure returns (string memory)"
}
},
"id": 5527,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "690:57:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "683:64:31",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 5529,
"nodeType": "ExpressionStatement",
"src": "683:64:31"
},
{
"expression": {
"argumentTypes": null,
"id": 5540,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 5530,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5502,
"src": "761: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": 5535,
"name": "_self",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5494,
"src": "790:5:31",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
"typeString": "struct Actions.Action memory"
}
},
"id": 5536,
"isConstant": false,
"isLValue": true