Skip to content

Commit

Permalink
eth/tracers/js: improve integer types in log object (ethereum#25668)
Browse files Browse the repository at this point in the history
All fields related to gas must be represented as uint64. Depth is
internally tracked as int, so it makes sense to also store it as int.
  • Loading branch information
fjl authored and blakehhuynh committed Oct 3, 2022
1 parent 483b4c2 commit 022a285
Showing 1 changed file with 15 additions and 29 deletions.
44 changes: 15 additions & 29 deletions eth/tracers/js/goja.go
Original file line number Diff line number Diff line change
Expand Up @@ -256,11 +256,11 @@ func (t *jsTracer) CaptureState(pc uint64, op vm.OpCode, gas, cost uint64, scope
log.memory.memory = scope.Memory
log.stack.stack = scope.Stack
log.contract.contract = scope.Contract
log.pc = uint(pc)
log.gas = uint(gas)
log.cost = uint(cost)
log.refund = uint(t.env.StateDB.GetRefund())
log.depth = uint(depth)
log.pc = pc
log.gas = gas
log.cost = cost
log.refund = t.env.StateDB.GetRefund()
log.depth = depth
log.err = err
if _, err := t.step(t.obj, t.logValue, t.dbValue); err != nil {
t.onError("step", err)
Expand Down Expand Up @@ -908,33 +908,19 @@ type steplog struct {
stack *stackObj
contract *contractObj

pc uint
gas uint
cost uint
depth uint
refund uint
pc uint64
gas uint64
cost uint64
depth int
refund uint64
err error
}

func (l *steplog) GetPC() uint {
return l.pc
}

func (l *steplog) GetGas() uint {
return l.gas
}

func (l *steplog) GetCost() uint {
return l.cost
}

func (l *steplog) GetDepth() uint {
return l.depth
}

func (l *steplog) GetRefund() uint {
return l.refund
}
func (l *steplog) GetPC() uint64 { return l.pc }
func (l *steplog) GetGas() uint64 { return l.gas }
func (l *steplog) GetCost() uint64 { return l.cost }
func (l *steplog) GetDepth() int { return l.depth }
func (l *steplog) GetRefund() uint64 { return l.refund }

func (l *steplog) GetError() goja.Value {
if l.err != nil {
Expand Down

0 comments on commit 022a285

Please sign in to comment.