Redeemer.sol
This document describes the functions, attributes and modifiers in Redeemer.sol
Redeemer
Author: Sourabh Marathe, Julian Traversa, Rob Robbins
The Redeemer contract is used to redeem the underlying lent capital of a loan.
Users may redeem their ERC-5095 tokens for the underlying asset represented by that token after maturity.
State Variables
HOLD
minimum wait before the admin may withdraw funds or change the fee rate
admin
address that is allowed to set fees and contracts, etc. It is commonly used in the authorized modifier.
marketPlace
address of the MarketPlace contract, used to access the markets mapping
lender
address that custodies principal tokens for all markets
converter
address that converts compounding tokens to their underlying
swivelAddr
third party contract needed to redeem Swivel PTs
tempusAddr
third party contract needed to redeem Tempus PTs
feenominator
this value determines the amount of fees paid on auto redemptions
feeChange
represents a point in time where the feenominator may change
MIN_FEENOMINATOR
represents a minimum that the feenominator must exceed
holdings
mapping that indicates how much underlying has been redeemed by a market
paused
mapping that determines if a market's iPT can be redeemed
Functions
authorized
ensures that only a certain address can call the function
Parameters
unpaused
reverts on all markets where the paused mapping returns true
Parameters
constructor
Initializes the Redeemer contract
Parameters
setAdmin
sets the admin address
Parameters
Returns
setMarketPlace
sets the address of the marketplace contract which contains the addresses of all the fixed rate markets
Parameters
Returns
setConverter
sets the converter address
Parameters
Returns
setLender
sets the address of the lender contract which contains the addresses of all the fixed rate markets
Parameters
Returns
setFee
sets the feenominator to the given value
Parameters
Returns
scheduleFeeChange
allows the admin to schedule a change to the fee denominators
pauseRedemptions
allows admin to stop redemptions of Illuminate PTs for a given market
Parameters
approve
approves the converter to spend the compounding asset
Parameters
redeem
redeem method for Yield, Element, Pendle, APWine, Tempus and Notional protocols
Parameters
Returns
redeem
redeem method signature for Swivel
Parameters
Returns
redeem
redeem method signature for Sense
Parameters
Returns
redeem
burns Illuminate principal tokens and sends underlying to user
Parameters
authRedeem
implements the redeem method for the contract to fulfill the ERC-5095 interface
Parameters
Returns
autoRedeem
implements a redeem method to enable third-party redemptions
expects approvals from owners to redeemer
Parameters
Returns
depositHoldings
Allows for external deposit of underlying for a market
This is to be used in emergency situations where the redeem method is not functioning for a market
Parameters
apwineWithdraw
Execute the business logic for conducting an APWine redemption
Events
Redeem
emitted upon redemption of a loan
SetAdmin
emitted upon changing the admin
SetConverter
emitted upon changing the converter
SetFee
emitted upon setting the fee rate
ScheduleFeeChange
emitted upon scheduling a fee change
PauseRedemptions
emitted upon pausing of Illuminate PTs
Last updated