@@ -233,6 +233,11 @@ export const UNISWAP_AGG_HOOK_ON_TEMPO = '0x717c31c3ea5f9070297f239fafd63d21afda
233233// example pool: https://app.uniswap.org/explore/pools/ethereum/0x3facd9ce342c0f04dab80699211fa1aca4cc837671cade16a6cfc52d6d650cb3
234234export const TETRIS_CUSTOM_DYNAMIC_FEE_HOOK_ON_MAINNET = '0x3a3a9a072ab438335a52e0cf064f7ec91d824080'
235235
236+ // GlueHook V3 (https://gluehook.trade, source https://github.com/glue-finance/GlueHook): buyback pot behind every
237+ // swap, auto-compounding LP. Flags 0x2040 = beforeInitialize + afterSwap, no delta flags, so quotes are exact.
238+ // Deployed via CREATE at the same address on every chain below.
239+ export const GLUEHOOK_ON_ALL_CHAINS = '0xbb021554c5294328b04fa313669715bd201ba040'
240+
236241// we do not allow v4 pools with non-zero hook address to be routed through in the initial v4 launch.
237242// this is the ultimate safeguard in the routing subgraph pool cron job.
238243export const HOOKS_ADDRESSES_ALLOWLIST : { [ chain in ChainId ] : Array < string > } = {
@@ -265,10 +270,11 @@ export const HOOKS_ADDRESSES_ALLOWLIST: { [chain in ChainId]: Array<string> } =
265270 BVCC_DYNAMIC_FEE_HOOK_ON_MAINNET ,
266271 AZTEC_HOOK_ADDRESS_ON_MAINNET ,
267272 TETRIS_CUSTOM_DYNAMIC_FEE_HOOK_ON_MAINNET ,
273+ GLUEHOOK_ON_ALL_CHAINS ,
268274 ] ,
269275 [ ChainId . GOERLI ] : [ ADDRESS_ZERO ] ,
270276 [ ChainId . SEPOLIA ] : [ ADDRESS_ZERO , extraHooksAddressesOnSepolia , FEY_ON_SEPOLIA ] ,
271- [ ChainId . OPTIMISM ] : [ ADDRESS_ZERO , WETH_HOOKS_ADDRESS_ON_OP_MAINNET , FINDEX_HOOK_ON_OPTIMISM ] ,
277+ [ ChainId . OPTIMISM ] : [ ADDRESS_ZERO , WETH_HOOKS_ADDRESS_ON_OP_MAINNET , FINDEX_HOOK_ON_OPTIMISM , GLUEHOOK_ON_ALL_CHAINS ] ,
272278 [ ChainId . OPTIMISM_GOERLI ] : [ ADDRESS_ZERO ] ,
273279 [ ChainId . OPTIMISM_SEPOLIA ] : [ ADDRESS_ZERO ] ,
274280 [ ChainId . ARBITRUM_ONE ] : [
@@ -280,10 +286,11 @@ export const HOOKS_ADDRESSES_ALLOWLIST: { [chain in ChainId]: Array<string> } =
280286 LIMIT_ORDER_HOOKS_ADDRESS_ON_ARBITRUM ,
281287 DORY_BURN_AND_MINT_POWER_HOOK_ON_ARBITRUM ,
282288 BVCC_DYNAMIC_FEE_HOOK_ON_ARBITRUM ,
289+ GLUEHOOK_ON_ALL_CHAINS ,
283290 ] ,
284291 [ ChainId . ARBITRUM_GOERLI ] : [ ADDRESS_ZERO ] ,
285292 [ ChainId . ARBITRUM_SEPOLIA ] : [ ADDRESS_ZERO ] ,
286- [ ChainId . POLYGON ] : [ ADDRESS_ZERO , AEGIS_V1_1_ON_POLYGON ] ,
293+ [ ChainId . POLYGON ] : [ ADDRESS_ZERO , AEGIS_V1_1_ON_POLYGON , GLUEHOOK_ON_ALL_CHAINS ] ,
287294 [ ChainId . POLYGON_MUMBAI ] : [ ADDRESS_ZERO ] ,
288295 [ ChainId . CELO ] : [ ADDRESS_ZERO ] ,
289296 [ ChainId . CELO_ALFAJORES ] : [ ADDRESS_ZERO ] ,
@@ -294,8 +301,9 @@ export const HOOKS_ADDRESSES_ALLOWLIST: { [chain in ChainId]: Array<string> } =
294301 BVCC_DYNAMIC_FEE_HOOK_ON_BSC ,
295302 CLANKER_DYNAMIC_FEE_HOOKS_ADDRESS_ON_BSC ,
296303 LAUNCHLY_BNB_HOOKS_ADDRESS_ON_BNB ,
304+ GLUEHOOK_ON_ALL_CHAINS ,
297305 ] ,
298- [ ChainId . AVALANCHE ] : [ ADDRESS_ZERO , AVAXSTRATEGIES_STATIC_FEE_HOOKS_ADDRESS_ON_AVAX ] ,
306+ [ ChainId . AVALANCHE ] : [ ADDRESS_ZERO , AVAXSTRATEGIES_STATIC_FEE_HOOKS_ADDRESS_ON_AVAX , GLUEHOOK_ON_ALL_CHAINS ] ,
299307 [ ChainId . BASE_GOERLI ] : [ ADDRESS_ZERO ] ,
300308 [ ChainId . BASE_SEPOLIA ] : [ ADDRESS_ZERO ] ,
301309 [ ChainId . BASE ] : [
@@ -358,13 +366,14 @@ export const HOOKS_ADDRESSES_ALLOWLIST: { [chain in ChainId]: Array<string> } =
358366 CLAUNCH_HOOK_ON_BASE ,
359367 SEEDIFY_SPARK_HOOK_ON_BASE ,
360368 ANSTROM_HOOK_ON_BASE ,
369+ GLUEHOOK_ON_ALL_CHAINS ,
361370 ] ,
362371 [ ChainId . ZORA ] : [ ADDRESS_ZERO ] ,
363372 [ ChainId . ZORA_SEPOLIA ] : [ ADDRESS_ZERO ] ,
364373 [ ChainId . ROOTSTOCK ] : [ ADDRESS_ZERO ] ,
365374 [ ChainId . BLAST ] : [ ADDRESS_ZERO ] ,
366375 [ ChainId . ZKSYNC ] : [ ADDRESS_ZERO ] ,
367- [ ChainId . WORLDCHAIN ] : [ ADDRESS_ZERO ] ,
376+ [ ChainId . WORLDCHAIN ] : [ ADDRESS_ZERO , GLUEHOOK_ON_ALL_CHAINS ] ,
368377 [ ChainId . UNICHAIN_SEPOLIA ] : [ ADDRESS_ZERO ] ,
369378 [ ChainId . UNICHAIN ] : [
370379 ADDRESS_ZERO ,
@@ -379,6 +388,7 @@ export const HOOKS_ADDRESSES_ALLOWLIST: { [chain in ChainId]: Array<string> } =
379388 PANOPTIC_ORACLE_HOOK_ON_UNICHAIN ,
380389 UNIDERP_HOOK_ON_UNICHAIN ,
381390 UNIVERSAL_HOOK_ON_UNICHAIN ,
391+ GLUEHOOK_ON_ALL_CHAINS ,
382392 ] ,
383393 [ ChainId . MONAD_TESTNET ] : [ ADDRESS_ZERO ] ,
384394 [ ChainId . MONAD ] : [
@@ -388,8 +398,8 @@ export const HOOKS_ADDRESSES_ALLOWLIST: { [chain in ChainId]: Array<string> } =
388398 DOPPLER_HOOKS_ADDRESS_ON_MONAD ,
389399 CULT_FEE_HOOK_ADDRESS_ON_MONAD ,
390400 ] ,
391- [ ChainId . SONEIUM ] : [ ADDRESS_ZERO ] ,
392- [ ChainId . XLAYER ] : [ ADDRESS_ZERO , AEGIS_V3 ] ,
401+ [ ChainId . SONEIUM ] : [ ADDRESS_ZERO , GLUEHOOK_ON_ALL_CHAINS ] ,
402+ [ ChainId . XLAYER ] : [ ADDRESS_ZERO , AEGIS_V3 , GLUEHOOK_ON_ALL_CHAINS ] ,
393403 [ ChainId . LINEA ] : [ ADDRESS_ZERO ] ,
394404 [ ChainId . TEMPO ] : [ ADDRESS_ZERO , UNISWAP_AGG_HOOK_ON_TEMPO ] ,
395405}
0 commit comments