Router architecture

MarginlyRouter

constructor

constructor(struct AdapterInput[] _adapters) public

swapExactInput

function swapExactInput(uint256 swapCalldata, address tokenIn, address tokenOut, uint256 amountIn, uint256 minAmountOut) external returns (uint256 amountOut)

swap with exact input

Parameters

Name
Type
Description

swapCalldata

uint256

calldata for multiple swaps

tokenIn

address

address of a token to swap on dex

tokenOut

address

address of a token to receive from dex

amountIn

uint256

exact amount of tokenIn to swap

minAmountOut

uint256

minimal amount of tokenOut to receive

swapExactOutput

function swapExactOutput(uint256 swapCalldata, address tokenIn, address tokenOut, uint256 maxAmountIn, uint256 amountOut) external returns (uint256 amountIn)

swap with exact output

Parameters

Name
Type
Description

swapCalldata

uint256

calldata for multiple swaps

tokenIn

address

address of a token to swap on dex

tokenOut

address

address of a token to receive from dex

maxAmountIn

uint256

maximal amount of tokenIn to swap

amountOut

uint256

exact amount of tokenOut to receive

RouterActions

addDexAdapters

function addDexAdapters(struct AdapterInput[] _adapters) external

add dex adapters to router

Parameters

Name
Type
Description

_adapters

struct AdapterInput[]

input to MarginlyRouter addDexAdapters call

transferMarginlyRouterOwnership

function transferMarginlyRouterOwnership(address to) external

Set a new owner of a Marginly router contract. Allowed only for MarginlyPoolAdmin owner

Parameters

Name
Type
Description

to

address

Address of a new Marginly router owner

acceptMarginlyRouterOwnership

function acceptMarginlyRouterOwnership() external

Accepts Marginly router contract ownership

Last updated