2020-06-08 12:03:40 +00:00
{
"title" : "LendingPool: Rebalance stable rate" ,
"description" : "Test cases for the rebalanceStableBorrowRate() function." ,
"stories" : [
{
"description" : "User 0 tries to rebalance user 1 who has no borrows in progress (revert expected)" ,
"actions" : [
{
"name" : "rebalanceStableBorrowRate" ,
"args" : {
"reserve" : "DAI" ,
"user" : "0" ,
2020-07-07 10:07:31 +00:00
"target" : "1" ,
"borrowRateMode" : "variable"
2020-06-08 12:03:40 +00:00
} ,
"expected" : "revert" ,
2020-07-07 10:07:31 +00:00
"revertMessage" : "User does not have any stable rate loan for this reserve"
2020-06-08 12:03:40 +00:00
}
]
} ,
{
"description" : "User 0 deposits 1000 DAI, user 1 deposits 1 ETH, borrows 100 DAI at a variable rate, user 0 rebalances user 1 (revert expected)" ,
"actions" : [
{
"name" : "mint" ,
"args" : {
"reserve" : "DAI" ,
"amount" : "1000" ,
"user" : "0"
} ,
"expected" : "success"
} ,
{
"name" : "approve" ,
"args" : {
"reserve" : "DAI" ,
"user" : "0"
} ,
"expected" : "success"
} ,
{
"name" : "deposit" ,
"args" : {
"reserve" : "DAI" ,
"amount" : "1000" ,
"user" : "0"
} ,
"expected" : "success"
} ,
2020-08-17 11:48:23 +00:00
{
"name" : "mint" ,
"args" : {
"reserve" : "WETH" ,
"amount" : "1" ,
"user" : "1"
} ,
"expected" : "success"
} ,
{
"name" : "approve" ,
"args" : {
"reserve" : "WETH" ,
"user" : "1"
} ,
"expected" : "success"
} ,
2020-06-08 12:03:40 +00:00
{
"name" : "deposit" ,
"args" : {
2020-08-13 11:06:23 +00:00
"reserve" : "WETH" ,
2020-06-08 12:03:40 +00:00
"amount" : "1" ,
2020-08-17 11:48:23 +00:00
"user" : "1"
2020-06-08 12:03:40 +00:00
} ,
"expected" : "success"
} ,
{
"name" : "borrow" ,
"args" : {
"reserve" : "DAI" ,
"amount" : "100" ,
"borrowRateMode" : "variable" ,
"user" : "1" ,
"timeTravel" : "365"
} ,
"expected" : "success"
} ,
{
"name" : "rebalanceStableBorrowRate" ,
"args" : {
"reserve" : "DAI" ,
"user" : "0" ,
"target" : "1"
} ,
"expected" : "revert" ,
"revertMessage" : "The user borrow is variable and cannot be rebalanced"
}
]
} ,
{
"description" : "User 1 swaps to stable, user 0 tries to rebalance but the conditions are not met (revert expected)" ,
"actions" : [
{
"name" : "swapBorrowRateMode" ,
"args" : {
"reserve" : "DAI" ,
2020-07-07 10:07:31 +00:00
"user" : "1" ,
"borrowRateMode" : "variable"
2020-06-08 12:03:40 +00:00
} ,
"expected" : "success"
} ,
{
"name" : "rebalanceStableBorrowRate" ,
"args" : {
"reserve" : "DAI" ,
"user" : "0" ,
"target" : "1"
} ,
"expected" : "revert" ,
"revertMessage" : "Interest rate rebalance conditions were not met"
}
]
} ,
{
"description" : "User 2 deposits ETH and borrows the remaining DAI, causing the stable rates to rise (liquidity rate < user 1 borrow rate). User 0 tries to rebalance user 1 (revert expected)" ,
"actions" : [
2020-08-17 11:48:23 +00:00
{
"name" : "mint" ,
"args" : {
"reserve" : "WETH" ,
"amount" : "5" ,
"user" : "2"
} ,
"expected" : "success"
} ,
{
"name" : "approve" ,
"args" : {
"reserve" : "WETH" ,
"user" : "2"
} ,
"expected" : "success"
} ,
2020-06-08 12:03:40 +00:00
{
"name" : "deposit" ,
"args" : {
2020-08-13 11:06:23 +00:00
"reserve" : "WETH" ,
2020-06-08 12:03:40 +00:00
"amount" : "5" ,
2020-08-17 11:48:23 +00:00
"user" : "2"
2020-06-08 12:03:40 +00:00
} ,
"expected" : "success"
} ,
{
"name" : "borrow" ,
"args" : {
"reserve" : "DAI" ,
"amount" : "100" ,
"borrowRateMode" : "variable" ,
"user" : "2"
} ,
"expected" : "success"
} ,
{
"name" : "rebalanceStableBorrowRate" ,
"args" : {
"reserve" : "DAI" ,
"user" : "0" ,
"target" : "1"
} ,
"expected" : "revert" ,
"revertMessage" : "Interest rate rebalance conditions were not met"
}
]
} ,
{
"description" : "User 2 borrows more DAI, causing the liquidity rate to rise above user 1 stable borrow rate User 0 rebalances user 1" ,
"actions" : [
2020-08-17 11:48:23 +00:00
{
"name" : "mint" ,
"args" : {
"reserve" : "WETH" ,
"amount" : "3" ,
"user" : "2"
} ,
"expected" : "success"
} ,
{
"name" : "approve" ,
"args" : {
"reserve" : "WETH" ,
"user" : "2"
} ,
"expected" : "success"
} ,
2020-06-08 12:03:40 +00:00
{
"name" : "deposit" ,
"args" : {
2020-08-13 11:06:23 +00:00
"reserve" : "WETH" ,
2020-06-08 12:03:40 +00:00
"amount" : "3" ,
2020-08-17 11:48:23 +00:00
"user" : "2"
2020-06-08 12:03:40 +00:00
} ,
"expected" : "success"
} ,
{
"name" : "borrow" ,
"args" : {
"reserve" : "DAI" ,
"amount" : "700" ,
"borrowRateMode" : "variable" ,
"user" : "2"
} ,
"expected" : "success"
} ,
{
"name" : "rebalanceStableBorrowRate" ,
"args" : {
"reserve" : "DAI" ,
"user" : "0" ,
"target" : "1"
} ,
"expected" : "success"
}
]
}
]
}