Skip to content

Implement issues #292, #294, #293: Expensive String Ops, Nested Loops…#419

Merged
mijinummi merged 1 commit into
MDTechLabs:mainfrom
fadee26:feature/implement-issues-292-294-293
May 30, 2026
Merged

Implement issues #292, #294, #293: Expensive String Ops, Nested Loops…#419
mijinummi merged 1 commit into
MDTechLabs:mainfrom
fadee26:feature/implement-issues-292-294-293

Conversation

@fadee26
Copy link
Copy Markdown
Contributor

@fadee26 fadee26 commented May 30, 2026

Description

This PR implements three new rules for Solidity analysis:

  1. sol-010 - Expensive String Operations

    • Detects costly string manipulation (concatenation, assignments)
    • Recommends using bytes types instead for gas efficiency
  2. sol-011 - Nested Loop Gas Risk

    • Finds nested loops (depth >1) that can consume excessive gas
    • Warns about potential block gas limit violations
  3. sol-012 - Missing Event Emissions

    • Flags state-changing functions that don't emit events
    • Improves auditability and transparency
      Additionally, fixes syntax errors in the existing sol-009 (Missing Timelock) rule implementation that were causing compilation issues.

Changes

  • Updated libs/engine/analyzers/solidity-analyzer.ts
  • Added new rule definitions to SolidityAnalyzer.rules
  • Implemented detectExpensiveStringOperations()
  • Implemented detectNestedLoops()
  • Implemented detectMissingEventEmissions()
  • Added rule checks in analyze() method
  • Fixed sol-009 implementation (detectMissingTimelockForSensitiveOperations)

closes #292 
closes #294 
closes #293 

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 30, 2026

@fadee26 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

…nsive String Ops, Nested Loops, Missing Events
@mijinummi mijinummi merged commit 27be87a into MDTechLabs:main May 30, 2026
1 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants