const ethers = require('ethers');
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);
const replayBlock = async (blockNumber) => {
const results = await provider.send("trace_replayBlockTransactions", [
blockNumber,
["trace"]
]);
console.log(`Replayed ${results.length} transactions`);
for (let i = 0; i < results.length; i++) {
const result = results[i];
console.log(`\nTransaction ${i}: ${result.transactionHash}`);
console.log(` Output: ${result.output}`);
console.log(` Traces: ${result.trace?.length || 0}`);
if (result.trace && result.trace.length > 0) {
for (const trace of result.trace) {
const callType = trace.action.callType || trace.type;
console.log(` ${callType}: ${trace.action.from} -> ${trace.action.to || 'Create'}`);
}
}
}
};
replayBlock("latest");