SwapUtils

SwapUtils library

A library to be used within Swap.sol. Contains functions responsible for custody and AMM functionalities.

Contracts relying on this library must initialize SwapUtils.Swap struct then use this library for SwapUtils.Swap struct. Note that this library contains both functions called by users and admins. Admin functions should be protected within contracts using this library.

Methods

MAX_ADMIN_FEE

function MAX_ADMIN_FEE() external view returns (uint256)

Returns

NameTypeDescription

_0

uint256

undefined

MAX_SWAP_FEE

function MAX_SWAP_FEE() external view returns (uint256)

Returns

NameTypeDescription

_0

uint256

undefined

POOL_PRECISION_DECIMALS

function POOL_PRECISION_DECIMALS() external view returns (uint8)

Returns

NameTypeDescription

_0

uint8

undefined

Events

AddLiquidity

event AddLiquidity(address indexed provider, uint256[] tokenAmounts, uint256[] fees, uint256 invariant, uint256 lpTokenSupply)

Parameters

NameTypeDescription

provider indexed

address

undefined

tokenAmounts

uint256[]

undefined

fees

uint256[]

undefined

invariant

uint256

undefined

lpTokenSupply

uint256

undefined

NewAdminFee

event NewAdminFee(uint256 newAdminFee)

Parameters

NameTypeDescription

newAdminFee

uint256

undefined

NewSwapFee

event NewSwapFee(uint256 newSwapFee)

Parameters

NameTypeDescription

newSwapFee

uint256

undefined

RemoveLiquidity

event RemoveLiquidity(address indexed provider, uint256[] tokenAmounts, uint256 lpTokenSupply)

Parameters

NameTypeDescription

provider indexed

address

undefined

tokenAmounts

uint256[]

undefined

lpTokenSupply

uint256

undefined

RemoveLiquidityImbalance

event RemoveLiquidityImbalance(address indexed provider, uint256[] tokenAmounts, uint256[] fees, uint256 invariant, uint256 lpTokenSupply)

Parameters

NameTypeDescription

provider indexed

address

undefined

tokenAmounts

uint256[]

undefined

fees

uint256[]

undefined

invariant

uint256

undefined

lpTokenSupply

uint256

undefined

RemoveLiquidityOne

event RemoveLiquidityOne(address indexed provider, uint256 lpTokenAmount, uint256 lpTokenSupply, uint256 boughtId, uint256 tokensBought)

Parameters

NameTypeDescription

provider indexed

address

undefined

lpTokenAmount

uint256

undefined

lpTokenSupply

uint256

undefined

boughtId

uint256

undefined

tokensBought

uint256

undefined

TokenSwap

event TokenSwap(address indexed buyer, uint256 tokensSold, uint256 tokensBought, uint128 soldId, uint128 boughtId)

Parameters

NameTypeDescription

buyer indexed

address

undefined

tokensSold

uint256

undefined

tokensBought

uint256

undefined

soldId

uint128

undefined

boughtId

uint128

undefined

Last updated