Platform: Code4rena
Start Date: 24/10/2023
Pot Size: $149,725 USDC
Total HM: 7
Participants: 52
Period: 21 days
Judge: ronnyx2017
Total Solo HM: 2
Id: 300
League: ETH
Rank: 46/52
Findings: 1
Award: $19.71
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: SpicyMeatball
Also found by: 0xBeirao, 7ashraf, LokiThe5th, OMEN, TrungOre, alexzoid, alpha, bdmcbri, ether_sky, fatherOfBlocks, ge6a, hihen, hunter_w3b, jasonxiale, ladboy233, lsaudit, niroh, nobody2018, nonseodion, peanuts, prapandey031, shaka, twcctop, twicek, wangxx2026
19.712 USDC - $19.71
/packages/contracts/contracts/HintHelpers.sol
L182 - abi.encodePacked() should not be used with dynamic types when passing the result to a hash function such as keccak256() Use abi.encode() instead which will pad items to 32 bytes, which will prevent hash collisions (e.g. abi.encodePacked(0x123,0x456) => 0x123456 => abi.encodePacked(0x1,0x23456), but abi.encode(0x123,0x456) => 0x0...1230...456). “Unless there is a compelling reason, abi.encode should be preferred”. If there is only one argument to abi.encodePacked() it can often be cast to bytes() or bytes32() instead. If all arguments are strings and or bytes, bytes.concat() should be used instead.
L145 - Divisions are made by the input _price and it is not validated if the value is != 0, therefore it should be previously validated to avoid generating unhandled exceptions.
/packages/contracts/contracts/LeverageMacroBase.sol
/packages/contracts/contracts/SimplifiedDiamondLike.sol
/packages/contracts/contracts/Dependencies/EbtcBase.sol
/packages/contracts/contracts/Dependencies/EbtcMath.sol
/packages/contracts/contracts/LiquidationLibrary.sol
/packages/contracts/contracts/EBTCToken.sol
/packages/contracts/contracts/BorrowerOperations.sol
#0 - c4-pre-sort
2023-11-17T14:46:22Z
bytes032 marked the issue as insufficient quality report
#1 - c4-judge
2023-11-27T10:01:49Z
jhsagd76 marked the issue as grade-b
#2 - jhsagd76
2023-12-08T06:41:43Z
3N
1L
B