@black-market/sdk 0.9.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +19 -15
  2. package/dist/lifecycle/abi.d.ts +1 -0
  3. package/dist/lifecycle/abi.d.ts.map +1 -1
  4. package/dist/lifecycle/abi.js +1 -0
  5. package/dist/lifecycle/abi.js.map +1 -1
  6. package/dist/lifecycle/deployments/{hmm-dynamic-pool-hook-v1-20261011.d.ts → hmm-dynamic-pool-hook-v2-20261017.d.ts} +21 -21
  7. package/dist/lifecycle/deployments/{hmm-dynamic-pool-hook-v1-20261011.d.ts.map → hmm-dynamic-pool-hook-v2-20261017.d.ts.map} +1 -1
  8. package/dist/lifecycle/deployments/hmm-dynamic-pool-hook-v2-20261017.js +69 -0
  9. package/dist/lifecycle/deployments/{hmm-dynamic-pool-hook-v1-20261011.js.map → hmm-dynamic-pool-hook-v2-20261017.js.map} +1 -1
  10. package/dist/lifecycle/deployments/{hmm-fixed-pool-hook-v1-20261011.d.ts → hmm-fixed-pool-hook-v2-20261017.d.ts} +21 -21
  11. package/dist/lifecycle/deployments/{hmm-fixed-pool-hook-v1-20261011.d.ts.map → hmm-fixed-pool-hook-v2-20261017.d.ts.map} +1 -1
  12. package/dist/lifecycle/deployments/hmm-fixed-pool-hook-v2-20261017.js +69 -0
  13. package/dist/lifecycle/deployments/{hmm-fixed-pool-hook-v1-20261011.js.map → hmm-fixed-pool-hook-v2-20261017.js.map} +1 -1
  14. package/dist/lifecycle/hmm-abi.d.ts +4544 -0
  15. package/dist/lifecycle/hmm-abi.d.ts.map +1 -0
  16. package/dist/lifecycle/hmm-abi.js +299 -0
  17. package/dist/lifecycle/hmm-abi.js.map +1 -0
  18. package/dist/lifecycle/hmm.d.ts +19 -3
  19. package/dist/lifecycle/hmm.d.ts.map +1 -1
  20. package/dist/lifecycle/hmm.js +11 -7
  21. package/dist/lifecycle/hmm.js.map +1 -1
  22. package/dist/lifecycle/markets.d.ts.map +1 -1
  23. package/dist/lifecycle/markets.js +2 -0
  24. package/dist/lifecycle/markets.js.map +1 -1
  25. package/dist/lifecycle/presets.d.ts +2 -2
  26. package/dist/lifecycle/presets.js +4 -4
  27. package/docs/launch-lifecycle.md +122 -56
  28. package/examples/README.md +6 -4
  29. package/examples/hmm-launch-config.ts +4 -1
  30. package/package.json +2 -2
  31. package/src/lifecycle/abi.ts +1 -0
  32. package/src/lifecycle/deployments/hmm-dynamic-pool-hook-v2-20261017.ts +71 -0
  33. package/src/lifecycle/deployments/hmm-fixed-pool-hook-v2-20261017.ts +71 -0
  34. package/src/lifecycle/hmm-abi.ts +302 -0
  35. package/src/lifecycle/hmm.ts +12 -7
  36. package/src/lifecycle/markets.ts +1 -0
  37. package/src/lifecycle/presets.ts +4 -4
  38. package/dist/lifecycle/deployments/hmm-dynamic-pool-hook-v1-20261011.js +0 -69
  39. package/dist/lifecycle/deployments/hmm-fixed-pool-hook-v1-20261011.js +0 -69
  40. package/src/lifecycle/deployments/hmm-dynamic-pool-hook-v1-20261011.ts +0 -71
  41. package/src/lifecycle/deployments/hmm-fixed-pool-hook-v1-20261011.ts +0 -71
