add uniV3RouteAdapter
This commit is contained in:
12
contracts/SmartRoute/intf/IUniV3.sol
Normal file
12
contracts/SmartRoute/intf/IUniV3.sol
Normal file
@@ -0,0 +1,12 @@
|
||||
pragma solidity 0.6.9;
|
||||
pragma experimental ABIEncoderV2;
|
||||
|
||||
interface IUniV3 {
|
||||
function swap(
|
||||
address recipient,
|
||||
bool zeroForOne,
|
||||
int256 amountSpecified,
|
||||
uint160 sqrtPriceLimitX96,
|
||||
bytes calldata data
|
||||
) external returns (int256 amount0, int256 amount1);
|
||||
}
|
||||
20
contracts/SmartRoute/intf/IUniswapV3SwapCallBack.sol
Normal file
20
contracts/SmartRoute/intf/IUniswapV3SwapCallBack.sol
Normal file
@@ -0,0 +1,20 @@
|
||||
pragma solidity 0.6.9;
|
||||
|
||||
/// @title Callback for IUniswapV3PoolActions#swap
|
||||
/// @notice Any contract that calls IUniswapV3PoolActions#swap must implement this interface
|
||||
interface IUniswapV3SwapCallback {
|
||||
/// @notice Called to `msg.sender` after executing a swap via IUniswapV3Pool#swap.
|
||||
/// @dev In the implementation you must pay the pool tokens owed for the swap.
|
||||
/// The caller of this method must be checked to be a UniswapV3Pool deployed by the canonical UniswapV3Factory.
|
||||
/// amount0Delta and amount1Delta can both be 0 if no tokens were swapped.
|
||||
/// @param amount0Delta The amount of token0 that was sent (negative) or must be received (positive) by the pool by
|
||||
/// the end of the swap. If positive, the callback must send that amount of token0 to the pool.
|
||||
/// @param amount1Delta The amount of token1 that was sent (negative) or must be received (positive) by the pool by
|
||||
/// the end of the swap. If positive, the callback must send that amount of token1 to the pool.
|
||||
/// @param data Any data passed through by the caller via the IUniswapV3PoolActions#swap call
|
||||
function uniswapV3SwapCallback(
|
||||
int256 amount0Delta,
|
||||
int256 amount1Delta,
|
||||
bytes calldata data
|
||||
) external;
|
||||
}
|
||||
Reference in New Issue
Block a user