판게아 풀에서 스왑하기
라우터를 통해 판게아의 풀에서 스왑하는 3가지 케이스는 다음과 같습니다.
1. ERC20 --> ERC20
스왑 요청 전에 입력 토큰에 대해 라우터로 승인요청(approve)을 수행해야 합니다.
poolRouter.exactInputSingle({
tokenIn: tokenInAddress, // 스왑 시 입력 토큰의 주소
amountIn: BigNumber.from(amountIn), // 스왑할 입력 토큰의 갯수
amountOutMinimum: BigNumber.from(amountOutMinimum), // 슬리피지
pool: PoolAddress, // 스왑할 풀의 주소
to: recipient, // 받을 계정
unwrap: false // erc20의 토큰을 받는 경우 항상 false로 고정
});
2. ERC20 --> KLAY
스왑 요청 전에 입력 토큰에 대해 라우터로 승인요청(approve)을 수행해야 합니다.
poolRouter.exactInputSingle({
tokenIn: tokenInAddress, // 스왑 시 입력 토큰의 주소
amountIn: BigNumber.from(amountIn), // 스왑할 입력 토큰의 갯수
amountOutMinimum: BigNumber.from(amountOutMinimum), // 슬리피지
pool: PoolAddress, // 스왑할 풀의 주소
to: recipient, // 받을 계정
unwrap: true
});
3. KLAY --> ERC20
poolRouter.exactInputSingle({
// klay를 통해 스왑할 경우, 주소를 0 주소로 둡니다.
tokenIn: "0x0000000000000000000000000000000000000000",
amountIn: BigNumber.from(amountIn),
amountOutMinimum: BigNumber.from(amountOutMinimum),
pool: PoolAddress,
to: recipient,
unwrap: false
}, {
// 보낼 클레이는 아래와 같이 담아서 보내야 합니다.
value: BigNumber.from(amountIn)
});
Last updated