centrifuge/tinlake

minSeniorRatio constraints only for TIN

Opened this issue · 0 comments

We would like to modify the current minSeniorRatio constraint:

New Constaint

Current Constraint: MinSeniorRatio
The following constraint currently needs to be always satisfied.

seniorAsset >=  (NAV+reserve) * minSeniorRatio

New Constraint: MinSeniorRatio should block TIN invest
It should be allowed for DROP holders to violate but it should be not allowed to invest TIN if the constraint is violated.
TIN redeem should be possible because it would improve the currentSeniorRatio again.

This can be achieved with the following constraint:

delta = seniorAsset- (NAV+reserve) * minSeniorRatio)) ;

(delta + sqrt(delta^2)) * BIG_NUMBER  >= TIN_invest

Can we simplify this even further?

Example

minDROPRatio violated

NAV+Reserve = 1000
minSeniorRatio = 0.75
seniorAsset = 700

delta = 700 - 1000 * 0.75
delta = -50

(-50 + 50) * BIG_NUMBER >= TIN_invest
0 >= TIN_Invest

therefore TIN_Invest can only be 0 to satisfy constraint.

minDROPRatio healthy
NAV+Reserve = 1000
minSeniorRatio = 0.75
seniorAsset = 800

delta = 800 - 1000 * 0.75
delta = +50

50 + 50 * BIG_NUMBER >= TIN_Invest