Skip to content

Latest commit

 

History

History
41 lines (21 loc) · 3.15 KB

File metadata and controls

41 lines (21 loc) · 3.15 KB

Straight Mahogany Stallion

Medium

Missing events in administrative state-setting functions

Summary

This report highlights missing event emissions in the administrative functions withdraw, setInvestmentIsPaused and setClaimIsPaused. These functions perform token transfers or control the contract’s operational state by pausing or resuming key activities, but they do not currently emit events upon execution. Without events, it is difficult to track these changes on-chain, which may lead to transparency and monitoring issues.

Root Cause

The contract does not emit events for the setInvestmentIsPaused, setClaimIsPaused, and withdraw functions. Emitting events is a best practice, particularly for administrative functions that alter the contract’s operational status or transfer tokens, as it provides a public log of significant actions for both users and external systems.

Internal pre-conditions

No response

External pre-conditions

No response

Attack Path

No response

Impact

The lack of event emissions in these functions can lead to several negative consequences. For the setInvestmentIsPaused and setClaimIsPaused functions, users and stakeholders are left without a clear on-chain record of when investment or claims have been paused or resumed, which can lead to confusion about the contract’s current operational state. Users may find it harder to determine whether actions they wish to perform are available at a given time, potentially leading to failed transactions and frustration.

In the case of the withdraw function, the absence of an event when ERC20 tokens are withdrawn can reduce transparency regarding asset flows. This opacity can cause trust issues, as there is no on-chain notification or record that details which tokens were withdrawn, by whom, and in what quantity. The absence of such records makes it more difficult for third parties, including auditors and monitoring tools, to track and verify token movements. For contracts managing significant funds or interacting with multiple stakeholders, this lack of transparency can pose operational and reputational risks.

Moreover, many automated systems and third-party tools rely on events to monitor contract activity in real-time. Without event emissions for these functions, such systems might not be able to track state changes or withdrawals effectively. This could limit the accuracy of external dashboards, analytics tools, and alert systems that users and administrators rely on for timely updates, impacting user experience and trust in the contract’s operations.

PoC

No response

Mitigation

No response