컨트랙트
이 문서는 최적거래 교환을 위한 OPT 컨트랙트 인터페이스의 설명 문서입니다. 상세 코드 및 구동 방법은 GitHub를 참고하세요.
주소
Aggregator Contract: 0x8af1C50eCD5167B97e14Fc25235580c84d5ea22F
함수
// SPDX-License-Identifier: SEE LICENSE IN LICENSE
pragma solidity ^0.8.0;
interface IAggregator {
struct MultiPathSwapOut {
bytes[][] paths;
address recipient;
uint256 deadline;
address tokenIn;
address tokenOut;
uint256[] amountIns;
uint256 amountOutMinimum;
}
function multiPathSwapOut(
MultiPathSwapOut calldata params
)
external
payable
returns (
uint256 amountIn,
uint256 amountOut,
uint256 onlyOnePathAmountOut
);
}multiPathSwapOut
정확한 양의 토큰을 다른 토큰으로 교환할 때 사용
최적거래 교환시 사용
// SPDX-License-Identifier: SEE LICENSE IN LICENSE
pragma solidity ^0.8.0;
interface IWeswapV2Router {
function swapExactTokensForTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external returns (uint256[] memory amounts);
function swapExactWEMIXForTokens(
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external payable returns (uint256[] memory amounts);
function swapExactTokensForWEMIX(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external returns (uint256[] memory amounts);
}swapExactTokensForTokens
정확한 양의 토큰을 다른 토큰으로 교환할 때 사용
swapExactWEMIXForTokens
정확한 양의 WEMIX 를 다른 토큰으로 교환할 때 사용
swapExactTokensForWEMIX
정확한 양의 토큰을 WEMIX 로 교환할 때 사용
// SPDX-License-Identifier: SEE LICENSE IN LICENSE
pragma solidity ^0.8.0;
interface IWeswapV3Router {
struct ExactInputSingleParams {
address tokenIn;
address tokenOut;
uint24 fee;
address recipient;
uint256 deadline;
uint256 amountIn;
uint256 amountOutMinimum;
uint160 sqrtPriceLimitX96;
}
function exactInputSingle(
ExactInputSingleParams calldata params
) external payable returns (uint256 amountOut);
struct ExactInputParams {
bytes path;
address recipient;
uint256 deadline;
uint256 amountIn;
uint256 amountOutMinimum;
}
function exactInput(
ExactInputParams calldata params
) external payable returns (uint256 amountOut);
struct ExactOutputSingleParams {
address tokenIn;
address tokenOut;
uint24 fee;
address recipient;
uint256 deadline;
uint256 amountOut;
uint256 amountInMaximum;
uint160 sqrtPriceLimitX96;
}
}exactInputSingle
단일 V3 경로를 통해 토큰 교환시 사용
정확한 양의 토큰을 다른 토큰으로 교환할 때 사용
exactInput
여러 V3 경로를 통해 토큰 교환시 사용
정확한 양의 토큰을 다른 토큰으로 교환할 때 사용
Last updated