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

StarkNet v0.11.0 tracking #822

Closed
49 tasks done
Mirko-von-Leipzig opened this issue Jan 11, 2023 · 1 comment
Closed
49 tasks done

StarkNet v0.11.0 tracking #822

Mirko-von-Leipzig opened this issue Jan 11, 2023 · 1 comment

Comments

@Mirko-von-Leipzig
Copy link
Contributor

Mirko-von-Leipzig commented Jan 11, 2023

Tracking issue for StarkNet v0.11.0 support. Changes are documented here but we should still expect changes and more information over the coming days / weeks.

I'll start with a broad list of what is likely required and we can expand and refine it as more information becomes available. Once something is actionable, it would be nice to split it into a separate issue which is also tracked here.

Cairo 1.0 and Sierra

Cairo 1.0 classes may now be deployed using Declare V2 transactions. We will have to store its Sierra IR representation (to hand out to users via JSON-RPC) but will also need to compile it to Cairo assembly. The latter is required to execute calls and estimate fee's in the VM.

Declare V2

This new transaction type will permeate everywhere - RPC, gateway, sync, storage

State commitment

The state commitment definition is changing from v0.11.0 onwards. It now includes a class hash commitment tree. Since this change takes effect from literally v0.11.0 onwards, we will need to parse the semver version of a block to calculate the state commitment hash.

A question I have - are historical classes included in this tree or is it new classes only? I imagine only Cairo v1 classes to be backwards compatible? Indeed, only Cairo v1 classes are used.

JSON-RPC changes

Changes are already available for preview in the PRs since the last release. We will need to investigate how we can make v0.2 compatible with the upcoming v0.3 release.

On a positive note, at least we can remove v0.1.

Gateway API

Poseidon hash

Poseidon hash will be used in some places, but it is not yet clear where exactly.

Breaking Release

Since this is a breaking release, it would be a good time to remove the deprecated items:

Misc

Release preparations

@kkovaacs
Copy link
Contributor

A question I have - are historical classes included in this tree or is it new classes only? I imagine only Cairo v1 classes to be backwards compatible?

This was mentioned during the meeting -- only Cairo v1 classes are added to the classes tree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants