Skip to content

Conversation

@koo-virtuals
Copy link
Contributor

@koo-virtuals koo-virtuals commented Feb 10, 2026

Note

Medium Risk
Changes an on-chain contract interface (preLaunch) and adds new persistent storage fields/mode logic in an upgradeable contract, which can impact integrations and storage layout if deployed incorrectly.

Overview
Introduces a new ACP_SKILL launch mode in BondingV4 alongside existing normal and X_LAUNCH, including separate tracking (isAcpSkillLaunch) and configurable fees (acpSkillLaunchFee).

Refactors BondingV4 prelaunch entrypoints by removing the dedicated preLaunchProjectXLaunch path and extending preLaunch with a launchMode_ parameter, routing fee selection and launch-mode tagging through _getLaunchFee.

Updates AgentTax to depend on minimal bonding interfaces and expands updateCreatorForProjectXLaunchAgents eligibility to include both X_LAUNCH and ACP_SKILL. Tests are updated/expanded to use the new preLaunch signature, validate the new mode/fee behavior, and simplify agentId lookup; Hardhat config and .openzeppelin/base-sepolia.json are updated to reflect new BondingV4 compilation/deployment metadata.

Written by Cursor Bugbot for commit bde44bd. This will update automatically on new commits. Configure here.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

},
viaIR: false,
},
},
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compiler override targets non-existent file path

Low Severity

The new compiler override targets contracts/newLaunchpad/BondingV4.sol, but the actual contract lives at contracts/launchpadv2/BondingV4.sol. The contracts/newLaunchpad directory does not exist. This means the intended viaIR: false setting won't apply to BondingV4.sol, matching the pre-existing (likely broken) pattern for the BondingV2.sol override.

Fix in Cursor Fix in Web


// New: Mapping to mark AcpSkillLaunch tokens (same permissions as ProjectXLaunch)
mapping(address => bool) public isAcpSkillLaunch;
uint256 public acpSkillLaunchFee;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uninitialized fee enables free launch after upgrade

Medium Severity

acpSkillLaunchFee defaults to 0 in this upgradeable contract. Since preLaunch is public and any caller can pass launchMode_ = 2 (LAUNCH_MODE_ACP_SKILL), there's a window after upgrade—before the admin calls setAcpSkillLaunchFee—where anyone can launch tokens with zero fee, bypassing the regular fee. An attacker could monitor the upgrade transaction and frontrun the fee-setting call.

Additional Locations (1)

Fix in Cursor Fix in Web

@koo-virtuals koo-virtuals closed this pull request by merging all changes into main in b64ae82 Feb 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant