AaveKandel
IS_FIRST_PULLER
Indication that this is first puller (returned from lastLook) so posthook should deposit liquidity on AAVE
constructor
Constructor
Parameters
mgv
contract IMangrove
The Mangrove deployment.
olKeyBaseQuote
struct OLKey
The OLKey for the outbound_tkn base and inbound_tkn quote offer list Kandel will act on, the flipped OLKey is used for the opposite offer list.
reserveId
address
identifier of this contract's reserve when using a router.
isOverlying
Verifies that token is not an official AAVE overlying.
Parameters
token
address
the token to verify.
Return Values
[0]
bool
true if overlying; otherwise, false.
initialize
Sets the AaveRouter as router and activates router for base and quote
Parameters
router_
contract AavePooledRouter
the Aave router to use.
gasreq
uint256
the gas required to execute an offer of this Kandel strat
setRouter
depositFunds
deposits funds to be available for being offered. Will increase pending
.
Parameters
baseAmount
uint256
the amount of base tokens to deposit.
quoteAmount
uint256
the amount of quote tokens to deposit.
withdrawFundsForToken
tries to withdraw funds on this contract's balance and then reaches out to the router available funds for the remainder
Parameters
token
contract IERC20
the token to withdraw.
amount
uint256
the amount of tokens to withdraw. Use type(uint).max to denote the entire reserve balance.
recipient
address
the address to which the withdrawn funds should be sent to.
reserveBalance
returns the amount of the router's that can be used by this contract, as well as local balance for the token offered for the offer type.
Parameters
ba
enum OfferType
the offer type.
Return Values
balance
uint256
the balance of the token.
lastLook
Verifies, prior to pulling funds from the router, whether pull will be fetching funds on AAVE
lastLook should revert if trade is to be reneged on. If not, returned bytes32
are passed to makerPosthook
in the makerData
field.
Parameters
order
struct MgvLib.SingleOrder
is a recall of the taker order that is at the origin of the current trade.
Return Values
[0]
bytes32
posthookSuccess
overrides and replaces Direct's posthook in order to push and supply on AAVE with a single call when offer logic is the first to pull funds from AAVE