namada
namada copied to clipboard
Shielded sync refactor
In order to improve shielded sync, we need to address several issues across several PRs.
Phase 1.
- [ ] When fetching notes, connections and related failures should not halt shielded sync. Instead, the process should be restarted
- [ ] If fetching is interrupted, the data fetched should be persisted locally so that progress isn't lost
- [ ] A trait for fetching behavior should be added to provide modularity
Phase 2.
- [ ] finish developing a masp indexer to support faster fetching of notes and to perform preprocessing
- [ ] Integrate the indexer with shielded sync by implementing the trait developed in phase 1 above.
- [ ] Commitment trees and witnesses can be constructed by anyone out of band. An option to download these should be added instead of always constructing them client side.
Phase 3.
- [ ] The trial decryptions of MASP notes should be performed in parallel.
- [ ] Scanning does not wait for all notes to be fetched but starts scanning them as they become available.