-
Notifications
You must be signed in to change notification settings - Fork 969
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 cannot be used if msg.value != 0 #227
Milestone
Comments
rmeissner
changed the title
MultiSend needs payable modifier to work with value
MultiSend cannot be used if msg.value != 0
Aug 4, 2020
rmeissner
added a commit
that referenced
this issue
Mar 24, 2021
rmeissner
added a commit
that referenced
this issue
Mar 24, 2021
rmeissner
added a commit
that referenced
this issue
Mar 25, 2021
Uxio0
pushed a commit
that referenced
this issue
May 6, 2021
Saw-mon-and-Natalie
pushed a commit
to Saw-mon-and-Natalie/safe-contracts
that referenced
this issue
Nov 1, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
How to reproduce
I tried to use CPK 1.1.1 with the following custom config on Rinkeby:
I wanted to make use of the new payable execTransaction method.
However my TX failed in MultiSend:
https://dashboard.tenderly.co/tx/rinkeby/0xdd3f43df77e3c190faf1ab333d27fe4ac778e705ae09eaa4385ae22353cef322/debugger
Then I deployed a payable MultiSend. multiSend contract to Rinkeby:
https://rinkeby.etherscan.io/address/0x636D3336B120498CC3B596FF30B20e87d813953f#code
Then my TX that uses ETHER msg.value worked:
https://rinkeby.etherscan.io/tx/0x08f1271ffb68efbdfdb0a0856910ca662a6c9e6070638dfdda9dbf767a2dafa3
Why it happens
This happens because Solidity creates a check that
msg.value == 0
if thepayable
modifiere is not present (https://github.com/gnosis/safe-contracts/blob/development/contracts/libraries/MultiSend.sol#L27).The text was updated successfully, but these errors were encountered: