safe-global / safe-smart-account

Safe allows secure management of blockchain assets.
https://safe.global
GNU Lesser General Public License v3.0
1.88k stars 927 forks source link

Executor verification #559

Closed RenanSouza2 closed 1 year ago

RenanSouza2 commented 1 year ago

Hey everyone, this is more of a suggestion.

In the Executor.sol file, the execute function makes either a call or a delegatecall and rceives value as an input. My suggestion is to revert if a delegatecall operation is called with a non zero value as argument.

mmv08 commented 1 year ago

This would break existing flows such as transaction batching, see the multisend contract for example https://github.com/safe-global/safe-contracts/blob/main/contracts/libraries/MultiSend.sol#L18-L33