MakerRouter
k-xo
This contracts allows for swaps between FEI-DAI and FEI-USDC by using the FEI FEI-DAI PSM and the Maker DAI-USDC PSM
Methods
CONTRACT_ADMIN_ROLE
function CONTRACT_ADMIN_ROLE() external view returns (bytes32)
a role used with a subset of governor permissions for this contract only
Returns
Name | Type | Description |
---|---|---|
_0 | bytes32 | undefined |
DAI
function DAI() external view returns (contract IERC20)
reference to the DAI contract used.
Router can be redeployed if DAI address changes
Returns
Name | Type | Description |
---|---|---|
_0 | contract IERC20 | undefined |
FEI
function FEI() external view returns (contract IERC20)
reference to the FEI contract used.
Router can be redeployed if FEI address changes
Returns
Name | Type | Description |
---|---|---|
_0 | contract IERC20 | undefined |
USDC_SCALING_FACTOR
function USDC_SCALING_FACTOR() external view returns (uint256)
scaling factor for USDC
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | undefined |
core
function core() external view returns (contract ICore)
address of the Core contract referenced
Returns
Name | Type | Description |
---|---|---|
_0 | contract ICore | ICore implementation address |
daiPSM
function daiPSM() external view returns (contract IDSSPSM)
reference to the Maker DAI-USDC PSM that this router interacts with
points to Makers DssPsm contract
Returns
Name | Type | Description |
---|---|---|
_0 | contract IDSSPSM | undefined |
feiPSM
function feiPSM() external view returns (contract IPegStabilityModule)
reference to the FEI FEI-DAI PSM that this router interacts with
Returns
Name | Type | Description |
---|---|---|
_0 | contract IPegStabilityModule | undefined |
isContractAdmin
function isContractAdmin(address _admin) external view returns (bool)
returns whether a given address has the admin role for this contract
Parameters
Name | Type | Description |
---|---|---|
_admin | address | undefined |
Returns
Name | Type | Description |
---|---|---|
_0 | bool | undefined |
pause
function pause() external nonpayable
set pausable methods to paused
paused
function paused() external view returns (bool)
Returns true if the contract is paused, and false otherwise.
Returns
Name | Type | Description |
---|---|---|
_0 | bool | undefined |
setContractAdminRole
function setContractAdminRole(bytes32 newContractAdminRole) external nonpayable
sets a new admin role for this contract
Parameters
Name | Type | Description |
---|---|---|
newContractAdminRole | bytes32 | undefined |
swapAllFeiForDai
function swapAllFeiForDai(address to) external nonpayable
Function to swap all of FEI balance to DAI
Parameters
Name | Type | Description |
---|---|---|
to | address | the address the DAI should be sent to once swapped |
swapAllFeiForUsdc
function swapAllFeiForUsdc(address to) external nonpayable
Function to swap all of FEI balance to USDC
Parameters
Name | Type | Description |
---|---|---|
to | address | the address the USDC should be sent to once swapped |
swapAllFeiForUsdcAndDai
function swapAllFeiForUsdcAndDai(address usdcTo, address daiTo, uint256 ratioUSDC) external nonpayable
Function to swap all FEI balance for both DAI and USDC
Parameters
Name | Type | Description |
---|---|---|
usdcTo | address | the address the USDC should be sent to once swapped |
daiTo | address | the address the DAI should be sent to once swapped |
ratioUSDC | uint256 | the ratio of the DAI received we would like to swap to USDC - in basis point terms |
swapFeiForDai
function swapFeiForDai(uint256 amountFeiIn, uint256 minDaiAmountOut, address to) external nonpayable
Function to swap from FEI to DAI
Parameters
Name | Type | Description |
---|---|---|
amountFeiIn | uint256 | the amount of FEI to be deposited |
minDaiAmountOut | uint256 | the minimum amount of DAI expected to be received |
to | address | the address the DAI should be sent to once swapped |
swapFeiForUsdc
function swapFeiForUsdc(uint256 amountFeiIn, uint256 minDaiAmountOut, address to) external nonpayable
Function to swap from FEI to USDC
Function will swap from FEI to DAI first then DAI to USDC
Parameters
Name | Type | Description |
---|---|---|
amountFeiIn | uint256 | the amount of FEI to be deposited |
minDaiAmountOut | uint256 | the minimum amount of DAI expected to be received from FEI PSM |
to | address | the address the USDC should be sent to once swapped |
swapFeiForUsdcAndDai
function swapFeiForUsdcAndDai(uint256 amountFeiIn, uint256 minDaiAmountOut, address usdcTo, address daiTo, uint256 ratioUSDC) external nonpayable
Function to swap for both DAI and USDC
Function will swap from FEI to DAI first then DAI to USDC
Parameters
Name | Type | Description |
---|---|---|
amountFeiIn | uint256 | the amount of FEI to be deposited |
minDaiAmountOut | uint256 | the minimum amount of DAI expected to be received |
usdcTo | address | the address the USDC should be sent to once swapped |
daiTo | address | the address the DAI should be sent to once swapped |
ratioUSDC | uint256 | the ratio of the DAI received we would like to swap to USDC - in basis point terms |
unpause
function unpause() external nonpayable
set pausable methods to unpaused
vcon
function vcon() external view returns (contract IERC20)
address of the Tribe contract referenced by Core
Returns
Name | Type | Description |
---|---|---|
_0 | contract IERC20 | IERC20 implementation address |
vconBalance
function vconBalance() external view returns (uint256)
vcon balance of contract
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | vcon amount held |
volt
function volt() external view returns (contract IVolt)
address of the Fei contract referenced by Core
Returns
Name | Type | Description |
---|---|---|
_0 | contract IVolt | IFei implementation address |
voltBalance
function voltBalance() external view returns (uint256)
volt balance of contract
Returns
Name | Type | Description |
---|---|---|
_0 | uint256 | volt amount held |
withdrawERC20
function withdrawERC20(address token, uint256 amount, address to) external nonpayable
Function to withdraw tokens to an address
Parameters
Name | Type | Description |
---|---|---|
token | address | the token to withdraw |
amount | uint256 | the amount to send |
to | address | the address the token should be sent to |
Events
ContractAdminRoleUpdate
event ContractAdminRoleUpdate(bytes32 indexed oldContractAdminRole, bytes32 indexed newContractAdminRole)
Parameters
Name | Type | Description |
---|---|---|
oldContractAdminRole indexed | bytes32 | undefined |
newContractAdminRole indexed | bytes32 | undefined |
CoreUpdate
event CoreUpdate(address indexed oldCore, address indexed newCore)
Parameters
Name | Type | Description |
---|---|---|
oldCore indexed | address | undefined |
newCore indexed | address | undefined |
Paused
event Paused(address account)
Parameters
Name | Type | Description |
---|---|---|
account | address | undefined |
Unpaused
event Unpaused(address account)
Parameters
Name | Type | Description |
---|---|---|
account | address | undefined |