Implements Trace API Formatter (#2732)
* Add formatter for Traces API output (#2700) * Adding formatter tests (#2700)
This commit is contained in:
committed by
Gav Wood
parent
146cefdb32
commit
248437fa1d
@@ -163,3 +163,58 @@ export function outTransaction (tx) {
|
||||
|
||||
return tx;
|
||||
}
|
||||
|
||||
export function outTrace (trace) {
|
||||
if (trace) {
|
||||
if (trace.action) {
|
||||
Object.keys(trace.action).forEach(key => {
|
||||
switch (key) {
|
||||
case 'gas':
|
||||
case 'value':
|
||||
case 'balance':
|
||||
trace.action[key] = outNumber(trace.action[key]);
|
||||
break;
|
||||
|
||||
case 'from':
|
||||
case 'to':
|
||||
case 'address':
|
||||
case 'refundAddress':
|
||||
trace.action[key] = outAddress(trace.action[key]);
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (trace.result) {
|
||||
Object.keys(trace.result).forEach(key => {
|
||||
switch (key) {
|
||||
case 'gasUsed':
|
||||
trace.result[key] = outNumber(trace.result[key]);
|
||||
break;
|
||||
|
||||
case 'address':
|
||||
trace.action[key] = outAddress(trace.action[key]);
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (trace.traceAddress) {
|
||||
trace.traceAddress.forEach((address, index) => {
|
||||
trace.traceAddress[index] = outNumber(address);
|
||||
});
|
||||
}
|
||||
|
||||
Object.keys(trace).forEach((key) => {
|
||||
switch (key) {
|
||||
case 'subtraces':
|
||||
case 'transactionPosition':
|
||||
case 'blockNumber':
|
||||
trace[key] = outNumber(trace[key]);
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return trace;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user