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

TypeValueDescription

uint

_amountOut

swap์„ ํ†ตํ•ด ํš๋“ ํ•  ํ† ํฐ ๊ฐœ์ˆ˜ (Slippage ๊ฐ’ ์ด์šฉ)

address[]

_path

swap์— ์‚ฌ์šฉ ๋  ํ† ํฐ ์Œ ์ฃผ์†Œ

address

_to

swap ํ•  ๊ณ„์ • ์ฃผ์†Œ

uint

_deadline

ํŠธ๋žœ์žญ์…˜ ์ตœ๋Œ€ ์‹œ๊ฐ„ (ํ˜„์žฌ์‹œ๊ฐ„+์ข…๋ฃŒ์‹œ๊ฐ„, sec๋‹จ)

Return Values

TypeValueDescription

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