Skip to content
This repository was archived by the owner on Dec 9, 2025. It is now read-only.
This repository was archived by the owner on Dec 9, 2025. It is now read-only.

Clarity and logic optimizations in DistributionManager #8

Description

@LHerskind

The current DistributionManager have some low-hanging fruits in terms of clarity and logic optimizations.

Storage usage:

  • The current AssetData uses only 104 bits for the index with the word having 8 bits unused, as we are normally using 128 bits for these values, I suggest that we use the extra 8 bits to move closer to the normal index range.

Clarity:

  • The users mapping holds the indexes for each user, and it would be more clear if the naming showed this, suggesting that we rename it to userIndexes.

Logic / Gas optimizations:

  • emissionPerSecond is fetched at every call to _updateAssetStateInternal but is not used when block.timestamp == lastUpdateTimestamp, the fetching could be moved below this point to remove unnecessary reads.
  • In _updateAssetStateInternal the value assetConfig.lastUpdateTimestamp is updated in both branches of the if-else, so it may just be moved out in full, this would also allow us to remove the else case entirely.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions