0

I was checking Etherscan and come across a deployed contract (Create contract), but the method id was 0x60a06040.

I then used https://openchain.xyz/signatures?query=0x60a06040 and found out that the name is "rugPullAll((uint240),(bytes4),int88[],bytes4,int136)"

what is going on here ?

1

1 Answer 1

3

This is not a Method ID (not a hash of a function name that'd be in the deployed contract) even though Etherscan shows it as Method in the UI.

And that it shows as rugPullAll and even other ones if you check other resources like 4byte.directory is a mere coincedence and is relatively common in causing confusion.

0x60a06040 is a common starting point of the bytecode of a contract:

  • 0x60 is the PUSH1 opcode which pushes the next byte onto the stack.
  • 0xa0 is the byte pushed onto the stack by the first PUSH1.
  • 0x60 is another PUSH1 opcode.
  • 0x40 is the byte pushed onto the stack by the second PUSH1.

This is essentially a sequence initializing memory for the contract. It's injected by the Solidity compiler as part of the contract creation and initialization process. Nothing in the high level Solidity code of the contract itself is directly specified to result in 0x60a06040.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.