Summary
Events help non-contract tools to track changes, and events prevent users from being surprised by changes.
function Distribution_init(
address depositToken_,
address l1Sender_,
Pool[] calldata poolsInfo_
) external initializer {
__Ownable_init();
__UUPSUpgradeable_init();
for (uint256 i; i < poolsInfo_.length; ++i) {
createPool(poolsInfo_[i]);
}
depositToken = depositToken_;
l1Sender = l1Sender_;
}
constructor() {
_disableInitializers();
}
function L1Sender__init(
address distribution_,
RewardTokenConfig calldata rewardTokenConfig_,
DepositTokenConfig calldata depositTokenConfig_
) external initializer {
__Ownable_init();
__UUPSUpgradeable_init();
setDistribution(distribution_);
setRewardTokenConfig(rewardTokenConfig_);
setDepositTokenConfig(depositTokenConfig_);
}
function L2MessageReceiver__init() external initializer {
__Ownable_init();
__UUPSUpgradeable_init();
}
function L2TokenReceiver__init(
address router_,
address nonfungiblePositionManager_,
SwapParams memory params_
) external initializer {
__Ownable_init();
__UUPSUpgradeable_init();
router = router_;
nonfungiblePositionManager = nonfungiblePositionManager_;
_editParams(params_);
}
Tools Used
manual analysis
Recommendations
Add Event-Emit