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.
Issue being fixed or feature implemented
There were two issues being fixed in this PR.
The first is that sum items have variable cost. This is particularly a problem when updating the balance of an identity as we do not want added or removed bytes which would cause a headache for estimated costs. Now Sum Items always have the same cost (9 bytes). We chose 9 bytes because it represents the size of a i64::Max which is larger than the amount of credits possible in the system.
The second is that a sum tree was calculating if it was in a sum tree itself based on whether it was a sum item (it always was). This was leading to a nasty issue where GroveDb would be reporting that bytes were being removed from the system on update.
What was done?
How Has This Been Tested?
Breaking Changes
Checklist:
For repository code-owners and collaborators only