swapETHForExactTokens

function swapETHForExactTokens(
    uint _amountOut, 
    address[] calldata _path, 
    address _to, 
    uint _deadline
) external virtual payable ensure(_deadline) returns (uint[] memory amounts)

코인->토큰으로 swap (TO->FROM)

※ 코인은 value 형태로 추가

Parameters

Type
Value
Description

uint

_amountOut

swap을 통해 획득 할 토큰 개수 (Slippage 값 이용)

address[]

_path

swap에 사용 될 토큰 쌍 주소

address

_to

swap 할 계정 주소

uint

_deadline

트랜잭션 최대 시간 (현재시간+종료시간, sec단)

Return Values

Type
Value
Description

uint[]

amounts

swap 된 토큰 개수

Example

// swap price
let amountsIn = await routerContract.getAmountsIn(
    5000, 
    [WMATICContract.address, mockToken0Contract.address]
)

const overrides = {
    gasLimit: 9999999,
    value : amountsIn[0]
}

// 토큰 거래에 대한 허용
await mockToken0Contract.approve(routerContract.address, MaxUint256)

// swap
await swapRouterContract.connect(accounts[0]).swapETHForExactTokens(
    5000,
    [WMATICContract.address, mockToken0Contract.address],
    accounts[0].address,
    MaxUint256,
    overrides
)

2022.12.23

Last updated