@black-market/sdk 0.9.1 → 0.11.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.
- package/README.md +23 -17
- package/dist/lifecycle/abi.d.ts +1 -0
- package/dist/lifecycle/abi.d.ts.map +1 -1
- package/dist/lifecycle/abi.js +1 -0
- package/dist/lifecycle/abi.js.map +1 -1
- package/dist/lifecycle/calibration.d.ts.map +1 -1
- package/dist/lifecycle/calibration.js +2 -0
- package/dist/lifecycle/calibration.js.map +1 -1
- package/dist/lifecycle/deployments/{hmm-dynamic-pool-hook-v1-20261011.d.ts → hmm-dynamic-pool-hook-v2-20261017.d.ts} +21 -21
- package/dist/lifecycle/deployments/{hmm-dynamic-pool-hook-v1-20261011.d.ts.map → hmm-dynamic-pool-hook-v2-20261017.d.ts.map} +1 -1
- package/dist/lifecycle/deployments/hmm-dynamic-pool-hook-v2-20261017.js +69 -0
- package/dist/lifecycle/deployments/{hmm-dynamic-pool-hook-v1-20261011.js.map → hmm-dynamic-pool-hook-v2-20261017.js.map} +1 -1
- package/dist/lifecycle/deployments/{hmm-fixed-pool-hook-v1-20261011.d.ts → hmm-fixed-pool-hook-v2-20261017.d.ts} +21 -21
- package/dist/lifecycle/deployments/{hmm-fixed-pool-hook-v1-20261011.d.ts.map → hmm-fixed-pool-hook-v2-20261017.d.ts.map} +1 -1
- package/dist/lifecycle/deployments/hmm-fixed-pool-hook-v2-20261017.js +69 -0
- package/dist/lifecycle/deployments/{hmm-fixed-pool-hook-v1-20261011.js.map → hmm-fixed-pool-hook-v2-20261017.js.map} +1 -1
- package/dist/lifecycle/hmm-abi.d.ts +4544 -0
- package/dist/lifecycle/hmm-abi.d.ts.map +1 -0
- package/dist/lifecycle/hmm-abi.js +299 -0
- package/dist/lifecycle/hmm-abi.js.map +1 -0
- package/dist/lifecycle/hmm.d.ts +19 -3
- package/dist/lifecycle/hmm.d.ts.map +1 -1
- package/dist/lifecycle/hmm.js +11 -7
- package/dist/lifecycle/hmm.js.map +1 -1
- package/dist/lifecycle/markets.d.ts.map +1 -1
- package/dist/lifecycle/markets.js +2 -0
- package/dist/lifecycle/markets.js.map +1 -1
- package/dist/lifecycle/planner.d.ts.map +1 -1
- package/dist/lifecycle/planner.js +44 -35
- package/dist/lifecycle/planner.js.map +1 -1
- package/dist/lifecycle/presets.d.ts +7 -2
- package/dist/lifecycle/presets.d.ts.map +1 -1
- package/dist/lifecycle/presets.js +19 -5
- package/dist/lifecycle/presets.js.map +1 -1
- package/dist/lifecycle/rpc.js +3 -2
- package/dist/lifecycle/rpc.js.map +1 -1
- package/dist/lifecycle/simulation.d.ts +1 -1
- package/dist/lifecycle/simulation.d.ts.map +1 -1
- package/dist/lifecycle/simulation.js +115 -174
- package/dist/lifecycle/simulation.js.map +1 -1
- package/dist/lifecycle/transactions.d.ts +6 -0
- package/dist/lifecycle/transactions.d.ts.map +1 -1
- package/dist/lifecycle/transactions.js +39 -0
- package/dist/lifecycle/transactions.js.map +1 -1
- package/dist/lifecycle/types.d.ts +6 -3
- package/dist/lifecycle/types.d.ts.map +1 -1
- package/dist/lifecycle/types.js.map +1 -1
- package/docs/launch-lifecycle.md +197 -86
- package/examples/.env.example +4 -0
- package/examples/README.md +27 -6
- package/examples/hmm-launch-config.ts +4 -1
- package/examples/launch-example-support.ts +1 -0
- package/examples/launch-example.ts +1 -0
- package/examples/launch.ts +1 -0
- package/package.json +2 -2
- package/src/lifecycle/abi.ts +1 -0
- package/src/lifecycle/calibration.ts +1 -0
- package/src/lifecycle/deployments/hmm-dynamic-pool-hook-v2-20261017.ts +71 -0
- package/src/lifecycle/deployments/hmm-fixed-pool-hook-v2-20261017.ts +71 -0
- package/src/lifecycle/hmm-abi.ts +302 -0
- package/src/lifecycle/hmm.ts +12 -7
- package/src/lifecycle/markets.ts +1 -0
- package/src/lifecycle/planner.ts +41 -32
- package/src/lifecycle/presets.ts +20 -6
- package/src/lifecycle/rpc.ts +3 -2
- package/src/lifecycle/simulation.ts +111 -165
- package/src/lifecycle/transactions.ts +38 -1
- package/src/lifecycle/types.ts +9 -4
- package/dist/lifecycle/deployments/hmm-dynamic-pool-hook-v1-20261011.js +0 -69
- package/dist/lifecycle/deployments/hmm-fixed-pool-hook-v1-20261011.js +0 -69
- package/src/lifecycle/deployments/hmm-dynamic-pool-hook-v1-20261011.ts +0 -71
- 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;
|
package/src/lifecycle/hmm.ts
CHANGED
|
@@ -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 = "
|
|
6
|
-
export const HMM_DYNAMIC_PROFILE_ID: Hex = "
|
|
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
|
|
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(
|
|
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 +
|
|
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
|
-
/**
|
|
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);
|
package/src/lifecycle/markets.ts
CHANGED
|
@@ -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");
|