moonwalkerswap-v1-core
Version:
Moonwalkerswap v1 core
855 lines (854 loc) • 102 kB
JSON
{
"contractName": "MoonwalkerPoolDeployer",
"abi": [
{
"inputs": [],
"name": "parameters",
"outputs": [
{
"internalType": "address",
"name": "factory",
"type": "address"
},
{
"internalType": "address",
"name": "token0",
"type": "address"
},
{
"internalType": "address",
"name": "token1",
"type": "address"
},
{
"internalType": "uint24",
"name": "fee",
"type": "uint24"
},
{
"internalType": "int24",
"name": "tickSpacing",
"type": "int24"
}
],
"stateMutability": "view",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"parameters\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"parameters\":{\"details\":\"Called by the pool constructor to fetch the parameters of the pool Returns factory The factory address Returns token0 The first token of the pool by address sort order Returns token1 The second token of the pool by address sort order Returns fee The fee collected upon every swap in the pool, denominated in hundredths of a bip Returns tickSpacing The minimum number of ticks between initialized ticks\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parameters()\":{\"notice\":\"Get the parameters to be used in constructing the pool, set transiently during pool creation.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/MoonwalkerPoolDeployer.sol\":\"MoonwalkerPoolDeployer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/MoonwalkerPool.sol\":{\"keccak256\":\"0xd435702358453955f8e247b5f61148b90024ed41a5057fb5ad29e858a229a227\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://599e092d75252a9362c90f74d638338d6e2fc44d1ad6767276b05624a613156f\",\"dweb:/ipfs/QmTvBiPmgK5HSRyTeCDuWm6KZoa3PVZQEeLzZ3PmV6tCWZ\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/MoonwalkerPoolDeployer.sol\":{\"keccak256\":\"0x0143450066c07926aa1c3f24764870c0761659e77252491fd15984466a0c9c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c9fd217557523c19709ca7c018d9b64a0c54ac1587498191ec5835171619c0d\",\"dweb:/ipfs/Qmap8ohaXp99w5hQuv2NagASzkD9nTpn4kLSF1uaRZjPpY\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/NoDelegateCall.sol\":{\"keccak256\":\"0x386511254c4d6d2633d7ffa3041630379d50e4a1ec492f9ca1b757947290b0e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd48f9bacc3be4e22d68a8b9ff22c009579ac2469c6a7a936f7f9771dcd581f5\",\"dweb:/ipfs/QmTMkABgncwV73CfemiKv9vbmdDJSL75soQr2KjBEwsJkY\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/interfaces/IERC20Minimal.sol\":{\"keccak256\":\"0x7ab95ce2d6a483f0255ecee7068989051c3ed85fce0c44fab13889e7a71334e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a62f6b6dc9ba1843687ad346a10cafc8d86b95d1f498032054f11baef3d6c22e\",\"dweb:/ipfs/QmdiDLfAZLr1pkE8ZVCnSgBocAEejPwstaJJvPN4LZYEcf\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/interfaces/IMoonwalkerFactory.sol\":{\"keccak256\":\"0xef710eff542f772b16ac4729719c373436c2eb10206764bfb6a41dd33096f7df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2310bf2f9bfe77324a70ef2faf57f4c0bbf011f15d011b87360d5e035cc41a\",\"dweb:/ipfs/QmdK8PHBsB73CZMFZC2pWKeHire9XZhc638S2xVH9WFx4S\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/interfaces/IMoonwalkerPool.sol\":{\"keccak256\":\"0xf75566267b21d70d099bcc5e810068457859fd9622df735d710a231685926249\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://562145c7d01947f5e859447b991bc0b5a76dea15361962aae150ebd303df7252\",\"dweb:/ipfs/QmYvZTnCekrYL1oBWwoyc2u9jBPRcmcK1iqaANgzgxyZwf\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/interfaces/IMoonwalkerPoolDeployer.sol\":{\"keccak256\":\"0xdffb36773f8231a4b5816a13f14983b8f7bc2cac803d682bf5b2e9b73cf3a756\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://225881d83166c91b3bb64ea6ee88f0ef74cdeaddf6c28b3552022b43b69bc33b\",\"dweb:/ipfs/QmbNq5c7Apvpk58objNvBLKHiML7S8nLyNaB2uUK3nNLL4\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/interfaces/callback/IMoonwalkerFlashCallback.sol\":{\"keccak256\":\"0x456376424212df363adc087b56dedac6c014f739adb86640478d1a93ca59f3db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0abf23d373a3983679e9d8c396a59a9c0837ec26c4e94efbfaec9cae4a581a73\",\"dweb:/ipfs/QmZMpv8X5daH19PrTwYQqcpTr51u5zDE2rBqLLFeCuAoz9\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/interfaces/callback/IMoonwalkerMintCallback.sol\":{\"keccak256\":\"0xfd57ef3ddedb21e814dc6a2e7415c672e4ecd90428f0e33bc70b58e83d07b996\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://14579a25f1f2f26521ce7a79dd936e7afe766a8e617a953917986cc079d7d959\",\"dweb:/ipfs/Qmc4Qv1Sqqq6WuEV8b4iWy95GhtE8B3KwtvKTPFsPfhGpQ\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/interfaces/callback/IMoonwalkerSwapCallback.sol\":{\"keccak256\":\"0x0709f6eafdc1a998d714c4719e292df3747b0f298a95b994b82e7e0dfc8b70b7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2c404b5a8aaf8aabeb87c1228d827e6e31a007cedbf0fe1527bf56f43a43f78\",\"dweb:/ipfs/QmT7fBphTzRgaP4bfL7qtK1kzEbNM5zPhXQaWat7KcHwJN\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/interfaces/pool/IMoonwalkerPoolActions.sol\":{\"keccak256\":\"0xbe6848ebe6bc45a3b3dc9e4e471710f990bdf5984ad27aa735ba111ec5251000\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b85fc420f2279fabcc084d0cede0f16a27f5d79719d7aaf1d16c17f106b09ce9\",\"dweb:/ipfs/QmXRbXbZXmfiygmUenvn5osXNqSCogqWq1T16M2GGWfGsU\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/interfaces/pool/IMoonwalkerPoolDerivedState.sol\":{\"keccak256\":\"0xdc30625cd50851cca3ce8898c1368c47d12749078132e28802c28213723767fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bcf5c236dc728b42471b31cede6a34e49f3a2e5af813a62325d586dc3ed4da83\",\"dweb:/ipfs/Qmd2yDp6v1c7jgzYq7VSjrrDjUNfXs4ms4cKCiCyEQqpyS\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/interfaces/pool/IMoonwalkerPoolEvents.sol\":{\"keccak256\":\"0x427dac308f06d66b382235330a372910f9a78dc4f2f61ea3bba4020aeb13aa60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4141da347669273cd5fd7c7908e077ff87f4ef91aa3000536a5e999a9b8bf89d\",\"dweb:/ipfs/QmQ2ViDCBykc3WG5so61vcKdWk2v1wPHUEAPfVc8HziYTL\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/interfaces/pool/IMoonwalkerPoolImmutables.sol\":{\"keccak256\":\"0xd0f2dfc66cc3400c6433e0adf4cd40117798f5cdb6963f79a8ff593375773ce2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b03f976151a3a375eadf6f60dd03187bf73f5cd3786ba6b74bcb3e08d6e5c823\",\"dweb:/ipfs/QmYwbt38mnGnB9ovtd9J3Ea8He8BZhrh4ybJ6cCQehZGJj\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/interfaces/pool/IMoonwalkerPoolOwnerActions.sol\":{\"keccak256\":\"0x4e0aff2d20141240010056058a6e85faff9357390e1459a717b6bad0a5889ebb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://744646728b66bad9ac7fc5b4074e444ce02503738ae0bd465061d902e4b7e278\",\"dweb:/ipfs/Qmanknkx1G9c7by4b95AQC53FkbMiNBeHnLzES9o5nidN5\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/interfaces/pool/IMoonwalkerPoolState.sol\":{\"keccak256\":\"0xe1d5e6e9fa35b108ad1b5a972a3e594be19265b14a9b77c61e92df577ae5cc76\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07653aacb6a2fd1b4c1a583a19786840a4cb1e089de9cda1071e8c3ae816a5fb\",\"dweb:/ipfs/QmafQirBZzrGrykyHz6R9q9qaiH6nHkmteC8NTFLrs8nDx\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/BitMath.sol\":{\"keccak256\":\"0xfdb9011d56f4fc6dbf7dfa9bd191d13c405dc1ef5f295e222d402fedd7b78b4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://635d12ff3353f4996357c4c8798051c49755de9a9431c8068fdd45364c8359f4\",\"dweb:/ipfs/QmfTTffPWDnN1aBeNXgcdozJeBxa9Q6CWJJ2bZh7ZoymKz\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/FixedPoint128.sol\":{\"keccak256\":\"0x2d1f4f73ae0d8f0a210b8d30084659b57c56ac8f2f96011fca36f00a6d417178\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://2ba88933f16cd2df398e19c6ad227268f83c03081b70d243c97116d2ed9bc241\",\"dweb:/ipfs/QmTUGxdh8snzEM9VrTSS47StCg9VVWvvLJtJeNnMTFY4xb\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/FixedPoint96.sol\":{\"keccak256\":\"0xb466ea5c68592e0aab06e0ffa0937b047a2ec0916c2a181dee91f439e06c36d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90e2d3770039b4430765a328d1abc6d035ad5a6e71906ab8f120220f3a9a9899\",\"dweb:/ipfs/QmTJFjBkBJGL98BjRnyH48yDZC94LU42SuuEPkd5qhgTnW\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e\",\"dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/LiquidityMath.sol\":{\"keccak256\":\"0x2fcb84bece328675849d09dee9439901fd14c852efa2cb84a7dd1ada04a90a1e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce303eb639ca62f247a8a49a65f15b25b931fbd64b176c2180a6ea790f99bb11\",\"dweb:/ipfs/QmXehfxvPATibRJ2JWWBnLbDyA7hMk5jWCxidpJfDKGQVD\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/LowGasSafeMath.sol\":{\"keccak256\":\"0xf2583083971cf8a4274e14515aabbf9f4855193e34fe2addb0ca7b1589519b0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf0ada2bba8827d459101a2359e4682be749b9ddd0a3c44f26119c9a0898e82\",\"dweb:/ipfs/QmPmKotXLza9j7sjNaXSYY9XbyZhkkQ3nMeWE9tiHKeouC\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/Oracle.sol\":{\"keccak256\":\"0x727f859fedfcb0402e648407042c022e3fa6568cb137ead98606166f10311772\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d5500452fc47f728c5aff23fdecd19ce1083dc7562d7cc241a7e3b6740ded8c2\",\"dweb:/ipfs/QmXPCRHEn68oEM8uMMiWYScGtaUwfkN2DuajiAyzTgHnaF\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/Position.sol\":{\"keccak256\":\"0x7fb1a35fcc8b2104f1899d98cd1ce49b5e3af1bdad9da28a5bcda1d4081465e9\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://28f43918f6528913abe8586ea4607281b97cdce35f869ae86369487c6ee6eb6c\",\"dweb:/ipfs/QmTgTRMZ5FQT2MCkgUmuhGbt39uyoiVwgXWNJbzoZqiC4f\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/SafeCast.sol\":{\"keccak256\":\"0x4a12ab60fdb663b341bb3a2f5c6631ba40b7b6fa9d131c9540b60dbb4196a27e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d55e89b639f5ea027798cf3f246f38209308e812b8e568d19aa487bcdc8008a0\",\"dweb:/ipfs/QmfRWZGxKK21EgQea2PLxgJ6aypEbQjQSotHiruXGmKVm6\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/SqrtPriceMath.sol\":{\"keccak256\":\"0x4f69701d331d364b69a1cda77cd7b983a0079d36ae0e06b0bb1d64ae56c3705e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://f9ed4f172da650484c97d31cce084e905e69c3f3b072141cb15363f4ed0cd03c\",\"dweb:/ipfs/QmPNDM667PxzbbR8YDbtibFaPMGrcbK71GKpFPkGgDEYvb\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/SwapMath.sol\":{\"keccak256\":\"0xcd310be830646d0d55bef86683847577f742704d227471ad7b4cab3df9c47cf7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://e6029f7cbb62563f488ee9c4510fee69b5408b64119065d912c1bd682baeef84\",\"dweb:/ipfs/Qmed5zZvcEbqmDmkyGV2huNzrK3mk8KrF9UQohKWLTcc3n\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/Tick.sol\":{\"keccak256\":\"0xdabed554c4b1fea880edd6cf571840824de530ce51d6c9703cad19221590af5a\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://160fc25b4e616c2b51f50a49289c43f269f049d7834c48eafe3356048d9f7824\",\"dweb:/ipfs/QmNbtt4nCxonZ7qfzTuoain4Wo3KiSBmuczP6PexcFnKj6\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/TickBitmap.sol\":{\"keccak256\":\"0x2035bacd76333baa4ef2bbd6423561638e1b7e97cb19be5b4d61feeea3340364\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://55da2e8d44c094b9aa1a40577f9ff32605516ae45ad54e799ec9d570d007a206\",\"dweb:/ipfs/QmakgjThKgfBTaj6Vvf54oKkxeHqgxKFmyiVbcjstsGDBF\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a\",\"dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/TransferHelper.sol\":{\"keccak256\":\"0x3f66e0d24a6bfb74a62a667c7229c65add3075375ef77d8eb2f929994bd4ab3e\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e1f9dcb71c151c5cd17f7733139100a4a5befb4f1f05e9085e905d0a32276c17\",\"dweb:/ipfs/QmNZBS1kh2y92bKufQbxxfpVRC1aAJDJD5B8qjmFyhuwMq\"]},\"/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/libraries/UnsafeMath.sol\":{\"keccak256\":\"0x5f36d7d16348d8c37fe64fda932018d6e5e8acecd054f0f97d32db62d20c6c88\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://4bd4e817ea3d2c26bb2be7e58db3eaa403119562c18d4c09cc92fb31aa231496\",\"dweb:/ipfs/QmbpjgL8Hf1mhmUyf9hpuPk4noGAggCdTqaRBFKqNF3AQw\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b5060e18061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80638903573014602d575b600080fd5b60336075565b604080516001600160a01b0396871681529486166020860152929094168383015262ffffff16606083015260029290920b608082015290519081900360a00190f35b600054600154600280546001600160a01b03938416939283169281169162ffffff600160a01b83041691600160b81b9004900b8556fea264697066735822122001d59992fb5df1bef448e340f0f95ad329e3d558268f740f7f9bd0911981ec8764736f6c63430007060033",
"deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80638903573014602d575b600080fd5b60336075565b604080516001600160a01b0396871681529486166020860152929094168383015262ffffff16606083015260029290920b608082015290519081900360a00190f35b600054600154600280546001600160a01b03938416939283169281169162ffffff600160a01b83041691600160b81b9004900b8556fea264697066735822122001d59992fb5df1bef448e340f0f95ad329e3d558268f740f7f9bd0911981ec8764736f6c63430007060033",
"immutableReferences": {},
"generatedSources": [],
"deployedGeneratedSources": [],
"sourceMap": "141:1268:2:-:0;;;;;;;;;;;;;;;;;;;",
"deployedSourceMap": "141:1268:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;401:37;;;:::i;:::-;;;;-1:-1:-1;;;;;401:37:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;401:37:2;;;;;;;;;;;;-1:-1:-1;;;401:37:2;;;;-1:-1:-1;;;401:37:2;;;;;:::o",
"source": "// SPDX-License-Identifier: MIT\npragma solidity =0.7.6;\n\nimport './interfaces/IMoonwalkerPoolDeployer.sol';\n\nimport './MoonwalkerPool.sol';\n\ncontract MoonwalkerPoolDeployer is IMoonwalkerPoolDeployer {\n struct Parameters {\n address factory;\n address token0;\n address token1;\n uint24 fee;\n int24 tickSpacing;\n }\n\n /// @inheritdoc IMoonwalkerPoolDeployer\n Parameters public override parameters;\n\n /// @dev Deploys a pool with the given parameters by transiently setting the parameters storage slot and then\n /// clearing it after deploying the pool.\n /// @param factory The contract address of the Moonwalker factory\n /// @param token0 The first token of the pool by address sort order\n /// @param token1 The second token of the pool by address sort order\n /// @param fee The fee collected upon every swap in the pool, denominated in hundredths of a bip\n /// @param tickSpacing The spacing between usable ticks\n function deploy(\n address factory,\n address token0,\n address token1,\n uint24 fee,\n int24 tickSpacing\n ) internal returns (address pool) {\n parameters = Parameters({factory: factory, token0: token0, token1: token1, fee: fee, tickSpacing: tickSpacing});\n pool = address(new MoonwalkerPool{salt: keccak256(abi.encode(token0, token1, fee))}());\n delete parameters;\n }\n}\n",
"sourcePath": "/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/MoonwalkerPoolDeployer.sol",
"ast": {
"absolutePath": "/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/MoonwalkerPoolDeployer.sol",
"exportedSymbols": {
"BitMath": [
3800
],
"FixedPoint128": [
3807
],
"FixedPoint96": [
3817
],
"FullMath": [
3990
],
"IERC20Minimal": [
2936
],
"IMoonwalkerFactory": [
3019
],
"IMoonwalkerFlashCallback": [
3073
],
"IMoonwalkerMintCallback": [
3087
],
"IMoonwalkerPool": [
3041
],
"IMoonwalkerPoolActions": [
3197
],
"IMoonwalkerPoolDeployer": [
3059
],
"IMoonwalkerPoolDerivedState": [
3228
],
"IMoonwalkerPoolEvents": [
3347
],
"IMoonwalkerPoolImmutables": [
3387
],
"IMoonwalkerPoolOwnerActions": [
3413
],
"IMoonwalkerPoolState": [
3521
],
"IMoonwalkerSwapCallback": [
3101
],
"LiquidityMath": [
4042
],
"LowGasSafeMath": [
4172
],
"MoonwalkerPool": [
2754
],
"MoonwalkerPoolDeployer": [
2824
],
"NoDelegateCall": [
2864
],
"Oracle": [
4907
],
"Position": [
5080
],
"SafeCast": [
5150
],
"SqrtPriceMath": [
5666
],
"SwapMath": [
5927
],
"Tick": [
6379
],
"TickBitmap": [
6635
],
"TickMath": [
7170
],
"TransferHelper": [
7221
],
"UnsafeMath": [
7237
]
},
"id": 2825,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2756,
"literals": [
"solidity",
"=",
"0.7",
".6"
],
"nodeType": "PragmaDirective",
"src": "32:23:2"
},
{
"absolutePath": "/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/interfaces/IMoonwalkerPoolDeployer.sol",
"file": "./interfaces/IMoonwalkerPoolDeployer.sol",
"id": 2757,
"nodeType": "ImportDirective",
"scope": 2825,
"sourceUnit": 3060,
"src": "57:50:2",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/warrenmason/Documents/UniswapV3Contracts/Core/LiveContracts/MoonwalkerSwap-v1-Core/contracts/MoonwalkerPool.sol",
"file": "./MoonwalkerPool.sol",
"id": 2758,
"nodeType": "ImportDirective",
"scope": 2825,
"sourceUnit": 2755,
"src": "109:30:2",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 2759,
"name": "IMoonwalkerPoolDeployer",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 3059,
"src": "176:23:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IMoonwalkerPoolDeployer_$3059",
"typeString": "contract IMoonwalkerPoolDeployer"
}
},
"id": 2760,
"nodeType": "InheritanceSpecifier",
"src": "176:23:2"
}
],
"contractDependencies": [
2754,
3059
],
"contractKind": "contract",
"fullyImplemented": true,
"id": 2824,
"linearizedBaseContracts": [
2824,
3059
],
"name": "MoonwalkerPoolDeployer",
"nodeType": "ContractDefinition",
"nodes": [
{
"canonicalName": "MoonwalkerPoolDeployer.Parameters",
"id": 2771,
"members": [
{
"constant": false,
"id": 2762,
"mutability": "mutable",
"name": "factory",
"nodeType": "VariableDeclaration",
"scope": 2771,
"src": "234:15:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2761,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "234:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2764,
"mutability": "mutable",
"name": "token0",
"nodeType": "VariableDeclaration",
"scope": 2771,
"src": "259:14:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2763,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "259:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2766,
"mutability": "mutable",
"name": "token1",
"nodeType": "VariableDeclaration",
"scope": 2771,
"src": "283:14:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2765,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "283:7:2",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2768,
"mutability": "mutable",
"name": "fee",
"nodeType": "VariableDeclaration",
"scope": 2771,
"src": "307:10:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint24",
"typeString": "uint24"
},
"typeName": {
"id": 2767,
"name": "uint24",
"nodeType": "ElementaryTypeName",
"src": "307:6:2",
"typeDescriptions": {
"typeIdentifier": "t_uint24",
"typeString": "uint24"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2770,
"mutability": "mutable",
"name": "tickSpacing",
"nodeType": "VariableDeclaration",
"scope": 2771,
"src": "327:17:2",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int24",
"typeString": "int24"
},
"typeName": {
"id": 2769,
"name": "int24",
"nodeType": "ElementaryTypeName",
"src": "327:5:2",
"typeDescriptions": {
"typeIdentifier": "t_int24",
"typeString": "int24"
}
},
"visibility": "internal"
}
],
"name": "Parameters",
"nodeType": "StructDefinition",
"scope": 2824,
"src": "206:145:2",
"visibility": "public"
},
{
"baseFunctions": [
3058
],
"constant": false,
"documentation": {
"id": 2772,
"nodeType": "StructuredDocumentation",
"src": "357:39:2",
"text": "@inheritdoc IMoonwalkerPoolDeployer"
},
"functionSelector": "89035730",
"id": 2775,
"mutability": "mutable",
"name": "parameters",
"nodeType": "VariableDeclaration",
"overrides": {
"id": 2774,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "419:8:2"
},
"scope": 2824,
"src": "401:37:2",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Parameters_$2771_storage",
"typeString": "struct MoonwalkerPoolDeployer.Parameters"
},
"typeName": {
"id": 2773,
"name": "Parameters",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2771,
"src": "401:10:2",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Parameters_$2771_storage_ptr",
"typeString": "struct MoonwalkerPoolDeployer.Parameters"
}
},
"visibility": "public"
},
{
"body": {
"id": 2822,
"nodeType": "Block",
"src": "1156:251:2",
"statements": [
{
"expression": {
"id": 2799,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 2791,
"name": "parameters",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2775,
"src": "1166:10:2",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Parameters_$2771_storage",
"typeString": "struct MoonwalkerPoolDeployer.Parameters storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"arguments": [
{
"id": 2793,
"name": "factory",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2778,
"src": "1200:7:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 2794,
"name": "token0",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2780,
"src": "1217:6:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 2795,
"name": "token1",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2782,
"src": "1233:6:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 2796,
"name": "fee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2784,
"src": "1246:3:2",
"typeDescriptions": {
"typeIdentifier": "t_uint24",
"typeString": "uint24"
}
},
{
"id": 2797,
"name": "tickSpacing",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2786,
"src": "1264:11:2",
"typeDescriptions": {
"typeIdentifier": "t_int24",
"typeString": "int24"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint24",
"typeString": "uint24"
},
{
"typeIdentifier": "t_int24",
"typeString": "int24"
}
],
"id": 2792,
"name": "Parameters",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2771,
"src": "1179:10:2",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_Parameters_$2771_storage_ptr_$",
"typeString": "type(struct MoonwalkerPoolDeployer.Parameters storage pointer)"
}
},
"id": 2798,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [
"factory",
"token0",
"token1",
"fee",
"tickSpacing"
],
"nodeType": "FunctionCall",
"src": "1179:98:2",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_Parameters_$2771_memory_ptr",
"typeString": "struct MoonwalkerPoolDeployer.Parameters memory"
}
},
"src": "1166:111:2",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Parameters_$2771_storage",
"typeString": "struct MoonwalkerPoolDeployer.Parameters storage ref"
}
},
"id": 2800,
"nodeType": "ExpressionStatement",
"src": "1166:111:2"
},
{
"expression": {
"id": 2817,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 2801,
"name": "pool",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2789,
"src": "1287:4:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"arguments": [
{
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": [],
"id": 2805,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "NewExpression",
"src": "1302:18:2",
"typeDescriptions": {
"typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_MoonwalkerPool_$2754_$",
"typeString": "function () returns (contract MoonwalkerPool)"
},
"typeName": {
"id": 2804,
"name": "MoonwalkerPool",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2754,
"src": "1306:14:2",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MoonwalkerPool_$2754",
"typeString": "contract MoonwalkerPool"
}
}
},
"id": 2814,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"names": [
"salt"
],
"nodeType": "FunctionCallOptions",
"options": [
{
"arguments": [
{
"arguments": [
{
"id": 2809,
"name": "token0",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2780,
"src": "1348:6:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 2810,
"name": "token1",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2782,
"src": "1356:6:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 2811,
"name": "fee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2784,
"src": "1364:3:2",
"typeDescriptions": {
"typeIdentifier": "t_uint24",
"typeString": "uint24"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint24",
"typeString": "uint24"
}
],
"expression": {
"id": 2807,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967295,
"src": "1337:3:2",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 2808,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "encode",
"nodeType": "MemberAccess",
"src": "1337:10:2",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 2812,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1337:31:2",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 2806,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967288,
"src": "1327:9:2",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 2813,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1327:42:2",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"src": "1302:68:2",
"typeDescriptions": {
"typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_MoonwalkerPool_$2754_$salt",
"typeString": "function () returns (contract MoonwalkerPool)"
}
},
"id": 2815,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1302:70:2",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_MoonwalkerPool_$2754",
"typeString": "contract MoonwalkerPool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_MoonwalkerPool_$2754",
"typeString": "contract MoonwalkerPool"
}
],
"id": 2803,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1294:7:2",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 2802,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1294:7:2",
"typeDescriptions": {}
}
},
"id": 2816,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1294:79:2",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1287:86:2",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 2818,
"nodeType": "ExpressionStatement",
"src": "1287:86:2"
},
{
"expression": {
"id": 2820,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "delete",
"prefix": true,
"src": "1383:17:2",
"subExpression": {
"id": 2819,
"name": "parameters",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2775,
"src": "1390:10:2",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Parameters_$2771_storage",
"typeString": "struct MoonwalkerPoolDeployer.Parameters storage ref"
}
},
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},