celestiaorg / celestiaorg/rsmt2d

api: Consider dropping EDS importing in favour of EDS constructor

Open
#85 0 comments 3 reactions 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
169
Forks
87
Avg merge
8h 9m
Merged PRs (30d)
7

Description

Currently, EDS can only be imported from a flattened data square slice and is updated in place, breaking encapsulation and allowing users to incorrectly change the underlying slice causing undefined behavior for the library if used incorrectly. Instead, we should provide a new constructor that allocates/manages the EDS independently and provide proper setters/getters(such as #83) to make the rsmt2d foolproof by hiding complexity and further allocation/performance optimizations behind the API.

Contributor guide

Open the contributing guide

Research direction

The issue identifies EDS importing from a flattened data square slice and points to issue #83 for setters/getters; begin by tracing the existing EDS entry point and reading #83. Done means EDS is independently allocated and managed, with the proposed constructor and encapsulating accessors replacing the unsafe import-and-update-in-place approach.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.