feat(Grants): paginate storage and remove max grant limit #52
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.
Rmove the maximum grants limit which could create undesired consequences when an address is spammed. However we need to paginate the storage to keep the cost of iterating over all the grants for functions like claim, cancel and renounce limited and predictable. For convenience of the contract users we assume startPage == endPage == 0 means iterate over all the pages (which could make sense if the user already knows this wouldn't be too expensive.
NOTE: we are not defragmenting the storage when some schedules are removed from a page. This means the number of items in every page would be variable but always less than or equal the pageLimit.