I'm looking for some help to understand some panoramix decompilation output.

Here is the contract I am trying to understand:

#  Panoramix v4 Oct 2019 
#  Decompiled source of 0x21c8532D5D3e555dc7eaB44f5D344A2a1535F880
#  Let's make the world open source 
def _fallback() payable: # default function
  delegate 0x39778bc77bd7a9456655b19fd4c5d0bf2071104e with:
     funct call.data[return_data.size len 4]
       gas gas_remaining wei
      args call.data[return_data.size + 4 len calldata.size - 4]
  if not delegate.return_code:
      revert with ext_call.return_data[return_data.size len return_data.size]
  return ext_call.return_data[return_data.size len return_data.size]

It would be nice to know exactly what 'delegate' and 'ext_call' refer to here (DELEGATECALL instructions for evm? something else?).

  • It looks like a simple proxy, it calls the delegated contract forwarding call data, gas, and wei, then if the return code is false it reverts else if it is true returns the data from the delegate.
    – Ismael
    Jul 1 '21 at 21:42

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.