Router
The Router contract routes deposit/redeem requests by assigning operation contracts.
Note that the Router contract only supports wrapped UST and wrapped aUST for deposits and redemptions. For operations that involve non-UST stablecoins, interactions should be made via the ConversionPool contracts.
Functions
init
initInitiates a deposit/redeem operation.
function init(
IOperation.Type _type,
address _operator,
uint256 _amount,
address _swapper,
address _swapDest,
bool _autoFinish
) external;
interface IOperation {
enum Type {NEUTRAL, DEPOSIT, REDEEM}
}Name
Type
Description
_type
IOperation.Type
Operation type. Can be either of deposit or redeem (withdraw)
_operator
address
Address of operation requester
_amount
uint256
Amount of wrapped UST/aUST used in operation
_swapper
address
Swapper contract that defines logic for swapping tokens
_swapDest
address
Address of token to receive post-operation
_autoFinish
bool
Indicator to signal whether to have the corresponding finish operation automated
finish
finishFinishes a deposit/redeem operation.
function finish(address _operation) external; Name
Type
Description
_operation
address
Address of Operation contract to call finish
depositStable
depositStableDeposits the specified amount of wrapped UST.
function depositStable(uint256 _amount) external; Name
Type
Description
_amount
uint256
Amount of wrapped UST to deposit
depositStable
depositStableDeposits the specified amount of wrapped UST. Returns resulting wrapped aUST to the specified address.
function depositStable(address _operator, uint256 _amount) external; Name
Type
Description
_operator
address
Address to receive resulting wrapped aUST
_amount
uint256
Amount of wrapped UST to deposit
depositStable
depositStableDeposits the specified amount of wrapped UST. Swaps resulting wrapped aUST to the specified token (_swapDest) using logic defined in the specified swapper contract (_swapper), and returns tokens to the specified address (_operator).
function depositStable(
address _operator,
uint256 _amount,
address _swapper,
address _swapDest
) external;Name
Type
Description
_operator
address
Address to receive resulting tokens
_amount
uint256
Amount of wrapped UST to deposit
_swapper
address
Swapper contract that defines logic for swapping tokens
_swapDest
address
Address of token to receive post-deposit
initDepositStable
initDepositStableInitiates a deposit request for the specified amount of wrapped UST.
function initDepositStable(uint256 _amount) external; Name
Type
Description
_amount
uint256
Amount of wrapped UST to deposit
initDepositStable
initDepositStableInitiates a deposit request for the specified amount of wrapped UST. Swaps resulting wrapped aUST to the specified token.
function initDepositStable(
uint256 _amount,
address _swapper,
address _swapDest
) external;Name
Type
Description
_amount
uint256
Amount to wrapped UST to deposit
_swapper
address
Swapper contract that defines logic for swapping tokens
_swapDest
address
Address of token to receive post-deposit
finishDepositStable
finishDepositStableFinishes deposit operation for the specified Operation contract.
function finishDepositStable(address _operation) external; Name
Type
Description
_operation
address
Address of Operation contract to call finish
redeemStable
redeemStableRedeems (withdraws) the specified amount of wrapped aUST.
function redeemStable(uint256 _amount) external; Name
Type
Description
_amount
uint256
Amount of wrapped aUST to redeem
redeemStable
redeemStableRedeems the specified amount of wrapped aUST. Returns resulting wrapped UST to the specified address.
function redeemStable(address _operator, uint256 _amount) external; Name
Type
Description
_operator
address
Address to receive resulting wrapped UST
_amount
uint256
Amount of wrapped aUST to redeem
redeemStable
redeemStableRedeems the specified amount of wrapped aUST. Swaps resulting wrapped UST to the specified token (_swapDest) using logic defined in the specified swapper contract (_swapper), and returns tokens to the specified address (_operator).
function redeemStable(
address _operator,
uint256 _amount,
address _swapper,
address _swapDest
) external;Name
Type
Description
_operator
address
Address to receive resulting tokens
_amount
uint256
Amount of wrapped aUST to redeem
_swapper
address
Swapper contract that defines logic for swapping tokens
_swapDest
address
Address of token to receive post-redemption
initRedeemStable
initRedeemStableInitiates a redemption for the specified amount of wrapped aUST.
function initRedeemStable(uint256 _amount) external; Name
Type
Description
_amount
uint256
Amount of wrapped aUST to redeem
initRedeemStable
initRedeemStableInitiates a stablecoin redemption. Swaps resulting wrapped UST to the specified token (_swapDest) using logic defined in the specified swapper contract (_swapper), and returns tokens to the specified address (_operator).
function initRedeemStable(
uint256 _amount,
address _swapper,
address _swapDest
) external;Name
Type
Description
_amount
uint256
Amount of aUST tokens to redeem
_swapper
address
Swapper contract that defines logic for swapping tokens
_swapDest
address
Address of token to receive post-redemption
finishRedeemStable
finishRedeemStableFinishes a redeem operation for the specified Operation contract.
function finishRedeemStable(address _operation) external; Name
Type
Description
_operation
address
Address of Operation contract to call finish
Last updated
Was this helpful?