Platform: Code4rena
Start Date: 03/10/2023
Pot Size: $24,500 USDC
Total HM: 6
Participants: 62
Period: 3 days
Judge: LSDan
Total Solo HM: 3
Id: 288
League: ETH
Rank: 42/62
Findings: 1
Award: $4.94
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: adriro
Also found by: 0x3b, 0xAadi, 0xDING99YA, 0xTheC0der, 0xWaitress, 0xdice91, 100su, 3docSec, BRONZEDISC, BoRonGod, Eurovickk, GKBG, HChang26, IceBear, JP_Courses, MatricksDeCoder, Mike_Bello90, SovaSlava, Topmark, albahaca, cookedcookee, gzeon, hunter_w3b, kutugu, lukejohn, marqymarq10, matrix_0wl, orion, pep7siup, radev_sw, sces60107, taner2344, tpiliposian, wahedtalash77, xAriextz, zpan
4.9369 USDC - $4.94
Some functions are missing @params or @returns. Specification Format.” These are written with a triple slash (///) or a double asterisk block(/** ... */) directly above function declarations or statements to generate documentation in JSON format for developers and end-users. It is recommended that Solidity contracts are fully annotated using NatSpec for all public interfaces (everything in the ABI). These comments contain different types of tags:
// @param/@notice missing 16: function initTickTracking(bytes32 poolIdx, int24 tick) internal { // @param missing 24: function crossTicks( 39: function accrueConcentratedGlobalTimeWeightedLiquidity( 69: function accrueConcentratedPositionTimeWeightedLiquidity( 156: function claimConcentratedRewards( 198: function accrueAmbientGlobalTimeWeightedLiquidity( 224: function accrueAmbientPositionTimeWeightedLiquidity( 256: function claimAmbientRewards(
// @param missing 26: function protocolCmd(bytes calldata cmd) public virtual { 41: function userCmd(bytes calldata input) public payable { 54: function claimConcentratedRewards(bytes32 poolIdx, int24 lowerTick, int24 upperTick, uint32[] memory weeksToClaim) 61: function claimAmbientRewards(bytes32 poolIdx, uint32[] memory weeksToClaim) public payable { 65: function setConcRewards(bytes32 poolIdx, uint32 weekFrom, uint32 weekTo, uint64 weeklyReward) public payable { 74: function setAmbRewards(bytes32 poolIdx, uint32 weekFrom, uint32 weekTo, uint64 weeklyReward) public payable { // @param and @return missing 85: function acceptCrocProxyRole(address, uint16 slot) public pure returns (bool) {
variables
should preppend with underline
functions
should preppend with underline
// private and internal `functions` should preppend with `underline` 16: function initTickTracking(bytes32 poolIdx, int24 tick) internal { 24: function crossTicks( 39: function accrueConcentratedGlobalTimeWeightedLiquidity( 69: function accrueConcentratedPositionTimeWeightedLiquidity( 156: function claimConcentratedRewards( 198: function accrueAmbientGlobalTimeWeightedLiquidity( 224: function accrueAmbientPositionTimeWeightedLiquidity( 256: function claimAmbientRewards(
// remove useless comments 66: // require(msg.sender == governance_, "Only callable by governance"); 75: // require(msg.sender == governance_, "Only callable by governance");
#0 - c4-pre-sort
2023-10-09T17:22:46Z
141345 marked the issue as sufficient quality report
#1 - c4-judge
2023-10-18T22:42:21Z
dmvt marked the issue as grade-b