Skip to main content

Crate wp_evm_velodrome_interfaces

Crate wp_evm_velodrome_interfaces 

Source
Expand description

Velodrome family ABI bindings.

Covers Aerodrome (Base) and Velodrome Slipstream (Optimism) — the two deployments share byte-identical NFPM positions() and CLPool ABIs, so a single crate covers both. Verified on 2026-04-28 against aerodrome-finance/slipstream and velodrome-finance/slipstream source.

Pure ABI codec — no #[sol(rpc)], no async deps. Downstream callers build their own eth_call / Multicall3 dispatch on top of *Call::abi_encode and *Call::abi_decode_returns.

Modules:

  • factoryIVelodromeCLFactory with getPool, tickSpacingToFee, poolImplementation (used by pool-address verification and pool-view fee-tier surface).
  • periphery — NFPM bindings.
  • pool — CL pool state/immutables bindings.

Differences vs sibling families’ interfaces crates:

  • NFPM positions(): 12-field (vs Ramses 10, Algebra 11, V3 12). Has nonce + operator (V3-style) AND tickSpacing (Ramses-style) — union of both shapes; no fee (lives on factory’s tickSpacingToFee mapping).
  • Pool slot0(): 6-field — has NO feeProtocol (V3 has uint8, Ramses has uint24, Slipstream omits entirely). Pool fees are configured on the factory per-tickSpacing.
  • Pool feeGrowthGlobal0/1X128 preserves V3-naming (NOT Algebra’s “Token” suffix). Same for ticks(int24) outside-fee field names (feeGrowthOutside0/1X128).

Spec: docs/superpowers/specs/2026-04-28-r15-velodrome-family-position-support-design.md.

Modules§

factory
IVelodromeCLFactory — Aerodrome and Velodrome Slipstream CLFactory read methods. Both deployments share byte-identical factory ABIs.
gauge
Velodrome-family Voter + CLGauge ABI bindings.
periphery
Periphery ABI bindings — NonfungiblePositionManager read methods + collect(CollectParams), plus the shared Multicall + PeripheryPayments surface (multicall / unwrapWETH9 / sweepToken / refundETH) carried by Velodrome family NFPMs.
pool
Pool ABI bindings — immutables (token0/token1/tickSpacing) + state (slot0/liquidity/feeGrowthGlobal*/ticks).