{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"TestBase\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.22+commit.4fc1097e" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", "@uniswap/v3-core/=lib_uniswap/v3-core/", "@uniswap/v3-periphery/=lib_uniswap/v3-periphery/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "v3-core/=lib_uniswap/v3-core/", "v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/" ], "optimizer": { "runs": 999999999, "details": { "peephole": true, "inliner": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": true, "yulDetails": { "stackAllocation": true, "optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu" } } }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "lib/forge-std/src/Base.sol": "TestBase" }, "libraries": {} }, "sources": { "lib/forge-std/src/Base.sol": { "keccak256": "0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c", "urls": [ "bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224", "dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK" ], "license": "MIT" }, "lib/forge-std/src/StdStorage.sol": { "keccak256": "0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d", "urls": [ "bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26", "dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5", "urls": [ "bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c", "dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw" ], "license": "MIT" } }, "version": 1 }, "ast": { "absolutePath": "lib/forge-std/src/Base.sol", "id": 2367, "exportedSymbols": { "CommonBase": [ 2354 ], "ScriptBase": [ 2366 ], "StdStorage": [ 8374 ], "TestBase": [ 2357 ], "Vm": [ 13464 ], "VmSafe": [ 12992 ] }, "nodeType": "SourceUnit", "src": "32:1761:1", "nodes": [ { "id": 2293, "nodeType": "PragmaDirective", "src": "32:31:1", "nodes": [], "literals": [ "solidity", ">=", "0.6", ".2", "<", "0.9", ".0" ] }, { "id": 2295, "nodeType": "ImportDirective", "src": "65:44:1", "nodes": [], "absolutePath": "lib/forge-std/src/StdStorage.sol", "file": "./StdStorage.sol", "nameLocation": "-1:-1:-1", "scope": 2367, "sourceUnit": 9828, "symbolAliases": [ { "foreign": { "id": 2294, "name": "StdStorage", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8374, "src": "73:10:1", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "id": 2298, "nodeType": "ImportDirective", "src": "110:36:1", "nodes": [], "absolutePath": "lib/forge-std/src/Vm.sol", "file": "./Vm.sol", "nameLocation": "-1:-1:-1", "scope": 2367, "sourceUnit": 13465, "symbolAliases": [ { "foreign": { "id": 2296, "name": "Vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13464, "src": "118:2:1", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { "id": 2297, "name": "VmSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12992, "src": "122:6:1", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "id": 2354, "nodeType": "ContractDefinition", "src": "148:1493:1", "nodes": [ { "id": 2312, "nodeType": "VariableDeclaration", "src": "254:94:1", "nodes": [], "constant": true, "mutability": "constant", "name": "VM_ADDRESS", "nameLocation": "280:10:1", "scope": 2354, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2299, "name": "address", "nodeType": "ElementaryTypeName", "src": "254:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "6865766d20636865617420636f6465", "id": 2307, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "327:17:1", "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": 2306, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "317:9:1", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 2308, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "317:28:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 2305, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "309:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 2304, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "309:7:1", "typeDescriptions": {} } }, "id": 2309, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "309:37:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2303, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "301:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 2302, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "301:7:1", "typeDescriptions": {} } }, "id": 2310, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "301:46:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 2301, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "293:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 2300, "name": "address", "nodeType": "ElementaryTypeName", "src": "293:7:1", "typeDescriptions": {} } }, "id": 2311, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "293:55:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "id": 2315, "nodeType": "VariableDeclaration", "src": "438:78:1", "nodes": [], "constant": true, "mutability": "constant", "name": "CONSOLE", "nameLocation": "464:7:1", "scope": 2354, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2313, "name": "address", "nodeType": "ElementaryTypeName", "src": "438:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": { "hexValue": "307830303030303030303030303030303030303036333646366537333646366336353265366336663637", "id": 2314, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "474:42:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "value": "0x000000000000000000636F6e736F6c652e6c6f67" }, "visibility": "internal" }, { "id": 2318, "nodeType": "VariableDeclaration", "src": "623:86:1", "nodes": [], "constant": true, "mutability": "constant", "name": "CREATE2_FACTORY", "nameLocation": "649:15:1", "scope": 2354, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2316, "name": "address", "nodeType": "ElementaryTypeName", "src": "623:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": { "hexValue": "307834653539623434383437623337393537383538383932306341373846624632366330423439353643", "id": 2317, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "667:42:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "value": "0x4e59b44847b379578588920cA78FbF26c0B4956C" }, "visibility": "internal" }, { "id": 2332, "nodeType": "VariableDeclaration", "src": "812:105:1", "nodes": [], "constant": true, "mutability": "constant", "name": "DEFAULT_SENDER", "nameLocation": "838:14:1", "scope": 2354, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2319, "name": "address", "nodeType": "ElementaryTypeName", "src": "812:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "666f756e6472792064656661756c742063616c6c6572", "id": 2327, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "889:24:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38", "typeString": "literal_string \"foundry default caller\"" }, "value": "foundry default caller" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38", "typeString": "literal_string \"foundry default caller\"" } ], "id": 2326, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "879:9:1", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 2328, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "879:35:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 2325, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "871:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 2324, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "871:7:1", "typeDescriptions": {} } }, "id": 2329, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "871:44:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2323, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "863:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 2322, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "863:7:1", "typeDescriptions": {} } }, "id": 2330, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "863:53:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 2321, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "855:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 2320, "name": "address", "nodeType": "ElementaryTypeName", "src": "855:7:1", "typeDescriptions": {} } }, "id": 2331, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "855:62:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "id": 2335, "nodeType": "VariableDeclaration", "src": "992:92:1", "nodes": [], "constant": true, "mutability": "constant", "name": "DEFAULT_TEST_CONTRACT", "nameLocation": "1018:21:1", "scope": 2354, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2333, "name": "address", "nodeType": "ElementaryTypeName", "src": "992:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": { "hexValue": "307835363135644542373938424233453464466130313339644661316233443433334363323362373266", "id": 2334, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1042:42:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "value": "0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f" }, "visibility": "internal" }, { "id": 2338, "nodeType": "VariableDeclaration", "src": "1158:89:1", "nodes": [], "constant": true, "mutability": "constant", "name": "MULTICALL3_ADDRESS", "nameLocation": "1184:18:1", "scope": 2354, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2336, "name": "address", "nodeType": "ElementaryTypeName", "src": "1158:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": { "hexValue": "307863413131626465303539373762333633313136373032383836326245326131373339373643413131", "id": 2337, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1205:42:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "value": "0xcA11bde05977b3631167028862bE2a173976CA11" }, "visibility": "internal" }, { "id": 2341, "nodeType": "VariableDeclaration", "src": "1294:130:1", "nodes": [], "constant": true, "mutability": "constant", "name": "SECP256K1_ORDER", "nameLocation": "1320:15:1", "scope": 2354, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2339, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1294:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": { "hexValue": "313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337", "id": 2340, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1346:78:1", "typeDescriptions": { "typeIdentifier": "t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1", "typeString": "int_const 1157...(70 digits omitted)...4337" }, "value": "115792089237316195423570985008687907852837564279074904382605163141518161494337" }, "visibility": "internal" }, { "id": 2344, "nodeType": "VariableDeclaration", "src": "1431:126:1", "nodes": [], "constant": true, "mutability": "constant", "name": "UINT256_MAX", "nameLocation": "1457:11:1", "scope": 2354, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2342, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1431:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": { "hexValue": "313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335", "id": 2343, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1479:78:1", "typeDescriptions": { "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", "typeString": "int_const 1157...(70 digits omitted)...9935" }, "value": "115792089237316195423570985008687907853269984665640564039457584007913129639935" }, "visibility": "internal" }, { "id": 2350, "nodeType": "VariableDeclaration", "src": "1564:40:1", "nodes": [], "constant": true, "mutability": "constant", "name": "vm", "nameLocation": "1585:2:1", "scope": 2354, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" }, "typeName": { "id": 2346, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 2345, "name": "Vm", "nameLocations": [ "1564:2:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 13464, "src": "1564:2:1" }, "referencedDeclaration": 13464, "src": "1564:2:1", "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "value": { "arguments": [ { "id": 2348, "name": "VM_ADDRESS", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2312, "src": "1593:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2347, "name": "Vm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13464, "src": "1590:2:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Vm_$13464_$", "typeString": "type(contract Vm)" } }, "id": 2349, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1590:14:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_Vm_$13464", "typeString": "contract Vm" } }, "visibility": "internal" }, { "id": 2353, "nodeType": "VariableDeclaration", "src": "1610:28:1", "nodes": [], "constant": false, "mutability": "mutable", "name": "stdstore", "nameLocation": "1630:8:1", "scope": 2354, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage", "typeString": "struct StdStorage" }, "typeName": { "id": 2352, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 2351, "name": "StdStorage", "nameLocations": [ "1610:10:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 8374, "src": "1610:10:1" }, "referencedDeclaration": 8374, "src": "1610:10:1", "typeDescriptions": { "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr", "typeString": "struct StdStorage" } }, "visibility": "internal" } ], "abstract": true, "baseContracts": [], "canonicalName": "CommonBase", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ 2354 ], "name": "CommonBase", "nameLocation": "166:10:1", "scope": 2367, "usedErrors": [], "usedEvents": [] }, { "id": 2357, "nodeType": "ContractDefinition", "src": "1643:43:1", "nodes": [], "abstract": true, "baseContracts": [ { "baseName": { "id": 2355, "name": "CommonBase", "nameLocations": [ "1673:10:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 2354, "src": "1673:10:1" }, "id": 2356, "nodeType": "InheritanceSpecifier", "src": "1673:10:1" } ], "canonicalName": "TestBase", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ 2357, 2354 ], "name": "TestBase", "nameLocation": "1661:8:1", "scope": 2367, "usedErrors": [], "usedEvents": [] }, { "id": 2366, "nodeType": "ContractDefinition", "src": "1688:104:1", "nodes": [ { "id": 2365, "nodeType": "VariableDeclaration", "src": "1737:52:1", "nodes": [], "constant": true, "mutability": "constant", "name": "vmSafe", "nameLocation": "1762:6:1", "scope": 2366, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_VmSafe_$12992", "typeString": "contract VmSafe" }, "typeName": { "id": 2361, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 2360, "name": "VmSafe", "nameLocations": [ "1737:6:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 12992, "src": "1737:6:1" }, "referencedDeclaration": 12992, "src": "1737:6:1", "typeDescriptions": { "typeIdentifier": "t_contract$_VmSafe_$12992", "typeString": "contract VmSafe" } }, "value": { "arguments": [ { "id": 2363, "name": "VM_ADDRESS", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2312, "src": "1778:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2362, "name": "VmSafe", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12992, "src": "1771:6:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_VmSafe_$12992_$", "typeString": "type(contract VmSafe)" } }, "id": 2364, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1771:18:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_VmSafe_$12992", "typeString": "contract VmSafe" } }, "visibility": "internal" } ], "abstract": true, "baseContracts": [ { "baseName": { "id": 2358, "name": "CommonBase", "nameLocations": [ "1720:10:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 2354, "src": "1720:10:1" }, "id": 2359, "nodeType": "InheritanceSpecifier", "src": "1720:10:1" } ], "canonicalName": "ScriptBase", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ 2366, 2354 ], "name": "ScriptBase", "nameLocation": "1706:10:1", "scope": 2367, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, "id": 1 }