SlipstreamAggregator on Base

Uniswap v4 Hook Contract 0xa1d866042c0989570cc35ce102c03d14184ee888 on Base · Custom pricing · Verified contract

Volume (24h)
$0
Value locked (TVL)
$0
All-time volume
$0
Pools using this hook
101
Swaps (24h)
0 (0 traders)
Total swaps
8

What it does

Swaps on the pool are routed to an external Slipstream-style pool and priced by that pool's dynamic fee, with an optional protocol fee taken from the output side, while liquidity can only be added in the external pool.

How it works step by step

  • Singleton v4 hook that routes swaps on Uniswap v4 pools to externally held Slipstream-style concentrated liquidity pools found via the factory keyed by tickSpacing
  • Registers a canonical external pool per v4 pool in beforeInitialize, rejecting native currency and duplicate pair registrations
  • Blocks liquidity additions via beforeAddLiquidity so LPs cannot deposit into the hook
  • Executes swaps inside beforeSwap by calling the external pool, paying the input via the pool manager and returning a before-swap delta that replaces core pool liquidity
  • Takes an optional protocol fee on swaps (25 pips multiplier) and forwards it to a token jar polled from the protocol fee controller
  • Exposes a quote function that simulates swaps through a revert-based callback
Swap behaviour
Swaps are fully executed by the hook through the external Slipstream-style pool: the hook sends the output to the pool manager settled from the external pool, takes the swapper input, and returns a before-swap delta. An optional protocol fee is taken from the unspecified side and sent to the token jar; the fee is zero unless the pool's protocol fee is set.
Liquidity behaviour
beforeAddLiquidity always reverts with LiquidityNotAllowed, so no liquidity can be added through the v4 pool. Liquidity lives in the external pool, not managed by this hook; pseudoTotalValueLocked reports balances of the external pool.
Fee behaviour
The v4 pool must be initialized with the dynamic fee flag; the swap fee is whatever the external Slipstream pool charges, not a fixed pool property. A protocol fee (protocolFeeMultiplier 25 applied to the pool's protocol fee setting) is taken as a share of the unspecified amount and sent to the token jar; it is zero when the pool has no protocol fee set.
Owner & admin controls
No owner or pausing controls found in the decoded interface. The factory and pool manager are immutable; the token jar address is read from the protocol fee controller and cannot be set by the hook owner. The version string is fixed at construction.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap, beforeSwapReturnDelta

beforeInitialize registers the external pool mapping and polls the token jar. beforeAddLiquidity reverts to block LP deposits. beforeSwap executes the swap against the external pool and returns a before-swap delta that takes over the swap amounts and applies the protocol fee; beforeSwapReturnDelta is enabled because the hook sets the swap deltas.

Security & trust assessment

Risk level: medium (verified source, medium confidence).

Who controls it: The hook has no privileged owner functions; centralization sits in the protocol fee controller that sets the token jar and protocol fees, and in the external Slipstream factory that determines which pool is used.

Risk to user funds: Swap input and output flow through the hook and external pool via the pool manager, so user funds are exposed to the external pool's behaviour and to the hook's delta accounting. The hook does not hold funds at rest beyond transient settlement.

Security findings

  • [medium] Hook returns swap deltas and moves currency: beforeSwap returns a before-swap delta and takes protocol fees and swap funds through the pool manager, so an error in the external pool accounting or the quote path can misprice or drain value routed through the hook.
  • [medium] Trust in external factory and pool: Pool resolution relies on the Slipstream factory getPool result and a token0/token1 consistency check; a malicious or upgraded factory could return a pool that receives swap input and returns manipulated output.
  • [info] Protocol fee forwarded to token jar: Protocol fees are taken from swap outputs and sent to a token jar read from the protocol fee controller; the fee amount is controlled by the pool's protocol fee settings rather than this hook.
  • [info] Liquidity deposits disabled: beforeAddLiquidity always reverts, so LPs cannot provide liquidity through the v4 pool and must use the external pool directly.

Contract details

Verified source
Yes (SlipstreamAggregator)
Compiler
solc 0.8.29+commit.ab55807c
Bytecode size
12,107 bytes
Upgradeable proxy
No
Detected patterns
erc20, fee-sharing, moves-currency, return-delta

Pools using SlipstreamAggregator