Skip to content

feat(soroban): implement 4 analyzer rules (#775 #776 #777 #778) - #784

Merged
mijinummi merged 2 commits into
MDTechLabs:mainfrom
bobaivigitalpoint-ui:feature/soroban-analyzers-775-778
Aug 28, 2026
Merged

feat(soroban): implement 4 analyzer rules (#775 #776 #777 #778)#784
mijinummi merged 2 commits into
MDTechLabs:mainfrom
bobaivigitalpoint-ui:feature/soroban-analyzers-775-778

Conversation

@bobaivigitalpoint-ui

Copy link
Copy Markdown
Contributor

Implements four new Soroban static-analysis rules.

Rules

All four rules implement SorobanRule, are registered in SorobanRuleEngine::add_default_rules(), and exported from soroban/mod.rs and lib.rs.

Closes #775
Closes #776
Closes #777
Closes #778

…abs#776, MDTechLabs#777, MDTechLabs#778)

- MDTechLabs#775 UnnecessaryCloningRule: detects avoidable .clone() calls on
  Soroban types (Vec, Map, Bytes, String, Address) and flags functions
  with multiple clones or clones of expensive host-object types.

- MDTechLabs#776 MemoryAllocationRule: detects repeated heap allocations within a
  function and allocations that appear inside loop bodies, both of which
  inflate metered CPU/memory resource consumption.

- MDTechLabs#777 InefficientErrorConstructionRule: detects string formatting,
  heap allocations, and repeated Err() constructions on error paths that
  add avoidable overhead on every failing invocation.

- MDTechLabs#778 EventEmissionCostRule: detects frequent event emission, large
  payload types (Vec/Map/Bytes/String), and in-loop event emissions that
  multiply per-iteration ledger footprint costs.

All four rules implement SorobanRule, are registered in
SorobanRuleEngine::add_default_rules(), and are exported from
soroban/mod.rs and lib.rs.

Closes MDTechLabs#775, MDTechLabs#776, MDTechLabs#777, MDTechLabs#778
@drips-wave

drips-wave Bot commented Aug 27, 2026

Copy link
Copy Markdown

@bobaivigitalpoint-ui 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

@mijinummi

Copy link
Copy Markdown
Collaborator

please kindly fix conflict @bobaivigitalpoint-ui

@mijinummi
mijinummi merged commit f261039 into MDTechLabs:main Aug 28, 2026
5 of 7 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

2 participants