Omniscia Moby Audit

BaseToken Static Analysis Findings

BaseToken Static Analysis Findings

BTN-01S: Inexistent Event Emissions

Description:

The linked functions adjust sensitive contract variables yet do not emit an event for it.

Example:

contracts/tokens/BaseToken.sol
49function setYieldTrackers(address[] memory _yieldTrackers) external onlyAdmin {
50 yieldTrackers = _yieldTrackers;
51}

Recommendation:

We advise an event to be declared and correspondingly emitted for each function to ensure off-chain processes can properly react to this system adjustment.

Alleviation (a8720219a6a97e10b8d9c6a70c6345747f0fdcb3):

The SetInfo, SetYieldTrackers, setInPrivateTransferMode, SetHandler, UpdateNonStakingAccount, and UpdateNonStakingAccount events were introduced to the codebase and are correspondingly emitted in the BaseToken::setInfo, BaseToken::setYieldTrackers, BaseToken::setInPrivateTransferMode, BaseToken::setHandler, BaseToken::addNonStakingAccount, and BaseToken::removeNonStakingAccount functions respectively, addressing this exhibit in full.