{ "title": "LendingPool: Usage as collateral", "description": "Test cases for the setUserUseReserveAsCollateral() function.", "stories": [ { "description": "User 0 Deposits 1000 LPDAI, disables LPDAI as collateral", "actions": [ { "name": "mint", "args": { "reserve": "LPDAI", "amount": "1000", "user": "0" }, "expected": "success" }, { "name": "approve", "args": { "reserve": "LPDAI", "user": "0" }, "expected": "success" }, { "name": "deposit", "args": { "reserve": "LPDAI", "amount": "1000", "user": "0" }, "expected": "success" }, { "name": "setUseAsCollateral", "args": { "reserve": "LPDAI", "user": "0", "useAsCollateral": "false" }, "expected": "success" } ] }, { "description": "User 1 Deposits 2 WETH, disables WETH as collateral, borrows 400 LPDAI (revert expected)", "actions": [ { "name": "mint", "args": { "reserve": "WETH", "amount": "2", "user": "1" }, "expected": "success" }, { "name": "approve", "args": { "reserve": "WETH", "user": "1" }, "expected": "success" }, { "name": "deposit", "args": { "reserve": "WETH", "amount": "2", "user": "1" }, "expected": "success" }, { "name": "setUseAsCollateral", "args": { "reserve": "WETH", "user": "1", "useAsCollateral": "false" }, "expected": "success" }, { "name": "borrow", "args": { "reserve": "LPDAI", "amount": "400", "borrowRateMode": "variable", "user": "1" }, "expected": "revert", "revertMessage": "The collateral balance is 0" } ] }, { "description": "User 1 enables WETH as collateral, borrows 400 LPDAI", "actions": [ { "name": "setUseAsCollateral", "args": { "reserve": "WETH", "user": "1", "useAsCollateral": "true" }, "expected": "success" }, { "name": "borrow", "args": { "reserve": "LPDAI", "amount": "400", "borrowRateMode": "variable", "user": "1" }, "expected": "success" } ] }, { "description": "User 1 disables WETH as collateral (revert expected)", "actions": [ { "name": "setUseAsCollateral", "args": { "reserve": "WETH", "user": "1", "useAsCollateral": "false" }, "expected": "revert", "revertMessage": "User deposit is already being used as collateral" } ] }, { "description": "User 1 Deposits 10 LPLINKWETH, disables WETH as collateral. Should revert as 10 LPLINKWETH are not enough to cover the debt (revert expected)", "actions": [ { "name": "mint", "args": { "reserve": "LPLINKWETH", "amount": "10", "user": "1" }, "expected": "success" }, { "name": "approve", "args": { "reserve": "LPLINKWETH", "user": "1" }, "expected": "success" }, { "name": "deposit", "args": { "reserve": "LPLINKWETH", "amount": "10", "user": "1" }, "expected": "success" }, { "name": "setUseAsCollateral", "args": { "reserve": "WETH", "user": "1", "useAsCollateral": "false" }, "expected": "revert" } ] }, { "description": "User 1 Deposits 640 more LPLINKWETH (enough to cover the LPDAI debt), disables WETH as collateral", "actions": [ { "name": "mint", "args": { "reserve": "LPLINKWETH", "amount": "640", "user": "1" }, "expected": "success" }, { "name": "deposit", "args": { "reserve": "LPLINKWETH", "amount": "640", "user": "1" }, "expected": "success" }, { "name": "setUseAsCollateral", "args": { "reserve": "WETH", "user": "1", "useAsCollateral": "false" }, "expected": "success" } ] }, { "description": "User 1 disables LPLINKWETH as collateral (revert expected)", "actions": [ { "name": "setUseAsCollateral", "args": { "reserve": "LPLINKWETH", "user": "1", "useAsCollateral": "false" }, "expected": "revert" } ] }, { "description": "User 1 reenables WETH as collateral", "actions": [ { "name": "setUseAsCollateral", "args": { "reserve": "WETH", "user": "1", "useAsCollateral": "true" }, "expected": "success" } ] } ] }