Router
contracts/wombat-core/libraries/WombatRouter.sol
Title: WombatRouter
Notice: Allows routing on different wombat pools
Details: Owner is allowed and required to approve token spending by pools via approveSpendingByPool function. With great thanks to the uniswap team for your contribution to the opensource community reference: https://github.com/Uniswap/v2-periphery/blob/master/contracts/UniswapV2Router02.sol
constructor
constructor(_wNative)
Arguments
name
type
description
_wNative
address
event OwnershipTransferred
***WombatRouter.OwnershipTransferred(previousOwner, newOwner) ***
Arguments
name
type
description
previousOwner
address
indexed
newOwner
address
indexed
function addLiquidityNative
WombatRouter.addLiquidityNative(pool, minimumLiquidity, to, deadline, shouldStake) payable
Arguments
name
type
description
pool
address
minimumLiquidity
uint256
to
address
deadline
uint256
shouldStake
bool
Outputs
name
type
description
liquidity
uint256
function approveSpendingByPool
***WombatRouter.approveSpendingByPool(tokens, pool) ***
Notice: approve spending of router tokens by pool
Details: needs to be done after asset deployment for router to be able to support the tokens
Arguments
name
type
description
tokens
address[]
array of tokens to be approved
pool
address
to be approved to spend
function getAmountIn
WombatRouter.getAmountIn(tokenPath, poolPath, amountOut) view
Notice: Returns the minimum input asset amount required to buy the given output asset amount (accounting for fees and slippage) Note: This function should be used as estimation only. The actual swap amount might be different due to precision error (the error is typically under 1e-6)
Arguments
name
type
description
tokenPath
address[]
The token swap path
poolPath
address[]
The token pool path
amountOut
uint256
The to amount
Outputs
name
type
description
amountIn
uint256
The potential final amount user would receive
haircuts
uint256[]
function getAmountOut
WombatRouter.getAmountOut(tokenPath, poolPath, amountIn) view
Notice: Given an input asset amount and an array of token addresses, calculates the maximum output token amount (accounting for fees and slippage).
Arguments
name
type
description
tokenPath
address[]
The token swap path
poolPath
address[]
The token pool path
amountIn
int256
The from amount
Outputs
name
type
description
amountOut
uint256
The potential final amount user would receive
haircuts
uint256[]
function owner
WombatRouter.owner() view
Details: Returns the address of the current owner.
Outputs
name
type
description
address
function removeLiquidityFromOtherAssetAsNative
***WombatRouter.removeLiquidityFromOtherAssetAsNative(pool, fromToken, liquidity, minimumAmount, to, deadline) ***
Arguments
name
type
description
pool
address
fromToken
address
liquidity
uint256
minimumAmount
uint256
to
address
deadline
uint256
Outputs
name
type
description
amount
uint256
function removeLiquidityNative
***WombatRouter.removeLiquidityNative(pool, liquidity, minimumAmount, to, deadline) ***
Arguments
name
type
description
pool
address
liquidity
uint256
minimumAmount
uint256
to
address
deadline
uint256
Outputs
name
type
description
amount
uint256
function renounceOwnership
***WombatRouter.renounceOwnership() ***
Details: Leaves the contract without owner. It will not be possible to call
onlyOwner
functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.
function swapExactNativeForTokens
WombatRouter.swapExactNativeForTokens(tokenPath, poolPath, minimumamountOut, to, deadline) payable
Arguments
name
type
description
tokenPath
address[]
poolPath
address[]
minimumamountOut
uint256
to
address
deadline
uint256
Outputs
name
type
description
amountOut
uint256
function swapExactTokensForNative
***WombatRouter.swapExactTokensForNative(tokenPath, poolPath, amountIn, minimumamountOut, to, deadline) ***
Arguments
name
type
description
tokenPath
address[]
poolPath
address[]
amountIn
uint256
minimumamountOut
uint256
to
address
deadline
uint256
Outputs
name
type
description
amountOut
uint256
function swapExactTokensForTokens
***WombatRouter.swapExactTokensForTokens(tokenPath, poolPath, amountIn, minimumamountOut, to, deadline) ***
Notice: Swaps an exact amount of input tokens for as many output tokens as possible, along the route determined by the path
Arguments
name
type
description
tokenPath
address[]
The first element of the path is the input token, the last element is the output token.
poolPath
address[]
An array of pool addresses. The pools where the pathTokens are contained in order.
amountIn
uint256
the amount in
minimumamountOut
uint256
the minimum amount to get for user
to
address
the user to send the tokens to
deadline
uint256
the deadline to respect
Outputs
name
type
description
amountOut
uint256
received by user
function transferOwnership
***WombatRouter.transferOwnership(newOwner) ***
Details: Transfers ownership of the contract to a new account (
newOwner
). Can only be called by the current owner.
Arguments
name
type
description
newOwner
address
function wNative
WombatRouter.wNative() view
Outputs
name
type
description
address
Last updated