Omniscia Tangible Audit
USTB Code Style Findings
USTB Code Style Findings
UST-01C: Non-Uniform Storage Pattern
| Type | Severity | Location |
|---|---|---|
| Code Style | ![]() | USTB.sol:L29, L31 |
Description:
The overall codebase implements a pointer-based upgradeability-compatible storage pattern that is not applied in the USTB contract.
Example:
src/USTB.sol
24contract USTB is IUSTB, LayerZeroRebaseTokenUpgradeable, UUPSUpgradeable {25 using SafeERC20 for IERC20;26
27 address public constant UNDERLYING = 0x59D9356E565Ab3A36dD77763Fc0d87fEaf85508C;28
29 address public rebaseIndexManager;30
31 bool private _isMainChain;Recommendation:
As is the case with all its dependencies, we advise the USTB contract to apply a similar pointer-based storage system.
Alleviation (3a0386718027f5d784cd2030ce58a9ed68ecc2eb):
The rebaseIndexManager variable was relocated to a dedicated USTBStorage struct per our recommendation whilst the _isMainChain variable has been made immutable and relocated to a new CrossChainToken dependency within the project, addressing this exhibit.
