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
init
Initiates 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
finish
Finishes a deposit/redeem operation.
function finish(address _operation) external;
Name
Type
Description
_operation
address
Address of Operation contract to call finish
depositStable
depositStable
Deposits the specified amount of wrapped UST.
function depositStable(uint256 _amount) external;
Name
Type
Description
_amount
uint256
Amount of wrapped UST to deposit
depositStable
depositStable
Deposits 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
depositStable
Deposits 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
initDepositStable
Initiates 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
initDepositStable
Initiates 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
finishDepositStable
Finishes 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
redeemStable
Redeems (withdraws) the specified amount of wrapped aUST.
function redeemStable(uint256 _amount) external;
Name
Type
Description
_amount
uint256
Amount of wrapped aUST to redeem
redeemStable
redeemStable
Redeems 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
redeemStable
Redeems 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
initRedeemStable
Initiates 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
initRedeemStable
Initiates 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
finishRedeemStable
Finishes 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?