Skip to content

Latest commit

 

History

History
171 lines (93 loc) · 4.06 KB

report.md

File metadata and controls

171 lines (93 loc) · 4.06 KB

Aderyn Analysis Report

This report was generated by Aderyn, a static analysis tool built by Cyfrin, a blockchain security company. This report is not a substitute for manual audit or security review. It should not be relied upon for any purpose other than to assist in the identification of potential security vulnerabilities.

Table of Contents

Summary

Files Summary

Key Value
.sol Files 0
Total nSLOC 0

Files Details

Filepath nSLOC
Total 0

Issue Summary

Category No. of Issues
High 0
Low 6

Low Issues

L-1: Unsafe ERC20 Operations should not be used

ERC20 functions may not behave as expected. For example: return values are not always meaningful. It is recommended to use OpenZeppelin's SafeERC20 library.

1 Found Instances
  • Found in src/Wallet.sol Line: 92

             payable(msg.sender).transfer(balance);

L-2: Missing checks for address(0) when assigning values to address state variables

Check for address(0) when assigning values to address state variables.

1 Found Instances
  • Found in src/Wallet.sol Line: 120

             owner = newOwner;

L-3: Event is missing indexed fields

Index event fields make the field more quickly accessible to off-chain tools that parse events. However, note that each index field costs extra gas during emission, so it's not necessarily best to index the maximum allowed per event (three fields). Each event should use three indexed fields if there are three or more fields, and gas usage is not particularly of concern for the events in question. If there are fewer than three fields, all of the fields should be indexed.

2 Found Instances
  • Found in src/Wallet.sol Line: 21

         event OnReceiveEth(address indexed sender, uint256 amount);
  • Found in src/Wallet.sol Line: 22

         event OnWithdrawEth(address indexed recepiant, uint256 amount);

L-4: Modifiers invoked only once can be shoe-horned into the function

1 Found Instances
  • Found in src/Wallet.sol Line: 41

         modifier NotZeroAddress(address val) {

L-5: Contract still has TODOs

Contract contains comments with TODOS

1 Found Instances
  • Found in src/Wallet.sol Line: 15

     contract Wallet {

L-6: Unused Custom Error

it is recommended that the definition be removed when custom error is unused

4 Found Instances
  • Found in src/Wallet.sol Line: 25

         error FailedWithdraw();
  • Found in src/Wallet.sol Line: 26

         error FailedWithdrawCall(bytes);
  • Found in src/Wallet.sol Line: 27

         error ZeroAddress();
  • Found in src/Wallet.sol Line: 29

         error NotOwner();