Pieces Protocol

First Flight #32
Beginner FriendlyFoundrySolidityNFT
100 EXP
View results
Submission Details
Severity: low
Invalid

Use of Inline Assembly

Summary

Inline assembly is used in several functions, increasing complexity and susceptibility to low-level bugs.

Vulnerability Details

The following instances use inline assembly:

  • Math.mulDiv: Contains complex assembly for optimization, increasing audit difficulty.

  • Strings.toString: Uses assembly for string manipulation.

  • Strings.toChecksumHexString: Includes inline assembly for address formatting.

Impact

Assembly code may introduce bugs that are harder to detect and debug, especially in critical mathematical functions.

Tools Used

  • Slither: Detected inline assembly in key functions.

Recommendations

  1. Minimize the use of inline assembly unless strictly necessary.

  2. Document and test assembly code thoroughly.

  3. Use higher-level Solidity constructs whenever possible.

Updates

Lead Judging Commences

fishy Lead Judge 7 months ago
Submission Judgement Published
Invalidated
Reason: Lack of quality

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.