mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-20 13:44:31 +00:00
* feat: rename Tracer interface to EVMLogger; minor changes in API refine api_tracer.go refine Tracer interface * fix: broken tracer tests * feat: add BenchmarkTransactionTrace * feat: tracer CaptureEnter CaptureExit in evm * feat: upgrade js tracers with geth upstream * chore: clean test * feat: eth/tracers: support for golang tracers + add golang callTracer cf. https://github.com/ethereum/go-ethereum/pull/23708 * chore: clean testdata json * fix: change test due to IntrinsicGas is not upgraded * feat: make native Tracer the default Tracer * fix: update tracers.New in api * fix: addr prefix in callTracer * fix: remove `native` in BenchmarkTracers * fix: return consensus error of InsufficientBalance for tx, instead of vmerr * chore: drop js tracers: call and noop
101 lines
2.8 KiB
Go
101 lines
2.8 KiB
Go
// Code generated by github.com/fjl/gencodec. DO NOT EDIT.
|
|
|
|
package vm
|
|
|
|
import (
|
|
"encoding/json"
|
|
|
|
"github.com/XinFinOrg/XDPoSChain/common"
|
|
"github.com/holiman/uint256"
|
|
)
|
|
|
|
// MarshalJSON marshals as JSON.
|
|
func (s StructLog) MarshalJSON() ([]byte, error) {
|
|
type StructLog struct {
|
|
Pc uint64 `json:"pc"`
|
|
Op OpCode `json:"op"`
|
|
Gas uint64 `json:"gas"`
|
|
GasCost uint64 `json:"gasCost"`
|
|
Memory []byte `json:"memory"`
|
|
MemorySize int `json:"memSize"`
|
|
Stack []uint256.Int `json:"stack"`
|
|
ReturnData []byte `json:"returnData"`
|
|
Storage map[common.Hash]common.Hash `json:"-"`
|
|
Depth int `json:"depth"`
|
|
RefundCounter uint64 `json:"refund"`
|
|
Err error `json:"-"`
|
|
}
|
|
var enc StructLog
|
|
enc.Pc = s.Pc
|
|
enc.Op = s.Op
|
|
enc.Gas = s.Gas
|
|
enc.GasCost = s.GasCost
|
|
enc.Memory = s.Memory
|
|
enc.MemorySize = s.MemorySize
|
|
enc.Stack = s.Stack
|
|
enc.ReturnData = s.ReturnData
|
|
enc.Storage = s.Storage
|
|
enc.Depth = s.Depth
|
|
enc.RefundCounter = s.RefundCounter
|
|
enc.Err = s.Err
|
|
return json.Marshal(&enc)
|
|
}
|
|
|
|
// UnmarshalJSON unmarshals from JSON.
|
|
func (s *StructLog) UnmarshalJSON(input []byte) error {
|
|
type StructLog struct {
|
|
Pc *uint64 `json:"pc"`
|
|
Op *OpCode `json:"op"`
|
|
Gas *uint64 `json:"gas"`
|
|
GasCost *uint64 `json:"gasCost"`
|
|
Memory []byte `json:"memory"`
|
|
MemorySize *int `json:"memSize"`
|
|
Stack []uint256.Int `json:"stack"`
|
|
ReturnData []byte `json:"returnData"`
|
|
Storage map[common.Hash]common.Hash `json:"-"`
|
|
Depth *int `json:"depth"`
|
|
RefundCounter *uint64 `json:"refund"`
|
|
Err error `json:"-"`
|
|
}
|
|
var dec StructLog
|
|
if err := json.Unmarshal(input, &dec); err != nil {
|
|
return err
|
|
}
|
|
if dec.Pc != nil {
|
|
s.Pc = *dec.Pc
|
|
}
|
|
if dec.Op != nil {
|
|
s.Op = *dec.Op
|
|
}
|
|
if dec.Gas != nil {
|
|
s.Gas = *dec.Gas
|
|
}
|
|
if dec.GasCost != nil {
|
|
s.GasCost = *dec.GasCost
|
|
}
|
|
if dec.Memory != nil {
|
|
s.Memory = dec.Memory
|
|
}
|
|
if dec.MemorySize != nil {
|
|
s.MemorySize = *dec.MemorySize
|
|
}
|
|
if dec.Stack != nil {
|
|
s.Stack = dec.Stack
|
|
}
|
|
if dec.ReturnData != nil {
|
|
s.ReturnData = dec.ReturnData
|
|
}
|
|
if dec.Storage != nil {
|
|
s.Storage = dec.Storage
|
|
}
|
|
if dec.Depth != nil {
|
|
s.Depth = *dec.Depth
|
|
}
|
|
if dec.RefundCounter != nil {
|
|
s.RefundCounter = *dec.RefundCounter
|
|
}
|
|
if dec.Err != nil {
|
|
s.Err = dec.Err
|
|
}
|
|
return nil
|
|
}
|