4501 lines
193 KiB
JSON
4501 lines
193 KiB
JSON
{
|
|
"abi": [],
|
|
"bytecode": {
|
|
"object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122067e4a312c25029eaaabf8e643ab6554cf3931f1380f949fcd531456541c7844664736f6c63430008160033",
|
|
"sourceMap": "327:6487:45:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;327:6487:45;;;;;;;;;;;;;;;;;",
|
|
"linkReferences": {}
|
|
},
|
|
"deployedBytecode": {
|
|
"object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122067e4a312c25029eaaabf8e643ab6554cf3931f1380f949fcd531456541c7844664736f6c63430008160033",
|
|
"sourceMap": "327:6487:45:-:0;;;;;;;;",
|
|
"linkReferences": {}
|
|
},
|
|
"methodIdentifiers": {},
|
|
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Liquidity amount functions\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Provides functions for computing liquidity amounts from token amounts and prices\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol\":\"LiquidityAmounts\"},\"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-core/contracts/libraries/FixedPoint96.sol\":{\"keccak256\":\"0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d\",\"dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP\"]},\"lib_uniswap/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0x77608bce1ddeb28ed9963b554b55e8a083277eda7be31e2c7255ef532cc408be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fcb307cf783b612ab9abd339296391d202974e7aa158deff23d9fb3aaac832d\",\"dweb:/ipfs/QmXhcwQajcGZADQtVoQpSWYNY4tB3Y42GPPyiaW62M5JH2\"]},\"lib_uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol\":{\"keccak256\":\"0xf149581d28e1c81736dfe72be73ee1301d4945340cc6282fcdd63fe3c85abf24\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://0b67f375180bb62fe6753601cd09740496dcdcec4c0a4f9eaa6e94c5e1bb6844\",\"dweb:/ipfs/QmWYwkmqynRq7g81Nijg4eEkPgSRGnegDrbbEKkkTC1k2w\"]}},\"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/LiquidityAmounts.sol": "LiquidityAmounts"
|
|
},
|
|
"libraries": {}
|
|
},
|
|
"sources": {
|
|
"lib_uniswap/v3-core/contracts/libraries/FixedPoint96.sol": {
|
|
"keccak256": "0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032",
|
|
"urls": [
|
|
"bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d",
|
|
"dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-core/contracts/libraries/FullMath.sol": {
|
|
"keccak256": "0x77608bce1ddeb28ed9963b554b55e8a083277eda7be31e2c7255ef532cc408be",
|
|
"urls": [
|
|
"bzz-raw://8fcb307cf783b612ab9abd339296391d202974e7aa158deff23d9fb3aaac832d",
|
|
"dweb:/ipfs/QmXhcwQajcGZADQtVoQpSWYNY4tB3Y42GPPyiaW62M5JH2"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib_uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol": {
|
|
"keccak256": "0xf149581d28e1c81736dfe72be73ee1301d4945340cc6282fcdd63fe3c85abf24",
|
|
"urls": [
|
|
"bzz-raw://0b67f375180bb62fe6753601cd09740496dcdcec4c0a4f9eaa6e94c5e1bb6844",
|
|
"dweb:/ipfs/QmWYwkmqynRq7g81Nijg4eEkPgSRGnegDrbbEKkkTC1k2w"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
}
|
|
},
|
|
"version": 1
|
|
},
|
|
"ast": {
|
|
"absolutePath": "lib_uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol",
|
|
"id": 45795,
|
|
"exportedSymbols": {
|
|
"FixedPoint96": [
|
|
44338
|
|
],
|
|
"FullMath": [
|
|
44519
|
|
],
|
|
"LiquidityAmounts": [
|
|
45794
|
|
]
|
|
},
|
|
"nodeType": "SourceUnit",
|
|
"src": "45:6770:45",
|
|
"nodes": [
|
|
{
|
|
"id": 45456,
|
|
"nodeType": "PragmaDirective",
|
|
"src": "45:24:45",
|
|
"nodes": [],
|
|
"literals": [
|
|
"solidity",
|
|
">=",
|
|
"0.5",
|
|
".0"
|
|
]
|
|
},
|
|
{
|
|
"id": 45457,
|
|
"nodeType": "ImportDirective",
|
|
"src": "71:59:45",
|
|
"nodes": [],
|
|
"absolutePath": "lib_uniswap/v3-core/contracts/libraries/FullMath.sol",
|
|
"file": "@uniswap/v3-core/contracts/libraries/FullMath.sol",
|
|
"nameLocation": "-1:-1:-1",
|
|
"scope": 45795,
|
|
"sourceUnit": 44520,
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"id": 45458,
|
|
"nodeType": "ImportDirective",
|
|
"src": "131:63:45",
|
|
"nodes": [],
|
|
"absolutePath": "lib_uniswap/v3-core/contracts/libraries/FixedPoint96.sol",
|
|
"file": "@uniswap/v3-core/contracts/libraries/FixedPoint96.sol",
|
|
"nameLocation": "-1:-1:-1",
|
|
"scope": 45795,
|
|
"sourceUnit": 44339,
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"id": 45794,
|
|
"nodeType": "ContractDefinition",
|
|
"src": "327:6487:45",
|
|
"nodes": [
|
|
{
|
|
"id": 45480,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "507:110:45",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 45479,
|
|
"nodeType": "Block",
|
|
"src": "570:47:45",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 45476,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"components": [
|
|
{
|
|
"id": 45473,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 45468,
|
|
"name": "y",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45465,
|
|
"src": "589:1:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"id": 45471,
|
|
"name": "x",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45462,
|
|
"src": "601:1:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 45470,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "593:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint128_$",
|
|
"typeString": "type(uint128)"
|
|
},
|
|
"typeName": {
|
|
"id": 45469,
|
|
"name": "uint128",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "593:7:45",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 45472,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "593:10:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"src": "589:14:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
}
|
|
],
|
|
"id": 45474,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "588:16:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"id": 45475,
|
|
"name": "x",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45462,
|
|
"src": "608:1:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "588:21:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
],
|
|
"id": 45467,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "580:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
"typeString": "function (bool) pure"
|
|
}
|
|
},
|
|
"id": 45477,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "580:30:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 45478,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "580:30:45"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 45460,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "358:144:45",
|
|
"text": "@notice Downcasts uint256 to uint128\n @param x The uint258 to be downcasted\n @return y The passed value, downcasted to uint128"
|
|
},
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "toUint128",
|
|
"nameLocation": "516:9:45",
|
|
"parameters": {
|
|
"id": 45463,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45462,
|
|
"mutability": "mutable",
|
|
"name": "x",
|
|
"nameLocation": "534:1:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45480,
|
|
"src": "526:9:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 45461,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "526:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "525:11:45"
|
|
},
|
|
"returnParameters": {
|
|
"id": 45466,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45465,
|
|
"mutability": "mutable",
|
|
"name": "y",
|
|
"nameLocation": "567:1:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45480,
|
|
"src": "559:9:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
},
|
|
"typeName": {
|
|
"id": 45464,
|
|
"name": "uint128",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "559:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "558:11:45"
|
|
},
|
|
"scope": 45794,
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"id": 45526,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "1085:475:45",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 45525,
|
|
"nodeType": "Block",
|
|
"src": "1252:308:45",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"id": 45494,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45492,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45483,
|
|
"src": "1266:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"id": 45493,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45485,
|
|
"src": "1282:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"src": "1266:29:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 45503,
|
|
"nodeType": "IfStatement",
|
|
"src": "1262:98:45",
|
|
"trueBody": {
|
|
"expression": {
|
|
"id": 45501,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"components": [
|
|
{
|
|
"id": 45495,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45483,
|
|
"src": "1298:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45496,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45485,
|
|
"src": "1313:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"id": 45497,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "TupleExpression",
|
|
"src": "1297:30:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_uint160_$_t_uint160_$",
|
|
"typeString": "tuple(uint160,uint160)"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"components": [
|
|
{
|
|
"id": 45498,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45485,
|
|
"src": "1331:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45499,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45483,
|
|
"src": "1346:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"id": 45500,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "1330:30:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_uint160_$_t_uint160_$",
|
|
"typeString": "tuple(uint160,uint160)"
|
|
}
|
|
},
|
|
"src": "1297:63:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 45502,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1297:63:45"
|
|
}
|
|
},
|
|
{
|
|
"assignments": [
|
|
45505
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 45505,
|
|
"mutability": "mutable",
|
|
"name": "intermediate",
|
|
"nameLocation": "1378:12:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45525,
|
|
"src": "1370:20:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 45504,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1370:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 45513,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"id": 45508,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45483,
|
|
"src": "1409:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45509,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45485,
|
|
"src": "1424:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 45510,
|
|
"name": "FixedPoint96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 44338,
|
|
"src": "1439:12:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_FixedPoint96_$44338_$",
|
|
"typeString": "type(library FixedPoint96)"
|
|
}
|
|
},
|
|
"id": 45511,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1452:3:45",
|
|
"memberName": "Q96",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 44337,
|
|
"src": "1439:16:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 45506,
|
|
"name": "FullMath",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 44519,
|
|
"src": "1393:8:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_FullMath_$44519_$",
|
|
"typeString": "type(library FullMath)"
|
|
}
|
|
},
|
|
"id": 45507,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1402:6:45",
|
|
"memberName": "mulDiv",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 44474,
|
|
"src": "1393:15:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
|
|
"typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
|
|
}
|
|
},
|
|
"id": 45512,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1393:63:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1370:86:45"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 45517,
|
|
"name": "amount0",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45487,
|
|
"src": "1499:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"id": 45518,
|
|
"name": "intermediate",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45505,
|
|
"src": "1508:12:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"id": 45521,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45519,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45485,
|
|
"src": "1522:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"id": 45520,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45483,
|
|
"src": "1538:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"src": "1522:29:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 45515,
|
|
"name": "FullMath",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 44519,
|
|
"src": "1483:8:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_FullMath_$44519_$",
|
|
"typeString": "type(library FullMath)"
|
|
}
|
|
},
|
|
"id": 45516,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1492:6:45",
|
|
"memberName": "mulDiv",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 44474,
|
|
"src": "1483:15:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
|
|
"typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
|
|
}
|
|
},
|
|
"id": 45522,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1483:69:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 45514,
|
|
"name": "toUint128",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45480,
|
|
"src": "1473:9:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint128_$",
|
|
"typeString": "function (uint256) pure returns (uint128)"
|
|
}
|
|
},
|
|
"id": 45523,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1473:80:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"functionReturnParameters": 45491,
|
|
"id": 45524,
|
|
"nodeType": "Return",
|
|
"src": "1466:87:45"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 45481,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "623:457:45",
|
|
"text": "@notice Computes the amount of liquidity received for a given amount of token0 and price range\n @dev Calculates amount0 * (sqrt(upper) * sqrt(lower)) / (sqrt(upper) - sqrt(lower))\n @param sqrtRatioAX96 A sqrt price representing the first tick boundary\n @param sqrtRatioBX96 A sqrt price representing the second tick boundary\n @param amount0 The amount0 being sent in\n @return liquidity The amount of returned liquidity"
|
|
},
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "getLiquidityForAmount0",
|
|
"nameLocation": "1094:22:45",
|
|
"parameters": {
|
|
"id": 45488,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45483,
|
|
"mutability": "mutable",
|
|
"name": "sqrtRatioAX96",
|
|
"nameLocation": "1134:13:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45526,
|
|
"src": "1126:21:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"typeName": {
|
|
"id": 45482,
|
|
"name": "uint160",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1126:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45485,
|
|
"mutability": "mutable",
|
|
"name": "sqrtRatioBX96",
|
|
"nameLocation": "1165:13:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45526,
|
|
"src": "1157:21:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"typeName": {
|
|
"id": 45484,
|
|
"name": "uint160",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1157:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45487,
|
|
"mutability": "mutable",
|
|
"name": "amount0",
|
|
"nameLocation": "1196:7:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45526,
|
|
"src": "1188:15:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 45486,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1188:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1116:93:45"
|
|
},
|
|
"returnParameters": {
|
|
"id": 45491,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45490,
|
|
"mutability": "mutable",
|
|
"name": "liquidity",
|
|
"nameLocation": "1241:9:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45526,
|
|
"src": "1233:17:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
},
|
|
"typeName": {
|
|
"id": 45489,
|
|
"name": "uint128",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1233:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1232:19:45"
|
|
},
|
|
"scope": 45794,
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 45563,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "1999:383:45",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 45562,
|
|
"nodeType": "Block",
|
|
"src": "2166:216:45",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"id": 45540,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45538,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45529,
|
|
"src": "2180:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"id": 45539,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45531,
|
|
"src": "2196:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"src": "2180:29:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 45549,
|
|
"nodeType": "IfStatement",
|
|
"src": "2176:98:45",
|
|
"trueBody": {
|
|
"expression": {
|
|
"id": 45547,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"components": [
|
|
{
|
|
"id": 45541,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45529,
|
|
"src": "2212:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45542,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45531,
|
|
"src": "2227:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"id": 45543,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "TupleExpression",
|
|
"src": "2211:30:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_uint160_$_t_uint160_$",
|
|
"typeString": "tuple(uint160,uint160)"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"components": [
|
|
{
|
|
"id": 45544,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45531,
|
|
"src": "2245:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45545,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45529,
|
|
"src": "2260:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"id": 45546,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "2244:30:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_uint160_$_t_uint160_$",
|
|
"typeString": "tuple(uint160,uint160)"
|
|
}
|
|
},
|
|
"src": "2211:63:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 45548,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2211:63:45"
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 45553,
|
|
"name": "amount1",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45533,
|
|
"src": "2317:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 45554,
|
|
"name": "FixedPoint96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 44338,
|
|
"src": "2326:12:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_FixedPoint96_$44338_$",
|
|
"typeString": "type(library FixedPoint96)"
|
|
}
|
|
},
|
|
"id": 45555,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberLocation": "2339:3:45",
|
|
"memberName": "Q96",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 44337,
|
|
"src": "2326:16:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"id": 45558,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45556,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45531,
|
|
"src": "2344:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"id": 45557,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45529,
|
|
"src": "2360:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"src": "2344:29:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 45551,
|
|
"name": "FullMath",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 44519,
|
|
"src": "2301:8:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_FullMath_$44519_$",
|
|
"typeString": "type(library FullMath)"
|
|
}
|
|
},
|
|
"id": 45552,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "2310:6:45",
|
|
"memberName": "mulDiv",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 44474,
|
|
"src": "2301:15:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
|
|
"typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
|
|
}
|
|
},
|
|
"id": 45559,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2301:73:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 45550,
|
|
"name": "toUint128",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45480,
|
|
"src": "2291:9:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint128_$",
|
|
"typeString": "function (uint256) pure returns (uint128)"
|
|
}
|
|
},
|
|
"id": 45560,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2291:84:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"functionReturnParameters": 45537,
|
|
"id": 45561,
|
|
"nodeType": "Return",
|
|
"src": "2284:91:45"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 45527,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1566:428:45",
|
|
"text": "@notice Computes the amount of liquidity received for a given amount of token1 and price range\n @dev Calculates amount1 / (sqrt(upper) - sqrt(lower)).\n @param sqrtRatioAX96 A sqrt price representing the first tick boundary\n @param sqrtRatioBX96 A sqrt price representing the second tick boundary\n @param amount1 The amount1 being sent in\n @return liquidity The amount of returned liquidity"
|
|
},
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "getLiquidityForAmount1",
|
|
"nameLocation": "2008:22:45",
|
|
"parameters": {
|
|
"id": 45534,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45529,
|
|
"mutability": "mutable",
|
|
"name": "sqrtRatioAX96",
|
|
"nameLocation": "2048:13:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45563,
|
|
"src": "2040:21:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"typeName": {
|
|
"id": 45528,
|
|
"name": "uint160",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2040:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45531,
|
|
"mutability": "mutable",
|
|
"name": "sqrtRatioBX96",
|
|
"nameLocation": "2079:13:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45563,
|
|
"src": "2071:21:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"typeName": {
|
|
"id": 45530,
|
|
"name": "uint160",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2071:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45533,
|
|
"mutability": "mutable",
|
|
"name": "amount1",
|
|
"nameLocation": "2110:7:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45563,
|
|
"src": "2102:15:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 45532,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2102:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2030:93:45"
|
|
},
|
|
"returnParameters": {
|
|
"id": 45537,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45536,
|
|
"mutability": "mutable",
|
|
"name": "liquidity",
|
|
"nameLocation": "2155:9:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45563,
|
|
"src": "2147:17:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
},
|
|
"typeName": {
|
|
"id": 45535,
|
|
"name": "uint128",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2147:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2146:19:45"
|
|
},
|
|
"scope": 45794,
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 45644,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "2982:901:45",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 45643,
|
|
"nodeType": "Block",
|
|
"src": "3204:679:45",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"id": 45581,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45579,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45568,
|
|
"src": "3218:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"id": 45580,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45570,
|
|
"src": "3234:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"src": "3218:29:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 45590,
|
|
"nodeType": "IfStatement",
|
|
"src": "3214:98:45",
|
|
"trueBody": {
|
|
"expression": {
|
|
"id": 45588,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"components": [
|
|
{
|
|
"id": 45582,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45568,
|
|
"src": "3250:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45583,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45570,
|
|
"src": "3265:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"id": 45584,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "TupleExpression",
|
|
"src": "3249:30:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_uint160_$_t_uint160_$",
|
|
"typeString": "tuple(uint160,uint160)"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"components": [
|
|
{
|
|
"id": 45585,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45570,
|
|
"src": "3283:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45586,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45568,
|
|
"src": "3298:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"id": 45587,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "3282:30:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_uint160_$_t_uint160_$",
|
|
"typeString": "tuple(uint160,uint160)"
|
|
}
|
|
},
|
|
"src": "3249:63:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 45589,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3249:63:45"
|
|
}
|
|
},
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"id": 45593,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45591,
|
|
"name": "sqrtRatioX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45566,
|
|
"src": "3327:12:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<=",
|
|
"rightExpression": {
|
|
"id": 45592,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45568,
|
|
"src": "3343:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"src": "3327:29:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"id": 45605,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45603,
|
|
"name": "sqrtRatioX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45566,
|
|
"src": "3466:12:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"id": 45604,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45570,
|
|
"src": "3481:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"src": "3466:28:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"id": 45640,
|
|
"nodeType": "Block",
|
|
"src": "3779:98:45",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 45638,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 45632,
|
|
"name": "liquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45577,
|
|
"src": "3793:9:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"id": 45634,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45568,
|
|
"src": "3828:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45635,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45570,
|
|
"src": "3843:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45636,
|
|
"name": "amount1",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45574,
|
|
"src": "3858:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 45633,
|
|
"name": "getLiquidityForAmount1",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45563,
|
|
"src": "3805:22:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint256_$returns$_t_uint128_$",
|
|
"typeString": "function (uint160,uint160,uint256) pure returns (uint128)"
|
|
}
|
|
},
|
|
"id": 45637,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3805:61:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"src": "3793:73:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"id": 45639,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3793:73:45"
|
|
}
|
|
]
|
|
},
|
|
"id": 45641,
|
|
"nodeType": "IfStatement",
|
|
"src": "3462:415:45",
|
|
"trueBody": {
|
|
"id": 45631,
|
|
"nodeType": "Block",
|
|
"src": "3496:277:45",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
45607
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 45607,
|
|
"mutability": "mutable",
|
|
"name": "liquidity0",
|
|
"nameLocation": "3518:10:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45631,
|
|
"src": "3510:18:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
},
|
|
"typeName": {
|
|
"id": 45606,
|
|
"name": "uint128",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3510:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 45613,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"id": 45609,
|
|
"name": "sqrtRatioX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45566,
|
|
"src": "3554:12:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45610,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45570,
|
|
"src": "3568:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45611,
|
|
"name": "amount0",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45572,
|
|
"src": "3583:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 45608,
|
|
"name": "getLiquidityForAmount0",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45526,
|
|
"src": "3531:22:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint256_$returns$_t_uint128_$",
|
|
"typeString": "function (uint160,uint160,uint256) pure returns (uint128)"
|
|
}
|
|
},
|
|
"id": 45612,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3531:60:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3510:81:45"
|
|
},
|
|
{
|
|
"assignments": [
|
|
45615
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 45615,
|
|
"mutability": "mutable",
|
|
"name": "liquidity1",
|
|
"nameLocation": "3613:10:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45631,
|
|
"src": "3605:18:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
},
|
|
"typeName": {
|
|
"id": 45614,
|
|
"name": "uint128",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3605:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 45621,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"id": 45617,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45568,
|
|
"src": "3649:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45618,
|
|
"name": "sqrtRatioX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45566,
|
|
"src": "3664:12:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45619,
|
|
"name": "amount1",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45574,
|
|
"src": "3678:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 45616,
|
|
"name": "getLiquidityForAmount1",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45563,
|
|
"src": "3626:22:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint256_$returns$_t_uint128_$",
|
|
"typeString": "function (uint160,uint160,uint256) pure returns (uint128)"
|
|
}
|
|
},
|
|
"id": 45620,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3626:60:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3605:81:45"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 45629,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 45622,
|
|
"name": "liquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45577,
|
|
"src": "3701:9:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
},
|
|
"id": 45625,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45623,
|
|
"name": "liquidity0",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45607,
|
|
"src": "3713:10:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"id": 45624,
|
|
"name": "liquidity1",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45615,
|
|
"src": "3726:10:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"src": "3713:23:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseExpression": {
|
|
"id": 45627,
|
|
"name": "liquidity1",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45615,
|
|
"src": "3752:10:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"id": 45628,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "Conditional",
|
|
"src": "3713:49:45",
|
|
"trueExpression": {
|
|
"id": 45626,
|
|
"name": "liquidity0",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45607,
|
|
"src": "3739:10:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"src": "3701:61:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"id": 45630,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3701:61:45"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"id": 45642,
|
|
"nodeType": "IfStatement",
|
|
"src": "3323:554:45",
|
|
"trueBody": {
|
|
"id": 45602,
|
|
"nodeType": "Block",
|
|
"src": "3358:98:45",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 45600,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 45594,
|
|
"name": "liquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45577,
|
|
"src": "3372:9:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"id": 45596,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45568,
|
|
"src": "3407:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45597,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45570,
|
|
"src": "3422:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45598,
|
|
"name": "amount0",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45572,
|
|
"src": "3437:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 45595,
|
|
"name": "getLiquidityForAmount0",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45526,
|
|
"src": "3384:22:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint256_$returns$_t_uint128_$",
|
|
"typeString": "function (uint160,uint160,uint256) pure returns (uint128)"
|
|
}
|
|
},
|
|
"id": 45599,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3384:61:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"src": "3372:73:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"id": 45601,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3372:73:45"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 45564,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "2388:589:45",
|
|
"text": "@notice Computes the maximum amount of liquidity received for a given amount of token0, token1, the current\n pool prices and the prices at the tick boundaries\n @param sqrtRatioX96 A sqrt price representing the current pool prices\n @param sqrtRatioAX96 A sqrt price representing the first tick boundary\n @param sqrtRatioBX96 A sqrt price representing the second tick boundary\n @param amount0 The amount of token0 being sent in\n @param amount1 The amount of token1 being sent in\n @return liquidity The maximum amount of liquidity received"
|
|
},
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "getLiquidityForAmounts",
|
|
"nameLocation": "2991:22:45",
|
|
"parameters": {
|
|
"id": 45575,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45566,
|
|
"mutability": "mutable",
|
|
"name": "sqrtRatioX96",
|
|
"nameLocation": "3031:12:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45644,
|
|
"src": "3023:20:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"typeName": {
|
|
"id": 45565,
|
|
"name": "uint160",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3023:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45568,
|
|
"mutability": "mutable",
|
|
"name": "sqrtRatioAX96",
|
|
"nameLocation": "3061:13:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45644,
|
|
"src": "3053:21:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"typeName": {
|
|
"id": 45567,
|
|
"name": "uint160",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3053:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45570,
|
|
"mutability": "mutable",
|
|
"name": "sqrtRatioBX96",
|
|
"nameLocation": "3092:13:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45644,
|
|
"src": "3084:21:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"typeName": {
|
|
"id": 45569,
|
|
"name": "uint160",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3084:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45572,
|
|
"mutability": "mutable",
|
|
"name": "amount0",
|
|
"nameLocation": "3123:7:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45644,
|
|
"src": "3115:15:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 45571,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3115:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45574,
|
|
"mutability": "mutable",
|
|
"name": "amount1",
|
|
"nameLocation": "3148:7:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45644,
|
|
"src": "3140:15:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 45573,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3140:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3013:148:45"
|
|
},
|
|
"returnParameters": {
|
|
"id": 45578,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45577,
|
|
"mutability": "mutable",
|
|
"name": "liquidity",
|
|
"nameLocation": "3193:9:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45644,
|
|
"src": "3185:17:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
},
|
|
"typeName": {
|
|
"id": 45576,
|
|
"name": "uint128",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3185:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3184:19:45"
|
|
},
|
|
"scope": 45794,
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 45686,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "4241:498:45",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 45685,
|
|
"nodeType": "Block",
|
|
"src": "4408:331:45",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"id": 45658,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45656,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45647,
|
|
"src": "4422:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"id": 45657,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45649,
|
|
"src": "4438:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"src": "4422:29:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 45667,
|
|
"nodeType": "IfStatement",
|
|
"src": "4418:98:45",
|
|
"trueBody": {
|
|
"expression": {
|
|
"id": 45665,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"components": [
|
|
{
|
|
"id": 45659,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45647,
|
|
"src": "4454:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45660,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45649,
|
|
"src": "4469:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"id": 45661,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "TupleExpression",
|
|
"src": "4453:30:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_uint160_$_t_uint160_$",
|
|
"typeString": "tuple(uint160,uint160)"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"components": [
|
|
{
|
|
"id": 45662,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45649,
|
|
"src": "4487:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45663,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45647,
|
|
"src": "4502:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"id": 45664,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "4486:30:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_uint160_$_t_uint160_$",
|
|
"typeString": "tuple(uint160,uint160)"
|
|
}
|
|
},
|
|
"src": "4453:63:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 45666,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4453:63:45"
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 45683,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 45676,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"arguments": [
|
|
{
|
|
"id": 45672,
|
|
"name": "liquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45651,
|
|
"src": "4587:9:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
],
|
|
"id": 45671,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "4579:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 45670,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4579:7:45",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 45673,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4579:18:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<<",
|
|
"rightExpression": {
|
|
"expression": {
|
|
"id": 45674,
|
|
"name": "FixedPoint96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 44338,
|
|
"src": "4601:12:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_FixedPoint96_$44338_$",
|
|
"typeString": "type(library FixedPoint96)"
|
|
}
|
|
},
|
|
"id": 45675,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberLocation": "4614:10:45",
|
|
"memberName": "RESOLUTION",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 44334,
|
|
"src": "4601:23:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"src": "4579:45:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"id": 45679,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45677,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45649,
|
|
"src": "4642:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"id": 45678,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45647,
|
|
"src": "4658:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"src": "4642:29:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45680,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45649,
|
|
"src": "4689:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 45668,
|
|
"name": "FullMath",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 44519,
|
|
"src": "4546:8:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_FullMath_$44519_$",
|
|
"typeString": "type(library FullMath)"
|
|
}
|
|
},
|
|
"id": 45669,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "4555:6:45",
|
|
"memberName": "mulDiv",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 44474,
|
|
"src": "4546:15:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
|
|
"typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
|
|
}
|
|
},
|
|
"id": 45681,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4546:170:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "/",
|
|
"rightExpression": {
|
|
"id": 45682,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45647,
|
|
"src": "4719:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"src": "4546:186:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 45655,
|
|
"id": 45684,
|
|
"nodeType": "Return",
|
|
"src": "4527:205:45"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 45645,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3889:347:45",
|
|
"text": "@notice Computes the amount of token0 for a given amount of liquidity and a price range\n @param sqrtRatioAX96 A sqrt price representing the first tick boundary\n @param sqrtRatioBX96 A sqrt price representing the second tick boundary\n @param liquidity The liquidity being valued\n @return amount0 The amount of token0"
|
|
},
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "getAmount0ForLiquidity",
|
|
"nameLocation": "4250:22:45",
|
|
"parameters": {
|
|
"id": 45652,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45647,
|
|
"mutability": "mutable",
|
|
"name": "sqrtRatioAX96",
|
|
"nameLocation": "4290:13:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45686,
|
|
"src": "4282:21:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"typeName": {
|
|
"id": 45646,
|
|
"name": "uint160",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4282:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45649,
|
|
"mutability": "mutable",
|
|
"name": "sqrtRatioBX96",
|
|
"nameLocation": "4321:13:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45686,
|
|
"src": "4313:21:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"typeName": {
|
|
"id": 45648,
|
|
"name": "uint160",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4313:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45651,
|
|
"mutability": "mutable",
|
|
"name": "liquidity",
|
|
"nameLocation": "4352:9:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45686,
|
|
"src": "4344:17:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
},
|
|
"typeName": {
|
|
"id": 45650,
|
|
"name": "uint128",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4344:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4272:95:45"
|
|
},
|
|
"returnParameters": {
|
|
"id": 45655,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45654,
|
|
"mutability": "mutable",
|
|
"name": "amount0",
|
|
"nameLocation": "4399:7:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45686,
|
|
"src": "4391:15:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 45653,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4391:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4390:17:45"
|
|
},
|
|
"scope": 45794,
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 45721,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "5097:375:45",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 45720,
|
|
"nodeType": "Block",
|
|
"src": "5264:208:45",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"id": 45700,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45698,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45689,
|
|
"src": "5278:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"id": 45699,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45691,
|
|
"src": "5294:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"src": "5278:29:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 45709,
|
|
"nodeType": "IfStatement",
|
|
"src": "5274:98:45",
|
|
"trueBody": {
|
|
"expression": {
|
|
"id": 45707,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"components": [
|
|
{
|
|
"id": 45701,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45689,
|
|
"src": "5310:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45702,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45691,
|
|
"src": "5325:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"id": 45703,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "TupleExpression",
|
|
"src": "5309:30:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_uint160_$_t_uint160_$",
|
|
"typeString": "tuple(uint160,uint160)"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"components": [
|
|
{
|
|
"id": 45704,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45691,
|
|
"src": "5343:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45705,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45689,
|
|
"src": "5358:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"id": 45706,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "5342:30:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_uint160_$_t_uint160_$",
|
|
"typeString": "tuple(uint160,uint160)"
|
|
}
|
|
},
|
|
"src": "5309:63:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 45708,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5309:63:45"
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 45712,
|
|
"name": "liquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45693,
|
|
"src": "5406:9:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"id": 45715,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45713,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45691,
|
|
"src": "5417:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"id": 45714,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45689,
|
|
"src": "5433:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"src": "5417:29:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 45716,
|
|
"name": "FixedPoint96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 44338,
|
|
"src": "5448:12:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_FixedPoint96_$44338_$",
|
|
"typeString": "type(library FixedPoint96)"
|
|
}
|
|
},
|
|
"id": 45717,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberLocation": "5461:3:45",
|
|
"memberName": "Q96",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 44337,
|
|
"src": "5448:16:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 45710,
|
|
"name": "FullMath",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 44519,
|
|
"src": "5390:8:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_FullMath_$44519_$",
|
|
"typeString": "type(library FullMath)"
|
|
}
|
|
},
|
|
"id": 45711,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "5399:6:45",
|
|
"memberName": "mulDiv",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 44474,
|
|
"src": "5390:15:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
|
|
"typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
|
|
}
|
|
},
|
|
"id": 45718,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5390:75:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 45697,
|
|
"id": 45719,
|
|
"nodeType": "Return",
|
|
"src": "5383:82:45"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 45687,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "4745:347:45",
|
|
"text": "@notice Computes the amount of token1 for a given amount of liquidity and a price range\n @param sqrtRatioAX96 A sqrt price representing the first tick boundary\n @param sqrtRatioBX96 A sqrt price representing the second tick boundary\n @param liquidity The liquidity being valued\n @return amount1 The amount of token1"
|
|
},
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "getAmount1ForLiquidity",
|
|
"nameLocation": "5106:22:45",
|
|
"parameters": {
|
|
"id": 45694,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45689,
|
|
"mutability": "mutable",
|
|
"name": "sqrtRatioAX96",
|
|
"nameLocation": "5146:13:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45721,
|
|
"src": "5138:21:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"typeName": {
|
|
"id": 45688,
|
|
"name": "uint160",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5138:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45691,
|
|
"mutability": "mutable",
|
|
"name": "sqrtRatioBX96",
|
|
"nameLocation": "5177:13:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45721,
|
|
"src": "5169:21:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"typeName": {
|
|
"id": 45690,
|
|
"name": "uint160",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5169:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45693,
|
|
"mutability": "mutable",
|
|
"name": "liquidity",
|
|
"nameLocation": "5208:9:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45721,
|
|
"src": "5200:17:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
},
|
|
"typeName": {
|
|
"id": 45692,
|
|
"name": "uint128",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5200:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5128:95:45"
|
|
},
|
|
"returnParameters": {
|
|
"id": 45697,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45696,
|
|
"mutability": "mutable",
|
|
"name": "amount1",
|
|
"nameLocation": "5255:7:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45721,
|
|
"src": "5247:15:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 45695,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5247:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5246:17:45"
|
|
},
|
|
"scope": 45794,
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 45793,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "6013:799:45",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 45792,
|
|
"nodeType": "Block",
|
|
"src": "6227:585:45",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"id": 45739,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45737,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45726,
|
|
"src": "6241:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"id": 45738,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45728,
|
|
"src": "6257:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"src": "6241:29:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 45748,
|
|
"nodeType": "IfStatement",
|
|
"src": "6237:98:45",
|
|
"trueBody": {
|
|
"expression": {
|
|
"id": 45746,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"components": [
|
|
{
|
|
"id": 45740,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45726,
|
|
"src": "6273:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45741,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45728,
|
|
"src": "6288:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"id": 45742,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "TupleExpression",
|
|
"src": "6272:30:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_uint160_$_t_uint160_$",
|
|
"typeString": "tuple(uint160,uint160)"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"components": [
|
|
{
|
|
"id": 45743,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45728,
|
|
"src": "6306:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45744,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45726,
|
|
"src": "6321:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
}
|
|
],
|
|
"id": 45745,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "6305:30:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_uint160_$_t_uint160_$",
|
|
"typeString": "tuple(uint160,uint160)"
|
|
}
|
|
},
|
|
"src": "6272:63:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 45747,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6272:63:45"
|
|
}
|
|
},
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"id": 45751,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45749,
|
|
"name": "sqrtRatioX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45724,
|
|
"src": "6350:12:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<=",
|
|
"rightExpression": {
|
|
"id": 45750,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45726,
|
|
"src": "6366:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"src": "6350:29:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"id": 45763,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 45761,
|
|
"name": "sqrtRatioX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45724,
|
|
"src": "6489:12:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"id": 45762,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45728,
|
|
"src": "6504:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"src": "6489:28:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"id": 45789,
|
|
"nodeType": "Block",
|
|
"src": "6708:98:45",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 45787,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 45781,
|
|
"name": "amount1",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45735,
|
|
"src": "6722:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"id": 45783,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45726,
|
|
"src": "6755:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45784,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45728,
|
|
"src": "6770:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45785,
|
|
"name": "liquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45730,
|
|
"src": "6785:9:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
],
|
|
"id": 45782,
|
|
"name": "getAmount1ForLiquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45721,
|
|
"src": "6732:22:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$returns$_t_uint256_$",
|
|
"typeString": "function (uint160,uint160,uint128) pure returns (uint256)"
|
|
}
|
|
},
|
|
"id": 45786,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6732:63:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "6722:73:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 45788,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6722:73:45"
|
|
}
|
|
]
|
|
},
|
|
"id": 45790,
|
|
"nodeType": "IfStatement",
|
|
"src": "6485:321:45",
|
|
"trueBody": {
|
|
"id": 45780,
|
|
"nodeType": "Block",
|
|
"src": "6519:183:45",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 45770,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 45764,
|
|
"name": "amount0",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45733,
|
|
"src": "6533:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"id": 45766,
|
|
"name": "sqrtRatioX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45724,
|
|
"src": "6566:12:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45767,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45728,
|
|
"src": "6580:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45768,
|
|
"name": "liquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45730,
|
|
"src": "6595:9:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
],
|
|
"id": 45765,
|
|
"name": "getAmount0ForLiquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45686,
|
|
"src": "6543:22:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$returns$_t_uint256_$",
|
|
"typeString": "function (uint160,uint160,uint128) pure returns (uint256)"
|
|
}
|
|
},
|
|
"id": 45769,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6543:62:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "6533:72:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 45771,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6533:72:45"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 45778,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 45772,
|
|
"name": "amount1",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45735,
|
|
"src": "6619:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"id": 45774,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45726,
|
|
"src": "6652:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45775,
|
|
"name": "sqrtRatioX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45724,
|
|
"src": "6667:12:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45776,
|
|
"name": "liquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45730,
|
|
"src": "6681:9:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
],
|
|
"id": 45773,
|
|
"name": "getAmount1ForLiquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45721,
|
|
"src": "6629:22:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$returns$_t_uint256_$",
|
|
"typeString": "function (uint160,uint160,uint128) pure returns (uint256)"
|
|
}
|
|
},
|
|
"id": 45777,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6629:62:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "6619:72:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 45779,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6619:72:45"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"id": 45791,
|
|
"nodeType": "IfStatement",
|
|
"src": "6346:460:45",
|
|
"trueBody": {
|
|
"id": 45760,
|
|
"nodeType": "Block",
|
|
"src": "6381:98:45",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 45758,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 45752,
|
|
"name": "amount0",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45733,
|
|
"src": "6395:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"id": 45754,
|
|
"name": "sqrtRatioAX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45726,
|
|
"src": "6428:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45755,
|
|
"name": "sqrtRatioBX96",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45728,
|
|
"src": "6443:13:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
{
|
|
"id": 45756,
|
|
"name": "liquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45730,
|
|
"src": "6458:9:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
],
|
|
"id": 45753,
|
|
"name": "getAmount0ForLiquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 45686,
|
|
"src": "6405:22:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint160_$_t_uint160_$_t_uint128_$returns$_t_uint256_$",
|
|
"typeString": "function (uint160,uint160,uint128) pure returns (uint256)"
|
|
}
|
|
},
|
|
"id": 45757,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6405:63:45",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "6395:73:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 45759,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "6395:73:45"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 45722,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "5478:530:45",
|
|
"text": "@notice Computes the token0 and token1 value for a given amount of liquidity, the current\n pool prices and the prices at the tick boundaries\n @param sqrtRatioX96 A sqrt price representing the current pool prices\n @param sqrtRatioAX96 A sqrt price representing the first tick boundary\n @param sqrtRatioBX96 A sqrt price representing the second tick boundary\n @param liquidity The liquidity being valued\n @return amount0 The amount of token0\n @return amount1 The amount of token1"
|
|
},
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "getAmountsForLiquidity",
|
|
"nameLocation": "6022:22:45",
|
|
"parameters": {
|
|
"id": 45731,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45724,
|
|
"mutability": "mutable",
|
|
"name": "sqrtRatioX96",
|
|
"nameLocation": "6062:12:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45793,
|
|
"src": "6054:20:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"typeName": {
|
|
"id": 45723,
|
|
"name": "uint160",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6054:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45726,
|
|
"mutability": "mutable",
|
|
"name": "sqrtRatioAX96",
|
|
"nameLocation": "6092:13:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45793,
|
|
"src": "6084:21:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"typeName": {
|
|
"id": 45725,
|
|
"name": "uint160",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6084:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45728,
|
|
"mutability": "mutable",
|
|
"name": "sqrtRatioBX96",
|
|
"nameLocation": "6123:13:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45793,
|
|
"src": "6115:21:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
},
|
|
"typeName": {
|
|
"id": 45727,
|
|
"name": "uint160",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6115:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint160",
|
|
"typeString": "uint160"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45730,
|
|
"mutability": "mutable",
|
|
"name": "liquidity",
|
|
"nameLocation": "6154:9:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45793,
|
|
"src": "6146:17:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
},
|
|
"typeName": {
|
|
"id": 45729,
|
|
"name": "uint128",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6146:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6044:125:45"
|
|
},
|
|
"returnParameters": {
|
|
"id": 45736,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 45733,
|
|
"mutability": "mutable",
|
|
"name": "amount0",
|
|
"nameLocation": "6201:7:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45793,
|
|
"src": "6193:15:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 45732,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6193:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 45735,
|
|
"mutability": "mutable",
|
|
"name": "amount1",
|
|
"nameLocation": "6218:7:45",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 45793,
|
|
"src": "6210:15:45",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 45734,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6210:7:45",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6192:34:45"
|
|
},
|
|
"scope": 45794,
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"abstract": false,
|
|
"baseContracts": [],
|
|
"canonicalName": "LiquidityAmounts",
|
|
"contractDependencies": [],
|
|
"contractKind": "library",
|
|
"documentation": {
|
|
"id": 45459,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "196:131:45",
|
|
"text": "@title Liquidity amount functions\n @notice Provides functions for computing liquidity amounts from token amounts and prices"
|
|
},
|
|
"fullyImplemented": true,
|
|
"linearizedBaseContracts": [
|
|
45794
|
|
],
|
|
"name": "LiquidityAmounts",
|
|
"nameLocation": "335:16:45",
|
|
"scope": 45795,
|
|
"usedErrors": [],
|
|
"usedEvents": []
|
|
}
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"id": 45
|
|
} |