Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(share/getter) Add support for Non-inclusion proofs #2256

Merged
merged 17 commits into from
Jun 22, 2023

Conversation

walldiss
Copy link
Member

@walldiss walldiss commented May 25, 2023

Overview

This PR implements support for non-inclusion proof for getters and shrex protocol.
Requires #2242 to be merged first

@walldiss walldiss added area:shares Shares and samples kind:feat Attached to feature PRs labels May 25, 2023
@walldiss walldiss self-assigned this May 25, 2023
@walldiss walldiss force-pushed the non_inclusion_proofs_integration branch from 9fe8e73 to 8128c04 Compare May 31, 2023 12:28
# Conflicts:
#	share/get_test.go
#	share/ipld/get.go
#	share/ipld/namespace_data.go
@walldiss walldiss marked this pull request as ready for review June 16, 2023 10:30
share/getters/shrex_test.go Outdated Show resolved Hide resolved
share/getters/utils.go Outdated Show resolved Hide resolved
share/p2p/shrexnd/pb/share.proto Show resolved Hide resolved
@walldiss walldiss force-pushed the non_inclusion_proofs_integration branch from 93a356c to 4bce3ea Compare June 19, 2023 09:38
@walldiss walldiss force-pushed the non_inclusion_proofs_integration branch from 5052044 to 2046250 Compare June 19, 2023 11:20
Copy link
Member

@Wondertan Wondertan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have only one general API concern. The impl LGTM turned out to be much easier than I originally thought.

share/getter.go Outdated Show resolved Hide resolved
@codecov-commenter
Copy link

codecov-commenter commented Jun 19, 2023

Codecov Report

Merging #2256 (73974b0) into main (ce8ccb3) will increase coverage by 0.12%.
The diff coverage is 42.55%.

@@            Coverage Diff             @@
##             main    #2256      +/-   ##
==========================================
+ Coverage   50.48%   50.60%   +0.12%     
==========================================
  Files         157      157              
  Lines        9933     9925       -8     
==========================================
+ Hits         5015     5023       +8     
+ Misses       4472     4455      -17     
- Partials      446      447       +1     
Impacted Files Coverage Δ
blob/service.go 68.86% <0.00%> (-3.76%) ⬇️
share/getter.go 0.00% <ø> (ø)
share/getters/store.go 82.66% <ø> (+0.38%) ⬆️
share/ipld/namespace_data.go 0.00% <0.00%> (ø)
share/p2p/shrexnd/client.go 46.56% <37.03%> (-2.22%) ⬇️
share/p2p/shrexnd/server.go 53.02% <45.45%> (+4.31%) ⬆️
share/getters/shrex.go 66.45% <60.00%> (+1.82%) ⬆️
share/getters/cascade.go 78.08% <100.00%> (ø)
share/getters/utils.go 85.50% <100.00%> (+11.89%) ⬆️

... and 5 files with indirect coverage changes

Copy link
Member

@Wondertan Wondertan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, so we decided in sync to remove the error and make the data not found the case a success case, so requesting changes until this is done

@walldiss walldiss force-pushed the non_inclusion_proofs_integration branch from c54d9c4 to 11c71db Compare June 21, 2023 15:37
share/getters/shrex_test.go Outdated Show resolved Hide resolved
blob/service.go Show resolved Hide resolved
share/get_test.go Show resolved Hide resolved
share/getters/cascade.go Outdated Show resolved Hide resolved
share/getters/shrex_test.go Show resolved Hide resolved
share/getters/shrex_test.go Show resolved Hide resolved
@Wondertan Wondertan enabled auto-merge June 21, 2023 21:10
@Wondertan Wondertan added this pull request to the merge queue Jun 22, 2023
Merged via the queue into celestiaorg:main with commit f32c903 Jun 22, 2023
11 of 14 checks passed
github-merge-queue bot pushed a commit that referenced this pull request Jun 27, 2023
## Notable Changes
- `namespace.ID` to  `share.Namespace`
- Changes every comment namespace ID mentioning to just namespace. I
renamed every such mention besides in ADRs. I don't want to touch ADRs
here, as they need a more holistic re-review and up-to-date catchup.
	- Uses all the utility methods on the type, where suitable
- Namespace constructor now only creates Blob Namespaces. For other
reserved namespaces, the predefined globals should be used.
- Uses namespace.ValidateDataNamespace everywhere data is requested.
This is guarantees we verify the namespace are 100% valid and forbids
requesting parity and padding namespaces.
- Restricts PFBs for reserved namespaces 
- Reversed the dependency from `share -> share/ipld` to `share/ipld ->
share`
- NewBlobV0 constructor. Similar to NewNamespaceV0
- `sharetest` pkg for share related testing utilities
- `edstest` pkg for eds related testing utilities

## Follow-ups
- `blobtest` pkg to generate node's blob type


## Refs
* Substitutes zombie PR
#2376. I push to the
branch, but GH does not see commits.
* Based on #2367
* Closes #2301
* Closes #2309 
* Blocked on #2256
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:shares Shares and samples kind:feat Attached to feature PRs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants