Open Eikix opened 8 months ago
Reopening this issue as some partners have asked us this feature
cc @greged93 @tcoratger this needs additional and precise scoping to be able to assert amount of work needed and whether it's prio or not!
I think this might require a meeting with the partners which want to use it so we can understand if it's possible from our side.
So after some research I think there are a couple of issues with this:
eth_getProof
would probably plug the answer into a library which expects keccak to be used in the MPT, which will be an issue for us as we will generate the proof using pedersen.Just received from builder:
Note from Scroll tech lead: we have a fork of geth, and use a binary trie with Poseidon hash, yes. the RPC just returns a proof on this state data structure. it's a simpler structure than Ethereum's MPT. more prover friendly but not optimized for execution speed. in our case we'd need to provide our own SDK for Scroll's storage proofs
I guess that would work then, if we have our own code for verification. Will need to scope this a lot more and divide into multiple issues. How urgent is this? Because this will take quite some effort
Not urgent
Afaik Antiyro and @apoorvsadana from Madara are pushing for starknet_getProof
implementation, how can we integrate it with eth_getProof
?
Ref: https://github.com/starkware-libs/starknet-specs/pull/227/files
once we have the starknet_getProof
, we can get the proof for the two slots and return these as the proof for one slot. You can also get the contract proof from starknet_getProof
.
all in all it will be converting from the starknet data to eth data and make a custom verification script for the users.
Still waiting for starknet_getProof from starknet nodes
we want getProof
we need to implement it as a Starknet RPC adapter ->