func ObjectIDNestedListMarshal(fNum int64, buf []byte, ids []*ObjectID) (off int, err error) {
	for i := range ids {
		var n int
		n, err = proto.NestedStructureMarshal(fNum, buf[off:], ids[i])
		if err != nil {
			return
		}
		off += n
	}
	return
}
ObjectIDNestedListMarshal writes protobuf repeated ObjectID field
with fNum number to buf.
package refs
import (
	"github.com/nspcc-dev/neofs-api-go/rpc/message"
	"github.com/nspcc-dev/neofs-api-go/util/proto"
	refs "github.com/nspcc-dev/neofs-api-go/v2/refs/grpc"
)
const (
	ownerIDValField = 1
	containerIDValField = 1
	objectIDValField = 1
	addressContainerField = 1
	addressObjectField    = 2
	checksumTypeField  = 1
	checksumValueField = 2
	signatureKeyField   = 1
	signatureValueField = 2
	versionMajorField = 1
	versionMinorField = 2
)
func (o *OwnerID) StableMarshal(buf []byte) ([]byte, error) {
	if o == nil {
		return []byte{}, nil
	}
	if buf == nil {
		buf = make([]byte, o.StableSize())
	}
	_, err := proto.BytesMarshal(ownerIDValField, buf, o.val)
	if err != nil {
		return nil, err
	}
	return buf, nil
}
func (o *OwnerID) StableSize() int {
	if o == nil {
		return 0
	}
	return proto.BytesSize(ownerIDValField, o.val)
}
func (o *OwnerID) Unmarshal(data []byte) error {
	return message.Unmarshal(o, data, new(refs.OwnerID))
}
func (c *ContainerID) StableMarshal(buf []byte) ([]byte, error) {
	if c == nil {
		return []byte{}, nil
	}
	if buf == nil {
		buf = make([]byte, c.StableSize())
	}
	_, err := proto.BytesMarshal(containerIDValField, buf, c.val)
	if err != nil {
		return nil, err
	}
	return buf, nil
}
func (c *ContainerID) StableSize() int {
	if c == nil {
		return 0
	}
	return proto.BytesSize(containerIDValField, c.val)
}
func (c *ContainerID) Unmarshal(data []byte) error {
	return message.Unmarshal(c, data, new(refs.ContainerID))
}
func (o *ObjectID) StableMarshal(buf []byte) ([]byte, error) {
	if o == nil {
		return []byte{}, nil
	}
	if buf == nil {
		buf = make([]byte, o.StableSize())
	}
	_, err := proto.BytesMarshal(objectIDValField, buf, o.val)
	if err != nil {
		return nil, err
	}
	return buf, nil
}
func ObjectIDNestedListSize(fNum int64, ids []*ObjectID) (sz int) {
	for i := range ids {
		sz += proto.NestedStructureSize(fNum, ids[i])
	}
	return
}
func (o *ObjectID) StableSize() int {
	if o == nil {
		return 0
	}
	return proto.BytesSize(objectIDValField, o.val)
}