Here's one way to catch the return data of precompiles:
add a bit to the java implementation of the hub, say isPrecompileCall; by default it should be set to false
during tracePreOpCode() you set it like so
if (opCode.isCall()) {
isPrecompileCall = calleeAddress.isPrecompile() // not sure about the syntax
}
then in tracePostOpcode you do the following
if (isPrecompileCall) {
frame.setReturnData( [besu's return data] ); // not sure how to get this return data but it should be available through best
}
isPrecompileCall = false;
This leaves open the question of extracting besu's return data (and whether or not it will be available before tracePostOpcode is called.
Here's one way to catch the return data of precompiles:
isPrecompileCall
; by default it should be set tofalse
tracePreOpCode()
you set it like sotracePostOpcode
you do the followingThis leaves open the question of extracting besu's return data (and whether or not it will be available before
tracePostOpcode
is called.