fix: Enhance Delegation Management with Caching and Reverse Mapping #1664
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I’ve implemented several important improvements to the delegation handling logic for better performance and efficiency:
Delegation Caching:
Reverse Delegation Mapping:
getDelegationReverseData
was introduced to ensure that we store both the delegator and delegate addresses in a reversed mapping. This improves the structure of delegation data and makes it more efficient to look up delegators for any given address.Optimized Data Retrieval:
Improved Data Return:
getDelegationsData
function has been refactored to provide a more structured and efficient way of returning delegation data, including the list of delegators for each address and a full list of all unique delegators.These changes not only streamline the delegation process but also enhance scalability and performance by reducing unnecessary computations and improving data handling efficiency.