-
Notifications
You must be signed in to change notification settings - Fork 46
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #363 from liquity/zappers_to_deployment
chore: Move zappers to deployment contract
- Loading branch information
Showing
16 changed files
with
340 additions
and
145 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
64 changes: 64 additions & 0 deletions
64
contracts/src/Zappers/Modules/Exchanges/UniswapV3/IUniswapV3Factory.sol
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
pragma solidity >=0.5.0; | ||
|
||
interface IUniswapV3Factory { | ||
/// @notice Emitted when the owner of the factory is changed | ||
/// @param oldOwner The owner before the owner was changed | ||
/// @param newOwner The owner after the owner was changed | ||
event OwnerChanged(address indexed oldOwner, address indexed newOwner); | ||
|
||
/// @notice Emitted when a pool is created | ||
/// @param token0 The first token of the pool by address sort order | ||
/// @param token1 The second token of the pool by address sort order | ||
/// @param fee The fee collected upon every swap in the pool, denominated in hundredths of a bip | ||
/// @param tickSpacing The minimum number of ticks between initialized ticks | ||
/// @param pool The address of the created pool | ||
event PoolCreated( | ||
address indexed token0, address indexed token1, uint24 indexed fee, int24 tickSpacing, address pool | ||
); | ||
|
||
/// @notice Emitted when a new fee amount is enabled for pool creation via the factory | ||
/// @param fee The enabled fee, denominated in hundredths of a bip | ||
/// @param tickSpacing The minimum number of ticks between initialized ticks for pools created with the given fee | ||
event FeeAmountEnabled(uint24 indexed fee, int24 indexed tickSpacing); | ||
|
||
/// @notice Returns the current owner of the factory | ||
/// @dev Can be changed by the current owner via setOwner | ||
/// @return The address of the factory owner | ||
function owner() external view returns (address); | ||
|
||
/// @notice 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 | ||
/// @param fee The enabled fee, denominated in hundredths of a bip. Returns 0 in case of unenabled fee | ||
/// @return The tick spacing | ||
function feeAmountTickSpacing(uint24 fee) external view returns (int24); | ||
|
||
/// @notice 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 | ||
/// @param tokenA The contract address of either token0 or token1 | ||
/// @param tokenB The contract address of the other token | ||
/// @param fee The fee collected upon every swap in the pool, denominated in hundredths of a bip | ||
/// @return pool The pool address | ||
function getPool(address tokenA, address tokenB, uint24 fee) external view returns (address pool); | ||
|
||
/// @notice Creates a pool for the given two tokens and fee | ||
/// @param tokenA One of the two tokens in the desired pool | ||
/// @param tokenB The other of the two tokens in the desired pool | ||
/// @param fee The desired fee for the pool | ||
/// @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. | ||
/// @return pool The address of the newly created pool | ||
function createPool(address tokenA, address tokenB, uint24 fee) external returns (address pool); | ||
|
||
/// @notice Updates the owner of the factory | ||
/// @dev Must be called by the current owner | ||
/// @param _owner The new owner of the factory | ||
function setOwner(address _owner) external; | ||
|
||
/// @notice Enables a fee amount with the given tickSpacing | ||
/// @dev Fee amounts may never be removed once enabled | ||
/// @param fee The fee amount to enable, denominated in hundredths of a bip (i.e. 1e-6) | ||
/// @param tickSpacing The spacing between ticks to be enforced for all pools created with the given fee amount | ||
function enableFeeAmount(uint24 fee, int24 tickSpacing) external; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.