feat: add more launch options in extparam - #182
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 3efab8f. Configure here.
| bytes memory feeDelegationRecipient_ = _decodeFeeDelegationRecipient(extParams_); | ||
| isRobotics[token] = isRobotics_; | ||
| feeDelegationType[token] = feeDelegationType_; | ||
| feeDelegationRecipient[token] = feeDelegationRecipient_; |
There was a problem hiding this comment.
Stale fee delegation fields
Medium Severity
preLaunch now persists feeDelegationType and feeDelegationRecipient as on-chain source of truth, but setFeeDelegation still only updates isFeeDelegation. After an owner correction, the bool used for launch authorization can disagree with the stored type and recipient that backends read for vault setup.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 3efab8f. Configure here.
There was a problem hiding this comment.
isFeeDelegation is the top-level gate for fee delegation.


Note
Medium Risk
Upgradeable BondingV5 gains new state slots and fee-delegation metadata that backends must encode correctly; launch/fee flows are unchanged on-chain but wrong payloads could mis-route off-chain delegation.
Overview
BondingV5 extends the
preLaunchextParams_payload (v3) while keeping V1/V2 encodings valid: bit 2 isisRobotics, bits 3–4 arefeeDelegationType(none / address / twitter), and an optional second word holdsfeeDelegationRecipientas a right-alignedbytes32(address or Twitter id).preLaunchpersists these in new append-only storage, emitsPreLaunchExtParams, and documents the length-tolerant layout.Tests add
bondingV5ExtParams.jsfor decoding, legacyabi.encode(bool), and the new event. Fixtures passACF_FAKE_INITIAL_VIRTUAL_LIQintoBondingConfig, setgraduationExcessBurnWallet, grantBE_OPS_ROLEfor drain helpers (replacingEXECUTOR_ROLEin one drain test), and updatesetBondingCurveParamscall sites.Reviewed by Cursor Bugbot for commit beeef47. Bugbot is set up for automated code reviews on this repo. Configure here.