CertiK reviewed Delabs Adventure Pass Staking (Delabs Adventure Pass Staking - Audit) on 29 Jun 2023: 9 findings, 0 critical; 4 marked fixed, 3 acknowledged, 2 open.
Report hosted on skynet.certik.com.
Trustblock does not review code.
Statuses are the security firm’s own, from its report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 2 | 0 | 0 |
| Medium | 0 | 0 | 0 |
| Low | 0 | 3 | 4 |
The upper limit of the loop count is currently hard coded as 3443 in the `getOwnerStakedTokenIds()` and `getOwnerStakedTokenPositions()` functions. This means that all tokens must be traversed each time these functions are called, resulting in a long and costly process that may lead to potential out-of-gas failures. Additionally, it means that the total number of NFTs cannot be changed, even if the `totalSupply` of the NFTs changes.
In the `DelabsAdventurePassStaking` contract, users have the option to stake their `DelabsAdventurePass` NFTs for a locked period and withdraw them once the period is over. It appears that the only staking benefit is to increase the level, and we would like to confirm with the client the purpose of levels in the Delabs project. Additionally, we have observed that levels are being added when staking instead of when unstaking, implying that the level is already increased when a user chooses to stake for an extended period. Furthermore, the level will be retained with the NFT that is unstaked when the owner invokes the `forceBatchUnstake` function. Therefore, we would like to confirm with the client whether this aligns with the original design.
The contract serves as the underlying entity to interact with one unknown implementation, the `adventurePass`, which falls out of the scope of this audit. The scope of the audit treats the related entities as black boxes and assumes their functional correctness. However, in the real world, the unknown implementation can be compromised and this may lead to lost or stolen assets. In addition, upgrades of it can possibly create severe impacts, such as increasing fees of third parties, etc. ```solidity=40 IDelabsAdventurePass private adventurePass; ``` - The contract `DelabsAdventurePassStaking` interacts with the unknown contract with `IDelabsAdventurePass` interface via `adventurePass`.
The report names a repository or files. Open the report to see its scope.
1,044 projects reviewed · 1,375 reports · latest May 2025
See CertiK’s auditsSomething wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.
Tell us