From 6ad9a9aa9e58ffd3aa3fe874a5cb6a2ff006040a Mon Sep 17 00:00:00 2001 From: annisstuart092-sketch Date: Wed, 8 Apr 2026 21:41:58 +0300 Subject: [PATCH] Add EMADynamicFeeHook v2 on 6 chains to hooksAddressesAllowlist.ts --- lib/util/hooksAddressesAllowlist.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/util/hooksAddressesAllowlist.ts b/lib/util/hooksAddressesAllowlist.ts index 783aa924de..90deb96860 100644 --- a/lib/util/hooksAddressesAllowlist.ts +++ b/lib/util/hooksAddressesAllowlist.ts @@ -227,10 +227,19 @@ export const ANSTROM_HOOK_ON_BASE = '0x631352aaa9d6554848af674106bcd8bb9e59a5cf' export const UNISWAP_AGG_HOOK_ON_TEMPO = '0x717c31c3ea5f9070297f239fafd63d21afdaa888' +// EMA Dynamic Fee Hook v2 — 30-step EMA-based fee (0.01%-3.00%), anti-JIT, immutable +export const EMA_DYNAMIC_FEE_HOOK_ON_BASE = '0x84129dc46b712614471131e8b9dadd64c7d21bc0' +export const EMA_DYNAMIC_FEE_HOOK_ON_UNICHAIN = '0x6398f3c67b03c4622bdaa48d9e340d66e23a1bc0' +export const EMA_DYNAMIC_FEE_HOOK_ON_ARBITRUM = '0xe025cb6c58826ac79e2052c350250881f8f51bc0' +export const EMA_DYNAMIC_FEE_HOOK_ON_OPTIMISM = '0xb1db44de89634a001ceb5847defc3ff1e5601bc0' +export const EMA_DYNAMIC_FEE_HOOK_ON_MAINNET = '0x924e5c44c3b82c2c0ba231cd0de7b581180e1bc0' +export const EMA_DYNAMIC_FEE_HOOK_ON_POLYGON = '0x8eb0089d6c616bc2b7f69b3cafecfedc3ef11bc0' + // we do not allow v4 pools with non-zero hook address to be routed through in the initial v4 launch. // this is the ultimate safeguard in the routing subgraph pool cron job. export const HOOKS_ADDRESSES_ALLOWLIST: { [chain in ChainId]: Array } = { [ChainId.MAINNET]: [ + EMA_DYNAMIC_FEE_HOOK_ON_MAINNET, ADDRESS_ZERO, WETH_HOOKS_ADDRESS_ON_MAINNET, CLANKER_STATIC_FEE_HOOKS_ADDRESS_ON_MAINNET, @@ -261,10 +270,11 @@ export const HOOKS_ADDRESSES_ALLOWLIST: { [chain in ChainId]: Array } = ], [ChainId.GOERLI]: [ADDRESS_ZERO], [ChainId.SEPOLIA]: [ADDRESS_ZERO, extraHooksAddressesOnSepolia, FEY_ON_SEPOLIA], - [ChainId.OPTIMISM]: [ADDRESS_ZERO, WETH_HOOKS_ADDRESS_ON_OP_MAINNET, FINDEX_HOOK_ON_OPTIMISM], + [ChainId.OPTIMISM]: [EMA_DYNAMIC_FEE_HOOK_ON_OPTIMISM,ADDRESS_ZERO, WETH_HOOKS_ADDRESS_ON_OP_MAINNET, FINDEX_HOOK_ON_OPTIMISM], [ChainId.OPTIMISM_GOERLI]: [ADDRESS_ZERO], [ChainId.OPTIMISM_SEPOLIA]: [ADDRESS_ZERO], [ChainId.ARBITRUM_ONE]: [ + EMA_DYNAMIC_FEE_HOOK_ON_ARBITRUM, ADDRESS_ZERO, SLIPPAGE_FEE_HOOK_ON_ARBITRUM, CLANKER_DYNAMIC_FEE_HOOKS_ADDRESS_ON_ARBITRUM, @@ -276,7 +286,7 @@ export const HOOKS_ADDRESSES_ALLOWLIST: { [chain in ChainId]: Array } = ], [ChainId.ARBITRUM_GOERLI]: [ADDRESS_ZERO], [ChainId.ARBITRUM_SEPOLIA]: [ADDRESS_ZERO], - [ChainId.POLYGON]: [ADDRESS_ZERO, AEGIS_V1_1_ON_POLYGON], + [ChainId.POLYGON]: [EMA_DYNAMIC_FEE_HOOK_ON_POLYGON,ADDRESS_ZERO, AEGIS_V1_1_ON_POLYGON], [ChainId.POLYGON_MUMBAI]: [ADDRESS_ZERO], [ChainId.CELO]: [ADDRESS_ZERO], [ChainId.CELO_ALFAJORES]: [ADDRESS_ZERO], @@ -292,6 +302,7 @@ export const HOOKS_ADDRESSES_ALLOWLIST: { [chain in ChainId]: Array } = [ChainId.BASE_GOERLI]: [ADDRESS_ZERO], [ChainId.BASE_SEPOLIA]: [ADDRESS_ZERO], [ChainId.BASE]: [ + EMA_DYNAMIC_FEE_HOOK_ON_BASE, ADDRESS_ZERO, FLAUNCH_POSM_V1_ON_BASE, FLAUNCH_POSM_V2_ON_BASE, @@ -359,6 +370,7 @@ export const HOOKS_ADDRESSES_ALLOWLIST: { [chain in ChainId]: Array } = [ChainId.WORLDCHAIN]: [ADDRESS_ZERO], [ChainId.UNICHAIN_SEPOLIA]: [ADDRESS_ZERO], [ChainId.UNICHAIN]: [ + EMA_DYNAMIC_FEE_HOOK_ON_UNICHAIN, ADDRESS_ZERO, RENZO_ON_UNICHAIN, AEGIS_ON_UNICHAIN_V1,