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