DualInvestmentManagerUpgradeable
Upgradeable variant of the Dual Investment manager with protocol fee/reward hooks and helper entry methods.
Additions vs. Non‑Upgradeable
Protocol integration:
protocolTreasury,protocolToken,protocolFeeRate(bps),userProtocolRewards.Market integration flags:
protocolIntegratedMarketsandmarketUtilizationBonus.
Primary Functions
initialize(positionToken, vaultExecutor, settlementEngine, borrowRouter, riskGuard, peridottroller, protocolTreasury, protocolToken)enterPosition(..., useCollateral, enableAutoCompoundIgnored)Same flow as base; collects protocol fee on USD position value (
ProtocolFeeCollected), accrues user reward (ProtocolRewardEarned).
enterPositionWithOffset(..., offsetSeconds)Computes expiry as
now + offsetSecondsthen delegates to internal entry.
borrowAndEnterPosition(cToken, cTokenOut, borrowUnderlyingAmount, direction, strike, expiry)One‑shot: borrow via router → route to vault → mint position; requires
protocolIntegratedMarkets[cToken].
claimProtocolRewards()transfersprotocolTokento user for accumulated rewards.batchEnterPositions(...)bulk entry for integrations.
Admin
setSupportedCToken,setRiskParameters(like base).Configure
protocolTreasury,protocolToken, reward/fee bps (via init and dedicated setters where applicable).
Events
PositionEntered,ProtocolFeeCollected,ProtocolRewardEarned,MarketIntegrationUpdated,ProtocolConfigUpdated.
Notes
Rewards are accounting‑only until claimed; ensure treasury funds
protocolTokenbefore enabling claims.
Last updated