The LlamaAccount.execute allows tx.origin to include some eth in their call currently, which will then be included in the call from LlamaAccount.execute
Because of this, the account cannot for example, use call to deposit eth into weth, trade eth on uniswap, etc.
We should change this such that it uses the ETH in the Llama account.
Modifications:
LlamaAccount.execute now takes an additional parameter uint256 value and uses that value in the low-level call instead of msg.value
LlamaAccount.execute is now not payable.
DelegatecallWithValueNotAllowed error is thrown when value > 0 and it is a delegatecall.
Motivation:
The
LlamaAccount.execute
allowstx.origin
to include some eth in their call currently, which will then be included in the call fromLlamaAccount.execute
Because of this, the account cannot for example, use call to deposit eth into weth, trade eth on uniswap, etc.
We should change this such that it uses the ETH in the Llama account.
Modifications:
LlamaAccount.execute
now takes an additional parameteruint256 value
and uses that value in the low-level call instead ofmsg.value
LlamaAccount.execute
is now notpayable
.DelegatecallWithValueNotAllowed
error is thrown whenvalue > 0
and it is adelegatecall
.Result:
Closes #460