Remove SOL from the Omnipool & DCA POL into GSOL
Summary
This referendum removes SOL (Solana (Moonbeam Wormhole), asset 1000752) from the Omnipool in full, and sets up a rolling DCA that gradually converts the protocol-owned SOL returned to the Treasury into GSOL (GIGASOL) over roughly 4 hours.
Liquidity additions for SOL have already been disabled by the Technical Committee (tradable = REMOVE_LIQUIDITY | SELL | BUY, i.e. bits: 11), so the position set is frozen and this action is safe to enact.
Rationale
SOL is being removed from the Omnipool directly as it is already available through GIGASOL and the protocol's SOL exposure consolidated into the GSOL money-market/stableswap position. Rather than a single market sell, the conversion is executed as a gradual DCA to minimise price impact.
What this referendum does
Executed as a single Utility.force_batch on the Root track, scheduled across ~15 blocks:
- Freeze trading incrementally — sets SOL tradability to remove-only at enactment.
- Exit all liquidity-mining farms — 103 farm-entry exits across the 86 deposits (both yield farms
103/104 and 109/110, already Stopped), returning every farmed position to its owner.
- Remove all liquidity —
remove_all_liquidity for all 104 LP positions, dispatched on behalf of each position owner.
- Delist the token — freezes SOL and calls
Omnipool.remove_token, sweeping the protocol-owned reserve (~170 SOL) to the Treasury.
- Schedule the DCA — the Treasury opens a DCA schedule selling SOL → GSOL.
DCA parameters
- Order: Sell SOL (
1000752) → GSOL (9001)
- Route:
Aave (SOL→aSOL) → Stableswap #90001 (aSOL→share) → Aave (share→GSOL) — routes entirely off the Omnipool, so it is unaffected by the delisting
- Budget:
total_amount = 0 (rolling — sells from the Treasury's SOL balance until exhausted, so no need to hard-code the exact amount)
- Cadence: every
50 blocks (~5 min), 3.6 SOL per execution → ~48 executions ≈ ~4 hours
- Slippage:
1%
- Owner: Treasury; self-terminates once the SOL is used up
Technical details
- Track: Root
- Preimage hash:
0x6bc6ece418bbc5b6c1b51ccc5eed5275470a7db4182cb6e5e8445e90df18079e
- Call:
Utility.force_batch (13,727 bytes) — bare Root call, no whitelist wrapper
- Enactment: completes ~15 blocks after enactment; DCA then runs over ~4 hours
Verification
The full proposal was dry-run on a mainnet fork (chopsticks, forked at the current block with live relay height). Confirmed:
Omnipool.Assets[1000752] removed; 0 SOL positions and 0 deposits remain
- Treasury received the swept SOL reserve
- The DCA schedule was created and executed on-chain: a first cycle sold 3.6 SOL and received GSOL via the aave/stableswap route, with the rolling schedule persisting
State re-checked immediately before submission: 104 positions / 86 deposits unchanged, adds disabled (bits: 11), both farms Stopped.