harb/onchain/src
johba 5c4ceaf78d fix: No negative-mantissa guard in OptimizerV3Push3 (#650) (#966)
Fixes #650

## Changes
Add require(inputs[k].mantissa >= 0, 'negative mantissa') for all 8 input slots inside the existing validation loop in OptimizerV3Push3.sol, matching the guard pattern in Optimizer.sol lines 372-374. Added 3 tests covering slots 0, 1, and 5 to confirm revert on negative mantissa.

Co-authored-by: openhands <openhands@all-hands.dev>
Reviewed-on: https://codeberg.org/johba/harb/pulls/966
Reviewed-by: Disinto_bot <disinto_bot@noreply.codeberg.org>
2026-03-19 11:30:18 +01:00
..
abstracts fix: Unclamped anchorWidth can overflow tick range — no upper-bound guard after MAX_ANCHOR_WIDTH removal (#783) (#817) 2026-03-15 21:34:33 +00:00
helpers Add Solidity linting with solhint, Foundry formatter, and pre-commit hooks (#51) 2025-10-04 15:17:09 +02:00
interfaces beautified 2025-07-08 10:33:10 +02:00
libraries feat: OptimizerV3 with direct 2D staking-to-LP parameter mapping 2026-02-13 18:21:18 +00:00
IOptimizer.sol fix: fix: remove MAX_ANCHOR_WIDTH clamp in ThreePositionStrategy (#783) 2026-03-14 23:21:30 +00:00
Kraiken.sol fix: add symmetric InvalidAddress guard to setLiquidityManager (#935) 2026-03-18 09:45:43 +00:00
LiquidityManager.sol fix: No events on fee destination state changes (#958) 2026-03-18 21:25:12 +00:00
Optimizer.sol fix: Optimizer.sol base class only guards slots 0 and 1 (#968) 2026-03-18 18:24:18 +00:00
OptimizerV3.sol fix: OptimizerV3 / OptimizerV3Push3 not explicitly typed against IOptimizer (#661) 2026-03-14 05:08:32 +00:00
OptimizerV3Push3.sol fix: No negative-mantissa guard in OptimizerV3Push3 (#650) (#966) 2026-03-19 11:30:18 +01:00
Stake.sol fix: Stake.sol: exitPosition guard order (owner check before existence) (#307) 2026-02-27 06:33:32 +00:00
VWAPTracker.sol fix: fix: Restore proper VWAP — gas-efficient volume-weighted pricing (revert TWAP) (#603) 2026-03-12 08:50:07 +00:00