@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,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,40 +0,0 @@
1
- import { ADDRESSES } from './chunk-WDC53TM7.mjs';
2
-
3
- // src/utils/airlock.ts
4
- var airlockAbi = [
5
- {
6
- type: "function",
7
- name: "owner",
8
- inputs: [],
9
- outputs: [{ name: "", type: "address", internalType: "address" }],
10
- stateMutability: "view"
11
- }
12
- ];
13
- var getAirlockOwner = async (publicClient) => {
14
- const client = publicClient;
15
- const chainId = client.chain?.id;
16
- if (!chainId || !ADDRESSES[chainId]) {
17
- throw new Error("Unsupported chain ID for airlock owner lookup");
18
- }
19
- const airlockAddress = ADDRESSES[chainId].airlock;
20
- const owner = await client.readContract({
21
- address: airlockAddress,
22
- abi: airlockAbi,
23
- functionName: "owner"
24
- });
25
- if (!owner) throw new Error("Airlock owner not found");
26
- return owner;
27
- };
28
- var DEFAULT_AIRLOCK_BENEFICIARY_SHARES = BigInt(5e16);
29
- var createAirlockBeneficiary = (owner, shares = DEFAULT_AIRLOCK_BENEFICIARY_SHARES) => ({
30
- beneficiary: owner,
31
- shares
32
- });
33
- var getAirlockBeneficiary = async (publicClient, shares = DEFAULT_AIRLOCK_BENEFICIARY_SHARES) => {
34
- const owner = await getAirlockOwner(publicClient);
35
- return createAirlockBeneficiary(owner, shares);
36
- };
37
-
38
- export { DEFAULT_AIRLOCK_BENEFICIARY_SHARES, createAirlockBeneficiary, getAirlockBeneficiary, getAirlockOwner };
39
- //# sourceMappingURL=chunk-5GQJRNFL.mjs.map
40
- //# sourceMappingURL=chunk-5GQJRNFL.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/airlock.ts"],"names":[],"mappings":";;;AAIA,IAAM,UAAA,GAAa;AAAA,EACjB;AAAA,IACE,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,QAAQ,EAAC;AAAA,IACT,OAAA,EAAS,CAAC,EAAE,IAAA,EAAM,IAAI,IAAA,EAAM,SAAA,EAAW,YAAA,EAAc,SAAA,EAAW,CAAA;AAAA,IAChE,eAAA,EAAiB;AAAA;AAErB,CAAA;AAEO,IAAM,eAAA,GAAkB,OAC7B,YAAA,KACqB;AACrB,EAAA,MAAM,MAAA,GAAS,YAAA;AACf,EAAA,MAAM,OAAA,GAAU,OAAO,KAAA,EAAO,EAAA;AAC9B,EAAA,IAAI,CAAC,OAAA,IAAW,CAAC,SAAA,CAAU,OAAO,CAAA,EAAG;AACnC,IAAA,MAAM,IAAI,MAAM,+CAA+C,CAAA;AAAA,EACjE;AAEA,EAAA,MAAM,cAAA,GAAiB,SAAA,CAAU,OAAO,CAAA,CAAE,OAAA;AAE1C,EAAA,MAAM,KAAA,GAAQ,MAAM,MAAA,CAAO,YAAA,CAAa;AAAA,IACtC,OAAA,EAAS,cAAA;AAAA,IACT,GAAA,EAAK,UAAA;AAAA,IACL,YAAA,EAAc;AAAA,GACf,CAAA;AAED,EAAA,IAAI,CAAC,KAAA,EAAO,MAAM,IAAI,MAAM,yBAAyB,CAAA;AACrD,EAAA,OAAO,KAAA;AACT;AAGO,IAAM,kCAAA,GAAqC,OAAO,IAAI;AAEtD,IAAM,wBAAA,GAA2B,CACtC,KAAA,EACA,MAAA,GAAiB,kCAAA,MACI;AAAA,EACrB,WAAA,EAAa,KAAA;AAAA,EACb;AACF,CAAA;AAEO,IAAM,qBAAA,GAAwB,OACnC,YAAA,EACA,MAAA,GAAiB,kCAAA,KACY;AAC7B,EAAA,MAAM,KAAA,GAAQ,MAAM,eAAA,CAAgB,YAAY,CAAA;AAChD,EAAA,OAAO,wBAAA,CAAyB,OAAO,MAAM,CAAA;AAC/C","file":"chunk-5GQJRNFL.mjs","sourcesContent":["import type { PublicClient, Address } from 'viem';\nimport { ADDRESSES, type SupportedChainId } from '../addresses';\nimport type { BeneficiaryData } from '../types';\n\nconst airlockAbi = [\n {\n type: 'function',\n name: 'owner',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'address' }],\n stateMutability: 'view',\n },\n] as const;\n\nexport const getAirlockOwner = async (\n publicClient: unknown,\n): Promise<Address> => {\n const client = publicClient as PublicClient;\n const chainId = client.chain?.id as SupportedChainId | undefined;\n if (!chainId || !ADDRESSES[chainId]) {\n throw new Error('Unsupported chain ID for airlock owner lookup');\n }\n\n const airlockAddress = ADDRESSES[chainId].airlock;\n\n const owner = await client.readContract({\n address: airlockAddress,\n abi: airlockAbi,\n functionName: 'owner',\n });\n\n if (!owner) throw new Error('Airlock owner not found');\n return owner as Address;\n};\n\n// Default airlock beneficiary shares (5% = 0.05e18 WAD)\nexport const DEFAULT_AIRLOCK_BENEFICIARY_SHARES = BigInt(5e16); // 5% in WAD\n\nexport const createAirlockBeneficiary = (\n owner: Address,\n shares: bigint = DEFAULT_AIRLOCK_BENEFICIARY_SHARES,\n): BeneficiaryData => ({\n beneficiary: owner,\n shares,\n});\n\nexport const getAirlockBeneficiary = async (\n publicClient: unknown,\n shares: bigint = DEFAULT_AIRLOCK_BENEFICIARY_SHARES,\n): Promise<BeneficiaryData> => {\n const owner = await getAirlockOwner(publicClient);\n return createAirlockBeneficiary(owner, shares);\n};\n"]}
@@ -1,265 +0,0 @@
1
- 'use strict';
2
-
3
- var chunk7A4DBBXA_js = require('./chunk-7A4DBBXA.js');
4
- var chunkMU56HCUI_js = require('./chunk-MU56HCUI.js');
5
- var viem = require('viem');
6
-
7
- var Quoter = class {
8
- get rpc() {
9
- return this.publicClient;
10
- }
11
- constructor(publicClient, chainId) {
12
- this.publicClient = publicClient;
13
- this.chainId = chainId;
14
- }
15
- /**
16
- * Get a price quote for swapping an exact amount of input tokens on Uniswap V3
17
- * @param params Parameters for the quote
18
- * @returns Quote result including output amount and price impact
19
- */
20
- async quoteExactInputV3(params) {
21
- const addresses = chunk7A4DBBXA_js.getAddresses(this.chainId);
22
- try {
23
- const { result } = await this.rpc.simulateContract({
24
- address: addresses.v3Quoter,
25
- abi: chunkMU56HCUI_js.quoterV2Abi,
26
- functionName: "quoteExactInputSingle",
27
- args: [
28
- {
29
- tokenIn: params.tokenIn,
30
- tokenOut: params.tokenOut,
31
- amountIn: params.amountIn,
32
- fee: params.fee,
33
- sqrtPriceLimitX96: params.sqrtPriceLimitX96 ?? BigInt(0)
34
- }
35
- ]
36
- });
37
- return {
38
- amountOut: result[0],
39
- sqrtPriceX96After: result[1],
40
- initializedTicksCrossed: result[2],
41
- gasEstimate: result[3]
42
- };
43
- } catch (err) {
44
- const revertData = err?.cause?.data || err.data;
45
- if (revertData && typeof revertData === "string" && revertData.startsWith("0x")) {
46
- try {
47
- const [amount, sqrtPriceX96After] = viem.decodeAbiParameters(
48
- [{ type: "uint256" }, { type: "uint160" }, { type: "int24" }],
49
- revertData
50
- );
51
- return {
52
- amountOut: amount,
53
- sqrtPriceX96After,
54
- initializedTicksCrossed: 0,
55
- gasEstimate: 0n
56
- };
57
- } catch (_) {
58
- }
59
- }
60
- throw err;
61
- }
62
- }
63
- /**
64
- * Get a price quote for receiving an exact amount of output tokens on Uniswap V3
65
- * @param params Parameters for the quote
66
- * @returns Quote result including required input amount
67
- */
68
- async quoteExactOutputV3(params) {
69
- const addresses = chunk7A4DBBXA_js.getAddresses(this.chainId);
70
- try {
71
- const { result } = await this.rpc.simulateContract({
72
- address: addresses.v3Quoter,
73
- abi: chunkMU56HCUI_js.quoterV2Abi,
74
- functionName: "quoteExactOutputSingle",
75
- args: [
76
- {
77
- tokenIn: params.tokenIn,
78
- tokenOut: params.tokenOut,
79
- amount: params.amountOut,
80
- fee: params.fee,
81
- sqrtPriceLimitX96: params.sqrtPriceLimitX96 ?? BigInt(0)
82
- }
83
- ]
84
- });
85
- return {
86
- amountIn: result[0],
87
- sqrtPriceX96After: result[1],
88
- initializedTicksCrossed: result[2],
89
- gasEstimate: result[3]
90
- };
91
- } catch (err) {
92
- const revertData = err?.cause?.data || err.data;
93
- if (revertData && typeof revertData === "string" && revertData.startsWith("0x")) {
94
- try {
95
- const [amount, sqrtPriceX96After] = viem.decodeAbiParameters(
96
- [{ type: "uint256" }, { type: "uint160" }, { type: "int24" }],
97
- revertData
98
- );
99
- return {
100
- amountIn: amount,
101
- sqrtPriceX96After,
102
- initializedTicksCrossed: 0,
103
- gasEstimate: 0n
104
- };
105
- } catch (_) {
106
- }
107
- }
108
- throw err;
109
- }
110
- }
111
- /**
112
- * Get a price quote for swapping an exact amount of input tokens on Uniswap V2
113
- * @param params Parameters for the quote
114
- * @returns Array of amounts for each step in the path
115
- */
116
- async quoteExactInputV2(params) {
117
- const addresses = chunk7A4DBBXA_js.getAddresses(this.chainId);
118
- if (!addresses.univ2Router02) {
119
- throw new Error("Uniswap V2 Router not available on this chain");
120
- }
121
- const result = await this.rpc.readContract({
122
- address: addresses.univ2Router02,
123
- abi: chunkMU56HCUI_js.uniswapV2Router02Abi,
124
- functionName: "getAmountsOut",
125
- args: [params.amountIn, params.path]
126
- });
127
- return [...result];
128
- }
129
- /**
130
- * Get a price quote for receiving an exact amount of output tokens on Uniswap V2
131
- * @param params Parameters for the quote
132
- * @returns Array of amounts for each step in the path
133
- */
134
- async quoteExactOutputV2(params) {
135
- const addresses = chunk7A4DBBXA_js.getAddresses(this.chainId);
136
- if (!addresses.univ2Router02) {
137
- throw new Error("Uniswap V2 Router not available on this chain");
138
- }
139
- const result = await this.rpc.readContract({
140
- address: addresses.univ2Router02,
141
- abi: chunkMU56HCUI_js.uniswapV2Router02Abi,
142
- functionName: "getAmountsIn",
143
- args: [params.amountOut, params.path]
144
- });
145
- return [...result];
146
- }
147
- /**
148
- * Get a price quote for swapping an exact amount of input tokens on Uniswap V4
149
- * @param params Parameters for the quote
150
- * @returns Quote result for V4 pools
151
- */
152
- async quoteExactInputV4(params) {
153
- const addresses = chunk7A4DBBXA_js.getAddresses(this.chainId);
154
- const quoterAddress = addresses.uniswapV4Quoter;
155
- if (!quoterAddress) {
156
- throw new Error("No V4 quoter available on this chain");
157
- }
158
- const { result } = await this.rpc.simulateContract({
159
- address: quoterAddress,
160
- abi: chunkMU56HCUI_js.v4QuoterAbi,
161
- functionName: "quoteExactInputSingle",
162
- args: [
163
- {
164
- poolKey: params.poolKey,
165
- zeroForOne: params.zeroForOne,
166
- exactAmount: params.exactAmount,
167
- hookData: params.hookData ?? "0x"
168
- }
169
- ]
170
- });
171
- return {
172
- amountOut: result[0],
173
- gasEstimate: result[1]
174
- };
175
- }
176
- /**
177
- * Get a price quote for receiving an exact amount of output tokens on Uniswap V4
178
- * @param params Parameters for the quote
179
- * @returns Quote result for V4 pools
180
- */
181
- async quoteExactOutputV4(params) {
182
- const addresses = chunk7A4DBBXA_js.getAddresses(this.chainId);
183
- const quoterAddress = addresses.uniswapV4Quoter;
184
- if (!quoterAddress) {
185
- throw new Error("Uniswap V4 Quoter address not available on this chain");
186
- }
187
- const { result } = await this.rpc.simulateContract({
188
- address: quoterAddress,
189
- abi: chunkMU56HCUI_js.v4QuoterAbi,
190
- functionName: "quoteExactOutputSingle",
191
- args: [
192
- {
193
- poolKey: params.poolKey,
194
- zeroForOne: params.zeroForOne,
195
- exactAmount: params.exactAmount,
196
- hookData: params.hookData ?? "0x"
197
- }
198
- ]
199
- });
200
- return {
201
- amountIn: result[0],
202
- gasEstimate: result[1]
203
- };
204
- }
205
- /**
206
- * Quote a single exact-input trade using the Uniswap V4 Quoter (not Lens)
207
- * @param params Parameters for the quote
208
- */
209
- async quoteExactInputV4Quoter(params) {
210
- const addresses = chunk7A4DBBXA_js.getAddresses(this.chainId);
211
- const quoterAddress = addresses.uniswapV4Quoter;
212
- if (!quoterAddress) {
213
- throw new Error("Uniswap V4 Quoter address not available on this chain");
214
- }
215
- const { result } = await this.rpc.simulateContract({
216
- address: quoterAddress,
217
- abi: chunkMU56HCUI_js.v4QuoterAbi,
218
- functionName: "quoteExactInputSingle",
219
- args: [
220
- {
221
- poolKey: params.poolKey,
222
- zeroForOne: params.zeroForOne,
223
- exactAmount: params.exactAmount,
224
- hookData: params.hookData ?? "0x"
225
- }
226
- ]
227
- });
228
- return {
229
- amountOut: result[0],
230
- gasEstimate: result[1]
231
- };
232
- }
233
- /**
234
- * Quote a single exact-output trade using the Uniswap V4 Quoter (not Lens)
235
- * @param params Parameters for the quote
236
- */
237
- async quoteExactOutputV4Quoter(params) {
238
- const addresses = chunk7A4DBBXA_js.getAddresses(this.chainId);
239
- const quoterAddress = addresses.uniswapV4Quoter;
240
- if (!quoterAddress) {
241
- throw new Error("Uniswap V4 Quoter address not available on this chain");
242
- }
243
- const { result } = await this.rpc.simulateContract({
244
- address: quoterAddress,
245
- abi: chunkMU56HCUI_js.v4QuoterAbi,
246
- functionName: "quoteExactOutputSingle",
247
- args: [
248
- {
249
- poolKey: params.poolKey,
250
- zeroForOne: params.zeroForOne,
251
- exactAmount: params.exactAmount,
252
- hookData: params.hookData ?? "0x"
253
- }
254
- ]
255
- });
256
- return {
257
- amountIn: result[0],
258
- gasEstimate: result[1]
259
- };
260
- }
261
- };
262
-
263
- exports.Quoter = Quoter;
264
- //# sourceMappingURL=chunk-5JHXBDZD.js.map
265
- //# sourceMappingURL=chunk-5JHXBDZD.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/entities/quoter/Quoter.ts"],"names":["getAddresses","quoterV2Abi","decodeAbiParameters","uniswapV2Router02Abi","v4QuoterAbi"],"mappings":"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","file":"chunk-5JHXBDZD.js","sourcesContent":["import {\n type Address,\n decodeAbiParameters,\n type Hex,\n type PublicClient,\n} from 'viem';\nimport { quoterV2Abi, uniswapV2Router02Abi, v4QuoterAbi } from '../../abis';\nimport { getAddresses } from '../../addresses';\nimport type { SupportedPublicClient } from '../../types';\n\n/**\n * Unified Quoter for getting price quotes across Uniswap V2, V3, and V4\n *\n * This class provides a unified interface for price discovery across all\n * supported Uniswap versions, abstracting away the differences between\n * V2 router, V3 quoter, and V4 quoter contracts.\n */\nexport class Quoter {\n private publicClient: SupportedPublicClient;\n private chainId: number;\n private get rpc(): PublicClient {\n return this.publicClient as PublicClient;\n }\n\n constructor(publicClient: SupportedPublicClient, chainId: number) {\n this.publicClient = publicClient;\n this.chainId = chainId;\n }\n\n /**\n * Get a price quote for swapping an exact amount of input tokens on Uniswap V3\n * @param params Parameters for the quote\n * @returns Quote result including output amount and price impact\n */\n async quoteExactInputV3(params: {\n tokenIn: Address;\n tokenOut: Address;\n amountIn: bigint;\n fee: number;\n sqrtPriceLimitX96?: bigint;\n }): Promise<{\n amountOut: bigint;\n sqrtPriceX96After: bigint;\n initializedTicksCrossed: number;\n gasEstimate: bigint;\n }> {\n const addresses = getAddresses(this.chainId);\n\n try {\n const { result } = await this.rpc.simulateContract({\n address: addresses.v3Quoter,\n abi: quoterV2Abi,\n functionName: 'quoteExactInputSingle',\n args: [\n {\n tokenIn: params.tokenIn,\n tokenOut: params.tokenOut,\n amountIn: params.amountIn,\n fee: params.fee,\n sqrtPriceLimitX96: params.sqrtPriceLimitX96 ?? BigInt(0),\n },\n ],\n });\n return {\n amountOut: result[0],\n sqrtPriceX96After: result[1],\n initializedTicksCrossed: result[2],\n gasEstimate: result[3],\n };\n } catch (err: unknown) {\n const revertData: Hex | undefined =\n (err as { cause?: { data?: Hex }; data?: Hex })?.cause?.data ||\n (err as { data?: Hex }).data;\n if (\n revertData &&\n typeof revertData === 'string' &&\n revertData.startsWith('0x')\n ) {\n try {\n // Uniswap V3 QuoterV2 encodes (uint256 amount, uint160 sqrtPriceX96After, int24 tickAfter)\n const [amount, sqrtPriceX96After] = decodeAbiParameters(\n [{ type: 'uint256' }, { type: 'uint160' }, { type: 'int24' }],\n revertData as Hex,\n ) as unknown as [bigint, bigint, number];\n return {\n amountOut: amount,\n sqrtPriceX96After,\n initializedTicksCrossed: 0,\n gasEstimate: 0n,\n };\n } catch (_) {\n // fall through\n }\n }\n throw err;\n }\n }\n\n /**\n * Get a price quote for receiving an exact amount of output tokens on Uniswap V3\n * @param params Parameters for the quote\n * @returns Quote result including required input amount\n */\n async quoteExactOutputV3(params: {\n tokenIn: Address;\n tokenOut: Address;\n amountOut: bigint;\n fee: number;\n sqrtPriceLimitX96?: bigint;\n }): Promise<{\n amountIn: bigint;\n sqrtPriceX96After: bigint;\n initializedTicksCrossed: number;\n gasEstimate: bigint;\n }> {\n const addresses = getAddresses(this.chainId);\n\n try {\n const { result } = await this.rpc.simulateContract({\n address: addresses.v3Quoter,\n abi: quoterV2Abi,\n functionName: 'quoteExactOutputSingle',\n args: [\n {\n tokenIn: params.tokenIn,\n tokenOut: params.tokenOut,\n amount: params.amountOut,\n fee: params.fee,\n sqrtPriceLimitX96: params.sqrtPriceLimitX96 ?? BigInt(0),\n },\n ],\n });\n return {\n amountIn: result[0],\n sqrtPriceX96After: result[1],\n initializedTicksCrossed: result[2],\n gasEstimate: result[3],\n };\n } catch (err: unknown) {\n const revertData: Hex | undefined =\n (err as { cause?: { data?: Hex }; data?: Hex })?.cause?.data ||\n (err as { data?: Hex }).data;\n if (\n revertData &&\n typeof revertData === 'string' &&\n revertData.startsWith('0x')\n ) {\n try {\n // Uniswap V3 QuoterV2 encodes (uint256 amount, uint160 sqrtPriceX96After, int24 tickAfter)\n const [amount, sqrtPriceX96After] = decodeAbiParameters(\n [{ type: 'uint256' }, { type: 'uint160' }, { type: 'int24' }],\n revertData as Hex,\n ) as unknown as [bigint, bigint, number];\n return {\n amountIn: amount,\n sqrtPriceX96After,\n initializedTicksCrossed: 0,\n gasEstimate: 0n,\n };\n } catch (_) {\n // fall through\n }\n }\n throw err;\n }\n }\n\n /**\n * Get a price quote for swapping an exact amount of input tokens on Uniswap V2\n * @param params Parameters for the quote\n * @returns Array of amounts for each step in the path\n */\n async quoteExactInputV2(params: {\n amountIn: bigint;\n path: Address[];\n }): Promise<bigint[]> {\n const addresses = getAddresses(this.chainId);\n\n if (!addresses.univ2Router02) {\n throw new Error('Uniswap V2 Router not available on this chain');\n }\n\n const result = await this.rpc.readContract({\n address: addresses.univ2Router02,\n abi: uniswapV2Router02Abi,\n functionName: 'getAmountsOut',\n args: [params.amountIn, params.path],\n });\n\n return [...result]; // Convert readonly array to mutable array\n }\n\n /**\n * Get a price quote for receiving an exact amount of output tokens on Uniswap V2\n * @param params Parameters for the quote\n * @returns Array of amounts for each step in the path\n */\n async quoteExactOutputV2(params: {\n amountOut: bigint;\n path: Address[];\n }): Promise<bigint[]> {\n const addresses = getAddresses(this.chainId);\n\n if (!addresses.univ2Router02) {\n throw new Error('Uniswap V2 Router not available on this chain');\n }\n\n const result = await this.rpc.readContract({\n address: addresses.univ2Router02,\n abi: uniswapV2Router02Abi,\n functionName: 'getAmountsIn',\n args: [params.amountOut, params.path],\n });\n\n return [...result]; // Convert readonly array to mutable array\n }\n\n /**\n * Get a price quote for swapping an exact amount of input tokens on Uniswap V4\n * @param params Parameters for the quote\n * @returns Quote result for V4 pools\n */\n async quoteExactInputV4(params: {\n poolKey: {\n currency0: Address;\n currency1: Address;\n fee: number;\n tickSpacing: number;\n hooks: Address;\n };\n zeroForOne: boolean;\n exactAmount: bigint;\n hookData?: string;\n }): Promise<{\n amountOut: bigint;\n gasEstimate: bigint;\n }> {\n const addresses = getAddresses(this.chainId);\n\n const quoterAddress = addresses.uniswapV4Quoter;\n\n if (!quoterAddress) {\n throw new Error('No V4 quoter available on this chain');\n }\n\n const { result } = await this.rpc.simulateContract({\n address: quoterAddress,\n abi: v4QuoterAbi,\n functionName: 'quoteExactInputSingle',\n args: [\n {\n poolKey: params.poolKey,\n zeroForOne: params.zeroForOne,\n exactAmount: params.exactAmount,\n hookData: (params.hookData ?? '0x') as `0x${string}`,\n },\n ],\n });\n\n return {\n amountOut: result[0],\n gasEstimate: result[1],\n };\n }\n\n /**\n * Get a price quote for receiving an exact amount of output tokens on Uniswap V4\n * @param params Parameters for the quote\n * @returns Quote result for V4 pools\n */\n async quoteExactOutputV4(params: {\n poolKey: {\n currency0: Address;\n currency1: Address;\n fee: number;\n tickSpacing: number;\n hooks: Address;\n };\n zeroForOne: boolean;\n exactAmount: bigint;\n hookData?: string;\n }): Promise<{\n amountIn: bigint;\n gasEstimate: bigint;\n }> {\n const addresses = getAddresses(this.chainId);\n\n const quoterAddress = addresses.uniswapV4Quoter;\n\n if (!quoterAddress) {\n throw new Error('Uniswap V4 Quoter address not available on this chain');\n }\n\n const { result } = await this.rpc.simulateContract({\n address: quoterAddress,\n abi: v4QuoterAbi,\n functionName: 'quoteExactOutputSingle',\n args: [\n {\n poolKey: params.poolKey,\n zeroForOne: params.zeroForOne,\n exactAmount: params.exactAmount,\n hookData: (params.hookData ?? '0x') as `0x${string}`,\n },\n ],\n });\n\n return {\n amountIn: result[0],\n gasEstimate: result[1],\n };\n }\n\n /**\n * Quote a single exact-input trade using the Uniswap V4 Quoter (not Lens)\n * @param params Parameters for the quote\n */\n async quoteExactInputV4Quoter(params: {\n poolKey: {\n currency0: Address;\n currency1: Address;\n fee: number;\n tickSpacing: number;\n hooks: Address;\n };\n zeroForOne: boolean;\n exactAmount: bigint;\n hookData?: string;\n }): Promise<{\n amountOut: bigint;\n gasEstimate: bigint;\n }> {\n const addresses = getAddresses(this.chainId);\n const quoterAddress = addresses.uniswapV4Quoter;\n\n if (!quoterAddress) {\n throw new Error('Uniswap V4 Quoter address not available on this chain');\n }\n\n const { result } = await this.rpc.simulateContract({\n address: quoterAddress,\n abi: v4QuoterAbi,\n functionName: 'quoteExactInputSingle',\n args: [\n {\n poolKey: params.poolKey,\n zeroForOne: params.zeroForOne,\n exactAmount: params.exactAmount,\n hookData: (params.hookData ?? '0x') as `0x${string}`,\n },\n ],\n });\n\n return {\n amountOut: result[0],\n gasEstimate: result[1],\n };\n }\n\n /**\n * Quote a single exact-output trade using the Uniswap V4 Quoter (not Lens)\n * @param params Parameters for the quote\n */\n async quoteExactOutputV4Quoter(params: {\n poolKey: {\n currency0: Address;\n currency1: Address;\n fee: number;\n tickSpacing: number;\n hooks: Address;\n };\n zeroForOne: boolean;\n exactAmount: bigint;\n hookData?: string;\n }): Promise<{\n amountIn: bigint;\n gasEstimate: bigint;\n }> {\n const addresses = getAddresses(this.chainId);\n const quoterAddress = addresses.uniswapV4Quoter;\n\n if (!quoterAddress) {\n throw new Error('Uniswap V4 Quoter address not available on this chain');\n }\n\n const { result } = await this.rpc.simulateContract({\n address: quoterAddress,\n abi: v4QuoterAbi,\n functionName: 'quoteExactOutputSingle',\n args: [\n {\n poolKey: params.poolKey,\n zeroForOne: params.zeroForOne,\n exactAmount: params.exactAmount,\n hookData: (params.hookData ?? '0x') as `0x${string}`,\n },\n ],\n });\n\n return {\n amountIn: result[0],\n gasEstimate: result[1],\n };\n }\n}\n"]}
@@ -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