| 
									
										
										
										
											2017-07-11 13:49:14 +02:00
										 |  |  | // Code generated by github.com/fjl/gencodec. DO NOT EDIT. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | package tests | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"encoding/json" | 
					
						
							|  |  |  | 	"math/big" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	"github.com/ethereum/go-ethereum/common/hexutil" | 
					
						
							|  |  |  | 	"github.com/ethereum/go-ethereum/common/math" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var _ = (*stTransactionMarshaling)(nil) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (s stTransaction) MarshalJSON() ([]byte, error) { | 
					
						
							|  |  |  | 	type stTransaction struct { | 
					
						
							|  |  |  | 		GasPrice   *math.HexOrDecimal256 `json:"gasPrice"` | 
					
						
							|  |  |  | 		Nonce      math.HexOrDecimal64   `json:"nonce"` | 
					
						
							|  |  |  | 		To         string                `json:"to"` | 
					
						
							|  |  |  | 		Data       []string              `json:"data"` | 
					
						
							|  |  |  | 		GasLimit   []math.HexOrDecimal64 `json:"gasLimit"` | 
					
						
							|  |  |  | 		Value      []string              `json:"value"` | 
					
						
							|  |  |  | 		PrivateKey hexutil.Bytes         `json:"secretKey"` | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	var enc stTransaction | 
					
						
							|  |  |  | 	enc.GasPrice = (*math.HexOrDecimal256)(s.GasPrice) | 
					
						
							|  |  |  | 	enc.Nonce = math.HexOrDecimal64(s.Nonce) | 
					
						
							|  |  |  | 	enc.To = s.To | 
					
						
							|  |  |  | 	enc.Data = s.Data | 
					
						
							|  |  |  | 	if s.GasLimit != nil { | 
					
						
							|  |  |  | 		enc.GasLimit = make([]math.HexOrDecimal64, len(s.GasLimit)) | 
					
						
							|  |  |  | 		for k, v := range s.GasLimit { | 
					
						
							|  |  |  | 			enc.GasLimit[k] = math.HexOrDecimal64(v) | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	enc.Value = s.Value | 
					
						
							|  |  |  | 	enc.PrivateKey = s.PrivateKey | 
					
						
							|  |  |  | 	return json.Marshal(&enc) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (s *stTransaction) UnmarshalJSON(input []byte) error { | 
					
						
							|  |  |  | 	type stTransaction struct { | 
					
						
							|  |  |  | 		GasPrice   *math.HexOrDecimal256 `json:"gasPrice"` | 
					
						
							|  |  |  | 		Nonce      *math.HexOrDecimal64  `json:"nonce"` | 
					
						
							|  |  |  | 		To         *string               `json:"to"` | 
					
						
							|  |  |  | 		Data       []string              `json:"data"` | 
					
						
							|  |  |  | 		GasLimit   []math.HexOrDecimal64 `json:"gasLimit"` | 
					
						
							|  |  |  | 		Value      []string              `json:"value"` | 
					
						
							| 
									
										
										
										
											2018-01-08 14:13:22 +01:00
										 |  |  | 		PrivateKey *hexutil.Bytes        `json:"secretKey"` | 
					
						
							| 
									
										
										
										
											2017-07-11 13:49:14 +02:00
										 |  |  | 	} | 
					
						
							|  |  |  | 	var dec stTransaction | 
					
						
							|  |  |  | 	if err := json.Unmarshal(input, &dec); err != nil { | 
					
						
							|  |  |  | 		return err | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	if dec.GasPrice != nil { | 
					
						
							|  |  |  | 		s.GasPrice = (*big.Int)(dec.GasPrice) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	if dec.Nonce != nil { | 
					
						
							|  |  |  | 		s.Nonce = uint64(*dec.Nonce) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	if dec.To != nil { | 
					
						
							|  |  |  | 		s.To = *dec.To | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	if dec.Data != nil { | 
					
						
							|  |  |  | 		s.Data = dec.Data | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	if dec.GasLimit != nil { | 
					
						
							|  |  |  | 		s.GasLimit = make([]uint64, len(dec.GasLimit)) | 
					
						
							|  |  |  | 		for k, v := range dec.GasLimit { | 
					
						
							|  |  |  | 			s.GasLimit[k] = uint64(v) | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	if dec.Value != nil { | 
					
						
							|  |  |  | 		s.Value = dec.Value | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	if dec.PrivateKey != nil { | 
					
						
							| 
									
										
										
										
											2018-01-08 14:13:22 +01:00
										 |  |  | 		s.PrivateKey = *dec.PrivateKey | 
					
						
							| 
									
										
										
										
											2017-07-11 13:49:14 +02:00
										 |  |  | 	} | 
					
						
							|  |  |  | 	return nil | 
					
						
							|  |  |  | } |