Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Add Foundry Gas Differences workflow #53

Merged
merged 5 commits into from
Apr 26, 2024
Merged

Conversation

Aboudjem
Copy link
Contributor

Pull Request for Smart Contract Improvement

Describe your changes:

Link any related issues:

Testing:

Note: Please ensure all tests and lint checks pass before requesting a review. If there are any errors, fix them prior to submission.

Checklist:

  • I have performed a self-review of my own code.
  • I have added tests that prove my fix is effective or that my feature works.
  • I have made corresponding changes to the documentation, if applicable.
  • My changes generate no new warnings or errors.

Copy link

🤖 Slither Analysis Report 🔎

Slither report

Slither report

THIS CHECKLIST IS NOT COMPLETE. Use --show-ignored-findings to show all the results.
Summary
🟡 - unused-return (5 results) (Medium)
🔵 - shadowing-local (1 results) (Low)
🔵 - missing-zero-check (1 results) (Low)
🔵 - reentrancy-events (5 results) (Low)
ℹ️ - assembly (18 results) (Informational)
ℹ️ - dead-code (5 results) (Informational)
ℹ️ - low-level-calls (1 results) (Informational)
ℹ️ - naming-convention (5 results) (Informational)
ℹ️ - redundant-statements (1 results) (Informational)
ℹ️ - too-many-digits (1 results) (Informational)

unused-return

🟡 Impact: Medium
🟡 Confidence: Medium

base/ModuleManager.sol#L284-L290

  • ID-1
    SmartAccount.executeFromExecutor(ExecutionMode,bytes) ignores return value by (callType,execType) = mode.decode()

SmartAccount.sol#L76-L118

base/ModuleManager.sol#L292-L298

  • ID-3
    SmartAccount.execute(ExecutionMode,bytes) ignores return value by (callType,execType) = mode.decode()

SmartAccount.sol#L57-L68

  • ID-4
    SmartAccount.supportsExecutionMode(ExecutionMode) ignores return value by (callType,execType) = mode.decode()

SmartAccount.sol#L224-L246

shadowing-local

🔵 Impact: Low
🔴 Confidence: High

SmartAccount.sol#L37

missing-zero-check

🔵 Impact: Low
🟡 Confidence: Medium

factory/AccountFactory.sol#L11

reentrancy-events

🔵 Impact: Low
🟡 Confidence: Medium

SmartAccount.sol#L160-L175

SmartAccount.sol#L133-L156

factory/AccountFactory.sol#L22-L40

SmartAccount.sol#L76-L118

SmartAccount.sol#L57-L68

assembly

ℹ️ Impact: Informational
🔴 Confidence: High

base/ModuleManager.sol#L81-L84

base/ModuleManager.sol#L107-L110

base/Storage.sol#L18-L22

  • ID-15
    SmartAccount.getImplementation() uses assembly
    • INLINE ASM

SmartAccount.sol#L206-L210

base/ExecutionHelper.sol#L82-L98

base/ExecutionHelper.sol#L101-L116

lib/ModeLib.sol#L91-L104

base/BaseAccount.sol#L73-L89

  • ID-20
    SmartAccount.validateUserOp(PackedUserOperation,bytes32,uint256) uses assembly
    • INLINE ASM

SmartAccount.sol#L31-L47

base/ExecutionHelper.sol#L64-L79

base/BaseAccount.sol#L105-L118

lib/ExecLib.sol#L13-L29

lib/ModeLib.sol#L134-L138

base/ModuleManager.sol#L107-L110

base/BaseAccount.sol#L92-L102

base/ModuleManager.sol#L73-L131

base/ExecutionHelper.sol#L43-L62

base/ModuleManager.sol#L81-L84

dead-code

ℹ️ Impact: Informational
🟡 Confidence: Medium

base/ExecutionHelper.sol#L82-L98

base/ExecutionHelper.sol#L101-L116

lib/ModeLib.sol#L158-L160

base/ModuleManager.sol#L81-L84

base/ModuleManager.sol#L107-L110

low-level-calls

ℹ️ Impact: Informational
🔴 Confidence: High

  • ID-35
    🔵 Low level call in SmartAccount.executeUserOp(PackedUserOperation,bytes32):
    • (success) = address(this).delegatecall(callData)

SmartAccount.sol#L122-L129

naming-convention

ℹ️ Impact: Informational
🔴 Confidence: High

factory/AccountFactory.sol#L9

base/ModuleManager.sol#L107

base/ModuleManager.sol#L107

base/ModuleManager.sol#L81

base/ModuleManager.sol#L81

redundant-statements

ℹ️ Impact: Informational
🔴 Confidence: High

  • ID-41
    Redundant expression "additionalContext" inSmartAccount

SmartAccount.sol#L291

too-many-digits

ℹ️ Impact: Informational
🟡 Confidence: Medium

base/BaseAccount.sol#L105-L118

This comment was automatically generated by the GitHub Actions workflow.

@Aboudjem Aboudjem merged commit 66c4408 into dev Apr 26, 2024
5 of 9 checks passed
@Aboudjem Aboudjem deleted the feat/foundry-gas-diff branch April 26, 2024 11:06
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.

1 participant