@whetstone-research/doppler-sdk 0.0.1-alpha.8 → 0.0.1

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 (368) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +726 -25
  3. package/dist/DopplerSDK.d.mts +45 -7
  4. package/dist/DopplerSDK.d.ts +45 -7
  5. package/dist/DopplerSDK.js +35 -12
  6. package/dist/DopplerSDK.mjs +34 -11
  7. package/dist/abis/bytecodes.d.mts +3 -2
  8. package/dist/abis/bytecodes.d.ts +3 -2
  9. package/dist/abis/bytecodes.js +9 -6
  10. package/dist/abis/bytecodes.mjs +1 -2
  11. package/dist/abis/index.d.mts +1507 -129
  12. package/dist/abis/index.d.ts +1507 -129
  13. package/dist/abis/index.js +43 -20
  14. package/dist/abis/index.mjs +2 -3
  15. package/dist/addresses.d.mts +16 -3
  16. package/dist/addresses.d.ts +16 -3
  17. package/dist/addresses.js +13 -5
  18. package/dist/addresses.mjs +2 -2
  19. package/dist/builders/DynamicAuctionBuilder.d.mts +119 -0
  20. package/dist/builders/DynamicAuctionBuilder.d.ts +119 -0
  21. package/dist/builders/DynamicAuctionBuilder.js +29 -0
  22. package/dist/builders/DynamicAuctionBuilder.js.map +1 -0
  23. package/dist/builders/DynamicAuctionBuilder.mjs +20 -0
  24. package/dist/builders/DynamicAuctionBuilder.mjs.map +1 -0
  25. package/dist/builders/MulticurveBuilder.d.mts +132 -0
  26. package/dist/builders/MulticurveBuilder.d.ts +132 -0
  27. package/dist/builders/MulticurveBuilder.js +29 -0
  28. package/dist/builders/MulticurveBuilder.js.map +1 -0
  29. package/dist/builders/MulticurveBuilder.mjs +20 -0
  30. package/dist/builders/MulticurveBuilder.mjs.map +1 -0
  31. package/dist/builders/StaticAuctionBuilder.d.mts +124 -0
  32. package/dist/builders/StaticAuctionBuilder.d.ts +124 -0
  33. package/dist/builders/StaticAuctionBuilder.js +29 -0
  34. package/dist/builders/StaticAuctionBuilder.js.map +1 -0
  35. package/dist/builders/StaticAuctionBuilder.mjs +20 -0
  36. package/dist/builders/StaticAuctionBuilder.mjs.map +1 -0
  37. package/dist/builders/index.d.mts +8 -0
  38. package/dist/builders/index.d.ts +8 -0
  39. package/dist/builders/index.js +56 -0
  40. package/dist/builders/index.js.map +1 -0
  41. package/dist/builders/index.mjs +23 -0
  42. package/dist/builders/index.mjs.map +1 -0
  43. package/dist/builders/shared.d.mts +116 -0
  44. package/dist/builders/shared.d.ts +116 -0
  45. package/dist/builders/shared.js +39 -0
  46. package/dist/builders/shared.js.map +1 -0
  47. package/dist/builders/shared.mjs +18 -0
  48. package/dist/builders/shared.mjs.map +1 -0
  49. package/dist/builders.d.mts +8 -131
  50. package/dist/builders.d.ts +8 -131
  51. package/dist/builders.js +44 -5
  52. package/dist/builders.mjs +22 -3
  53. package/dist/chunk-3PNCB4W5.js +4 -0
  54. package/dist/{chunk-KRN3ROUE.js.map → chunk-3PNCB4W5.js.map} +1 -1
  55. package/dist/chunk-3RK7LRAA.js +282 -0
  56. package/dist/chunk-3RK7LRAA.js.map +1 -0
  57. package/dist/chunk-4HM3ERBU.js +13 -0
  58. package/dist/chunk-4HM3ERBU.js.map +1 -0
  59. package/dist/{chunk-7W72MFJO.mjs → chunk-4TROGENW.mjs} +5 -4
  60. package/dist/chunk-4TROGENW.mjs.map +1 -0
  61. package/dist/chunk-5TL5V6UX.mjs +3 -0
  62. package/dist/{chunk-AZLFJNTG.mjs.map → chunk-5TL5V6UX.mjs.map} +1 -1
  63. package/dist/chunk-64AWG57M.mjs +192 -0
  64. package/dist/chunk-64AWG57M.mjs.map +1 -0
  65. package/dist/chunk-6KWCHTK3.js +166 -0
  66. package/dist/chunk-6KWCHTK3.js.map +1 -0
  67. package/dist/chunk-6OOWOPCX.js +1708 -0
  68. package/dist/chunk-6OOWOPCX.js.map +1 -0
  69. package/dist/chunk-7BBRPWQJ.js +257 -0
  70. package/dist/chunk-7BBRPWQJ.js.map +1 -0
  71. package/dist/{chunk-FVTIDXYK.mjs → chunk-AKSEBAR7.mjs} +29 -19
  72. package/dist/chunk-AKSEBAR7.mjs.map +1 -0
  73. package/dist/chunk-AS64GWBX.js +204 -0
  74. package/dist/chunk-AS64GWBX.js.map +1 -0
  75. package/dist/chunk-AULFBXM5.mjs +331 -0
  76. package/dist/chunk-AULFBXM5.mjs.map +1 -0
  77. package/dist/chunk-AW3WR2D3.mjs +238 -0
  78. package/dist/chunk-AW3WR2D3.mjs.map +1 -0
  79. package/dist/chunk-BIQQ53O2.js +45 -0
  80. package/dist/chunk-BIQQ53O2.js.map +1 -0
  81. package/dist/chunk-C6MPV3CY.js +260 -0
  82. package/dist/chunk-C6MPV3CY.js.map +1 -0
  83. package/dist/{chunk-AYPP5JEQ.mjs → chunk-CLEQO6GU.mjs} +5 -5
  84. package/dist/chunk-CLEQO6GU.mjs.map +1 -0
  85. package/dist/chunk-CVHPLURA.js +147 -0
  86. package/dist/chunk-CVHPLURA.js.map +1 -0
  87. package/dist/chunk-D2RBCFNW.mjs +130 -0
  88. package/dist/chunk-D2RBCFNW.mjs.map +1 -0
  89. package/dist/chunk-ECD4FV3A.mjs +11 -0
  90. package/dist/chunk-ECD4FV3A.mjs.map +1 -0
  91. package/dist/chunk-EDJBZPMW.mjs +255 -0
  92. package/dist/chunk-EDJBZPMW.mjs.map +1 -0
  93. package/dist/chunk-FPAI4QYW.mjs +145 -0
  94. package/dist/chunk-FPAI4QYW.mjs.map +1 -0
  95. package/dist/chunk-HM25ZMO3.js +18 -0
  96. package/dist/chunk-HM25ZMO3.js.map +1 -0
  97. package/dist/chunk-IHC6UYKK.js +4 -0
  98. package/dist/{chunk-DRBRT57F.js.map → chunk-IHC6UYKK.js.map} +1 -1
  99. package/dist/{chunk-DMAHXBA5.mjs → chunk-J5BFFL3X.mjs} +87 -47
  100. package/dist/chunk-J5BFFL3X.mjs.map +1 -0
  101. package/dist/chunk-JIKAD4YL.js +4 -0
  102. package/dist/{chunk-KEXKKQVW.js.map → chunk-JIKAD4YL.js.map} +1 -1
  103. package/dist/{chunk-EFAPDN4J.js → chunk-JWEXGALU.js} +730 -33
  104. package/dist/chunk-JWEXGALU.js.map +1 -0
  105. package/dist/{chunk-4K5GBNQV.mjs → chunk-KDT76YQE.mjs} +52 -13
  106. package/dist/chunk-KDT76YQE.mjs.map +1 -0
  107. package/dist/chunk-LMQLMMEX.js +317 -0
  108. package/dist/chunk-LMQLMMEX.js.map +1 -0
  109. package/dist/{chunk-TOMVBPNZ.js → chunk-LS4TK6SX.js} +9 -4
  110. package/dist/chunk-LS4TK6SX.js.map +1 -0
  111. package/dist/chunk-M4WMHD3X.mjs +40 -0
  112. package/dist/chunk-M4WMHD3X.mjs.map +1 -0
  113. package/dist/chunk-MCOK3UFR.mjs +280 -0
  114. package/dist/chunk-MCOK3UFR.mjs.map +1 -0
  115. package/dist/chunk-MGQSQCFG.js +176 -0
  116. package/dist/chunk-MGQSQCFG.js.map +1 -0
  117. package/dist/chunk-MKE3BUL3.mjs +3 -0
  118. package/dist/{chunk-CYDWEPFL.mjs.map → chunk-MKE3BUL3.mjs.map} +1 -1
  119. package/dist/chunk-MNJ5OYPE.mjs +17 -0
  120. package/dist/chunk-MNJ5OYPE.mjs.map +1 -0
  121. package/dist/chunk-MNXD45J7.mjs +164 -0
  122. package/dist/chunk-MNXD45J7.mjs.map +1 -0
  123. package/dist/chunk-NGDPQC5E.js +333 -0
  124. package/dist/chunk-NGDPQC5E.js.map +1 -0
  125. package/dist/chunk-NNNCVFOH.mjs +16 -0
  126. package/dist/chunk-NNNCVFOH.mjs.map +1 -0
  127. package/dist/chunk-NZ4BJ2IC.mjs +315 -0
  128. package/dist/chunk-NZ4BJ2IC.mjs.map +1 -0
  129. package/dist/chunk-OKNM7ODQ.js +29 -0
  130. package/dist/chunk-OKNM7ODQ.js.map +1 -0
  131. package/dist/{chunk-DCFHANLR.mjs → chunk-OTG75GVH.mjs} +725 -34
  132. package/dist/chunk-OTG75GVH.mjs.map +1 -0
  133. package/dist/chunk-OZ6DGBRL.mjs +25 -0
  134. package/dist/chunk-OZ6DGBRL.mjs.map +1 -0
  135. package/dist/chunk-P25HBGP5.mjs +3 -0
  136. package/dist/chunk-P25HBGP5.mjs.map +1 -0
  137. package/dist/{chunk-XG7K4R56.js → chunk-P7KLEPVI.js} +52 -12
  138. package/dist/chunk-P7KLEPVI.js.map +1 -0
  139. package/dist/{chunk-OPKQMN46.mjs → chunk-PAPXGPJB.mjs} +9 -4
  140. package/dist/chunk-PAPXGPJB.mjs.map +1 -0
  141. package/dist/chunk-PCNXJAU5.js +19 -0
  142. package/dist/chunk-PCNXJAU5.js.map +1 -0
  143. package/dist/{chunk-5IT5OXQ5.js → chunk-PD6HWEMG.js} +40 -30
  144. package/dist/chunk-PD6HWEMG.js.map +1 -0
  145. package/dist/{chunk-ER42VG7H.js → chunk-PH2KXREH.js} +20 -3
  146. package/dist/chunk-PH2KXREH.js.map +1 -0
  147. package/dist/chunk-Q5ERW5ZW.mjs +107 -0
  148. package/dist/chunk-Q5ERW5ZW.mjs.map +1 -0
  149. package/dist/chunk-Q7YNBSVH.js +28 -0
  150. package/dist/chunk-Q7YNBSVH.js.map +1 -0
  151. package/dist/{chunk-T644D54P.mjs → chunk-QKO2FZGN.mjs} +16 -4
  152. package/dist/chunk-QKO2FZGN.mjs.map +1 -0
  153. package/dist/{chunk-CIRZKWLL.js → chunk-RVFSRYI5.js} +5 -3
  154. package/dist/chunk-RVFSRYI5.js.map +1 -0
  155. package/dist/{chunk-KPBCG4X2.js → chunk-RW37KJ77.js} +11 -11
  156. package/dist/chunk-RW37KJ77.js.map +1 -0
  157. package/dist/chunk-SD7BHT2F.mjs +3 -0
  158. package/dist/chunk-SD7BHT2F.mjs.map +1 -0
  159. package/dist/chunk-SP5M57BG.mjs +258 -0
  160. package/dist/chunk-SP5M57BG.mjs.map +1 -0
  161. package/dist/chunk-TKSHYEYA.mjs +1706 -0
  162. package/dist/chunk-TKSHYEYA.mjs.map +1 -0
  163. package/dist/chunk-WTS75RUC.js +4 -0
  164. package/dist/chunk-WTS75RUC.js.map +1 -0
  165. package/dist/{chunk-ZRDU6CIB.js → chunk-XRPIGMA2.js} +108 -68
  166. package/dist/chunk-XRPIGMA2.js.map +1 -0
  167. package/dist/chunk-XTKSM4QE.js +132 -0
  168. package/dist/chunk-XTKSM4QE.js.map +1 -0
  169. package/dist/chunk-XUE3CIJ5.mjs +174 -0
  170. package/dist/chunk-XUE3CIJ5.mjs.map +1 -0
  171. package/dist/chunk-YYUOLM6U.js +244 -0
  172. package/dist/chunk-YYUOLM6U.js.map +1 -0
  173. package/dist/chunk-ZH44DHVR.mjs +26 -0
  174. package/dist/chunk-ZH44DHVR.mjs.map +1 -0
  175. package/dist/chunk-ZPHOOG72.js +112 -0
  176. package/dist/chunk-ZPHOOG72.js.map +1 -0
  177. package/dist/constants.d.mts +7 -2
  178. package/dist/constants.d.ts +7 -2
  179. package/dist/constants.js +57 -38
  180. package/dist/constants.mjs +1 -2
  181. package/dist/deployments.generated.d.mts +2 -0
  182. package/dist/deployments.generated.d.ts +2 -0
  183. package/dist/deployments.generated.js +12 -0
  184. package/dist/deployments.generated.js.map +1 -0
  185. package/dist/deployments.generated.mjs +3 -0
  186. package/dist/deployments.generated.mjs.map +1 -0
  187. package/dist/entities/DopplerFactory.d.mts +139 -11
  188. package/dist/entities/DopplerFactory.d.ts +139 -11
  189. package/dist/entities/DopplerFactory.js +17 -7
  190. package/dist/entities/DopplerFactory.mjs +16 -6
  191. package/dist/entities/auction/DynamicAuction.d.mts +19 -4
  192. package/dist/entities/auction/DynamicAuction.d.ts +19 -4
  193. package/dist/entities/auction/DynamicAuction.js +6 -6
  194. package/dist/entities/auction/DynamicAuction.mjs +5 -5
  195. package/dist/entities/auction/MulticurvePool.d.mts +55 -0
  196. package/dist/entities/auction/MulticurvePool.d.ts +55 -0
  197. package/dist/entities/auction/MulticurvePool.js +18 -0
  198. package/dist/entities/auction/MulticurvePool.js.map +1 -0
  199. package/dist/entities/auction/MulticurvePool.mjs +9 -0
  200. package/dist/entities/auction/MulticurvePool.mjs.map +1 -0
  201. package/dist/entities/auction/StaticAuction.d.mts +6 -3
  202. package/dist/entities/auction/StaticAuction.d.ts +6 -3
  203. package/dist/entities/auction/StaticAuction.js +6 -6
  204. package/dist/entities/auction/StaticAuction.mjs +5 -5
  205. package/dist/entities/auction/index.d.mts +3 -0
  206. package/dist/entities/auction/index.d.ts +3 -0
  207. package/dist/entities/auction/index.js +16 -9
  208. package/dist/entities/auction/index.mjs +10 -7
  209. package/dist/entities/quoter/Quoter.d.mts +44 -2
  210. package/dist/entities/quoter/Quoter.d.ts +44 -2
  211. package/dist/entities/quoter/Quoter.js +6 -6
  212. package/dist/entities/quoter/Quoter.mjs +5 -5
  213. package/dist/entities/quoter/index.d.mts +3 -0
  214. package/dist/entities/quoter/index.d.ts +3 -0
  215. package/dist/entities/quoter/index.js +6 -6
  216. package/dist/entities/quoter/index.mjs +5 -5
  217. package/dist/entities/token/derc20/Derc20.d.mts +33 -7
  218. package/dist/entities/token/derc20/Derc20.d.ts +33 -7
  219. package/dist/entities/token/derc20/Derc20.js +4 -5
  220. package/dist/entities/token/derc20/Derc20.mjs +3 -4
  221. package/dist/entities/token/derc20/index.d.mts +3 -0
  222. package/dist/entities/token/derc20/index.d.ts +3 -0
  223. package/dist/entities/token/derc20/index.js +4 -5
  224. package/dist/entities/token/derc20/index.mjs +3 -4
  225. package/dist/entities/token/eth/Eth.d.mts +7 -3
  226. package/dist/entities/token/eth/Eth.d.ts +7 -3
  227. package/dist/entities/token/eth/Eth.js +2 -3
  228. package/dist/entities/token/eth/Eth.mjs +1 -2
  229. package/dist/entities/token/eth/index.d.mts +3 -0
  230. package/dist/entities/token/eth/index.d.ts +3 -0
  231. package/dist/entities/token/eth/index.js +2 -3
  232. package/dist/entities/token/eth/index.mjs +1 -2
  233. package/dist/entities/token/index.d.mts +3 -0
  234. package/dist/entities/token/index.d.ts +3 -0
  235. package/dist/entities/token/index.js +6 -7
  236. package/dist/entities/token/index.mjs +4 -5
  237. package/dist/index.d.mts +18 -6
  238. package/dist/index.d.ts +18 -6
  239. package/dist/index.js +305 -140
  240. package/dist/index.js.map +1 -1
  241. package/dist/index.mjs +32 -19
  242. package/dist/index.mjs.map +1 -1
  243. package/dist/types.d.mts +260 -22
  244. package/dist/types.d.ts +260 -22
  245. package/dist/types.js +12 -3
  246. package/dist/types.mjs +3 -2
  247. package/dist/utils/airlock.d.mts +11 -0
  248. package/dist/utils/airlock.d.ts +11 -0
  249. package/dist/utils/airlock.js +26 -0
  250. package/dist/utils/airlock.js.map +1 -0
  251. package/dist/utils/airlock.mjs +5 -0
  252. package/dist/utils/airlock.mjs.map +1 -0
  253. package/dist/utils/balanceDelta.d.mts +10 -0
  254. package/dist/utils/balanceDelta.d.ts +10 -0
  255. package/dist/utils/balanceDelta.js +12 -0
  256. package/dist/utils/balanceDelta.js.map +1 -0
  257. package/dist/utils/balanceDelta.mjs +3 -0
  258. package/dist/utils/balanceDelta.mjs.map +1 -0
  259. package/dist/utils/computeOptimalGamma.d.mts +7 -0
  260. package/dist/utils/computeOptimalGamma.d.ts +7 -0
  261. package/dist/utils/computeOptimalGamma.js +12 -0
  262. package/dist/utils/computeOptimalGamma.js.map +1 -0
  263. package/dist/utils/computeOptimalGamma.mjs +3 -0
  264. package/dist/utils/computeOptimalGamma.mjs.map +1 -0
  265. package/dist/utils/index.d.mts +11 -0
  266. package/dist/utils/index.d.ts +11 -0
  267. package/dist/utils/index.js +114 -24
  268. package/dist/utils/index.mjs +14 -4
  269. package/dist/utils/isToken0Expected.d.mts +13 -0
  270. package/dist/utils/isToken0Expected.d.ts +13 -0
  271. package/dist/utils/isToken0Expected.js +12 -0
  272. package/dist/utils/isToken0Expected.js.map +1 -0
  273. package/dist/utils/isToken0Expected.mjs +3 -0
  274. package/dist/utils/isToken0Expected.mjs.map +1 -0
  275. package/dist/utils/marketCapHelpers.d.mts +309 -0
  276. package/dist/utils/marketCapHelpers.d.ts +309 -0
  277. package/dist/utils/marketCapHelpers.js +54 -0
  278. package/dist/utils/marketCapHelpers.js.map +1 -0
  279. package/dist/utils/marketCapHelpers.mjs +5 -0
  280. package/dist/utils/marketCapHelpers.mjs.map +1 -0
  281. package/dist/utils/poolKey.d.mts +17 -0
  282. package/dist/utils/poolKey.d.ts +17 -0
  283. package/dist/utils/poolKey.js +12 -0
  284. package/dist/utils/poolKey.js.map +1 -0
  285. package/dist/utils/poolKey.mjs +3 -0
  286. package/dist/utils/poolKey.mjs.map +1 -0
  287. package/dist/utils/priceHelpers.d.mts +3 -3
  288. package/dist/utils/priceHelpers.d.ts +3 -3
  289. package/dist/utils/priceHelpers.js +10 -11
  290. package/dist/utils/priceHelpers.mjs +2 -3
  291. package/dist/utils/tickMath.d.mts +8 -1
  292. package/dist/utils/tickMath.d.ts +8 -1
  293. package/dist/utils/tickMath.js +17 -14
  294. package/dist/utils/tickMath.mjs +1 -2
  295. package/dist/utils/tokenAddressMiner.d.mts +30 -0
  296. package/dist/utils/tokenAddressMiner.d.ts +30 -0
  297. package/dist/utils/tokenAddressMiner.js +14 -0
  298. package/dist/utils/tokenAddressMiner.js.map +1 -0
  299. package/dist/utils/tokenAddressMiner.mjs +5 -0
  300. package/dist/utils/tokenAddressMiner.mjs.map +1 -0
  301. package/package.json +14 -11
  302. package/dist/__tests__/mocks/addresses.d.mts +0 -46
  303. package/dist/__tests__/mocks/addresses.d.ts +0 -46
  304. package/dist/__tests__/mocks/addresses.js +0 -53
  305. package/dist/__tests__/mocks/addresses.js.map +0 -1
  306. package/dist/__tests__/mocks/addresses.mjs +0 -44
  307. package/dist/__tests__/mocks/addresses.mjs.map +0 -1
  308. package/dist/__tests__/mocks/clients.d.mts +0 -22
  309. package/dist/__tests__/mocks/clients.d.ts +0 -22
  310. package/dist/__tests__/mocks/clients.js +0 -17036
  311. package/dist/__tests__/mocks/clients.js.map +0 -1
  312. package/dist/__tests__/mocks/clients.mjs +0 -17032
  313. package/dist/__tests__/mocks/clients.mjs.map +0 -1
  314. package/dist/chunk-2N5JZSZ4.js +0 -14
  315. package/dist/chunk-2N5JZSZ4.js.map +0 -1
  316. package/dist/chunk-3OZRDL3O.js +0 -162
  317. package/dist/chunk-3OZRDL3O.js.map +0 -1
  318. package/dist/chunk-4K5GBNQV.mjs.map +0 -1
  319. package/dist/chunk-5IT5OXQ5.js.map +0 -1
  320. package/dist/chunk-7F5IXZLH.js +0 -308
  321. package/dist/chunk-7F5IXZLH.js.map +0 -1
  322. package/dist/chunk-7VP5VR7J.js +0 -82
  323. package/dist/chunk-7VP5VR7J.js.map +0 -1
  324. package/dist/chunk-7W72MFJO.mjs.map +0 -1
  325. package/dist/chunk-AYPP5JEQ.mjs.map +0 -1
  326. package/dist/chunk-AZLFJNTG.mjs +0 -3
  327. package/dist/chunk-CIRZKWLL.js.map +0 -1
  328. package/dist/chunk-CYDWEPFL.mjs +0 -3
  329. package/dist/chunk-DCFHANLR.mjs.map +0 -1
  330. package/dist/chunk-DMAHXBA5.mjs.map +0 -1
  331. package/dist/chunk-DRBRT57F.js +0 -4
  332. package/dist/chunk-EFAPDN4J.js.map +0 -1
  333. package/dist/chunk-ER42VG7H.js.map +0 -1
  334. package/dist/chunk-FVTIDXYK.mjs.map +0 -1
  335. package/dist/chunk-IHBIBFZK.mjs +0 -12
  336. package/dist/chunk-IHBIBFZK.mjs.map +0 -1
  337. package/dist/chunk-IXSKPEHB.mjs +0 -160
  338. package/dist/chunk-IXSKPEHB.mjs.map +0 -1
  339. package/dist/chunk-KEXKKQVW.js +0 -42
  340. package/dist/chunk-KFD6U3LQ.mjs +0 -305
  341. package/dist/chunk-KFD6U3LQ.mjs.map +0 -1
  342. package/dist/chunk-KPBCG4X2.js.map +0 -1
  343. package/dist/chunk-KRN3ROUE.js +0 -4
  344. package/dist/chunk-KT7U37XS.mjs +0 -207
  345. package/dist/chunk-KT7U37XS.mjs.map +0 -1
  346. package/dist/chunk-LOROXNH3.mjs +0 -37
  347. package/dist/chunk-LOROXNH3.mjs.map +0 -1
  348. package/dist/chunk-O6GYIJ6X.mjs +0 -80
  349. package/dist/chunk-O6GYIJ6X.mjs.map +0 -1
  350. package/dist/chunk-OPKQMN46.mjs.map +0 -1
  351. package/dist/chunk-RIMM47JL.mjs +0 -176
  352. package/dist/chunk-RIMM47JL.mjs.map +0 -1
  353. package/dist/chunk-SUOMK3CU.js +0 -872
  354. package/dist/chunk-SUOMK3CU.js.map +0 -1
  355. package/dist/chunk-T644D54P.mjs.map +0 -1
  356. package/dist/chunk-TOMVBPNZ.js.map +0 -1
  357. package/dist/chunk-XEMZQHTX.mjs +0 -870
  358. package/dist/chunk-XEMZQHTX.mjs.map +0 -1
  359. package/dist/chunk-XG7K4R56.js.map +0 -1
  360. package/dist/chunk-XQ2VMR26.js +0 -180
  361. package/dist/chunk-XQ2VMR26.js.map +0 -1
  362. package/dist/chunk-ZAIP54LX.js +0 -209
  363. package/dist/chunk-ZAIP54LX.js.map +0 -1
  364. package/dist/chunk-ZRDU6CIB.js.map +0 -1
  365. package/dist/magic-string.es-CBLXTCZP.js +0 -1304
  366. package/dist/magic-string.es-CBLXTCZP.js.map +0 -1
  367. package/dist/magic-string.es-QHA47FSB.mjs +0 -1298
  368. package/dist/magic-string.es-QHA47FSB.mjs.map +0 -1
