non-fungible-apps/out/StdJson.sol/stdJson.json

8869 lines
349 KiB
JSON

{
"abi": [],
"bytecode": {
"object": "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220d22a9db0e1bd13ff74bcbd0313382455456820f54744acc25e9e448ce608987b64736f6c63430008110033",
"sourceMap": "816:5655:8:-:0;;;;;;;;;;;;;;;;;;;;;",
"linkReferences": {}
},
"deployedBytecode": {
"object": "0x600080fdfea2646970667358221220d22a9db0e1bd13ff74bcbd0313382455456820f54744acc25e9e448ce608987b64736f6c63430008110033",
"sourceMap": "816:5655:8:-:0;;",
"linkReferences": {}
},
"methodIdentifiers": {},
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdJson.sol\":\"stdJson\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x2291ee8f379552b86f34d98acb248d50442c7d4ab94aed03f1c8ddb6aea6852d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ca6ca6fe35692428b507008b24e4ec4ba0cabaf58110fd0b4456a42e0166bdc\",\"dweb:/ipfs/QmUcSeXfYMyusrWxEdPRMeWFYhf9qD6YJaZXCVo29F4eus\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xf4442ded918d167635adc30ba3c451d45666c89b38e0eec2adaf0857b49a72f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4cb181bd626fe852a36f9b1cf2d79ef0fa9d2bf2cbf0ec86f33f5bf492c0b69\",\"dweb:/ipfs/QmaZKevWdZbjoTB7qtzKjP3dZhiUGymJc4Wb9qkNMewxjB\"]}},\"version\":1}",
"metadata": {
"compiler": {
"version": "0.8.17+commit.8df45f5f"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"remappings": [
":@ensdomains/=node_modules/@ensdomains/",
":@openzeppelin/=node_modules/@openzeppelin/",
":ds-test/=lib/forge-std/lib/ds-test/src/",
":eth-gas-reporter/=node_modules/eth-gas-reporter/",
":forge-std/=lib/forge-std/src/",
":hardhat-deploy/=node_modules/hardhat-deploy/",
":hardhat/=node_modules/hardhat/"
],
"optimizer": {
"enabled": true,
"runs": 200
},
"metadata": {
"bytecodeHash": "ipfs"
},
"compilationTarget": {
"lib/forge-std/src/StdJson.sol": "stdJson"
},
"libraries": {},
"viaIR": true
},
"sources": {
"lib/forge-std/src/StdJson.sol": {
"keccak256": "0x2291ee8f379552b86f34d98acb248d50442c7d4ab94aed03f1c8ddb6aea6852d",
"urls": [
"bzz-raw://1ca6ca6fe35692428b507008b24e4ec4ba0cabaf58110fd0b4456a42e0166bdc",
"dweb:/ipfs/QmUcSeXfYMyusrWxEdPRMeWFYhf9qD6YJaZXCVo29F4eus"
],
"license": "MIT"
},
"lib/forge-std/src/Vm.sol": {
"keccak256": "0xf4442ded918d167635adc30ba3c451d45666c89b38e0eec2adaf0857b49a72f7",
"urls": [
"bzz-raw://b4cb181bd626fe852a36f9b1cf2d79ef0fa9d2bf2cbf0ec86f33f5bf492c0b69",
"dweb:/ipfs/QmaZKevWdZbjoTB7qtzKjP3dZhiUGymJc4Wb9qkNMewxjB"
],
"license": "MIT"
}
},
"version": 1
},
"ast": {
"absolutePath": "lib/forge-std/src/StdJson.sol",
"id": 6216,
"exportedSymbols": {
"Vm": [
9256
],
"VmSafe": [
8931
],
"stdJson": [
6215
]
},
"nodeType": "SourceUnit",
"src": "32:6440:8",
"nodes": [
{
"id": 5551,
"nodeType": "PragmaDirective",
"src": "32:31:8",
"nodes": [],
"literals": [
"solidity",
">=",
"0.6",
".0",
"<",
"0.9",
".0"
]
},
{
"id": 5552,
"nodeType": "PragmaDirective",
"src": "65:33:8",
"nodes": [],
"literals": [
"experimental",
"ABIEncoderV2"
]
},
{
"id": 5553,
"nodeType": "ImportDirective",
"src": "100:18:8",
"nodes": [],
"absolutePath": "lib/forge-std/src/Vm.sol",
"file": "./Vm.sol",
"nameLocation": "-1:-1:-1",
"scope": 6216,
"sourceUnit": 9257,
"symbolAliases": [],
"unitAlias": ""
},
{
"id": 6215,
"nodeType": "ContractDefinition",
"src": "816:5655:8",
"nodes": [
{
"id": 5570,
"nodeType": "VariableDeclaration",
"src": "838:88:8",
"nodes": [],
"constant": true,
"mutability": "constant",
"name": "vm",
"nameLocation": "862:2:8",
"scope": 6215,
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
},
"typeName": {
"id": 5555,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 5554,
"name": "VmSafe",
"nameLocations": [
"838:6:8"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 8931,
"src": "838:6:8"
},
"referencedDeclaration": 8931,
"src": "838:6:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"hexValue": "6865766d20636865617420636f6465",
"id": 5564,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "904:17:8",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d",
"typeString": "literal_string \"hevm cheat code\""
},
"value": "hevm cheat code"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d",
"typeString": "literal_string \"hevm cheat code\""
}
],
"id": 5563,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
"src": "894:9:8",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 5565,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "894:28:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 5562,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "886:7:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 5561,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "886:7:8",
"typeDescriptions": {}
}
},
"id": 5566,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "886:37:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 5560,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "878:7:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint160_$",
"typeString": "type(uint160)"
},
"typeName": {
"id": 5559,
"name": "uint160",
"nodeType": "ElementaryTypeName",
"src": "878:7:8",
"typeDescriptions": {}
}
},
"id": 5567,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "878:46:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint160",
"typeString": "uint160"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint160",
"typeString": "uint160"
}
],
"id": 5558,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "870:7:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 5557,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "870:7:8",
"typeDescriptions": {}
}
},
"id": 5568,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "870:55:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 5556,
"name": "Vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 9256,
"src": "867:2:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Vm_$9256_$",
"typeString": "type(contract Vm)"
}
},
"id": 5569,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "867:59:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_Vm_$9256",
"typeString": "contract Vm"
}
},
"visibility": "private"
},
{
"id": 5586,
"nodeType": "FunctionDefinition",
"src": "933:141:8",
"nodes": [],
"body": {
"id": 5585,
"nodeType": "Block",
"src": "1027:47:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 5581,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5572,
"src": "1057:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5582,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5574,
"src": "1063:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 5579,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "1044:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5580,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "1047:9:8",
"memberName": "parseJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8719,
"src": "1044:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory,string memory) pure external returns (bytes memory)"
}
},
"id": 5583,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1044:23:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"functionReturnParameters": 5578,
"id": 5584,
"nodeType": "Return",
"src": "1037:30:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "parseRaw",
"nameLocation": "942:8:8",
"parameters": {
"id": 5575,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5572,
"mutability": "mutable",
"name": "json",
"nameLocation": "965:4:8",
"nodeType": "VariableDeclaration",
"scope": 5586,
"src": "951:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5571,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "951:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5574,
"mutability": "mutable",
"name": "key",
"nameLocation": "985:3:8",
"nodeType": "VariableDeclaration",
"scope": 5586,
"src": "971:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5573,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "971:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "950:39:8"
},
"returnParameters": {
"id": 5578,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5577,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5586,
"src": "1013:12:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 5576,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "1013:5:8",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "1012:14:8"
},
"scope": 6215,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 5608,
"nodeType": "FunctionDefinition",
"src": "1080:159:8",
"nodes": [],
"body": {
"id": 5607,
"nodeType": "Block",
"src": "1169:70:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 5599,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5588,
"src": "1210:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5600,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5590,
"src": "1216:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 5597,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "1197:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5598,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "1200:9:8",
"memberName": "parseJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8719,
"src": "1197:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory,string memory) pure external returns (bytes memory)"
}
},
"id": 5601,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1197:23:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"components": [
{
"id": 5603,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1223:7:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 5602,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1223:7:8",
"typeDescriptions": {}
}
}
],
"id": 5604,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "1222:9:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
}
],
"expression": {
"id": 5595,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "1186:3:8",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 5596,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "1190:6:8",
"memberName": "decode",
"nodeType": "MemberAccess",
"src": "1186:10:8",
"typeDescriptions": {
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
"typeString": "function () pure"
}
},
"id": 5605,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1186:46:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 5594,
"id": 5606,
"nodeType": "Return",
"src": "1179:53:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "readUint",
"nameLocation": "1089:8:8",
"parameters": {
"id": 5591,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5588,
"mutability": "mutable",
"name": "json",
"nameLocation": "1112:4:8",
"nodeType": "VariableDeclaration",
"scope": 5608,
"src": "1098:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5587,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1098:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5590,
"mutability": "mutable",
"name": "key",
"nameLocation": "1132:3:8",
"nodeType": "VariableDeclaration",
"scope": 5608,
"src": "1118:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5589,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1118:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "1097:39:8"
},
"returnParameters": {
"id": 5594,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5593,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5608,
"src": "1160:7:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 5592,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1160:7:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1159:9:8"
},
"scope": 6215,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 5632,
"nodeType": "FunctionDefinition",
"src": "1245:175:8",
"nodes": [],
"body": {
"id": 5631,
"nodeType": "Block",
"src": "1348:72:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 5622,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5610,
"src": "1389:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5623,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5612,
"src": "1395:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 5620,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "1376:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5621,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "1379:9:8",
"memberName": "parseJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8719,
"src": "1376:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory,string memory) pure external returns (bytes memory)"
}
},
"id": 5624,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1376:23:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"components": [
{
"baseExpression": {
"id": 5626,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1402:7:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 5625,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1402:7:8",
"typeDescriptions": {}
}
},
"id": 5627,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "1402:9:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_array$_t_uint256_$dyn_memory_ptr_$",
"typeString": "type(uint256[] memory)"
}
}
],
"id": 5628,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "1401:11:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_array$_t_uint256_$dyn_memory_ptr_$",
"typeString": "type(uint256[] memory)"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_type$_t_array$_t_uint256_$dyn_memory_ptr_$",
"typeString": "type(uint256[] memory)"
}
],
"expression": {
"id": 5618,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "1365:3:8",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 5619,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "1369:6:8",
"memberName": "decode",
"nodeType": "MemberAccess",
"src": "1365:10:8",
"typeDescriptions": {
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
"typeString": "function () pure"
}
},
"id": 5629,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1365:48:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[] memory"
}
},
"functionReturnParameters": 5617,
"id": 5630,
"nodeType": "Return",
"src": "1358:55:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "readUintArray",
"nameLocation": "1254:13:8",
"parameters": {
"id": 5613,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5610,
"mutability": "mutable",
"name": "json",
"nameLocation": "1282:4:8",
"nodeType": "VariableDeclaration",
"scope": 5632,
"src": "1268:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5609,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1268:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5612,
"mutability": "mutable",
"name": "key",
"nameLocation": "1302:3:8",
"nodeType": "VariableDeclaration",
"scope": 5632,
"src": "1288:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5611,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1288:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "1267:39:8"
},
"returnParameters": {
"id": 5617,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5616,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5632,
"src": "1330:16:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 5614,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1330:7:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 5615,
"nodeType": "ArrayTypeName",
"src": "1330:9:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
}
],
"src": "1329:18:8"
},
"scope": 6215,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 5654,
"nodeType": "FunctionDefinition",
"src": "1426:156:8",
"nodes": [],
"body": {
"id": 5653,
"nodeType": "Block",
"src": "1513:69:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 5645,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5634,
"src": "1554:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5646,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5636,
"src": "1560:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 5643,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "1541:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5644,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "1544:9:8",
"memberName": "parseJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8719,
"src": "1541:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory,string memory) pure external returns (bytes memory)"
}
},
"id": 5647,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1541:23:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"components": [
{
"id": 5649,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1567:6:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_int256_$",
"typeString": "type(int256)"
},
"typeName": {
"id": 5648,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "1567:6:8",
"typeDescriptions": {}
}
}
],
"id": 5650,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "1566:8:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_int256_$",
"typeString": "type(int256)"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_type$_t_int256_$",
"typeString": "type(int256)"
}
],
"expression": {
"id": 5641,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "1530:3:8",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 5642,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "1534:6:8",
"memberName": "decode",
"nodeType": "MemberAccess",
"src": "1530:10:8",
"typeDescriptions": {
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
"typeString": "function () pure"
}
},
"id": 5651,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1530:45:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"functionReturnParameters": 5640,
"id": 5652,
"nodeType": "Return",
"src": "1523:52:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "readInt",
"nameLocation": "1435:7:8",
"parameters": {
"id": 5637,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5634,
"mutability": "mutable",
"name": "json",
"nameLocation": "1457:4:8",
"nodeType": "VariableDeclaration",
"scope": 5654,
"src": "1443:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5633,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1443:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5636,
"mutability": "mutable",
"name": "key",
"nameLocation": "1477:3:8",
"nodeType": "VariableDeclaration",
"scope": 5654,
"src": "1463:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5635,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1463:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "1442:39:8"
},
"returnParameters": {
"id": 5640,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5639,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5654,
"src": "1505:6:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 5638,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "1505:6:8",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
}
],
"src": "1504:8:8"
},
"scope": 6215,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 5678,
"nodeType": "FunctionDefinition",
"src": "1588:172:8",
"nodes": [],
"body": {
"id": 5677,
"nodeType": "Block",
"src": "1689:71:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 5668,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5656,
"src": "1730:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5669,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5658,
"src": "1736:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 5666,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "1717:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5667,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "1720:9:8",
"memberName": "parseJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8719,
"src": "1717:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory,string memory) pure external returns (bytes memory)"
}
},
"id": 5670,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1717:23:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"components": [
{
"baseExpression": {
"id": 5672,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1743:6:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_int256_$",
"typeString": "type(int256)"
},
"typeName": {
"id": 5671,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "1743:6:8",
"typeDescriptions": {}
}
},
"id": 5673,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "1743:8:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_array$_t_int256_$dyn_memory_ptr_$",
"typeString": "type(int256[] memory)"
}
}
],
"id": 5674,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "1742:10:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_array$_t_int256_$dyn_memory_ptr_$",
"typeString": "type(int256[] memory)"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_type$_t_array$_t_int256_$dyn_memory_ptr_$",
"typeString": "type(int256[] memory)"
}
],
"expression": {
"id": 5664,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "1706:3:8",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 5665,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "1710:6:8",
"memberName": "decode",
"nodeType": "MemberAccess",
"src": "1706:10:8",
"typeDescriptions": {
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
"typeString": "function () pure"
}
},
"id": 5675,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1706:47:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr",
"typeString": "int256[] memory"
}
},
"functionReturnParameters": 5663,
"id": 5676,
"nodeType": "Return",
"src": "1699:54:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "readIntArray",
"nameLocation": "1597:12:8",
"parameters": {
"id": 5659,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5656,
"mutability": "mutable",
"name": "json",
"nameLocation": "1624:4:8",
"nodeType": "VariableDeclaration",
"scope": 5678,
"src": "1610:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5655,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1610:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5658,
"mutability": "mutable",
"name": "key",
"nameLocation": "1644:3:8",
"nodeType": "VariableDeclaration",
"scope": 5678,
"src": "1630:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5657,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1630:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "1609:39:8"
},
"returnParameters": {
"id": 5663,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5662,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5678,
"src": "1672:15:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr",
"typeString": "int256[]"
},
"typeName": {
"baseType": {
"id": 5660,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "1672:6:8",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"id": 5661,
"nodeType": "ArrayTypeName",
"src": "1672:8:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr",
"typeString": "int256[]"
}
},
"visibility": "internal"
}
],
"src": "1671:17:8"
},
"scope": 6215,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 5700,
"nodeType": "FunctionDefinition",
"src": "1766:162:8",
"nodes": [],
"body": {
"id": 5699,
"nodeType": "Block",
"src": "1858:70:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 5691,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5680,
"src": "1899:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5692,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5682,
"src": "1905:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 5689,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "1886:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5690,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "1889:9:8",
"memberName": "parseJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8719,
"src": "1886:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory,string memory) pure external returns (bytes memory)"
}
},
"id": 5693,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1886:23:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"components": [
{
"id": 5695,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1912:7:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes32_$",
"typeString": "type(bytes32)"
},
"typeName": {
"id": 5694,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1912:7:8",
"typeDescriptions": {}
}
}
],
"id": 5696,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "1911:9:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes32_$",
"typeString": "type(bytes32)"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_type$_t_bytes32_$",
"typeString": "type(bytes32)"
}
],
"expression": {
"id": 5687,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "1875:3:8",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 5688,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "1879:6:8",
"memberName": "decode",
"nodeType": "MemberAccess",
"src": "1875:10:8",
"typeDescriptions": {
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
"typeString": "function () pure"
}
},
"id": 5697,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1875:46:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"functionReturnParameters": 5686,
"id": 5698,
"nodeType": "Return",
"src": "1868:53:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "readBytes32",
"nameLocation": "1775:11:8",
"parameters": {
"id": 5683,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5680,
"mutability": "mutable",
"name": "json",
"nameLocation": "1801:4:8",
"nodeType": "VariableDeclaration",
"scope": 5700,
"src": "1787:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5679,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1787:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5682,
"mutability": "mutable",
"name": "key",
"nameLocation": "1821:3:8",
"nodeType": "VariableDeclaration",
"scope": 5700,
"src": "1807:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5681,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1807:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "1786:39:8"
},
"returnParameters": {
"id": 5686,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5685,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5700,
"src": "1849:7:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 5684,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1849:7:8",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "1848:9:8"
},
"scope": 6215,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 5724,
"nodeType": "FunctionDefinition",
"src": "1934:178:8",
"nodes": [],
"body": {
"id": 5723,
"nodeType": "Block",
"src": "2040:72:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 5714,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5702,
"src": "2081:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5715,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5704,
"src": "2087:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 5712,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "2068:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5713,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "2071:9:8",
"memberName": "parseJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8719,
"src": "2068:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory,string memory) pure external returns (bytes memory)"
}
},
"id": 5716,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2068:23:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"components": [
{
"baseExpression": {
"id": 5718,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2094:7:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes32_$",
"typeString": "type(bytes32)"
},
"typeName": {
"id": 5717,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2094:7:8",
"typeDescriptions": {}
}
},
"id": 5719,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2094:9:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$",
"typeString": "type(bytes32[] memory)"
}
}
],
"id": 5720,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "2093:11:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$",
"typeString": "type(bytes32[] memory)"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$",
"typeString": "type(bytes32[] memory)"
}
],
"expression": {
"id": 5710,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "2057:3:8",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 5711,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "2061:6:8",
"memberName": "decode",
"nodeType": "MemberAccess",
"src": "2057:10:8",
"typeDescriptions": {
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
"typeString": "function () pure"
}
},
"id": 5721,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2057:48:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[] memory"
}
},
"functionReturnParameters": 5709,
"id": 5722,
"nodeType": "Return",
"src": "2050:55:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "readBytes32Array",
"nameLocation": "1943:16:8",
"parameters": {
"id": 5705,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5702,
"mutability": "mutable",
"name": "json",
"nameLocation": "1974:4:8",
"nodeType": "VariableDeclaration",
"scope": 5724,
"src": "1960:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5701,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1960:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5704,
"mutability": "mutable",
"name": "key",
"nameLocation": "1994:3:8",
"nodeType": "VariableDeclaration",
"scope": 5724,
"src": "1980:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5703,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1980:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "1959:39:8"
},
"returnParameters": {
"id": 5709,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5708,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5724,
"src": "2022:16:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[]"
},
"typeName": {
"baseType": {
"id": 5706,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2022:7:8",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 5707,
"nodeType": "ArrayTypeName",
"src": "2022:9:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
"typeString": "bytes32[]"
}
},
"visibility": "internal"
}
],
"src": "2021:18:8"
},
"scope": 6215,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 5746,
"nodeType": "FunctionDefinition",
"src": "2118:166:8",
"nodes": [],
"body": {
"id": 5745,
"nodeType": "Block",
"src": "2215:69:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 5737,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5726,
"src": "2256:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5738,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5728,
"src": "2262:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 5735,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "2243:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5736,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "2246:9:8",
"memberName": "parseJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8719,
"src": "2243:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory,string memory) pure external returns (bytes memory)"
}
},
"id": 5739,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2243:23:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"components": [
{
"id": 5741,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2269:6:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
},
"typeName": {
"id": 5740,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2269:6:8",
"typeDescriptions": {}
}
}
],
"id": 5742,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "2268:8:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
}
],
"expression": {
"id": 5733,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "2232:3:8",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 5734,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "2236:6:8",
"memberName": "decode",
"nodeType": "MemberAccess",
"src": "2232:10:8",
"typeDescriptions": {
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
"typeString": "function () pure"
}
},
"id": 5743,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2232:45:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 5732,
"id": 5744,
"nodeType": "Return",
"src": "2225:52:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "readString",
"nameLocation": "2127:10:8",
"parameters": {
"id": 5729,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5726,
"mutability": "mutable",
"name": "json",
"nameLocation": "2152:4:8",
"nodeType": "VariableDeclaration",
"scope": 5746,
"src": "2138:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5725,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2138:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5728,
"mutability": "mutable",
"name": "key",
"nameLocation": "2172:3:8",
"nodeType": "VariableDeclaration",
"scope": 5746,
"src": "2158:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5727,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2158:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "2137:39:8"
},
"returnParameters": {
"id": 5732,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5731,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5746,
"src": "2200:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5730,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2200:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "2199:15:8"
},
"scope": 6215,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 5770,
"nodeType": "FunctionDefinition",
"src": "2290:175:8",
"nodes": [],
"body": {
"id": 5769,
"nodeType": "Block",
"src": "2394:71:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 5760,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5748,
"src": "2435:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5761,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5750,
"src": "2441:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 5758,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "2422:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5759,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "2425:9:8",
"memberName": "parseJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8719,
"src": "2422:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory,string memory) pure external returns (bytes memory)"
}
},
"id": 5762,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2422:23:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"components": [
{
"baseExpression": {
"id": 5764,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2448:6:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
},
"typeName": {
"id": 5763,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2448:6:8",
"typeDescriptions": {}
}
},
"id": 5765,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2448:8:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
"typeString": "type(string memory[] memory)"
}
}
],
"id": 5766,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "2447:10:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
"typeString": "type(string memory[] memory)"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_type$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
"typeString": "type(string memory[] memory)"
}
],
"expression": {
"id": 5756,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "2411:3:8",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 5757,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "2415:6:8",
"memberName": "decode",
"nodeType": "MemberAccess",
"src": "2411:10:8",
"typeDescriptions": {
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
"typeString": "function () pure"
}
},
"id": 5767,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2411:47:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"typeString": "string memory[] memory"
}
},
"functionReturnParameters": 5755,
"id": 5768,
"nodeType": "Return",
"src": "2404:54:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "readStringArray",
"nameLocation": "2299:15:8",
"parameters": {
"id": 5751,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5748,
"mutability": "mutable",
"name": "json",
"nameLocation": "2329:4:8",
"nodeType": "VariableDeclaration",
"scope": 5770,
"src": "2315:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5747,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2315:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5750,
"mutability": "mutable",
"name": "key",
"nameLocation": "2349:3:8",
"nodeType": "VariableDeclaration",
"scope": 5770,
"src": "2335:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5749,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2335:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "2314:39:8"
},
"returnParameters": {
"id": 5755,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5754,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5770,
"src": "2377:15:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"typeString": "string[]"
},
"typeName": {
"baseType": {
"id": 5752,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2377:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"id": 5753,
"nodeType": "ArrayTypeName",
"src": "2377:8:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
"typeString": "string[]"
}
},
"visibility": "internal"
}
],
"src": "2376:17:8"
},
"scope": 6215,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 5792,
"nodeType": "FunctionDefinition",
"src": "2471:162:8",
"nodes": [],
"body": {
"id": 5791,
"nodeType": "Block",
"src": "2563:70:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 5783,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5772,
"src": "2604:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5784,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5774,
"src": "2610:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 5781,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "2591:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5782,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "2594:9:8",
"memberName": "parseJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8719,
"src": "2591:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory,string memory) pure external returns (bytes memory)"
}
},
"id": 5785,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2591:23:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"components": [
{
"id": 5787,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2617:7:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 5786,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2617:7:8",
"typeDescriptions": {}
}
}
],
"id": 5788,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "2616:9:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
}
],
"expression": {
"id": 5779,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "2580:3:8",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 5780,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "2584:6:8",
"memberName": "decode",
"nodeType": "MemberAccess",
"src": "2580:10:8",
"typeDescriptions": {
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
"typeString": "function () pure"
}
},
"id": 5789,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2580:46:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"functionReturnParameters": 5778,
"id": 5790,
"nodeType": "Return",
"src": "2573:53:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "readAddress",
"nameLocation": "2480:11:8",
"parameters": {
"id": 5775,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5772,
"mutability": "mutable",
"name": "json",
"nameLocation": "2506:4:8",
"nodeType": "VariableDeclaration",
"scope": 5792,
"src": "2492:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5771,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2492:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5774,
"mutability": "mutable",
"name": "key",
"nameLocation": "2526:3:8",
"nodeType": "VariableDeclaration",
"scope": 5792,
"src": "2512:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5773,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2512:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "2491:39:8"
},
"returnParameters": {
"id": 5778,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5777,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5792,
"src": "2554:7:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 5776,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2554:7:8",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "2553:9:8"
},
"scope": 6215,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 5816,
"nodeType": "FunctionDefinition",
"src": "2639:178:8",
"nodes": [],
"body": {
"id": 5815,
"nodeType": "Block",
"src": "2745:72:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 5806,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5794,
"src": "2786:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5807,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5796,
"src": "2792:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 5804,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "2773:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5805,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "2776:9:8",
"memberName": "parseJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8719,
"src": "2773:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory,string memory) pure external returns (bytes memory)"
}
},
"id": 5808,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2773:23:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"components": [
{
"baseExpression": {
"id": 5810,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2799:7:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 5809,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2799:7:8",
"typeDescriptions": {}
}
},
"id": 5811,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2799:9:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "type(address[] memory)"
}
}
],
"id": 5812,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "2798:11:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "type(address[] memory)"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_type$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "type(address[] memory)"
}
],
"expression": {
"id": 5802,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "2762:3:8",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 5803,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "2766:6:8",
"memberName": "decode",
"nodeType": "MemberAccess",
"src": "2762:10:8",
"typeDescriptions": {
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
"typeString": "function () pure"
}
},
"id": 5813,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2762:48:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"functionReturnParameters": 5801,
"id": 5814,
"nodeType": "Return",
"src": "2755:55:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "readAddressArray",
"nameLocation": "2648:16:8",
"parameters": {
"id": 5797,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5794,
"mutability": "mutable",
"name": "json",
"nameLocation": "2679:4:8",
"nodeType": "VariableDeclaration",
"scope": 5816,
"src": "2665:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5793,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2665:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5796,
"mutability": "mutable",
"name": "key",
"nameLocation": "2699:3:8",
"nodeType": "VariableDeclaration",
"scope": 5816,
"src": "2685:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5795,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2685:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "2664:39:8"
},
"returnParameters": {
"id": 5801,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5800,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5816,
"src": "2727:16:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 5798,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2727:7:8",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 5799,
"nodeType": "ArrayTypeName",
"src": "2727:9:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"visibility": "internal"
}
],
"src": "2726:18:8"
},
"scope": 6215,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 5838,
"nodeType": "FunctionDefinition",
"src": "2823:153:8",
"nodes": [],
"body": {
"id": 5837,
"nodeType": "Block",
"src": "2909:67:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 5829,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5818,
"src": "2950:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5830,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5820,
"src": "2956:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 5827,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "2937:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5828,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "2940:9:8",
"memberName": "parseJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8719,
"src": "2937:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory,string memory) pure external returns (bytes memory)"
}
},
"id": 5831,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2937:23:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"components": [
{
"id": 5833,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2963:4:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bool_$",
"typeString": "type(bool)"
},
"typeName": {
"id": 5832,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2963:4:8",
"typeDescriptions": {}
}
}
],
"id": 5834,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "2962:6:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bool_$",
"typeString": "type(bool)"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_type$_t_bool_$",
"typeString": "type(bool)"
}
],
"expression": {
"id": 5825,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "2926:3:8",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 5826,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "2930:6:8",
"memberName": "decode",
"nodeType": "MemberAccess",
"src": "2926:10:8",
"typeDescriptions": {
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
"typeString": "function () pure"
}
},
"id": 5835,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2926:43:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"functionReturnParameters": 5824,
"id": 5836,
"nodeType": "Return",
"src": "2919:50:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "readBool",
"nameLocation": "2832:8:8",
"parameters": {
"id": 5821,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5818,
"mutability": "mutable",
"name": "json",
"nameLocation": "2855:4:8",
"nodeType": "VariableDeclaration",
"scope": 5838,
"src": "2841:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5817,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2841:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5820,
"mutability": "mutable",
"name": "key",
"nameLocation": "2875:3:8",
"nodeType": "VariableDeclaration",
"scope": 5838,
"src": "2861:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5819,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2861:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "2840:39:8"
},
"returnParameters": {
"id": 5824,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5823,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5838,
"src": "2903:4:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 5822,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2903:4:8",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "2902:6:8"
},
"scope": 6215,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 5862,
"nodeType": "FunctionDefinition",
"src": "2982:169:8",
"nodes": [],
"body": {
"id": 5861,
"nodeType": "Block",
"src": "3082:69:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 5852,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5840,
"src": "3123:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5853,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5842,
"src": "3129:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 5850,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "3110:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5851,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "3113:9:8",
"memberName": "parseJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8719,
"src": "3110:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory,string memory) pure external returns (bytes memory)"
}
},
"id": 5854,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3110:23:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"components": [
{
"baseExpression": {
"id": 5856,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3136:4:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bool_$",
"typeString": "type(bool)"
},
"typeName": {
"id": 5855,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "3136:4:8",
"typeDescriptions": {}
}
},
"id": 5857,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "3136:6:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_array$_t_bool_$dyn_memory_ptr_$",
"typeString": "type(bool[] memory)"
}
}
],
"id": 5858,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "3135:8:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_array$_t_bool_$dyn_memory_ptr_$",
"typeString": "type(bool[] memory)"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_type$_t_array$_t_bool_$dyn_memory_ptr_$",
"typeString": "type(bool[] memory)"
}
],
"expression": {
"id": 5848,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "3099:3:8",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 5849,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "3103:6:8",
"memberName": "decode",
"nodeType": "MemberAccess",
"src": "3099:10:8",
"typeDescriptions": {
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
"typeString": "function () pure"
}
},
"id": 5859,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3099:45:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr",
"typeString": "bool[] memory"
}
},
"functionReturnParameters": 5847,
"id": 5860,
"nodeType": "Return",
"src": "3092:52:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "readBoolArray",
"nameLocation": "2991:13:8",
"parameters": {
"id": 5843,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5840,
"mutability": "mutable",
"name": "json",
"nameLocation": "3019:4:8",
"nodeType": "VariableDeclaration",
"scope": 5862,
"src": "3005:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5839,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3005:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5842,
"mutability": "mutable",
"name": "key",
"nameLocation": "3039:3:8",
"nodeType": "VariableDeclaration",
"scope": 5862,
"src": "3025:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5841,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3025:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "3004:39:8"
},
"returnParameters": {
"id": 5847,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5846,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5862,
"src": "3067:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr",
"typeString": "bool[]"
},
"typeName": {
"baseType": {
"id": 5844,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "3067:4:8",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 5845,
"nodeType": "ArrayTypeName",
"src": "3067:6:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr",
"typeString": "bool[]"
}
},
"visibility": "internal"
}
],
"src": "3066:15:8"
},
"scope": 6215,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 5884,
"nodeType": "FunctionDefinition",
"src": "3157:163:8",
"nodes": [],
"body": {
"id": 5883,
"nodeType": "Block",
"src": "3252:68:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 5875,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5864,
"src": "3293:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5876,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5866,
"src": "3299:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 5873,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "3280:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5874,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "3283:9:8",
"memberName": "parseJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8719,
"src": "3280:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory,string memory) pure external returns (bytes memory)"
}
},
"id": 5877,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3280:23:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"components": [
{
"id": 5879,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3306:5:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
"typeString": "type(bytes storage pointer)"
},
"typeName": {
"id": 5878,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "3306:5:8",
"typeDescriptions": {}
}
}
],
"id": 5880,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "3305:7:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
"typeString": "type(bytes storage pointer)"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
"typeString": "type(bytes storage pointer)"
}
],
"expression": {
"id": 5871,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "3269:3:8",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 5872,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "3273:6:8",
"memberName": "decode",
"nodeType": "MemberAccess",
"src": "3269:10:8",
"typeDescriptions": {
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
"typeString": "function () pure"
}
},
"id": 5881,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3269:44:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"functionReturnParameters": 5870,
"id": 5882,
"nodeType": "Return",
"src": "3262:51:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "readBytes",
"nameLocation": "3166:9:8",
"parameters": {
"id": 5867,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5864,
"mutability": "mutable",
"name": "json",
"nameLocation": "3190:4:8",
"nodeType": "VariableDeclaration",
"scope": 5884,
"src": "3176:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5863,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3176:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5866,
"mutability": "mutable",
"name": "key",
"nameLocation": "3210:3:8",
"nodeType": "VariableDeclaration",
"scope": 5884,
"src": "3196:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5865,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3196:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "3175:39:8"
},
"returnParameters": {
"id": 5870,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5869,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5884,
"src": "3238:12:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 5868,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "3238:5:8",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "3237:14:8"
},
"scope": 6215,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 5908,
"nodeType": "FunctionDefinition",
"src": "3326:172:8",
"nodes": [],
"body": {
"id": 5907,
"nodeType": "Block",
"src": "3428:70:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 5898,
"name": "json",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5886,
"src": "3469:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5899,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5888,
"src": "3475:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 5896,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "3456:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5897,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "3459:9:8",
"memberName": "parseJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8719,
"src": "3456:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory,string memory) pure external returns (bytes memory)"
}
},
"id": 5900,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3456:23:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"components": [
{
"baseExpression": {
"id": 5902,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3482:5:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
"typeString": "type(bytes storage pointer)"
},
"typeName": {
"id": 5901,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "3482:5:8",
"typeDescriptions": {}
}
},
"id": 5903,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "3482:7:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$",
"typeString": "type(bytes memory[] memory)"
}
}
],
"id": 5904,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "3481:9:8",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$",
"typeString": "type(bytes memory[] memory)"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$",
"typeString": "type(bytes memory[] memory)"
}
],
"expression": {
"id": 5894,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "3445:3:8",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 5895,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "3449:6:8",
"memberName": "decode",
"nodeType": "MemberAccess",
"src": "3445:10:8",
"typeDescriptions": {
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
"typeString": "function () pure"
}
},
"id": 5905,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3445:46:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
"typeString": "bytes memory[] memory"
}
},
"functionReturnParameters": 5893,
"id": 5906,
"nodeType": "Return",
"src": "3438:53:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "readBytesArray",
"nameLocation": "3335:14:8",
"parameters": {
"id": 5889,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5886,
"mutability": "mutable",
"name": "json",
"nameLocation": "3364:4:8",
"nodeType": "VariableDeclaration",
"scope": 5908,
"src": "3350:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5885,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3350:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5888,
"mutability": "mutable",
"name": "key",
"nameLocation": "3384:3:8",
"nodeType": "VariableDeclaration",
"scope": 5908,
"src": "3370:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5887,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3370:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "3349:39:8"
},
"returnParameters": {
"id": 5893,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5892,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5908,
"src": "3412:14:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 5890,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "3412:5:8",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 5891,
"nodeType": "ArrayTypeName",
"src": "3412:7:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"visibility": "internal"
}
],
"src": "3411:16:8"
},
"scope": 6215,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 5927,
"nodeType": "FunctionDefinition",
"src": "3504:167:8",
"nodes": [],
"body": {
"id": 5926,
"nodeType": "Block",
"src": "3610:61:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 5921,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5910,
"src": "3644:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5922,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5912,
"src": "3653:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5923,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5914,
"src": "3658:5:8",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
"expression": {
"id": 5919,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "3627:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5920,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "3630:13:8",
"memberName": "serializeBool",
"nodeType": "MemberAccess",
"referencedDeclaration": 8737,
"src": "3627:16:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory,string memory,bool) external returns (string memory)"
}
},
"id": 5924,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3627:37:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 5918,
"id": 5925,
"nodeType": "Return",
"src": "3620:44:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "serialize",
"nameLocation": "3513:9:8",
"parameters": {
"id": 5915,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5910,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "3537:7:8",
"nodeType": "VariableDeclaration",
"scope": 5927,
"src": "3523:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5909,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3523:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5912,
"mutability": "mutable",
"name": "key",
"nameLocation": "3560:3:8",
"nodeType": "VariableDeclaration",
"scope": 5927,
"src": "3546:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5911,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3546:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5914,
"mutability": "mutable",
"name": "value",
"nameLocation": "3570:5:8",
"nodeType": "VariableDeclaration",
"scope": 5927,
"src": "3565:10:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 5913,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "3565:4:8",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "3522:54:8"
},
"returnParameters": {
"id": 5918,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5917,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5927,
"src": "3595:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5916,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3595:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "3594:15:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 5947,
"nodeType": "FunctionDefinition",
"src": "3677:196:8",
"nodes": [],
"body": {
"id": 5946,
"nodeType": "Block",
"src": "3812:61:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 5941,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5929,
"src": "3846:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5942,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5931,
"src": "3855:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5943,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5934,
"src": "3860:5:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr",
"typeString": "bool[] memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr",
"typeString": "bool[] memory"
}
],
"expression": {
"id": 5939,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "3829:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5940,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "3832:13:8",
"memberName": "serializeBool",
"nodeType": "MemberAccess",
"referencedDeclaration": 8815,
"src": "3829:16:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory,string memory,bool[] memory) external returns (string memory)"
}
},
"id": 5944,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3829:37:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 5938,
"id": 5945,
"nodeType": "Return",
"src": "3822:44:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "serialize",
"nameLocation": "3686:9:8",
"parameters": {
"id": 5935,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5929,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "3710:7:8",
"nodeType": "VariableDeclaration",
"scope": 5947,
"src": "3696:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5928,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3696:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5931,
"mutability": "mutable",
"name": "key",
"nameLocation": "3733:3:8",
"nodeType": "VariableDeclaration",
"scope": 5947,
"src": "3719:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5930,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3719:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5934,
"mutability": "mutable",
"name": "value",
"nameLocation": "3752:5:8",
"nodeType": "VariableDeclaration",
"scope": 5947,
"src": "3738:19:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr",
"typeString": "bool[]"
},
"typeName": {
"baseType": {
"id": 5932,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "3738:4:8",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 5933,
"nodeType": "ArrayTypeName",
"src": "3738:6:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr",
"typeString": "bool[]"
}
},
"visibility": "internal"
}
],
"src": "3695:63:8"
},
"returnParameters": {
"id": 5938,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5937,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5947,
"src": "3793:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5936,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3793:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "3792:15:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 5966,
"nodeType": "FunctionDefinition",
"src": "3879:170:8",
"nodes": [],
"body": {
"id": 5965,
"nodeType": "Block",
"src": "3988:61:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 5960,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5949,
"src": "4022:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5961,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5951,
"src": "4031:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5962,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5953,
"src": "4036:5:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"id": 5958,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "4005:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5959,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "4008:13:8",
"memberName": "serializeUint",
"nodeType": "MemberAccess",
"referencedDeclaration": 8748,
"src": "4005:16:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory,string memory,uint256) external returns (string memory)"
}
},
"id": 5963,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4005:37:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 5957,
"id": 5964,
"nodeType": "Return",
"src": "3998:44:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "serialize",
"nameLocation": "3888:9:8",
"parameters": {
"id": 5954,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5949,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "3912:7:8",
"nodeType": "VariableDeclaration",
"scope": 5966,
"src": "3898:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5948,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3898:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5951,
"mutability": "mutable",
"name": "key",
"nameLocation": "3935:3:8",
"nodeType": "VariableDeclaration",
"scope": 5966,
"src": "3921:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5950,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3921:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5953,
"mutability": "mutable",
"name": "value",
"nameLocation": "3948:5:8",
"nodeType": "VariableDeclaration",
"scope": 5966,
"src": "3940:13:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 5952,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3940:7:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "3897:57:8"
},
"returnParameters": {
"id": 5957,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5956,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5966,
"src": "3973:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5955,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3973:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "3972:15:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 5986,
"nodeType": "FunctionDefinition",
"src": "4055:199:8",
"nodes": [],
"body": {
"id": 5985,
"nodeType": "Block",
"src": "4193:61:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 5980,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5968,
"src": "4227:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5981,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5970,
"src": "4236:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 5982,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5973,
"src": "4241:5:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[] memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[] memory"
}
],
"expression": {
"id": 5978,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "4210:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5979,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "4213:13:8",
"memberName": "serializeUint",
"nodeType": "MemberAccess",
"referencedDeclaration": 8827,
"src": "4210:16:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory,string memory,uint256[] memory) external returns (string memory)"
}
},
"id": 5983,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4210:37:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 5977,
"id": 5984,
"nodeType": "Return",
"src": "4203:44:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "serialize",
"nameLocation": "4064:9:8",
"parameters": {
"id": 5974,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5968,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "4088:7:8",
"nodeType": "VariableDeclaration",
"scope": 5986,
"src": "4074:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5967,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4074:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5970,
"mutability": "mutable",
"name": "key",
"nameLocation": "4111:3:8",
"nodeType": "VariableDeclaration",
"scope": 5986,
"src": "4097:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5969,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4097:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5973,
"mutability": "mutable",
"name": "value",
"nameLocation": "4133:5:8",
"nodeType": "VariableDeclaration",
"scope": 5986,
"src": "4116:22:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 5971,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "4116:7:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 5972,
"nodeType": "ArrayTypeName",
"src": "4116:9:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
}
],
"src": "4073:66:8"
},
"returnParameters": {
"id": 5977,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5976,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5986,
"src": "4174:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5975,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4174:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "4173:15:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 6005,
"nodeType": "FunctionDefinition",
"src": "4260:168:8",
"nodes": [],
"body": {
"id": 6004,
"nodeType": "Block",
"src": "4368:60:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 5999,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5988,
"src": "4401:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6000,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5990,
"src": "4410:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6001,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5992,
"src": "4415:5:8",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_int256",
"typeString": "int256"
}
],
"expression": {
"id": 5997,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "4385:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 5998,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "4388:12:8",
"memberName": "serializeInt",
"nodeType": "MemberAccess",
"referencedDeclaration": 8759,
"src": "4385:15:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_int256_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory,string memory,int256) external returns (string memory)"
}
},
"id": 6002,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4385:36:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 5996,
"id": 6003,
"nodeType": "Return",
"src": "4378:43:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "serialize",
"nameLocation": "4269:9:8",
"parameters": {
"id": 5993,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5988,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "4293:7:8",
"nodeType": "VariableDeclaration",
"scope": 6005,
"src": "4279:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5987,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4279:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5990,
"mutability": "mutable",
"name": "key",
"nameLocation": "4316:3:8",
"nodeType": "VariableDeclaration",
"scope": 6005,
"src": "4302:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5989,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4302:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5992,
"mutability": "mutable",
"name": "value",
"nameLocation": "4328:5:8",
"nodeType": "VariableDeclaration",
"scope": 6005,
"src": "4321:12:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 5991,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "4321:6:8",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
}
],
"src": "4278:56:8"
},
"returnParameters": {
"id": 5996,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5995,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 6005,
"src": "4353:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 5994,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4353:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "4352:15:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 6025,
"nodeType": "FunctionDefinition",
"src": "4434:197:8",
"nodes": [],
"body": {
"id": 6024,
"nodeType": "Block",
"src": "4571:60:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 6019,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6007,
"src": "4604:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6020,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6009,
"src": "4613:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6021,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6012,
"src": "4618:5:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr",
"typeString": "int256[] memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr",
"typeString": "int256[] memory"
}
],
"expression": {
"id": 6017,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "4588:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 6018,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "4591:12:8",
"memberName": "serializeInt",
"nodeType": "MemberAccess",
"referencedDeclaration": 8839,
"src": "4588:15:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory,string memory,int256[] memory) external returns (string memory)"
}
},
"id": 6022,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4588:36:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 6016,
"id": 6023,
"nodeType": "Return",
"src": "4581:43:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "serialize",
"nameLocation": "4443:9:8",
"parameters": {
"id": 6013,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6007,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "4467:7:8",
"nodeType": "VariableDeclaration",
"scope": 6025,
"src": "4453:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6006,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4453:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6009,
"mutability": "mutable",
"name": "key",
"nameLocation": "4490:3:8",
"nodeType": "VariableDeclaration",
"scope": 6025,
"src": "4476:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6008,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4476:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6012,
"mutability": "mutable",
"name": "value",
"nameLocation": "4511:5:8",
"nodeType": "VariableDeclaration",
"scope": 6025,
"src": "4495:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr",
"typeString": "int256[]"
},
"typeName": {
"baseType": {
"id": 6010,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "4495:6:8",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"id": 6011,
"nodeType": "ArrayTypeName",
"src": "4495:8:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr",
"typeString": "int256[]"
}
},
"visibility": "internal"
}
],
"src": "4452:65:8"
},
"returnParameters": {
"id": 6016,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6015,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 6025,
"src": "4552:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6014,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4552:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "4551:15:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 6044,
"nodeType": "FunctionDefinition",
"src": "4637:173:8",
"nodes": [],
"body": {
"id": 6043,
"nodeType": "Block",
"src": "4746:64:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 6038,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6027,
"src": "4783:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6039,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6029,
"src": "4792:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6040,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6031,
"src": "4797:5:8",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"id": 6036,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "4763:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 6037,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "4766:16:8",
"memberName": "serializeAddress",
"nodeType": "MemberAccess",
"referencedDeclaration": 8770,
"src": "4763:19:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory,string memory,address) external returns (string memory)"
}
},
"id": 6041,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4763:40:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 6035,
"id": 6042,
"nodeType": "Return",
"src": "4756:47:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "serialize",
"nameLocation": "4646:9:8",
"parameters": {
"id": 6032,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6027,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "4670:7:8",
"nodeType": "VariableDeclaration",
"scope": 6044,
"src": "4656:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6026,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4656:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6029,
"mutability": "mutable",
"name": "key",
"nameLocation": "4693:3:8",
"nodeType": "VariableDeclaration",
"scope": 6044,
"src": "4679:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6028,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4679:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6031,
"mutability": "mutable",
"name": "value",
"nameLocation": "4706:5:8",
"nodeType": "VariableDeclaration",
"scope": 6044,
"src": "4698:13:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 6030,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "4698:7:8",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "4655:57:8"
},
"returnParameters": {
"id": 6035,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6034,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 6044,
"src": "4731:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6033,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4731:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "4730:15:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 6064,
"nodeType": "FunctionDefinition",
"src": "4816:202:8",
"nodes": [],
"body": {
"id": 6063,
"nodeType": "Block",
"src": "4954:64:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 6058,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6046,
"src": "4991:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6059,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6048,
"src": "5000:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6060,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6051,
"src": "5005:5:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
],
"expression": {
"id": 6056,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "4971:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 6057,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "4974:16:8",
"memberName": "serializeAddress",
"nodeType": "MemberAccess",
"referencedDeclaration": 8851,
"src": "4971:19:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory,string memory,address[] memory) external returns (string memory)"
}
},
"id": 6061,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4971:40:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 6055,
"id": 6062,
"nodeType": "Return",
"src": "4964:47:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "serialize",
"nameLocation": "4825:9:8",
"parameters": {
"id": 6052,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6046,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "4849:7:8",
"nodeType": "VariableDeclaration",
"scope": 6064,
"src": "4835:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6045,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4835:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6048,
"mutability": "mutable",
"name": "key",
"nameLocation": "4872:3:8",
"nodeType": "VariableDeclaration",
"scope": 6064,
"src": "4858:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6047,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4858:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6051,
"mutability": "mutable",
"name": "value",
"nameLocation": "4894:5:8",
"nodeType": "VariableDeclaration",
"scope": 6064,
"src": "4877:22:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 6049,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "4877:7:8",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 6050,
"nodeType": "ArrayTypeName",
"src": "4877:9:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"visibility": "internal"
}
],
"src": "4834:66:8"
},
"returnParameters": {
"id": 6055,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6054,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 6064,
"src": "4935:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6053,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4935:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "4934:15:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 6083,
"nodeType": "FunctionDefinition",
"src": "5024:173:8",
"nodes": [],
"body": {
"id": 6082,
"nodeType": "Block",
"src": "5133:64:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 6077,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6066,
"src": "5170:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6078,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6068,
"src": "5179:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6079,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6070,
"src": "5184:5:8",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"id": 6075,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "5150:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 6076,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "5153:16:8",
"memberName": "serializeBytes32",
"nodeType": "MemberAccess",
"referencedDeclaration": 8781,
"src": "5150:19:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory,string memory,bytes32) external returns (string memory)"
}
},
"id": 6080,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "5150:40:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 6074,
"id": 6081,
"nodeType": "Return",
"src": "5143:47:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "serialize",
"nameLocation": "5033:9:8",
"parameters": {
"id": 6071,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6066,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "5057:7:8",
"nodeType": "VariableDeclaration",
"scope": 6083,
"src": "5043:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6065,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5043:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6068,
"mutability": "mutable",
"name": "key",
"nameLocation": "5080:3:8",
"nodeType": "VariableDeclaration",
"scope": 6083,
"src": "5066:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6067,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5066:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6070,
"mutability": "mutable",
"name": "value",
"nameLocation": "5093:5:8",
"nodeType": "VariableDeclaration",
"scope": 6083,
"src": "5085:13:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 6069,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "5085:7:8",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "5042:57:8"
},
"returnParameters": {
"id": 6074,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6073,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 6083,
"src": "5118:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6072,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5118:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "5117:15:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 6103,
"nodeType": "FunctionDefinition",
"src": "5203:202:8",
"nodes": [],
"body": {
"id": 6102,
"nodeType": "Block",
"src": "5341:64:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 6097,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6085,
"src": "5378:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6098,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6087,
"src": "5387:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6099,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6090,
"src": "5392:5:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[] memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[] memory"
}
],
"expression": {
"id": 6095,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "5358:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 6096,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "5361:16:8",
"memberName": "serializeBytes32",
"nodeType": "MemberAccess",
"referencedDeclaration": 8863,
"src": "5358:19:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory,string memory,bytes32[] memory) external returns (string memory)"
}
},
"id": 6100,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "5358:40:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 6094,
"id": 6101,
"nodeType": "Return",
"src": "5351:47:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "serialize",
"nameLocation": "5212:9:8",
"parameters": {
"id": 6091,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6085,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "5236:7:8",
"nodeType": "VariableDeclaration",
"scope": 6103,
"src": "5222:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6084,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5222:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6087,
"mutability": "mutable",
"name": "key",
"nameLocation": "5259:3:8",
"nodeType": "VariableDeclaration",
"scope": 6103,
"src": "5245:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6086,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5245:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6090,
"mutability": "mutable",
"name": "value",
"nameLocation": "5281:5:8",
"nodeType": "VariableDeclaration",
"scope": 6103,
"src": "5264:22:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[]"
},
"typeName": {
"baseType": {
"id": 6088,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "5264:7:8",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 6089,
"nodeType": "ArrayTypeName",
"src": "5264:9:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
"typeString": "bytes32[]"
}
},
"visibility": "internal"
}
],
"src": "5221:66:8"
},
"returnParameters": {
"id": 6094,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6093,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 6103,
"src": "5322:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6092,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5322:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "5321:15:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 6122,
"nodeType": "FunctionDefinition",
"src": "5411:176:8",
"nodes": [],
"body": {
"id": 6121,
"nodeType": "Block",
"src": "5525:62:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 6116,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6105,
"src": "5560:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6117,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6107,
"src": "5569:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6118,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6109,
"src": "5574:5:8",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"expression": {
"id": 6114,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "5542:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 6115,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "5545:14:8",
"memberName": "serializeBytes",
"nodeType": "MemberAccess",
"referencedDeclaration": 8803,
"src": "5542:17:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory,string memory,bytes memory) external returns (string memory)"
}
},
"id": 6119,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "5542:38:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 6113,
"id": 6120,
"nodeType": "Return",
"src": "5535:45:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "serialize",
"nameLocation": "5420:9:8",
"parameters": {
"id": 6110,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6105,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "5444:7:8",
"nodeType": "VariableDeclaration",
"scope": 6122,
"src": "5430:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6104,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5430:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6107,
"mutability": "mutable",
"name": "key",
"nameLocation": "5467:3:8",
"nodeType": "VariableDeclaration",
"scope": 6122,
"src": "5453:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6106,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5453:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6109,
"mutability": "mutable",
"name": "value",
"nameLocation": "5485:5:8",
"nodeType": "VariableDeclaration",
"scope": 6122,
"src": "5472:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 6108,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "5472:5:8",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "5429:62:8"
},
"returnParameters": {
"id": 6113,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6112,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 6122,
"src": "5510:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6111,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5510:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "5509:15:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 6142,
"nodeType": "FunctionDefinition",
"src": "5593:198:8",
"nodes": [],
"body": {
"id": 6141,
"nodeType": "Block",
"src": "5729:62:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 6136,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6124,
"src": "5764:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6137,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6126,
"src": "5773:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6138,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6129,
"src": "5778:5:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
"typeString": "bytes memory[] memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
"typeString": "bytes memory[] memory"
}
],
"expression": {
"id": 6134,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "5746:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 6135,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "5749:14:8",
"memberName": "serializeBytes",
"nodeType": "MemberAccess",
"referencedDeclaration": 8887,
"src": "5746:17:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory,string memory,bytes memory[] memory) external returns (string memory)"
}
},
"id": 6139,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "5746:38:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 6133,
"id": 6140,
"nodeType": "Return",
"src": "5739:45:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "serialize",
"nameLocation": "5602:9:8",
"parameters": {
"id": 6130,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6124,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "5626:7:8",
"nodeType": "VariableDeclaration",
"scope": 6142,
"src": "5612:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6123,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5612:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6126,
"mutability": "mutable",
"name": "key",
"nameLocation": "5649:3:8",
"nodeType": "VariableDeclaration",
"scope": 6142,
"src": "5635:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6125,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5635:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6129,
"mutability": "mutable",
"name": "value",
"nameLocation": "5669:5:8",
"nodeType": "VariableDeclaration",
"scope": 6142,
"src": "5654:20:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 6127,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "5654:5:8",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 6128,
"nodeType": "ArrayTypeName",
"src": "5654:7:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"visibility": "internal"
}
],
"src": "5611:64:8"
},
"returnParameters": {
"id": 6133,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6132,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 6142,
"src": "5710:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6131,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5710:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "5709:15:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 6161,
"nodeType": "FunctionDefinition",
"src": "5797:198:8",
"nodes": [],
"body": {
"id": 6160,
"nodeType": "Block",
"src": "5932:63:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 6155,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6144,
"src": "5968:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6156,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6146,
"src": "5977:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6157,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6148,
"src": "5982:5:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 6153,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "5949:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 6154,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "5952:15:8",
"memberName": "serializeString",
"nodeType": "MemberAccess",
"referencedDeclaration": 8792,
"src": "5949:18:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory,string memory,string memory) external returns (string memory)"
}
},
"id": 6158,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "5949:39:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 6152,
"id": 6159,
"nodeType": "Return",
"src": "5942:46:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "serialize",
"nameLocation": "5806:9:8",
"parameters": {
"id": 6149,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6144,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "5830:7:8",
"nodeType": "VariableDeclaration",
"scope": 6161,
"src": "5816:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6143,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5816:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6146,
"mutability": "mutable",
"name": "key",
"nameLocation": "5853:3:8",
"nodeType": "VariableDeclaration",
"scope": 6161,
"src": "5839:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6145,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5839:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6148,
"mutability": "mutable",
"name": "value",
"nameLocation": "5872:5:8",
"nodeType": "VariableDeclaration",
"scope": 6161,
"src": "5858:19:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6147,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5858:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "5815:63:8"
},
"returnParameters": {
"id": 6152,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6151,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 6161,
"src": "5913:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6150,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5913:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "5912:15:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 6181,
"nodeType": "FunctionDefinition",
"src": "6001:200:8",
"nodes": [],
"body": {
"id": 6180,
"nodeType": "Block",
"src": "6138:63:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 6175,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6163,
"src": "6174:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6176,
"name": "key",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6165,
"src": "6183:3:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6177,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6168,
"src": "6188:5:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"typeString": "string memory[] memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"typeString": "string memory[] memory"
}
],
"expression": {
"id": 6173,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "6155:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 6174,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "6158:15:8",
"memberName": "serializeString",
"nodeType": "MemberAccess",
"referencedDeclaration": 8875,
"src": "6155:18:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory,string memory,string memory[] memory) external returns (string memory)"
}
},
"id": 6178,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "6155:39:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 6172,
"id": 6179,
"nodeType": "Return",
"src": "6148:46:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "serialize",
"nameLocation": "6010:9:8",
"parameters": {
"id": 6169,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6163,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "6034:7:8",
"nodeType": "VariableDeclaration",
"scope": 6181,
"src": "6020:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6162,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "6020:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6165,
"mutability": "mutable",
"name": "key",
"nameLocation": "6057:3:8",
"nodeType": "VariableDeclaration",
"scope": 6181,
"src": "6043:17:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6164,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "6043:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6168,
"mutability": "mutable",
"name": "value",
"nameLocation": "6078:5:8",
"nodeType": "VariableDeclaration",
"scope": 6181,
"src": "6062:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
"typeString": "string[]"
},
"typeName": {
"baseType": {
"id": 6166,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "6062:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"id": 6167,
"nodeType": "ArrayTypeName",
"src": "6062:8:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
"typeString": "string[]"
}
},
"visibility": "internal"
}
],
"src": "6019:65:8"
},
"returnParameters": {
"id": 6172,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6171,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 6181,
"src": "6119:13:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6170,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "6119:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "6118:15:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 6196,
"nodeType": "FunctionDefinition",
"src": "6207:111:8",
"nodes": [],
"body": {
"id": 6195,
"nodeType": "Block",
"src": "6274:44:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 6191,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6183,
"src": "6297:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6192,
"name": "path",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6185,
"src": "6306:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 6188,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "6284:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 6190,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "6287:9:8",
"memberName": "writeJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8894,
"src": "6284:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (string memory,string memory) external"
}
},
"id": 6193,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "6284:27:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 6194,
"nodeType": "ExpressionStatement",
"src": "6284:27:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "write",
"nameLocation": "6216:5:8",
"parameters": {
"id": 6186,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6183,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "6236:7:8",
"nodeType": "VariableDeclaration",
"scope": 6196,
"src": "6222:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6182,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "6222:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6185,
"mutability": "mutable",
"name": "path",
"nameLocation": "6259:4:8",
"nodeType": "VariableDeclaration",
"scope": 6196,
"src": "6245:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6184,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "6245:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "6221:43:8"
},
"returnParameters": {
"id": 6187,
"nodeType": "ParameterList",
"parameters": [],
"src": "6274:0:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 6214,
"nodeType": "FunctionDefinition",
"src": "6324:145:8",
"nodes": [],
"body": {
"id": 6213,
"nodeType": "Block",
"src": "6415:54:8",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 6208,
"name": "jsonKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6198,
"src": "6438:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6209,
"name": "path",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6200,
"src": "6447:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 6210,
"name": "valueKey",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 6202,
"src": "6453:8:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 6205,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5570,
"src": "6425:2:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$8931",
"typeString": "contract VmSafe"
}
},
"id": 6207,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "6428:9:8",
"memberName": "writeJson",
"nodeType": "MemberAccess",
"referencedDeclaration": 8903,
"src": "6425:12:8",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (string memory,string memory,string memory) external"
}
},
"id": 6211,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "6425:37:8",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 6212,
"nodeType": "ExpressionStatement",
"src": "6425:37:8"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "write",
"nameLocation": "6333:5:8",
"parameters": {
"id": 6203,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6198,
"mutability": "mutable",
"name": "jsonKey",
"nameLocation": "6353:7:8",
"nodeType": "VariableDeclaration",
"scope": 6214,
"src": "6339:21:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6197,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "6339:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6200,
"mutability": "mutable",
"name": "path",
"nameLocation": "6376:4:8",
"nodeType": "VariableDeclaration",
"scope": 6214,
"src": "6362:18:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6199,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "6362:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6202,
"mutability": "mutable",
"name": "valueKey",
"nameLocation": "6396:8:8",
"nodeType": "VariableDeclaration",
"scope": 6214,
"src": "6382:22:8",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 6201,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "6382:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "6338:67:8"
},
"returnParameters": {
"id": 6204,
"nodeType": "ParameterList",
"parameters": [],
"src": "6415:0:8"
},
"scope": 6215,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
}
],
"abstract": false,
"baseContracts": [],
"canonicalName": "stdJson",
"contractDependencies": [],
"contractKind": "library",
"fullyImplemented": true,
"linearizedBaseContracts": [
6215
],
"name": "stdJson",
"nameLocation": "824:7:8",
"scope": 6216,
"usedErrors": []
}
],
"license": "MIT"
},
"id": 8
}