celestiaorg / go-square

A library for encoding blobs into a 2D square of evenly sized chunks designed for sampling and reconstruction
Apache License 2.0
13 stars 17 forks source link

fix!: compile errors, import paths and tests #1

Closed cmwaters closed 10 months ago

cmwaters commented 10 months ago

This PR does an initial sweep of the repo, defining the new go mod and dependencies. It ensures that the library compiles and all tests pass.

It tries to minimize breakage from the celestia-app repo

Wondertan commented 10 months ago

Thank you for doing this! I am coming up with a suggestion. After playing with these types for years, I am convinced that keeping the core types Blob, Share, Namespace, and Square(EDS alias) under a single pkg would benefit devx, i.e. easier to import and make changes within the typ definition and for the user. This doesn't however mean that everything else should be in the same pkg. Something to consider for future PRs.

rootulp commented 10 months ago

@rootulp in regards to the few commented out tests. I left them commented out instead of deleting them as more of a convenience for when I go back and re-enable the tests (which will require porting over a lot of the test factory code). I can delete them and use git diff to readd the tests

I see. Honestly since this repo isn't used yet and doesn't have an official release, I'm okay with merging the commented code and uncommenting in a follow-up PR.

cmwaters commented 10 months ago

I am convinced that keeping the core types Blob, Share, Namespace, and Square(EDS alias) under a single pkg would benefit devx

It should be easy just to add the types as aliases in the main package so you only need to import the main package to use all these types

cmwaters commented 10 months ago

I see. Honestly since this repo isn't used yet and doesn't have an official release, I'm okay with merging the commented code and uncommenting in a follow-up PR.

Going to merge this now and follow up with the leftover tests