Interesting article. I actually had a question with delegatecall/call today. It’s a bit off-topic, but you might know the answer. (I have very limited experience with Solidity.)
I was wondering why bulk/batch ETH senders sometimes have very different call/delegatecall costs per internal transfer:
From Bulksender.app:
From another bulk sender
:
If you look at the Geth VM Trace the calls/delegatecalls gas costs are very different.
I have a couple questions:
-
I believe the Bulksender.app contract is a proxy while the second does doesn’t use delegates. If I’m not the contract developer, how difficult is it to audit the code for security between the delegate and non-delegate versions? I can’t view the code for the delegated Bulksender.app, but I can view it for the second contract that doesn’t use delegation.
-
Apparently, the first time any account uses either of the bulk sender apps, the gas amount is 35-38K compared to 10-12K for subsequent times. Why is this? 35K is much more expensive than the typical 21K gas for basic transfers.