Conversation
PR Review: feat: hyperevm composer [SV-1413]Overall this is a clean implementation. The main contract is appropriately minimal — just a thin wrapper over the upstream Issues1. Missing deployment guard for
|
There was a problem hiding this comment.
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.
| console2.log("Chain ID:", block.chainid); | ||
| console2.log("UP OFT:", UP_OFT_HYPEREVM); | ||
| console2.log("Core Index ID:", CORE_INDEX_ID); | ||
| console2.log("Asset Decimal Diff:", uint8(ASSET_DECIMAL_DIFF)); |
There was a problem hiding this comment.
Casting int8 to uint8 produces misleading deployment log
Medium Severity
ASSET_DECIMAL_DIFF is declared as int8 with a valid range of [-2, 18], but the deployment log casts it to uint8. When this TODO placeholder is updated to a negative value (e.g., -2), the explicit uint8 cast will silently reinterpret via two's complement — logging 254 instead of -2. During a critical mainnet deployment, this misleading output could prevent operators from catching a misconfigured parameter.
| If you need to regenerate this calldata (e.g., for different addresses), run: | ||
|
|
||
| ```bash | ||
| cd /Users/cosming/1.Coding/Superform/v2-periphery |
There was a problem hiding this comment.
Local filesystem path committed in documentation
Low Severity
The "Regenerating Calldata" section contains an absolute local filesystem path (/Users/cosming/1.Coding/Superform/v2-periphery) that exposes a developer's machine username and directory structure. This is not useful for other developers and leaks personal info. It can be replaced with a relative path or a generic instruction.
PR Review: feat: hyperevm composer [SV-1413]
Additional Findings1. Hardcoded developer-local path in docs (Minor)
cd /Users/cosming/1.Coding/Superform/v2-peripheryReplace with a generic instruction such as: # from the repo root
forge script script/GenerateHyperEVMCalldata.s.sol -vvv2. Integration test lifecycle is incomplete for
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |


Note
Medium Risk
Deploys new cross-chain compose infrastructure and recovery paths; while largely additive, mistakes in deployment parameters (core index/decimals) or operational wiring could misroute funds or affect bridging behavior.
Overview
Implements
UpHyperLiquidComposer, a thinRecoverableComposer-based wrapper that enables LayerZero compose messages to forward bridged UP into HyperCore spot trading with MPC-gated emergency recovery.Adds deterministic HyperEVM deployment tooling (
DeployUpComposer.s.sol+deploy_up_composer.sh) including address precomputation, idempotent CREATE2 deploy, and JSON export, with deployment blocked untilCORE_INDEX_ID/decimal diff are finalized.Introduces extensive unit + HyperEVM-fork integration tests (with precompile mocks) covering happy-path compose flows (ERC20 and native value), failed-message/refund behavior, and recovery access control. Also adds operational docs/specs including explorer calldata for ETH/Base→HyperEVM wiring and HyperLiquid Composer integration guidance.
Written by Cursor Bugbot for commit 53b690e. This will update automatically on new commits. Configure here.