SimpleRouter
Maker contracts using this router must make sure that the reserve approves the router for all asset that will be pulled (outbound tokens) Thus a maker contract using a vault that is not an EOA must make sure this vault has approval capacities.
pull
transfers an amount of tokens from the reserve to the maker.
requires approval from owner
for this
to transfer token
.
Parameters
token
contract IERC20
Token to be transferred
owner
address
The account from which the tokens will be transferred.
amount
uint256
The amount of tokens to be transferred
strict
bool
wether the caller maker contract wishes to pull at most amount
tokens of owner.
Return Values
pulled
uint256
The amount pulled if successful (will be equal to amount
); otherwise, 0.
push
transfers an amount of tokens from the maker to the reserve.
Parameters
token
contract IERC20
Token to be transferred
owner
address
amount
uint256
The amount of tokens to be transferred
Return Values
[0]
uint256
balanceOfReserve
Balance of a reserve
Parameters
token
contract IERC20
the asset one wishes to know the balance of
owner
address
Return Values
[0]
uint256
the balance of the reserve
checkList
router-dependent implementation of the checkList
function
verifies all required approval involving this
router (either as a spender or owner)
checkList
returns normally if all needed approval are strictly positive. It reverts otherwise with a reason.
Parameters
token
contract IERC20
is the asset whose approval must be checked
owner
address
the account that requires asset pulling/pushing