2021-02-07 03:10:29 +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" : {
2021-02-19 20:50:13 +00:00
"reserve" : "USDC" ,
2021-02-07 03:10:29 +00:00
"user" : "0" ,
"target" : "1"
} ,
"expected" : "revert" ,
"revertMessage" : "User does not have any stable rate loan for this reserve"
}
]
} ,
{
2021-02-19 20:50:13 +00:00
"description" : "User 0 deposits 1000 USDC, user 1 deposits 7 WETH, borrows 250 USDC at a variable rate, user 0 rebalances user 1 (revert expected)" ,
2021-02-07 03:10:29 +00:00
"actions" : [
{
"name" : "mint" ,
"args" : {
2021-02-19 20:50:13 +00:00
"reserve" : "USDC" ,
2021-02-07 03:10:29 +00:00
"amount" : "1000" ,
"user" : "0"
} ,
"expected" : "success"
} ,
{
"name" : "approve" ,
"args" : {
2021-02-19 20:50:13 +00:00
"reserve" : "USDC" ,
2021-02-07 03:10:29 +00:00
"user" : "0"
} ,
"expected" : "success"
} ,
{
"name" : "deposit" ,
"args" : {
2021-02-19 20:50:13 +00:00
"reserve" : "USDC" ,
2021-02-07 03:10:29 +00:00
"amount" : "1000" ,
"user" : "0"
} ,
"expected" : "success"
} ,
{
"name" : "mint" ,
"args" : {
2021-02-08 16:05:10 +00:00
"reserve" : "WETH" ,
2021-02-07 03:10:29 +00:00
"amount" : "7" ,
"user" : "1"
} ,
"expected" : "success"
} ,
{
"name" : "approve" ,
"args" : {
2021-02-08 16:05:10 +00:00
"reserve" : "WETH" ,
2021-02-07 03:10:29 +00:00
"user" : "1"
} ,
"expected" : "success"
} ,
{
"name" : "deposit" ,
"args" : {
2021-02-08 16:05:10 +00:00
"reserve" : "WETH" ,
2021-02-07 03:10:29 +00:00
"amount" : "7" ,
"user" : "1"
} ,
"expected" : "success"
} ,
{
"name" : "borrow" ,
"args" : {
2021-02-19 20:50:13 +00:00
"reserve" : "USDC" ,
2021-02-07 03:10:29 +00:00
"amount" : "250" ,
2021-02-09 23:14:38 +00:00
"borrowRateMode" : "variable" ,
2021-02-07 03:10:29 +00:00
"user" : "1"
} ,
"expected" : "success"
} ,
{
"name" : "rebalanceStableBorrowRate" ,
"args" : {
2021-02-19 20:50:13 +00:00
"reserve" : "USDC" ,
2021-02-07 03:10:29 +00:00
"user" : "0" ,
"target" : "1"
} ,
"expected" : "revert" ,
"revertMessage" : "The user borrow is variable and cannot be rebalanced"
}
]
} ,
{
"description" : "User 1 borrows another 200 at variable, user 0 tries to rebalance but the conditions are not met (revert expected)" ,
"actions" : [
{
"name" : "borrow" ,
"args" : {
2021-02-19 20:50:13 +00:00
"reserve" : "USDC" ,
2021-02-07 03:10:29 +00:00
"amount" : "200" ,
"borrowRateMode" : "variable" ,
"user" : "1"
} ,
"expected" : "success"
} ,
{
"name" : "rebalanceStableBorrowRate" ,
"args" : {
2021-02-19 20:50:13 +00:00
"reserve" : "USDC" ,
2021-02-07 03:10:29 +00:00
"user" : "0" ,
"target" : "1"
} ,
"expected" : "revert" ,
"revertMessage" : "Interest rate rebalance conditions were not met"
}
]
} ,
{
"description" : "User 1 borrows another 200 at variable, user 0 tries to rebalance but the conditions are not met (revert expected)" ,
"actions" : [
{
"name" : "borrow" ,
"args" : {
2021-02-19 20:50:13 +00:00
"reserve" : "USDC" ,
2021-02-07 03:10:29 +00:00
"amount" : "200" ,
"borrowRateMode" : "variable" ,
"user" : "1"
} ,
"expected" : "success"
} ,
{
"name" : "rebalanceStableBorrowRate" ,
"args" : {
2021-02-19 20:50:13 +00:00
"reserve" : "USDC" ,
2021-02-07 03:10:29 +00:00
"user" : "0" ,
"target" : "1"
} ,
"expected" : "revert" ,
"revertMessage" : "Interest rate rebalance conditions were not met"
}
]
} ,
{
"description" : "User 1 borrows another 100 at variable, user 0 tries to rebalance but the conditions are not met (revert expected)" ,
"actions" : [
{
"name" : "borrow" ,
"args" : {
2021-02-19 20:50:13 +00:00
"reserve" : "USDC" ,
2021-02-07 03:10:29 +00:00
"amount" : "280" ,
"borrowRateMode" : "variable" ,
"user" : "1"
} ,
"expected" : "success"
} ,
{
"name" : "rebalanceStableBorrowRate" ,
"args" : {
2021-02-19 20:50:13 +00:00
"reserve" : "USDC" ,
2021-02-07 03:10:29 +00:00
"user" : "0" ,
"target" : "1"
} ,
"expected" : "revert" ,
"revertMessage" : "Interest rate rebalance conditions were not met"
}
]
} ,
{
2021-02-19 20:50:13 +00:00
"description" : "User 1 borrows the remaining USDC (usage ratio = 100%) at variable. User 0 rebalances user 1, fails since there are no stable borrows (revert expected)" ,
2021-02-07 03:10:29 +00:00
"actions" : [
{
"name" : "borrow" ,
"args" : {
2021-02-19 20:50:13 +00:00
"reserve" : "USDC" ,
2021-02-07 03:10:29 +00:00
"amount" : "20" ,
"borrowRateMode" : "variable" ,
"user" : "1"
} ,
"expected" : "success"
} ,
{
"name" : "rebalanceStableBorrowRate" ,
"args" : {
2021-02-19 20:50:13 +00:00
"reserve" : "USDC" ,
2021-02-07 03:10:29 +00:00
"user" : "0" ,
"target" : "1"
} ,
2021-02-09 23:14:38 +00:00
"expected" : "revert"
2021-02-07 03:10:29 +00:00
}
]
}
]
}