290 lines
6.0 KiB
Plaintext
290 lines
6.0 KiB
Plaintext
|
package test
|
||
|
|
||
|
import "github.com/ethereum/go-ethereum/rlp"
|
||
|
import "io"
|
||
|
|
||
|
func (obj *Test) EncodeRLP(_w io.Writer) error {
|
||
|
w := rlp.NewEncoderBuffer(_w)
|
||
|
_tmp0 := w.List()
|
||
|
if obj.Uint8 == nil {
|
||
|
w.Write([]byte{0x80})
|
||
|
} else {
|
||
|
w.WriteUint64(uint64((*obj.Uint8)))
|
||
|
}
|
||
|
if obj.Uint8List == nil {
|
||
|
w.Write([]byte{0xC0})
|
||
|
} else {
|
||
|
w.WriteUint64(uint64((*obj.Uint8List)))
|
||
|
}
|
||
|
if obj.Uint32 == nil {
|
||
|
w.Write([]byte{0x80})
|
||
|
} else {
|
||
|
w.WriteUint64(uint64((*obj.Uint32)))
|
||
|
}
|
||
|
if obj.Uint32List == nil {
|
||
|
w.Write([]byte{0xC0})
|
||
|
} else {
|
||
|
w.WriteUint64(uint64((*obj.Uint32List)))
|
||
|
}
|
||
|
if obj.Uint64 == nil {
|
||
|
w.Write([]byte{0x80})
|
||
|
} else {
|
||
|
w.WriteUint64((*obj.Uint64))
|
||
|
}
|
||
|
if obj.Uint64List == nil {
|
||
|
w.Write([]byte{0xC0})
|
||
|
} else {
|
||
|
w.WriteUint64((*obj.Uint64List))
|
||
|
}
|
||
|
if obj.String == nil {
|
||
|
w.Write([]byte{0x80})
|
||
|
} else {
|
||
|
w.WriteString((*obj.String))
|
||
|
}
|
||
|
if obj.StringList == nil {
|
||
|
w.Write([]byte{0xC0})
|
||
|
} else {
|
||
|
w.WriteString((*obj.StringList))
|
||
|
}
|
||
|
if obj.ByteArray == nil {
|
||
|
w.Write([]byte{0x80})
|
||
|
} else {
|
||
|
w.WriteBytes(obj.ByteArray[:])
|
||
|
}
|
||
|
if obj.ByteArrayList == nil {
|
||
|
w.Write([]byte{0xC0})
|
||
|
} else {
|
||
|
w.WriteBytes(obj.ByteArrayList[:])
|
||
|
}
|
||
|
if obj.ByteSlice == nil {
|
||
|
w.Write([]byte{0x80})
|
||
|
} else {
|
||
|
w.WriteBytes((*obj.ByteSlice))
|
||
|
}
|
||
|
if obj.ByteSliceList == nil {
|
||
|
w.Write([]byte{0xC0})
|
||
|
} else {
|
||
|
w.WriteBytes((*obj.ByteSliceList))
|
||
|
}
|
||
|
if obj.Struct == nil {
|
||
|
w.Write([]byte{0xC0})
|
||
|
} else {
|
||
|
_tmp1 := w.List()
|
||
|
w.WriteUint64(uint64(obj.Struct.A))
|
||
|
w.ListEnd(_tmp1)
|
||
|
}
|
||
|
if obj.StructString == nil {
|
||
|
w.Write([]byte{0x80})
|
||
|
} else {
|
||
|
_tmp2 := w.List()
|
||
|
w.WriteUint64(uint64(obj.StructString.A))
|
||
|
w.ListEnd(_tmp2)
|
||
|
}
|
||
|
w.ListEnd(_tmp0)
|
||
|
return w.Flush()
|
||
|
}
|
||
|
|
||
|
func (obj *Test) DecodeRLP(dec *rlp.Stream) error {
|
||
|
var _tmp0 Test
|
||
|
{
|
||
|
if _, err := dec.List(); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
// Uint8:
|
||
|
var _tmp2 *byte
|
||
|
if _tmp3, _tmp4, err := dec.Kind(); err != nil {
|
||
|
return err
|
||
|
} else if _tmp4 != 0 || _tmp3 != rlp.String {
|
||
|
_tmp1, err := dec.Uint8()
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
_tmp2 = &_tmp1
|
||
|
}
|
||
|
_tmp0.Uint8 = _tmp2
|
||
|
// Uint8List:
|
||
|
var _tmp6 *byte
|
||
|
if _tmp7, _tmp8, err := dec.Kind(); err != nil {
|
||
|
return err
|
||
|
} else if _tmp8 != 0 || _tmp7 != rlp.List {
|
||
|
_tmp5, err := dec.Uint8()
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
_tmp6 = &_tmp5
|
||
|
}
|
||
|
_tmp0.Uint8List = _tmp6
|
||
|
// Uint32:
|
||
|
var _tmp10 *uint32
|
||
|
if _tmp11, _tmp12, err := dec.Kind(); err != nil {
|
||
|
return err
|
||
|
} else if _tmp12 != 0 || _tmp11 != rlp.String {
|
||
|
_tmp9, err := dec.Uint32()
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
_tmp10 = &_tmp9
|
||
|
}
|
||
|
_tmp0.Uint32 = _tmp10
|
||
|
// Uint32List:
|
||
|
var _tmp14 *uint32
|
||
|
if _tmp15, _tmp16, err := dec.Kind(); err != nil {
|
||
|
return err
|
||
|
} else if _tmp16 != 0 || _tmp15 != rlp.List {
|
||
|
_tmp13, err := dec.Uint32()
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
_tmp14 = &_tmp13
|
||
|
}
|
||
|
_tmp0.Uint32List = _tmp14
|
||
|
// Uint64:
|
||
|
var _tmp18 *uint64
|
||
|
if _tmp19, _tmp20, err := dec.Kind(); err != nil {
|
||
|
return err
|
||
|
} else if _tmp20 != 0 || _tmp19 != rlp.String {
|
||
|
_tmp17, err := dec.Uint64()
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
_tmp18 = &_tmp17
|
||
|
}
|
||
|
_tmp0.Uint64 = _tmp18
|
||
|
// Uint64List:
|
||
|
var _tmp22 *uint64
|
||
|
if _tmp23, _tmp24, err := dec.Kind(); err != nil {
|
||
|
return err
|
||
|
} else if _tmp24 != 0 || _tmp23 != rlp.List {
|
||
|
_tmp21, err := dec.Uint64()
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
_tmp22 = &_tmp21
|
||
|
}
|
||
|
_tmp0.Uint64List = _tmp22
|
||
|
// String:
|
||
|
var _tmp26 *string
|
||
|
if _tmp27, _tmp28, err := dec.Kind(); err != nil {
|
||
|
return err
|
||
|
} else if _tmp28 != 0 || _tmp27 != rlp.String {
|
||
|
_tmp25, err := dec.String()
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
_tmp26 = &_tmp25
|
||
|
}
|
||
|
_tmp0.String = _tmp26
|
||
|
// StringList:
|
||
|
var _tmp30 *string
|
||
|
if _tmp31, _tmp32, err := dec.Kind(); err != nil {
|
||
|
return err
|
||
|
} else if _tmp32 != 0 || _tmp31 != rlp.List {
|
||
|
_tmp29, err := dec.String()
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
_tmp30 = &_tmp29
|
||
|
}
|
||
|
_tmp0.StringList = _tmp30
|
||
|
// ByteArray:
|
||
|
var _tmp34 *[3]byte
|
||
|
if _tmp35, _tmp36, err := dec.Kind(); err != nil {
|
||
|
return err
|
||
|
} else if _tmp36 != 0 || _tmp35 != rlp.String {
|
||
|
var _tmp33 [3]byte
|
||
|
if err := dec.ReadBytes(_tmp33[:]); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
_tmp34 = &_tmp33
|
||
|
}
|
||
|
_tmp0.ByteArray = _tmp34
|
||
|
// ByteArrayList:
|
||
|
var _tmp38 *[3]byte
|
||
|
if _tmp39, _tmp40, err := dec.Kind(); err != nil {
|
||
|
return err
|
||
|
} else if _tmp40 != 0 || _tmp39 != rlp.List {
|
||
|
var _tmp37 [3]byte
|
||
|
if err := dec.ReadBytes(_tmp37[:]); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
_tmp38 = &_tmp37
|
||
|
}
|
||
|
_tmp0.ByteArrayList = _tmp38
|
||
|
// ByteSlice:
|
||
|
var _tmp42 *[]byte
|
||
|
if _tmp43, _tmp44, err := dec.Kind(); err != nil {
|
||
|
return err
|
||
|
} else if _tmp44 != 0 || _tmp43 != rlp.String {
|
||
|
_tmp41, err := dec.Bytes()
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
_tmp42 = &_tmp41
|
||
|
}
|
||
|
_tmp0.ByteSlice = _tmp42
|
||
|
// ByteSliceList:
|
||
|
var _tmp46 *[]byte
|
||
|
if _tmp47, _tmp48, err := dec.Kind(); err != nil {
|
||
|
return err
|
||
|
} else if _tmp48 != 0 || _tmp47 != rlp.List {
|
||
|
_tmp45, err := dec.Bytes()
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
_tmp46 = &_tmp45
|
||
|
}
|
||
|
_tmp0.ByteSliceList = _tmp46
|
||
|
// Struct:
|
||
|
var _tmp51 *Aux
|
||
|
if _tmp52, _tmp53, err := dec.Kind(); err != nil {
|
||
|
return err
|
||
|
} else if _tmp53 != 0 || _tmp52 != rlp.List {
|
||
|
var _tmp49 Aux
|
||
|
{
|
||
|
if _, err := dec.List(); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
// A:
|
||
|
_tmp50, err := dec.Uint32()
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
_tmp49.A = _tmp50
|
||
|
if err := dec.ListEnd(); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
}
|
||
|
_tmp51 = &_tmp49
|
||
|
}
|
||
|
_tmp0.Struct = _tmp51
|
||
|
// StructString:
|
||
|
var _tmp56 *Aux
|
||
|
if _tmp57, _tmp58, err := dec.Kind(); err != nil {
|
||
|
return err
|
||
|
} else if _tmp58 != 0 || _tmp57 != rlp.String {
|
||
|
var _tmp54 Aux
|
||
|
{
|
||
|
if _, err := dec.List(); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
// A:
|
||
|
_tmp55, err := dec.Uint32()
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
_tmp54.A = _tmp55
|
||
|
if err := dec.ListEnd(); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
}
|
||
|
_tmp56 = &_tmp54
|
||
|
}
|
||
|
_tmp0.StructString = _tmp56
|
||
|
if err := dec.ListEnd(); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
}
|
||
|
*obj = _tmp0
|
||
|
return nil
|
||
|
}
|