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

groth16 client on SimApp is created without keys #79

Open
rootulp opened this issue Jan 10, 2025 · 0 comments
Open

groth16 client on SimApp is created without keys #79

rootulp opened this issue Jan 10, 2025 · 0 comments

Comments

@rootulp
Copy link
Collaborator

rootulp commented Jan 10, 2025

Context

func createClientAndConsensusState(genesisBlock, latestBlock *ethtypes.Block) (*cdctypes.Any, *cdctypes.Any, error) {
// TODO: this clientState isn't created with a state transition verifier key or state inclusion verifier key.
clientState := groth16.NewClientState(latestBlock.Number().Uint64(), []byte{}, []byte{}, []byte{}, genesisBlock.Root().Bytes())

Problem

The client on SimApp is not created with verifier keys for state transition, state inclusion, or a code commitment.

Proposal

The Info endpoint on the Prover contains these keys:

message InfoResponse {
// TODO: add more info here as is relevant such as the circuit and state machine types
bytes state_transition_verifier_key = 1;
bytes state_membership_verifier_key = 2;
}
so we should query that endpoint and supply the keys when creating the client on SimApp.

Note: we may need to expand the InfoResponse to include a code commitment over the circuit.

cc: @tuxcanfly

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

1 participant