I'm using both call and delegatecall within an assembly block and i've noticed that when issuing a call I need to provide 4 bytes (sig) + any arguments, whereas for delegatecall I need to provide 4 bytes (sig) + 32 bytes of zeros and then my arguments.

Does anyone know why this is the case? Does it have something to do with using delegatecall for libraries which expect the contract state to be the first argument?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.