Beginner FriendlyFoundry
100 EXP
View results
Submission Details
Severity: medium
Invalid

`MondrianWallet2::_validateTransaction(Transaction)` and `MondrianWallet2::_executeTransaction(Transaction)` have unused return values

Summary

The return values of an external call are not stored in a local or state variable.

Vulnerability Details

MondrianWallet2::_validateTransaction(Transaction) (src/MondrianWallet2.sol#123-147) ignores return value by SystemContractsCaller.systemCallWithPropagatedRevert(uint32(gasleft()()),address(NONCE_HOLDER_SYSTEM_CONTRACT),0,abi.encodeCall(INonceHolder.incrementMinNonceIfEquals,(_transaction.nonce))) (src/MondrianWallet2.sol#124-129)
MondrianWallet2::_executeTransaction(Transaction) (src/MondrianWallet2.sol#149-164) ignores return value by SystemContractsCaller.systemCallWithPropagatedRevert(gas,to,value,data) (src/MondrianWallet2.sol#156)

Impact

The transactions fail to validate (MondrianWallet2::validateTransaction(bytes32, /*_txHash*/ bytes32, /*_suggestedSignedHash*/ Transaction memory _transaction)) nor execute (MondrianWallet2::executeTransaction(bytes32, /*_txHash*/ bytes32, /*_suggestedSignedHash*/ Transaction memory _transaction)) resulting in lost funds.

Tools Used

Slither

Recommendations

Ensure that all the return values of the function calls are used.

Updates

Lead Judging Commences

bube Lead Judge 12 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

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