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] Blobstream Contracts Integration Tests #85

Open
b-j-roberts opened this issue Feb 9, 2024 · 6 comments
Open

[feat] Blobstream Contracts Integration Tests #85

b-j-roberts opened this issue Feb 9, 2024 · 6 comments
Labels
dev Non-functional work infra

Comments

@b-j-roberts
Copy link
Contributor

Create integration tests (scripts) for the Blobstream contract(s) by doing the following :

  • Launch a Katana node
  • Declare & Deploy the BlobstreamX contract ( & dependencies such as the gateway ) to the Katana node
  • Make calls to public functions on BlobstreamX contract & check state updates are correct

Possibly use mock implementations where needed.

References

https://github.com/keep-starknet-strange/blobstream-starknet/blob/main/src/lib.cairo

@b-j-roberts b-j-roberts self-assigned this Feb 9, 2024
@drspacemn drspacemn added dev Non-functional work infra labels Feb 13, 2024
@b-j-roberts
Copy link
Contributor Author

This is currently blocked. Waiting for Katana to upgrade the supported JSON-RPC spec to 0.6.0

It was posted that this should be soon https://t.me/dojoengine/5922

@b-j-roberts
Copy link
Contributor Author

The decision to switch from Katana to starknet-devnet-rs has unblocked this. Katana does now support 0.6.0, but this decision was made prior to that. I think this is still the best way to go because forking starknet-devnet-rs doesn't require forking the entire dojo engine. ( Forking will be required to unblock Groth EC pairings with new syscalls for now )

@b-j-roberts
Copy link
Contributor Author

b-j-roberts commented Mar 19, 2024

Update

We have decided to integrate with Herodotus storage proof's / API. So, instead of using a devnet for integration tests, we will need to do tests on Sepolia for the integration.
This would include setting up deployment and upgrading scripts for the BlobstreamX contracts on Sepolia, script for sending a blob to Celestia, using the request data commitments from Herodotus script, updating Starknet BlobstreamX data commitments from the Herodotus Fact registry, and verifying DA for the blob on Starknet through BlobstreamX.

References

@b-j-roberts b-j-roberts removed their assignment Mar 19, 2024
@thomas192
Copy link
Contributor

thomas192 commented Apr 8, 2024

@b-j-roberts @drspacemn

So remaining scripts to do are :

  • updating Starknet BlobstreamX data commitments from the Herodotus Fact registry
  • verifying DA for the blob on Starknet through BlobstreamX

Can I work on these ? If so, is starkli the way to go ?

@drspacemn
Copy link
Contributor

@thomas192 yes this is a good summary of the remaining scripts. Can you take #138 and I'll take #139 ?

@gogo2464
Copy link
Contributor

duplicate of #136 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dev Non-functional work infra
Projects
None yet
Development

No branches or pull requests

4 participants