Core V2 - IP.World


Prepared by:

Halborn Logo

HALBORN

Last Updated 07/25/2025

Date of Engagement: July 1st, 2025 - July 7th, 2025

Summary

100% of all REPORTED Findings have been addressed

All findings

14

Critical

1

High

1

Medium

4

Low

4

Informational

4


1. Introduction

IPWorld engaged Halborn to conduct a security assessment of their smart contracts starting at July 1st, 2025 and ending on July 7th, 2025. The security assessment was scoped to the smart contracts provided in the ipdotworld/core Github repository provided to Halborn. Further details can be found in the Scope section of this report.

2. Assessment Summary

Halborn was provided 5 (five) days for the engagement, and assigned one full-time security engineer to review the security of the smart contracts in scope. The engineer is a blockchain and smart contract security expert with advanced penetration testing and smart contract hacking skills, and deep knowledge of multiple blockchain protocols.


The purpose of the assessment is to:

    • Identify potential security issues within the smart contracts.

    • Ensure that smart contract functionality operates as intended.


In summary, Halborn identified some improvements to reduce the likelihood and impact of risks, which were mostly addressed by the IPWorld team. The main ones were the following: 

    • Initialize nextTick prior to entering the harvest loop to prevent startTick corruption and ensure proper fee collection.

    • Create vesting schedule immediately when prerequisites are met, independent of WETH collection to prevent permanent blocking.

    • Clamp tick bounds within repositionBidWall() to prevent TickMath reverts and harvest denial-of-service attacks.

    • Accept user-defined deadline parameters in liquidity operations to restore slippage protection against MEV attacks.

    • Rename V2 initializer to initializeV2 and protect with reinitializer(2) modifier to enable proper proxy upgrades.

    • Remove base initializers from reinitializer functions to prevent "already initialized" reverts during upgrades.

    • Use call() without gas limits for ETH transfers to ensure compatibility with smart contract wallets.

    • Add missing safety guards to claimToken() including array length validation and SafeERC20 usage.

    • Add fee-share sum validation in constructor to prevent treasury calculation underflows and harvest reverts.

3. Caveats

The Operator role has extensive control over both data and funds within the IPWorld system. Since it is assumed to be a trusted role, risks and findings specifically tied to it were not included in this report. However, Halborn strongly recommends that the IPWorld team handle all private keys, including the Operator key, with the highest level of security and operational caution.

4. SCOPE

REPOSITORY
(a) Repository: core
(b) Assessed Commit ID: 62c2f9f
(c) Items in scope:
  • src/IPworld.Sol
  • src/IPOwnerVault.sol
  • src/IPWorldManager.sol
↓ Expand ↓
Out-of-Scope: Third party dependencies and economic attacks.
Remediation Commit ID:
Out-of-Scope: New features/implementations after the remediation commit IDs.

5. Findings Overview

Security analysisRisk levelRemediation
Incorrect Tick-Segment Search Yields Zero-Fee HarvestsCriticalSolved - 07/10/2025
Zero-WETH Harvest & Single-Range Deployment Can Permanently Block VestingHighSolved - 07/10/2025
Extreme-Tick Bid-Wall Repositioning Can Cause harvest DoSMediumSolved - 07/12/2025
Uncallable Initializer in IPOwnerVaultMediumSolved - 07/10/2025
Repeating Base Initializers in Re-Initializer Will RevertMediumSolved - 07/10/2025
Harvest fails for old tokens without repositionBidWall() functionMediumSolved - 07/22/2025
Hard-Coded deadline Nullifies Slippage ProtectionLowSolved - 07/10/2025
Operator-Only claimToken() Is UnusedLowSolved - 07/10/2025
Fixed-Gas ETH Transfer May Revert for Smart-Contract WalletsLowSolved - 07/10/2025
Fee-Share Sum Not BoundedLowSolved - 07/10/2025
claimIp() Lacks Basic ValidationInformationalSolved - 07/23/2025
setExpectedSigner Accepts Zero AddressInformationalSolved - 07/10/2025
Unchecked Increments Could Save GasInformationalAcknowledged - 07/10/2025
TODO Markers Indicating Incomplete FeaturesInformationalSolved - 07/23/2025

Halborn strongly recommends conducting a follow-up assessment of the project either within six months or immediately following any material changes to the codebase, whichever comes first. This approach is crucial for maintaining the project’s integrity and addressing potential vulnerabilities introduced by code modifications.

// Download the full report

Core V2

* Use Google Chrome for best results

** Check "Background Graphics" in the print settings if needed