Skip to content

Commit

Permalink
Report for issue #3 updated by 0xhacksmithh
Browse files Browse the repository at this point in the history
  • Loading branch information
code423n4 committed Mar 7, 2023
1 parent 30002a1 commit 62b2d45
Showing 1 changed file with 40 additions and 20 deletions.
60 changes: 40 additions & 20 deletions data/0xhacksmithh-G.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,57 +2,68 @@

### [Gas-01] Struct can be packed
*instances(16 structs)*
```File: Ethos-Core/contracts/CollateralConfig.sol
```
File: Ethos-Core/contracts/CollateralConfig.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/CollateralConfig.sol#L27-L32
````
```File: Ethos-Core/contracts/BorrowerOperations.sol
```
File: Ethos-Core/contracts/BorrowerOperations.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/BorrowerOperations.sol#L47-L64
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/BorrowerOperations.sol#L66-L78
```
```File: Ethos-Core/contracts/TroveManager.sol
```
File: Ethos-Core/contracts/TroveManager.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L129-L138
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L140-L144
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L146-L158
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L160-L170
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L172-L182
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L1-L1
```
```File: Ethos-Core/contracts/ActivePool.sol
```
File: Ethos-Core/contracts/ActivePool.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/ActivePool.sol#L220-L237
```
```File: Ethos-Core/contracts/StabilityPool.sol
```
File: Ethos-Core/contracts/StabilityPool.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/StabilityPool.sol#L214
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/StabilityPool.sol#L223
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/StabilityPool.sol#L646-L655
```
```File: Ethos-Core/contracts/LUSDToken.sol
```
File: Ethos-Core/contracts/LUSDToken.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/LUSDToken.sol#L58
```
```File: Ethos-Vault/contracts/ReaperVaultV2.sol
```
File: Ethos-Vault/contracts/ReaperVaultV2.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Vault/contracts/ReaperVaultV2.sol#L25-L32
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Vault/contracts/ReaperVaultV2.sol#L473-L483
```

### [Gas-02] Code base using ```assert()``` instead of ```require()```
*instances(17)*
```File: Ethos-Core/contracts/BorrowerOperations.sol
```
File: Ethos-Core/contracts/BorrowerOperations.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/BorrowerOperations.sol#L128
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/BorrowerOperations.sol#L301
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/BorrowerOperations.sol#L331
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/BorrowerOperations.sol#L653
```
```File: Ethos-Core/contracts/TroveManager.sol
```
File: Ethos-Core/contracts/TroveManager.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L1224
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L1279
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L1342
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L1348
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L1414
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L1489
```
```File: Ethos-Core/contracts/StabilityPool.sol
```
File: Ethos-Core/contracts/StabilityPool.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/StabilityPool.sol#L551
```
```File: Ethos-Core/contracts/LUSDToken.sol
```
File: Ethos-Core/contracts/LUSDToken.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/LUSDToken.sol#L312
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/LUSDToken.sol#L313
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/LUSDToken.sol#L321
Expand All @@ -63,28 +74,33 @@ https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/LUSDT

### [Gas-03] Use of && Operator in ```assert()``` and ```require()```
*instances(7)*
```File: Ethos-Core/contracts/BorrowerOperations.sol
```
File: Ethos-Core/contracts/BorrowerOperations.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/BorrowerOperations.sol#L301
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/BorrowerOperations.sol#L
```
```File: Ethos-Core/contracts/TroveManager.sol
```
File: Ethos-Core/contracts/TroveManager.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L1279
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L1342
```
```File: Ethos-Core/contracts/LUSDToken.sol
```
File: Ethos-Core/contracts/LUSDToken.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/LUSDToken.sol#L348
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/LUSDToken.sol#L353-L356
```

### [Gas-04] ```constant``` should be value rather than expression
*instances(2)*
```File: Ethos-Core/contracts/TroveManager.sol
```
File: Ethos-Core/contracts/TroveManager.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L54-L55
```

### [Gas-05] Multiple addresses mapping can be combined into a single mapping of an addresses to a struct where appropriate
*instances(2)*
```File: Ethos-Core/contracts/TroveManager.sol
```
File: Ethos-Core/contracts/TroveManager.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L86
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/TroveManager.sol#L109
```
Expand All @@ -96,20 +112,23 @@ struct Deposit {
}
```
*instances()*
```File: Ethos-Core/contracts/StabilityPool.sol
```
File: Ethos-Core/contracts/StabilityPool.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/StabilityPool.sol#L186
```

### [Gas-07] STACK VARIABLE USED AS A CHEAPER CACHE FOR A STATE VARIABLE IS ONLY USED ONCE
*instances(2)*
```File: Ethos-Core/contracts/StabilityPool.sol
```
File: Ethos-Core/contracts/StabilityPool.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/StabilityPool.sol#L468
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/StabilityPool.sol#L488
```

### [Gas-08] Some ```internal``` functions could be inlined
*instances(5)*
```File: Ethos-Core/contracts/LUSDToken.sol
```
File: Ethos-Core/contracts/LUSDToken.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/LUSDToken.sol#L360
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/LUSDToken.sol#L365
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/LUSDToken.sol#L375
Expand All @@ -119,7 +138,8 @@ https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Core/contracts/LUSDT

### [Gas-09] ```<x>+=<y>``` COSTS MORE GAS THAN <x> = <x> + <y> FOR STATE VARIABLES
*instances(15)*
```File: Ethos-Vault/contracts/ReaperVaultV2.sol
```
File: Ethos-Vault/contracts/ReaperVaultV2.sol
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Vault/contracts/ReaperVaultV2.sol#L194
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Vault/contracts/ReaperVaultV2.sol#L196
https://github.com/code-423n4/2023-02-ethos/blob/main/Ethos-Vault/contracts/ReaperVaultV2.sol#L214
Expand Down

0 comments on commit 62b2d45

Please sign in to comment.