@whetstone-research/doppler-sdk 0.0.24 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/README.md +69 -0
  2. package/dist/chunk-3LTCKCJC.js +319 -0
  3. package/dist/chunk-3LTCKCJC.js.map +1 -0
  4. package/dist/chunk-PZ5AY32C.js +9 -0
  5. package/dist/{chunk-4XN6DQBW.js.map → chunk-PZ5AY32C.js.map} +1 -1
  6. package/dist/chunk-RO6R66OM.js +974 -0
  7. package/dist/chunk-RO6R66OM.js.map +1 -0
  8. package/dist/evm/index.d.ts +8533 -0
  9. package/dist/evm/index.js +15055 -0
  10. package/dist/evm/index.js.map +1 -0
  11. package/dist/oracle-BSvZ6pxp.d.ts +820 -0
  12. package/dist/pda-RVIHNLRP.js +4 -0
  13. package/dist/pda-RVIHNLRP.js.map +1 -0
  14. package/dist/solana/index.d.ts +2495 -0
  15. package/dist/solana/index.js +2209 -0
  16. package/dist/solana/index.js.map +1 -0
  17. package/dist/solana/react/index.d.ts +1046 -0
  18. package/dist/solana/react/index.js +1436 -0
  19. package/dist/solana/react/index.js.map +1 -0
  20. package/package.json +36 -20
  21. package/dist/DopplerSDK.d.mts +0 -106
  22. package/dist/DopplerSDK.d.ts +0 -106
  23. package/dist/DopplerSDK.js +0 -53
  24. package/dist/DopplerSDK.js.map +0 -1
  25. package/dist/DopplerSDK.mjs +0 -44
  26. package/dist/DopplerSDK.mjs.map +0 -1
  27. package/dist/abis/bytecodes/derc20.d.mts +0 -3
  28. package/dist/abis/bytecodes/derc20.d.ts +0 -3
  29. package/dist/abis/bytecodes/derc20.js +0 -9
  30. package/dist/abis/bytecodes/derc20.js.map +0 -1
  31. package/dist/abis/bytecodes/derc20.mjs +0 -3
  32. package/dist/abis/bytecodes/derc20.mjs.map +0 -1
  33. package/dist/abis/bytecodes/derc2080.d.mts +0 -3
  34. package/dist/abis/bytecodes/derc2080.d.ts +0 -3
  35. package/dist/abis/bytecodes/derc2080.js +0 -9
  36. package/dist/abis/bytecodes/derc2080.js.map +0 -1
  37. package/dist/abis/bytecodes/derc2080.mjs +0 -3
  38. package/dist/abis/bytecodes/derc2080.mjs.map +0 -1
  39. package/dist/abis/bytecodes/doppler.d.mts +0 -3
  40. package/dist/abis/bytecodes/doppler.d.ts +0 -3
  41. package/dist/abis/bytecodes/doppler.js +0 -9
  42. package/dist/abis/bytecodes/doppler.js.map +0 -1
  43. package/dist/abis/bytecodes/doppler.mjs +0 -3
  44. package/dist/abis/bytecodes/doppler.mjs.map +0 -1
  45. package/dist/abis/bytecodes/dopplerDN404.d.mts +0 -3
  46. package/dist/abis/bytecodes/dopplerDN404.d.ts +0 -3
  47. package/dist/abis/bytecodes/dopplerDN404.js +0 -9
  48. package/dist/abis/bytecodes/dopplerDN404.js.map +0 -1
  49. package/dist/abis/bytecodes/dopplerDN404.mjs +0 -3
  50. package/dist/abis/bytecodes/dopplerDN404.mjs.map +0 -1
  51. package/dist/abis/bytecodes/stateView.d.mts +0 -3
  52. package/dist/abis/bytecodes/stateView.d.ts +0 -3
  53. package/dist/abis/bytecodes/stateView.js +0 -9
  54. package/dist/abis/bytecodes/stateView.js.map +0 -1
  55. package/dist/abis/bytecodes/stateView.mjs +0 -3
  56. package/dist/abis/bytecodes/stateView.mjs.map +0 -1
  57. package/dist/abis/bytecodes.d.mts +0 -5
  58. package/dist/abis/bytecodes.d.ts +0 -5
  59. package/dist/abis/bytecodes.js +0 -33
  60. package/dist/abis/bytecodes.js.map +0 -1
  61. package/dist/abis/bytecodes.mjs +0 -8
  62. package/dist/abis/bytecodes.mjs.map +0 -1
  63. package/dist/abis/index.d.mts +0 -3871
  64. package/dist/abis/index.d.ts +0 -3871
  65. package/dist/abis/index.js +0 -130
  66. package/dist/abis/index.js.map +0 -1
  67. package/dist/abis/index.mjs +0 -9
  68. package/dist/abis/index.mjs.map +0 -1
  69. package/dist/addresses.d.mts +0 -69
  70. package/dist/addresses.d.ts +0 -69
  71. package/dist/addresses.js +0 -29
  72. package/dist/addresses.js.map +0 -1
  73. package/dist/addresses.mjs +0 -4
  74. package/dist/addresses.mjs.map +0 -1
  75. package/dist/builders/DynamicAuctionBuilder.d.mts +0 -138
  76. package/dist/builders/DynamicAuctionBuilder.d.ts +0 -138
  77. package/dist/builders/DynamicAuctionBuilder.js +0 -35
  78. package/dist/builders/DynamicAuctionBuilder.js.map +0 -1
  79. package/dist/builders/DynamicAuctionBuilder.mjs +0 -26
  80. package/dist/builders/DynamicAuctionBuilder.mjs.map +0 -1
  81. package/dist/builders/MulticurveBuilder.d.mts +0 -196
  82. package/dist/builders/MulticurveBuilder.d.ts +0 -196
  83. package/dist/builders/MulticurveBuilder.js +0 -35
  84. package/dist/builders/MulticurveBuilder.js.map +0 -1
  85. package/dist/builders/MulticurveBuilder.mjs +0 -26
  86. package/dist/builders/MulticurveBuilder.mjs.map +0 -1
  87. package/dist/builders/StaticAuctionBuilder.d.mts +0 -131
  88. package/dist/builders/StaticAuctionBuilder.d.ts +0 -131
  89. package/dist/builders/StaticAuctionBuilder.js +0 -35
  90. package/dist/builders/StaticAuctionBuilder.js.map +0 -1
  91. package/dist/builders/StaticAuctionBuilder.mjs +0 -26
  92. package/dist/builders/StaticAuctionBuilder.mjs.map +0 -1
  93. package/dist/builders/index.d.mts +0 -8
  94. package/dist/builders/index.d.ts +0 -8
  95. package/dist/builders/index.js +0 -62
  96. package/dist/builders/index.js.map +0 -1
  97. package/dist/builders/index.mjs +0 -29
  98. package/dist/builders/index.mjs.map +0 -1
  99. package/dist/builders/shared.d.mts +0 -115
  100. package/dist/builders/shared.d.ts +0 -115
  101. package/dist/builders/shared.js +0 -46
  102. package/dist/builders/shared.js.map +0 -1
  103. package/dist/builders/shared.mjs +0 -25
  104. package/dist/builders/shared.mjs.map +0 -1
  105. package/dist/chunk-25GEBO3B.mjs +0 -219
  106. package/dist/chunk-25GEBO3B.mjs.map +0 -1
  107. package/dist/chunk-2A3B3NVB.js +0 -737
  108. package/dist/chunk-2A3B3NVB.js.map +0 -1
  109. package/dist/chunk-3NMGCQJ4.mjs +0 -6
  110. package/dist/chunk-3NMGCQJ4.mjs.map +0 -1
  111. package/dist/chunk-44CYUEPG.js +0 -377
  112. package/dist/chunk-44CYUEPG.js.map +0 -1
  113. package/dist/chunk-4VWQNNNW.js +0 -233
  114. package/dist/chunk-4VWQNNNW.js.map +0 -1
  115. package/dist/chunk-4XN6DQBW.js +0 -4
  116. package/dist/chunk-5GQJRNFL.mjs +0 -40
  117. package/dist/chunk-5GQJRNFL.mjs.map +0 -1
  118. package/dist/chunk-5JHXBDZD.js +0 -265
  119. package/dist/chunk-5JHXBDZD.js.map +0 -1
  120. package/dist/chunk-5TQOT6CW.js +0 -8
  121. package/dist/chunk-5TQOT6CW.js.map +0 -1
  122. package/dist/chunk-65CESA3J.js +0 -46
  123. package/dist/chunk-65CESA3J.js.map +0 -1
  124. package/dist/chunk-6BQY5EPB.js +0 -144
  125. package/dist/chunk-6BQY5EPB.js.map +0 -1
  126. package/dist/chunk-6H6X3VTZ.js +0 -18
  127. package/dist/chunk-6H6X3VTZ.js.map +0 -1
  128. package/dist/chunk-7A4DBBXA.js +0 -311
  129. package/dist/chunk-7A4DBBXA.js.map +0 -1
  130. package/dist/chunk-7M57PU6V.js +0 -28
  131. package/dist/chunk-7M57PU6V.js.map +0 -1
  132. package/dist/chunk-7ZUV6WPX.mjs +0 -3
  133. package/dist/chunk-7ZUV6WPX.mjs.map +0 -1
  134. package/dist/chunk-A2CJYRRQ.js +0 -330
  135. package/dist/chunk-A2CJYRRQ.js.map +0 -1
  136. package/dist/chunk-ABT6AT7C.mjs +0 -16
  137. package/dist/chunk-ABT6AT7C.mjs.map +0 -1
  138. package/dist/chunk-BK3S6SVR.js +0 -2707
  139. package/dist/chunk-BK3S6SVR.js.map +0 -1
  140. package/dist/chunk-BQZTELUX.js +0 -45
  141. package/dist/chunk-BQZTELUX.js.map +0 -1
  142. package/dist/chunk-CFAAYL5M.mjs +0 -26
  143. package/dist/chunk-CFAAYL5M.mjs.map +0 -1
  144. package/dist/chunk-CFXXUZJY.js +0 -275
  145. package/dist/chunk-CFXXUZJY.js.map +0 -1
  146. package/dist/chunk-CWTGQAOG.mjs +0 -72
  147. package/dist/chunk-CWTGQAOG.mjs.map +0 -1
  148. package/dist/chunk-DCWF3EMP.js +0 -171
  149. package/dist/chunk-DCWF3EMP.js.map +0 -1
  150. package/dist/chunk-DOUF6NON.mjs +0 -3
  151. package/dist/chunk-DOUF6NON.mjs.map +0 -1
  152. package/dist/chunk-DQJXCZU2.mjs +0 -318
  153. package/dist/chunk-DQJXCZU2.mjs.map +0 -1
  154. package/dist/chunk-DSYPZETD.js +0 -4
  155. package/dist/chunk-DSYPZETD.js.map +0 -1
  156. package/dist/chunk-F2BYG63D.mjs +0 -145
  157. package/dist/chunk-F2BYG63D.mjs.map +0 -1
  158. package/dist/chunk-FNUBKONK.js +0 -291
  159. package/dist/chunk-FNUBKONK.js.map +0 -1
  160. package/dist/chunk-FOESYJP3.mjs +0 -3
  161. package/dist/chunk-FOESYJP3.mjs.map +0 -1
  162. package/dist/chunk-FXTGIKQG.mjs +0 -3
  163. package/dist/chunk-FXTGIKQG.mjs.map +0 -1
  164. package/dist/chunk-GSBQIVME.mjs +0 -278
  165. package/dist/chunk-GSBQIVME.mjs.map +0 -1
  166. package/dist/chunk-H3B54PFV.mjs +0 -17
  167. package/dist/chunk-H3B54PFV.mjs.map +0 -1
  168. package/dist/chunk-HJFVRV47.js +0 -120
  169. package/dist/chunk-HJFVRV47.js.map +0 -1
  170. package/dist/chunk-IIM2CSDQ.js +0 -147
  171. package/dist/chunk-IIM2CSDQ.js.map +0 -1
  172. package/dist/chunk-IUTIHSLH.mjs +0 -295
  173. package/dist/chunk-IUTIHSLH.mjs.map +0 -1
  174. package/dist/chunk-IUZ3BBQP.mjs +0 -117
  175. package/dist/chunk-IUZ3BBQP.mjs.map +0 -1
  176. package/dist/chunk-IWJOPXYN.mjs +0 -96
  177. package/dist/chunk-IWJOPXYN.mjs.map +0 -1
  178. package/dist/chunk-IX4V4UGW.mjs +0 -141
  179. package/dist/chunk-IX4V4UGW.mjs.map +0 -1
  180. package/dist/chunk-J62YDWIK.js +0 -8
  181. package/dist/chunk-J62YDWIK.js.map +0 -1
  182. package/dist/chunk-JIKAD4YL.js +0 -4
  183. package/dist/chunk-JIKAD4YL.js.map +0 -1
  184. package/dist/chunk-JLUOFAE4.mjs +0 -2531
  185. package/dist/chunk-JLUOFAE4.mjs.map +0 -1
  186. package/dist/chunk-KAZQJ24E.mjs +0 -59
  187. package/dist/chunk-KAZQJ24E.mjs.map +0 -1
  188. package/dist/chunk-KHUE77HC.js +0 -81
  189. package/dist/chunk-KHUE77HC.js.map +0 -1
  190. package/dist/chunk-KOAC3BBP.mjs +0 -11
  191. package/dist/chunk-KOAC3BBP.mjs.map +0 -1
  192. package/dist/chunk-LW3CYA27.mjs +0 -2705
  193. package/dist/chunk-LW3CYA27.mjs.map +0 -1
  194. package/dist/chunk-MEA2C5YX.js +0 -143
  195. package/dist/chunk-MEA2C5YX.js.map +0 -1
  196. package/dist/chunk-MU56HCUI.js +0 -2556
  197. package/dist/chunk-MU56HCUI.js.map +0 -1
  198. package/dist/chunk-OCIY7QEJ.mjs +0 -169
  199. package/dist/chunk-OCIY7QEJ.mjs.map +0 -1
  200. package/dist/chunk-OHA5KJ2M.mjs +0 -6
  201. package/dist/chunk-OHA5KJ2M.mjs.map +0 -1
  202. package/dist/chunk-P25HBGP5.mjs +0 -3
  203. package/dist/chunk-P25HBGP5.mjs.map +0 -1
  204. package/dist/chunk-P563HTVU.js +0 -164
  205. package/dist/chunk-P563HTVU.js.map +0 -1
  206. package/dist/chunk-P7CHGWY7.js +0 -4
  207. package/dist/chunk-P7CHGWY7.js.map +0 -1
  208. package/dist/chunk-PGYTMRP3.js +0 -277
  209. package/dist/chunk-PGYTMRP3.js.map +0 -1
  210. package/dist/chunk-QAPQGDWK.js +0 -8
  211. package/dist/chunk-QAPQGDWK.js.map +0 -1
  212. package/dist/chunk-QHBKRUBY.mjs +0 -328
  213. package/dist/chunk-QHBKRUBY.mjs.map +0 -1
  214. package/dist/chunk-QOYI7WCH.js +0 -120
  215. package/dist/chunk-QOYI7WCH.js.map +0 -1
  216. package/dist/chunk-QRTABC4Z.js +0 -8
  217. package/dist/chunk-QRTABC4Z.js.map +0 -1
  218. package/dist/chunk-QSQGLWNY.mjs +0 -3
  219. package/dist/chunk-QSQGLWNY.mjs.map +0 -1
  220. package/dist/chunk-QUBD6HUZ.mjs +0 -735
  221. package/dist/chunk-QUBD6HUZ.mjs.map +0 -1
  222. package/dist/chunk-RDTIXP6S.mjs +0 -263
  223. package/dist/chunk-RDTIXP6S.mjs.map +0 -1
  224. package/dist/chunk-RLOZWHRR.js +0 -320
  225. package/dist/chunk-RLOZWHRR.js.map +0 -1
  226. package/dist/chunk-RV64M4Q6.mjs +0 -3
  227. package/dist/chunk-RV64M4Q6.mjs.map +0 -1
  228. package/dist/chunk-SWWLOD7Q.mjs +0 -6
  229. package/dist/chunk-SWWLOD7Q.mjs.map +0 -1
  230. package/dist/chunk-T3UA4MJL.js +0 -4
  231. package/dist/chunk-T3UA4MJL.js.map +0 -1
  232. package/dist/chunk-TEWAXP5C.mjs +0 -162
  233. package/dist/chunk-TEWAXP5C.mjs.map +0 -1
  234. package/dist/chunk-THEIRDGE.mjs +0 -273
  235. package/dist/chunk-THEIRDGE.mjs.map +0 -1
  236. package/dist/chunk-U3GOWK6J.mjs +0 -6
  237. package/dist/chunk-U3GOWK6J.mjs.map +0 -1
  238. package/dist/chunk-UPVKABAV.js +0 -19
  239. package/dist/chunk-UPVKABAV.js.map +0 -1
  240. package/dist/chunk-VEIVYUYF.js +0 -4
  241. package/dist/chunk-VEIVYUYF.js.map +0 -1
  242. package/dist/chunk-VKSD3KXF.mjs +0 -275
  243. package/dist/chunk-VKSD3KXF.mjs.map +0 -1
  244. package/dist/chunk-VYSOAGRU.mjs +0 -6
  245. package/dist/chunk-VYSOAGRU.mjs.map +0 -1
  246. package/dist/chunk-WDC53TM7.mjs +0 -305
  247. package/dist/chunk-WDC53TM7.mjs.map +0 -1
  248. package/dist/chunk-WKWP42TD.mjs +0 -39
  249. package/dist/chunk-WKWP42TD.mjs.map +0 -1
  250. package/dist/chunk-WNUB3UTT.js +0 -241
  251. package/dist/chunk-WNUB3UTT.js.map +0 -1
  252. package/dist/chunk-WNWK2QMU.mjs +0 -375
  253. package/dist/chunk-WNWK2QMU.mjs.map +0 -1
  254. package/dist/chunk-WQHTNL5L.js +0 -4
  255. package/dist/chunk-WQHTNL5L.js.map +0 -1
  256. package/dist/chunk-WZF5XNBC.js +0 -297
  257. package/dist/chunk-WZF5XNBC.js.map +0 -1
  258. package/dist/chunk-X3UMAHOJ.js +0 -4
  259. package/dist/chunk-X3UMAHOJ.js.map +0 -1
  260. package/dist/chunk-XMFOZYNI.js +0 -8
  261. package/dist/chunk-XMFOZYNI.js.map +0 -1
  262. package/dist/chunk-XNMXN5SZ.mjs +0 -3
  263. package/dist/chunk-XNMXN5SZ.mjs.map +0 -1
  264. package/dist/chunk-XSJTASPK.js +0 -13
  265. package/dist/chunk-XSJTASPK.js.map +0 -1
  266. package/dist/chunk-YBK6EBA5.mjs +0 -239
  267. package/dist/chunk-YBK6EBA5.mjs.map +0 -1
  268. package/dist/chunk-YYLD3AJ7.js +0 -61
  269. package/dist/chunk-YYLD3AJ7.js.map +0 -1
  270. package/dist/chunk-ZEDJUNC6.mjs +0 -115
  271. package/dist/chunk-ZEDJUNC6.mjs.map +0 -1
  272. package/dist/constants.d.mts +0 -91
  273. package/dist/constants.d.ts +0 -91
  274. package/dist/constants.js +0 -196
  275. package/dist/constants.js.map +0 -1
  276. package/dist/constants.mjs +0 -3
  277. package/dist/constants.mjs.map +0 -1
  278. package/dist/deployments.generated.d.mts +0 -275
  279. package/dist/deployments.generated.d.ts +0 -275
  280. package/dist/deployments.generated.js +0 -12
  281. package/dist/deployments.generated.js.map +0 -1
  282. package/dist/deployments.generated.mjs +0 -3
  283. package/dist/deployments.generated.mjs.map +0 -1
  284. package/dist/entities/DopplerFactory.d.mts +0 -272
  285. package/dist/entities/DopplerFactory.d.ts +0 -272
  286. package/dist/entities/DopplerFactory.js +0 -34
  287. package/dist/entities/DopplerFactory.js.map +0 -1
  288. package/dist/entities/DopplerFactory.mjs +0 -25
  289. package/dist/entities/DopplerFactory.mjs.map +0 -1
  290. package/dist/entities/auction/DynamicAuction.d.mts +0 -72
  291. package/dist/entities/auction/DynamicAuction.d.ts +0 -72
  292. package/dist/entities/auction/DynamicAuction.js +0 -21
  293. package/dist/entities/auction/DynamicAuction.js.map +0 -1
  294. package/dist/entities/auction/DynamicAuction.mjs +0 -12
  295. package/dist/entities/auction/DynamicAuction.mjs.map +0 -1
  296. package/dist/entities/auction/MulticurvePool.d.mts +0 -78
  297. package/dist/entities/auction/MulticurvePool.d.ts +0 -78
  298. package/dist/entities/auction/MulticurvePool.js +0 -24
  299. package/dist/entities/auction/MulticurvePool.js.map +0 -1
  300. package/dist/entities/auction/MulticurvePool.mjs +0 -15
  301. package/dist/entities/auction/MulticurvePool.mjs.map +0 -1
  302. package/dist/entities/auction/RehypeDopplerHook.d.mts +0 -57
  303. package/dist/entities/auction/RehypeDopplerHook.d.ts +0 -57
  304. package/dist/entities/auction/RehypeDopplerHook.js +0 -34
  305. package/dist/entities/auction/RehypeDopplerHook.js.map +0 -1
  306. package/dist/entities/auction/RehypeDopplerHook.mjs +0 -25
  307. package/dist/entities/auction/RehypeDopplerHook.mjs.map +0 -1
  308. package/dist/entities/auction/RehypeDopplerHookMigrator.d.mts +0 -48
  309. package/dist/entities/auction/RehypeDopplerHookMigrator.d.ts +0 -48
  310. package/dist/entities/auction/RehypeDopplerHookMigrator.js +0 -34
  311. package/dist/entities/auction/RehypeDopplerHookMigrator.js.map +0 -1
  312. package/dist/entities/auction/RehypeDopplerHookMigrator.mjs +0 -25
  313. package/dist/entities/auction/RehypeDopplerHookMigrator.mjs.map +0 -1
  314. package/dist/entities/auction/StaticAuction.d.mts +0 -44
  315. package/dist/entities/auction/StaticAuction.d.ts +0 -44
  316. package/dist/entities/auction/StaticAuction.js +0 -21
  317. package/dist/entities/auction/StaticAuction.js.map +0 -1
  318. package/dist/entities/auction/StaticAuction.mjs +0 -12
  319. package/dist/entities/auction/StaticAuction.mjs.map +0 -1
  320. package/dist/entities/auction/index.d.mts +0 -9
  321. package/dist/entities/auction/index.d.ts +0 -9
  322. package/dist/entities/auction/index.js +0 -55
  323. package/dist/entities/auction/index.js.map +0 -1
  324. package/dist/entities/auction/index.mjs +0 -30
  325. package/dist/entities/auction/index.mjs.map +0 -1
  326. package/dist/entities/quoter/Quoter.d.mts +0 -150
  327. package/dist/entities/quoter/Quoter.d.ts +0 -150
  328. package/dist/entities/quoter/Quoter.js +0 -21
  329. package/dist/entities/quoter/Quoter.js.map +0 -1
  330. package/dist/entities/quoter/Quoter.mjs +0 -12
  331. package/dist/entities/quoter/Quoter.mjs.map +0 -1
  332. package/dist/entities/quoter/index.d.mts +0 -5
  333. package/dist/entities/quoter/index.d.ts +0 -5
  334. package/dist/entities/quoter/index.js +0 -22
  335. package/dist/entities/quoter/index.js.map +0 -1
  336. package/dist/entities/quoter/index.mjs +0 -13
  337. package/dist/entities/quoter/index.mjs.map +0 -1
  338. package/dist/entities/token/derc20/Derc20.d.mts +0 -102
  339. package/dist/entities/token/derc20/Derc20.d.ts +0 -102
  340. package/dist/entities/token/derc20/Derc20.js +0 -19
  341. package/dist/entities/token/derc20/Derc20.js.map +0 -1
  342. package/dist/entities/token/derc20/Derc20.mjs +0 -10
  343. package/dist/entities/token/derc20/Derc20.mjs.map +0 -1
  344. package/dist/entities/token/derc20/index.d.mts +0 -5
  345. package/dist/entities/token/derc20/index.d.ts +0 -5
  346. package/dist/entities/token/derc20/index.js +0 -20
  347. package/dist/entities/token/derc20/index.js.map +0 -1
  348. package/dist/entities/token/derc20/index.mjs +0 -11
  349. package/dist/entities/token/derc20/index.mjs.map +0 -1
  350. package/dist/entities/token/eth/Eth.d.mts +0 -54
  351. package/dist/entities/token/eth/Eth.d.ts +0 -54
  352. package/dist/entities/token/eth/Eth.js +0 -12
  353. package/dist/entities/token/eth/Eth.js.map +0 -1
  354. package/dist/entities/token/eth/Eth.mjs +0 -3
  355. package/dist/entities/token/eth/Eth.mjs.map +0 -1
  356. package/dist/entities/token/eth/index.d.mts +0 -5
  357. package/dist/entities/token/eth/index.d.ts +0 -5
  358. package/dist/entities/token/eth/index.js +0 -13
  359. package/dist/entities/token/eth/index.js.map +0 -1
  360. package/dist/entities/token/eth/index.mjs +0 -4
  361. package/dist/entities/token/eth/index.mjs.map +0 -1
  362. package/dist/entities/token/index.d.mts +0 -6
  363. package/dist/entities/token/index.d.ts +0 -6
  364. package/dist/entities/token/index.js +0 -27
  365. package/dist/entities/token/index.js.map +0 -1
  366. package/dist/entities/token/index.mjs +0 -14
  367. package/dist/entities/token/index.mjs.map +0 -1
  368. package/dist/index.d.mts +0 -39
  369. package/dist/index.d.ts +0 -39
  370. package/dist/index.js +0 -587
  371. package/dist/index.js.map +0 -1
  372. package/dist/index.mjs +0 -49
  373. package/dist/index.mjs.map +0 -1
  374. package/dist/types.d.mts +0 -662
  375. package/dist/types.d.ts +0 -662
  376. package/dist/types.js +0 -34
  377. package/dist/types.js.map +0 -1
  378. package/dist/types.mjs +0 -5
  379. package/dist/types.mjs.map +0 -1
  380. package/dist/utils/airlock.d.mts +0 -11
  381. package/dist/utils/airlock.d.ts +0 -11
  382. package/dist/utils/airlock.js +0 -26
  383. package/dist/utils/airlock.js.map +0 -1
  384. package/dist/utils/airlock.mjs +0 -5
  385. package/dist/utils/airlock.mjs.map +0 -1
  386. package/dist/utils/balanceDelta.d.mts +0 -10
  387. package/dist/utils/balanceDelta.d.ts +0 -10
  388. package/dist/utils/balanceDelta.js +0 -12
  389. package/dist/utils/balanceDelta.js.map +0 -1
  390. package/dist/utils/balanceDelta.mjs +0 -3
  391. package/dist/utils/balanceDelta.mjs.map +0 -1
  392. package/dist/utils/computeOptimalGamma.d.mts +0 -7
  393. package/dist/utils/computeOptimalGamma.d.ts +0 -7
  394. package/dist/utils/computeOptimalGamma.js +0 -12
  395. package/dist/utils/computeOptimalGamma.js.map +0 -1
  396. package/dist/utils/computeOptimalGamma.mjs +0 -3
  397. package/dist/utils/computeOptimalGamma.mjs.map +0 -1
  398. package/dist/utils/dopplerHookMigrator.d.mts +0 -18
  399. package/dist/utils/dopplerHookMigrator.d.ts +0 -18
  400. package/dist/utils/dopplerHookMigrator.js +0 -20
  401. package/dist/utils/dopplerHookMigrator.js.map +0 -1
  402. package/dist/utils/dopplerHookMigrator.mjs +0 -7
  403. package/dist/utils/dopplerHookMigrator.mjs.map +0 -1
  404. package/dist/utils/index.d.mts +0 -14
  405. package/dist/utils/index.d.ts +0 -14
  406. package/dist/utils/index.js +0 -197
  407. package/dist/utils/index.js.map +0 -1
  408. package/dist/utils/index.mjs +0 -24
  409. package/dist/utils/index.mjs.map +0 -1
  410. package/dist/utils/isToken0Expected.d.mts +0 -13
  411. package/dist/utils/isToken0Expected.d.ts +0 -13
  412. package/dist/utils/isToken0Expected.js +0 -12
  413. package/dist/utils/isToken0Expected.js.map +0 -1
  414. package/dist/utils/isToken0Expected.mjs +0 -3
  415. package/dist/utils/isToken0Expected.mjs.map +0 -1
  416. package/dist/utils/marketCapHelpers.d.mts +0 -259
  417. package/dist/utils/marketCapHelpers.d.ts +0 -259
  418. package/dist/utils/marketCapHelpers.js +0 -58
  419. package/dist/utils/marketCapHelpers.js.map +0 -1
  420. package/dist/utils/marketCapHelpers.mjs +0 -5
  421. package/dist/utils/marketCapHelpers.mjs.map +0 -1
  422. package/dist/utils/poolKey.d.mts +0 -17
  423. package/dist/utils/poolKey.d.ts +0 -17
  424. package/dist/utils/poolKey.js +0 -12
  425. package/dist/utils/poolKey.js.map +0 -1
  426. package/dist/utils/poolKey.mjs +0 -3
  427. package/dist/utils/poolKey.mjs.map +0 -1
  428. package/dist/utils/priceHelpers.d.mts +0 -86
  429. package/dist/utils/priceHelpers.d.ts +0 -86
  430. package/dist/utils/priceHelpers.js +0 -41
  431. package/dist/utils/priceHelpers.js.map +0 -1
  432. package/dist/utils/priceHelpers.mjs +0 -4
  433. package/dist/utils/priceHelpers.mjs.map +0 -1
  434. package/dist/utils/tickMath.d.mts +0 -72
  435. package/dist/utils/tickMath.d.ts +0 -72
  436. package/dist/utils/tickMath.js +0 -60
  437. package/dist/utils/tickMath.js.map +0 -1
  438. package/dist/utils/tickMath.mjs +0 -3
  439. package/dist/utils/tickMath.mjs.map +0 -1
  440. package/dist/utils/tokenAddressMiner.d.mts +0 -37
  441. package/dist/utils/tokenAddressMiner.d.ts +0 -37
  442. package/dist/utils/tokenAddressMiner.js +0 -19
  443. package/dist/utils/tokenAddressMiner.js.map +0 -1
  444. package/dist/utils/tokenAddressMiner.mjs +0 -10
  445. package/dist/utils/tokenAddressMiner.mjs.map +0 -1
