{ "title": "LendingPool: withdraw", "description": "withdraw function.", "stories": [ { "description": "User 0 Deposits 1000 LPDAI in an empty reserve", "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" } ] }, { "description": "User 0 withdraws half of the deposited LPDAI", "actions": [ { "name": "withdraw", "args": { "reserve": "LPDAI", "amount": "500", "user": "0" }, "expected": "success" } ] }, { "description": "User 0 withdraws remaining half of the deposited LPDAI", "actions": [ { "name": "withdraw", "args": { "reserve": "LPDAI", "amount": "-1", "user": "0" }, "expected": "success" } ] }, { "description": "User 0 Deposits 1000 LPUSDC in an empty reserve", "actions": [ { "name": "mint", "args": { "reserve": "LPUSDC", "amount": "1000", "user": "0" }, "expected": "success" }, { "name": "approve", "args": { "reserve": "LPUSDC", "user": "0" }, "expected": "success" }, { "name": "deposit", "args": { "reserve": "LPUSDC", "amount": "1000", "user": "0" }, "expected": "success" } ] }, { "description": "User 0 withdraws half of the deposited LPUSDC", "actions": [ { "name": "withdraw", "args": { "reserve": "LPUSDC", "amount": "500", "user": "0" }, "expected": "success" } ] }, { "description": "User 0 withdraws remaining half of the deposited LPUSDC", "actions": [ { "name": "withdraw", "args": { "reserve": "LPUSDC", "amount": "-1", "user": "0" }, "expected": "success" } ] }, { "description": "User 0 Deposits 1 WETH in an empty reserve", "actions": [ { "name": "mint", "args": { "reserve": "WETH", "amount": "1", "user": "0" }, "expected": "success" }, { "name": "approve", "args": { "reserve": "WETH", "user": "0" }, "expected": "success" }, { "name": "deposit", "args": { "reserve": "WETH", "amount": "1", "user": "0" }, "expected": "success" } ] }, { "description": "User 0 withdraws half of the deposited WETH", "actions": [ { "name": "withdraw", "args": { "reserve": "WETH", "amount": "0.5", "user": "0" }, "expected": "success" } ] }, { "description": "User 0 withdraws remaining half of the deposited WETH", "actions": [ { "name": "withdraw", "args": { "reserve": "WETH", "amount": "-1", "user": "0" }, "expected": "success" } ] }, { "description": "Users 0 and 1 Deposit 1000 LPDAI, both withdraw", "actions": [ { "name": "mint", "args": { "reserve": "LPDAI", "amount": "1000", "user": "1" }, "expected": "success" }, { "name": "approve", "args": { "reserve": "LPDAI", "user": "1" }, "expected": "success" }, { "name": "deposit", "args": { "reserve": "LPDAI", "amount": "1000", "user": "0" }, "expected": "success" }, { "name": "deposit", "args": { "reserve": "LPDAI", "amount": "1000", "user": "1" }, "expected": "success" }, { "name": "withdraw", "args": { "reserve": "LPDAI", "amount": "-1", "user": "0" }, "expected": "success" }, { "name": "withdraw", "args": { "reserve": "LPDAI", "amount": "-1", "user": "1" }, "expected": "success" } ] }, { "description": "Users 0 deposits 1000 LPDAI, user 1 Deposit 1000 LPUSDC and 1 WETH, borrows 100 LPDAI at stable rate (revert expected). User 1 tries to withdraw all the LPUSDC", "actions": [ { "name": "deposit", "args": { "reserve": "LPDAI", "amount": "1000", "user": "0" }, "expected": "success" }, { "name": "mint", "args": { "reserve": "LPUSDC", "amount": "1000", "user": "1" }, "expected": "success" }, { "name": "approve", "args": { "reserve": "LPUSDC", "user": "1" }, "expected": "success" }, { "name": "deposit", "args": { "reserve": "LPUSDC", "amount": "1000", "user": "1" }, "expected": "success" }, { "name": "mint", "args": { "reserve": "WETH", "amount": "1", "user": "1" }, "expected": "success" }, { "name": "approve", "args": { "reserve": "WETH", "user": "1" }, "expected": "success" }, { "name": "deposit", "args": { "reserve": "WETH", "amount": "1", "user": "1" }, "expected": "success" }, { "name": "borrow", "args": { "reserve": "LPDAI", "amount": "100", "user": "1", "borrowRateMode": "stable" }, "expected": "revert" }, { "name": "withdraw", "args": { "reserve": "LPUSDC", "amount": "-1", "user": "1" }, "expected": "success" } ] }, { "description": "Users 0 deposits 1000 LPDAI, user 1 Deposit 1000 LPUSDC and 1 WETH, borrows 100 LPDAI at variable rate. User 1 tries to withdraw all the LPUSDC", "actions": [ { "name": "mint", "args": { "reserve": "LPDAI", "amount": "1000", "user": "0" }, "expected": "success" }, { "name": "deposit", "args": { "reserve": "LPDAI", "amount": "1000", "user": "0" }, "expected": "success" }, { "name": "mint", "args": { "reserve": "LPUSDC", "amount": "10000", "user": "1" }, "expected": "success" }, { "name": "approve", "args": { "reserve": "LPUSDC", "user": "1" }, "expected": "success" }, { "name": "deposit", "args": { "reserve": "LPUSDC", "amount": "1000", "user": "1" }, "expected": "success" }, { "name": "mint", "args": { "reserve": "WETH", "amount": "1", "user": "1" }, "expected": "success" }, { "name": "approve", "args": { "reserve": "WETH", "user": "1" }, "expected": "success" }, { "name": "deposit", "args": { "reserve": "WETH", "amount": "1", "user": "1" }, "expected": "success" }, { "name": "borrow", "args": { "reserve": "LPDAI", "amount": "100", "user": "1", "borrowRateMode": "variable" }, "expected": "success" }, { "name": "withdraw", "args": { "reserve": "LPUSDC", "amount": "-1", "user": "1" }, "expected": "success" } ] }, { "description": "Users 1 tries to withdraw 0.05 WETH, which does not bring the HF below 1", "actions": [ { "name": "withdraw", "args": { "reserve": "WETH", "amount": "0.05", "user": "1" }, "expected": "success" } ] } ] }