Implements Trace API Formatter (#2732)

* Add formatter for Traces API output (#2700)

* Adding formatter tests (#2700)
This commit is contained in:
Nicolas Gotchac
2016-10-19 19:15:27 +01:00
committed by Gav Wood
parent 146cefdb32
commit 248437fa1d
3 changed files with 108 additions and 5 deletions

View File

@@ -15,6 +15,7 @@
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
import { inBlockNumber, inHex, inNumber16 } from '../../format/input';
import { outTrace } from '../../format/output';
export default class Trace {
constructor (transport) {
@@ -23,21 +24,25 @@ export default class Trace {
filter (filterObj) {
return this._transport
.execute('trace_filter', filterObj);
.execute('trace_filter', filterObj)
.then(traces => traces.map(trace => outTrace(trace)));
}
get (txHash, position) {
return this._transport
.execute('trace_get', inHex(txHash), inNumber16(position));
.execute('trace_get', inHex(txHash), inNumber16(position))
.then(trace => outTrace(trace));
}
transaction (txHash) {
return this._transport
.execute('trace_transaction', inHex(txHash));
.execute('trace_transaction', inHex(txHash))
.then(traces => traces.map(trace => outTrace(trace)));
}
block (blockNumber = 'latest') {
return this._transport
.execute('trace_block', inBlockNumber(blockNumber));
.execute('trace_block', inBlockNumber(blockNumber))
.then(traces => traces.map(trace => outTrace(trace)));
}
}