F-2025-0013·missing-event

Missing event emission in token distribution functions leads to lack of transparency and monitoring

Acknowledgednfterc721erc20
TL;DR

Token distribution functions perform critical allocation movements (25% shareholder, 5% airdrop, 70% treasury) without emitting events, blocking off-chain monitoring and analytics.

Severity
LOW
Impact
LOW
Likelihood
MEDIUM
Method
MManual review
CAT.
Complexity
LOW
Exploitability
LOW
02Section · Description

Description

The token distribution functions distributeShareHolderTokens, airdrop, and transferFromTreasury do not emit events despite performing critical token allocation operations. These functions handle significant token movements (25% shareholder allocation, 5% airdrop allocation, and 70% treasury transfers) but provide no on-chain logging for transparency or off-chain monitoring.

solidity
function distributeShareHolderTokens(address to, uint256 amount) public onlyOwner {
if (amount > _unallocatedShareHolderTokens) {
revert InsufficientShareHolderTokens();
}
_unallocatedShareHolderTokens -= amount;
_transfer(address(this), to, amount);
// Missing event emission
}
function airdrop(address to, uint256 amount) public onlyOwner {
if (amount > _unallocatedAirdropTokens) {
revert InsufficientAirdropTokens();
}
_unallocatedAirdropTokens -= amount;
_transfer(address(this), to, amount);
// Missing event emission
}
function transferFromTreasury(address to, uint256 amount) public onlyOwner {
require(to != address(0), "Cannot transfer to zero address");
_transfer(treasury, to, amount);
// Missing event emission
}

This lack of event emission prevents:

  • Token holders from monitoring allocation distributions
  • Off-chain applications from tracking token movements
  • Analytics platforms from providing distribution insights
  • Community governance from maintaining transparency
  • Audit trails for token allocation decisions
03Section · Impact

Impact

Reduced transparency and monitoring capability around the largest token allocations, weakening community oversight and integrations.

04Section · Recommendation

Recommendation

Add appropriate event emissions for all token distribution functions:

solidity
event ShareHolderTokensDistributed(address indexed to, uint256 amount, uint256 remainingAllocation);
event AirdropExecuted(address indexed to, uint256 amount, uint256 remainingAllocation);
event TreasuryTransfer(address indexed to, uint256 amount);

Emit each event right after the token transfer in the corresponding function.

05Section · Resolution

Resolution

Ipal Network: Acknowledged. This finding relates to a contract that was decided to be outside the scope of the audit during the audit process.

Zealynx: Acknowledged. The token distribution functions still lack event emissions, preventing proper transparency and monitoring of token allocation activities.

F-2025-0013

oog
zealynx

Smart Contract Security Digest

Monthly exploit breakdowns, audit checklists, and DeFi security research — straight to your inbox

© 2026 Zealynx