Open drewstone opened 1 year ago
The eventual goal is to run part of this inside SGX. We can also consider adding a method for doing the entire proof generation in the relayer as well, which we will also only consider in a trusted environment like SGX.
Overview
In an ideal world where a relayer can be trusted (wink wink SGX), it would be a huge performance improvement to be able to get a user's merkle path for a record/note commitment from the node storing all the leaves. This would eliminate the need for the client to download and cache all leaves locally, since they can just query this relayer for their proofs.
Description
Extend the leaf caching relayer with an API that fetches the Merkle path for a given leaf / set of leaves.
Acceptance Criteria
get_merkle_path
method which takes a leaf (or set of leaves) and returns the Merkle path for the leaf(s).get_merkle_path
function works as expected, returning the correct Merkle path for existing leaves and returning an error for non-existing leaves.