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

Multisend for calls only should not allow ˋDELEGATECALLˋ operation #803

Open
clemsos opened this issue May 3, 2024 · 0 comments
Open

Comments

@clemsos
Copy link
Contributor

clemsos commented May 3, 2024

Description

When creating a multicall transaction with only calls, the operation should not return a ˋDELEGATECALL` operation, as the multisend function of the MultiSendCallOnly contract does not allow it.

https://github.com/safe-global/safe-smart-account/blob/main/contracts/libraries/MultiSendCallOnly.sol#L55

When onlyCalls flag is set in createTransaction, the operation for the calls should always be 0.

Environment

  • Safe Core SDK version:
  • Safe contract version:
  • Environment:
    • non-browser: hardhat

Steps to reproduce

  • Parse a set of calls to a proxy using ˋsafe.createTransactionˋ with ˋonlyCallsˋ flag set to true
  • Execute the tx in a safe

The tx will revert as the 1 operation is not allowed

Expected result

Multisend should execute all txs properly.

Additional context

Tested a with passing operation CALL to all packed txs and it worked, while using ˋoperation: 1ˋ fails.

@clemsos clemsos changed the title Multisend for calls only should not allow ˋDELEGATECALL` operation Multisend for calls only should not allow ˋDELEGATECALLˋ operation May 3, 2024
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

No branches or pull requests

1 participant