Missing permanent lock validation in split function
The split function did not validate that the source veNFT was not a permanent lock, allowing the user to split a permanent lock into pieces whose state would diverge from the permanent-lock invariant.
Description
Neverland supports a "permanent lock" mode for veNFTs in addition to the time-limited locks. The split function did not validate the lock type of the source veNFT, allowing a permanent lock to be split. The resulting pieces' state did not consistently preserve the permanent-lock invariants, creating drift in the global accounting.
Impact
Permanent lock invariants could be violated through the split path, producing inconsistent global voting-power tracking and reward distribution for the affected positions.
Recommendation
Reject splits when the source veNFT is a permanent lock, or carefully derive both child positions with the same permanent-lock state and equivalent invariants.
Composable Security ID: NRL-6c19a5e-M02. Neverland Money: Fixed. Composable Security: Fix verified during retest.