We are currently running a GETH node on BSC. Using one of the inbuilt "debug_traceCall" functions specifically the "callTracer". However it's very limited in its capacity. Such that it is limited by a single transaction & does not provide any "stateDiff" as seen on parity node trace call API.
I am looking for a Golang engineer to build a custom tracer for my node called "multiTraceCallWithDiff" which can do the following:
- multiTraceCallWithDiff - Receive a batch of transactions to trace. Runs similar to the existing "callTracer" method and unfurls internal calls looking for filteredAddresses (batch size 20-500tx)
- filteredAddresses - Receive an array of addresses used to filter and return relevant stateDiff on matched addresses found from running "mulltiTraceCallWithDiff" and tracing each call.
- stateDiff - If a traced call interacts with any of the addresses in the filteredAddresses array, then we should store the changed state of the filtered contract.
- Return stateDiff - A hash map returned after execution over RPC or WS. The hash map key will be an address and the value will be an object containing the state after all traces have been executed against that address.