@@ -0,0 +1,302 @@
1
+ // Complete HMM V2 ABIs from the preserved admitted release; generated by scripts/generate-hmm-presets.mjs.
2
+ export const hmmLiquidityManagerV2Abi = [
3
+ {"type":"constructor","inputs":[{"name":"manager","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"launchToken","type":"address"},{"name":"cfg","type":"tuple","components":[{"name":"bidWidth","type":"int24"},{"name":"askWidth","type":"int24"},{"name":"gap","type":"int24"},{"name":"staleAfterSeconds","type":"uint32"},{"name":"staleDisplacement","type":"int24"},{"name":"minQuoteDeploy","type":"uint256"},{"name":"minQuoteHarvest","type":"uint256"},{"name":"minTokenHarvest","type":"uint256"},{"name":"resalePremiumBps","type":"uint16"},{"name":"maxAsks","type":"uint8"},{"name":"maxAskTokenExposure","type":"uint256"},{"name":"maxAcquiredInventory","type":"uint256"},{"name":"premiumDecaySeconds","type":"uint32"},{"name":"maxBidQuote","type":"uint256"},{"name":"referenceDeviation","type":"int24"}]}],"stateMutability":"nonpayable"},
4
+ {"type":"function","name":"BPS","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
5
+ {"type":"function","name":"POOL_ID","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"view"},
6
+ {"type":"function","name":"acquiredTokenPrincipal","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
7
+ {"type":"function","name":"askCostBasis","inputs":[{"name":"","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
8
+ {"type":"function","name":"askFillState","inputs":[{"name":"slot","type":"uint8"}],"outputs":[{"name":"tokenCheckpoint","type":"uint128"},{"name":"lastMeaningfulFill","type":"uint64"}],"stateMutability":"view"},
9
+ {"type":"function","name":"asks","inputs":[{"name":"","type":"uint256"}],"outputs":[{"name":"lower","type":"int24"},{"name":"upper","type":"int24"},{"name":"liquidity","type":"uint128"},{"name":"tokenPrincipal","type":"uint128"},{"name":"floorTick","type":"int24"},{"name":"createdAt","type":"uint64"}],"stateMutability":"view"},
10
+ {"type":"function","name":"bidAnchorTick","inputs":[],"outputs":[{"name":"","type":"int24"}],"stateMutability":"view"},
11
+ {"type":"function","name":"bidFillState","inputs":[],"outputs":[{"name":"tokenCheckpoint","type":"uint128"},{"name":"lastMeaningfulFill","type":"uint64"}],"stateMutability":"view"},
12
+ {"type":"function","name":"bidPosition","inputs":[],"outputs":[{"name":"lower","type":"int24"},{"name":"upper","type":"int24"},{"name":"liquidity","type":"uint128"}],"stateMutability":"view"},
13
+ {"type":"function","name":"bidQuotePrincipal","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
14
+ {"type":"function","name":"bidWidth","inputs":[],"outputs":[{"name":"","type":"int24"}],"stateMutability":"view"},
15
+ {"type":"function","name":"effectiveFloorTick","inputs":[{"name":"slot","type":"uint8"}],"outputs":[{"name":"","type":"int24"}],"stateMutability":"view"},
16
+ {"type":"function","name":"gap","inputs":[],"outputs":[{"name":"","type":"int24"}],"stateMutability":"view"},
17
+ {"type":"function","name":"hook","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
18
+ {"type":"function","name":"lifetimeInventoryCost","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
19
+ {"type":"function","name":"lifetimeQuoteDeployed","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
20
+ {"type":"function","name":"lifetimeQuoteFunded","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
21
+ {"type":"function","name":"lifetimeQuoteRecycled","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
22
+ {"type":"function","name":"lifetimeTokenFeesFunded","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
23
+ {"type":"function","name":"lifetimeTokenHarvested","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
24
+ {"type":"function","name":"maintain","inputs":[],"outputs":[],"stateMutability":"nonpayable"},
25
+ {"type":"function","name":"maintenanceCount","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
26
+ {"type":"function","name":"maxAcquiredInventory","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
27
+ {"type":"function","name":"maxAskTokenExposure","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
28
+ {"type":"function","name":"maxBidQuote","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
29
+ {"type":"function","name":"minQuoteDeploy","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
30
+ {"type":"function","name":"offeredTokenPrincipal","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
31
+ {"type":"function","name":"onDonate","inputs":[],"outputs":[],"stateMutability":"nonpayable"},
32
+ {"type":"function","name":"onOpened","inputs":[],"outputs":[],"stateMutability":"nonpayable"},
33
+ {"type":"function","name":"onSwap","inputs":[{"name":"pricedFill","type":"bool"}],"outputs":[],"stateMutability":"nonpayable"},
34
+ {"type":"function","name":"opened","inputs":[],"outputs":[{"name":"","type":"bool"}],"stateMutability":"view"},
35
+ {"type":"function","name":"pendingTokenFees","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
36
+ {"type":"function","name":"placementsPaused","inputs":[],"outputs":[{"name":"","type":"bool"}],"stateMutability":"view"},
37
+ {"type":"function","name":"poolKey","inputs":[],"outputs":[{"name":"","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]}],"stateMutability":"view"},
38
+ {"type":"function","name":"poolManager","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
39
+ {"type":"function","name":"premiumDecaySeconds","inputs":[],"outputs":[{"name":"","type":"uint32"}],"stateMutability":"view"},
40
+ {"type":"function","name":"quote","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
41
+ {"type":"function","name":"realizedInventoryCost","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
42
+ {"type":"function","name":"referenceDeviation","inputs":[],"outputs":[{"name":"","type":"int24"}],"stateMutability":"view"},
43
+ {"type":"function","name":"reserveCostBasis","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
44
+ {"type":"function","name":"reserveEffectiveFloorTick","inputs":[],"outputs":[{"name":"","type":"int24"}],"stateMutability":"view"},
45
+ {"type":"function","name":"reserveLot","inputs":[],"outputs":[{"name":"lower","type":"int24"},{"name":"upper","type":"int24"},{"name":"liquidity","type":"uint128"},{"name":"tokenPrincipal","type":"uint128"},{"name":"floorTick","type":"int24"},{"name":"createdAt","type":"uint64"}],"stateMutability":"view"},
46
+ {"type":"function","name":"setPlacementsPaused","inputs":[{"name":"paused","type":"bool"}],"outputs":[],"stateMutability":"nonpayable"},
47
+ {"type":"function","name":"setStrategyConfig","inputs":[{"name":"cfg","type":"tuple","components":[{"name":"bidWidth","type":"int24"},{"name":"askWidth","type":"int24"},{"name":"gap","type":"int24"},{"name":"staleAfterSeconds","type":"uint32"},{"name":"staleDisplacement","type":"int24"},{"name":"minQuoteDeploy","type":"uint256"},{"name":"minQuoteHarvest","type":"uint256"},{"name":"minTokenHarvest","type":"uint256"},{"name":"resalePremiumBps","type":"uint16"},{"name":"maxAsks","type":"uint8"},{"name":"maxAskTokenExposure","type":"uint256"},{"name":"maxAcquiredInventory","type":"uint256"},{"name":"premiumDecaySeconds","type":"uint32"},{"name":"maxBidQuote","type":"uint256"},{"name":"referenceDeviation","type":"int24"}]}],"outputs":[],"stateMutability":"nonpayable"},
48
+ {"type":"function","name":"staleRelocationCount","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
49
+ {"type":"function","name":"strategyConfig","inputs":[],"outputs":[{"name":"","type":"tuple","components":[{"name":"bidWidth","type":"int24"},{"name":"askWidth","type":"int24"},{"name":"gap","type":"int24"},{"name":"staleAfterSeconds","type":"uint32"},{"name":"staleDisplacement","type":"int24"},{"name":"minQuoteDeploy","type":"uint256"},{"name":"minQuoteHarvest","type":"uint256"},{"name":"minTokenHarvest","type":"uint256"},{"name":"resalePremiumBps","type":"uint16"},{"name":"maxAsks","type":"uint8"},{"name":"maxAskTokenExposure","type":"uint256"},{"name":"maxAcquiredInventory","type":"uint256"},{"name":"premiumDecaySeconds","type":"uint32"},{"name":"maxBidQuote","type":"uint256"},{"name":"referenceDeviation","type":"int24"}]}],"stateMutability":"view"},
50
+ {"type":"function","name":"tickSpacing","inputs":[],"outputs":[{"name":"","type":"int24"}],"stateMutability":"view"},
51
+ {"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
52
+ {"type":"function","name":"tokenIsCurrency0","inputs":[],"outputs":[{"name":"","type":"bool"}],"stateMutability":"view"},
53
+ {"type":"function","name":"unlockCallback","inputs":[{"name":"data","type":"bytes"}],"outputs":[{"name":"","type":"bytes"}],"stateMutability":"nonpayable"},
54
+ {"type":"event","name":"AskPlaced","inputs":[{"name":"slot","type":"uint8","indexed":true},{"name":"lower","type":"int24","indexed":false},{"name":"upper","type":"int24","indexed":false},{"name":"liquidity","type":"uint128","indexed":false},{"name":"tokenPrincipal","type":"uint128","indexed":false},{"name":"floorTick","type":"int24","indexed":false}],"anonymous":false},
55
+ {"type":"event","name":"AskRemoved","inputs":[{"name":"slot","type":"uint8","indexed":true},{"name":"lower","type":"int24","indexed":false},{"name":"upper","type":"int24","indexed":false},{"name":"liquidity","type":"uint128","indexed":false},{"name":"tokenPrincipal","type":"uint128","indexed":false},{"name":"quotePrincipal","type":"uint128","indexed":false},{"name":"fullySold","type":"bool","indexed":false}],"anonymous":false},
56
+ {"type":"event","name":"BidPlaced","inputs":[{"name":"lower","type":"int24","indexed":false},{"name":"upper","type":"int24","indexed":false},{"name":"liquidity","type":"uint128","indexed":false},{"name":"quoteAmount","type":"uint256","indexed":false}],"anonymous":false},
57
+ {"type":"event","name":"BidRemoved","inputs":[{"name":"lower","type":"int24","indexed":false},{"name":"upper","type":"int24","indexed":false},{"name":"liquidity","type":"uint128","indexed":false},{"name":"quotePrincipal","type":"uint256","indexed":false},{"name":"tokenPrincipal","type":"uint256","indexed":false}],"anonymous":false},
58
+ {"type":"event","name":"LotCreated","inputs":[{"name":"slot","type":"uint8","indexed":true},{"name":"tokenAmount","type":"uint128","indexed":false},{"name":"quoteSpent","type":"uint128","indexed":false},{"name":"floorTick","type":"int24","indexed":false}],"anonymous":false},
59
+ {"type":"event","name":"LotPromoted","inputs":[{"name":"slot","type":"uint8","indexed":true},{"name":"tokenAmount","type":"uint128","indexed":false},{"name":"floorTick","type":"int24","indexed":false}],"anonymous":false},
60
+ {"type":"event","name":"Maintenance","inputs":[{"name":"count","type":"uint256","indexed":true},{"name":"spotTick","type":"int24","indexed":false}],"anonymous":false},
61
+ {"type":"event","name":"PlacementsPaused","inputs":[{"name":"feeOwner","type":"address","indexed":true},{"name":"paused","type":"bool","indexed":false}],"anonymous":false},
62
+ {"type":"event","name":"QuoteFunded","inputs":[{"name":"amount","type":"uint256","indexed":false}],"anonymous":false},
63
+ {"type":"event","name":"StaleRelocated","inputs":[{"name":"isBid","type":"bool","indexed":true},{"name":"slot","type":"uint8","indexed":true},{"name":"previousLower","type":"int24","indexed":false},{"name":"targetLower","type":"int24","indexed":false}],"anonymous":false},
64
+ {"type":"event","name":"StrategyConfigUpdated","inputs":[{"name":"feeOwner","type":"address","indexed":true},{"name":"config","type":"tuple","indexed":false,"components":[{"name":"bidWidth","type":"int24"},{"name":"askWidth","type":"int24"},{"name":"gap","type":"int24"},{"name":"staleAfterSeconds","type":"uint32"},{"name":"staleDisplacement","type":"int24"},{"name":"minQuoteDeploy","type":"uint256"},{"name":"minQuoteHarvest","type":"uint256"},{"name":"minTokenHarvest","type":"uint256"},{"name":"resalePremiumBps","type":"uint16"},{"name":"maxAsks","type":"uint8"},{"name":"maxAskTokenExposure","type":"uint256"},{"name":"maxAcquiredInventory","type":"uint256"},{"name":"premiumDecaySeconds","type":"uint32"},{"name":"maxBidQuote","type":"uint256"},{"name":"referenceDeviation","type":"int24"}]}],"anonymous":false},
65
+ {"type":"event","name":"TokenFeesFunded","inputs":[{"name":"amount","type":"uint256","indexed":false}],"anonymous":false},
66
+ {"type":"error","name":"AlreadyOpened","inputs":[]},
67
+ {"type":"error","name":"InvalidConfig","inputs":[]},
68
+ {"type":"error","name":"InvalidPoolKey","inputs":[]},
69
+ {"type":"error","name":"InvalidRange","inputs":[]},
70
+ {"type":"error","name":"Locked","inputs":[]},
71
+ {"type":"error","name":"NotOpened","inputs":[]},
72
+ {"type":"error","name":"OnlyHook","inputs":[]},
73
+ {"type":"error","name":"OnlyPoolManager","inputs":[]},
74
+ {"type":"error","name":"OnlyStrategyOwner","inputs":[]},
75
+ {"type":"error","name":"PoolNotInitialized","inputs":[]},
76
+ ] as const;
77
+
78
+ export const hmmFeeCollectorV2Abi = [
79
+ {"type":"constructor","inputs":[{"name":"hub_","type":"address"},{"name":"locker_","type":"address"},{"name":"key_","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"expectedPositionCount_","type":"uint256"},{"name":"liquidityManager_","type":"address"},{"name":"strategyShareBps_","type":"uint16"}],"stateMutability":"nonpayable"},
80
+ {"type":"function","name":"assets","inputs":[],"outputs":[{"name":"result","type":"address[]"}],"stateMutability":"view"},
81
+ {"type":"function","name":"collect","inputs":[],"outputs":[{"name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable"},
82
+ {"type":"function","name":"custodyRecipients","inputs":[],"outputs":[{"name":"result","type":"address[5]"}],"stateMutability":"view"},
83
+ {"type":"function","name":"expectedPositionCount","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
84
+ {"type":"function","name":"hookRoot","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
85
+ {"type":"function","name":"hub","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
86
+ {"type":"function","name":"launchToken","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
87
+ {"type":"function","name":"liquidityManager","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
88
+ {"type":"function","name":"locker","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
89
+ {"type":"function","name":"poolId","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"view"},
90
+ {"type":"function","name":"poolKey","inputs":[],"outputs":[{"name":"","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]}],"stateMutability":"view"},
91
+ {"type":"function","name":"poolManager","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
92
+ {"type":"function","name":"setStrategyShareBps","inputs":[{"name":"newShareBps","type":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},
93
+ {"type":"function","name":"sourceId","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"view"},
94
+ {"type":"function","name":"strategyOwner","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
95
+ {"type":"function","name":"strategyShareBps","inputs":[],"outputs":[{"name":"","type":"uint16"}],"stateMutability":"view"},
96
+ {"type":"function","name":"token0","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
97
+ {"type":"function","name":"token1","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
98
+ {"type":"function","name":"validateBinding","inputs":[],"outputs":[],"stateMutability":"view"},
99
+ {"type":"event","name":"FeesCollected","inputs":[{"name":"amount0","type":"uint256","indexed":false},{"name":"amount1","type":"uint256","indexed":false}],"anonymous":false},
100
+ {"type":"event","name":"StrategyFunded","inputs":[{"name":"manager","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false}],"anonymous":false},
101
+ {"type":"event","name":"StrategyShareUpdated","inputs":[{"name":"feeOwner","type":"address","indexed":true},{"name":"previousShareBps","type":"uint16","indexed":false},{"name":"newShareBps","type":"uint16","indexed":false}],"anonymous":false},
102
+ {"type":"error","name":"ClaimMismatch","inputs":[]},
103
+ {"type":"error","name":"InexactTransfer","inputs":[]},
104
+ {"type":"error","name":"InvalidBinding","inputs":[]},
105
+ {"type":"error","name":"InvalidStrategyShare","inputs":[]},
106
+ {"type":"error","name":"Reentrancy","inputs":[]},
107
+ {"type":"error","name":"Unauthorized","inputs":[]},
108
+ ] as const;
109
+
110
+ export const hmmFeeCollectorFactoryV2Abi = [
111
+ {"type":"constructor","inputs":[{"name":"deployer_","type":"address"}],"stateMutability":"nonpayable"},
112
+ {"type":"function","name":"collectorDeployer","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
113
+ {"type":"function","name":"create","inputs":[{"name":"hub","type":"address"},{"name":"locker","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"expectedPositionCount","type":"uint256"}],"outputs":[{"name":"collector","type":"address"}],"stateMutability":"nonpayable"},
114
+ {"type":"function","name":"decodeAndValidate","inputs":[{"name":"registrar","type":"address"},{"name":"token","type":"address"},{"name":"market","type":"tuple","components":[{"name":"adapterId","type":"bytes32"},{"name":"profileId","type":"bytes32"},{"name":"quoteAsset","type":"address"},{"name":"tokenBudget","type":"uint256"},{"name":"configVersion","type":"uint32"},{"name":"config","type":"bytes"}]}],"outputs":[{"name":"config","type":"tuple","components":[{"name":"version","type":"uint16"},{"name":"lpFeePips","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"sqrtPriceX96","type":"uint160"},{"name":"hookFeePips","type":"uint24"},{"name":"feeMode","type":"uint8"},{"name":"protocolFeeDenominator","type":"uint8"},{"name":"treasury","type":"address"},{"name":"externalLiquidityDisabled","type":"bool"},{"name":"oracleConfigId","type":"bytes32"},{"name":"profileId","type":"bytes32"},{"name":"termsDigest","type":"bytes32"},{"name":"developerBeneficiary","type":"address"},{"name":"developerFeeBps","type":"uint16"},{"name":"positions","type":"tuple[]","components":[{"name":"tickLower","type":"int24"},{"name":"tickUpper","type":"int24"},{"name":"liquidity","type":"uint128"},{"name":"salt","type":"bytes32"},{"name":"maxTokenAmount","type":"uint256"}]}]}],"stateMutability":"view"},
115
+ {"type":"function","name":"dependencyDigest","inputs":[{"name":"registrar","type":"address"}],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"view"},
116
+ {"type":"function","name":"poolBoundDeploymentMetadata","inputs":[{"name":"registrar","type":"address"},{"name":"token","type":"address"},{"name":"market","type":"tuple","components":[{"name":"adapterId","type":"bytes32"},{"name":"profileId","type":"bytes32"},{"name":"quoteAsset","type":"address"},{"name":"tokenBudget","type":"uint256"},{"name":"configVersion","type":"uint32"},{"name":"config","type":"bytes"}]}],"outputs":[{"name":"deployer","type":"address"},{"name":"initCodeHash","type":"bytes32"},{"name":"salt","type":"bytes32"},{"name":"predictedHook","type":"address"}],"stateMutability":"view"},
117
+ {"type":"function","name":"poolBoundHookParameters","inputs":[{"name":"registrar","type":"address"},{"name":"token","type":"address"},{"name":"market","type":"tuple","components":[{"name":"adapterId","type":"bytes32"},{"name":"profileId","type":"bytes32"},{"name":"quoteAsset","type":"address"},{"name":"tokenBudget","type":"uint256"},{"name":"configVersion","type":"uint32"},{"name":"config","type":"bytes"}]}],"outputs":[{"name":"parameters","type":"tuple","components":[{"name":"poolManager","type":"address"},{"name":"registrar","type":"address"},{"name":"oracleFactory","type":"address"},{"name":"core","type":"address"},{"name":"liquidityLocker","type":"address"},{"name":"token","type":"address"},{"name":"quoteCurrency","type":"address"},{"name":"lpFeePips","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"sqrtPriceX96","type":"uint160"},{"name":"hookFeePips","type":"uint24"},{"name":"minimumHookFeePips","type":"uint24"},{"name":"feeSensitivityPipsSecondsPerTick","type":"uint32"},{"name":"feeMode","type":"uint8"},{"name":"protocolFeeDenominator","type":"uint8"},{"name":"treasury","type":"address"},{"name":"externalLiquidityDisabled","type":"bool"},{"name":"oracleConfigId","type":"bytes32"},{"name":"marketCommitment","type":"bytes32"},{"name":"expectedPositionCount","type":"uint32"}]},{"name":"salt","type":"bytes32"}],"stateMutability":"view"},
118
+ {"type":"function","name":"preparePoolBound","inputs":[{"name":"registrar","type":"address"},{"name":"token","type":"address"},{"name":"market","type":"tuple","components":[{"name":"adapterId","type":"bytes32"},{"name":"profileId","type":"bytes32"},{"name":"quoteAsset","type":"address"},{"name":"tokenBudget","type":"uint256"},{"name":"configVersion","type":"uint32"},{"name":"config","type":"bytes"}]}],"outputs":[{"name":"config","type":"tuple","components":[{"name":"version","type":"uint16"},{"name":"lpFeePips","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"sqrtPriceX96","type":"uint160"},{"name":"hookFeePips","type":"uint24"},{"name":"feeMode","type":"uint8"},{"name":"protocolFeeDenominator","type":"uint8"},{"name":"treasury","type":"address"},{"name":"externalLiquidityDisabled","type":"bool"},{"name":"oracleConfigId","type":"bytes32"},{"name":"profileId","type":"bytes32"},{"name":"termsDigest","type":"bytes32"},{"name":"developerBeneficiary","type":"address"},{"name":"developerFeeBps","type":"uint16"},{"name":"positions","type":"tuple[]","components":[{"name":"tickLower","type":"int24"},{"name":"tickUpper","type":"int24"},{"name":"liquidity","type":"uint128"},{"name":"salt","type":"bytes32"},{"name":"maxTokenAmount","type":"uint256"}]}]},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]}],"stateMutability":"nonpayable"},
119
+ {"type":"function","name":"resolvePoolBound","inputs":[{"name":"registrar","type":"address"},{"name":"token","type":"address"},{"name":"market","type":"tuple","components":[{"name":"adapterId","type":"bytes32"},{"name":"profileId","type":"bytes32"},{"name":"quoteAsset","type":"address"},{"name":"tokenBudget","type":"uint256"},{"name":"configVersion","type":"uint32"},{"name":"config","type":"bytes"}]}],"outputs":[{"name":"config","type":"tuple","components":[{"name":"version","type":"uint16"},{"name":"lpFeePips","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"sqrtPriceX96","type":"uint160"},{"name":"hookFeePips","type":"uint24"},{"name":"feeMode","type":"uint8"},{"name":"protocolFeeDenominator","type":"uint8"},{"name":"treasury","type":"address"},{"name":"externalLiquidityDisabled","type":"bool"},{"name":"oracleConfigId","type":"bytes32"},{"name":"profileId","type":"bytes32"},{"name":"termsDigest","type":"bytes32"},{"name":"developerBeneficiary","type":"address"},{"name":"developerFeeBps","type":"uint16"},{"name":"positions","type":"tuple[]","components":[{"name":"tickLower","type":"int24"},{"name":"tickUpper","type":"int24"},{"name":"liquidity","type":"uint128"},{"name":"salt","type":"bytes32"},{"name":"maxTokenAmount","type":"uint256"}]}]},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]}],"stateMutability":"view"},
120
+ {"type":"function","name":"validateEmptyOpening","inputs":[{"name":"manager","type":"address"},{"name":"locker","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"opening","type":"uint160"}],"outputs":[],"stateMutability":"view"},
121
+ {"type":"function","name":"validateHub","inputs":[{"name":"registrar","type":"address"},{"name":"hub","type":"address"},{"name":"token","type":"address"}],"outputs":[],"stateMutability":"view"},
122
+ {"type":"event","name":"FeeSourceCreated","inputs":[{"name":"collector","type":"address","indexed":true},{"name":"hub","type":"address","indexed":true},{"name":"poolId","type":"bytes32","indexed":true}],"anonymous":false},
123
+ {"type":"error","name":"InvalidConfiguration","inputs":[]},
124
+ {"type":"error","name":"InvalidConfiguration","inputs":[]},
125
+ {"type":"error","name":"InvalidConfiguration","inputs":[]},
126
+ {"type":"error","name":"InvalidHMMConfiguration","inputs":[]},
127
+ {"type":"error","name":"InvalidMarket","inputs":[]},
128
+ {"type":"error","name":"MissingPreparation","inputs":[]},
129
+ {"type":"error","name":"QuoteDebtForbidden","inputs":[]},
130
+ ] as const;
131
+
132
+ export const hmmFixedHookV2Abi = [
133
+ {"type":"constructor","inputs":[{"name":"parameters","type":"tuple","components":[{"name":"poolManager","type":"address"},{"name":"registrar","type":"address"},{"name":"oracleFactory","type":"address"},{"name":"core","type":"address"},{"name":"liquidityLocker","type":"address"},{"name":"token","type":"address"},{"name":"quoteCurrency","type":"address"},{"name":"lpFeePips","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"sqrtPriceX96","type":"uint160"},{"name":"hookFeePips","type":"uint24"},{"name":"minimumHookFeePips","type":"uint24"},{"name":"feeSensitivityPipsSecondsPerTick","type":"uint32"},{"name":"feeMode","type":"uint8"},{"name":"protocolFeeDenominator","type":"uint8"},{"name":"treasury","type":"address"},{"name":"externalLiquidityDisabled","type":"bool"},{"name":"oracleConfigId","type":"bytes32"},{"name":"marketCommitment","type":"bytes32"},{"name":"expectedPositionCount","type":"uint32"}]}],"stateMutability":"nonpayable"},
134
+ {"type":"function","name":"ALL_HOOK_MASK","inputs":[],"outputs":[{"name":"","type":"uint160"}],"stateMutability":"view"},
135
+ {"type":"function","name":"MAX_ORACLE_CARDINALITY","inputs":[],"outputs":[{"name":"","type":"uint16"}],"stateMutability":"view"},
136
+ {"type":"function","name":"PIPS_DENOMINATOR","inputs":[],"outputs":[{"name":"","type":"uint24"}],"stateMutability":"view"},
137
+ {"type":"function","name":"REQUIRED_HOOK_FLAGS","inputs":[],"outputs":[{"name":"","type":"uint160"}],"stateMutability":"view"},
138
+ {"type":"function","name":"afterDonate","inputs":[{"name":"","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"}],"stateMutability":"nonpayable"},
139
+ {"type":"function","name":"afterInitialize","inputs":[{"name":"sender","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"sqrtPriceX96","type":"uint160"},{"name":"tick","type":"int24"}],"outputs":[{"name":"","type":"bytes4"}],"stateMutability":"nonpayable"},
140
+ {"type":"function","name":"afterSwap","inputs":[{"name":"sender","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"params","type":"tuple","components":[{"name":"zeroForOne","type":"bool"},{"name":"amountSpecified","type":"int256"},{"name":"sqrtPriceLimitX96","type":"uint160"}]},{"name":"delta","type":"int256"},{"name":"","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"},{"name":"","type":"int128"}],"stateMutability":"nonpayable"},
141
+ {"type":"function","name":"aggregateLiabilities","inputs":[{"name":"asset","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
142
+ {"type":"function","name":"aggregateManagerClaims","inputs":[{"name":"asset","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
143
+ {"type":"function","name":"authorFeeBps","inputs":[],"outputs":[{"name":"","type":"uint16"}],"stateMutability":"pure"},
144
+ {"type":"function","name":"beforeAddLiquidity","inputs":[{"name":"sender","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"params","type":"tuple","components":[{"name":"tickLower","type":"int24"},{"name":"tickUpper","type":"int24"},{"name":"liquidityDelta","type":"int256"},{"name":"salt","type":"bytes32"}]},{"name":"","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"}],"stateMutability":"nonpayable"},
145
+ {"type":"function","name":"beforeDonate","inputs":[{"name":"","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"amount0","type":"uint256"},{"name":"amount1","type":"uint256"},{"name":"","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"}],"stateMutability":"nonpayable"},
146
+ {"type":"function","name":"beforeRemoveLiquidity","inputs":[{"name":"sender","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"params","type":"tuple","components":[{"name":"tickLower","type":"int24"},{"name":"tickUpper","type":"int24"},{"name":"liquidityDelta","type":"int256"},{"name":"salt","type":"bytes32"}]},{"name":"","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"}],"stateMutability":"nonpayable"},
147
+ {"type":"function","name":"beforeSwap","inputs":[{"name":"sender","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"params","type":"tuple","components":[{"name":"zeroForOne","type":"bool"},{"name":"amountSpecified","type":"int256"},{"name":"sqrtPriceLimitX96","type":"uint160"}]},{"name":"","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"},{"name":"","type":"int256"},{"name":"","type":"uint24"}],"stateMutability":"nonpayable"},
148
+ {"type":"function","name":"boundPoolId","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"view"},
149
+ {"type":"function","name":"claimStrategyFees","inputs":[],"outputs":[{"name":"tokenAmount","type":"uint256"},{"name":"quoteAmount","type":"uint256"},{"name":"referencePoolTick","type":"int24"}],"stateMutability":"nonpayable"},
150
+ {"type":"function","name":"collectFees","inputs":[{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]}],"outputs":[{"name":"amount0","type":"uint256"},{"name":"amount1","type":"uint256"}],"stateMutability":"nonpayable"},
151
+ {"type":"function","name":"completePoolOpening","inputs":[{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},
152
+ {"type":"function","name":"core","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
153
+ {"type":"function","name":"deploymentConfigHash","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"view"},
154
+ {"type":"function","name":"expectedPositionCount","inputs":[],"outputs":[{"name":"","type":"uint32"}],"stateMutability":"view"},
155
+ {"type":"function","name":"feeRate","inputs":[{"name":"params","type":"tuple","components":[{"name":"zeroForOne","type":"bool"},{"name":"amountSpecified","type":"int256"},{"name":"sqrtPriceLimitX96","type":"uint160"}]}],"outputs":[{"name":"","type":"uint24"}],"stateMutability":"view"},
156
+ {"type":"function","name":"feeSensitivityPipsSecondsPerTick","inputs":[],"outputs":[{"name":"","type":"uint32"}],"stateMutability":"view"},
157
+ {"type":"function","name":"increaseObservationCardinalityNext","inputs":[{"name":"id","type":"bytes32"},{"name":"requested","type":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},
158
+ {"type":"function","name":"initialized","inputs":[{"name":"id","type":"bytes32"}],"outputs":[{"name":"","type":"bool"}],"stateMutability":"view"},
159
+ {"type":"function","name":"liquidityLocker","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
160
+ {"type":"function","name":"liquidityManager","inputs":[],"outputs":[{"name":"manager","type":"address"}],"stateMutability":"view"},
161
+ {"type":"function","name":"marketCommitment","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"view"},
162
+ {"type":"function","name":"minimumHookFeePips","inputs":[],"outputs":[{"name":"","type":"uint24"}],"stateMutability":"view"},
163
+ {"type":"function","name":"observations","inputs":[{"name":"id","type":"bytes32"},{"name":"index","type":"uint256"}],"outputs":[{"name":"blockTimestamp","type":"uint32"},{"name":"tickCumulative","type":"int56"},{"name":"secondsPerLiquidityCumulativeX128","type":"uint160"},{"name":"observationInitialized","type":"bool"}],"stateMutability":"view"},
164
+ {"type":"function","name":"observeTruncated","inputs":[{"name":"id","type":"bytes32"},{"name":"secondsAgos","type":"uint32[]"}],"outputs":[{"name":"tickCumulatives","type":"int56[]"},{"name":"secondsPerLiquidityCumulativeX128s","type":"uint160[]"}],"stateMutability":"view"},
165
+ {"type":"function","name":"openingCompletedAt","inputs":[{"name":"id","type":"bytes32"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
166
+ {"type":"function","name":"openingSqrtPriceX96","inputs":[],"outputs":[{"name":"","type":"uint160"}],"stateMutability":"view"},
167
+ {"type":"function","name":"oracleFactory","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
168
+ {"type":"function","name":"oracleInitializedAt","inputs":[{"name":"id","type":"bytes32"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
169
+ {"type":"function","name":"oracleState","inputs":[{"name":"id","type":"bytes32"}],"outputs":[{"name":"index","type":"uint16"},{"name":"cardinality","type":"uint16"},{"name":"cardinalityNext","type":"uint16"},{"name":"tick","type":"int24"},{"name":"lastBlock","type":"uint64"},{"name":"initializedAt","type":"uint64"},{"name":"maxAbsTickMove","type":"int24"},{"name":"cardinalityCap","type":"uint16"}],"stateMutability":"view"},
170
+ {"type":"function","name":"pendingFees","inputs":[{"name":"id","type":"bytes32"},{"name":"asset","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
171
+ {"type":"function","name":"pendingStrategyQuoteFees","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
172
+ {"type":"function","name":"pendingStrategyTokenFees","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
173
+ {"type":"function","name":"pendingTreasurySweeps","inputs":[{"name":"id","type":"bytes32"},{"name":"asset","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
174
+ {"type":"function","name":"poolConfig","inputs":[{"name":"id","type":"bytes32"}],"outputs":[{"name":"","type":"tuple","components":[{"name":"collector","type":"address"},{"name":"liquidityLocker","type":"address"},{"name":"quoteCurrency","type":"address"},{"name":"feeMode","type":"uint8"},{"name":"hookFeePips","type":"uint24"},{"name":"protocolFeeDenominator","type":"uint8"},{"name":"treasury","type":"address"},{"name":"externalLiquidityDisabled","type":"bool"},{"name":"oracleConfigId","type":"bytes32"}]}],"stateMutability":"view"},
175
+ {"type":"function","name":"poolKey","inputs":[{"name":"id","type":"bytes32"}],"outputs":[{"name":"","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]}],"stateMutability":"view"},
176
+ {"type":"function","name":"poolManager","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
177
+ {"type":"function","name":"pools","inputs":[],"outputs":[{"name":"ids","type":"bytes32[]"}],"stateMutability":"view"},
178
+ {"type":"function","name":"registerPool","inputs":[{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"config","type":"tuple","components":[{"name":"collector","type":"address"},{"name":"liquidityLocker","type":"address"},{"name":"quoteCurrency","type":"address"},{"name":"feeMode","type":"uint8"},{"name":"hookFeePips","type":"uint24"},{"name":"protocolFeeDenominator","type":"uint8"},{"name":"treasury","type":"address"},{"name":"externalLiquidityDisabled","type":"bool"},{"name":"oracleConfigId","type":"bytes32"}]}],"outputs":[],"stateMutability":"nonpayable"},
179
+ {"type":"function","name":"registered","inputs":[{"name":"id","type":"bytes32"}],"outputs":[{"name":"","type":"bool"}],"stateMutability":"view"},
180
+ {"type":"function","name":"registrar","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
181
+ {"type":"function","name":"settledFees","inputs":[{"name":"id","type":"bytes32"},{"name":"asset","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
182
+ {"type":"function","name":"strategyOwner","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
183
+ {"type":"function","name":"swapFeeModel","inputs":[],"outputs":[{"name":"","type":"uint8"}],"stateMutability":"pure"},
184
+ {"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
185
+ {"type":"function","name":"unlockCallback","inputs":[{"name":"data","type":"bytes"}],"outputs":[{"name":"","type":"bytes"}],"stateMutability":"nonpayable"},
186
+ {"type":"function","name":"validateCollector","inputs":[{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"collector","type":"address"},{"name":"locker","type":"address"}],"outputs":[],"stateMutability":"view"},
187
+ {"type":"function","name":"validateOracleConfig","inputs":[{"name":"oracleConfigId","type":"bytes32"}],"outputs":[{"name":"maxAbsTickMove","type":"uint24"},{"name":"cardinality","type":"uint16"}],"stateMutability":"view"},
188
+ {"type":"event","name":"FeeAccrued","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"asset","type":"address","indexed":true},{"name":"gross","type":"uint256","indexed":false},{"name":"treasury","type":"uint256","indexed":false}],"anonymous":false},
189
+ {"type":"event","name":"FeesCollected","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"collector","type":"address","indexed":true},{"name":"amount0","type":"uint256","indexed":false},{"name":"amount1","type":"uint256","indexed":false}],"anonymous":false},
190
+ {"type":"event","name":"IncreaseObservationCardinalityNext","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"cardinalityNextOld","type":"uint16","indexed":false},{"name":"cardinalityNextNew","type":"uint16","indexed":false}],"anonymous":false},
191
+ {"type":"event","name":"LiquidityManagerCallFailed","inputs":[{"name":"selector","type":"bytes4","indexed":false}],"anonymous":false},
192
+ {"type":"event","name":"LpFeesCheckpointed","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"locker","type":"address","indexed":true},{"name":"amount0","type":"uint256","indexed":false},{"name":"amount1","type":"uint256","indexed":false}],"anonymous":false},
193
+ {"type":"event","name":"OpeningCompleted","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"completedAt","type":"uint256","indexed":true}],"anonymous":false},
194
+ {"type":"event","name":"PoolInitialized","inputs":[{"name":"poolId","type":"bytes32","indexed":true}],"anonymous":false},
195
+ {"type":"event","name":"PoolRegistered","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"collector","type":"address","indexed":true},{"name":"locker","type":"address","indexed":true}],"anonymous":false},
196
+ {"type":"event","name":"StrategyFeesAllocated","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"asset","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false}],"anonymous":false},
197
+ {"type":"error","name":"AlreadyRegistered","inputs":[]},
198
+ {"type":"error","name":"ClaimMismatch","inputs":[]},
199
+ {"type":"error","name":"ExternalLiquidityDisabled","inputs":[]},
200
+ {"type":"error","name":"FeeBelowMinimum","inputs":[]},
201
+ {"type":"error","name":"FeeSettlementRequired","inputs":[]},
202
+ {"type":"error","name":"FeeTooLarge","inputs":[]},
203
+ {"type":"error","name":"IncompleteFill","inputs":[]},
204
+ {"type":"error","name":"InexactTransfer","inputs":[]},
205
+ {"type":"error","name":"InvalidCallback","inputs":[]},
206
+ {"type":"error","name":"InvalidConfiguration","inputs":[]},
207
+ {"type":"error","name":"InvalidHookAddress","inputs":[]},
208
+ {"type":"error","name":"InvalidObservationState","inputs":[]},
209
+ {"type":"error","name":"InvalidPool","inputs":[]},
210
+ {"type":"error","name":"InvalidSwapContext","inputs":[]},
211
+ {"type":"error","name":"ObservationTooOld","inputs":[]},
212
+ {"type":"error","name":"OpeningAlreadyComplete","inputs":[]},
213
+ {"type":"error","name":"OpeningNotComplete","inputs":[]},
214
+ {"type":"error","name":"Reentrancy","inputs":[]},
215
+ {"type":"error","name":"Unauthorized","inputs":[]},
216
+ ] as const;
217
+
218
+ export const hmmDynamicHookV2Abi = [
219
+ {"type":"constructor","inputs":[{"name":"parameters","type":"tuple","components":[{"name":"poolManager","type":"address"},{"name":"registrar","type":"address"},{"name":"oracleFactory","type":"address"},{"name":"core","type":"address"},{"name":"liquidityLocker","type":"address"},{"name":"token","type":"address"},{"name":"quoteCurrency","type":"address"},{"name":"lpFeePips","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"sqrtPriceX96","type":"uint160"},{"name":"hookFeePips","type":"uint24"},{"name":"minimumHookFeePips","type":"uint24"},{"name":"feeSensitivityPipsSecondsPerTick","type":"uint32"},{"name":"feeMode","type":"uint8"},{"name":"protocolFeeDenominator","type":"uint8"},{"name":"treasury","type":"address"},{"name":"externalLiquidityDisabled","type":"bool"},{"name":"oracleConfigId","type":"bytes32"},{"name":"marketCommitment","type":"bytes32"},{"name":"expectedPositionCount","type":"uint32"}]}],"stateMutability":"nonpayable"},
220
+ {"type":"function","name":"ALL_HOOK_MASK","inputs":[],"outputs":[{"name":"","type":"uint160"}],"stateMutability":"view"},
221
+ {"type":"function","name":"MAX_ORACLE_CARDINALITY","inputs":[],"outputs":[{"name":"","type":"uint16"}],"stateMutability":"view"},
222
+ {"type":"function","name":"PIPS_DENOMINATOR","inputs":[],"outputs":[{"name":"","type":"uint24"}],"stateMutability":"view"},
223
+ {"type":"function","name":"REQUIRED_HOOK_FLAGS","inputs":[],"outputs":[{"name":"","type":"uint160"}],"stateMutability":"view"},
224
+ {"type":"function","name":"afterDonate","inputs":[{"name":"","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"}],"stateMutability":"nonpayable"},
225
+ {"type":"function","name":"afterInitialize","inputs":[{"name":"sender","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"sqrtPriceX96","type":"uint160"},{"name":"tick","type":"int24"}],"outputs":[{"name":"","type":"bytes4"}],"stateMutability":"nonpayable"},
226
+ {"type":"function","name":"afterSwap","inputs":[{"name":"sender","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"params","type":"tuple","components":[{"name":"zeroForOne","type":"bool"},{"name":"amountSpecified","type":"int256"},{"name":"sqrtPriceLimitX96","type":"uint160"}]},{"name":"delta","type":"int256"},{"name":"","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"},{"name":"","type":"int128"}],"stateMutability":"nonpayable"},
227
+ {"type":"function","name":"aggregateLiabilities","inputs":[{"name":"asset","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
228
+ {"type":"function","name":"aggregateManagerClaims","inputs":[{"name":"asset","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
229
+ {"type":"function","name":"authorFeeBps","inputs":[],"outputs":[{"name":"","type":"uint16"}],"stateMutability":"pure"},
230
+ {"type":"function","name":"beforeAddLiquidity","inputs":[{"name":"sender","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"params","type":"tuple","components":[{"name":"tickLower","type":"int24"},{"name":"tickUpper","type":"int24"},{"name":"liquidityDelta","type":"int256"},{"name":"salt","type":"bytes32"}]},{"name":"","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"}],"stateMutability":"nonpayable"},
231
+ {"type":"function","name":"beforeDonate","inputs":[{"name":"","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"amount0","type":"uint256"},{"name":"amount1","type":"uint256"},{"name":"","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"}],"stateMutability":"nonpayable"},
232
+ {"type":"function","name":"beforeRemoveLiquidity","inputs":[{"name":"sender","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"params","type":"tuple","components":[{"name":"tickLower","type":"int24"},{"name":"tickUpper","type":"int24"},{"name":"liquidityDelta","type":"int256"},{"name":"salt","type":"bytes32"}]},{"name":"","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"}],"stateMutability":"nonpayable"},
233
+ {"type":"function","name":"beforeSwap","inputs":[{"name":"sender","type":"address"},{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"params","type":"tuple","components":[{"name":"zeroForOne","type":"bool"},{"name":"amountSpecified","type":"int256"},{"name":"sqrtPriceLimitX96","type":"uint160"}]},{"name":"","type":"bytes"}],"outputs":[{"name":"","type":"bytes4"},{"name":"","type":"int256"},{"name":"","type":"uint24"}],"stateMutability":"nonpayable"},
234
+ {"type":"function","name":"boundPoolId","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"view"},
235
+ {"type":"function","name":"claimStrategyFees","inputs":[],"outputs":[{"name":"tokenAmount","type":"uint256"},{"name":"quoteAmount","type":"uint256"},{"name":"referencePoolTick","type":"int24"}],"stateMutability":"nonpayable"},
236
+ {"type":"function","name":"collectFees","inputs":[{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]}],"outputs":[{"name":"amount0","type":"uint256"},{"name":"amount1","type":"uint256"}],"stateMutability":"nonpayable"},
237
+ {"type":"function","name":"completePoolOpening","inputs":[{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},
238
+ {"type":"function","name":"core","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
239
+ {"type":"function","name":"deploymentConfigHash","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"view"},
240
+ {"type":"function","name":"expectedPositionCount","inputs":[],"outputs":[{"name":"","type":"uint32"}],"stateMutability":"view"},
241
+ {"type":"function","name":"feeRate","inputs":[{"name":"params","type":"tuple","components":[{"name":"zeroForOne","type":"bool"},{"name":"amountSpecified","type":"int256"},{"name":"sqrtPriceLimitX96","type":"uint160"}]}],"outputs":[{"name":"","type":"uint24"}],"stateMutability":"view"},
242
+ {"type":"function","name":"feeSensitivityPipsSecondsPerTick","inputs":[],"outputs":[{"name":"","type":"uint32"}],"stateMutability":"view"},
243
+ {"type":"function","name":"increaseObservationCardinalityNext","inputs":[{"name":"id","type":"bytes32"},{"name":"requested","type":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},
244
+ {"type":"function","name":"initialized","inputs":[{"name":"id","type":"bytes32"}],"outputs":[{"name":"","type":"bool"}],"stateMutability":"view"},
245
+ {"type":"function","name":"liquidityLocker","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
246
+ {"type":"function","name":"liquidityManager","inputs":[],"outputs":[{"name":"manager","type":"address"}],"stateMutability":"view"},
247
+ {"type":"function","name":"marketCommitment","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"view"},
248
+ {"type":"function","name":"minimumHookFeePips","inputs":[],"outputs":[{"name":"","type":"uint24"}],"stateMutability":"view"},
249
+ {"type":"function","name":"observations","inputs":[{"name":"id","type":"bytes32"},{"name":"index","type":"uint256"}],"outputs":[{"name":"blockTimestamp","type":"uint32"},{"name":"tickCumulative","type":"int56"},{"name":"secondsPerLiquidityCumulativeX128","type":"uint160"},{"name":"observationInitialized","type":"bool"}],"stateMutability":"view"},
250
+ {"type":"function","name":"observeTruncated","inputs":[{"name":"id","type":"bytes32"},{"name":"secondsAgos","type":"uint32[]"}],"outputs":[{"name":"tickCumulatives","type":"int56[]"},{"name":"secondsPerLiquidityCumulativeX128s","type":"uint160[]"}],"stateMutability":"view"},
251
+ {"type":"function","name":"openingCompletedAt","inputs":[{"name":"id","type":"bytes32"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
252
+ {"type":"function","name":"openingSqrtPriceX96","inputs":[],"outputs":[{"name":"","type":"uint160"}],"stateMutability":"view"},
253
+ {"type":"function","name":"oracleFactory","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
254
+ {"type":"function","name":"oracleInitializedAt","inputs":[{"name":"id","type":"bytes32"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
255
+ {"type":"function","name":"oracleState","inputs":[{"name":"id","type":"bytes32"}],"outputs":[{"name":"index","type":"uint16"},{"name":"cardinality","type":"uint16"},{"name":"cardinalityNext","type":"uint16"},{"name":"tick","type":"int24"},{"name":"lastBlock","type":"uint64"},{"name":"initializedAt","type":"uint64"},{"name":"maxAbsTickMove","type":"int24"},{"name":"cardinalityCap","type":"uint16"}],"stateMutability":"view"},
256
+ {"type":"function","name":"pendingFees","inputs":[{"name":"id","type":"bytes32"},{"name":"asset","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
257
+ {"type":"function","name":"pendingStrategyQuoteFees","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
258
+ {"type":"function","name":"pendingStrategyTokenFees","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
259
+ {"type":"function","name":"pendingTreasurySweeps","inputs":[{"name":"id","type":"bytes32"},{"name":"asset","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
260
+ {"type":"function","name":"poolConfig","inputs":[{"name":"id","type":"bytes32"}],"outputs":[{"name":"","type":"tuple","components":[{"name":"collector","type":"address"},{"name":"liquidityLocker","type":"address"},{"name":"quoteCurrency","type":"address"},{"name":"feeMode","type":"uint8"},{"name":"hookFeePips","type":"uint24"},{"name":"protocolFeeDenominator","type":"uint8"},{"name":"treasury","type":"address"},{"name":"externalLiquidityDisabled","type":"bool"},{"name":"oracleConfigId","type":"bytes32"}]}],"stateMutability":"view"},
261
+ {"type":"function","name":"poolKey","inputs":[{"name":"id","type":"bytes32"}],"outputs":[{"name":"","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]}],"stateMutability":"view"},
262
+ {"type":"function","name":"poolManager","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
263
+ {"type":"function","name":"pools","inputs":[],"outputs":[{"name":"ids","type":"bytes32[]"}],"stateMutability":"view"},
264
+ {"type":"function","name":"registerPool","inputs":[{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"config","type":"tuple","components":[{"name":"collector","type":"address"},{"name":"liquidityLocker","type":"address"},{"name":"quoteCurrency","type":"address"},{"name":"feeMode","type":"uint8"},{"name":"hookFeePips","type":"uint24"},{"name":"protocolFeeDenominator","type":"uint8"},{"name":"treasury","type":"address"},{"name":"externalLiquidityDisabled","type":"bool"},{"name":"oracleConfigId","type":"bytes32"}]}],"outputs":[],"stateMutability":"nonpayable"},
265
+ {"type":"function","name":"registered","inputs":[{"name":"id","type":"bytes32"}],"outputs":[{"name":"","type":"bool"}],"stateMutability":"view"},
266
+ {"type":"function","name":"registrar","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
267
+ {"type":"function","name":"settledFees","inputs":[{"name":"id","type":"bytes32"},{"name":"asset","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},
268
+ {"type":"function","name":"strategyOwner","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
269
+ {"type":"function","name":"swapFeeModel","inputs":[],"outputs":[{"name":"","type":"uint8"}],"stateMutability":"pure"},
270
+ {"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},
271
+ {"type":"function","name":"unlockCallback","inputs":[{"name":"data","type":"bytes"}],"outputs":[{"name":"","type":"bytes"}],"stateMutability":"nonpayable"},
272
+ {"type":"function","name":"validateCollector","inputs":[{"name":"key","type":"tuple","components":[{"name":"currency0","type":"address"},{"name":"currency1","type":"address"},{"name":"fee","type":"uint24"},{"name":"tickSpacing","type":"int24"},{"name":"hooks","type":"address"}]},{"name":"collector","type":"address"},{"name":"locker","type":"address"}],"outputs":[],"stateMutability":"view"},
273
+ {"type":"function","name":"validateOracleConfig","inputs":[{"name":"oracleConfigId","type":"bytes32"}],"outputs":[{"name":"maxAbsTickMove","type":"uint24"},{"name":"cardinality","type":"uint16"}],"stateMutability":"view"},
274
+ {"type":"event","name":"FeeAccrued","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"asset","type":"address","indexed":true},{"name":"gross","type":"uint256","indexed":false},{"name":"treasury","type":"uint256","indexed":false}],"anonymous":false},
275
+ {"type":"event","name":"FeesCollected","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"collector","type":"address","indexed":true},{"name":"amount0","type":"uint256","indexed":false},{"name":"amount1","type":"uint256","indexed":false}],"anonymous":false},
276
+ {"type":"event","name":"IncreaseObservationCardinalityNext","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"cardinalityNextOld","type":"uint16","indexed":false},{"name":"cardinalityNextNew","type":"uint16","indexed":false}],"anonymous":false},
277
+ {"type":"event","name":"LiquidityManagerCallFailed","inputs":[{"name":"selector","type":"bytes4","indexed":false}],"anonymous":false},
278
+ {"type":"event","name":"LpFeesCheckpointed","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"locker","type":"address","indexed":true},{"name":"amount0","type":"uint256","indexed":false},{"name":"amount1","type":"uint256","indexed":false}],"anonymous":false},
279
+ {"type":"event","name":"OpeningCompleted","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"completedAt","type":"uint256","indexed":true}],"anonymous":false},
280
+ {"type":"event","name":"PoolInitialized","inputs":[{"name":"poolId","type":"bytes32","indexed":true}],"anonymous":false},
281
+ {"type":"event","name":"PoolRegistered","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"collector","type":"address","indexed":true},{"name":"locker","type":"address","indexed":true}],"anonymous":false},
282
+ {"type":"event","name":"StrategyFeesAllocated","inputs":[{"name":"poolId","type":"bytes32","indexed":true},{"name":"asset","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false}],"anonymous":false},
283
+ {"type":"error","name":"AlreadyRegistered","inputs":[]},
284
+ {"type":"error","name":"ClaimMismatch","inputs":[]},
285
+ {"type":"error","name":"ExternalLiquidityDisabled","inputs":[]},
286
+ {"type":"error","name":"FeeBelowMinimum","inputs":[]},
287
+ {"type":"error","name":"FeeSettlementRequired","inputs":[]},
288
+ {"type":"error","name":"FeeTooLarge","inputs":[]},
289
+ {"type":"error","name":"IncompleteFill","inputs":[]},
290
+ {"type":"error","name":"InexactTransfer","inputs":[]},
291
+ {"type":"error","name":"InvalidCallback","inputs":[]},
292
+ {"type":"error","name":"InvalidConfiguration","inputs":[]},
293
+ {"type":"error","name":"InvalidHookAddress","inputs":[]},
294
+ {"type":"error","name":"InvalidObservationState","inputs":[]},
295
+ {"type":"error","name":"InvalidPool","inputs":[]},
296
+ {"type":"error","name":"InvalidSwapContext","inputs":[]},
297
+ {"type":"error","name":"ObservationTooOld","inputs":[]},
298
+ {"type":"error","name":"OpeningAlreadyComplete","inputs":[]},
299
+ {"type":"error","name":"OpeningNotComplete","inputs":[]},
300
+ {"type":"error","name":"Reentrancy","inputs":[]},
301
+ {"type":"error","name":"Unauthorized","inputs":[]},
302
+ ] as const;
@@ -2,8 +2,8 @@ import { decodeAbiParameters, encodeAbiParameters, type Address, type Hex } from
2
2
  import { AUCTION_QUOTE_OPTIONS, ROBINHOOD_WETH } from "../auction.js";
3
3
  import { LifecyclePlanningError } from "./types.js";
4
4
 
5
- export const HMM_FIXED_PROFILE_ID: Hex = "0x7e51d9aa979940e7867c75a82e05e924aa067e9d436f7731c3e3299f9e55d53d";
6
- export const HMM_DYNAMIC_PROFILE_ID: Hex = "0x109598e017b8f12648aff0f0dc04dbf8d4c0493f41a63068682d8f9d0a07a83d";
5
+ export const HMM_FIXED_PROFILE_ID: Hex = "0x45e957bcc7068350a65f5b4de5453b674d54d0f5eb2a88fc839da13197e80e98";
6
+ export const HMM_DYNAMIC_PROFILE_ID: Hex = "0x8e500f203ace505072e209c5f077e11de6d071ac7f298cd75c0e05c6a55c36e6";
7
7
  export function isHmmProfile(profileId: Hex): boolean {
8
8
  const id = profileId.toLowerCase();
9
9
  return id === HMM_FIXED_PROFILE_ID || id === HMM_DYNAMIC_PROFILE_ID;
@@ -14,7 +14,7 @@ export type HmmStrategyConfig = {
14
14
  bidWidth: number; askWidth: number; gap: number; staleAfterSeconds: number; staleDisplacement: number;
15
15
  minQuoteDeploy: bigint; minQuoteHarvest: bigint; minTokenHarvest: bigint;
16
16
  resalePremiumBps: number; maxAsks: number; maxAskTokenExposure: bigint; maxAcquiredInventory: bigint;
17
- premiumDecaySeconds: number;
17
+ premiumDecaySeconds: number; maxBidQuote: bigint; referenceDeviation: number;
18
18
  };
19
19
  export type HmmLaunchConfig = { strategyShareBps: number; strategy: HmmStrategyConfig };
20
20
  export const hmmStrategyComponents = [
@@ -24,6 +24,7 @@ export const hmmStrategyComponents = [
24
24
  { name: "minTokenHarvest", type: "uint256" }, { name: "resalePremiumBps", type: "uint16" },
25
25
  { name: "maxAsks", type: "uint8" }, { name: "maxAskTokenExposure", type: "uint256" },
26
26
  { name: "maxAcquiredInventory", type: "uint256" }, { name: "premiumDecaySeconds", type: "uint32" },
27
+ { name: "maxBidQuote", type: "uint256" }, { name: "referenceDeviation", type: "int24" },
27
28
  ] as const;
28
29
  export const hmmLaunchComponents = [
29
30
  { name: "strategyShareBps", type: "uint16" }, { name: "strategy", type: "tuple", components: hmmStrategyComponents },
@@ -37,7 +38,7 @@ function amount(name: string, value: bigint, min: bigint, max = (1n << 256n) - 1
37
38
  }
38
39
  function invalid(message: string): never { throw new LifecyclePlanningError("INVALID_HMM_CONFIG", message); }
39
40
 
40
- /** Mirrors HMMFeeCollectorFactoryV1._decodeHMM, including Solidity field widths. */
41
+ /** Mirrors HMMFeeCollectorFactoryV2._decodeHMM, including Solidity field widths. */
41
42
  export function validateHmmLaunchConfig(config: HmmLaunchConfig): void {
42
43
  integer("strategyShareBps", config.strategyShareBps, 0, 10000);
43
44
  const s = config.strategy;
@@ -49,31 +50,34 @@ export function validateHmmLaunchConfig(config: HmmLaunchConfig): void {
49
50
  integer("resalePremiumBps", s.resalePremiumBps, 0, 5000);
50
51
  integer("maxAsks", s.maxAsks, 1, 8);
51
52
  integer("premiumDecaySeconds", s.premiumDecaySeconds, 0, 0xffffffff);
53
+ integer("referenceDeviation", s.referenceDeviation, 0, 8388607);
52
54
  amount("minQuoteDeploy", s.minQuoteDeploy, 0n);
53
55
  amount("minQuoteHarvest", s.minQuoteHarvest, 1n);
54
56
  amount("minTokenHarvest", s.minTokenHarvest, 1n);
55
57
  const cap = (1n << 128n) - 1n;
56
58
  amount("maxAskTokenExposure", s.maxAskTokenExposure, 0n, cap);
57
59
  amount("maxAcquiredInventory", s.maxAcquiredInventory, s.minTokenHarvest, cap);
60
+ amount("maxBidQuote", s.maxBidQuote, 1n, cap);
58
61
  if (s.maxAskTokenExposure < BigInt(s.maxAsks) || s.maxAskTokenExposure < s.minTokenHarvest) invalid("maxAskTokenExposure must cover maxAsks and minTokenHarvest");
59
62
  }
60
63
 
61
- /** Exactly abi.encode(HMMLaunchConfigV1): fourteen static words (448 bytes). */
64
+ /** Exactly abi.encode(HMMLaunchConfigV2): sixteen static words (512 bytes). */
62
65
  export function encodeHmmLaunchTail(config: HmmLaunchConfig): Hex {
63
66
  validateHmmLaunchConfig(config);
64
67
  return encodeAbiParameters([{ type: "tuple", components: hmmLaunchComponents }], [config]);
65
68
  }
66
69
  export function decodeHmmLaunchTail(encoded: Hex): HmmLaunchConfig {
67
- if (encoded.length !== 2 + 448 * 2) invalid("HMM launch tail must be exactly 448 bytes");
70
+ if (encoded.length !== 2 + 512 * 2) invalid("HMM launch tail must be exactly 512 bytes");
68
71
  const config = decodeAbiParameters([{ type: "tuple", components: hmmLaunchComponents }], encoded)[0];
69
72
  if (encodeHmmLaunchTail(config).toLowerCase() !== encoded.toLowerCase()) invalid("HMM launch tail is not canonical");
70
73
  return config;
71
74
  }
72
75
 
73
- /** Model calibration defaults, not an investment recommendation. Unknown quotes need explicit thresholds. */
76
+ /** Existing calibration defaults; callers must choose the V2 bid and reference guards explicitly. */
74
77
  export function defaultHmmLaunchConfig(options: {
75
78
  tokenBudget: bigint; quoteAsset: Address | string; quoteDecimals?: number;
76
79
  minQuoteDeploy?: bigint; minQuoteHarvest?: bigint;
80
+ maxBidQuote: bigint; referenceDeviation: number;
77
81
  }): HmmLaunchConfig {
78
82
  amount("tokenBudget", options.tokenBudget, 1n, (1n << 128n) - 1n);
79
83
  const quote = AUCTION_QUOTE_OPTIONS.find((q) => q.id === options.quoteAsset || q.address.toLowerCase() === options.quoteAsset.toLowerCase());
@@ -92,6 +96,7 @@ export function defaultHmmLaunchConfig(options: {
92
96
  minQuoteDeploy, minQuoteHarvest, minTokenHarvest: options.tokenBudget / 100000n,
93
97
  resalePremiumBps: 500, maxAsks: 4, maxAskTokenExposure: options.tokenBudget / 10n,
94
98
  maxAcquiredInventory: options.tokenBudget, premiumDecaySeconds: 0,
99
+ maxBidQuote: options.maxBidQuote, referenceDeviation: options.referenceDeviation,
95
100
  },
96
101
  };
97
102
  validateHmmLaunchConfig(config);
@@ -96,6 +96,7 @@ export function encodePoolBoundV4LifecycleMarketConfig(config: V4PoolBoundLifecy
96
96
  if (isHmmProfile(config.profileId)) {
97
97
  if (config.version !== 6 || config.hmmLaunchConfig === undefined) throw new LifecyclePlanningError("INVALID_HMM_CONFIG", "HMM profiles require config6 and an explicit hmmLaunchConfig");
98
98
  if (config.lpFeePips !== 0) throw new LifecyclePlanningError("INVALID_HOOK_FEES", "HMM profiles require zero LP fee");
99
+ if (config.developerFeeBps !== 0) throw new LifecyclePlanningError("DEVELOPER_FEE_CEILING", "HMM profiles require zero developer fee");
99
100
  return concatHex([prefix, encodeHmmLaunchTail(config.hmmLaunchConfig)]);
100
101
  }
101
102
  if (config.version === 6 && config.hmmLaunchConfig !== undefined) throw new LifecyclePlanningError("INVALID_HMM_CONFIG", "An HMM launch tail requires an HMM profile");