SlipstreamAggregator on Robinhood Chain
Uniswap v4 Hook Contract 0xa1ad09c98710d2c709e3bea03708823255312888 on Robinhood Chain · Dynamic fee · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 56
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
This hook routes swaps on a registered Uniswap V4 pool into an external Slipstream-style concentrated liquidity pool, so traders get that pool's price and dynamic fee, a protocol fee is taken from the output side when enabled, and LPs must supply liquidity to the external pool instead of the V4 pool.
This read was written for the hook 0xa117…2888 on Robinhood Chain and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.
How it works step by step
- Singleton aggregator hook that routes swaps for a Uniswap V4 pool into an external Slipstream-style concentrated liquidity pool, looked up from the factory by token pair and tickSpacing.
- Registers at pool initialization: resolves the external pool, checks token ordering and tickSpacing, and records a one-to-one mapping from the V4 PoolId to the external pool.
- On each swap, beforeSwap executes the swap against the external pool with the callback paying input into the PoolManager, then returns a BeforeSwapDelta so the V4 pool accounting nets to the external pool's output.
- Blocks liquidity additions by reverting in the base beforeAddLiquidity, so LPs deposit into the external pools, not the V4 pool.
- Charges a protocol fee of up to a multiplier-scaled share of the unspecified side, derived from the pool's protocol fee slot, and forwards it to a token jar.
- Exposes quote() which performs a low-level call to the external pool and reads the amounts from a revert payload, and pseudoTotalValueLocked() which reads balances of the external pool.
- Swap behaviour
- Every swap on a registered pool is executed against the external Slipstream-style pool rather than V4 liquidity. Exact-input and exact-output are both handled, with the unspecified side adjusted by any protocol fee taken to the token jar. The external pool's price limit is set to its extreme bound, so price impact is governed by the external pool's own state.
- Liquidity behaviour
- Adding liquidity to the V4 pool reverts with LiquidityNotAllowed. Liquidity exists only in the external pool and is not changed by this hook. Removal callbacks are not implemented.
- Fee behaviour
- The hook does not set an LP fee; the external pool's own dynamic fee applies. A protocol fee, read from the pool manager's protocol fee slot scaled by a fixed multiplier of 25, is taken from the unspecified currency and sent to the token jar when one is configured. The fee flag for a dynamic-fee key is required at initialization.
- Owner & admin controls
- No owner, pause, upgrade or parameter-setter functions appear in the ABI. The token jar address is pulled from the pool manager's protocol fee controller rather than set by an admin. Immutable factory, pool manager and multiplier are fixed at deployment.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap, beforeSwapReturnDelta
beforeInitialize registers and validates the external pool and records the canonical key; beforeAddLiquidity reverts to block V4 liquidity; beforeSwap executes swaps against the external pool and returns a return delta that replaces the V4 AMM swap; beforeSwapReturnDelta enables that delta to be applied.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: No privileged key is visible in the ABI; the factory and pool manager are immutable. Protocol fee destination is determined by the pool manager's fee controller, which is outside this hook's control.
Risk to user funds: The hook holds no user funds at rest but settles and takes currency through the PoolManager on each swap, so swap correctness depends on its delta accounting and on the external pool. Native currency is rejected, and swaps revert if the external pool is missing.
Security findings
- [medium] Hook takes tokens via return deltas: beforeSwap returns a BeforeSwapDelta and the hook settles and takes currency from the PoolManager on every swap, so the hook's accounting controls the net flow of user funds through the external pool path.
- [medium] External pool trust: Pool resolution depends on the immutable Slipstream factory; a malicious or misconfigured factory could return a pool that misreports swap deltas, though token ordering and tickSpacing are checked and a canonical pool per pair is enforced.
- [low] Protocol fee sent to token jar: A protocol fee is taken from the unspecified side on every swap when the fee slot is nonzero and a token jar is set, which reduces user output relative to the external pool quote.
- [info] Quote via low-level call: quote() uses a low-level call to the external pool and decodes a revert payload; it is only callable externally and does not change state on the hook side beyond the fee logic.
- [info] Liquidity blocked on V4 pool: LPs cannot provide liquidity to the registered V4 pool, which concentrates liquidity risk in the external pool contracts.
Contract details
- Verified source
- Yes (SlipstreamAggregator)
- Compiler
- solc 0.8.29+commit.ab55807c
- Bytecode size
- 15,441 bytes
- Upgradeable proxy
- No
- Detected patterns
- fee-sharing, moves-currency, return-delta
Pools using SlipstreamAggregator
- MOCK3 / USDG (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- WETH / CLOCKIN (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- WETH / FEATHERS (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- WETH / MOONCOW (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- WETH / SGLD (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- WETH / STONKS (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- WETH / FADE (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- wtSNES / USDG (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- USDG / wtGRND (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- WETH / RAID (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- USDG / wtDNUT (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today