1533 lines
59 KiB
JSON
1533 lines
59 KiB
JSON
{
|
|
"abi": [
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint24",
|
|
"name": "fee",
|
|
"type": "uint24"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "int24",
|
|
"name": "tickSpacing",
|
|
"type": "int24"
|
|
}
|
|
],
|
|
"name": "FeeAmountEnabled",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "oldOwner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "newOwner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "OwnerChanged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "token0",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "token1",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint24",
|
|
"name": "fee",
|
|
"type": "uint24"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "int24",
|
|
"name": "tickSpacing",
|
|
"type": "int24"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "PoolCreated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenA",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenB",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint24",
|
|
"name": "fee",
|
|
"type": "uint24"
|
|
}
|
|
],
|
|
"name": "createPool",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint24",
|
|
"name": "fee",
|
|
"type": "uint24"
|
|
},
|
|
{
|
|
"internalType": "int24",
|
|
"name": "tickSpacing",
|
|
"type": "int24"
|
|
}
|
|
],
|
|
"name": "enableFeeAmount",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint24",
|
|
"name": "fee",
|
|
"type": "uint24"
|
|
}
|
|
],
|
|
"name": "feeAmountTickSpacing",
|
|
"outputs": [
|
|
{
|
|
"internalType": "int24",
|
|
"name": "",
|
|
"type": "int24"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenA",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenB",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint24",
|
|
"name": "fee",
|
|
"type": "uint24"
|
|
}
|
|
],
|
|
"name": "getPool",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "owner",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_owner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setOwner",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": {
|
|
"object": "0x",
|
|
"sourceMap": "",
|
|
"linkReferences": {}
|
|
},
|
|
"deployedBytecode": {
|
|
"object": "0x",
|
|
"sourceMap": "",
|
|
"linkReferences": {}
|
|
},
|
|
"methodIdentifiers": {
|
|
"createPool(address,address,uint24)": "a1671295",
|
|
"enableFeeAmount(uint24,int24)": "8a7c195f",
|
|
"feeAmountTickSpacing(uint24)": "22afcccb",
|
|
"getPool(address,address,uint24)": "1698ee82",
|
|
"owner()": "8da5cb5b",
|
|
"setOwner(address)": "13af4035"
|
|
},
|
|
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"name\":\"FeeAmountEnabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"name\":\"enableFeeAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"name\":\"feeAmountTickSpacing\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"name\":\"getPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"FeeAmountEnabled(uint24,int24)\":{\"params\":{\"fee\":\"The enabled fee, denominated in hundredths of a bip\",\"tickSpacing\":\"The minimum number of ticks between initialized ticks for pools created with the given fee\"}},\"OwnerChanged(address,address)\":{\"params\":{\"newOwner\":\"The owner after the owner was changed\",\"oldOwner\":\"The owner before the owner was changed\"}},\"PoolCreated(address,address,uint24,int24,address)\":{\"params\":{\"fee\":\"The fee collected upon every swap in the pool, denominated in hundredths of a bip\",\"pool\":\"The address of the created pool\",\"tickSpacing\":\"The minimum number of ticks between initialized ticks\",\"token0\":\"The first token of the pool by address sort order\",\"token1\":\"The second token of the pool by address sort order\"}}},\"kind\":\"dev\",\"methods\":{\"createPool(address,address,uint24)\":{\"details\":\"tokenA and tokenB may be passed in either order: token0/token1 or token1/token0. tickSpacing is retrieved from the fee. The call will revert if the pool already exists, the fee is invalid, or the token arguments are invalid.\",\"params\":{\"fee\":\"The desired fee for the pool\",\"tokenA\":\"One of the two tokens in the desired pool\",\"tokenB\":\"The other of the two tokens in the desired pool\"},\"returns\":{\"pool\":\"The address of the newly created pool\"}},\"enableFeeAmount(uint24,int24)\":{\"details\":\"Fee amounts may never be removed once enabled\",\"params\":{\"fee\":\"The fee amount to enable, denominated in hundredths of a bip (i.e. 1e-6)\",\"tickSpacing\":\"The spacing between ticks to be enforced for all pools created with the given fee amount\"}},\"feeAmountTickSpacing(uint24)\":{\"details\":\"A fee amount can never be removed, so this value should be hard coded or cached in the calling context\",\"params\":{\"fee\":\"The enabled fee, denominated in hundredths of a bip. Returns 0 in case of unenabled fee\"},\"returns\":{\"_0\":\"The tick spacing\"}},\"getPool(address,address,uint24)\":{\"details\":\"tokenA and tokenB may be passed in either token0/token1 or token1/token0 order\",\"params\":{\"fee\":\"The fee collected upon every swap in the pool, denominated in hundredths of a bip\",\"tokenA\":\"The contract address of either token0 or token1\",\"tokenB\":\"The contract address of the other token\"},\"returns\":{\"pool\":\"The pool address\"}},\"owner()\":{\"details\":\"Can be changed by the current owner via setOwner\",\"returns\":{\"_0\":\"The address of the factory owner\"}},\"setOwner(address)\":{\"details\":\"Must be called by the current owner\",\"params\":{\"_owner\":\"The new owner of the factory\"}}},\"title\":\"The interface for the Uniswap V3 Factory\",\"version\":1},\"userdoc\":{\"events\":{\"FeeAmountEnabled(uint24,int24)\":{\"notice\":\"Emitted when a new fee amount is enabled for pool creation via the factory\"},\"OwnerChanged(address,address)\":{\"notice\":\"Emitted when the owner of the factory is changed\"},\"PoolCreated(address,address,uint24,int24,address)\":{\"notice\":\"Emitted when a pool is created\"}},\"kind\":\"user\",\"methods\":{\"createPool(address,address,uint24)\":{\"notice\":\"Creates a pool for the given two tokens and fee\"},\"enableFeeAmount(uint24,int24)\":{\"notice\":\"Enables a fee amount with the given tickSpacing\"},\"feeAmountTickSpacing(uint24)\":{\"notice\":\"Returns the tick spacing for a given fee amount, if enabled, or 0 if not enabled\"},\"getPool(address,address,uint24)\":{\"notice\":\"Returns the pool address for a given pair of tokens and a fee, or address 0 if it does not exist\"},\"owner()\":{\"notice\":\"Returns the current owner of the factory\"},\"setOwner(address)\":{\"notice\":\"Updates the owner of the factory\"}},\"notice\":\"The Uniswap V3 Factory facilitates creation of Uniswap V3 pools and control over the protocol fees\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.sol\":\"IUniswapV3Factory\"},\"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/interfaces/IUniswapV3Factory.sol\":{\"keccak256\":\"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2\",\"dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B\"]}},\"version\":1}",
|
|
"metadata": {
|
|
"compiler": {
|
|
"version": "0.8.22+commit.4fc1097e"
|
|
},
|
|
"language": "Solidity",
|
|
"output": {
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint24",
|
|
"name": "fee",
|
|
"type": "uint24",
|
|
"indexed": true
|
|
},
|
|
{
|
|
"internalType": "int24",
|
|
"name": "tickSpacing",
|
|
"type": "int24",
|
|
"indexed": true
|
|
}
|
|
],
|
|
"type": "event",
|
|
"name": "FeeAmountEnabled",
|
|
"anonymous": false
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "oldOwner",
|
|
"type": "address",
|
|
"indexed": true
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "newOwner",
|
|
"type": "address",
|
|
"indexed": true
|
|
}
|
|
],
|
|
"type": "event",
|
|
"name": "OwnerChanged",
|
|
"anonymous": false
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token0",
|
|
"type": "address",
|
|
"indexed": true
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "token1",
|
|
"type": "address",
|
|
"indexed": true
|
|
},
|
|
{
|
|
"internalType": "uint24",
|
|
"name": "fee",
|
|
"type": "uint24",
|
|
"indexed": true
|
|
},
|
|
{
|
|
"internalType": "int24",
|
|
"name": "tickSpacing",
|
|
"type": "int24",
|
|
"indexed": false
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address",
|
|
"indexed": false
|
|
}
|
|
],
|
|
"type": "event",
|
|
"name": "PoolCreated",
|
|
"anonymous": false
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenA",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenB",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint24",
|
|
"name": "fee",
|
|
"type": "uint24"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function",
|
|
"name": "createPool",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint24",
|
|
"name": "fee",
|
|
"type": "uint24"
|
|
},
|
|
{
|
|
"internalType": "int24",
|
|
"name": "tickSpacing",
|
|
"type": "int24"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function",
|
|
"name": "enableFeeAmount"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint24",
|
|
"name": "fee",
|
|
"type": "uint24"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function",
|
|
"name": "feeAmountTickSpacing",
|
|
"outputs": [
|
|
{
|
|
"internalType": "int24",
|
|
"name": "",
|
|
"type": "int24"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenA",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenB",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint24",
|
|
"name": "fee",
|
|
"type": "uint24"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function",
|
|
"name": "getPool",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"stateMutability": "view",
|
|
"type": "function",
|
|
"name": "owner",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_owner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function",
|
|
"name": "setOwner"
|
|
}
|
|
],
|
|
"devdoc": {
|
|
"kind": "dev",
|
|
"methods": {
|
|
"createPool(address,address,uint24)": {
|
|
"details": "tokenA and tokenB may be passed in either order: token0/token1 or token1/token0. tickSpacing is retrieved from the fee. The call will revert if the pool already exists, the fee is invalid, or the token arguments are invalid.",
|
|
"params": {
|
|
"fee": "The desired fee for the pool",
|
|
"tokenA": "One of the two tokens in the desired pool",
|
|
"tokenB": "The other of the two tokens in the desired pool"
|
|
},
|
|
"returns": {
|
|
"pool": "The address of the newly created pool"
|
|
}
|
|
},
|
|
"enableFeeAmount(uint24,int24)": {
|
|
"details": "Fee amounts may never be removed once enabled",
|
|
"params": {
|
|
"fee": "The fee amount to enable, denominated in hundredths of a bip (i.e. 1e-6)",
|
|
"tickSpacing": "The spacing between ticks to be enforced for all pools created with the given fee amount"
|
|
}
|
|
},
|
|
"feeAmountTickSpacing(uint24)": {
|
|
"details": "A fee amount can never be removed, so this value should be hard coded or cached in the calling context",
|
|
"params": {
|
|
"fee": "The enabled fee, denominated in hundredths of a bip. Returns 0 in case of unenabled fee"
|
|
},
|
|
"returns": {
|
|
"_0": "The tick spacing"
|
|
}
|
|
},
|
|
"getPool(address,address,uint24)": {
|
|
"details": "tokenA and tokenB may be passed in either token0/token1 or token1/token0 order",
|
|
"params": {
|
|
"fee": "The fee collected upon every swap in the pool, denominated in hundredths of a bip",
|
|
"tokenA": "The contract address of either token0 or token1",
|
|
"tokenB": "The contract address of the other token"
|
|
},
|
|
"returns": {
|
|
"pool": "The pool address"
|
|
}
|
|
},
|
|
"owner()": {
|
|
"details": "Can be changed by the current owner via setOwner",
|
|
"returns": {
|
|
"_0": "The address of the factory owner"
|
|
}
|
|
},
|
|
"setOwner(address)": {
|
|
"details": "Must be called by the current owner",
|
|
"params": {
|
|
"_owner": "The new owner of the factory"
|
|
}
|
|
}
|
|
},
|
|
"version": 1
|
|
},
|
|
"userdoc": {
|
|
"kind": "user",
|
|
"methods": {
|
|
"createPool(address,address,uint24)": {
|
|
"notice": "Creates a pool for the given two tokens and fee"
|
|
},
|
|
"enableFeeAmount(uint24,int24)": {
|
|
"notice": "Enables a fee amount with the given tickSpacing"
|
|
},
|
|
"feeAmountTickSpacing(uint24)": {
|
|
"notice": "Returns the tick spacing for a given fee amount, if enabled, or 0 if not enabled"
|
|
},
|
|
"getPool(address,address,uint24)": {
|
|
"notice": "Returns the pool address for a given pair of tokens and a fee, or address 0 if it does not exist"
|
|
},
|
|
"owner()": {
|
|
"notice": "Returns the current owner of the factory"
|
|
},
|
|
"setOwner(address)": {
|
|
"notice": "Updates the owner of the factory"
|
|
}
|
|
},
|
|
"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-core/contracts/interfaces/IUniswapV3Factory.sol": "IUniswapV3Factory"
|
|
},
|
|
"libraries": {}
|
|
},
|
|
"sources": {
|
|
"lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.sol": {
|
|
"keccak256": "0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489",
|
|
"urls": [
|
|
"bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2",
|
|
"dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
}
|
|
},
|
|
"version": 1
|
|
},
|
|
"ast": {
|
|
"absolutePath": "lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.sol",
|
|
"id": 43873,
|
|
"exportedSymbols": {
|
|
"IUniswapV3Factory": [
|
|
43872
|
|
]
|
|
},
|
|
"nodeType": "SourceUnit",
|
|
"src": "45:3995:27",
|
|
"nodes": [
|
|
{
|
|
"id": 43791,
|
|
"nodeType": "PragmaDirective",
|
|
"src": "45:24:27",
|
|
"nodes": [],
|
|
"literals": [
|
|
"solidity",
|
|
">=",
|
|
"0.5",
|
|
".0"
|
|
]
|
|
},
|
|
{
|
|
"id": 43872,
|
|
"nodeType": "ContractDefinition",
|
|
"src": "234:3805:27",
|
|
"nodes": [
|
|
{
|
|
"id": 43799,
|
|
"nodeType": "EventDefinition",
|
|
"src": "458:71:27",
|
|
"nodes": [],
|
|
"anonymous": false,
|
|
"documentation": {
|
|
"id": 43793,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "268:185:27",
|
|
"text": "@notice Emitted when the owner of the factory is changed\n @param oldOwner The owner before the owner was changed\n @param newOwner The owner after the owner was changed"
|
|
},
|
|
"eventSelector": "b532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c",
|
|
"name": "OwnerChanged",
|
|
"nameLocation": "464:12:27",
|
|
"parameters": {
|
|
"id": 43798,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 43795,
|
|
"indexed": true,
|
|
"mutability": "mutable",
|
|
"name": "oldOwner",
|
|
"nameLocation": "493:8:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43799,
|
|
"src": "477:24:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 43794,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "477:7:27",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 43797,
|
|
"indexed": true,
|
|
"mutability": "mutable",
|
|
"name": "newOwner",
|
|
"nameLocation": "519:8:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43799,
|
|
"src": "503:24:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 43796,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "503:7:27",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "476:52:27"
|
|
}
|
|
},
|
|
{
|
|
"id": 43812,
|
|
"nodeType": "EventDefinition",
|
|
"src": "961:165:27",
|
|
"nodes": [],
|
|
"anonymous": false,
|
|
"documentation": {
|
|
"id": 43800,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "535:421:27",
|
|
"text": "@notice Emitted when a pool is created\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 minimum number of ticks between initialized ticks\n @param pool The address of the created pool"
|
|
},
|
|
"eventSelector": "783cca1c0412dd0d695e784568c96da2e9c22ff989357a2e8b1d9b2b4e6b7118",
|
|
"name": "PoolCreated",
|
|
"nameLocation": "967:11:27",
|
|
"parameters": {
|
|
"id": 43811,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 43802,
|
|
"indexed": true,
|
|
"mutability": "mutable",
|
|
"name": "token0",
|
|
"nameLocation": "1004:6:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43812,
|
|
"src": "988:22:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 43801,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "988:7:27",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 43804,
|
|
"indexed": true,
|
|
"mutability": "mutable",
|
|
"name": "token1",
|
|
"nameLocation": "1036:6:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43812,
|
|
"src": "1020:22:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 43803,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1020:7:27",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 43806,
|
|
"indexed": true,
|
|
"mutability": "mutable",
|
|
"name": "fee",
|
|
"nameLocation": "1067:3:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43812,
|
|
"src": "1052:18:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"typeName": {
|
|
"id": 43805,
|
|
"name": "uint24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1052:6:27",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 43808,
|
|
"indexed": false,
|
|
"mutability": "mutable",
|
|
"name": "tickSpacing",
|
|
"nameLocation": "1086:11:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43812,
|
|
"src": "1080:17:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int24",
|
|
"typeString": "int24"
|
|
},
|
|
"typeName": {
|
|
"id": 43807,
|
|
"name": "int24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1080:5:27",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int24",
|
|
"typeString": "int24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 43810,
|
|
"indexed": false,
|
|
"mutability": "mutable",
|
|
"name": "pool",
|
|
"nameLocation": "1115:4:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43812,
|
|
"src": "1107:12:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 43809,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1107:7:27",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "978:147:27"
|
|
}
|
|
},
|
|
{
|
|
"id": 43819,
|
|
"nodeType": "EventDefinition",
|
|
"src": "1412:70:27",
|
|
"nodes": [],
|
|
"anonymous": false,
|
|
"documentation": {
|
|
"id": 43813,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1132:275:27",
|
|
"text": "@notice Emitted when a new fee amount is enabled for pool creation via the factory\n @param fee The enabled fee, denominated in hundredths of a bip\n @param tickSpacing The minimum number of ticks between initialized ticks for pools created with the given fee"
|
|
},
|
|
"eventSelector": "c66a3fdf07232cdd185febcc6579d408c241b47ae2f9907d84be655141eeaecc",
|
|
"name": "FeeAmountEnabled",
|
|
"nameLocation": "1418:16:27",
|
|
"parameters": {
|
|
"id": 43818,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 43815,
|
|
"indexed": true,
|
|
"mutability": "mutable",
|
|
"name": "fee",
|
|
"nameLocation": "1450:3:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43819,
|
|
"src": "1435:18:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"typeName": {
|
|
"id": 43814,
|
|
"name": "uint24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1435:6:27",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 43817,
|
|
"indexed": true,
|
|
"mutability": "mutable",
|
|
"name": "tickSpacing",
|
|
"nameLocation": "1469:11:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43819,
|
|
"src": "1455:25:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int24",
|
|
"typeString": "int24"
|
|
},
|
|
"typeName": {
|
|
"id": 43816,
|
|
"name": "int24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1455:5:27",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int24",
|
|
"typeString": "int24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1434:47:27"
|
|
}
|
|
},
|
|
{
|
|
"id": 43825,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "1656:49:27",
|
|
"nodes": [],
|
|
"documentation": {
|
|
"id": 43820,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1488:163:27",
|
|
"text": "@notice Returns the current owner of the factory\n @dev Can be changed by the current owner via setOwner\n @return The address of the factory owner"
|
|
},
|
|
"functionSelector": "8da5cb5b",
|
|
"implemented": false,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "owner",
|
|
"nameLocation": "1665:5:27",
|
|
"parameters": {
|
|
"id": 43821,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1670:2:27"
|
|
},
|
|
"returnParameters": {
|
|
"id": 43824,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 43823,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43825,
|
|
"src": "1696:7:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 43822,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1696:7:27",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1695:9:27"
|
|
},
|
|
"scope": 43872,
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"id": 43833,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "2064:72:27",
|
|
"nodes": [],
|
|
"documentation": {
|
|
"id": 43826,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1711:348:27",
|
|
"text": "@notice Returns the tick spacing for a given fee amount, if enabled, or 0 if not enabled\n @dev A fee amount can never be removed, so this value should be hard coded or cached in the calling context\n @param fee The enabled fee, denominated in hundredths of a bip. Returns 0 in case of unenabled fee\n @return The tick spacing"
|
|
},
|
|
"functionSelector": "22afcccb",
|
|
"implemented": false,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "feeAmountTickSpacing",
|
|
"nameLocation": "2073:20:27",
|
|
"parameters": {
|
|
"id": 43829,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 43828,
|
|
"mutability": "mutable",
|
|
"name": "fee",
|
|
"nameLocation": "2101:3:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43833,
|
|
"src": "2094:10:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"typeName": {
|
|
"id": 43827,
|
|
"name": "uint24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2094:6:27",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2093:12:27"
|
|
},
|
|
"returnParameters": {
|
|
"id": 43832,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 43831,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43833,
|
|
"src": "2129:5:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int24",
|
|
"typeString": "int24"
|
|
},
|
|
"typeName": {
|
|
"id": 43830,
|
|
"name": "int24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2129:5:27",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int24",
|
|
"typeString": "int24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2128:7:27"
|
|
},
|
|
"scope": 43872,
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"id": 43845,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "2618:128:27",
|
|
"nodes": [],
|
|
"documentation": {
|
|
"id": 43834,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "2142:471:27",
|
|
"text": "@notice Returns the pool address for a given pair of tokens and a fee, or address 0 if it does not exist\n @dev tokenA and tokenB may be passed in either token0/token1 or token1/token0 order\n @param tokenA The contract address of either token0 or token1\n @param tokenB The contract address of the other token\n @param fee The fee collected upon every swap in the pool, denominated in hundredths of a bip\n @return pool The pool address"
|
|
},
|
|
"functionSelector": "1698ee82",
|
|
"implemented": false,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "getPool",
|
|
"nameLocation": "2627:7:27",
|
|
"parameters": {
|
|
"id": 43841,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 43836,
|
|
"mutability": "mutable",
|
|
"name": "tokenA",
|
|
"nameLocation": "2652:6:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43845,
|
|
"src": "2644:14:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 43835,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2644:7:27",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 43838,
|
|
"mutability": "mutable",
|
|
"name": "tokenB",
|
|
"nameLocation": "2676:6:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43845,
|
|
"src": "2668:14:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 43837,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2668:7:27",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 43840,
|
|
"mutability": "mutable",
|
|
"name": "fee",
|
|
"nameLocation": "2699:3:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43845,
|
|
"src": "2692:10:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"typeName": {
|
|
"id": 43839,
|
|
"name": "uint24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2692:6:27",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2634:74:27"
|
|
},
|
|
"returnParameters": {
|
|
"id": 43844,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 43843,
|
|
"mutability": "mutable",
|
|
"name": "pool",
|
|
"nameLocation": "2740:4:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43845,
|
|
"src": "2732:12:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 43842,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2732:7:27",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2731:14:27"
|
|
},
|
|
"scope": 43872,
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"id": 43857,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "3311:126:27",
|
|
"nodes": [],
|
|
"documentation": {
|
|
"id": 43846,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "2752:554:27",
|
|
"text": "@notice Creates a pool for the given two tokens and fee\n @param tokenA One of the two tokens in the desired pool\n @param tokenB The other of the two tokens in the desired pool\n @param fee The desired fee for the pool\n @dev tokenA and tokenB may be passed in either order: token0/token1 or token1/token0. tickSpacing is retrieved\n from the fee. The call will revert if the pool already exists, the fee is invalid, or the token arguments\n are invalid.\n @return pool The address of the newly created pool"
|
|
},
|
|
"functionSelector": "a1671295",
|
|
"implemented": false,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "createPool",
|
|
"nameLocation": "3320:10:27",
|
|
"parameters": {
|
|
"id": 43853,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 43848,
|
|
"mutability": "mutable",
|
|
"name": "tokenA",
|
|
"nameLocation": "3348:6:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43857,
|
|
"src": "3340:14:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 43847,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3340:7:27",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 43850,
|
|
"mutability": "mutable",
|
|
"name": "tokenB",
|
|
"nameLocation": "3372:6:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43857,
|
|
"src": "3364:14:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 43849,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3364:7:27",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 43852,
|
|
"mutability": "mutable",
|
|
"name": "fee",
|
|
"nameLocation": "3395:3:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43857,
|
|
"src": "3388:10:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"typeName": {
|
|
"id": 43851,
|
|
"name": "uint24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3388:6:27",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3330:74:27"
|
|
},
|
|
"returnParameters": {
|
|
"id": 43856,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 43855,
|
|
"mutability": "mutable",
|
|
"name": "pool",
|
|
"nameLocation": "3431:4:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43857,
|
|
"src": "3423:12:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 43854,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3423:7:27",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3422:14:27"
|
|
},
|
|
"scope": 43872,
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"id": 43863,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "3592:43:27",
|
|
"nodes": [],
|
|
"documentation": {
|
|
"id": 43858,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3443:144:27",
|
|
"text": "@notice Updates the owner of the factory\n @dev Must be called by the current owner\n @param _owner The new owner of the factory"
|
|
},
|
|
"functionSelector": "13af4035",
|
|
"implemented": false,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "setOwner",
|
|
"nameLocation": "3601:8:27",
|
|
"parameters": {
|
|
"id": 43861,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 43860,
|
|
"mutability": "mutable",
|
|
"name": "_owner",
|
|
"nameLocation": "3618:6:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43863,
|
|
"src": "3610:14:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 43859,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3610:7:27",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3609:16:27"
|
|
},
|
|
"returnParameters": {
|
|
"id": 43862,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3634:0:27"
|
|
},
|
|
"scope": 43872,
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"id": 43871,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "3972:65:27",
|
|
"nodes": [],
|
|
"documentation": {
|
|
"id": 43864,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3641:326:27",
|
|
"text": "@notice Enables a fee amount with the given tickSpacing\n @dev Fee amounts may never be removed once enabled\n @param fee The fee amount to enable, denominated in hundredths of a bip (i.e. 1e-6)\n @param tickSpacing The spacing between ticks to be enforced for all pools created with the given fee amount"
|
|
},
|
|
"functionSelector": "8a7c195f",
|
|
"implemented": false,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "enableFeeAmount",
|
|
"nameLocation": "3981:15:27",
|
|
"parameters": {
|
|
"id": 43869,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 43866,
|
|
"mutability": "mutable",
|
|
"name": "fee",
|
|
"nameLocation": "4004:3:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43871,
|
|
"src": "3997:10:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"typeName": {
|
|
"id": 43865,
|
|
"name": "uint24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3997:6:27",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 43868,
|
|
"mutability": "mutable",
|
|
"name": "tickSpacing",
|
|
"nameLocation": "4015:11:27",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 43871,
|
|
"src": "4009:17:27",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int24",
|
|
"typeString": "int24"
|
|
},
|
|
"typeName": {
|
|
"id": 43867,
|
|
"name": "int24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4009:5:27",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int24",
|
|
"typeString": "int24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3996:31:27"
|
|
},
|
|
"returnParameters": {
|
|
"id": 43870,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "4036:0:27"
|
|
},
|
|
"scope": 43872,
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
}
|
|
],
|
|
"abstract": false,
|
|
"baseContracts": [],
|
|
"canonicalName": "IUniswapV3Factory",
|
|
"contractDependencies": [],
|
|
"contractKind": "interface",
|
|
"documentation": {
|
|
"id": 43792,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "71:163:27",
|
|
"text": "@title The interface for the Uniswap V3 Factory\n @notice The Uniswap V3 Factory facilitates creation of Uniswap V3 pools and control over the protocol fees"
|
|
},
|
|
"fullyImplemented": false,
|
|
"linearizedBaseContracts": [
|
|
43872
|
|
],
|
|
"name": "IUniswapV3Factory",
|
|
"nameLocation": "244:17:27",
|
|
"scope": 43873,
|
|
"usedErrors": [],
|
|
"usedEvents": [
|
|
43799,
|
|
43812,
|
|
43819
|
|
]
|
|
}
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"id": 27
|
|
} |