feat: Add Alphix hook identification for Base and Arbitrum#406
feat: Add Alphix hook identification for Base and Arbitrum#406yanisepfl wants to merge 2 commits into
Conversation
Add substreams modules to identify and tag Alphix V4 hook pools on Base and Arbitrum chains. Alphix is a Uniswap V4 Dynamic Fee Hook with JIT liquidity rehypothecation through ERC-4626 vaults. New modules: - store_alphix_hooks: stores known hook addresses from params - map_alphix_enriched_block_changes: tags pools with hook_identifier New chain configs: - base-uniswap-v4-with-hooks.yaml (2 hooks) - arbitrum-uniswap-v4-with-hooks.yaml (1 hook) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Hey! Thanks for your PR! For Uniswap v4 hooks integration, we cover it in our documentation here. You can also refer to the EulerSwap integration case study as an example. |
Addresses review feedback: since hook addresses are already configured in params, the intermediate store is unnecessary. The map handler now takes params directly and checks pool hooks against the configured address list. Companion indexer-side PR: propeller-heads/tycho#878
|
Thanks for the feedback @zach030! I've made both changes: 1. Removed 2. Indexer-side integration — since Alphix pools hold liquidity externally (ERC-4626 vaults, not in the PoolManager), I've opened a companion PR on It fetches vault balances via Let me know if anything else needs adjusting! |
|
@zach030 any thing I can do to help accelerate the process? Note: we already are integrated in Kyberswap |
Hey! I finished the review, looks good! I still need to sync it locally and run the integration tests, I'll keep you posted. |
|
Hey @yanisepfl! I noticed Alphix Hook is deployed on Base and Arbitrum. Unfortunately, due to node provider restrictions (we require |
Hi @zach030, thanks for letting me know and apologies for missing that requirement completely! We don't have a deployment on Ethereum or Unichain currently, but we're open to expanding to Unichain. Realistically though, it probably wouldn't happen in the next couple of weeks. Out of curiosity, are there any plans on your side to support other chains (such as Base and Arbitrum) in the future? Happy to revisit this PR whenever there's alignment on either end. |
Hey! Tycho currently supports Ethereum, Base, and Unichain — you can check the full list in this doc. We have a chain scaling roadmap in the works and are planning to expand to Arbitrum, BSC, Polygon, and more. |
Well then I don't understand, it seems our Base pools should already be supported no? As for Arbitrum, we don't mind waiting for you to expand. Thanks! |
We do support Base, but hook support requires |
Summary
Add substreams modules to identify and tag Alphix Uniswap V4 hook pools on Base and Arbitrum. Alphix is a Dynamic Fee Hook with JIT liquidity rehypothecation through ERC-4626 vaults (Aave, Sky).
store_alphix_hooks: Stores known hook addresses from YAML paramsmap_alphix_enriched_block_changes: Tags matching pools withhook_identifier: "alphix_v1"Pools
0x831CfDf7c0E194f5369f204b3DD2481B843d60c00x0e4b892Df7C5Bcf5010FAF4AA106074e555660C00x5e645C3D580976Ca9e3fe77525D954E73a0Ce0C0Note on Liquidity Model
Alphix pools hold no liquidity in the PoolManager — all liquidity is rehypothecated into ERC-4626 yield sources and minted JIT on every swap via
beforeSwap/afterSwaphooks. The Generator/Parser will need to query available liquidity per token viagetAmountInYieldSource(Currency)on the hook contract. NohookDatais needed — Alphix hooks are composable with standard Uniswap V4 entrypoint encoding.Let me know if you have any questions — happy to help with anything needed on our side.
Thanks!