Donatello account_fetcher.rs is actual a copy of chain_data_fetcher.rs. Yet the name AccountFetcher clashes.
The account_fetcher.rs in mango-v4 implements an account rpc client + cache.
some mango services use sync rust code to fetch accounts; yet we do not want to maintain sync+async code for account_fetcher -> isolate the sync-code and refactor only the async code
A account/cain data retrieval utility has been implemented in Rust in the course of mango-v4 project.
Problem:
Maintaining and replicating account state is cumbersome to implement and imposes risk of high traffic on RPC-Nodes.
Proposed solution:
Take the Rust account_fetcher.rs and *chain_data_fetcher.rs' util and make it reusable as part of mango-feeds-connector.
Features:
note: chain_data_fetcher.rs is about account state - all other data (e.g. slot) is required to implement the replication
Architecture:
Milestones: