V3SwapRouter
해당 컨트랙트는 KLAYswap V3에 대한 상태 비저장 스왑 실행을 위한 라우터입니다.
Code
Github Link: (Will be updated after official launch)
Address
Events, Read-Only Functions, and State-Changing Functions
Parameter Structs
ExactInputSingleParams
struct ExactInputSingleParams {
address tokenIn;
address tokenOut;
uint24 fee;
address recipient;
uint256 deadline;
uint256 amountIn;
uint256 amountOutMinimum;
uint160 sqrtPriceLimitX96;
}
ExactInputParams
struct ExactInputParams {
bytes path;
address recipient;
uint256 deadline;
uint256 amountIn;
uint256 amountOutMinimum;
}
ExactOutputSingleParams
struct ExactOutputSingleParams {
address tokenIn;
address tokenOut;
uint24 fee;
address recipient;
uint256 deadline;
uint256 amountOut;
uint256 amountInMaximum;
uint160 sqrtPriceLimitX96;
}
ExactOutputParams
struct ExactOutputParams {
bytes path;
address recipient;
uint256 deadline;
uint256 amountOut;
uint256 amountInMaximum;
}
State-Changing Functions
uniswapV3SwapCallback
function uniswapV3SwapCallback(
int256 amount0Delta,
int256 amount1Delta,
bytes data
) external
IUniswapV3Pool#swap을 통해 스왑을 실행한 후 msg.sender
에 호출됩니다.
구현 시 스왑에 대한 풀 토큰을 지불해야 합니다. 이 메서드의 호출자는 정식 UniswapV3Factory에 의해 배포된 UniswapV3Pool인지 확인해야 합니다. amount0Delta 및 amount1Delta는 교환된 토큰이 없는 경우 모두 0이 될 수 있습니다.
Parameters:
Name | Type | Description |
---|---|---|
| int256 | 스왑이 끝날 때까지 풀에서 전송되었거나(음수) 받아야 하는(양수) token0의 양입니다. 긍정적인 경우 콜백은 해당 양의 token0을 풀로 보내야 합니다. |
| int256 | 스왑이 끝날 때까지 풀에서 전송되었거나(음수) 받아야 하는(양수) token1의 양입니다. 긍정적인 경우 콜백은 해당 양의 token1을 풀로 보내야 합니다. |
| bytes | IUniswapV3Pool Actions#swap 호출을 통해 호출자가 전달한 모든 데이터 |
exactInputSingle
function exactInputSingle(
struct ISwapRouter.ExactInputSingleParams params
) external returns (uint256 amountOut)
한 토큰의 amountIn
을 다른 토큰의 가능한 한 많이 스왑합니다.
Parameters:
Name | Type | Description |
---|---|---|
|
| calldata에서 ExactInputSingleParams로 인코딩된 스왑에 필요한 매개변수 |
Return Values:
Name | Type | Description |
---|---|---|
| uint256 | 받은 토큰의 양 |
exactInput
function exactInput(
struct ISwapRouter.ExactInputParams params
) external returns (uint256 amountOut)
지정된 경로를 따라 한 토큰의 amountIn
을 가능한 한 다른 토큰으로 교환합니다.
Parameters:
Name | Type | Description |
---|---|---|
|
| calldata에서 ExactInputParams로 인코딩된 다중 홉 스왑에 필요한 매개변수 |
Return Values:
Name | Type | Description |
---|---|---|
| uint256 | 받은 토큰의 양 |
exactOutputSingle
function exactOutputSingle(
struct ISwapRouter.ExactOutputSingleParams params
) external returns (uint256 amountIn)
다른 토큰의 amountOut
에 대해 하나의 토큰을 가능한 한 적게 스왑합니다.
Parameters:
Name | Type | Description |
---|---|---|
|
| calldata에서 ExactOutputSingleParams로 인코딩된 스왑에 필요한 매개변수 |
Return Values:
Name | Type | Description |
---|---|---|
| uint256 | 입력 토큰의 양 |
exactOutput
function exactOutput(
struct ISwapRouter.ExactOutputParams params
) external returns (uint256 amountIn)
지정된 경로를 따라 다른 토큰의 amountOut
에 대해 가능한 한 적은 토큰을 교환합니다(반전됨).
Parameters:
Name | Type | Description |
---|---|---|
|
| calldata에서 ExactOutputParams로 인코딩된 다중 홉 스왑에 필요한 매개변수 |
Return Values:
Name | Type | Description |
---|---|---|
| uint256 | 입력 토큰의 양 |
Last updated