@whetstone-research/doppler-sdk 0.0.23 → 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 (425) hide show
  1. package/README.md +556 -229
  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-3PNCB4W5.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 +37 -21
  21. package/dist/DopplerSDK.d.mts +0 -94
  22. package/dist/DopplerSDK.d.ts +0 -94
  23. package/dist/DopplerSDK.js +0 -51
  24. package/dist/DopplerSDK.js.map +0 -1
  25. package/dist/DopplerSDK.mjs +0 -42
  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 -3460
  64. package/dist/abis/index.d.ts +0 -3460
  65. package/dist/abis/index.js +0 -122
  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 -65
  70. package/dist/addresses.d.ts +0 -65
  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 -183
  82. package/dist/builders/MulticurveBuilder.d.ts +0 -183
  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 -45
  102. package/dist/builders/shared.js.map +0 -1
  103. package/dist/builders/shared.mjs +0 -24
  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-3MVW6UIW.js +0 -2294
  108. package/dist/chunk-3MVW6UIW.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-3PNCB4W5.js +0 -4
  112. package/dist/chunk-4VWQNNNW.js +0 -233
  113. package/dist/chunk-4VWQNNNW.js.map +0 -1
  114. package/dist/chunk-4XN6DQBW.js +0 -4
  115. package/dist/chunk-4XN6DQBW.js.map +0 -1
  116. package/dist/chunk-5TQOT6CW.js +0 -8
  117. package/dist/chunk-5TQOT6CW.js.map +0 -1
  118. package/dist/chunk-6BQY5EPB.js +0 -144
  119. package/dist/chunk-6BQY5EPB.js.map +0 -1
  120. package/dist/chunk-6H6X3VTZ.js +0 -18
  121. package/dist/chunk-6H6X3VTZ.js.map +0 -1
  122. package/dist/chunk-6UHDSD42.js +0 -2585
  123. package/dist/chunk-6UHDSD42.js.map +0 -1
  124. package/dist/chunk-7CAAI5DL.js +0 -273
  125. package/dist/chunk-7CAAI5DL.js.map +0 -1
  126. package/dist/chunk-7M57PU6V.js +0 -28
  127. package/dist/chunk-7M57PU6V.js.map +0 -1
  128. package/dist/chunk-7P2SPZC7.mjs +0 -2583
  129. package/dist/chunk-7P2SPZC7.mjs.map +0 -1
  130. package/dist/chunk-7ZUV6WPX.mjs +0 -3
  131. package/dist/chunk-7ZUV6WPX.mjs.map +0 -1
  132. package/dist/chunk-ABT6AT7C.mjs +0 -16
  133. package/dist/chunk-ABT6AT7C.mjs.map +0 -1
  134. package/dist/chunk-C6MH7HYT.mjs +0 -138
  135. package/dist/chunk-C6MH7HYT.mjs.map +0 -1
  136. package/dist/chunk-CATH4QRQ.mjs +0 -141
  137. package/dist/chunk-CATH4QRQ.mjs.map +0 -1
  138. package/dist/chunk-CFAAYL5M.mjs +0 -26
  139. package/dist/chunk-CFAAYL5M.mjs.map +0 -1
  140. package/dist/chunk-CMNJZKTM.js +0 -140
  141. package/dist/chunk-CMNJZKTM.js.map +0 -1
  142. package/dist/chunk-CWTGQAOG.mjs +0 -72
  143. package/dist/chunk-CWTGQAOG.mjs.map +0 -1
  144. package/dist/chunk-DNB3T5P2.js +0 -269
  145. package/dist/chunk-DNB3T5P2.js.map +0 -1
  146. package/dist/chunk-DOUF6NON.mjs +0 -3
  147. package/dist/chunk-DOUF6NON.mjs.map +0 -1
  148. package/dist/chunk-DSYPZETD.js +0 -4
  149. package/dist/chunk-DSYPZETD.js.map +0 -1
  150. package/dist/chunk-E2NF4AQB.mjs +0 -2271
  151. package/dist/chunk-E2NF4AQB.mjs.map +0 -1
  152. package/dist/chunk-EH3V2BJF.js +0 -592
  153. package/dist/chunk-EH3V2BJF.js.map +0 -1
  154. package/dist/chunk-EIXUJANI.mjs +0 -590
  155. package/dist/chunk-EIXUJANI.mjs.map +0 -1
  156. package/dist/chunk-FFV6DMPA.mjs +0 -263
  157. package/dist/chunk-FFV6DMPA.mjs.map +0 -1
  158. package/dist/chunk-FLFYAWSS.mjs +0 -238
  159. package/dist/chunk-FLFYAWSS.mjs.map +0 -1
  160. package/dist/chunk-FNUBKONK.js +0 -291
  161. package/dist/chunk-FNUBKONK.js.map +0 -1
  162. package/dist/chunk-FOESYJP3.mjs +0 -3
  163. package/dist/chunk-FOESYJP3.mjs.map +0 -1
  164. package/dist/chunk-FTRCBE3J.js +0 -320
  165. package/dist/chunk-FTRCBE3J.js.map +0 -1
  166. package/dist/chunk-FZ4FIWCR.js +0 -240
  167. package/dist/chunk-FZ4FIWCR.js.map +0 -1
  168. package/dist/chunk-GDODJJ7D.mjs +0 -36
  169. package/dist/chunk-GDODJJ7D.mjs.map +0 -1
  170. package/dist/chunk-GSBQIVME.mjs +0 -278
  171. package/dist/chunk-GSBQIVME.mjs.map +0 -1
  172. package/dist/chunk-GSTY3GO7.mjs +0 -40
  173. package/dist/chunk-GSTY3GO7.mjs.map +0 -1
  174. package/dist/chunk-H3B54PFV.mjs +0 -17
  175. package/dist/chunk-H3B54PFV.mjs.map +0 -1
  176. package/dist/chunk-H7WPK5CR.js +0 -297
  177. package/dist/chunk-H7WPK5CR.js.map +0 -1
  178. package/dist/chunk-HJFVRV47.js +0 -120
  179. package/dist/chunk-HJFVRV47.js.map +0 -1
  180. package/dist/chunk-HL7ZAAD4.mjs +0 -375
  181. package/dist/chunk-HL7ZAAD4.mjs.map +0 -1
  182. package/dist/chunk-IWJOPXYN.mjs +0 -96
  183. package/dist/chunk-IWJOPXYN.mjs.map +0 -1
  184. package/dist/chunk-J62YDWIK.js +0 -8
  185. package/dist/chunk-J62YDWIK.js.map +0 -1
  186. package/dist/chunk-JB5XXPLL.js +0 -377
  187. package/dist/chunk-JB5XXPLL.js.map +0 -1
  188. package/dist/chunk-JIKAD4YL.js +0 -4
  189. package/dist/chunk-JIKAD4YL.js.map +0 -1
  190. package/dist/chunk-KAZQJ24E.mjs +0 -59
  191. package/dist/chunk-KAZQJ24E.mjs.map +0 -1
  192. package/dist/chunk-KHUE77HC.js +0 -81
  193. package/dist/chunk-KHUE77HC.js.map +0 -1
  194. package/dist/chunk-KOAC3BBP.mjs +0 -11
  195. package/dist/chunk-KOAC3BBP.mjs.map +0 -1
  196. package/dist/chunk-OHA5KJ2M.mjs +0 -6
  197. package/dist/chunk-OHA5KJ2M.mjs.map +0 -1
  198. package/dist/chunk-OX5CESVM.js +0 -40
  199. package/dist/chunk-OX5CESVM.js.map +0 -1
  200. package/dist/chunk-P25HBGP5.mjs +0 -3
  201. package/dist/chunk-P25HBGP5.mjs.map +0 -1
  202. package/dist/chunk-P7CHGWY7.js +0 -4
  203. package/dist/chunk-P7CHGWY7.js.map +0 -1
  204. package/dist/chunk-QAPQGDWK.js +0 -8
  205. package/dist/chunk-QAPQGDWK.js.map +0 -1
  206. package/dist/chunk-QOGBOT2M.mjs +0 -328
  207. package/dist/chunk-QOGBOT2M.mjs.map +0 -1
  208. package/dist/chunk-QRTABC4Z.js +0 -8
  209. package/dist/chunk-QRTABC4Z.js.map +0 -1
  210. package/dist/chunk-QSQGLWNY.mjs +0 -3
  211. package/dist/chunk-QSQGLWNY.mjs.map +0 -1
  212. package/dist/chunk-RI6SDMER.mjs +0 -295
  213. package/dist/chunk-RI6SDMER.mjs.map +0 -1
  214. package/dist/chunk-RIIVW6TQ.mjs +0 -267
  215. package/dist/chunk-RIIVW6TQ.mjs.map +0 -1
  216. package/dist/chunk-RV64M4Q6.mjs +0 -3
  217. package/dist/chunk-RV64M4Q6.mjs.map +0 -1
  218. package/dist/chunk-RXUJ4DUB.js +0 -330
  219. package/dist/chunk-RXUJ4DUB.js.map +0 -1
  220. package/dist/chunk-SD7BHT2F.mjs +0 -3
  221. package/dist/chunk-SD7BHT2F.mjs.map +0 -1
  222. package/dist/chunk-SWWLOD7Q.mjs +0 -6
  223. package/dist/chunk-SWWLOD7Q.mjs.map +0 -1
  224. package/dist/chunk-TIGHBA37.js +0 -143
  225. package/dist/chunk-TIGHBA37.js.map +0 -1
  226. package/dist/chunk-TLEVIIUE.mjs +0 -34
  227. package/dist/chunk-TLEVIIUE.mjs.map +0 -1
  228. package/dist/chunk-U3GOWK6J.mjs +0 -6
  229. package/dist/chunk-U3GOWK6J.mjs.map +0 -1
  230. package/dist/chunk-UPVKABAV.js +0 -19
  231. package/dist/chunk-UPVKABAV.js.map +0 -1
  232. package/dist/chunk-VCX6FG3E.mjs +0 -318
  233. package/dist/chunk-VCX6FG3E.mjs.map +0 -1
  234. package/dist/chunk-VEIVYUYF.js +0 -4
  235. package/dist/chunk-VEIVYUYF.js.map +0 -1
  236. package/dist/chunk-VYSOAGRU.mjs +0 -6
  237. package/dist/chunk-VYSOAGRU.mjs.map +0 -1
  238. package/dist/chunk-WJBJARLJ.js +0 -38
  239. package/dist/chunk-WJBJARLJ.js.map +0 -1
  240. package/dist/chunk-WNUB3UTT.js +0 -241
  241. package/dist/chunk-WNUB3UTT.js.map +0 -1
  242. package/dist/chunk-WQHTNL5L.js +0 -4
  243. package/dist/chunk-WQHTNL5L.js.map +0 -1
  244. package/dist/chunk-X3UMAHOJ.js +0 -4
  245. package/dist/chunk-X3UMAHOJ.js.map +0 -1
  246. package/dist/chunk-XMFOZYNI.js +0 -8
  247. package/dist/chunk-XMFOZYNI.js.map +0 -1
  248. package/dist/chunk-XNMXN5SZ.mjs +0 -3
  249. package/dist/chunk-XNMXN5SZ.mjs.map +0 -1
  250. package/dist/chunk-XRYLHTVV.mjs +0 -267
  251. package/dist/chunk-XRYLHTVV.mjs.map +0 -1
  252. package/dist/chunk-XSJTASPK.js +0 -13
  253. package/dist/chunk-XSJTASPK.js.map +0 -1
  254. package/dist/chunk-XT3BAM4H.js +0 -45
  255. package/dist/chunk-XT3BAM4H.js.map +0 -1
  256. package/dist/chunk-YBK6EBA5.mjs +0 -239
  257. package/dist/chunk-YBK6EBA5.mjs.map +0 -1
  258. package/dist/chunk-YFEPTSI2.js +0 -265
  259. package/dist/chunk-YFEPTSI2.js.map +0 -1
  260. package/dist/chunk-YYLD3AJ7.js +0 -61
  261. package/dist/chunk-YYLD3AJ7.js.map +0 -1
  262. package/dist/chunk-ZEDJUNC6.mjs +0 -115
  263. package/dist/chunk-ZEDJUNC6.mjs.map +0 -1
  264. package/dist/constants.d.mts +0 -91
  265. package/dist/constants.d.ts +0 -91
  266. package/dist/constants.js +0 -196
  267. package/dist/constants.js.map +0 -1
  268. package/dist/constants.mjs +0 -3
  269. package/dist/constants.mjs.map +0 -1
  270. package/dist/deployments.generated.d.mts +0 -267
  271. package/dist/deployments.generated.d.ts +0 -267
  272. package/dist/deployments.generated.js +0 -12
  273. package/dist/deployments.generated.js.map +0 -1
  274. package/dist/deployments.generated.mjs +0 -3
  275. package/dist/deployments.generated.mjs.map +0 -1
  276. package/dist/entities/DopplerFactory.d.mts +0 -266
  277. package/dist/entities/DopplerFactory.d.ts +0 -266
  278. package/dist/entities/DopplerFactory.js +0 -33
  279. package/dist/entities/DopplerFactory.js.map +0 -1
  280. package/dist/entities/DopplerFactory.mjs +0 -24
  281. package/dist/entities/DopplerFactory.mjs.map +0 -1
  282. package/dist/entities/auction/DynamicAuction.d.mts +0 -72
  283. package/dist/entities/auction/DynamicAuction.d.ts +0 -72
  284. package/dist/entities/auction/DynamicAuction.js +0 -21
  285. package/dist/entities/auction/DynamicAuction.js.map +0 -1
  286. package/dist/entities/auction/DynamicAuction.mjs +0 -12
  287. package/dist/entities/auction/DynamicAuction.mjs.map +0 -1
  288. package/dist/entities/auction/MulticurvePool.d.mts +0 -74
  289. package/dist/entities/auction/MulticurvePool.d.ts +0 -74
  290. package/dist/entities/auction/MulticurvePool.js +0 -24
  291. package/dist/entities/auction/MulticurvePool.js.map +0 -1
  292. package/dist/entities/auction/MulticurvePool.mjs +0 -15
  293. package/dist/entities/auction/MulticurvePool.mjs.map +0 -1
  294. package/dist/entities/auction/StaticAuction.d.mts +0 -44
  295. package/dist/entities/auction/StaticAuction.d.ts +0 -44
  296. package/dist/entities/auction/StaticAuction.js +0 -21
  297. package/dist/entities/auction/StaticAuction.js.map +0 -1
  298. package/dist/entities/auction/StaticAuction.mjs +0 -12
  299. package/dist/entities/auction/StaticAuction.mjs.map +0 -1
  300. package/dist/entities/auction/index.d.mts +0 -7
  301. package/dist/entities/auction/index.d.ts +0 -7
  302. package/dist/entities/auction/index.js +0 -35
  303. package/dist/entities/auction/index.js.map +0 -1
  304. package/dist/entities/auction/index.mjs +0 -18
  305. package/dist/entities/auction/index.mjs.map +0 -1
  306. package/dist/entities/quoter/Quoter.d.mts +0 -150
  307. package/dist/entities/quoter/Quoter.d.ts +0 -150
  308. package/dist/entities/quoter/Quoter.js +0 -21
  309. package/dist/entities/quoter/Quoter.js.map +0 -1
  310. package/dist/entities/quoter/Quoter.mjs +0 -12
  311. package/dist/entities/quoter/Quoter.mjs.map +0 -1
  312. package/dist/entities/quoter/index.d.mts +0 -5
  313. package/dist/entities/quoter/index.d.ts +0 -5
  314. package/dist/entities/quoter/index.js +0 -22
  315. package/dist/entities/quoter/index.js.map +0 -1
  316. package/dist/entities/quoter/index.mjs +0 -13
  317. package/dist/entities/quoter/index.mjs.map +0 -1
  318. package/dist/entities/token/derc20/Derc20.d.mts +0 -102
  319. package/dist/entities/token/derc20/Derc20.d.ts +0 -102
  320. package/dist/entities/token/derc20/Derc20.js +0 -19
  321. package/dist/entities/token/derc20/Derc20.js.map +0 -1
  322. package/dist/entities/token/derc20/Derc20.mjs +0 -10
  323. package/dist/entities/token/derc20/Derc20.mjs.map +0 -1
  324. package/dist/entities/token/derc20/index.d.mts +0 -5
  325. package/dist/entities/token/derc20/index.d.ts +0 -5
  326. package/dist/entities/token/derc20/index.js +0 -20
  327. package/dist/entities/token/derc20/index.js.map +0 -1
  328. package/dist/entities/token/derc20/index.mjs +0 -11
  329. package/dist/entities/token/derc20/index.mjs.map +0 -1
  330. package/dist/entities/token/eth/Eth.d.mts +0 -54
  331. package/dist/entities/token/eth/Eth.d.ts +0 -54
  332. package/dist/entities/token/eth/Eth.js +0 -12
  333. package/dist/entities/token/eth/Eth.js.map +0 -1
  334. package/dist/entities/token/eth/Eth.mjs +0 -3
  335. package/dist/entities/token/eth/Eth.mjs.map +0 -1
  336. package/dist/entities/token/eth/index.d.mts +0 -5
  337. package/dist/entities/token/eth/index.d.ts +0 -5
  338. package/dist/entities/token/eth/index.js +0 -13
  339. package/dist/entities/token/eth/index.js.map +0 -1
  340. package/dist/entities/token/eth/index.mjs +0 -4
  341. package/dist/entities/token/eth/index.mjs.map +0 -1
  342. package/dist/entities/token/index.d.mts +0 -6
  343. package/dist/entities/token/index.d.ts +0 -6
  344. package/dist/entities/token/index.js +0 -27
  345. package/dist/entities/token/index.js.map +0 -1
  346. package/dist/entities/token/index.mjs +0 -14
  347. package/dist/entities/token/index.mjs.map +0 -1
  348. package/dist/index.d.mts +0 -37
  349. package/dist/index.d.ts +0 -37
  350. package/dist/index.js +0 -565
  351. package/dist/index.js.map +0 -1
  352. package/dist/index.mjs +0 -47
  353. package/dist/index.mjs.map +0 -1
  354. package/dist/types.d.mts +0 -607
  355. package/dist/types.d.ts +0 -607
  356. package/dist/types.js +0 -30
  357. package/dist/types.js.map +0 -1
  358. package/dist/types.mjs +0 -5
  359. package/dist/types.mjs.map +0 -1
  360. package/dist/utils/airlock.d.mts +0 -11
  361. package/dist/utils/airlock.d.ts +0 -11
  362. package/dist/utils/airlock.js +0 -26
  363. package/dist/utils/airlock.js.map +0 -1
  364. package/dist/utils/airlock.mjs +0 -5
  365. package/dist/utils/airlock.mjs.map +0 -1
  366. package/dist/utils/balanceDelta.d.mts +0 -10
  367. package/dist/utils/balanceDelta.d.ts +0 -10
  368. package/dist/utils/balanceDelta.js +0 -12
  369. package/dist/utils/balanceDelta.js.map +0 -1
  370. package/dist/utils/balanceDelta.mjs +0 -3
  371. package/dist/utils/balanceDelta.mjs.map +0 -1
  372. package/dist/utils/computeOptimalGamma.d.mts +0 -7
  373. package/dist/utils/computeOptimalGamma.d.ts +0 -7
  374. package/dist/utils/computeOptimalGamma.js +0 -12
  375. package/dist/utils/computeOptimalGamma.js.map +0 -1
  376. package/dist/utils/computeOptimalGamma.mjs +0 -3
  377. package/dist/utils/computeOptimalGamma.mjs.map +0 -1
  378. package/dist/utils/dopplerHookMigrator.d.mts +0 -11
  379. package/dist/utils/dopplerHookMigrator.d.ts +0 -11
  380. package/dist/utils/dopplerHookMigrator.js +0 -12
  381. package/dist/utils/dopplerHookMigrator.js.map +0 -1
  382. package/dist/utils/dopplerHookMigrator.mjs +0 -3
  383. package/dist/utils/dopplerHookMigrator.mjs.map +0 -1
  384. package/dist/utils/index.d.mts +0 -14
  385. package/dist/utils/index.d.ts +0 -14
  386. package/dist/utils/index.js +0 -195
  387. package/dist/utils/index.js.map +0 -1
  388. package/dist/utils/index.mjs +0 -22
  389. package/dist/utils/index.mjs.map +0 -1
  390. package/dist/utils/isToken0Expected.d.mts +0 -13
  391. package/dist/utils/isToken0Expected.d.ts +0 -13
  392. package/dist/utils/isToken0Expected.js +0 -12
  393. package/dist/utils/isToken0Expected.js.map +0 -1
  394. package/dist/utils/isToken0Expected.mjs +0 -3
  395. package/dist/utils/isToken0Expected.mjs.map +0 -1
  396. package/dist/utils/marketCapHelpers.d.mts +0 -259
  397. package/dist/utils/marketCapHelpers.d.ts +0 -259
  398. package/dist/utils/marketCapHelpers.js +0 -58
  399. package/dist/utils/marketCapHelpers.js.map +0 -1
  400. package/dist/utils/marketCapHelpers.mjs +0 -5
  401. package/dist/utils/marketCapHelpers.mjs.map +0 -1
  402. package/dist/utils/poolKey.d.mts +0 -17
  403. package/dist/utils/poolKey.d.ts +0 -17
  404. package/dist/utils/poolKey.js +0 -12
  405. package/dist/utils/poolKey.js.map +0 -1
  406. package/dist/utils/poolKey.mjs +0 -3
  407. package/dist/utils/poolKey.mjs.map +0 -1
  408. package/dist/utils/priceHelpers.d.mts +0 -86
  409. package/dist/utils/priceHelpers.d.ts +0 -86
  410. package/dist/utils/priceHelpers.js +0 -41
  411. package/dist/utils/priceHelpers.js.map +0 -1
  412. package/dist/utils/priceHelpers.mjs +0 -4
  413. package/dist/utils/priceHelpers.mjs.map +0 -1
  414. package/dist/utils/tickMath.d.mts +0 -72
  415. package/dist/utils/tickMath.d.ts +0 -72
  416. package/dist/utils/tickMath.js +0 -60
  417. package/dist/utils/tickMath.js.map +0 -1
  418. package/dist/utils/tickMath.mjs +0 -3
  419. package/dist/utils/tickMath.mjs.map +0 -1
  420. package/dist/utils/tokenAddressMiner.d.mts +0 -37
  421. package/dist/utils/tokenAddressMiner.d.ts +0 -37
  422. package/dist/utils/tokenAddressMiner.js +0 -19
  423. package/dist/utils/tokenAddressMiner.js.map +0 -1
  424. package/dist/utils/tokenAddressMiner.mjs +0 -10
  425. package/dist/utils/tokenAddressMiner.mjs.map +0 -1
