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() w.Write(obj.RawValue) if obj.PointerToRawValue == nil { w.Write([]byte{0x80}) } else { w.Write((*obj.PointerToRawValue)) } _tmp1 := w.List() for _, _tmp2 := range obj.SliceOfRawValue { w.Write(_tmp2) } w.ListEnd(_tmp1) 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 } // RawValue: _tmp1, err := dec.Raw() if err != nil { return err } _tmp0.RawValue = _tmp1 // PointerToRawValue: _tmp2, err := dec.Raw() if err != nil { return err } _tmp0.PointerToRawValue = &_tmp2 // SliceOfRawValue: var _tmp3 []rlp.RawValue if _, err := dec.List(); err != nil { return err } for dec.MoreDataInList() { _tmp4, err := dec.Raw() if err != nil { return err } _tmp3 = append(_tmp3, _tmp4) } if err := dec.ListEnd(); err != nil { return err } _tmp0.SliceOfRawValue = _tmp3 if err := dec.ListEnd(); err != nil { return err } } *obj = _tmp0 return nil }