1427 lines
64 KiB
JSON
1427 lines
64 KiB
JSON
{
|
|
"abi": [],
|
|
"bytecode": {
|
|
"object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d3d44550c43ff7fceb906699b4da7332701b5e303f9329423298b9e310111a9164736f6c63430008160033",
|
|
"sourceMap": "167:1661:46:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;167:1661:46;;;;;;;;;;;;;;;;;",
|
|
"linkReferences": {}
|
|
},
|
|
"deployedBytecode": {
|
|
"object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d3d44550c43ff7fceb906699b4da7332701b5e303f9329423298b9e310111a9164736f6c63430008160033",
|
|
"sourceMap": "167:1661:46:-:0;;;;;;;;",
|
|
"linkReferences": {}
|
|
},
|
|
"methodIdentifiers": {},
|
|
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Provides functions for deriving a pool address from the factory, tokens, and the fee\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":\"PoolAddress\"},\"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_uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":{\"keccak256\":\"0x0a107d09991fd2dc9a3ca13bf0745f0b6f6f6ffea3e55ad3677ecdbadef089b4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e179110a9ec825b7f15384a9c61f90261fe6227b289dac9996b0ed9cf1655b48\",\"dweb:/ipfs/Qma2amC8zJSW2PzPCk1nBYiFd4mjZiAW9z4kxjoYZPCtRr\"]}},\"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_uniswap/v3-periphery/contracts/libraries/PoolAddress.sol": "PoolAddress"
|
|
},
|
|
"libraries": {}
|
|
},
|
|
"sources": {
|
|
"lib_uniswap/v3-periphery/contracts/libraries/PoolAddress.sol": {
|
|
"keccak256": "0x0a107d09991fd2dc9a3ca13bf0745f0b6f6f6ffea3e55ad3677ecdbadef089b4",
|
|
"urls": [
|
|
"bzz-raw://e179110a9ec825b7f15384a9c61f90261fe6227b289dac9996b0ed9cf1655b48",
|
|
"dweb:/ipfs/Qma2amC8zJSW2PzPCk1nBYiFd4mjZiAW9z4kxjoYZPCtRr"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
}
|
|
},
|
|
"version": 1
|
|
},
|
|
"ast": {
|
|
"absolutePath": "lib_uniswap/v3-periphery/contracts/libraries/PoolAddress.sol",
|
|
"id": 45893,
|
|
"exportedSymbols": {
|
|
"PoolAddress": [
|
|
45892
|
|
]
|
|
},
|
|
"nodeType": "SourceUnit",
|
|
"src": "45:1784:46",
|
|
"nodes": [
|
|
{
|
|
"id": 45796,
|
|
"nodeType": "PragmaDirective",
|
|
"src": "45:24:46",
|
|
"nodes": [],
|
|
"literals": [
|
|
"solidity",
|
|
">=",
|
|
"0.5",
|
|
".0"
|
|
]
|
|
},
|
|
{
|
|
"id": 45892,
|
|
"nodeType": "ContractDefinition",
|
|
"src": "167:1661:46",
|
|
"nodes": [
|
|
{
|
|
"id": 45800,
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "193:114:46",
|
|
"nodes": [],
|
|
"constant": true,
|
|
"mutability": "constant",
|
|
"name": "POOL_INIT_CODE_HASH",
|
|
"nameLocation": "219:19:46",
|
|
"scope": 45892,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 45798,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "193:7:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"hexValue": "307865333466313939623139623262346634376636383434323631396435353535323764323434663738613332393765613839333235663834336638376238623534",
|
|
"id": 45799,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "241:66:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_102814774271675688723325049954498779091328469440286648861889194717372678376276_by_1",
|
|
"typeString": "int_const 1028...(70 digits omitted)...6276"
|
|
},
|
|
"value": "0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 45808,
|
|
"nodeType": "StructDefinition",
|
|
"src": "362:90:46",
|
|
"nodes": [],
|
|
"canonicalName": "PoolAddress.PoolKey",
|
|
"documentation": {
|
|
"id": 45801,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "314:43:46",
|
|
"text": "@notice The identifying key of the pool"
|
|
},
|
|
"members": [
|
|
{
|
|
"constant": false,
|
|
"id": 45803,
|
|
"mutability": "mutable",
|
|
"name": "token0",
|
|
"nameLocation": "395:6:46",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45808,
|
|
"src": "387:14:46",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 45802,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "387:7:46",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45805,
|
|
"mutability": "mutable",
|
|
"name": "token1",
|
|
"nameLocation": "419:6:46",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45808,
|
|
"src": "411:14:46",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 45804,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "411:7:46",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45807,
|
|
"mutability": "mutable",
|
|
"name": "fee",
|
|
"nameLocation": "442:3:46",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45808,
|
|
"src": "435:10:46",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"typeName": {
|
|
"id": 45806,
|
|
"name": "uint24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "435:6:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"name": "PoolKey",
|
|
"nameLocation": "369:7:46",
|
|
"scope": 45892,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"id": 45840,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "784:274:46",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 45839,
|
|
"nodeType": "Block",
|
|
"src": "917:141:46",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 45823,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45821,
|
|
"name": "tokenA",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45811,
|
|
"src": "931:6:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"id": 45822,
|
|
"name": "tokenB",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45813,
|
|
"src": "940:6:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "931:15:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 45832,
|
|
"nodeType": "IfStatement",
|
|
"src": "927:56:46",
|
|
"trueBody": {
|
|
"expression": {
|
|
"id": 45830,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"components": [
|
|
{
|
|
"id": 45824,
|
|
"name": "tokenA",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45811,
|
|
"src": "949:6:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 45825,
|
|
"name": "tokenB",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45813,
|
|
"src": "957:6:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"id": 45826,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "TupleExpression",
|
|
"src": "948:16:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_address_$_t_address_$",
|
|
"typeString": "tuple(address,address)"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"components": [
|
|
{
|
|
"id": 45827,
|
|
"name": "tokenB",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45813,
|
|
"src": "968:6:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 45828,
|
|
"name": "tokenA",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45811,
|
|
"src": "976:6:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"id": 45829,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "967:16:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_address_$_t_address_$",
|
|
"typeString": "tuple(address,address)"
|
|
}
|
|
},
|
|
"src": "948:35:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 45831,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "948:35:46"
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 45834,
|
|
"name": "tokenA",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45811,
|
|
"src": "1017:6:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 45835,
|
|
"name": "tokenB",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45813,
|
|
"src": "1033:6:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 45836,
|
|
"name": "fee",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45815,
|
|
"src": "1046:3:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
],
|
|
"id": 45833,
|
|
"name": "PoolKey",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45808,
|
|
"src": "1000:7:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_struct$_PoolKey_$45808_storage_ptr_$",
|
|
"typeString": "type(struct PoolAddress.PoolKey storage pointer)"
|
|
}
|
|
},
|
|
"id": 45837,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "structConstructorCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [
|
|
"1009:6:46",
|
|
"1025:6:46",
|
|
"1041:3:46"
|
|
],
|
|
"names": [
|
|
"token0",
|
|
"token1",
|
|
"fee"
|
|
],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1000:51:46",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_PoolKey_$45808_memory_ptr",
|
|
"typeString": "struct PoolAddress.PoolKey memory"
|
|
}
|
|
},
|
|
"functionReturnParameters": 45820,
|
|
"id": 45838,
|
|
"nodeType": "Return",
|
|
"src": "993:58:46"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 45809,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "458:321:46",
|
|
"text": "@notice Returns PoolKey: the ordered tokens with the matched fee levels\n @param tokenA The first token of a pool, unsorted\n @param tokenB The second token of a pool, unsorted\n @param fee The fee level of the pool\n @return Poolkey The pool details with ordered token0 and token1 assignments"
|
|
},
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "getPoolKey",
|
|
"nameLocation": "793:10:46",
|
|
"parameters": {
|
|
"id": 45816,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45811,
|
|
"mutability": "mutable",
|
|
"name": "tokenA",
|
|
"nameLocation": "821:6:46",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45840,
|
|
"src": "813:14:46",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 45810,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "813:7:46",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45813,
|
|
"mutability": "mutable",
|
|
"name": "tokenB",
|
|
"nameLocation": "845:6:46",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45840,
|
|
"src": "837:14:46",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 45812,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "837:7:46",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45815,
|
|
"mutability": "mutable",
|
|
"name": "fee",
|
|
"nameLocation": "868:3:46",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45840,
|
|
"src": "861:10:46",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"typeName": {
|
|
"id": 45814,
|
|
"name": "uint24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "861:6:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "803:74:46"
|
|
},
|
|
"returnParameters": {
|
|
"id": 45820,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45819,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45840,
|
|
"src": "901:14:46",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_PoolKey_$45808_memory_ptr",
|
|
"typeString": "struct PoolAddress.PoolKey"
|
|
},
|
|
"typeName": {
|
|
"id": 45818,
|
|
"nodeType": "UserDefinedTypeName",
|
|
"pathNode": {
|
|
"id": 45817,
|
|
"name": "PoolKey",
|
|
"nameLocations": [
|
|
"901:7:46"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 45808,
|
|
"src": "901:7:46"
|
|
},
|
|
"referencedDeclaration": 45808,
|
|
"src": "901:7:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_PoolKey_$45808_storage_ptr",
|
|
"typeString": "struct PoolAddress.PoolKey"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "900:16:46"
|
|
},
|
|
"scope": 45892,
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 45891,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "1305:521:46",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 45890,
|
|
"nodeType": "Block",
|
|
"src": "1403:423:46",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 45856,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"expression": {
|
|
"id": 45852,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45846,
|
|
"src": "1421:3:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_PoolKey_$45808_memory_ptr",
|
|
"typeString": "struct PoolAddress.PoolKey memory"
|
|
}
|
|
},
|
|
"id": 45853,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1425:6:46",
|
|
"memberName": "token0",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 45803,
|
|
"src": "1421:10:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"expression": {
|
|
"id": 45854,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45846,
|
|
"src": "1434:3:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_PoolKey_$45808_memory_ptr",
|
|
"typeString": "struct PoolAddress.PoolKey memory"
|
|
}
|
|
},
|
|
"id": 45855,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1438:6:46",
|
|
"memberName": "token1",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 45805,
|
|
"src": "1434:10:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1421:23:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
],
|
|
"id": 45851,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "1413:7:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
"typeString": "function (bool) pure"
|
|
}
|
|
},
|
|
"id": 45857,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1413:32:46",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 45858,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1413:32:46"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 45888,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 45859,
|
|
"name": "pool",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45849,
|
|
"src": "1455:4:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"hexValue": "ff",
|
|
"id": 45869,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "hexString",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1589:7:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_8b1a944cf13a9a1c08facb2c9e98623ef3254d2ddb48113885c3e8e97fec8db9",
|
|
"typeString": "literal_string hex\"ff\""
|
|
}
|
|
},
|
|
{
|
|
"id": 45870,
|
|
"name": "factory",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45843,
|
|
"src": "1622:7:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"expression": {
|
|
"id": 45874,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45846,
|
|
"src": "1676:3:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_PoolKey_$45808_memory_ptr",
|
|
"typeString": "struct PoolAddress.PoolKey memory"
|
|
}
|
|
},
|
|
"id": 45875,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1680:6:46",
|
|
"memberName": "token0",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 45803,
|
|
"src": "1676:10:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 45876,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45846,
|
|
"src": "1688:3:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_PoolKey_$45808_memory_ptr",
|
|
"typeString": "struct PoolAddress.PoolKey memory"
|
|
}
|
|
},
|
|
"id": 45877,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1692:6:46",
|
|
"memberName": "token1",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 45805,
|
|
"src": "1688:10:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 45878,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45846,
|
|
"src": "1700:3:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_PoolKey_$45808_memory_ptr",
|
|
"typeString": "struct PoolAddress.PoolKey memory"
|
|
}
|
|
},
|
|
"id": 45879,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1704:3:46",
|
|
"memberName": "fee",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 45807,
|
|
"src": "1700:7:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 45872,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": -1,
|
|
"src": "1665:3:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 45873,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1669:6:46",
|
|
"memberName": "encode",
|
|
"nodeType": "MemberAccess",
|
|
"src": "1665:10:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 45880,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1665:43:46",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 45871,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": -8,
|
|
"src": "1655:9:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
|
|
"typeString": "function (bytes memory) pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 45881,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1655:54:46",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"id": 45882,
|
|
"name": "POOL_INIT_CODE_HASH",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45800,
|
|
"src": "1735:19:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_stringliteral_8b1a944cf13a9a1c08facb2c9e98623ef3254d2ddb48113885c3e8e97fec8db9",
|
|
"typeString": "literal_string hex\"ff\""
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 45867,
|
|
"name": "abi",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": -1,
|
|
"src": "1547:3:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_abi",
|
|
"typeString": "abi"
|
|
}
|
|
},
|
|
"id": 45868,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1551:12:46",
|
|
"memberName": "encodePacked",
|
|
"nodeType": "MemberAccess",
|
|
"src": "1547:16:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
|
|
"typeString": "function () pure returns (bytes memory)"
|
|
}
|
|
},
|
|
"id": 45883,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1547:229:46",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes_memory_ptr",
|
|
"typeString": "bytes memory"
|
|
}
|
|
],
|
|
"id": 45866,
|
|
"name": "keccak256",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": -8,
|
|
"src": "1516:9:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
|
|
"typeString": "function (bytes memory) pure returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 45884,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1516:278:46",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 45865,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1491:7:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 45864,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1491:7:46",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 45885,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1491:317:46",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 45863,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1470:7:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint160_$",
|
|
"typeString": "type(uint160)"
|
|
},
|
|
"typeName": {
|
|
"id": 45862,
|
|
"name": "uint160",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1470:7:46",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 45886,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1470:348:46",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
],
|
|
"id": 45861,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1462:7:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 45860,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1462:7:46",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 45887,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1462:357:46",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1455:364:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 45889,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1455:364:46"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 45841,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1064:236:46",
|
|
"text": "@notice Deterministically computes the pool address given the factory and PoolKey\n @param factory The Uniswap V3 factory contract address\n @param key The PoolKey\n @return pool The contract address of the V3 pool"
|
|
},
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "computeAddress",
|
|
"nameLocation": "1314:14:46",
|
|
"parameters": {
|
|
"id": 45847,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45843,
|
|
"mutability": "mutable",
|
|
"name": "factory",
|
|
"nameLocation": "1337:7:46",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45891,
|
|
"src": "1329:15:46",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 45842,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1329:7:46",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45846,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nameLocation": "1361:3:46",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45891,
|
|
"src": "1346:18:46",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_PoolKey_$45808_memory_ptr",
|
|
"typeString": "struct PoolAddress.PoolKey"
|
|
},
|
|
"typeName": {
|
|
"id": 45845,
|
|
"nodeType": "UserDefinedTypeName",
|
|
"pathNode": {
|
|
"id": 45844,
|
|
"name": "PoolKey",
|
|
"nameLocations": [
|
|
"1346:7:46"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 45808,
|
|
"src": "1346:7:46"
|
|
},
|
|
"referencedDeclaration": 45808,
|
|
"src": "1346:7:46",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_PoolKey_$45808_storage_ptr",
|
|
"typeString": "struct PoolAddress.PoolKey"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1328:37:46"
|
|
},
|
|
"returnParameters": {
|
|
"id": 45850,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45849,
|
|
"mutability": "mutable",
|
|
"name": "pool",
|
|
"nameLocation": "1397:4:46",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45891,
|
|
"src": "1389:12:46",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 45848,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1389:7:46",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1388:14:46"
|
|
},
|
|
"scope": 45892,
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"abstract": false,
|
|
"baseContracts": [],
|
|
"canonicalName": "PoolAddress",
|
|
"contractDependencies": [],
|
|
"contractKind": "library",
|
|
"documentation": {
|
|
"id": 45797,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "71:96:46",
|
|
"text": "@title Provides functions for deriving a pool address from the factory, tokens, and the fee"
|
|
},
|
|
"fullyImplemented": true,
|
|
"linearizedBaseContracts": [
|
|
45892
|
|
],
|
|
"name": "PoolAddress",
|
|
"nameLocation": "175:11:46",
|
|
"scope": 45893,
|
|
"usedErrors": [],
|
|
"usedEvents": []
|
|
}
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"id": 46
|
|
} |