@@ -1,233 +0,0 @@
1
- 'use strict';
2
-
3
- // src/utils/tickMath.ts
4
- var MIN_TICK = -887272;
5
- var MAX_TICK = 887272;
6
- var MIN_SQRT_RATIO = 4295128739n;
7
- var MAX_SQRT_RATIO = 1461446703485210103287273052203988822378723970342n;
8
- var Q96 = 2n ** 96n;
9
- var Q192 = Q96 * Q96;
10
- var PRICE_PRECISION = 10n ** 18n;
11
- function bigIntSqrt(n) {
12
- if (n < 0n) throw new Error("Square root of negative number");
13
- if (n === 0n) return 0n;
14
- if (n === 1n) return 1n;
15
- let x = n;
16
- let y = (x + 1n) / 2n;
17
- while (y < x) {
18
- x = y;
19
- y = (x + n / x) / 2n;
20
- }
21
- return x;
22
- }
23
- function getSqrtRatioAtTick(tick) {
24
- if (tick < MIN_TICK || tick > MAX_TICK) {
25
- throw new Error("Tick out of bounds");
26
- }
27
- const absTick = tick < 0 ? -tick : tick;
28
- let ratio = (absTick & 1) !== 0 ? 0xfffcb933bd6fad37aa2d162d1a594001n : 0x100000000000000000000000000000000n;
29
- if ((absTick & 2) !== 0)
30
- ratio = ratio * 0xfff97272373d413259a46990580e213an >> 128n;
31
- if ((absTick & 4) !== 0)
32
- ratio = ratio * 0xfff2e50f5f656932ef12357cf3c7fdccn >> 128n;
33
- if ((absTick & 8) !== 0)
34
- ratio = ratio * 0xffe5caca7e10e4e61c3624eaa0941cd0n >> 128n;
35
- if ((absTick & 16) !== 0)
36
- ratio = ratio * 0xffcb9843d60f6159c9db58835c926644n >> 128n;
37
- if ((absTick & 32) !== 0)
38
- ratio = ratio * 0xff973b41fa98c081472e6896dfb254c0n >> 128n;
39
- if ((absTick & 64) !== 0)
40
- ratio = ratio * 0xff2ea16466c96a3843ec78b326b52861n >> 128n;
41
- if ((absTick & 128) !== 0)
42
- ratio = ratio * 0xfe5dee046a99a2a811c461f1969c3053n >> 128n;
43
- if ((absTick & 256) !== 0)
44
- ratio = ratio * 0xfcbe86c7900a88aedcffc83b479aa3a4n >> 128n;
45
- if ((absTick & 512) !== 0)
46
- ratio = ratio * 0xf987a7253ac413176f2b074cf7815e54n >> 128n;
47
- if ((absTick & 1024) !== 0)
48
- ratio = ratio * 0xf3392b0822b70005940c7a398e4b70f3n >> 128n;
49
- if ((absTick & 2048) !== 0)
50
- ratio = ratio * 0xe7159475a2c29b7443b29c7fa6e889d9n >> 128n;
51
- if ((absTick & 4096) !== 0)
52
- ratio = ratio * 0xd097f3bdfd2022b8845ad8f792aa5825n >> 128n;
53
- if ((absTick & 8192) !== 0)
54
- ratio = ratio * 0xa9f746462d870fdf8a65dc1f90e061e5n >> 128n;
55
- if ((absTick & 16384) !== 0)
56
- ratio = ratio * 0x70d869a156d2a1b890bb3df62baf32f7n >> 128n;
57
- if ((absTick & 32768) !== 0)
58
- ratio = ratio * 0x31be135f97d08fd981231505542fcfa6n >> 128n;
59
- if ((absTick & 65536) !== 0)
60
- ratio = ratio * 0x9aa508b5b7a84e1c677de54f3e99bc9n >> 128n;
61
- if ((absTick & 131072) !== 0)
62
- ratio = ratio * 0x5d6af8dedb81196699c329225ee604n >> 128n;
63
- if ((absTick & 262144) !== 0)
64
- ratio = ratio * 0x2216e584f5fa1ea926041bedfe98n >> 128n;
65
- if ((absTick & 524288) !== 0)
66
- ratio = ratio * 0x48a170391f7dc42444e8fa2n >> 128n;
67
- if (tick > 0) ratio = (2n ** 256n - 1n) / ratio;
68
- return ratio >> 32n;
69
- }
70
- function getTickAtSqrtRatio(sqrtRatioX96) {
71
- if (sqrtRatioX96 < MIN_SQRT_RATIO || sqrtRatioX96 >= MAX_SQRT_RATIO) {
72
- throw new Error("sqrt ratio out of bounds");
73
- }
74
- const ratio = sqrtRatioX96 << 32n;
75
- let r = ratio;
76
- let msb = 0n;
77
- let f = r > 0xffffffffffffffffffffffffffffffffn ? 1n : 0n;
78
- msb = msb | f << 7n;
79
- r = r >> f * 128n;
80
- f = r > 0xffffffffffffffffn ? 1n : 0n;
81
- msb = msb | f << 6n;
82
- r = r >> f * 64n;
83
- f = r > 0xffffffffn ? 1n : 0n;
84
- msb = msb | f << 5n;
85
- r = r >> f * 32n;
86
- f = r > 0xffffn ? 1n : 0n;
87
- msb = msb | f << 4n;
88
- r = r >> f * 16n;
89
- f = r > 0xffn ? 1n : 0n;
90
- msb = msb | f << 3n;
91
- r = r >> f * 8n;
92
- f = r > 0xfn ? 1n : 0n;
93
- msb = msb | f << 2n;
94
- r = r >> f * 4n;
95
- f = r > 0x3n ? 1n : 0n;
96
- msb = msb | f << 1n;
97
- r = r >> f * 2n;
98
- f = r > 0x1n ? 1n : 0n;
99
- msb = msb | f;
100
- let log2 = msb - 128n << 64n;
101
- r = ratio << 127n >> msb;
102
- r = r * r >> 127n;
103
- f = r >> 128n;
104
- log2 = log2 | f << 63n;
105
- r = r >> f;
106
- r = r * r >> 127n;
107
- f = r >> 128n;
108
- log2 = log2 | f << 62n;
109
- r = r >> f;
110
- r = r * r >> 127n;
111
- f = r >> 128n;
112
- log2 = log2 | f << 61n;
113
- r = r >> f;
114
- r = r * r >> 127n;
115
- f = r >> 128n;
116
- log2 = log2 | f << 60n;
117
- r = r >> f;
118
- r = r * r >> 127n;
119
- f = r >> 128n;
120
- log2 = log2 | f << 59n;
121
- r = r >> f;
122
- r = r * r >> 127n;
123
- f = r >> 128n;
124
- log2 = log2 | f << 58n;
125
- r = r >> f;
126
- r = r * r >> 127n;
127
- f = r >> 128n;
128
- log2 = log2 | f << 57n;
129
- r = r >> f;
130
- r = r * r >> 127n;
131
- f = r >> 128n;
132
- log2 = log2 | f << 56n;
133
- r = r >> f;
134
- r = r * r >> 127n;
135
- f = r >> 128n;
136
- log2 = log2 | f << 55n;
137
- r = r >> f;
138
- r = r * r >> 127n;
139
- f = r >> 128n;
140
- log2 = log2 | f << 54n;
141
- r = r >> f;
142
- r = r * r >> 127n;
143
- f = r >> 128n;
144
- log2 = log2 | f << 53n;
145
- r = r >> f;
146
- r = r * r >> 127n;
147
- f = r >> 128n;
148
- log2 = log2 | f << 52n;
149
- r = r >> f;
150
- r = r * r >> 127n;
151
- f = r >> 128n;
152
- log2 = log2 | f << 51n;
153
- r = r >> f;
154
- r = r * r >> 127n;
155
- f = r >> 128n;
156
- log2 = log2 | f << 50n;
157
- const log_sqrt10001 = log2 * 255738958999603826347141n;
158
- const tickLow = Number(
159
- log_sqrt10001 - 3402992956809132418596140100660247210n >> 128n
160
- );
161
- const tickHigh = Number(
162
- log_sqrt10001 + 291339464771989622907027621153398088495n >> 128n
163
- );
164
- return tickLow === tickHigh ? tickLow : getSqrtRatioAtTick(tickHigh) <= sqrtRatioX96 ? tickHigh : tickLow;
165
- }
166
- function sqrtPriceX96ToPrice(sqrtPriceX96, decimals0, decimals1, token0IsBase = true) {
167
- const sqrtPriceSquared = sqrtPriceX96 * sqrtPriceX96;
168
- const decimalDiff = decimals1 - decimals0;
169
- let adjustedPrice;
170
- if (decimalDiff >= 0) {
171
- const decimalMultiplier = 10n ** BigInt(decimalDiff);
172
- adjustedPrice = sqrtPriceSquared * decimalMultiplier * PRICE_PRECISION / Q192;
173
- } else {
174
- const decimalDivisor = 10n ** BigInt(-decimalDiff);
175
- adjustedPrice = sqrtPriceSquared * PRICE_PRECISION / (Q192 * decimalDivisor);
176
- }
177
- const price = Number(adjustedPrice) / Number(PRICE_PRECISION);
178
- return token0IsBase ? price : 1 / price;
179
- }
180
- function priceToSqrtPriceX96(price, decimals0, decimals1) {
181
- if (price <= 0) {
182
- throw new Error("Price must be positive");
183
- }
184
- const priceScaled = BigInt(Math.floor(price * 1e18)) * PRICE_PRECISION;
185
- const decimalDiff = decimals0 - decimals1;
186
- let adjustedPriceScaled;
187
- if (decimalDiff >= 0) {
188
- const decimalMultiplier = 10n ** BigInt(decimalDiff);
189
- adjustedPriceScaled = priceScaled * decimalMultiplier;
190
- } else {
191
- const decimalDivisor = 10n ** BigInt(-decimalDiff);
192
- adjustedPriceScaled = priceScaled / decimalDivisor;
193
- }
194
- const sqrtPriceScaled = bigIntSqrt(adjustedPriceScaled);
195
- const sqrtPriceX96 = sqrtPriceScaled * Q96 / PRICE_PRECISION;
196
- if (sqrtPriceX96 < MIN_SQRT_RATIO) {
197
- return MIN_SQRT_RATIO;
198
- }
199
- if (sqrtPriceX96 >= MAX_SQRT_RATIO) {
200
- return MAX_SQRT_RATIO - 1n;
201
- }
202
- return sqrtPriceX96;
203
- }
204
- function tickToPrice(tick, decimals0, decimals1, token0IsBase = true) {
205
- const sqrtPriceX96 = getSqrtRatioAtTick(tick);
206
- return sqrtPriceX96ToPrice(sqrtPriceX96, decimals0, decimals1, token0IsBase);
207
- }
208
- function priceToTick(price, decimals0, decimals1) {
209
- const sqrtPriceX96 = priceToSqrtPriceX96(price, decimals0, decimals1);
210
- return getTickAtSqrtRatio(sqrtPriceX96);
211
- }
212
- function getNearestUsableTick(tick, tickSpacing) {
213
- const rounded = Math.round(tick / tickSpacing) * tickSpacing;
214
- if (rounded < MIN_TICK) return MIN_TICK;
215
- if (rounded > MAX_TICK) return MAX_TICK;
216
- return rounded;
217
- }
218
-
219
- exports.MAX_SQRT_RATIO = MAX_SQRT_RATIO;
220
- exports.MAX_TICK = MAX_TICK;
221
- exports.MIN_SQRT_RATIO = MIN_SQRT_RATIO;
222
- exports.MIN_TICK = MIN_TICK;
223
- exports.Q192 = Q192;
224
- exports.Q96 = Q96;
225
- exports.getNearestUsableTick = getNearestUsableTick;
226
- exports.getSqrtRatioAtTick = getSqrtRatioAtTick;
227
- exports.getTickAtSqrtRatio = getTickAtSqrtRatio;
228
- exports.priceToSqrtPriceX96 = priceToSqrtPriceX96;
229
- exports.priceToTick = priceToTick;
230
- exports.sqrtPriceX96ToPrice = sqrtPriceX96ToPrice;
231
- exports.tickToPrice = tickToPrice;
232
- //# sourceMappingURL=chunk-4VWQNNNW.js.map
233
- //# sourceMappingURL=chunk-4VWQNNNW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/tickMath.ts"],"names":[],"mappings":"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","file":"chunk-4VWQNNNW.js","sourcesContent":["/**\n * Tick math utilities for Uniswap V3/V4 price calculations\n *\n * These utilities help convert between ticks, sqrtPriceX96 values, and human-readable prices\n */\n\n// Constants\nexport const MIN_TICK = -887272;\nexport const MAX_TICK = 887272;\nexport const MIN_SQRT_RATIO = 4295128739n;\nexport const MAX_SQRT_RATIO =\n 1461446703485210103287273052203988822378723970342n;\nexport const Q96 = 2n ** 96n;\nexport const Q192 = Q96 * Q96;\n\n// Precision constant for price calculations (10^18 for high precision)\nconst PRICE_PRECISION = 10n ** 18n;\n\n/**\n * Integer square root using Newton's method (for BigInt)\n * @param n The number to take the square root of\n * @returns The floor of the square root\n */\nfunction bigIntSqrt(n: bigint): bigint {\n if (n < 0n) throw new Error('Square root of negative number');\n if (n === 0n) return 0n;\n if (n === 1n) return 1n;\n\n let x = n;\n let y = (x + 1n) / 2n;\n\n while (y < x) {\n x = y;\n y = (x + n / x) / 2n;\n }\n\n return x;\n}\n\n/**\n * Get the sqrt ratio at a given tick\n * @param tick The tick value\n * @returns The sqrt price as a Q64.96 fixed point number\n */\nexport function getSqrtRatioAtTick(tick: number): bigint {\n if (tick < MIN_TICK || tick > MAX_TICK) {\n throw new Error('Tick out of bounds');\n }\n\n const absTick = tick < 0 ? -tick : tick;\n\n let ratio =\n (absTick & 0x1) !== 0\n ? 0xfffcb933bd6fad37aa2d162d1a594001n\n : 0x100000000000000000000000000000000n;\n\n if ((absTick & 0x2) !== 0)\n ratio = (ratio * 0xfff97272373d413259a46990580e213an) >> 128n;\n if ((absTick & 0x4) !== 0)\n ratio = (ratio * 0xfff2e50f5f656932ef12357cf3c7fdccn) >> 128n;\n if ((absTick & 0x8) !== 0)\n ratio = (ratio * 0xffe5caca7e10e4e61c3624eaa0941cd0n) >> 128n;\n if ((absTick & 0x10) !== 0)\n ratio = (ratio * 0xffcb9843d60f6159c9db58835c926644n) >> 128n;\n if ((absTick & 0x20) !== 0)\n ratio = (ratio * 0xff973b41fa98c081472e6896dfb254c0n) >> 128n;\n if ((absTick & 0x40) !== 0)\n ratio = (ratio * 0xff2ea16466c96a3843ec78b326b52861n) >> 128n;\n if ((absTick & 0x80) !== 0)\n ratio = (ratio * 0xfe5dee046a99a2a811c461f1969c3053n) >> 128n;\n if ((absTick & 0x100) !== 0)\n ratio = (ratio * 0xfcbe86c7900a88aedcffc83b479aa3a4n) >> 128n;\n if ((absTick & 0x200) !== 0)\n ratio = (ratio * 0xf987a7253ac413176f2b074cf7815e54n) >> 128n;\n if ((absTick & 0x400) !== 0)\n ratio = (ratio * 0xf3392b0822b70005940c7a398e4b70f3n) >> 128n;\n if ((absTick & 0x800) !== 0)\n ratio = (ratio * 0xe7159475a2c29b7443b29c7fa6e889d9n) >> 128n;\n if ((absTick & 0x1000) !== 0)\n ratio = (ratio * 0xd097f3bdfd2022b8845ad8f792aa5825n) >> 128n;\n if ((absTick & 0x2000) !== 0)\n ratio = (ratio * 0xa9f746462d870fdf8a65dc1f90e061e5n) >> 128n;\n if ((absTick & 0x4000) !== 0)\n ratio = (ratio * 0x70d869a156d2a1b890bb3df62baf32f7n) >> 128n;\n if ((absTick & 0x8000) !== 0)\n ratio = (ratio * 0x31be135f97d08fd981231505542fcfa6n) >> 128n;\n if ((absTick & 0x10000) !== 0)\n ratio = (ratio * 0x9aa508b5b7a84e1c677de54f3e99bc9n) >> 128n;\n if ((absTick & 0x20000) !== 0)\n ratio = (ratio * 0x5d6af8dedb81196699c329225ee604n) >> 128n;\n if ((absTick & 0x40000) !== 0)\n ratio = (ratio * 0x2216e584f5fa1ea926041bedfe98n) >> 128n;\n if ((absTick & 0x80000) !== 0)\n ratio = (ratio * 0x48a170391f7dc42444e8fa2n) >> 128n;\n\n if (tick > 0) ratio = (2n ** 256n - 1n) / ratio;\n\n // Shift to get Q64.96\n return ratio >> 32n;\n}\n\n/**\n * Get the tick at a given sqrt ratio\n * Based on Uniswap v3 TickMath.sol with corrected BigInt handling\n *\n * @param sqrtRatioX96 The sqrt price as a Q64.96 fixed point number\n * @returns The tick value\n */\nexport function getTickAtSqrtRatio(sqrtRatioX96: bigint): number {\n if (sqrtRatioX96 < MIN_SQRT_RATIO || sqrtRatioX96 >= MAX_SQRT_RATIO) {\n throw new Error('sqrt ratio out of bounds');\n }\n\n // Shift to Q128.128 format\n const ratio = sqrtRatioX96 << 32n;\n\n // Find MSB (most significant bit position)\n let r = ratio;\n let msb = 0n;\n\n // Binary search for MSB\n let f = r > 0xffffffffffffffffffffffffffffffffn ? 1n : 0n;\n msb = msb | (f << 7n);\n r = r >> (f * 128n);\n\n f = r > 0xffffffffffffffffn ? 1n : 0n;\n msb = msb | (f << 6n);\n r = r >> (f * 64n);\n\n f = r > 0xffffffffn ? 1n : 0n;\n msb = msb | (f << 5n);\n r = r >> (f * 32n);\n\n f = r > 0xffffn ? 1n : 0n;\n msb = msb | (f << 4n);\n r = r >> (f * 16n);\n\n f = r > 0xffn ? 1n : 0n;\n msb = msb | (f << 3n);\n r = r >> (f * 8n);\n\n f = r > 0xfn ? 1n : 0n;\n msb = msb | (f << 2n);\n r = r >> (f * 4n);\n\n f = r > 0x3n ? 1n : 0n;\n msb = msb | (f << 1n);\n r = r >> (f * 2n);\n\n f = r > 0x1n ? 1n : 0n;\n msb = msb | f;\n\n // Calculate log2 in Q64.64 format\n let log2 = (msb - 128n) << 64n;\n\n // CRITICAL FIX: Shift ratio to normalize to [1, 2) range in Q127 format\n // This is equivalent to Solidity's: r := shr(msb, shl(127, ratio))\n // Which normalizes ratio so the MSB is at position 127\n r = (ratio << 127n) >> msb;\n\n // Now compute fractional bits of log2 through repeated squaring\n // Each iteration computes one more bit of precision\n r = (r * r) >> 127n;\n f = r >> 128n;\n log2 = log2 | (f << 63n);\n r = r >> f;\n\n r = (r * r) >> 127n;\n f = r >> 128n;\n log2 = log2 | (f << 62n);\n r = r >> f;\n\n r = (r * r) >> 127n;\n f = r >> 128n;\n log2 = log2 | (f << 61n);\n r = r >> f;\n\n r = (r * r) >> 127n;\n f = r >> 128n;\n log2 = log2 | (f << 60n);\n r = r >> f;\n\n r = (r * r) >> 127n;\n f = r >> 128n;\n log2 = log2 | (f << 59n);\n r = r >> f;\n\n r = (r * r) >> 127n;\n f = r >> 128n;\n log2 = log2 | (f << 58n);\n r = r >> f;\n\n r = (r * r) >> 127n;\n f = r >> 128n;\n log2 = log2 | (f << 57n);\n r = r >> f;\n\n r = (r * r) >> 127n;\n f = r >> 128n;\n log2 = log2 | (f << 56n);\n r = r >> f;\n\n r = (r * r) >> 127n;\n f = r >> 128n;\n log2 = log2 | (f << 55n);\n r = r >> f;\n\n r = (r * r) >> 127n;\n f = r >> 128n;\n log2 = log2 | (f << 54n);\n r = r >> f;\n\n r = (r * r) >> 127n;\n f = r >> 128n;\n log2 = log2 | (f << 53n);\n r = r >> f;\n\n r = (r * r) >> 127n;\n f = r >> 128n;\n log2 = log2 | (f << 52n);\n r = r >> f;\n\n r = (r * r) >> 127n;\n f = r >> 128n;\n log2 = log2 | (f << 51n);\n r = r >> f;\n\n r = (r * r) >> 127n;\n f = r >> 128n;\n log2 = log2 | (f << 50n);\n\n // Convert log2 to log_sqrt(1.0001) = log2 * log_sqrt(1.0001) / log(2)\n const log_sqrt10001 = log2 * 255738958999603826347141n;\n\n // Calculate tick bounds with magic numbers for rounding\n const tickLow = Number(\n (log_sqrt10001 - 3402992956809132418596140100660247210n) >> 128n,\n );\n const tickHigh = Number(\n (log_sqrt10001 + 291339464771989622907027621153398088495n) >> 128n,\n );\n\n // Return the correct tick by checking which one is valid\n return tickLow === tickHigh\n ? tickLow\n : getSqrtRatioAtTick(tickHigh) <= sqrtRatioX96\n ? tickHigh\n : tickLow;\n}\n\n/**\n * Convert sqrtPriceX96 to a human-readable price\n * Uses BigInt arithmetic throughout to avoid precision loss with Q96\n *\n * @param sqrtPriceX96 The sqrt price as a Q64.96 fixed point number\n * @param decimals0 Decimals of token0\n * @param decimals1 Decimals of token1\n * @param token0IsBase Whether to return price in terms of token0 (true) or token1 (false)\n * @returns The price as a number\n */\nexport function sqrtPriceX96ToPrice(\n sqrtPriceX96: bigint,\n decimals0: number,\n decimals1: number,\n token0IsBase = true,\n): number {\n // Calculate price using BigInt: price = (sqrtPriceX96)^2 / Q192 * 10^(decimals1 - decimals0)\n // We scale by PRICE_PRECISION to maintain precision before converting to Number\n const sqrtPriceSquared = sqrtPriceX96 * sqrtPriceX96;\n\n // Apply decimal adjustment using BigInt\n const decimalDiff = decimals1 - decimals0;\n let adjustedPrice: bigint;\n\n if (decimalDiff >= 0) {\n // Multiply by 10^decimalDiff, scale by PRICE_PRECISION\n const decimalMultiplier = 10n ** BigInt(decimalDiff);\n adjustedPrice =\n (sqrtPriceSquared * decimalMultiplier * PRICE_PRECISION) / Q192;\n } else {\n // Divide by 10^|decimalDiff|, scale by PRICE_PRECISION\n const decimalDivisor = 10n ** BigInt(-decimalDiff);\n adjustedPrice =\n (sqrtPriceSquared * PRICE_PRECISION) / (Q192 * decimalDivisor);\n }\n\n // Convert to Number, accounting for precision scaling\n const price = Number(adjustedPrice) / Number(PRICE_PRECISION);\n\n return token0IsBase ? price : 1 / price;\n}\n\n/**\n * Convert a human-readable price to sqrtPriceX96\n * Uses BigInt arithmetic throughout to avoid precision loss with Q96\n *\n * @param price The price (token1/token0)\n * @param decimals0 Decimals of token0\n * @param decimals1 Decimals of token1\n * @returns The sqrt price as a Q64.96 fixed point number\n */\nexport function priceToSqrtPriceX96(\n price: number,\n decimals0: number,\n decimals1: number,\n): bigint {\n if (price <= 0) {\n throw new Error('Price must be positive');\n }\n\n // We want: sqrtPriceX96 = sqrt(price / 10^(decimals1 - decimals0)) * Q96\n // = sqrt(price * 10^(decimals0 - decimals1)) * Q96\n //\n // Strategy: Scale price to BigInt, compute sqrt in BigInt, then scale result\n // Using PRICE_PRECISION^2 as scaling factor so sqrt gives us PRICE_PRECISION scaling\n\n // Convert price to scaled BigInt\n // price_scaled = price * 10^36\n const priceScaled = BigInt(Math.floor(price * 1e18)) * PRICE_PRECISION;\n\n // Apply decimal adjustment\n const decimalDiff = decimals0 - decimals1;\n let adjustedPriceScaled: bigint;\n\n if (decimalDiff >= 0) {\n const decimalMultiplier = 10n ** BigInt(decimalDiff);\n adjustedPriceScaled = priceScaled * decimalMultiplier;\n } else {\n const decimalDivisor = 10n ** BigInt(-decimalDiff);\n adjustedPriceScaled = priceScaled / decimalDivisor;\n }\n\n // Compute sqrt: sqrt(adjustedPriceScaled) has scale of 10^18\n const sqrtPriceScaled = bigIntSqrt(adjustedPriceScaled);\n\n // sqrtPriceX96 = sqrtPriceScaled * Q96 / PRICE_PRECISION\n const sqrtPriceX96 = (sqrtPriceScaled * Q96) / PRICE_PRECISION;\n\n // Clamp to valid range\n if (sqrtPriceX96 < MIN_SQRT_RATIO) {\n return MIN_SQRT_RATIO;\n }\n if (sqrtPriceX96 >= MAX_SQRT_RATIO) {\n return MAX_SQRT_RATIO - 1n;\n }\n\n return sqrtPriceX96;\n}\n\n/**\n * Convert a tick to a human-readable price\n * @param tick The tick value\n * @param decimals0 Decimals of token0\n * @param decimals1 Decimals of token1\n * @param token0IsBase Whether to return price in terms of token0 (true) or token1 (false)\n * @returns The price as a number\n */\nexport function tickToPrice(\n tick: number,\n decimals0: number,\n decimals1: number,\n token0IsBase = true,\n): number {\n const sqrtPriceX96 = getSqrtRatioAtTick(tick);\n return sqrtPriceX96ToPrice(sqrtPriceX96, decimals0, decimals1, token0IsBase);\n}\n\n/**\n * Convert a human-readable price to a tick\n * @param price The price (token1/token0)\n * @param decimals0 Decimals of token0\n * @param decimals1 Decimals of token1\n * @returns The tick value\n */\nexport function priceToTick(\n price: number,\n decimals0: number,\n decimals1: number,\n): number {\n const sqrtPriceX96 = priceToSqrtPriceX96(price, decimals0, decimals1);\n return getTickAtSqrtRatio(sqrtPriceX96);\n}\n\n/**\n * Get the nearest usable tick for a given tick spacing\n * @param tick The desired tick\n * @param tickSpacing The tick spacing of the pool\n * @returns The nearest valid tick\n */\nexport function getNearestUsableTick(\n tick: number,\n tickSpacing: number,\n): number {\n const rounded = Math.round(tick / tickSpacing) * tickSpacing;\n if (rounded < MIN_TICK) return MIN_TICK;\n if (rounded > MAX_TICK) return MAX_TICK;\n return rounded;\n}\n"]}
@@ -1,4 +0,0 @@
1
- 'use strict';
2
-
3
- //# sourceMappingURL=chunk-4XN6DQBW.js.map
4
- //# sourceMappingURL=chunk-4XN6DQBW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-4XN6DQBW.js"}
@@ -1,8 +0,0 @@
1
- 'use strict';
2
-
3
- // src/abis/bytecodes/stateView.ts
4
- var stateView_default = "0x60a03460b257601f610b8338819003918201601f19168301916001600160401b0383118484101760b65780849260209460405283398101031260b257516001600160a01b038116810360b257608052604051610ab890816100cb823960805181818160e1015281816101b701528181610217015281816102ba0152818161034a015281816103f50152818161045b015281816104a2015281816104e90152818161054c0152818161060701526107170152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80631c7ccb4c146106a357806353e9c1fb146105de5780637c40f1fe1461050d5780638a2bb9e6146104c657806397fd7b421461048b5780639ec538c814610440578063c815641c146103d5578063caedab5414610309578063dacf1d2f14610246578063dc4c90d314610202578063f0928f29146101835763fa6793d51461009d575f80fd5b34610158576020366003190112610158576100b9600435610a1c565b6003810180911161016f57604051631e2eaeaf60e01b815260048101919091526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610164575f9061012d575b6040516001600160801b039091168152602090f35b506020813d60201161015c575b81610147602093836107c2565b810103126101585760209051610118565b5f80fd5b3d915061013a565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601160045260245ffd5b346101585761019a610194366107ac565b90610a78565b604051631e2eaeaf60e01b815260048101919091526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610164575f9061012d576040516001600160801b039091168152602090f35b34610158575f366003190112610158576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101585760a0366003190112610158576024356001600160a01b03811681036101585761027261079c565b6064358060020b810361015857610305926102de926040519260843560268501526006840152600383015281525f603a600c83012091816040820152816020820152526004357f00000000000000000000000000000000000000000000000000000000000000006108fb565b604080516001600160801b0390941684526020840192909252908201529081906060820190565b0390f35b346101585760403660031901126101585761032d61032561078c565b600435610a42565b604051631e2eaeaf60e01b815260048101919091526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610164575f906103a2575b604080516001600160801b038316815260809290921d600f0b602083015290f35b506020813d6020116103cd575b816103bc602093836107c2565b810103126101585760409051610381565b3d91506103af565b3461015857602036600319011261015857608062ffffff806104196004357f000000000000000000000000000000000000000000000000000000000000000061097d565b9294916040519560018060a01b0316865260020b6020860152166040840152166060820152f35b3461015857602036600319011261015857604061047f6004357f0000000000000000000000000000000000000000000000000000000000000000610972565b82519182526020820152f35b34610158576103056102de61049f366107ac565b907f00000000000000000000000000000000000000000000000000000000000000006108fb565b3461015857604036600319011261015857604061047f6104e461078c565b6004357f000000000000000000000000000000000000000000000000000000000000000061087c565b346101585760403660031901126101585761052961032561078c565b604051631afeb18d60e11b81526004810191909152600360248201525f816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610164576080915f916105bc575b50602081015190606060408201519101519060405192600180861b0381168452841d600f0b602084015260408301526060820152f35b6105d891503d805f833e6105d081836107c2565b8101906107f9565b82610586565b346101585760603660031901126101585760406004356105fc61078c565b9061060561079c565b7f0000000000000000000000000000000000000000000000000000000000000000906106318383610972565b9061063d86868661087c565b96909361065661064e82898961087c565b98909761097d565b5050905060020b9160020b82125f1461067c575050505003910382519182526020820152f35b95969593949360020b1361069457505003910361047f565b9493929094030392030361047f565b34610158576040366003190112610158576024358060010b809103610158576106cd600435610a1c565b6005810180911161016f5760405190602082019283526040820152604081526106f76060826107c2565b519020604051631e2eaeaf60e01b815260048101919091526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610164575f90610759575b602090604051908152f35b506020813d602011610784575b81610773602093836107c2565b81010312610158576020905161074e565b3d9150610766565b602435908160020b820361015857565b604435908160020b820361015857565b6040906003190112610158576004359060243590565b601f909101601f19168101906001600160401b038211908210176107e557604052565b634e487b7160e01b5f52604160045260245ffd5b602081830312610158578051906001600160401b03821161015857019080601f83011215610158578151916001600160401b0383116107e5578260051b906040519361084860208401866107c2565b845260208085019282010192831161015857602001905b82821061086c5750505090565b815181526020918201910161085f565b929161088791610a42565b6001810180911161016f57604051631afeb18d60e11b8152600481019190915260026024820152915f90839060449082906001600160a01b03165afa918215610164575f926108df575b506040602083015192015190565b6108f49192503d805f833e6105d081836107c2565b905f6108d1565b91610907905f92610a78565b604051631afeb18d60e11b815260048101919091526003602482015291829060449082906001600160a01b03165afa908115610164575f91610958575b506020810151916060604083015192015190565b61096c91503d805f833e6105d081836107c2565b5f610944565b919061088790610a1c565b919061098a602091610a1c565b604051631e2eaeaf60e01b8152600481019190915292839060249082906001600160a01b03165afa918215610164575f926109e8575b506001600160a01b0382169160a081901c60020b9162ffffff60b883901c81169260d01c1690565b9091506020813d602011610a14575b81610a04602093836107c2565b810103126101585751905f6109c0565b3d91506109f7565b604051602081019182526006604082015260408152610a3c6060826107c2565b51902090565b610a4b90610a1c565b6004810180911161016f5760405190602082019260020b8352604082015260408152610a3c6060826107c2565b610a8190610a1c565b6006810180911161016f576040519060208201928352604082015260408152610a3c6060826107c256fea164736f6c634300081a000a";
5
-
6
- exports.stateView_default = stateView_default;
7
- //# sourceMappingURL=chunk-5TQOT6CW.js.map
8
- //# sourceMappingURL=chunk-5TQOT6CW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/abis/bytecodes/stateView.ts"],"names":[],"mappings":";;;AAAA,IAAO,iBAAA,GAAQ","file":"chunk-5TQOT6CW.js","sourcesContent":["export default '0x60a03460b257601f610b8338819003918201601f19168301916001600160401b0383118484101760b65780849260209460405283398101031260b257516001600160a01b038116810360b257608052604051610ab890816100cb823960805181818160e1015281816101b701528181610217015281816102ba0152818161034a015281816103f50152818161045b015281816104a2015281816104e90152818161054c0152818161060701526107170152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80631c7ccb4c146106a357806353e9c1fb146105de5780637c40f1fe1461050d5780638a2bb9e6146104c657806397fd7b421461048b5780639ec538c814610440578063c815641c146103d5578063caedab5414610309578063dacf1d2f14610246578063dc4c90d314610202578063f0928f29146101835763fa6793d51461009d575f80fd5b34610158576020366003190112610158576100b9600435610a1c565b6003810180911161016f57604051631e2eaeaf60e01b815260048101919091526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610164575f9061012d575b6040516001600160801b039091168152602090f35b506020813d60201161015c575b81610147602093836107c2565b810103126101585760209051610118565b5f80fd5b3d915061013a565b6040513d5f823e3d90fd5b634e487b7160e01b5f52601160045260245ffd5b346101585761019a610194366107ac565b90610a78565b604051631e2eaeaf60e01b815260048101919091526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610164575f9061012d576040516001600160801b039091168152602090f35b34610158575f366003190112610158576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101585760a0366003190112610158576024356001600160a01b03811681036101585761027261079c565b6064358060020b810361015857610305926102de926040519260843560268501526006840152600383015281525f603a600c83012091816040820152816020820152526004357f00000000000000000000000000000000000000000000000000000000000000006108fb565b604080516001600160801b0390941684526020840192909252908201529081906060820190565b0390f35b346101585760403660031901126101585761032d61032561078c565b600435610a42565b604051631e2eaeaf60e01b815260048101919091526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610164575f906103a2575b604080516001600160801b038316815260809290921d600f0b602083015290f35b506020813d6020116103cd575b816103bc602093836107c2565b810103126101585760409051610381565b3d91506103af565b3461015857602036600319011261015857608062ffffff806104196004357f000000000000000000000000000000000000000000000000000000000000000061097d565b9294916040519560018060a01b0316865260020b6020860152166040840152166060820152f35b3461015857602036600319011261015857604061047f6004357f0000000000000000000000000000000000000000000000000000000000000000610972565b82519182526020820152f35b34610158576103056102de61049f366107ac565b907f00000000000000000000000000000000000000000000000000000000000000006108fb565b3461015857604036600319011261015857604061047f6104e461078c565b6004357f000000000000000000000000000000000000000000000000000000000000000061087c565b346101585760403660031901126101585761052961032561078c565b604051631afeb18d60e11b81526004810191909152600360248201525f816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610164576080915f916105bc575b50602081015190606060408201519101519060405192600180861b0381168452841d600f0b602084015260408301526060820152f35b6105d891503d805f833e6105d081836107c2565b8101906107f9565b82610586565b346101585760603660031901126101585760406004356105fc61078c565b9061060561079c565b7f0000000000000000000000000000000000000000000000000000000000000000906106318383610972565b9061063d86868661087c565b96909361065661064e82898961087c565b98909761097d565b5050905060020b9160020b82125f1461067c575050505003910382519182526020820152f35b95969593949360020b1361069457505003910361047f565b9493929094030392030361047f565b34610158576040366003190112610158576024358060010b809103610158576106cd600435610a1c565b6005810180911161016f5760405190602082019283526040820152604081526106f76060826107c2565b519020604051631e2eaeaf60e01b815260048101919091526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015610164575f90610759575b602090604051908152f35b506020813d602011610784575b81610773602093836107c2565b81010312610158576020905161074e565b3d9150610766565b602435908160020b820361015857565b604435908160020b820361015857565b6040906003190112610158576004359060243590565b601f909101601f19168101906001600160401b038211908210176107e557604052565b634e487b7160e01b5f52604160045260245ffd5b602081830312610158578051906001600160401b03821161015857019080601f83011215610158578151916001600160401b0383116107e5578260051b906040519361084860208401866107c2565b845260208085019282010192831161015857602001905b82821061086c5750505090565b815181526020918201910161085f565b929161088791610a42565b6001810180911161016f57604051631afeb18d60e11b8152600481019190915260026024820152915f90839060449082906001600160a01b03165afa918215610164575f926108df575b506040602083015192015190565b6108f49192503d805f833e6105d081836107c2565b905f6108d1565b91610907905f92610a78565b604051631afeb18d60e11b815260048101919091526003602482015291829060449082906001600160a01b03165afa908115610164575f91610958575b506020810151916060604083015192015190565b61096c91503d805f833e6105d081836107c2565b5f610944565b919061088790610a1c565b919061098a602091610a1c565b604051631e2eaeaf60e01b8152600481019190915292839060249082906001600160a01b03165afa918215610164575f926109e8575b506001600160a01b0382169160a081901c60020b9162ffffff60b883901c81169260d01c1690565b9091506020813d602011610a14575b81610a04602093836107c2565b810103126101585751905f6109c0565b3d91506109f7565b604051602081019182526006604082015260408152610a3c6060826107c2565b51902090565b610a4b90610a1c565b6004810180911161016f5760405190602082019260020b8352604082015260408152610a3c6060826107c2565b610a8190610a1c565b6006810180911161016f576040519060208201928352604082015260408152610a3c6060826107c256fea164736f6c634300081a000a' as const;\n"]}
@@ -1,144 +0,0 @@
1
- 'use strict';
2
-
3
- var viem = require('viem');
4
-
5
- // src/constants.ts
6
- var WAD = 10n ** 18n;
7
- var DEAD_ADDRESS = "0x000000000000000000000000000000000000dEaD";
8
- var ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
9
- var FEE_TIERS = {
10
- LOWEST: 100,
11
- // 0.01%
12
- LOW: 500,
13
- // 0.05%
14
- MEDIUM: 3e3,
15
- // 0.30%
16
- HIGH: 1e4
17
- // 1.00%
18
- };
19
- var VALID_FEE_TIERS = [
20
- 100,
21
- 500,
22
- 3e3,
23
- 1e4
24
- ];
25
- var V3_FEE_TIERS = VALID_FEE_TIERS;
26
- var V4_MAX_FEE = 1e5;
27
- var DECAY_MAX_START_FEE = 8e5;
28
- var TICK_SPACINGS = {
29
- 100: 1,
30
- 500: 10,
31
- 3e3: 60,
32
- 1e4: 200
33
- };
34
- var DOPPLER_MAX_TICK_SPACING = 30;
35
- var SECONDS_PER_DAY = 86400;
36
- var SECONDS_PER_YEAR = 365 * SECONDS_PER_DAY;
37
- var DEFAULT_EPOCH_LENGTH = 43200;
38
- var DEFAULT_AUCTION_DURATION = 7 * SECONDS_PER_DAY;
39
- var DEFAULT_LOCK_DURATION = SECONDS_PER_YEAR;
40
- var DEFAULT_PD_SLUGS = 5;
41
- var DAY_SECONDS = SECONDS_PER_DAY;
42
- var DEFAULT_CREATE_GAS_LIMIT = 13500000n;
43
- var DEFAULT_V3_START_TICK = 175e3;
44
- var DEFAULT_V3_END_TICK = 225e3;
45
- var DEFAULT_V3_NUM_POSITIONS = 15;
46
- var DEFAULT_V3_FEE = 1e4;
47
- var DEFAULT_V3_INITIAL_VOTING_DELAY = 172800;
48
- var DEFAULT_V3_INITIAL_VOTING_PERIOD = 1209600;
49
- var DEFAULT_V3_INITIAL_PROPOSAL_THRESHOLD = 0n;
50
- var DEFAULT_V3_VESTING_DURATION = BigInt(SECONDS_PER_YEAR);
51
- var DEFAULT_V3_INITIAL_SUPPLY = viem.parseEther("1000000000");
52
- var DEFAULT_V3_NUM_TOKENS_TO_SELL = viem.parseEther("900000000");
53
- var DEFAULT_V3_YEARLY_MINT_RATE = viem.parseEther("0.02");
54
- var DEFAULT_V3_PRE_MINT = viem.parseEther("9000000");
55
- var DEFAULT_V3_MAX_SHARE_TO_BE_SOLD = viem.parseEther("0.35");
56
- var DEFAULT_V4_INITIAL_VOTING_DELAY = 7200;
57
- var DEFAULT_V4_INITIAL_VOTING_PERIOD = 50400;
58
- var DEFAULT_V4_INITIAL_PROPOSAL_THRESHOLD = 0n;
59
- var DEFAULT_V4_YEARLY_MINT_RATE = viem.parseEther("0.02");
60
- var DEFAULT_MULTICURVE_LOWER_TICKS = [
61
- -202100,
62
- -183100,
63
- -167e3
64
- ];
65
- var DEFAULT_MULTICURVE_UPPER_TICKS = [
66
- -188200,
67
- -172100,
68
- -156e3
69
- ];
70
- var DEFAULT_MULTICURVE_NUM_POSITIONS = [11, 11, 11];
71
- var DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES = [
72
- viem.parseEther("0.05"),
73
- // 5% for LOW tier
74
- viem.parseEther("0.125"),
75
- // 12.5% for MEDIUM tier
76
- viem.parseEther("0.2")
77
- // 20% for HIGH tier
78
- ];
79
- var MIN_SQRT_RATIO = 4295128739n;
80
- var MAX_SQRT_RATIO = 1461446703485210103287273052203988822378723970342n;
81
- var BASIS_POINTS = 1e4;
82
- var FLAG_MASK = BigInt(16383);
83
- var DOPPLER_FLAGS = BigInt(
84
- 1 << 13 | // BEFORE_INITIALIZE_FLAG
85
- 1 << 12 | // AFTER_INITIALIZE_FLAG
86
- 1 << 11 | // BEFORE_ADD_LIQUIDITY_FLAG
87
- 1 << 7 | // BEFORE_SWAP_FLAG
88
- 1 << 6 | // AFTER_SWAP_FLAG
89
- 1 << 5
90
- // BEFORE_DONATE_FLAG
91
- );
92
- var DYNAMIC_FEE_FLAG = 8388608;
93
- var FEE_AMOUNT_MASK = 16777215;
94
- var DYNAMIC_AUCTION_VALID_FEES = [100, 500, 3e3, 1e4];
95
-
96
- exports.BASIS_POINTS = BASIS_POINTS;
97
- exports.DAY_SECONDS = DAY_SECONDS;
98
- exports.DEAD_ADDRESS = DEAD_ADDRESS;
99
- exports.DECAY_MAX_START_FEE = DECAY_MAX_START_FEE;
100
- exports.DEFAULT_AUCTION_DURATION = DEFAULT_AUCTION_DURATION;
101
- exports.DEFAULT_CREATE_GAS_LIMIT = DEFAULT_CREATE_GAS_LIMIT;
102
- exports.DEFAULT_EPOCH_LENGTH = DEFAULT_EPOCH_LENGTH;
103
- exports.DEFAULT_LOCK_DURATION = DEFAULT_LOCK_DURATION;
104
- exports.DEFAULT_MULTICURVE_LOWER_TICKS = DEFAULT_MULTICURVE_LOWER_TICKS;
105
- exports.DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES = DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES;
106
- exports.DEFAULT_MULTICURVE_NUM_POSITIONS = DEFAULT_MULTICURVE_NUM_POSITIONS;
107
- exports.DEFAULT_MULTICURVE_UPPER_TICKS = DEFAULT_MULTICURVE_UPPER_TICKS;
108
- exports.DEFAULT_PD_SLUGS = DEFAULT_PD_SLUGS;
109
- exports.DEFAULT_V3_END_TICK = DEFAULT_V3_END_TICK;
110
- exports.DEFAULT_V3_FEE = DEFAULT_V3_FEE;
111
- exports.DEFAULT_V3_INITIAL_PROPOSAL_THRESHOLD = DEFAULT_V3_INITIAL_PROPOSAL_THRESHOLD;
112
- exports.DEFAULT_V3_INITIAL_SUPPLY = DEFAULT_V3_INITIAL_SUPPLY;
113
- exports.DEFAULT_V3_INITIAL_VOTING_DELAY = DEFAULT_V3_INITIAL_VOTING_DELAY;
114
- exports.DEFAULT_V3_INITIAL_VOTING_PERIOD = DEFAULT_V3_INITIAL_VOTING_PERIOD;
115
- exports.DEFAULT_V3_MAX_SHARE_TO_BE_SOLD = DEFAULT_V3_MAX_SHARE_TO_BE_SOLD;
116
- exports.DEFAULT_V3_NUM_POSITIONS = DEFAULT_V3_NUM_POSITIONS;
117
- exports.DEFAULT_V3_NUM_TOKENS_TO_SELL = DEFAULT_V3_NUM_TOKENS_TO_SELL;
118
- exports.DEFAULT_V3_PRE_MINT = DEFAULT_V3_PRE_MINT;
119
- exports.DEFAULT_V3_START_TICK = DEFAULT_V3_START_TICK;
120
- exports.DEFAULT_V3_VESTING_DURATION = DEFAULT_V3_VESTING_DURATION;
121
- exports.DEFAULT_V3_YEARLY_MINT_RATE = DEFAULT_V3_YEARLY_MINT_RATE;
122
- exports.DEFAULT_V4_INITIAL_PROPOSAL_THRESHOLD = DEFAULT_V4_INITIAL_PROPOSAL_THRESHOLD;
123
- exports.DEFAULT_V4_INITIAL_VOTING_DELAY = DEFAULT_V4_INITIAL_VOTING_DELAY;
124
- exports.DEFAULT_V4_INITIAL_VOTING_PERIOD = DEFAULT_V4_INITIAL_VOTING_PERIOD;
125
- exports.DEFAULT_V4_YEARLY_MINT_RATE = DEFAULT_V4_YEARLY_MINT_RATE;
126
- exports.DOPPLER_FLAGS = DOPPLER_FLAGS;
127
- exports.DOPPLER_MAX_TICK_SPACING = DOPPLER_MAX_TICK_SPACING;
128
- exports.DYNAMIC_AUCTION_VALID_FEES = DYNAMIC_AUCTION_VALID_FEES;
129
- exports.DYNAMIC_FEE_FLAG = DYNAMIC_FEE_FLAG;
130
- exports.FEE_AMOUNT_MASK = FEE_AMOUNT_MASK;
131
- exports.FEE_TIERS = FEE_TIERS;
132
- exports.FLAG_MASK = FLAG_MASK;
133
- exports.MAX_SQRT_RATIO = MAX_SQRT_RATIO;
134
- exports.MIN_SQRT_RATIO = MIN_SQRT_RATIO;
135
- exports.SECONDS_PER_DAY = SECONDS_PER_DAY;
136
- exports.SECONDS_PER_YEAR = SECONDS_PER_YEAR;
137
- exports.TICK_SPACINGS = TICK_SPACINGS;
138
- exports.V3_FEE_TIERS = V3_FEE_TIERS;
139
- exports.V4_MAX_FEE = V4_MAX_FEE;
140
- exports.VALID_FEE_TIERS = VALID_FEE_TIERS;
141
- exports.WAD = WAD;
142
- exports.ZERO_ADDRESS = ZERO_ADDRESS;
143
- //# sourceMappingURL=chunk-6BQY5EPB.js.map
144
- //# sourceMappingURL=chunk-6BQY5EPB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/constants.ts"],"names":["parseEther"],"mappings":";;;;;AAGO,IAAM,MAAM,GAAA,IAAO;AACnB,IAAM,YAAA,GACX;AACK,IAAM,YAAA,GACX;AAaK,IAAM,SAAA,GAAY;AAAA,EACvB,MAAA,EAAQ,GAAA;AAAA;AAAA,EACR,GAAA,EAAK,GAAA;AAAA;AAAA,EACL,MAAA,EAAQ,GAAA;AAAA;AAAA,EACR,IAAA,EAAM;AAAA;AACR;AASO,IAAM,eAAA,GAAsC;AAAA,EACjD,GAAA;AAAA,EAAK,GAAA;AAAA,EAAK,GAAA;AAAA,EAAM;AAClB;AAMO,IAAM,YAAA,GAAe;AAOrB,IAAM,UAAA,GAAa;AAOnB,IAAM,mBAAA,GAAsB;AAI5B,IAAM,aAAA,GAAgB;AAAA,EAC3B,GAAA,EAAK,CAAA;AAAA,EACL,GAAA,EAAK,EAAA;AAAA,EACL,GAAA,EAAM,EAAA;AAAA,EACN,GAAA,EAAO;AACT;AAMO,IAAM,wBAAA,GAA2B;AAGjC,IAAM,eAAA,GAAkB;AACxB,IAAM,mBAAmB,GAAA,GAAM;AAG/B,IAAM,oBAAA,GAAuB;AAC7B,IAAM,2BAA2B,CAAA,GAAI;AACrC,IAAM,qBAAA,GAAwB;AAC9B,IAAM,gBAAA,GAAmB;AACzB,IAAM,WAAA,GAAc;AAGpB,IAAM,wBAAA,GAA2B;AAGjC,IAAM,qBAAA,GAAwB;AAC9B,IAAM,mBAAA,GAAsB;AAC5B,IAAM,wBAAA,GAA2B;AACjC,IAAM,cAAA,GAAiB;AACvB,IAAM,+BAAA,GAAkC;AACxC,IAAM,gCAAA,GAAmC;AACzC,IAAM,qCAAA,GAAwC;AAC9C,IAAM,2BAAA,GAA8B,OAAO,gBAAgB;AAC3D,IAAM,yBAAA,GAA4BA,gBAAW,YAAY;AACzD,IAAM,6BAAA,GAAgCA,gBAAW,WAAW;AAC5D,IAAM,2BAAA,GAA8BA,gBAAW,MAAM;AACrD,IAAM,mBAAA,GAAsBA,gBAAW,SAAS;AAChD,IAAM,+BAAA,GAAkCA,gBAAW,MAAM;AAGzD,IAAM,+BAAA,GAAkC;AACxC,IAAM,gCAAA,GAAmC;AACzC,IAAM,qCAAA,GAAwC;AAC9C,IAAM,2BAAA,GAA8BA,gBAAW,MAAM;AAKrD,IAAM,8BAAA,GAAiC;AAAA,EAC5C,OAAA;AAAA,EAAU,OAAA;AAAA,EAAU;AACtB;AACO,IAAM,8BAAA,GAAiC;AAAA,EAC5C,OAAA;AAAA,EAAU,OAAA;AAAA,EAAU;AACtB;AACO,IAAM,gCAAA,GAAmC,CAAC,EAAA,EAAI,EAAA,EAAI,EAAE;AACpD,IAAM,oCAAA,GAAuC;AAAA,EAClDA,gBAAW,MAAM,CAAA;AAAA;AAAA,EACjBA,gBAAW,OAAO,CAAA;AAAA;AAAA,EAClBA,gBAAW,KAAK;AAAA;AAClB;AAGO,IAAM,cAAA,GAAiB;AACvB,IAAM,cAAA,GACX;AAGK,IAAM,YAAA,GAAe;AAGrB,IAAM,SAAA,GAAY,OAAO,KAAM;AAC/B,IAAM,aAAA,GAAgB,MAAA;AAAA,EAC1B,CAAA,IAAK,EAAA;AAAA,EACH,CAAA,IAAK,EAAA;AAAA,EACL,CAAA,IAAK,EAAA;AAAA,EACL,CAAA,IAAK,CAAA;AAAA,EACL,CAAA,IAAK,CAAA;AAAA,EACL,CAAA,IAAK;AAAA;AACV;AAGO,IAAM,gBAAA,GAAmB;AACzB,IAAM,eAAA,GAAkB;AAOxB,IAAM,0BAAA,GAA6B,CAAC,GAAA,EAAK,GAAA,EAAK,KAAM,GAAK","file":"chunk-6BQY5EPB.js","sourcesContent":["import { Address, parseEther } from 'viem';\n\n// Common constants\nexport const WAD = 10n ** 18n;\nexport const DEAD_ADDRESS =\n '0x000000000000000000000000000000000000dEaD' as Address;\nexport const ZERO_ADDRESS =\n '0x0000000000000000000000000000000000000000' as Address;\n\n// =============================================================================\n// Fee Tiers - V3 vs V4 Distinction\n// =============================================================================\n//\n// Uniswap V3 (Static Auctions): Fees are COUPLED to tick spacings. Only 4 tiers allowed.\n// Uniswap V4 (Dynamic/Multicurve): Fees are DECOUPLED. Any fee 0-100,000 is valid.\n//\n// The standard fee tiers below are recognized by both V3 and V4, but V4 pools\n// can use ANY fee value as long as you provide an explicit tickSpacing.\n\n/** Standard fee tiers recognized by both Uniswap V3 and V4 */\nexport const FEE_TIERS = {\n LOWEST: 100, // 0.01%\n LOW: 500, // 0.05%\n MEDIUM: 3000, // 0.30%\n HIGH: 10000, // 1.00%\n} as const;\n\n/** Valid fee tier values (100, 500, 3000, 10000) */\nexport type FeeTier = (typeof FEE_TIERS)[keyof typeof FEE_TIERS];\n\n/**\n * Standard fee tiers - REQUIRED for V3 (Static Auctions).\n * V4 pools can use custom fees but these are the recommended defaults.\n */\nexport const VALID_FEE_TIERS: readonly FeeTier[] = [\n 100, 500, 3000, 10000,\n] as const;\n\n/**\n * V3 fee tiers - These are the ONLY valid fees for Uniswap V3 pools.\n * Static Auctions use V3 and must use one of these tiers.\n */\nexport const V3_FEE_TIERS = VALID_FEE_TIERS;\n\n/**\n * Maximum LP fee for V4 pools (from DopplerHookInitializer.sol).\n * V4 pools can use any fee from 0 to this value.\n * @see DopplerHookInitializer.sol line 171: `uint24 constant MAX_LP_FEE = 100_000`\n */\nexport const V4_MAX_FEE = 100_000; // 10%\n\n/**\n * Maximum allowed start fee for decay multicurve schedules.\n * This is intentionally higher than V4_MAX_FEE to support anti-sniping launches.\n * 800_000 = 80%\n */\nexport const DECAY_MAX_START_FEE = 800_000; // 80%\n\n// Tick spacings for different fee tiers (standard Uniswap V3 mapping)\n// In V4, tickSpacing is independent of fee - you can use any combination\nexport const TICK_SPACINGS = {\n 100: 1,\n 500: 10,\n 3000: 60,\n 10000: 200,\n} as const;\n\n/**\n * Maximum tick spacing allowed by Doppler.sol for dynamic (Dutch) auctions.\n * @see Doppler.sol line 159: `int24 constant MAX_TICK_SPACING = 30`\n */\nexport const DOPPLER_MAX_TICK_SPACING = 30;\n\n// Time constants\nexport const SECONDS_PER_DAY = 86400;\nexport const SECONDS_PER_YEAR = 365 * SECONDS_PER_DAY;\n\n// Default values\nexport const DEFAULT_EPOCH_LENGTH = 43200; // 12 hours in seconds (matching V4 SDK)\nexport const DEFAULT_AUCTION_DURATION = 7 * SECONDS_PER_DAY; // 7 days\nexport const DEFAULT_LOCK_DURATION = SECONDS_PER_YEAR; // 1 year\nexport const DEFAULT_PD_SLUGS = 5; // Default price discovery slugs\nexport const DAY_SECONDS = SECONDS_PER_DAY; // Alias for consistency\n\n// Default gas limit to fall back on when create() simulations do not return a value\nexport const DEFAULT_CREATE_GAS_LIMIT = 13_500_000n;\n\n// V3 Default parameters\nexport const DEFAULT_V3_START_TICK = 175000;\nexport const DEFAULT_V3_END_TICK = 225000;\nexport const DEFAULT_V3_NUM_POSITIONS = 15;\nexport const DEFAULT_V3_FEE = 10000; // 1% fee tier\nexport const DEFAULT_V3_INITIAL_VOTING_DELAY = 172800; // 2 days\nexport const DEFAULT_V3_INITIAL_VOTING_PERIOD = 1209600; // 14 days\nexport const DEFAULT_V3_INITIAL_PROPOSAL_THRESHOLD = 0n;\nexport const DEFAULT_V3_VESTING_DURATION = BigInt(SECONDS_PER_YEAR);\nexport const DEFAULT_V3_INITIAL_SUPPLY = parseEther('1000000000'); // 1 billion tokens\nexport const DEFAULT_V3_NUM_TOKENS_TO_SELL = parseEther('900000000'); // 900 million tokens\nexport const DEFAULT_V3_YEARLY_MINT_RATE = parseEther('0.02'); // 2% yearly mint rate\nexport const DEFAULT_V3_PRE_MINT = parseEther('9000000'); // 9 million tokens (0.9%)\nexport const DEFAULT_V3_MAX_SHARE_TO_BE_SOLD = parseEther('0.35'); // 35%\n\n// V4 Default parameters\nexport const DEFAULT_V4_INITIAL_VOTING_DELAY = 7200; // 2 hours\nexport const DEFAULT_V4_INITIAL_VOTING_PERIOD = 50400; // 14 hours\nexport const DEFAULT_V4_INITIAL_PROPOSAL_THRESHOLD = 0n;\nexport const DEFAULT_V4_YEARLY_MINT_RATE = parseEther('0.02'); // 2% yearly mint rate\n\n// V4 Multicurve Default Tick Ranges\n// Based on market cap tiers: LOW ($7.5k -> $30k), MEDIUM ($50k -> $150k), HIGH ($250k -> $750k)\n// Calculated for 1B token supply, $4500 numeraire (e.g., WETH on Base)\nexport const DEFAULT_MULTICURVE_LOWER_TICKS = [\n -202_100, -183_100, -167_000,\n] as const;\nexport const DEFAULT_MULTICURVE_UPPER_TICKS = [\n -188_200, -172_100, -156_000,\n] as const;\nexport const DEFAULT_MULTICURVE_NUM_POSITIONS = [11, 11, 11] as const;\nexport const DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES = [\n parseEther('0.05'), // 5% for LOW tier\n parseEther('0.125'), // 12.5% for MEDIUM tier\n parseEther('0.2'), // 20% for HIGH tier\n] as const;\n\n// Price bounds\nexport const MIN_SQRT_RATIO = 4295128739n;\nexport const MAX_SQRT_RATIO =\n 1461446703485210103287273052203988822378723970342n;\n\n// Basis points\nexport const BASIS_POINTS = 10000;\n\n// V4 Hook Flags for Doppler\nexport const FLAG_MASK = BigInt(0x3fff);\nexport const DOPPLER_FLAGS = BigInt(\n (1 << 13) | // BEFORE_INITIALIZE_FLAG\n (1 << 12) | // AFTER_INITIALIZE_FLAG\n (1 << 11) | // BEFORE_ADD_LIQUIDITY_FLAG\n (1 << 7) | // BEFORE_SWAP_FLAG\n (1 << 6) | // AFTER_SWAP_FLAG\n (1 << 5), // BEFORE_DONATE_FLAG\n);\n\n// V4 Dynamic Fee Flag\nexport const DYNAMIC_FEE_FLAG = 0x800000; // 8388608 in decimal\nexport const FEE_AMOUNT_MASK = 0xffffff; // Mask to extract actual fee from dynamic fee\n\n/**\n * @deprecated Dynamic auctions (V4) support ANY fee 0-100,000 with explicit tickSpacing.\n * This constant is kept for backwards compatibility but is no longer enforced.\n * Standard fee tiers still auto-derive tickSpacing; custom fees require explicit tickSpacing.\n */\nexport const DYNAMIC_AUCTION_VALID_FEES = [100, 500, 3000, 10000] as const;\n"]}
@@ -1,18 +0,0 @@
1
- 'use strict';
2
-
3
- // src/utils/isToken0Expected.ts
4
- function isToken0Expected(numeraire) {
5
- const numeraireBigInt = BigInt(numeraire);
6
- const halfMaxUint160 = 2n ** 159n - 1n;
7
- if (numeraireBigInt === 0n) {
8
- return false;
9
- } else if (numeraireBigInt > halfMaxUint160) {
10
- return true;
11
- } else {
12
- return false;
13
- }
14
- }
15
-
16
- exports.isToken0Expected = isToken0Expected;
17
- //# sourceMappingURL=chunk-6H6X3VTZ.js.map
18
- //# sourceMappingURL=chunk-6H6X3VTZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/isToken0Expected.ts"],"names":[],"mappings":";;;AAUO,SAAS,iBAAiB,SAAA,EAA6B;AAC5D,EAAA,MAAM,eAAA,GAAkB,OAAO,SAAS,CAAA;AACxC,EAAA,MAAM,cAAA,GAAiB,MAAM,IAAA,GAAO,EAAA;AAEpC,EAAA,IAAI,oBAAoB,EAAA,EAAI;AAC1B,IAAA,OAAO,KAAA;AAAA,EACT,CAAA,MAAA,IAAW,kBAAkB,cAAA,EAAgB;AAC3C,IAAA,OAAO,IAAA;AAAA,EACT,CAAA,MAAO;AACL,IAAA,OAAO,KAAA;AAAA,EACT;AACF","file":"chunk-6H6X3VTZ.js","sourcesContent":["import { Address } from 'viem';\n\n/**\n * Determine token ordering based on numeraire address.\n * Mining will find a salt such that token address is correctly ordered relative to numeraire.\n * For numeraires > halfMaxUint160, token must be token0 (smaller address)\n * For all other cases, token should be token1 (larger address)\n * @param numeraire - Address of numeraire token\n * @returns Whether base token address is expected to be generated as token0\n */\nexport function isToken0Expected(numeraire: Address): boolean {\n const numeraireBigInt = BigInt(numeraire);\n const halfMaxUint160 = 2n ** 159n - 1n;\n\n if (numeraireBigInt === 0n) {\n return false; // ETH paired, token will be > 0x0\n } else if (numeraireBigInt > halfMaxUint160) {\n return true; // Large numeraire, token will be < numeraire\n } else {\n return false; // Normal case, token will be > numeraire\n }\n}\n"]}