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

@LHerskind

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.

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