• Sina Mahmoodi's avatar
    core,eth: call frame tracing (#23087) · 40135497
    Sina Mahmoodi authored
    
    This change introduces 2 new optional methods; `enter()` and `exit()` for js tracers, and makes `step()` optiona. The two new methods are invoked when entering and exiting a call frame (but not invoked for the outermost scope, which has it's own methods). Currently these are the data fields passed to each of them:
    
        enter: type (opcode), from, to, input, gas, value
        exit: output, gasUsed, error
    
    The PR also comes with a re-write of the callTracer. As a backup we keep the previous tracing script under the name `callTracerLegacy`. Behaviour of both tracers are equivalent for the most part, although there are some small differences (improvements), where the new tracer is more correct / has more information. 
    40135497
oog.json 9.58 KB