@@ -0,0 +1,174 @@
1
+ import { DopplerDN404Bytecode, DERC20Bytecode } from './chunk-4TROGENW.mjs';
2
+ import { decodeAbiParameters, encodeAbiParameters, keccak256, encodePacked, getAddress } from 'viem';
3
+
4
+ var DEFAULT_MAX_ITERATIONS = 1e6;
5
+ var STANDARD_TOKEN_DATA_ABI = [
6
+ { type: "string" },
7
+ { type: "string" },
8
+ { type: "uint256" },
9
+ { type: "uint256" },
10
+ { type: "address[]" },
11
+ { type: "uint256[]" },
12
+ { type: "string" }
13
+ ];
14
+ var DOPPLER404_TOKEN_DATA_ABI = [
15
+ { type: "string" },
16
+ { type: "string" },
17
+ { type: "string" },
18
+ { type: "uint256" }
19
+ ];
20
+ function normalizePrefix(prefix) {
21
+ const normalized = prefix.trim().toLowerCase().replace(/^0x/, "");
22
+ if (normalized.length === 0) {
23
+ throw new Error("TokenAddressMiner: prefix must contain at least one hex character");
24
+ }
25
+ if (normalized.length > 40) {
26
+ throw new Error("TokenAddressMiner: prefix cannot exceed 40 hex characters");
27
+ }
28
+ if (!/^[0-9a-f]+$/i.test(normalized)) {
29
+ throw new Error("TokenAddressMiner: prefix must be a hexadecimal string");
30
+ }
31
+ return normalized;
32
+ }
33
+ function computeCreate2Address(salt, initCodeHash, deployer) {
34
+ const encoded = encodePacked(
35
+ ["bytes1", "address", "bytes32", "bytes32"],
36
+ ["0xff", deployer, salt, initCodeHash]
37
+ );
38
+ return getAddress(`0x${keccak256(encoded).slice(-40)}`);
39
+ }
40
+ function buildTokenInitHash(params) {
41
+ const { variant, tokenData, initialSupply, recipient, owner, customBytecode } = params;
42
+ if (variant === "doppler404") {
43
+ const [name2, symbol2, baseURI] = decodeAbiParameters(
44
+ DOPPLER404_TOKEN_DATA_ABI,
45
+ tokenData
46
+ );
47
+ const initHashData2 = encodeAbiParameters(
48
+ [
49
+ { type: "string" },
50
+ { type: "string" },
51
+ { type: "uint256" },
52
+ { type: "address" },
53
+ { type: "address" },
54
+ { type: "string" }
55
+ ],
56
+ [name2, symbol2, initialSupply, recipient, owner, baseURI]
57
+ );
58
+ return keccak256(
59
+ encodePacked(
60
+ ["bytes", "bytes"],
61
+ [customBytecode ?? DopplerDN404Bytecode, initHashData2]
62
+ )
63
+ );
64
+ }
65
+ const [
66
+ name,
67
+ symbol,
68
+ yearlyMintRate,
69
+ vestingDuration,
70
+ vestingRecipients,
71
+ vestingAmounts,
72
+ tokenURI
73
+ ] = decodeAbiParameters(STANDARD_TOKEN_DATA_ABI, tokenData);
74
+ const initHashData = encodeAbiParameters(
75
+ [
76
+ { type: "string" },
77
+ { type: "string" },
78
+ { type: "uint256" },
79
+ { type: "address" },
80
+ { type: "address" },
81
+ { type: "uint256" },
82
+ { type: "uint256" },
83
+ { type: "address[]" },
84
+ { type: "uint256[]" },
85
+ { type: "string" }
86
+ ],
87
+ [
88
+ name,
89
+ symbol,
90
+ initialSupply,
91
+ recipient,
92
+ owner,
93
+ yearlyMintRate,
94
+ vestingDuration,
95
+ Array.from(vestingRecipients),
96
+ Array.from(vestingAmounts),
97
+ tokenURI
98
+ ]
99
+ );
100
+ return keccak256(
101
+ encodePacked(
102
+ ["bytes", "bytes"],
103
+ [customBytecode ?? DERC20Bytecode, initHashData]
104
+ )
105
+ );
106
+ }
107
+ function mineTokenAddress(params) {
108
+ const {
109
+ prefix,
110
+ tokenFactory,
111
+ initialSupply,
112
+ recipient,
113
+ owner,
114
+ tokenData,
115
+ tokenVariant = "standard",
116
+ customBytecode,
117
+ maxIterations = DEFAULT_MAX_ITERATIONS,
118
+ startSalt = 0n,
119
+ hook
120
+ } = params;
121
+ if (maxIterations <= 0 || !Number.isFinite(maxIterations)) {
122
+ throw new Error("TokenAddressMiner: maxIterations must be a positive finite number");
123
+ }
124
+ if (startSalt < 0n) {
125
+ throw new Error("TokenAddressMiner: startSalt cannot be negative");
126
+ }
127
+ const normalizedPrefix = normalizePrefix(prefix);
128
+ const tokenInitHash = buildTokenInitHash({
129
+ variant: tokenVariant,
130
+ tokenData,
131
+ initialSupply,
132
+ recipient,
133
+ owner,
134
+ customBytecode
135
+ });
136
+ const hookConfig = hook ? {
137
+ deployer: hook.deployer,
138
+ initCodeHash: hook.initCodeHash,
139
+ prefix: hook.prefix ? normalizePrefix(hook.prefix) : void 0
140
+ } : void 0;
141
+ const maxSalt = startSalt + BigInt(maxIterations);
142
+ let iterations = 0;
143
+ for (let salt = startSalt; salt < maxSalt; salt++) {
144
+ const saltHex = `0x${salt.toString(16).padStart(64, "0")}`;
145
+ const candidate = computeCreate2Address(saltHex, tokenInitHash, tokenFactory);
146
+ iterations++;
147
+ if (candidate.slice(2).toLowerCase().startsWith(normalizedPrefix)) {
148
+ let hookAddress;
149
+ if (hookConfig) {
150
+ hookAddress = computeCreate2Address(
151
+ saltHex,
152
+ hookConfig.initCodeHash,
153
+ hookConfig.deployer
154
+ );
155
+ if (hookConfig.prefix && !hookAddress.slice(2).toLowerCase().startsWith(hookConfig.prefix)) {
156
+ continue;
157
+ }
158
+ }
159
+ return {
160
+ salt: saltHex,
161
+ tokenAddress: candidate,
162
+ iterations,
163
+ hookAddress
164
+ };
165
+ }
166
+ }
167
+ throw new Error(
168
+ `TokenAddressMiner: could not find salt matching prefix ${prefix} within ${maxIterations} iterations`
169
+ );
170
+ }
171
+
172
+ export { mineTokenAddress };
173
+ //# sourceMappingURL=chunk-XUE3CIJ5.mjs.map
174
+ //# sourceMappingURL=chunk-XUE3CIJ5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/tokenAddressMiner.ts"],"names":["name","symbol","initHashData"],"mappings":"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","file":"chunk-XUE3CIJ5.mjs","sourcesContent":["import {\n type Address,\n type Hash,\n type Hex,\n encodeAbiParameters,\n encodePacked,\n keccak256,\n getAddress,\n decodeAbiParameters,\n} from 'viem'\nimport { DERC20Bytecode, DopplerDN404Bytecode } from '../abis'\n\nconst DEFAULT_MAX_ITERATIONS = 1_000_000\n\nexport type TokenVariant = 'standard' | 'doppler404'\n\nexport interface TokenAddressHookConfig {\n deployer: Address\n initCodeHash: Hash\n prefix?: string\n}\n\nexport interface TokenAddressMiningParams {\n prefix: string\n tokenFactory: Address\n initialSupply: bigint\n recipient: Address\n owner: Address\n tokenData: Hex\n tokenVariant?: TokenVariant\n customBytecode?: Hex\n maxIterations?: number\n startSalt?: bigint\n hook?: TokenAddressHookConfig\n}\n\nexport interface TokenAddressMiningResult {\n salt: Hash\n tokenAddress: Address\n iterations: number\n hookAddress?: Address\n}\n\nconst STANDARD_TOKEN_DATA_ABI = [\n { type: 'string' },\n { type: 'string' },\n { type: 'uint256' },\n { type: 'uint256' },\n { type: 'address[]' },\n { type: 'uint256[]' },\n { type: 'string' },\n] as const\n\nconst DOPPLER404_TOKEN_DATA_ABI = [\n { type: 'string' },\n { type: 'string' },\n { type: 'string' },\n { type: 'uint256' },\n] as const\n\nfunction normalizePrefix(prefix: string): string {\n const normalized = prefix.trim().toLowerCase().replace(/^0x/, '')\n if (normalized.length === 0) {\n throw new Error('TokenAddressMiner: prefix must contain at least one hex character')\n }\n if (normalized.length > 40) {\n throw new Error('TokenAddressMiner: prefix cannot exceed 40 hex characters')\n }\n if (!/^[0-9a-f]+$/i.test(normalized)) {\n throw new Error('TokenAddressMiner: prefix must be a hexadecimal string')\n }\n return normalized\n}\n\nfunction computeCreate2Address(salt: Hash, initCodeHash: Hash, deployer: Address): Address {\n const encoded = encodePacked(\n ['bytes1', 'address', 'bytes32', 'bytes32'],\n ['0xff', deployer, salt, initCodeHash]\n )\n return getAddress(`0x${keccak256(encoded).slice(-40)}`)\n}\n\nfunction buildTokenInitHash(params: {\n variant: TokenVariant\n tokenData: Hex\n initialSupply: bigint\n recipient: Address\n owner: Address\n customBytecode?: Hex\n}): Hash {\n const { variant, tokenData, initialSupply, recipient, owner, customBytecode } = params\n\n if (variant === 'doppler404') {\n const [name, symbol, baseURI] = decodeAbiParameters(\n DOPPLER404_TOKEN_DATA_ABI,\n tokenData\n ) as readonly [string, string, string, bigint | undefined]\n\n const initHashData = encodeAbiParameters(\n [\n { type: 'string' },\n { type: 'string' },\n { type: 'uint256' },\n { type: 'address' },\n { type: 'address' },\n { type: 'string' },\n ],\n [name, symbol, initialSupply, recipient, owner, baseURI]\n )\n\n return keccak256(\n encodePacked(\n ['bytes', 'bytes'],\n [(customBytecode ?? (DopplerDN404Bytecode as Hex)), initHashData]\n )\n ) as Hash\n }\n\n const [\n name,\n symbol,\n yearlyMintRate,\n vestingDuration,\n vestingRecipients,\n vestingAmounts,\n tokenURI,\n ] = decodeAbiParameters(STANDARD_TOKEN_DATA_ABI, tokenData) as readonly [\n string,\n string,\n bigint,\n bigint,\n readonly Address[],\n readonly bigint[],\n string\n ]\n\n const initHashData = encodeAbiParameters(\n [\n { type: 'string' },\n { type: 'string' },\n { type: 'uint256' },\n { type: 'address' },\n { type: 'address' },\n { type: 'uint256' },\n { type: 'uint256' },\n { type: 'address[]' },\n { type: 'uint256[]' },\n { type: 'string' },\n ],\n [\n name,\n symbol,\n initialSupply,\n recipient,\n owner,\n yearlyMintRate,\n vestingDuration,\n Array.from(vestingRecipients),\n Array.from(vestingAmounts),\n tokenURI,\n ]\n )\n\n return keccak256(\n encodePacked(\n ['bytes', 'bytes'],\n [(customBytecode ?? (DERC20Bytecode as Hex)), initHashData]\n )\n ) as Hash\n}\n\nexport function mineTokenAddress(params: TokenAddressMiningParams): TokenAddressMiningResult {\n const {\n prefix,\n tokenFactory,\n initialSupply,\n recipient,\n owner,\n tokenData,\n tokenVariant = 'standard',\n customBytecode,\n maxIterations = DEFAULT_MAX_ITERATIONS,\n startSalt = 0n,\n hook,\n } = params\n\n if (maxIterations <= 0 || !Number.isFinite(maxIterations)) {\n throw new Error('TokenAddressMiner: maxIterations must be a positive finite number')\n }\n if (startSalt < 0n) {\n throw new Error('TokenAddressMiner: startSalt cannot be negative')\n }\n\n const normalizedPrefix = normalizePrefix(prefix)\n const tokenInitHash = buildTokenInitHash({\n variant: tokenVariant,\n tokenData,\n initialSupply,\n recipient,\n owner,\n customBytecode,\n })\n\n const hookConfig = hook\n ? {\n deployer: hook.deployer,\n initCodeHash: hook.initCodeHash,\n prefix: hook.prefix ? normalizePrefix(hook.prefix) : undefined,\n }\n : undefined\n\n const maxSalt = startSalt + BigInt(maxIterations)\n let iterations = 0\n\n for (let salt = startSalt; salt < maxSalt; salt++) {\n const saltHex = `0x${salt.toString(16).padStart(64, '0')}` as Hash\n const candidate = computeCreate2Address(saltHex, tokenInitHash, tokenFactory)\n iterations++\n if (candidate.slice(2).toLowerCase().startsWith(normalizedPrefix)) {\n let hookAddress: Address | undefined\n if (hookConfig) {\n hookAddress = computeCreate2Address(\n saltHex,\n hookConfig.initCodeHash,\n hookConfig.deployer\n )\n if (\n hookConfig.prefix &&\n !hookAddress.slice(2).toLowerCase().startsWith(hookConfig.prefix)\n ) {\n continue\n }\n }\n return {\n salt: saltHex,\n tokenAddress: candidate,\n iterations,\n hookAddress,\n }\n }\n }\n\n throw new Error(\n `TokenAddressMiner: could not find salt matching prefix ${prefix} within ${maxIterations} iterations`\n )\n}\n"]}
@@ -0,0 +1,244 @@
1
+ 'use strict';
2
+
3
+ var chunkCVHPLURA_js = require('./chunk-CVHPLURA.js');
4
+
5
+ // src/addresses.ts
6
+ var CHAIN_IDS = {
7
+ MAINNET: 1,
8
+ BASE: 8453,
9
+ BASE_SEPOLIA: 84532,
10
+ INK: 57073,
11
+ UNICHAIN: 130,
12
+ UNICHAIN_SEPOLIA: 1301,
13
+ MONAD_TESTNET: 10143,
14
+ MONAD_MAINNET: 143
15
+ };
16
+ var ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
17
+ var ADDRESSES = {
18
+ [CHAIN_IDS.MAINNET]: {
19
+ // Mainnet addresses not yet deployed
20
+ airlock: ZERO_ADDRESS,
21
+ tokenFactory: ZERO_ADDRESS,
22
+ v3Initializer: ZERO_ADDRESS,
23
+ v3Quoter: ZERO_ADDRESS,
24
+ v4Initializer: ZERO_ADDRESS,
25
+ dopplerLens: ZERO_ADDRESS,
26
+ dopplerDeployer: ZERO_ADDRESS,
27
+ v2Migrator: ZERO_ADDRESS,
28
+ v3Migrator: ZERO_ADDRESS,
29
+ v4Migrator: ZERO_ADDRESS,
30
+ poolManager: ZERO_ADDRESS,
31
+ governanceFactory: ZERO_ADDRESS,
32
+ universalRouter: ZERO_ADDRESS,
33
+ permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
34
+ weth: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
35
+ uniswapV2Factory: "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f",
36
+ uniswapV3Factory: "0x1F98431c8aD98523631AE4a59f267346ea31F984",
37
+ uniswapV4Quoter: "0x52f0e24d1c21c8a0cb1e5a5dd6198556bd9e1203"
38
+ },
39
+ [CHAIN_IDS.BASE]: {
40
+ airlock: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].Airlock,
41
+ tokenFactory: "0xFAafdE6a5b658684cC5eb0C5c2c755B00A246F45",
42
+ v3Initializer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].UniswapV3Initializer,
43
+ v3Quoter: "0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a",
44
+ lockableV3Initializer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].LockableUniswapV3Initializer,
45
+ v4Initializer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].UniswapV4Initializer,
46
+ v4MulticurveInitializer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].UniswapV4MulticurveInitializer,
47
+ // From Doppler multicurve deployments (Base mainnet)
48
+ v4ScheduledMulticurveInitializer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].UniswapV4ScheduledMulticurveInitializer,
49
+ // From Doppler scheduled multicurve deployments (Base mainnet)
50
+ dopplerLens: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].DopplerLensQuoter,
51
+ dopplerDeployer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].DopplerDeployer,
52
+ poolManager: "0x498581ff718922c3f8e6a244956af099b2652b2b",
53
+ v2Migrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].UniswapV2Migrator,
54
+ v3Migrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].UniswapV2Migrator,
55
+ v4Migrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].UniswapV4Migrator,
56
+ noOpMigrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].NoOpMigrator,
57
+ governanceFactory: "0xb4deE32EB70A5E55f3D2d861F49Fb3D79f7a14d9",
58
+ noOpGovernanceFactory: "0xe7dfbd5b0a2c3b4464653a9becdc489229ef090e",
59
+ streamableFeesLocker: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].StreamableFeesLocker,
60
+ universalRouter: "0x6ff5693b99212da76ad316178a184ab56d299b43",
61
+ univ2Router02: "0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24",
62
+ permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
63
+ bundler: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].Bundler,
64
+ weth: "0x4200000000000000000000000000000000000006",
65
+ uniswapV4Quoter: "0x0d5e0f971ed27fbff6c2837bf31316121532048d"
66
+ },
67
+ [CHAIN_IDS.BASE_SEPOLIA]: {
68
+ airlock: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].Airlock,
69
+ tokenFactory: "0xc69ba223c617f7d936b3cf2012aa644815dbe9ff",
70
+ doppler404Factory: "0xdd8cea2890f1b3498436f19ec8da8fecc2cb7af7",
71
+ v3Initializer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].UniswapV3Initializer,
72
+ v3Quoter: "0xC5290058841028F1614F3A6F0F5816cAd0df5E27",
73
+ lockableV3Initializer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].LockableUniswapV3Initializer,
74
+ v4Initializer: "0x8e891d249f1ecbffa6143c03eb1b12843aef09d3",
75
+ v4MulticurveInitializer: "0x359b5952a254baaa0105381825daedb8986bb55c",
76
+ // From doppler multicurve deployments (Base Sepolia)
77
+ v4ScheduledMulticurveInitializer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].UniswapV4ScheduledMulticurveInitializer,
78
+ // From Doppler scheduled multicurve deployments (Base Sepolia)
79
+ dopplerLens: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].DopplerLensQuoter,
80
+ dopplerDeployer: "0x60a039e4add40ca95e0475c11e8a4182d06c9aa0",
81
+ poolManager: "0x05E73354cFDd6745C338b50BcFDfA3Aa6fA03408",
82
+ v2Migrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].UniswapV2Migrator,
83
+ v3Migrator: "0xb2ec6559704467306d04322a5dc082b2af4562dd",
84
+ v4Migrator: "0xb2ec6559704467306d04322a5dc082b2af4562dd",
85
+ v4MigratorHook: "0x508812fcdd4972a59b66eb2cad3772279c052000",
86
+ noOpMigrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].NoOpMigrator,
87
+ governanceFactory: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].GovernanceFactory,
88
+ noOpGovernanceFactory: "0x916b8987e4ad325c10d58ed8dc2036a6ff5eb228",
89
+ streamableFeesLocker: "0x4da7d7a8034510c0ffd38a9252237ae8dba3cb61",
90
+ universalRouter: "0x492E6456D9528771018DeB9E87ef7750EF184104",
91
+ univ2Router02: "0x1689E7B1F10000AE47eBfE339a4f69dECd19F602",
92
+ permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
93
+ bundler: "0x69DB7c20cDdA49Bed2bFb21e16Fa218330C50661",
94
+ weth: "0x4200000000000000000000000000000000000006",
95
+ uniswapV4Quoter: "0x4A6513c898fe1B2d0E78d3b0e0A4a151589B1cBa"
96
+ },
97
+ [CHAIN_IDS.INK]: {
98
+ airlock: "0x014E1c0bd34f3B10546E554CB33B3293fECDD056",
99
+ tokenFactory: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].TokenFactory,
100
+ v3Initializer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].UniswapV3Initializer,
101
+ v3Quoter: "0x96b572D2d880cf2Fa2563651BD23ADE6f5516652",
102
+ v4Initializer: "0xC99b485499f78995C6F1640dbB1413c57f8BA684",
103
+ dopplerLens: "0x3972c00f7ed4885e145823eb7c655375d275a1c5",
104
+ dopplerDeployer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].DopplerDeployer,
105
+ poolManager: "0x360e68faccca8ca495c1b759fd9eee466db9fb32",
106
+ v2Migrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].UniswapV2Migrator,
107
+ v3Migrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].UniswapV2Migrator,
108
+ v4Migrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].UniswapV2Migrator,
109
+ // Same as v2/v3 migrator
110
+ governanceFactory: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].GovernanceFactory,
111
+ noOpGovernanceFactory: ZERO_ADDRESS,
112
+ // Not yet deployed
113
+ streamableFeesLocker: ZERO_ADDRESS,
114
+ // Not yet deployed
115
+ universalRouter: "0x112908dac86e20e7241b0927479ea3bf935d1fa0",
116
+ univ2Router02: "0xB3FB126ACDd5AdCA2f50Ac644a7a2303745f18b4",
117
+ permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
118
+ bundler: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].Bundler,
119
+ weth: "0x4200000000000000000000000000000000000006",
120
+ uniswapV4Quoter: "0x3972c00f7ed4885e145823eb7c655375d275a1c5"
121
+ },
122
+ [CHAIN_IDS.UNICHAIN]: {
123
+ airlock: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].Airlock,
124
+ tokenFactory: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].TokenFactory,
125
+ v3Initializer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].UniswapV3Initializer,
126
+ v3Quoter: "0x385A5cf5F83e99f7BB2852b6A19C3538b9FA7658",
127
+ v4Initializer: "0x2F2BAcd46d3F5c9EE052Ab392b73711dB89129DB",
128
+ dopplerLens: "0x333e3c607b141b18ff6de9f258db6e77fe7491e0",
129
+ dopplerDeployer: "0x06FEFD02F0b6d9f57F52cfacFc113665Dfa20F0f",
130
+ poolManager: "0x1f98400000000000000000000000000000000004",
131
+ v2Migrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].UniswapV2Migrator,
132
+ v3Migrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].UniswapV2Migrator,
133
+ v4Migrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].UniswapV2Migrator,
134
+ // Same as v2/v3 migrator
135
+ noOpMigrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].NoOpMigrator,
136
+ governanceFactory: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].GovernanceFactory,
137
+ noOpGovernanceFactory: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].NoOpGovernanceFactory,
138
+ streamableFeesLocker: ZERO_ADDRESS,
139
+ // Not yet deployed
140
+ universalRouter: "0xef740bf23acae26f6492b10de645d6b98dc8eaf3",
141
+ univ2Router02: "0x284f11109359a7e1306c3e447ef14d38400063ff",
142
+ permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
143
+ bundler: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].Bundler,
144
+ weth: "0x4200000000000000000000000000000000000006",
145
+ uniswapV4Quoter: "0x333e3c607b141b18ff6de9f258db6e77fe7491e0"
146
+ },
147
+ [CHAIN_IDS.UNICHAIN_SEPOLIA]: {
148
+ airlock: "0x651ab94B4777e2e4cdf96082d90C65bd947b73A4",
149
+ tokenFactory: "0xC5E5a19a2ee32831Fcb8a81546979AF43936EbaA",
150
+ v3Initializer: "0x7Fb9a622186B4660A5988C223ebb9d3690dD5007",
151
+ v3Quoter: "0x6Dd37329A1A225a6Fca658265D460423DCafBF89",
152
+ v4Initializer: "0x992375478626E67F4e639d3298EbCAaE51C3dF0b",
153
+ dopplerLens: "0x56dcd40a3f2d466f48e7f48bdbe5cc9b92ae4472",
154
+ dopplerDeployer: "0x2f2bacd46d3f5c9ee052ab392b73711db89129db",
155
+ poolManager: "0x00B036B58a818B1BC34d502D3fE730Db729e62AC",
156
+ v2Migrator: "0x44C448E38A2C3D206c9132E7f645510dFbBC946b",
157
+ v3Migrator: "0x44C448E38A2C3D206c9132E7f645510dFbBC946b",
158
+ v4Migrator: "0x44C448E38A2C3D206c9132E7f645510dFbBC946b",
159
+ // Same as v2/v3 migrator
160
+ noOpMigrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN_SEPOLIA].NoOpMigrator,
161
+ governanceFactory: "0x1E4332EEfAE9e4967C2D186f7b2d439D778e81cC",
162
+ noOpGovernanceFactory: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN_SEPOLIA].NoOpGovernanceFactory,
163
+ streamableFeesLocker: ZERO_ADDRESS,
164
+ // Not yet deployed
165
+ universalRouter: "0xf70536B3bcC1bD1a972dc186A2cf84cC6da6Be5D",
166
+ univ2Router02: "0x284f11109359a7e1306c3e447ef14d38400063ff",
167
+ permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
168
+ bundler: "0x63f8C8F9beFaab2FaCD7Ece0b0242f78B920Ee90",
169
+ weth: "0x4200000000000000000000000000000000000006",
170
+ uniswapV4Quoter: "0x56dcd40a3f2d466f48e7f48bdbe5cc9b92ae4472"
171
+ },
172
+ [CHAIN_IDS.MONAD_TESTNET]: {
173
+ airlock: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].Airlock,
174
+ tokenFactory: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].TokenFactory,
175
+ v3Initializer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].UniswapV3Initializer,
176
+ v3Quoter: ZERO_ADDRESS,
177
+ v4Initializer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].UniswapV4Initializer,
178
+ dopplerLens: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].DopplerLensQuoter,
179
+ dopplerDeployer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].DopplerDeployer,
180
+ poolManager: "0xe93882f395B0b24180855c68Ab19B2d78573ceBc",
181
+ v2Migrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].UniswapV2Migrator,
182
+ v3Migrator: ZERO_ADDRESS,
183
+ v4Migrator: "0xBEd386a1Fc62B6598c9b8d2BF634471B6Fe75EB7",
184
+ // Same as v2/v3 migrator
185
+ noOpMigrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].NoOpMigrator,
186
+ governanceFactory: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].GovernanceFactory,
187
+ noOpGovernanceFactory: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].NoOpGovernanceFactory,
188
+ streamableFeesLocker: "0x91231cDdD8d6C86Df602070a3081478e074b97b7",
189
+ // Not yet deployed
190
+ universalRouter: ZERO_ADDRESS,
191
+ univ2Router02: ZERO_ADDRESS,
192
+ permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
193
+ bundler: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].Bundler,
194
+ weth: ZERO_ADDRESS,
195
+ // TODO: Get Monad Testnet weth
196
+ uniswapV4Quoter: ZERO_ADDRESS
197
+ },
198
+ [CHAIN_IDS.MONAD_MAINNET]: {
199
+ airlock: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].Airlock,
200
+ tokenFactory: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].TokenFactory,
201
+ v3Initializer: ZERO_ADDRESS,
202
+ v3Quoter: "0x66266174564170519409d8853898f065c719536b",
203
+ v4Initializer: ZERO_ADDRESS,
204
+ dopplerLens: ZERO_ADDRESS,
205
+ dopplerDeployer: ZERO_ADDRESS,
206
+ poolManager: "0x188d586ddcf52439676ca21a244753fa19f9ea8e",
207
+ v2Migrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].UniswapV2Migrator,
208
+ v3Migrator: ZERO_ADDRESS,
209
+ v4Migrator: ZERO_ADDRESS,
210
+ // Same as v2/v3 migrator
211
+ noOpMigrator: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].NoOpMigrator,
212
+ governanceFactory: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].GovernanceFactory,
213
+ noOpGovernanceFactory: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].NoOpGovernanceFactory,
214
+ v4ScheduledMulticurveInitializer: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].UniswapV4ScheduledMulticurveInitializer,
215
+ streamableFeesLocker: ZERO_ADDRESS,
216
+ // Not yet deployed
217
+ universalRouter: "0x0d97dc33264bfc1c226207428a79b26757fb9dc3",
218
+ univ2Router02: ZERO_ADDRESS,
219
+ permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
220
+ bundler: chunkCVHPLURA_js.GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].Bundler,
221
+ weth: "0xEE8c0E9f1BFFb4Eb878d8f15f368A02a35481242",
222
+ // TODO: Get Monad Mainnet weth
223
+ uniswapV4Quoter: "0xa222dd357a9076d1091ed6aa2e16c9742dd26891"
224
+ }
225
+ };
226
+ function getAddresses(chainId) {
227
+ const addresses = ADDRESSES[chainId];
228
+ if (!addresses) {
229
+ throw new Error(`Unsupported chain ID: ${chainId}`);
230
+ }
231
+ return addresses;
232
+ }
233
+ var SUPPORTED_CHAIN_IDS = Object.values(CHAIN_IDS);
234
+ function isSupportedChainId(id) {
235
+ return id in ADDRESSES;
236
+ }
237
+
238
+ exports.ADDRESSES = ADDRESSES;
239
+ exports.CHAIN_IDS = CHAIN_IDS;
240
+ exports.SUPPORTED_CHAIN_IDS = SUPPORTED_CHAIN_IDS;
241
+ exports.getAddresses = getAddresses;
242
+ exports.isSupportedChainId = isSupportedChainId;
243
+ //# sourceMappingURL=chunk-YYUOLM6U.js.map
244
+ //# sourceMappingURL=chunk-YYUOLM6U.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/addresses.ts"],"names":["GENERATED_DOPPLER_DEPLOYMENTS"],"mappings":"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","file":"chunk-YYUOLM6U.js","sourcesContent":["import { Address } from 'viem'\nimport { GENERATED_DOPPLER_DEPLOYMENTS } from './deployments.generated'\n\n// Chain IDs\nexport const CHAIN_IDS = {\n MAINNET: 1,\n BASE: 8453,\n BASE_SEPOLIA: 84532,\n INK: 57073,\n UNICHAIN: 130,\n UNICHAIN_SEPOLIA: 1301,\n MONAD_TESTNET: 10143,\n MONAD_MAINNET: 143,\n} as const\n\nexport type SupportedChainId = typeof CHAIN_IDS[keyof typeof CHAIN_IDS]\n\n// Human-friendly chain key type (e.g., 'BASE', 'UNICHAIN')\nexport type SupportedChainKey = keyof typeof CHAIN_IDS\n\n// Contract addresses per chain\nexport interface ChainAddresses {\n // Core contracts\n airlock: Address\n tokenFactory: Address\n\n // Static auction contracts (V3)\n v3Initializer: Address\n v3Quoter: Address\n lockableV3Initializer?: Address\n \n // Dynamic auction contracts (V4)\n v4Initializer: Address\n // Multicurve initializer (V4) — optional per chain\n v4MulticurveInitializer?: Address\n v4ScheduledMulticurveInitializer?: Address\n dopplerLens: Address\n dopplerDeployer: Address\n poolManager: Address\n\n // Doppler404 contracts\n doppler404Factory?: Address\n \n // Migration contracts\n v2Migrator: Address\n v3Migrator: Address\n v4Migrator: Address\n v4MigratorHook?: Address\n noOpMigrator?: Address\n \n // Governance contracts\n governanceFactory: Address\n noOpGovernanceFactory?: Address\n streamableFeesLocker?: Address\n \n // Router contracts\n universalRouter: Address\n univ2Router02?: Address\n permit2: Address\n \n // Other contracts\n bundler?: Address\n \n // Uniswap contracts\n weth: Address\n uniswapV2Factory?: Address\n uniswapV3Factory?: Address\n uniswapV4Quoter: Address\n}\n\n// Not yet deployed placeholder\nconst ZERO_ADDRESS = '0x0000000000000000000000000000000000000000' as Address\n\nexport const ADDRESSES: Record<SupportedChainId, ChainAddresses> = {\n [CHAIN_IDS.MAINNET]: {\n // Mainnet addresses not yet deployed\n airlock: ZERO_ADDRESS,\n tokenFactory: ZERO_ADDRESS,\n v3Initializer: ZERO_ADDRESS,\n v3Quoter: ZERO_ADDRESS,\n v4Initializer: ZERO_ADDRESS,\n dopplerLens: ZERO_ADDRESS,\n dopplerDeployer: ZERO_ADDRESS,\n v2Migrator: ZERO_ADDRESS,\n v3Migrator: ZERO_ADDRESS,\n v4Migrator: ZERO_ADDRESS,\n poolManager: ZERO_ADDRESS,\n governanceFactory: ZERO_ADDRESS,\n universalRouter: ZERO_ADDRESS,\n permit2: '0x000000000022D473030F116dDEE9F6B43aC78BA3' as Address,\n weth: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' as Address,\n uniswapV2Factory: '0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f' as Address,\n uniswapV3Factory: '0x1F98431c8aD98523631AE4a59f267346ea31F984' as Address,\n uniswapV4Quoter: '0x52f0e24d1c21c8a0cb1e5a5dd6198556bd9e1203' as Address,\n },\n [CHAIN_IDS.BASE]: {\n airlock: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].Airlock as Address,\n tokenFactory: '0xFAafdE6a5b658684cC5eb0C5c2c755B00A246F45' as Address,\n v3Initializer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].UniswapV3Initializer as Address,\n v3Quoter: '0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a' as Address,\n lockableV3Initializer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].LockableUniswapV3Initializer as Address,\n v4Initializer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].UniswapV4Initializer as Address,\n v4MulticurveInitializer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].UniswapV4MulticurveInitializer as Address, // From Doppler multicurve deployments (Base mainnet)\n v4ScheduledMulticurveInitializer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].UniswapV4ScheduledMulticurveInitializer as Address, // From Doppler scheduled multicurve deployments (Base mainnet)\n dopplerLens: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].DopplerLensQuoter as Address,\n dopplerDeployer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].DopplerDeployer as Address,\n poolManager: '0x498581ff718922c3f8e6a244956af099b2652b2b' as Address,\n v2Migrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].UniswapV2Migrator as Address,\n v3Migrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].UniswapV2Migrator as Address,\n v4Migrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].UniswapV4Migrator as Address,\n noOpMigrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].NoOpMigrator as Address,\n governanceFactory: '0xb4deE32EB70A5E55f3D2d861F49Fb3D79f7a14d9' as Address,\n noOpGovernanceFactory: '0xe7dfbd5b0a2c3b4464653a9becdc489229ef090e' as Address,\n streamableFeesLocker: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].StreamableFeesLocker as Address,\n universalRouter: '0x6ff5693b99212da76ad316178a184ab56d299b43' as Address,\n univ2Router02: '0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24' as Address,\n permit2: '0x000000000022D473030F116dDEE9F6B43aC78BA3' as Address,\n bundler: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE].Bundler as Address,\n weth: '0x4200000000000000000000000000000000000006' as Address,\n uniswapV4Quoter: '0x0d5e0f971ed27fbff6c2837bf31316121532048d' as Address,\n },\n [CHAIN_IDS.BASE_SEPOLIA]: {\n airlock: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].Airlock as Address,\n tokenFactory: '0xc69ba223c617f7d936b3cf2012aa644815dbe9ff' as Address,\n doppler404Factory: '0xdd8cea2890f1b3498436f19ec8da8fecc2cb7af7' as Address,\n v3Initializer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].UniswapV3Initializer as Address,\n v3Quoter: '0xC5290058841028F1614F3A6F0F5816cAd0df5E27' as Address,\n lockableV3Initializer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].LockableUniswapV3Initializer as Address,\n v4Initializer: '0x8e891d249f1ecbffa6143c03eb1b12843aef09d3' as Address,\n v4MulticurveInitializer: '0x359b5952a254baaa0105381825daedb8986bb55c' as Address, // From doppler multicurve deployments (Base Sepolia)\n v4ScheduledMulticurveInitializer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].UniswapV4ScheduledMulticurveInitializer as Address, // From Doppler scheduled multicurve deployments (Base Sepolia)\n dopplerLens: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].DopplerLensQuoter as Address,\n dopplerDeployer: '0x60a039e4add40ca95e0475c11e8a4182d06c9aa0' as Address,\n poolManager: '0x05E73354cFDd6745C338b50BcFDfA3Aa6fA03408' as Address,\n v2Migrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].UniswapV2Migrator as Address,\n v3Migrator: '0xb2ec6559704467306d04322a5dc082b2af4562dd' as Address,\n v4Migrator: '0xb2ec6559704467306d04322a5dc082b2af4562dd' as Address,\n v4MigratorHook: '0x508812fcdd4972a59b66eb2cad3772279c052000' as Address,\n noOpMigrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].NoOpMigrator as Address,\n governanceFactory: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.BASE_SEPOLIA].GovernanceFactory as Address,\n noOpGovernanceFactory: '0x916b8987e4ad325c10d58ed8dc2036a6ff5eb228' as Address,\n streamableFeesLocker: '0x4da7d7a8034510c0ffd38a9252237ae8dba3cb61' as Address,\n universalRouter: '0x492E6456D9528771018DeB9E87ef7750EF184104' as Address,\n univ2Router02: '0x1689E7B1F10000AE47eBfE339a4f69dECd19F602' as Address,\n permit2: '0x000000000022D473030F116dDEE9F6B43aC78BA3' as Address,\n bundler: '0x69DB7c20cDdA49Bed2bFb21e16Fa218330C50661' as Address,\n weth: '0x4200000000000000000000000000000000000006' as Address,\n uniswapV4Quoter: '0x4A6513c898fe1B2d0E78d3b0e0A4a151589B1cBa' as Address,\n },\n [CHAIN_IDS.INK]: {\n airlock: '0x014E1c0bd34f3B10546E554CB33B3293fECDD056' as Address,\n tokenFactory: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].TokenFactory as Address,\n v3Initializer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].UniswapV3Initializer as Address,\n v3Quoter: '0x96b572D2d880cf2Fa2563651BD23ADE6f5516652' as Address,\n v4Initializer: '0xC99b485499f78995C6F1640dbB1413c57f8BA684' as Address,\n dopplerLens: '0x3972c00f7ed4885e145823eb7c655375d275a1c5' as Address,\n dopplerDeployer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].DopplerDeployer as Address,\n poolManager: '0x360e68faccca8ca495c1b759fd9eee466db9fb32' as Address,\n v2Migrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].UniswapV2Migrator as Address,\n v3Migrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].UniswapV2Migrator as Address,\n v4Migrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].UniswapV2Migrator as Address, // Same as v2/v3 migrator\n governanceFactory: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].GovernanceFactory as Address,\n noOpGovernanceFactory: ZERO_ADDRESS, // Not yet deployed\n streamableFeesLocker: ZERO_ADDRESS, // Not yet deployed\n universalRouter: '0x112908dac86e20e7241b0927479ea3bf935d1fa0' as Address,\n univ2Router02: '0xB3FB126ACDd5AdCA2f50Ac644a7a2303745f18b4' as Address,\n permit2: '0x000000000022D473030F116dDEE9F6B43aC78BA3' as Address,\n bundler: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.INK].Bundler as Address,\n weth: '0x4200000000000000000000000000000000000006' as Address,\n uniswapV4Quoter: '0x3972c00f7ed4885e145823eb7c655375d275a1c5' as Address,\n },\n [CHAIN_IDS.UNICHAIN]: {\n airlock: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].Airlock as Address,\n tokenFactory: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].TokenFactory as Address,\n v3Initializer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].UniswapV3Initializer as Address,\n v3Quoter: '0x385A5cf5F83e99f7BB2852b6A19C3538b9FA7658' as Address,\n v4Initializer: '0x2F2BAcd46d3F5c9EE052Ab392b73711dB89129DB' as Address,\n dopplerLens: '0x333e3c607b141b18ff6de9f258db6e77fe7491e0' as Address,\n dopplerDeployer: '0x06FEFD02F0b6d9f57F52cfacFc113665Dfa20F0f' as Address,\n poolManager: '0x1f98400000000000000000000000000000000004' as Address,\n v2Migrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].UniswapV2Migrator as Address,\n v3Migrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].UniswapV2Migrator as Address,\n v4Migrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].UniswapV2Migrator as Address, // Same as v2/v3 migrator\n noOpMigrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].NoOpMigrator as Address,\n governanceFactory: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].GovernanceFactory as Address,\n noOpGovernanceFactory: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].NoOpGovernanceFactory as Address,\n streamableFeesLocker: ZERO_ADDRESS, // Not yet deployed\n universalRouter: '0xef740bf23acae26f6492b10de645d6b98dc8eaf3' as Address,\n univ2Router02: '0x284f11109359a7e1306c3e447ef14d38400063ff' as Address,\n permit2: '0x000000000022D473030F116dDEE9F6B43aC78BA3' as Address,\n bundler: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN].Bundler as Address,\n weth: '0x4200000000000000000000000000000000000006' as Address,\n uniswapV4Quoter: '0x333e3c607b141b18ff6de9f258db6e77fe7491e0' as Address,\n },\n [CHAIN_IDS.UNICHAIN_SEPOLIA]: {\n airlock: '0x651ab94B4777e2e4cdf96082d90C65bd947b73A4' as Address,\n tokenFactory: '0xC5E5a19a2ee32831Fcb8a81546979AF43936EbaA' as Address,\n v3Initializer: '0x7Fb9a622186B4660A5988C223ebb9d3690dD5007' as Address,\n v3Quoter: '0x6Dd37329A1A225a6Fca658265D460423DCafBF89' as Address,\n v4Initializer: '0x992375478626E67F4e639d3298EbCAaE51C3dF0b' as Address,\n dopplerLens: '0x56dcd40a3f2d466f48e7f48bdbe5cc9b92ae4472' as Address,\n dopplerDeployer: '0x2f2bacd46d3f5c9ee052ab392b73711db89129db' as Address,\n poolManager: '0x00B036B58a818B1BC34d502D3fE730Db729e62AC' as Address,\n v2Migrator: '0x44C448E38A2C3D206c9132E7f645510dFbBC946b' as Address,\n v3Migrator: '0x44C448E38A2C3D206c9132E7f645510dFbBC946b' as Address,\n v4Migrator: '0x44C448E38A2C3D206c9132E7f645510dFbBC946b' as Address, // Same as v2/v3 migrator\n noOpMigrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN_SEPOLIA].NoOpMigrator as Address,\n governanceFactory: '0x1E4332EEfAE9e4967C2D186f7b2d439D778e81cC' as Address,\n noOpGovernanceFactory: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.UNICHAIN_SEPOLIA].NoOpGovernanceFactory as Address,\n streamableFeesLocker: ZERO_ADDRESS, // Not yet deployed\n universalRouter: '0xf70536B3bcC1bD1a972dc186A2cf84cC6da6Be5D' as Address,\n univ2Router02: '0x284f11109359a7e1306c3e447ef14d38400063ff' as Address,\n permit2: '0x000000000022D473030F116dDEE9F6B43aC78BA3' as Address,\n bundler: '0x63f8C8F9beFaab2FaCD7Ece0b0242f78B920Ee90' as Address,\n weth: '0x4200000000000000000000000000000000000006' as Address,\n uniswapV4Quoter: '0x56dcd40a3f2d466f48e7f48bdbe5cc9b92ae4472' as Address,\n },\n [CHAIN_IDS.MONAD_TESTNET]: {\n airlock: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].Airlock as Address,\n tokenFactory: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].TokenFactory as Address,\n v3Initializer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].UniswapV3Initializer as Address,\n v3Quoter: ZERO_ADDRESS,\n v4Initializer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].UniswapV4Initializer as Address,\n dopplerLens: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].DopplerLensQuoter as Address,\n dopplerDeployer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].DopplerDeployer as Address,\n poolManager: '0xe93882f395B0b24180855c68Ab19B2d78573ceBc' as Address,\n v2Migrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].UniswapV2Migrator as Address,\n v3Migrator: ZERO_ADDRESS,\n v4Migrator: '0xBEd386a1Fc62B6598c9b8d2BF634471B6Fe75EB7' as Address, // Same as v2/v3 migrator\n noOpMigrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].NoOpMigrator as Address,\n governanceFactory: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].GovernanceFactory as Address,\n noOpGovernanceFactory: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].NoOpGovernanceFactory as Address,\n streamableFeesLocker: '0x91231cDdD8d6C86Df602070a3081478e074b97b7' as Address, // Not yet deployed\n universalRouter: ZERO_ADDRESS,\n univ2Router02: ZERO_ADDRESS,\n permit2: '0x000000000022D473030F116dDEE9F6B43aC78BA3' as Address,\n bundler: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_TESTNET].Bundler as Address,\n weth: ZERO_ADDRESS, // TODO: Get Monad Testnet weth\n uniswapV4Quoter: ZERO_ADDRESS,\n },\n [CHAIN_IDS.MONAD_MAINNET]: {\n airlock: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].Airlock as Address,\n tokenFactory: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].TokenFactory as Address,\n v3Initializer: ZERO_ADDRESS,\n v3Quoter: \"0x66266174564170519409d8853898f065c719536b\" as Address,\n v4Initializer: ZERO_ADDRESS,\n dopplerLens: ZERO_ADDRESS,\n dopplerDeployer: ZERO_ADDRESS,\n poolManager: '0x188d586ddcf52439676ca21a244753fa19f9ea8e' as Address,\n v2Migrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].UniswapV2Migrator as Address,\n v3Migrator: ZERO_ADDRESS,\n v4Migrator: ZERO_ADDRESS, // Same as v2/v3 migrator\n noOpMigrator: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].NoOpMigrator as Address,\n governanceFactory: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].GovernanceFactory as Address,\n noOpGovernanceFactory: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].NoOpGovernanceFactory as Address,\n v4ScheduledMulticurveInitializer: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].UniswapV4ScheduledMulticurveInitializer as Address,\n streamableFeesLocker: ZERO_ADDRESS, // Not yet deployed\n universalRouter: \"0x0d97dc33264bfc1c226207428a79b26757fb9dc3\" as Address,\n univ2Router02: ZERO_ADDRESS,\n permit2: '0x000000000022D473030F116dDEE9F6B43aC78BA3' as Address,\n bundler: GENERATED_DOPPLER_DEPLOYMENTS[CHAIN_IDS.MONAD_MAINNET].Bundler as Address,\n weth: \"0xEE8c0E9f1BFFb4Eb878d8f15f368A02a35481242\" as Address, // TODO: Get Monad Mainnet weth\n uniswapV4Quoter: \"0xa222dd357a9076d1091ed6aa2e16c9742dd26891\" as Address,\n }\n}\n/**\n * Get addresses for a specific chain\n */\nexport function getAddresses(chainId: number): ChainAddresses {\n const addresses = ADDRESSES[chainId as SupportedChainId]\n if (!addresses) {\n throw new Error(`Unsupported chain ID: ${chainId}`)\n }\n return addresses\n}\n\n/**\n * List of supported chain IDs for easy iteration/validation\n */\nexport const SUPPORTED_CHAIN_IDS = Object.values(CHAIN_IDS) as SupportedChainId[]\n\n/**\n * Runtime/type guard for narrowing a number to SupportedChainId\n */\nexport function isSupportedChainId(id: number): id is SupportedChainId {\n // Numeric object keys are coerced to strings at runtime; `in` is fine here\n return id in ADDRESSES\n}\n"]}
@@ -0,0 +1,26 @@
1
+ import { encodeAbiParameters, keccak256 } from 'viem';
2
+
3
+ // src/utils/poolKey.ts
4
+ function computePoolId(poolKey) {
5
+ const encoded = encodeAbiParameters(
6
+ [
7
+ { name: "currency0", type: "address" },
8
+ { name: "currency1", type: "address" },
9
+ { name: "fee", type: "uint24" },
10
+ { name: "tickSpacing", type: "int24" },
11
+ { name: "hooks", type: "address" }
12
+ ],
13
+ [
14
+ poolKey.currency0,
15
+ poolKey.currency1,
16
+ poolKey.fee,
17
+ poolKey.tickSpacing,
18
+ poolKey.hooks
19
+ ]
20
+ );
21
+ return keccak256(encoded);
22
+ }
23
+
24
+ export { computePoolId };
25
+ //# sourceMappingURL=chunk-ZH44DHVR.mjs.map
26
+ //# sourceMappingURL=chunk-ZH44DHVR.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/poolKey.ts"],"names":[],"mappings":";;;AAYO,SAAS,cAAc,OAAA,EAAyB;AAGrD,EAAA,MAAM,OAAA,GAAU,mBAAA;AAAA,IACd;AAAA,MACE,EAAE,IAAA,EAAM,WAAA,EAAa,IAAA,EAAM,SAAA,EAAU;AAAA,MACrC,EAAE,IAAA,EAAM,WAAA,EAAa,IAAA,EAAM,SAAA,EAAU;AAAA,MACrC,EAAE,IAAA,EAAM,KAAA,EAAO,IAAA,EAAM,QAAA,EAAS;AAAA,MAC9B,EAAE,IAAA,EAAM,aAAA,EAAe,IAAA,EAAM,OAAA,EAAQ;AAAA,MACrC,EAAE,IAAA,EAAM,OAAA,EAAS,IAAA,EAAM,SAAA;AAAU,KACnC;AAAA,IACA;AAAA,MACE,OAAA,CAAQ,SAAA;AAAA,MACR,OAAA,CAAQ,SAAA;AAAA,MACR,OAAA,CAAQ,GAAA;AAAA,MACR,OAAA,CAAQ,WAAA;AAAA,MACR,OAAA,CAAQ;AAAA;AACV,GACF;AAGA,EAAA,OAAO,UAAU,OAAO,CAAA;AAC1B","file":"chunk-ZH44DHVR.mjs","sourcesContent":["import { encodeAbiParameters, keccak256, type Address, type Hex } from 'viem'\nimport type { V4PoolKey } from '../types'\n\n/**\n * Computes the PoolId (bytes32) from a V4 PoolKey\n *\n * In Uniswap V4, a PoolId is computed as keccak256(abi.encode(poolKey))\n * where poolKey contains: currency0, currency1, fee, tickSpacing, hooks\n *\n * @param poolKey - The V4 pool key containing currency0, currency1, fee, tickSpacing, and hooks\n * @returns The computed PoolId as a bytes32 hex string\n */\nexport function computePoolId(poolKey: V4PoolKey): Hex {\n // Encode the poolKey struct following Solidity's abi.encode rules\n // PoolKey struct has 5 fields, each taking 32 bytes (0xa0 = 160 bytes total)\n const encoded = encodeAbiParameters(\n [\n { name: 'currency0', type: 'address' },\n { name: 'currency1', type: 'address' },\n { name: 'fee', type: 'uint24' },\n { name: 'tickSpacing', type: 'int24' },\n { name: 'hooks', type: 'address' },\n ],\n [\n poolKey.currency0,\n poolKey.currency1,\n poolKey.fee,\n poolKey.tickSpacing,\n poolKey.hooks,\n ]\n )\n\n // Return keccak256 hash of the encoded poolKey\n return keccak256(encoded)\n}\n"]}
@@ -0,0 +1,112 @@
1
+ 'use strict';
2
+
3
+ var chunkP7KLEPVI_js = require('./chunk-P7KLEPVI.js');
4
+ var chunkPH2KXREH_js = require('./chunk-PH2KXREH.js');
5
+
6
+ // src/builders/shared.ts
7
+ function computeTicks(priceRange, tickSpacing) {
8
+ const startTick = Math.floor(Math.log(priceRange.startPrice) / Math.log(1.0001) / tickSpacing) * tickSpacing;
9
+ const endTick = Math.ceil(Math.log(priceRange.endPrice) / Math.log(1.0001) / tickSpacing) * tickSpacing;
10
+ return { startTick, endTick };
11
+ }
12
+ var MARKET_CAP_PRESET_ORDER = ["low", "medium", "high"];
13
+ var MARKET_CAP_PRESETS = {
14
+ low: {
15
+ tickLower: chunkPH2KXREH_js.DEFAULT_MULTICURVE_LOWER_TICKS[0],
16
+ tickUpper: chunkPH2KXREH_js.DEFAULT_MULTICURVE_UPPER_TICKS[0],
17
+ numPositions: chunkPH2KXREH_js.DEFAULT_MULTICURVE_NUM_POSITIONS[0],
18
+ shares: chunkPH2KXREH_js.DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES[0]
19
+ },
20
+ medium: {
21
+ tickLower: chunkPH2KXREH_js.DEFAULT_MULTICURVE_LOWER_TICKS[1],
22
+ tickUpper: chunkPH2KXREH_js.DEFAULT_MULTICURVE_UPPER_TICKS[1],
23
+ numPositions: chunkPH2KXREH_js.DEFAULT_MULTICURVE_NUM_POSITIONS[1],
24
+ shares: chunkPH2KXREH_js.DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES[1]
25
+ },
26
+ high: {
27
+ tickLower: chunkPH2KXREH_js.DEFAULT_MULTICURVE_LOWER_TICKS[2],
28
+ tickUpper: chunkPH2KXREH_js.DEFAULT_MULTICURVE_UPPER_TICKS[2],
29
+ numPositions: chunkPH2KXREH_js.DEFAULT_MULTICURVE_NUM_POSITIONS[2],
30
+ shares: chunkPH2KXREH_js.DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES[2]
31
+ }
32
+ };
33
+ function buildCurvesFromPresets(params) {
34
+ const fee = params?.fee ?? chunkPH2KXREH_js.FEE_TIERS.LOW;
35
+ const tickSpacing = params?.tickSpacing ?? chunkPH2KXREH_js.TICK_SPACINGS[fee];
36
+ if (tickSpacing === void 0) {
37
+ throw new Error("tickSpacing must be provided when using a custom fee tier");
38
+ }
39
+ const requestedPresets = params?.presets ?? [...MARKET_CAP_PRESET_ORDER];
40
+ const uniquePresets = [];
41
+ for (const preset of requestedPresets) {
42
+ if (!(preset in MARKET_CAP_PRESETS)) {
43
+ throw new Error(`Unsupported market cap preset: ${preset}`);
44
+ }
45
+ if (!uniquePresets.includes(preset)) {
46
+ uniquePresets.push(preset);
47
+ }
48
+ }
49
+ if (uniquePresets.length === 0) {
50
+ throw new Error("At least one market cap preset must be provided");
51
+ }
52
+ const presetCurves = uniquePresets.map((preset) => {
53
+ const base = MARKET_CAP_PRESETS[preset];
54
+ const override = params?.overrides?.[preset];
55
+ return {
56
+ tickLower: override?.tickLower ?? base.tickLower,
57
+ tickUpper: override?.tickUpper ?? base.tickUpper,
58
+ numPositions: override?.numPositions ?? base.numPositions,
59
+ shares: override?.shares ?? base.shares
60
+ };
61
+ });
62
+ let totalShares = presetCurves.reduce((acc, curve) => {
63
+ if (curve.shares <= 0n) {
64
+ throw new Error("Preset shares must be greater than zero");
65
+ }
66
+ return acc + curve.shares;
67
+ }, 0n);
68
+ if (totalShares > chunkPH2KXREH_js.WAD) {
69
+ throw new Error("Total preset shares cannot exceed 100% (1e18)");
70
+ }
71
+ const curves = [...presetCurves];
72
+ if (totalShares < chunkPH2KXREH_js.WAD) {
73
+ const remainder = chunkPH2KXREH_js.WAD - totalShares;
74
+ const lastCurve = curves[curves.length - 1];
75
+ let fillerTickLower = lastCurve?.tickUpper ?? 0;
76
+ let fillerNumPositions = lastCurve?.numPositions ?? 1;
77
+ if (fillerNumPositions <= 0) {
78
+ fillerNumPositions = 1;
79
+ }
80
+ const minTickAllowed = Math.ceil(chunkP7KLEPVI_js.MIN_TICK / tickSpacing) * tickSpacing;
81
+ const rawMaxTick = Math.floor(chunkP7KLEPVI_js.MAX_TICK / tickSpacing) * tickSpacing;
82
+ const maxTickAllowed = rawMaxTick - tickSpacing;
83
+ fillerTickLower = Math.max(fillerTickLower, minTickAllowed);
84
+ let fillerTickUpper = fillerTickLower + fillerNumPositions * tickSpacing;
85
+ if (fillerTickUpper > maxTickAllowed) {
86
+ fillerTickUpper = maxTickAllowed;
87
+ fillerTickLower = Math.min(fillerTickLower, maxTickAllowed - tickSpacing);
88
+ }
89
+ if (fillerTickUpper <= fillerTickLower) {
90
+ fillerTickLower = Math.max(minTickAllowed, maxTickAllowed - tickSpacing);
91
+ fillerTickUpper = fillerTickLower + tickSpacing;
92
+ }
93
+ curves.push({
94
+ tickLower: fillerTickLower,
95
+ tickUpper: fillerTickUpper,
96
+ numPositions: fillerNumPositions,
97
+ shares: remainder
98
+ });
99
+ totalShares = chunkPH2KXREH_js.WAD;
100
+ }
101
+ if (totalShares !== chunkPH2KXREH_js.WAD) {
102
+ throw new Error("Failed to normalize preset shares to 100%");
103
+ }
104
+ return { fee, tickSpacing, curves };
105
+ }
106
+
107
+ exports.MARKET_CAP_PRESETS = MARKET_CAP_PRESETS;
108
+ exports.MARKET_CAP_PRESET_ORDER = MARKET_CAP_PRESET_ORDER;
109
+ exports.buildCurvesFromPresets = buildCurvesFromPresets;
110
+ exports.computeTicks = computeTicks;
111
+ //# sourceMappingURL=chunk-ZPHOOG72.js.map
112
+ //# sourceMappingURL=chunk-ZPHOOG72.js.map