Skip to content

Latest commit

 

History

History
59 lines (45 loc) · 2.01 KB

coverage.md

File metadata and controls

59 lines (45 loc) · 2.01 KB
<style> div{ color:red; font-weight:bold; font-style:italic; font-size:1.2rem; } p { color:green; font-weight:bold; font-size:1.2rem; } </style>

Legend

Red is not covered

Green is covered

Note: the line items don't necessarily correspond to tests 1:1 but instead represent features that need to be covered in the tests.

Liquidity Receiver

CREATE2: Deployed PyroToken address matches predicted address
SetFeeExempt on EOA fails
Non fee exempt contract charged all fees, EOA charged all fees
SetFeeExempt on Contract passes for each scenario
Redeploying existing PyroToken fails
Only valid nonburnable tokens can have pyroTokens
Transfer of pyroToken to new liquidity receiver works fully

PyroToken

Redeploying existing PyroToken fails
Mint when LR has pending reserves increases redeem rate
Burning, transferring, redeeming or sending tokens to reserve increases redeem rate
Redeeming with pending LR has a bigger update than just regular redeem
Minted amount and redeemed amount match predictions based on redeemRate
RedeemFor requires ERC20 allowance as though it's a transferFrom operation
Redeeming all pyroTokens sets redeemRate to 1
FOT transfer tokens can be minted and redeemed without causing reverts
Rebase up tokens increase redeem rate
transferFrom works correctly
calculated fee matches reality

PyroToken loans (PyroToken side)

Loan officer cannot borrow if not approved
Owner cannot stake more pyroTokens than owned.
Borrower cannot borrow more base than implied by redeem rate.
After borrowing max, redeem rate growth allows for larger borrowing
Borrower cannot borrow more base than implied by redeem rate.
Paying back all debt leads total unstaking of pyro

Constant Product Loan Officer test