da

package
v3.1.0-arabica Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 16, 2024 License: Apache-2.0 Imports: 5 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthDataAvailabilityHeader        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowDataAvailabilityHeader          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupDataAvailabilityHeader = fmt.Errorf("proto: unexpected end of group")
)

Functions

This section is empty.

Types

type DataAvailabilityHeader

type DataAvailabilityHeader struct {
	// RowRoot_j 	= root((M_{j,1} || M_{j,2} || ... || M_{j,2k} ))
	RowRoots [][]byte `protobuf:"bytes,1,rep,name=row_roots,json=rowRoots,proto3" json:"row_roots,omitempty"`
	// ColumnRoot_j = root((M_{1,j} || M_{2,j} || ... || M_{2k,j} ))
	ColumnRoots [][]byte `protobuf:"bytes,2,rep,name=column_roots,json=columnRoots,proto3" json:"column_roots,omitempty"`
}

DataAvailabilityHeader contains the row and column roots of the erasure coded version of the data in Block.Data. Therefore the original Block.Data is arranged in a k × k matrix, which is then "extended" to a 2k × 2k matrix applying multiple times Reed-Solomon encoding. For details see Section 5.2: https://arxiv.org/abs/1809.09044 or the Celestia specification: https://github.com/celestiaorg/celestia-specs/blob/master/src/specs/data_structures.md#availabledataheader Note that currently we list row and column roots in separate fields (different from the spec).

func (*DataAvailabilityHeader) Descriptor

func (*DataAvailabilityHeader) Descriptor() ([]byte, []int)

func (*DataAvailabilityHeader) GetColumnRoots

func (m *DataAvailabilityHeader) GetColumnRoots() [][]byte

func (*DataAvailabilityHeader) GetRowRoots

func (m *DataAvailabilityHeader) GetRowRoots() [][]byte

func (*DataAvailabilityHeader) Marshal

func (m *DataAvailabilityHeader) Marshal() (dAtA []byte, err error)

func (*DataAvailabilityHeader) MarshalTo

func (m *DataAvailabilityHeader) MarshalTo(dAtA []byte) (int, error)

func (*DataAvailabilityHeader) MarshalToSizedBuffer

func (m *DataAvailabilityHeader) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*DataAvailabilityHeader) ProtoMessage

func (*DataAvailabilityHeader) ProtoMessage()

func (*DataAvailabilityHeader) Reset

func (m *DataAvailabilityHeader) Reset()

func (*DataAvailabilityHeader) Size

func (m *DataAvailabilityHeader) Size() (n int)

func (*DataAvailabilityHeader) String

func (m *DataAvailabilityHeader) String() string

func (*DataAvailabilityHeader) Unmarshal

func (m *DataAvailabilityHeader) Unmarshal(dAtA []byte) error

func (*DataAvailabilityHeader) XXX_DiscardUnknown

func (m *DataAvailabilityHeader) XXX_DiscardUnknown()

func (*DataAvailabilityHeader) XXX_Marshal

func (m *DataAvailabilityHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DataAvailabilityHeader) XXX_Merge

func (m *DataAvailabilityHeader) XXX_Merge(src proto.Message)

func (*DataAvailabilityHeader) XXX_Size

func (m *DataAvailabilityHeader) XXX_Size() int

func (*DataAvailabilityHeader) XXX_Unmarshal

func (m *DataAvailabilityHeader) XXX_Unmarshal(b []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL