package api import ( "fmt" "io" "github.com/filecoin-project/lotus/chain/types" cbg "github.com/whyrusleeping/cbor-gen" xerrors "golang.org/x/xerrors" ) /* This file was generated by github.com/whyrusleeping/cbor-gen */ var _ = xerrors.Errorf func (t *PaymentInfo) MarshalCBOR(w io.Writer) error { if t == nil { _, err := w.Write(cbg.CborNull) return err } if _, err := w.Write([]byte{131}); err != nil { return err } // t.t.Channel (address.Address) (struct) if err := t.Channel.MarshalCBOR(w); err != nil { return err } // t.t.ChannelMessage (cid.Cid) (struct) if t.ChannelMessage == nil { if _, err := w.Write(cbg.CborNull); err != nil { return err } } else { if err := cbg.WriteCid(w, *t.ChannelMessage); err != nil { return xerrors.Errorf("failed to write cid field t.ChannelMessage: %w", err) } } // t.t.Vouchers ([]*types.SignedVoucher) (slice) if _, err := w.Write(cbg.CborEncodeMajorType(cbg.MajArray, uint64(len(t.Vouchers)))); err != nil { return err } for _, v := range t.Vouchers { if err := v.MarshalCBOR(w); err != nil { return err } } return nil } func (t *PaymentInfo) UnmarshalCBOR(r io.Reader) error { br := cbg.GetPeeker(r) maj, extra, err := cbg.CborReadHeader(br) if err != nil { return err } if maj != cbg.MajArray { return fmt.Errorf("cbor input should be of type array") } if extra != 3 { return fmt.Errorf("cbor input had wrong number of fields") } // t.t.Channel (address.Address) (struct) { if err := t.Channel.UnmarshalCBOR(br); err != nil { return err } } // t.t.ChannelMessage (cid.Cid) (struct) { pb, err := br.PeekByte() if err != nil { return err } if pb == cbg.CborNull[0] { var nbuf [1]byte if _, err := br.Read(nbuf[:]); err != nil { return err } } else { c, err := cbg.ReadCid(br) if err != nil { return xerrors.Errorf("failed to read cid field t.ChannelMessage: %w", err) } t.ChannelMessage = &c } } // t.t.Vouchers ([]*types.SignedVoucher) (slice) maj, extra, err = cbg.CborReadHeader(br) if err != nil { return err } if extra > 8192 { return fmt.Errorf("t.Vouchers: array too large (%d)", extra) } if maj != cbg.MajArray { return fmt.Errorf("expected cbor array") } if extra > 0 { t.Vouchers = make([]*types.SignedVoucher, extra) } for i := 0; i < int(extra); i++ { var v types.SignedVoucher if err := v.UnmarshalCBOR(br); err != nil { return err } t.Vouchers[i] = &v } return nil }