UniswapV3Factory

Ethereum

0x1f98431c8ad98523631ae4a59f267346ea31f984

Solidity v0.7.6+commit.7338295f

🤖
Query this contract from your AI
Reference: univ3-factory-eth 0x1f98431c8ad98523631ae4a59f267346ea31f984
Sample prompt: “Tell me the current state of univ3-factory-eth”
No AI wired up yet? → mcp.smarts.md

Admin & Risk

Who can change the rules?

Block #25,169,820

Detected ownable controls from the verified ABI.

Ownable

Current controls

Owner
0xf2371551fe3937db7c750f4dfabe5c2fffdcbf5a ↗ Etherscan → smarts

Overview

Read Functions
4
Write Functions
3
Events
3

Read Functions

Block #25,169,820 · just now
feeAmountTickSpacing(uint24) view

Returns the tick spacing for a given fee amount, if enabled, or 0 if not enabled

dev: A fee amount can never be removed, so this value should be hard coded or cached in the calling context

Parameters

Name Type Description
uint24

Returns

Name Type Description
int24 The tick spacing
getPool(address, address, uint24) view

Returns the pool address for a given pair of tokens and a fee, or address 0 if it does not exist

dev: tokenA and tokenB may be passed in either token0/token1 or token1/token0 order

Parameters

Name Type Description
address
address
uint24

Returns

Name Type Description
address pool The pool address
owner() view → 0xf2371551fe3937db7c750f4dfabe5c2fffdcbf5a

Returns the current owner of the factory

dev: Can be changed by the current owner via setOwner

Returns

Name Type Description
address The address of the factory owner
parameters() view → 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0, 0

Get the parameters to be used in constructing the pool, set transiently during pool creation.

dev: 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

Returns

Name Type Description
factory address
token0 address
token1 address
fee uint24
tickSpacing int24

Write Functions

createPool(tokenA: address, tokenB: address, fee: uint24) nonpayable

Creates a pool for the given two tokens and fee

dev: 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.

Parameters

Name Type Description
tokenA address One of the two tokens in the desired pool
tokenB address The other of the two tokens in the desired pool
fee uint24 The desired fee for the pool

Returns

Name Type Description
pool address pool The address of the newly created pool
enableFeeAmount(fee: uint24, tickSpacing: int24) nonpayable

Enables a fee amount with the given tickSpacing

dev: Fee amounts may never be removed once enabled

Parameters

Name Type Description
fee uint24 The fee amount to enable, denominated in hundredths of a bip (i.e. 1e-6)
tickSpacing int24 The spacing between ticks to be enforced for all pools created with the given fee amount
setOwner(_owner: address) nonpayable

Updates the owner of the factory

dev: Must be called by the current owner

Parameters

Name Type Description
_owner address The new owner of the factory

Events

FeeAmountEnabled(fee: uint24, tickSpacing: int24)

Emitted when a new fee amount is enabled for pool creation via the factory

Name Type Indexed Description
fee uint24 The enabled fee, denominated in hundredths of a bip
tickSpacing int24 The minimum number of ticks between initialized ticks for pools created with the given fee
OwnerChanged(oldOwner: address, newOwner: address)

Emitted when the owner of the factory is changed

Name Type Indexed Description
oldOwner address The owner before the owner was changed
newOwner address The owner after the owner was changed
PoolCreated(token0: address, token1: address, fee: uint24, tickSpacing: int24, pool: address)

Emitted when a pool is created

Name Type Indexed Description
token0 address The first token of the pool by address sort order
token1 address The second token of the pool by address sort order
fee uint24 The fee collected upon every swap in the pool, denominated in hundredths of a bip
tickSpacing int24 The minimum number of ticks between initialized ticks
pool address The address of the created pool