| 
									
										
										
										
											2017-06-07 17:09:08 +02:00
										 |  |  | // Code generated by github.com/fjl/gencodec. DO NOT EDIT. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | package vm | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"encoding/json" | 
					
						
							|  |  |  | 	"math/big" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	"github.com/ethereum/go-ethereum/common" | 
					
						
							|  |  |  | 	"github.com/ethereum/go-ethereum/common/hexutil" | 
					
						
							|  |  |  | 	"github.com/ethereum/go-ethereum/common/math" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (s StructLog) MarshalJSON() ([]byte, error) { | 
					
						
							|  |  |  | 	type StructLog struct { | 
					
						
							|  |  |  | 		Pc         uint64                      `json:"pc"` | 
					
						
							|  |  |  | 		Op         OpCode                      `json:"op"` | 
					
						
							|  |  |  | 		Gas        math.HexOrDecimal64         `json:"gas"` | 
					
						
							|  |  |  | 		GasCost    math.HexOrDecimal64         `json:"gasCost"` | 
					
						
							|  |  |  | 		Memory     hexutil.Bytes               `json:"memory"` | 
					
						
							| 
									
										
										
										
											2017-06-21 14:52:31 +02:00
										 |  |  | 		MemorySize int                         `json:"memSize"` | 
					
						
							| 
									
										
										
										
											2017-06-07 17:09:08 +02:00
										 |  |  | 		Stack      []*math.HexOrDecimal256     `json:"stack"` | 
					
						
							|  |  |  | 		Storage    map[common.Hash]common.Hash `json:"-"` | 
					
						
							|  |  |  | 		Depth      int                         `json:"depth"` | 
					
						
							|  |  |  | 		Err        error                       `json:"error"` | 
					
						
							|  |  |  | 		OpName     string                      `json:"opName"` | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	var enc StructLog | 
					
						
							|  |  |  | 	enc.Pc = s.Pc | 
					
						
							|  |  |  | 	enc.Op = s.Op | 
					
						
							|  |  |  | 	enc.Gas = math.HexOrDecimal64(s.Gas) | 
					
						
							|  |  |  | 	enc.GasCost = math.HexOrDecimal64(s.GasCost) | 
					
						
							|  |  |  | 	enc.Memory = s.Memory | 
					
						
							| 
									
										
										
										
											2017-06-21 14:52:31 +02:00
										 |  |  | 	enc.MemorySize = s.MemorySize | 
					
						
							| 
									
										
										
										
											2017-06-07 17:09:08 +02:00
										 |  |  | 	if s.Stack != nil { | 
					
						
							|  |  |  | 		enc.Stack = make([]*math.HexOrDecimal256, len(s.Stack)) | 
					
						
							|  |  |  | 		for k, v := range s.Stack { | 
					
						
							|  |  |  | 			enc.Stack[k] = (*math.HexOrDecimal256)(v) | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	enc.Storage = s.Storage | 
					
						
							|  |  |  | 	enc.Depth = s.Depth | 
					
						
							|  |  |  | 	enc.Err = s.Err | 
					
						
							|  |  |  | 	enc.OpName = s.OpName() | 
					
						
							|  |  |  | 	return json.Marshal(&enc) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (s *StructLog) UnmarshalJSON(input []byte) error { | 
					
						
							|  |  |  | 	type StructLog struct { | 
					
						
							| 
									
										
										
										
											2017-06-21 14:52:31 +02:00
										 |  |  | 		Pc         *uint64                     `json:"pc"` | 
					
						
							|  |  |  | 		Op         *OpCode                     `json:"op"` | 
					
						
							|  |  |  | 		Gas        *math.HexOrDecimal64        `json:"gas"` | 
					
						
							|  |  |  | 		GasCost    *math.HexOrDecimal64        `json:"gasCost"` | 
					
						
							|  |  |  | 		Memory     hexutil.Bytes               `json:"memory"` | 
					
						
							|  |  |  | 		MemorySize *int                        `json:"memSize"` | 
					
						
							|  |  |  | 		Stack      []*math.HexOrDecimal256     `json:"stack"` | 
					
						
							|  |  |  | 		Storage    map[common.Hash]common.Hash `json:"-"` | 
					
						
							|  |  |  | 		Depth      *int                        `json:"depth"` | 
					
						
							|  |  |  | 		Err        *error                      `json:"error"` | 
					
						
							| 
									
										
										
										
											2017-06-07 17:09:08 +02:00
										 |  |  | 	} | 
					
						
							|  |  |  | 	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 = uint64(*dec.Gas) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	if dec.GasCost != nil { | 
					
						
							|  |  |  | 		s.GasCost = uint64(*dec.GasCost) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	if dec.Memory != nil { | 
					
						
							|  |  |  | 		s.Memory = dec.Memory | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2017-06-21 14:52:31 +02:00
										 |  |  | 	if dec.MemorySize != nil { | 
					
						
							|  |  |  | 		s.MemorySize = *dec.MemorySize | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2017-06-07 17:09:08 +02:00
										 |  |  | 	if dec.Stack != nil { | 
					
						
							|  |  |  | 		s.Stack = make([]*big.Int, len(dec.Stack)) | 
					
						
							|  |  |  | 		for k, v := range dec.Stack { | 
					
						
							|  |  |  | 			s.Stack[k] = (*big.Int)(v) | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	if dec.Storage != nil { | 
					
						
							|  |  |  | 		s.Storage = dec.Storage | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	if dec.Depth != nil { | 
					
						
							|  |  |  | 		s.Depth = *dec.Depth | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	if dec.Err != nil { | 
					
						
							|  |  |  | 		s.Err = *dec.Err | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	return nil | 
					
						
							|  |  |  | } |