You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
supply(e, marketParams, assets, shares, onBehalf, data) at init;
23
+
storage afterOne = lastStorage;
24
+
25
+
assert afterBoth == afterOne;
26
+
}
27
+
```
28
+
11
29
### Transfers
30
+
12
31
Token transfers are verified to behave as expected for the most common implementations, in particular the transferred amount is the amount passed as input.
13
32
Morpho Blue uses a transfer library to handle different tokens, including tokens that do not strictly respect the standard, in particular, when the return value on transfer and transferFrom function are missing, such as for the USDT token. This is difficult for the prover, so a summary is used to ease the verification of rules that rely on the transfer of tokens. This summary is verified to behave as expected in the Transfer.spec file.
14
33
15
34
### Markets
35
+
16
36
Markets on Morpho Blue depend on a pair of assets, the borrowable asset that is supplied and borrowed, and the collateral asset.
17
37
Markets are independent, which means that loans cannot be impacted by loans from other markets.
18
38
Positions of users are also independent, so loans cannot be impacted by loans from other users.
19
39
The accounting of the markets has been verified (such as the total amounts), as well as the fact that only market with enabled parameters are created.
20
40
21
41
### Supply
42
+
22
43
When supplying on Morpho Blue, interest is earned over time, and the distribution is implemented through a shares mechanism.
23
44
Shares increase in value as interest is accrued.
24
45
25
46
### Borrow
47
+
26
48
To borrow on Morpho Blue, collateral must be deposited.
27
49
Collateral tokens remain idle, as well as any borrowable token that has not been borrowed.
28
50
29
51
### Liquidation
52
+
30
53
To ensure proper collateralization, a liquidation system is put in place.
31
54
In the absence of accrued interest, for example when creating a new position or when interacting multiple times in the same block, a position cannot be made unhealthy.
32
55
33
56
### Authorization
57
+
34
58
Morpho Blue also defines a sound authorization system where users cannot modify positions of other users without proper authorization (except when liquidating).
35
59
36
60
### Safety
61
+
37
62
Other safety properties are verified, particularly regarding reentrancy attacks and about input validation and revert conditions.
38
63
39
64
### Liveness
65
+
40
66
Other liveness properties are verified as well, in particular it is always possible to exit a position without concern for the oracle.
0 commit comments