@@ -1,737 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkHJFVRV47_js = require('./chunk-HJFVRV47.js');
4
- var chunkFNUBKONK_js = require('./chunk-FNUBKONK.js');
5
- var chunk6BQY5EPB_js = require('./chunk-6BQY5EPB.js');
6
- var chunk65CESA3J_js = require('./chunk-65CESA3J.js');
7
-
8
- // src/builders/MulticurveBuilder.ts
9
- var MulticurveBuilder = class _MulticurveBuilder {
10
- constructor(chainId) {
11
- this.chainId = chainId;
12
- }
13
- static forChain(chainId) {
14
- return new _MulticurveBuilder(chainId);
15
- }
16
- tokenConfig(params) {
17
- if (params && "type" in params && params.type === "doppler404") {
18
- this.token = {
19
- type: "doppler404",
20
- name: params.name,
21
- symbol: params.symbol,
22
- baseURI: params.baseURI,
23
- unit: params.unit
24
- };
25
- } else {
26
- this.token = {
27
- type: "standard",
28
- name: params.name,
29
- symbol: params.symbol,
30
- tokenURI: params.tokenURI,
31
- yearlyMintRate: params.yearlyMintRate ?? chunk6BQY5EPB_js.DEFAULT_V3_YEARLY_MINT_RATE
32
- };
33
- }
34
- return this;
35
- }
36
- saleConfig(params) {
37
- this.sale = {
38
- initialSupply: params.initialSupply,
39
- numTokensToSell: params.numTokensToSell,
40
- numeraire: params.numeraire
41
- };
42
- return this;
43
- }
44
- poolConfig(params) {
45
- if (this.curvesConfig) {
46
- throw new Error(
47
- "Cannot use poolConfig() after withCurves(). Use withCurves() for market cap-based configuration, or poolConfig() for manual tick configuration."
48
- );
49
- }
50
- const sortedBeneficiaries = params.beneficiaries ? [...params.beneficiaries].sort((a, b) => {
51
- const aAddr = a.beneficiary.toLowerCase();
52
- const bAddr = b.beneficiary.toLowerCase();
53
- return aAddr < bAddr ? -1 : aAddr > bAddr ? 1 : 0;
54
- }) : void 0;
55
- this.pool = {
56
- fee: params.fee,
57
- tickSpacing: params.tickSpacing,
58
- curves: params.curves,
59
- beneficiaries: sortedBeneficiaries
60
- };
61
- return this;
62
- }
63
- withMarketCapPresets(params) {
64
- if (this.curvesConfig) {
65
- throw new Error(
66
- "Cannot use withMarketCapPresets() after withCurves(). Use withCurves() for market cap-based configuration, or withMarketCapPresets() for preset-based configuration."
67
- );
68
- }
69
- const { fee, tickSpacing, curves } = chunkHJFVRV47_js.buildCurvesFromPresets({
70
- fee: params?.fee,
71
- tickSpacing: params?.tickSpacing,
72
- presets: params?.presets,
73
- overrides: params?.overrides
74
- });
75
- return this.poolConfig({
76
- fee,
77
- tickSpacing,
78
- curves,
79
- beneficiaries: params?.beneficiaries
80
- });
81
- }
82
- /**
83
- * Configure multicurve using market cap ranges (no tick math required).
84
- *
85
- * This is the recommended way to configure multicurve pools. Simply specify
86
- * market cap ranges in USD for each curve.
87
- *
88
- * Curves can be provided in any order - they will be automatically sorted
89
- * by market cap (ascending) before validation and processing. Curves must
90
- * be contiguous or overlapping (no gaps allowed).
91
- *
92
- * V4 pools support custom fees (0-100,000). Standard fee tiers auto-derive
93
- * tickSpacing; custom fees require explicit tickSpacing parameter.
94
- *
95
- * @param params - Market cap configuration with curves defined by market cap ranges
96
- * @returns Builder instance for chaining
97
- *
98
- * @example Standard fee tier
99
- * ```ts
100
- * builder
101
- * .saleConfig({ initialSupply, numTokensToSell, numeraire: WETH })
102
- * .withCurves({
103
- * numerairePrice: 3000,
104
- * curves: [...],
105
- * fee: 500, // Standard tier, tickSpacing auto-derived
106
- * })
107
- * ```
108
- *
109
- * @example Custom fee
110
- * ```ts
111
- * builder
112
- * .saleConfig({ initialSupply, numTokensToSell, numeraire: WETH })
113
- * .withCurves({
114
- * numerairePrice: 3000,
115
- * curves: [...],
116
- * fee: 2500, // Custom 0.25% fee
117
- * tickSpacing: 10, // Required for custom fees
118
- * })
119
- * ```
120
- */
121
- withCurves(params) {
122
- if (this.pool) {
123
- throw new Error(
124
- "Cannot use withCurves() after poolConfig()/withMarketCapPresets(). Use withCurves() for market cap-based configuration, or poolConfig() for manual tick configuration."
125
- );
126
- }
127
- if (params.numerairePrice <= 0) {
128
- throw new Error("numerairePrice must be greater than 0");
129
- }
130
- if (!params.curves || params.curves.length === 0) {
131
- throw new Error("curves array must contain at least one curve");
132
- }
133
- for (let i = 0; i < params.curves.length; i++) {
134
- const curve = params.curves[i];
135
- this.validateCurveRange(
136
- curve.marketCap.start,
137
- curve.marketCap.end,
138
- curve.numPositions,
139
- curve.shares,
140
- `curves[${i}]`
141
- );
142
- }
143
- const sortedCurves = this.sortCurvesByMarketCap(params.curves);
144
- this.validateCurveContiguity(sortedCurves);
145
- const totalShares = sortedCurves.reduce((sum, c) => sum + c.shares, 0n);
146
- if (totalShares !== chunk6BQY5EPB_js.WAD) {
147
- throw new Error(
148
- `Total curve shares must equal 100% (${chunk6BQY5EPB_js.WAD}). Got ${totalShares} (${Number(totalShares * 10000n / chunk6BQY5EPB_js.WAD) / 100}%)`
149
- );
150
- }
151
- if (params.fee !== void 0 && params.fee > chunk6BQY5EPB_js.V4_MAX_FEE) {
152
- throw new Error(
153
- `Fee ${params.fee} exceeds maximum allowed for V4 pools (${chunk6BQY5EPB_js.V4_MAX_FEE} = 10%). Use a fee between 0 and ${chunk6BQY5EPB_js.V4_MAX_FEE}.`
154
- );
155
- }
156
- this.numerairePrice = params.numerairePrice;
157
- this.tokenDecimals = params.tokenDecimals;
158
- this.numeraireDecimals = params.numeraireDecimals;
159
- this.curvesConfig = {
160
- numerairePrice: params.numerairePrice,
161
- curves: sortedCurves,
162
- tokenSupply: params.tokenSupply,
163
- tokenDecimals: params.tokenDecimals,
164
- numeraireDecimals: params.numeraireDecimals,
165
- fee: params.fee,
166
- tickSpacing: params.tickSpacing,
167
- beneficiaries: params.beneficiaries
168
- };
169
- return this;
170
- }
171
- /**
172
- * Sort curves by market cap (start, then end) for deterministic ordering
173
- */
174
- sortCurvesByMarketCap(curves) {
175
- return [...curves].sort((a, b) => {
176
- const startDiff = a.marketCap.start - b.marketCap.start;
177
- if (startDiff !== 0) return startDiff;
178
- const aEnd = a.marketCap.end === "max" ? Infinity : a.marketCap.end;
179
- const bEnd = b.marketCap.end === "max" ? Infinity : b.marketCap.end;
180
- return aEnd - bEnd;
181
- });
182
- }
183
- validateCurveRange(startMarketCap, endMarketCap, numPositions, shares, label) {
184
- if (startMarketCap <= 0) {
185
- throw new Error(`${label}: marketCap.start must be greater than 0`);
186
- }
187
- if (endMarketCap !== "max" && endMarketCap <= 0) {
188
- throw new Error(`${label}: marketCap.end must be greater than 0`);
189
- }
190
- if (endMarketCap !== "max" && startMarketCap >= endMarketCap) {
191
- throw new Error(
192
- `${label}: startMarketCap ($${startMarketCap.toLocaleString()}) must be less than endMarketCap ($${endMarketCap.toLocaleString()})`
193
- );
194
- }
195
- if (numPositions <= 0) {
196
- throw new Error(`${label}: numPositions must be greater than 0`);
197
- }
198
- if (shares <= 0n) {
199
- throw new Error(`${label}: shares must be greater than 0`);
200
- }
201
- }
202
- validateCurveContiguity(sortedCurves) {
203
- if (sortedCurves.length <= 1) {
204
- return;
205
- }
206
- for (let i = 1; i < sortedCurves.length; i++) {
207
- const prevCurve = sortedCurves[i - 1];
208
- const currCurve = sortedCurves[i];
209
- const prevEnd = prevCurve.marketCap.end === "max" ? Infinity : prevCurve.marketCap.end;
210
- const prevEndLabel = prevCurve.marketCap.end === "max" ? "max" : `$${prevCurve.marketCap.end.toLocaleString()}`;
211
- const currEndLabel = currCurve.marketCap.end === "max" ? "max" : `$${currCurve.marketCap.end.toLocaleString()}`;
212
- if (currCurve.marketCap.start > prevEnd) {
213
- throw new Error(
214
- `Gap detected between market cap ranges: $${prevCurve.marketCap.start.toLocaleString()}-${prevEndLabel} and $${currCurve.marketCap.start.toLocaleString()}-${currEndLabel}. Curves must be contiguous or overlapping.`
215
- );
216
- }
217
- }
218
- }
219
- /**
220
- * Configure a RehypeDopplerHook for the pool.
221
- *
222
- * When configured, the hook will be initialized with the pool and will handle:
223
- * - Custom swap fees
224
- * - Fee distribution to beneficiaries, LPs, and buyback destinations
225
- *
226
- * IMPORTANT:
227
- * - The hook address must be whitelisted in the DopplerHookInitializer
228
- * - Fee distribution percentages must sum to exactly WAD (1e18 = 100%)
229
- *
230
- * @example
231
- * ```typescript
232
- * builder.withRehypeDopplerHook({
233
- * hookAddress: '0x...',
234
- * buybackDestination: '0x...',
235
- * startFee: 3000, // 0.3%
236
- * endFee: 3000,
237
- * durationSeconds: 0,
238
- * feeDistributionInfo: {
239
- * assetFeesToAssetBuybackWad: parseEther('0.2'),
240
- * assetFeesToNumeraireBuybackWad: parseEther('0.2'),
241
- * assetFeesToBeneficiaryWad: parseEther('0.3'),
242
- * assetFeesToLpWad: parseEther('0.3'),
243
- * numeraireFeesToAssetBuybackWad: parseEther('0.2'),
244
- * numeraireFeesToNumeraireBuybackWad: parseEther('0.2'),
245
- * numeraireFeesToBeneficiaryWad: parseEther('0.3'),
246
- * numeraireFeesToLpWad: parseEther('0.3'),
247
- * },
248
- * })
249
- * ```
250
- */
251
- withRehypeDopplerHook(params) {
252
- this.assertCanSetInitializer("rehype");
253
- const feeDistributionInfo = this.resolveRehypeFeeDistributionInfo(params);
254
- this.validateRehypeDistribution(feeDistributionInfo);
255
- const {
256
- startFee,
257
- endFee,
258
- durationSeconds,
259
- startingTime,
260
- feeRoutingMode
261
- } = this.resolveRehypeFeeSchedule(params);
262
- if (params.graduationMarketCap !== void 0 && params.farTick !== void 0) {
263
- throw new Error(
264
- "Cannot specify both graduationMarketCap and farTick. Use one or the other."
265
- );
266
- }
267
- const normalizedParams = {
268
- ...params,
269
- startFee,
270
- endFee,
271
- durationSeconds,
272
- startingTime,
273
- feeRoutingMode,
274
- feeDistributionInfo
275
- };
276
- this.dopplerHook = normalizedParams;
277
- this.initializer = { type: "rehype", config: normalizedParams };
278
- return this;
279
- }
280
- parseUint32Value(value, label) {
281
- const normalized = typeof value === "bigint" ? Number(value) : Number(value);
282
- if (!Number.isFinite(normalized) || !Number.isInteger(normalized)) {
283
- throw new Error(`${label} must be an integer number of seconds`);
284
- }
285
- if (normalized < 0) {
286
- throw new Error(`${label} cannot be negative`);
287
- }
288
- const UINT32_MAX = 4294967295;
289
- if (normalized > UINT32_MAX) {
290
- throw new Error(`${label} must fit within uint32`);
291
- }
292
- return normalized;
293
- }
294
- normalizeRehypeFeeRoutingMode(mode) {
295
- if (mode === void 0 || mode === 0 /* DirectBuyback */) {
296
- return 0 /* DirectBuyback */;
297
- }
298
- if (mode === 1 /* RouteToBeneficiaryFees */) {
299
- return 1 /* RouteToBeneficiaryFees */;
300
- }
301
- if (mode === "directBuyback") {
302
- return 0 /* DirectBuyback */;
303
- }
304
- if (mode === "routeToBeneficiaryFees") {
305
- return 1 /* RouteToBeneficiaryFees */;
306
- }
307
- throw new Error(
308
- "Rehype feeRoutingMode must be DirectBuyback/directBuyback or RouteToBeneficiaryFees/routeToBeneficiaryFees"
309
- );
310
- }
311
- resolveRehypeFeeDistributionInfo(params) {
312
- if (params.feeDistributionInfo) {
313
- return params.feeDistributionInfo;
314
- }
315
- const assetBuyback = params.assetBuybackPercentWad;
316
- const numeraireBuyback = params.numeraireBuybackPercentWad;
317
- const beneficiary = params.beneficiaryPercentWad;
318
- const lp = params.lpPercentWad;
319
- if (assetBuyback === void 0 || numeraireBuyback === void 0 || beneficiary === void 0 || lp === void 0) {
320
- throw new Error(
321
- "Rehype feeDistributionInfo is required, or provide all deprecated legacy percentages."
322
- );
323
- }
324
- return {
325
- assetFeesToAssetBuybackWad: assetBuyback,
326
- assetFeesToNumeraireBuybackWad: numeraireBuyback,
327
- assetFeesToBeneficiaryWad: beneficiary,
328
- assetFeesToLpWad: lp,
329
- numeraireFeesToAssetBuybackWad: assetBuyback,
330
- numeraireFeesToNumeraireBuybackWad: numeraireBuyback,
331
- numeraireFeesToBeneficiaryWad: beneficiary,
332
- numeraireFeesToLpWad: lp
333
- };
334
- }
335
- validateRehypeDistribution(feeDistributionInfo) {
336
- const assetRowTotal = feeDistributionInfo.assetFeesToAssetBuybackWad + feeDistributionInfo.assetFeesToNumeraireBuybackWad + feeDistributionInfo.assetFeesToBeneficiaryWad + feeDistributionInfo.assetFeesToLpWad;
337
- if (assetRowTotal !== chunk6BQY5EPB_js.WAD) {
338
- throw new Error(
339
- `Rehype asset fee distribution must sum to ${chunk6BQY5EPB_js.WAD} (100%), but got ${assetRowTotal}`
340
- );
341
- }
342
- const numeraireRowTotal = feeDistributionInfo.numeraireFeesToAssetBuybackWad + feeDistributionInfo.numeraireFeesToNumeraireBuybackWad + feeDistributionInfo.numeraireFeesToBeneficiaryWad + feeDistributionInfo.numeraireFeesToLpWad;
343
- if (numeraireRowTotal !== chunk6BQY5EPB_js.WAD) {
344
- throw new Error(
345
- `Rehype numeraire fee distribution must sum to ${chunk6BQY5EPB_js.WAD} (100%), but got ${numeraireRowTotal}`
346
- );
347
- }
348
- }
349
- resolveRehypeFeeSchedule(params) {
350
- const MAX_REHYPE_FEE = 1e6;
351
- const startFeeRaw = params.startFee ?? params.customFee;
352
- if (startFeeRaw === void 0) {
353
- throw new Error(
354
- "Rehype startFee is required, or provide deprecated customFee."
355
- );
356
- }
357
- const endFeeRaw = params.endFee ?? startFeeRaw;
358
- const startFee = Number(startFeeRaw);
359
- const endFee = Number(endFeeRaw);
360
- if (!Number.isInteger(startFee) || startFee < 0 || startFee > MAX_REHYPE_FEE) {
361
- throw new Error(
362
- `Rehype startFee must be an integer between 0 and ${MAX_REHYPE_FEE}`
363
- );
364
- }
365
- if (!Number.isInteger(endFee) || endFee < 0 || endFee > MAX_REHYPE_FEE) {
366
- throw new Error(
367
- `Rehype endFee must be an integer between 0 and ${MAX_REHYPE_FEE}`
368
- );
369
- }
370
- if (startFee < endFee) {
371
- throw new Error(
372
- `Rehype startFee (${startFee}) must be greater than or equal to endFee (${endFee})`
373
- );
374
- }
375
- const durationRaw = params.durationSeconds ?? (startFee === endFee ? 0 : void 0);
376
- if (durationRaw === void 0) {
377
- throw new Error(
378
- "Rehype durationSeconds must be provided when startFee is greater than endFee."
379
- );
380
- }
381
- const durationSeconds = this.parseUint32Value(
382
- durationRaw,
383
- "Rehype durationSeconds"
384
- );
385
- if (startFee > endFee && durationSeconds <= 0) {
386
- throw new Error(
387
- "Rehype durationSeconds must be greater than 0 when startFee is greater than endFee."
388
- );
389
- }
390
- const startingTime = params.startingTime === void 0 ? 0 : this.parseStartTimeSeconds(
391
- params.startingTime,
392
- "Rehype startingTime"
393
- );
394
- const feeRoutingMode = this.normalizeRehypeFeeRoutingMode(
395
- params.feeRoutingMode
396
- );
397
- return {
398
- startFee,
399
- endFee,
400
- durationSeconds,
401
- startingTime,
402
- feeRoutingMode
403
- };
404
- }
405
- withVesting(params) {
406
- if (!params) {
407
- this.vesting = void 0;
408
- return this;
409
- }
410
- this.vesting = {
411
- duration: Number(params.duration ?? 0n),
412
- cliffDuration: params.cliffDuration ?? 0,
413
- recipients: params.recipients,
414
- amounts: params.amounts
415
- };
416
- return this;
417
- }
418
- parseStartTimeSeconds(value, label) {
419
- let startTimeSeconds;
420
- if (value instanceof Date) {
421
- startTimeSeconds = Math.floor(value.getTime() / 1e3);
422
- } else if (typeof value === "bigint") {
423
- startTimeSeconds = Number(value);
424
- } else {
425
- startTimeSeconds = Number(value);
426
- }
427
- if (!Number.isFinite(startTimeSeconds) || !Number.isInteger(startTimeSeconds)) {
428
- throw new Error(
429
- `${label} must be an integer number of seconds since Unix epoch`
430
- );
431
- }
432
- if (startTimeSeconds < 0) {
433
- throw new Error(`${label} cannot be negative`);
434
- }
435
- const UINT32_MAX = 4294967295;
436
- if (startTimeSeconds > UINT32_MAX) {
437
- throw new Error(
438
- `${label} must fit within uint32 (seconds since Unix epoch up to year 2106)`
439
- );
440
- }
441
- return startTimeSeconds;
442
- }
443
- assertCanSetInitializer(nextType) {
444
- const currentType = this.initializer?.type;
445
- if (currentType === void 0 || currentType === "standard" || currentType === nextType) {
446
- return;
447
- }
448
- throw new Error(
449
- `Cannot set multicurve initializer to '${nextType}' because it is already configured as '${currentType}'`
450
- );
451
- }
452
- /**
453
- * Configure decay multicurve initializer settings.
454
- *
455
- * The pool's terminal fee is always taken from `poolConfig().fee`.
456
- * `startFee` must be greater than or equal to that terminal fee.
457
- * `startTime` is optional and defaults to `0` when omitted.
458
- */
459
- withDecay(params) {
460
- if (!params) {
461
- if (this.initializer?.type === "decay") {
462
- this.initializer = { type: "standard" };
463
- }
464
- return this;
465
- }
466
- this.assertCanSetInitializer("decay");
467
- const startTime = params.startTime === void 0 ? 0 : this.parseStartTimeSeconds(params.startTime, "Decay startTime");
468
- const startFee = Number(params.startFee);
469
- const durationSeconds = Number(params.durationSeconds);
470
- if (!Number.isFinite(startFee) || !Number.isInteger(startFee)) {
471
- throw new Error("Decay startFee must be an integer");
472
- }
473
- if (startFee < 0 || startFee > chunk6BQY5EPB_js.DECAY_MAX_START_FEE) {
474
- throw new Error(
475
- `Decay startFee must be between 0 and ${chunk6BQY5EPB_js.DECAY_MAX_START_FEE} (80%)`
476
- );
477
- }
478
- if (!Number.isFinite(durationSeconds) || !Number.isInteger(durationSeconds)) {
479
- throw new Error("Decay durationSeconds must be an integer");
480
- }
481
- if (durationSeconds < 0) {
482
- throw new Error("Decay durationSeconds cannot be negative");
483
- }
484
- const UINT32_MAX = 4294967295;
485
- if (durationSeconds > UINT32_MAX) {
486
- throw new Error("Decay durationSeconds must fit within uint32");
487
- }
488
- this.schedule = void 0;
489
- this.initializer = {
490
- type: "decay",
491
- startTime,
492
- startFee,
493
- durationSeconds
494
- };
495
- return this;
496
- }
497
- withSchedule(params) {
498
- if (!params) {
499
- if (this.initializer?.type === "scheduled") {
500
- this.initializer = { type: "standard" };
501
- }
502
- this.schedule = void 0;
503
- return this;
504
- }
505
- this.assertCanSetInitializer("scheduled");
506
- const startTimeSeconds = this.parseStartTimeSeconds(
507
- params.startTime,
508
- "Schedule startTime"
509
- );
510
- this.schedule = { startTime: startTimeSeconds };
511
- this.initializer = { type: "scheduled", startTime: startTimeSeconds };
512
- return this;
513
- }
514
- withGovernance(params) {
515
- this.governance = params;
516
- return this;
517
- }
518
- withMigration(migration) {
519
- this.migration = migration;
520
- return this;
521
- }
522
- withUserAddress(address) {
523
- this.userAddress = address;
524
- return this;
525
- }
526
- withIntegrator(address) {
527
- this.integrator = address ?? chunk6BQY5EPB_js.ZERO_ADDRESS;
528
- return this;
529
- }
530
- withGasLimit(gas) {
531
- this.gasLimit = gas;
532
- return this;
533
- }
534
- overrideModule(key, address) {
535
- this.moduleAddresses = {
536
- ...this.moduleAddresses,
537
- [key]: address
538
- };
539
- return this;
540
- }
541
- withTokenFactory(address) {
542
- return this.overrideModule("tokenFactory", address);
543
- }
544
- withAirlock(address) {
545
- return this.overrideModule("airlock", address);
546
- }
547
- withV4MulticurveInitializer(address) {
548
- return this.overrideModule("v4MulticurveInitializer", address);
549
- }
550
- withV4ScheduledMulticurveInitializer(address) {
551
- return this.overrideModule("v4ScheduledMulticurveInitializer", address);
552
- }
553
- withV4DecayMulticurveInitializer(address) {
554
- return this.overrideModule("v4DecayMulticurveInitializer", address);
555
- }
556
- withGovernanceFactory(address) {
557
- return this.overrideModule("governanceFactory", address);
558
- }
559
- withV2Migrator(address) {
560
- return this.overrideModule("v2Migrator", address);
561
- }
562
- withV4Migrator(address) {
563
- return this.overrideModule("v4Migrator", address);
564
- }
565
- withNoOpMigrator(address) {
566
- return this.overrideModule("noOpMigrator", address);
567
- }
568
- withDopplerHookInitializer(address) {
569
- return this.overrideModule("dopplerHookInitializer", address);
570
- }
571
- build() {
572
- if (!this.token) throw new Error("tokenConfig is required");
573
- if (!this.sale) throw new Error("saleConfig is required");
574
- if (!this.migration) throw new Error("migration configuration is required");
575
- if (!this.userAddress) throw new Error("userAddress is required");
576
- if (this.curvesConfig && !this.pool) {
577
- const config = this.curvesConfig;
578
- const tokenSupply = config.tokenSupply ?? this.sale.initialSupply;
579
- if (!tokenSupply) {
580
- throw new Error(
581
- "tokenSupply must be provided (either via saleConfig() or withCurves() params)"
582
- );
583
- }
584
- const fee = config.fee ?? chunk6BQY5EPB_js.FEE_TIERS.MEDIUM;
585
- const tickSpacing = config.tickSpacing ?? chunk6BQY5EPB_js.TICK_SPACINGS[fee];
586
- if (tickSpacing === void 0) {
587
- throw new Error(
588
- `Custom fee ${fee} requires explicit tickSpacing. Standard fees (100, 500, 3000, 10000) auto-derive tickSpacing.`
589
- );
590
- }
591
- const firstCurve = config.curves[0];
592
- const startValidation = chunkFNUBKONK_js.validateMarketCapParameters(
593
- firstCurve.marketCap.start,
594
- tokenSupply,
595
- config.tokenDecimals
596
- );
597
- const endValidation = firstCurve.marketCap.end === "max" ? { warnings: [] } : chunkFNUBKONK_js.validateMarketCapParameters(
598
- firstCurve.marketCap.end,
599
- tokenSupply,
600
- config.tokenDecimals
601
- );
602
- const allWarnings = [
603
- ...startValidation.warnings,
604
- ...endValidation.warnings
605
- ];
606
- if (allWarnings.length > 0) {
607
- console.warn("First curve market cap validation warnings:");
608
- allWarnings.forEach((w) => console.warn(` - ${w}`));
609
- }
610
- const curves = [];
611
- for (const curve of config.curves) {
612
- const curveTicks = chunkFNUBKONK_js.marketCapToTicksForMulticurve({
613
- marketCapLower: curve.marketCap.start,
614
- marketCapUpper: curve.marketCap.end,
615
- tokenSupply,
616
- numerairePriceUSD: config.numerairePrice,
617
- tickSpacing,
618
- tokenDecimals: config.tokenDecimals ?? 18,
619
- numeraireDecimals: config.numeraireDecimals ?? 18
620
- });
621
- curves.push({
622
- tickLower: curveTicks.tickLower,
623
- tickUpper: curveTicks.tickUpper,
624
- numPositions: curve.numPositions,
625
- shares: curve.shares
626
- });
627
- }
628
- const sortedBeneficiaries = config.beneficiaries ? [...config.beneficiaries].sort((a, b) => {
629
- const aAddr = a.beneficiary.toLowerCase();
630
- const bAddr = b.beneficiary.toLowerCase();
631
- return aAddr < bAddr ? -1 : aAddr > bAddr ? 1 : 0;
632
- }) : void 0;
633
- this.pool = {
634
- fee,
635
- tickSpacing,
636
- curves,
637
- beneficiaries: sortedBeneficiaries
638
- };
639
- }
640
- if (!this.pool) throw new Error("poolConfig is required");
641
- if (this.migration.type === "noOp") {
642
- const hasBeneficiaries = this.pool.beneficiaries && this.pool.beneficiaries.length > 0;
643
- if (!hasBeneficiaries) {
644
- throw new Error(
645
- "noOp migration requires beneficiaries. Without beneficiaries, the pool would be stuck after reaching graduation - exitLiquidity() succeeds but NoOpMigrator.migrate() always reverts, causing the entire transaction to fail. Either add beneficiaries or use a different migration type (uniswapV2, uniswapV4)."
646
- );
647
- }
648
- }
649
- let dopplerHook = this.dopplerHook;
650
- if (dopplerHook?.graduationMarketCap !== void 0) {
651
- const numerairePrice = dopplerHook.numerairePrice ?? this.numerairePrice;
652
- if (!numerairePrice) {
653
- throw new Error(
654
- "graduationMarketCap requires numerairePrice. Either use withCurves() (which provides numerairePrice), or pass numerairePrice explicitly in withRehypeDopplerHook()."
655
- );
656
- }
657
- if (dopplerHook.graduationMarketCap <= 0) {
658
- throw new Error("graduationMarketCap must be greater than 0");
659
- }
660
- const farTick = chunkFNUBKONK_js.marketCapToTickForMulticurve({
661
- marketCapUSD: dopplerHook.graduationMarketCap,
662
- tokenSupply: this.sale.initialSupply,
663
- numerairePriceUSD: numerairePrice,
664
- tickSpacing: this.pool.tickSpacing,
665
- tokenDecimals: this.tokenDecimals ?? 18,
666
- numeraireDecimals: this.numeraireDecimals ?? 18
667
- });
668
- const allTickUppers = this.pool.curves.map((c) => c.tickUpper);
669
- const allTickLowers = this.pool.curves.map((c) => c.tickLower);
670
- const maxTickUpper = Math.max(...allTickUppers);
671
- const minTickLower = Math.min(...allTickLowers);
672
- if (farTick < minTickLower) {
673
- throw new Error(
674
- `graduationMarketCap converts to tick ${farTick}, which is below the lowest curve tick (${minTickLower})`
675
- );
676
- }
677
- if (farTick > maxTickUpper) {
678
- throw new Error(
679
- `graduationMarketCap converts to tick ${farTick}, which is above the highest curve tick (${maxTickUpper})`
680
- );
681
- }
682
- dopplerHook = { ...dopplerHook, farTick };
683
- }
684
- const initializer = this.initializer ?? (dopplerHook ? { type: "rehype", config: dopplerHook } : this.schedule ? { type: "scheduled", startTime: this.schedule.startTime } : { type: "standard" });
685
- if (initializer.type === "scheduled" && dopplerHook) {
686
- throw new Error(
687
- "Cannot combine scheduled multicurve with rehype initializer. Use exactly one initializer mode."
688
- );
689
- }
690
- if (initializer.type === "decay" && dopplerHook) {
691
- throw new Error(
692
- "Cannot combine decay multicurve with rehype initializer. Use exactly one initializer mode."
693
- );
694
- }
695
- if (initializer.type === "decay") {
696
- const startFee = Number(initializer.startFee);
697
- const terminalFee = Number(this.pool.fee);
698
- if (startFee < terminalFee) {
699
- throw new Error(
700
- `Decay startFee (${startFee}) must be greater than or equal to terminal pool fee (${terminalFee})`
701
- );
702
- }
703
- if (startFee > terminalFee && initializer.durationSeconds <= 0) {
704
- throw new Error(
705
- "Decay durationSeconds must be greater than 0 when startFee is greater than pool.fee"
706
- );
707
- }
708
- }
709
- const schedule = initializer.type === "scheduled" ? { startTime: initializer.startTime } : void 0;
710
- dopplerHook = initializer.type === "rehype" ? initializer.config : void 0;
711
- const governance = this.governance ?? (chunk65CESA3J_js.isNoOpEnabledChain(this.chainId) ? { type: "noOp" } : { type: "default" });
712
- if (governance.type === "launchpad" && !chunk65CESA3J_js.isLaunchpadEnabledChain(this.chainId)) {
713
- throw new Error(
714
- `Launchpad governance is not supported on chain ${this.chainId}. Use a supported chain or a different governance type.`
715
- );
716
- }
717
- return {
718
- token: this.token,
719
- sale: this.sale,
720
- pool: this.pool,
721
- initializer,
722
- schedule,
723
- dopplerHook,
724
- vesting: this.vesting,
725
- governance,
726
- migration: this.migration,
727
- integrator: this.integrator ?? chunk6BQY5EPB_js.ZERO_ADDRESS,
728
- userAddress: this.userAddress,
729
- modules: this.moduleAddresses,
730
- gas: this.gasLimit
731
- };
732
- }
733
- };
734
-
735
- exports.MulticurveBuilder = MulticurveBuilder;
736
- //# sourceMappingURL=chunk-2A3B3NVB.js.map
737
- //# sourceMappingURL=chunk-2A3B3NVB.js.map