9d06026c19
Fixes #15777 because null is now allowed for hexutil.Bytes.
96 lines
3.0 KiB
Go
96 lines
3.0 KiB
Go
// Code generated by github.com/fjl/gencodec. DO NOT EDIT.
|
|
|
|
package tests
|
|
|
|
import (
|
|
"encoding/json"
|
|
"errors"
|
|
"math/big"
|
|
|
|
"github.com/ethereum/go-ethereum/common"
|
|
"github.com/ethereum/go-ethereum/common/hexutil"
|
|
"github.com/ethereum/go-ethereum/common/math"
|
|
)
|
|
|
|
var _ = (*ttTransactionMarshaling)(nil)
|
|
|
|
func (t ttTransaction) MarshalJSON() ([]byte, error) {
|
|
type ttTransaction struct {
|
|
Data hexutil.Bytes `gencodec:"required"`
|
|
GasLimit math.HexOrDecimal64 `gencodec:"required"`
|
|
GasPrice *math.HexOrDecimal256 `gencodec:"required"`
|
|
Nonce math.HexOrDecimal64 `gencodec:"required"`
|
|
Value *math.HexOrDecimal256 `gencodec:"required"`
|
|
R *math.HexOrDecimal256 `gencodec:"required"`
|
|
S *math.HexOrDecimal256 `gencodec:"required"`
|
|
V *math.HexOrDecimal256 `gencodec:"required"`
|
|
To common.Address `gencodec:"required"`
|
|
}
|
|
var enc ttTransaction
|
|
enc.Data = t.Data
|
|
enc.GasLimit = math.HexOrDecimal64(t.GasLimit)
|
|
enc.GasPrice = (*math.HexOrDecimal256)(t.GasPrice)
|
|
enc.Nonce = math.HexOrDecimal64(t.Nonce)
|
|
enc.Value = (*math.HexOrDecimal256)(t.Value)
|
|
enc.R = (*math.HexOrDecimal256)(t.R)
|
|
enc.S = (*math.HexOrDecimal256)(t.S)
|
|
enc.V = (*math.HexOrDecimal256)(t.V)
|
|
enc.To = t.To
|
|
return json.Marshal(&enc)
|
|
}
|
|
|
|
func (t *ttTransaction) UnmarshalJSON(input []byte) error {
|
|
type ttTransaction struct {
|
|
Data *hexutil.Bytes `gencodec:"required"`
|
|
GasLimit *math.HexOrDecimal64 `gencodec:"required"`
|
|
GasPrice *math.HexOrDecimal256 `gencodec:"required"`
|
|
Nonce *math.HexOrDecimal64 `gencodec:"required"`
|
|
Value *math.HexOrDecimal256 `gencodec:"required"`
|
|
R *math.HexOrDecimal256 `gencodec:"required"`
|
|
S *math.HexOrDecimal256 `gencodec:"required"`
|
|
V *math.HexOrDecimal256 `gencodec:"required"`
|
|
To *common.Address `gencodec:"required"`
|
|
}
|
|
var dec ttTransaction
|
|
if err := json.Unmarshal(input, &dec); err != nil {
|
|
return err
|
|
}
|
|
if dec.Data == nil {
|
|
return errors.New("missing required field 'data' for ttTransaction")
|
|
}
|
|
t.Data = *dec.Data
|
|
if dec.GasLimit == nil {
|
|
return errors.New("missing required field 'gasLimit' for ttTransaction")
|
|
}
|
|
t.GasLimit = uint64(*dec.GasLimit)
|
|
if dec.GasPrice == nil {
|
|
return errors.New("missing required field 'gasPrice' for ttTransaction")
|
|
}
|
|
t.GasPrice = (*big.Int)(dec.GasPrice)
|
|
if dec.Nonce == nil {
|
|
return errors.New("missing required field 'nonce' for ttTransaction")
|
|
}
|
|
t.Nonce = uint64(*dec.Nonce)
|
|
if dec.Value == nil {
|
|
return errors.New("missing required field 'value' for ttTransaction")
|
|
}
|
|
t.Value = (*big.Int)(dec.Value)
|
|
if dec.R == nil {
|
|
return errors.New("missing required field 'r' for ttTransaction")
|
|
}
|
|
t.R = (*big.Int)(dec.R)
|
|
if dec.S == nil {
|
|
return errors.New("missing required field 's' for ttTransaction")
|
|
}
|
|
t.S = (*big.Int)(dec.S)
|
|
if dec.V == nil {
|
|
return errors.New("missing required field 'v' for ttTransaction")
|
|
}
|
|
t.V = (*big.Int)(dec.V)
|
|
if dec.To == nil {
|
|
return errors.New("missing required field 'to' for ttTransaction")
|
|
}
|
|
t.To = *dec.To
|
|
return nil
|
|
}
|