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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +726 -25
  3. package/dist/DopplerSDK.d.mts +45 -7
  4. package/dist/DopplerSDK.d.ts +45 -7
  5. package/dist/DopplerSDK.js +35 -12
  6. package/dist/DopplerSDK.mjs +34 -11
  7. package/dist/abis/bytecodes.d.mts +3 -2
  8. package/dist/abis/bytecodes.d.ts +3 -2
  9. package/dist/abis/bytecodes.js +9 -6
  10. package/dist/abis/bytecodes.mjs +1 -2
  11. package/dist/abis/index.d.mts +1507 -129
  12. package/dist/abis/index.d.ts +1507 -129
  13. package/dist/abis/index.js +43 -20
  14. package/dist/abis/index.mjs +2 -3
  15. package/dist/addresses.d.mts +16 -3
  16. package/dist/addresses.d.ts +16 -3
  17. package/dist/addresses.js +13 -5
  18. package/dist/addresses.mjs +2 -2
  19. package/dist/builders/DynamicAuctionBuilder.d.mts +119 -0
  20. package/dist/builders/DynamicAuctionBuilder.d.ts +119 -0
  21. package/dist/builders/DynamicAuctionBuilder.js +29 -0
  22. package/dist/builders/DynamicAuctionBuilder.js.map +1 -0
  23. package/dist/builders/DynamicAuctionBuilder.mjs +20 -0
  24. package/dist/builders/DynamicAuctionBuilder.mjs.map +1 -0
  25. package/dist/builders/MulticurveBuilder.d.mts +132 -0
  26. package/dist/builders/MulticurveBuilder.d.ts +132 -0
  27. package/dist/builders/MulticurveBuilder.js +29 -0
  28. package/dist/builders/MulticurveBuilder.js.map +1 -0
  29. package/dist/builders/MulticurveBuilder.mjs +20 -0
  30. package/dist/builders/MulticurveBuilder.mjs.map +1 -0
  31. package/dist/builders/StaticAuctionBuilder.d.mts +124 -0
  32. package/dist/builders/StaticAuctionBuilder.d.ts +124 -0
  33. package/dist/builders/StaticAuctionBuilder.js +29 -0
  34. package/dist/builders/StaticAuctionBuilder.js.map +1 -0
  35. package/dist/builders/StaticAuctionBuilder.mjs +20 -0
  36. package/dist/builders/StaticAuctionBuilder.mjs.map +1 -0
  37. package/dist/builders/index.d.mts +8 -0
  38. package/dist/builders/index.d.ts +8 -0
  39. package/dist/builders/index.js +56 -0
  40. package/dist/builders/index.js.map +1 -0
  41. package/dist/builders/index.mjs +23 -0
  42. package/dist/builders/index.mjs.map +1 -0
  43. package/dist/builders/shared.d.mts +116 -0
  44. package/dist/builders/shared.d.ts +116 -0
  45. package/dist/builders/shared.js +39 -0
  46. package/dist/builders/shared.js.map +1 -0
  47. package/dist/builders/shared.mjs +18 -0
  48. package/dist/builders/shared.mjs.map +1 -0
  49. package/dist/builders.d.mts +8 -131
  50. package/dist/builders.d.ts +8 -131
  51. package/dist/builders.js +44 -5
  52. package/dist/builders.mjs +22 -3
  53. package/dist/chunk-3PNCB4W5.js +4 -0
  54. package/dist/{chunk-KRN3ROUE.js.map → chunk-3PNCB4W5.js.map} +1 -1
  55. package/dist/chunk-3RK7LRAA.js +282 -0
  56. package/dist/chunk-3RK7LRAA.js.map +1 -0
  57. package/dist/chunk-4HM3ERBU.js +13 -0
  58. package/dist/chunk-4HM3ERBU.js.map +1 -0
  59. package/dist/{chunk-7W72MFJO.mjs → chunk-4TROGENW.mjs} +5 -4
  60. package/dist/chunk-4TROGENW.mjs.map +1 -0
  61. package/dist/chunk-5TL5V6UX.mjs +3 -0
  62. package/dist/{chunk-AZLFJNTG.mjs.map → chunk-5TL5V6UX.mjs.map} +1 -1
  63. package/dist/chunk-64AWG57M.mjs +192 -0
  64. package/dist/chunk-64AWG57M.mjs.map +1 -0
  65. package/dist/chunk-6KWCHTK3.js +166 -0
  66. package/dist/chunk-6KWCHTK3.js.map +1 -0
  67. package/dist/chunk-6OOWOPCX.js +1708 -0
  68. package/dist/chunk-6OOWOPCX.js.map +1 -0
  69. package/dist/chunk-7BBRPWQJ.js +257 -0
  70. package/dist/chunk-7BBRPWQJ.js.map +1 -0
  71. package/dist/{chunk-FVTIDXYK.mjs → chunk-AKSEBAR7.mjs} +29 -19
  72. package/dist/chunk-AKSEBAR7.mjs.map +1 -0
  73. package/dist/chunk-AS64GWBX.js +204 -0
  74. package/dist/chunk-AS64GWBX.js.map +1 -0
  75. package/dist/chunk-AULFBXM5.mjs +331 -0
  76. package/dist/chunk-AULFBXM5.mjs.map +1 -0
  77. package/dist/chunk-AW3WR2D3.mjs +238 -0
  78. package/dist/chunk-AW3WR2D3.mjs.map +1 -0
  79. package/dist/chunk-BIQQ53O2.js +45 -0
  80. package/dist/chunk-BIQQ53O2.js.map +1 -0
  81. package/dist/chunk-C6MPV3CY.js +260 -0
  82. package/dist/chunk-C6MPV3CY.js.map +1 -0
  83. package/dist/{chunk-AYPP5JEQ.mjs → chunk-CLEQO6GU.mjs} +5 -5
  84. package/dist/chunk-CLEQO6GU.mjs.map +1 -0
  85. package/dist/chunk-CVHPLURA.js +147 -0
  86. package/dist/chunk-CVHPLURA.js.map +1 -0
  87. package/dist/chunk-D2RBCFNW.mjs +130 -0
  88. package/dist/chunk-D2RBCFNW.mjs.map +1 -0
  89. package/dist/chunk-ECD4FV3A.mjs +11 -0
  90. package/dist/chunk-ECD4FV3A.mjs.map +1 -0
  91. package/dist/chunk-EDJBZPMW.mjs +255 -0
  92. package/dist/chunk-EDJBZPMW.mjs.map +1 -0
  93. package/dist/chunk-FPAI4QYW.mjs +145 -0
  94. package/dist/chunk-FPAI4QYW.mjs.map +1 -0
  95. package/dist/chunk-HM25ZMO3.js +18 -0
  96. package/dist/chunk-HM25ZMO3.js.map +1 -0
  97. package/dist/chunk-IHC6UYKK.js +4 -0
  98. package/dist/{chunk-DRBRT57F.js.map → chunk-IHC6UYKK.js.map} +1 -1
  99. package/dist/{chunk-DMAHXBA5.mjs → chunk-J5BFFL3X.mjs} +87 -47
  100. package/dist/chunk-J5BFFL3X.mjs.map +1 -0
  101. package/dist/chunk-JIKAD4YL.js +4 -0
  102. package/dist/{chunk-KEXKKQVW.js.map → chunk-JIKAD4YL.js.map} +1 -1
  103. package/dist/{chunk-EFAPDN4J.js → chunk-JWEXGALU.js} +730 -33
  104. package/dist/chunk-JWEXGALU.js.map +1 -0
  105. package/dist/{chunk-4K5GBNQV.mjs → chunk-KDT76YQE.mjs} +52 -13
  106. package/dist/chunk-KDT76YQE.mjs.map +1 -0
  107. package/dist/chunk-LMQLMMEX.js +317 -0
  108. package/dist/chunk-LMQLMMEX.js.map +1 -0
  109. package/dist/{chunk-TOMVBPNZ.js → chunk-LS4TK6SX.js} +9 -4
  110. package/dist/chunk-LS4TK6SX.js.map +1 -0
  111. package/dist/chunk-M4WMHD3X.mjs +40 -0
  112. package/dist/chunk-M4WMHD3X.mjs.map +1 -0
  113. package/dist/chunk-MCOK3UFR.mjs +280 -0
  114. package/dist/chunk-MCOK3UFR.mjs.map +1 -0
  115. package/dist/chunk-MGQSQCFG.js +176 -0
  116. package/dist/chunk-MGQSQCFG.js.map +1 -0
  117. package/dist/chunk-MKE3BUL3.mjs +3 -0
  118. package/dist/{chunk-CYDWEPFL.mjs.map → chunk-MKE3BUL3.mjs.map} +1 -1
  119. package/dist/chunk-MNJ5OYPE.mjs +17 -0
  120. package/dist/chunk-MNJ5OYPE.mjs.map +1 -0
  121. package/dist/chunk-MNXD45J7.mjs +164 -0
  122. package/dist/chunk-MNXD45J7.mjs.map +1 -0
  123. package/dist/chunk-NGDPQC5E.js +333 -0
  124. package/dist/chunk-NGDPQC5E.js.map +1 -0
  125. package/dist/chunk-NNNCVFOH.mjs +16 -0
  126. package/dist/chunk-NNNCVFOH.mjs.map +1 -0
  127. package/dist/chunk-NZ4BJ2IC.mjs +315 -0
  128. package/dist/chunk-NZ4BJ2IC.mjs.map +1 -0
  129. package/dist/chunk-OKNM7ODQ.js +29 -0
  130. package/dist/chunk-OKNM7ODQ.js.map +1 -0
  131. package/dist/{chunk-DCFHANLR.mjs → chunk-OTG75GVH.mjs} +725 -34
  132. package/dist/chunk-OTG75GVH.mjs.map +1 -0
  133. package/dist/chunk-OZ6DGBRL.mjs +25 -0
  134. package/dist/chunk-OZ6DGBRL.mjs.map +1 -0
  135. package/dist/chunk-P25HBGP5.mjs +3 -0
  136. package/dist/chunk-P25HBGP5.mjs.map +1 -0
  137. package/dist/{chunk-XG7K4R56.js → chunk-P7KLEPVI.js} +52 -12
  138. package/dist/chunk-P7KLEPVI.js.map +1 -0
  139. package/dist/{chunk-OPKQMN46.mjs → chunk-PAPXGPJB.mjs} +9 -4
  140. package/dist/chunk-PAPXGPJB.mjs.map +1 -0
  141. package/dist/chunk-PCNXJAU5.js +19 -0
  142. package/dist/chunk-PCNXJAU5.js.map +1 -0
  143. package/dist/{chunk-5IT5OXQ5.js → chunk-PD6HWEMG.js} +40 -30
  144. package/dist/chunk-PD6HWEMG.js.map +1 -0
  145. package/dist/{chunk-ER42VG7H.js → chunk-PH2KXREH.js} +20 -3
  146. package/dist/chunk-PH2KXREH.js.map +1 -0
  147. package/dist/chunk-Q5ERW5ZW.mjs +107 -0
  148. package/dist/chunk-Q5ERW5ZW.mjs.map +1 -0
  149. package/dist/chunk-Q7YNBSVH.js +28 -0
  150. package/dist/chunk-Q7YNBSVH.js.map +1 -0
  151. package/dist/{chunk-T644D54P.mjs → chunk-QKO2FZGN.mjs} +16 -4
  152. package/dist/chunk-QKO2FZGN.mjs.map +1 -0
  153. package/dist/{chunk-CIRZKWLL.js → chunk-RVFSRYI5.js} +5 -3
  154. package/dist/chunk-RVFSRYI5.js.map +1 -0
  155. package/dist/{chunk-KPBCG4X2.js → chunk-RW37KJ77.js} +11 -11
  156. package/dist/chunk-RW37KJ77.js.map +1 -0
  157. package/dist/chunk-SD7BHT2F.mjs +3 -0
  158. package/dist/chunk-SD7BHT2F.mjs.map +1 -0
  159. package/dist/chunk-SP5M57BG.mjs +258 -0
  160. package/dist/chunk-SP5M57BG.mjs.map +1 -0
  161. package/dist/chunk-TKSHYEYA.mjs +1706 -0
  162. package/dist/chunk-TKSHYEYA.mjs.map +1 -0
  163. package/dist/chunk-WTS75RUC.js +4 -0
  164. package/dist/chunk-WTS75RUC.js.map +1 -0
  165. package/dist/{chunk-ZRDU6CIB.js → chunk-XRPIGMA2.js} +108 -68
  166. package/dist/chunk-XRPIGMA2.js.map +1 -0
  167. package/dist/chunk-XTKSM4QE.js +132 -0
  168. package/dist/chunk-XTKSM4QE.js.map +1 -0
  169. package/dist/chunk-XUE3CIJ5.mjs +174 -0
  170. package/dist/chunk-XUE3CIJ5.mjs.map +1 -0
  171. package/dist/chunk-YYUOLM6U.js +244 -0
  172. package/dist/chunk-YYUOLM6U.js.map +1 -0
  173. package/dist/chunk-ZH44DHVR.mjs +26 -0
  174. package/dist/chunk-ZH44DHVR.mjs.map +1 -0
  175. package/dist/chunk-ZPHOOG72.js +112 -0
  176. package/dist/chunk-ZPHOOG72.js.map +1 -0
  177. package/dist/constants.d.mts +7 -2
  178. package/dist/constants.d.ts +7 -2
  179. package/dist/constants.js +57 -38
  180. package/dist/constants.mjs +1 -2
  181. package/dist/deployments.generated.d.mts +2 -0
  182. package/dist/deployments.generated.d.ts +2 -0
  183. package/dist/deployments.generated.js +12 -0
  184. package/dist/deployments.generated.js.map +1 -0
  185. package/dist/deployments.generated.mjs +3 -0
  186. package/dist/deployments.generated.mjs.map +1 -0
  187. package/dist/entities/DopplerFactory.d.mts +139 -11
  188. package/dist/entities/DopplerFactory.d.ts +139 -11
  189. package/dist/entities/DopplerFactory.js +17 -7
  190. package/dist/entities/DopplerFactory.mjs +16 -6
  191. package/dist/entities/auction/DynamicAuction.d.mts +19 -4
  192. package/dist/entities/auction/DynamicAuction.d.ts +19 -4
  193. package/dist/entities/auction/DynamicAuction.js +6 -6
  194. package/dist/entities/auction/DynamicAuction.mjs +5 -5
  195. package/dist/entities/auction/MulticurvePool.d.mts +55 -0
  196. package/dist/entities/auction/MulticurvePool.d.ts +55 -0
  197. package/dist/entities/auction/MulticurvePool.js +18 -0
  198. package/dist/entities/auction/MulticurvePool.js.map +1 -0
  199. package/dist/entities/auction/MulticurvePool.mjs +9 -0
  200. package/dist/entities/auction/MulticurvePool.mjs.map +1 -0
  201. package/dist/entities/auction/StaticAuction.d.mts +6 -3
  202. package/dist/entities/auction/StaticAuction.d.ts +6 -3
  203. package/dist/entities/auction/StaticAuction.js +6 -6
  204. package/dist/entities/auction/StaticAuction.mjs +5 -5
  205. package/dist/entities/auction/index.d.mts +3 -0
  206. package/dist/entities/auction/index.d.ts +3 -0
  207. package/dist/entities/auction/index.js +16 -9
  208. package/dist/entities/auction/index.mjs +10 -7
  209. package/dist/entities/quoter/Quoter.d.mts +44 -2
  210. package/dist/entities/quoter/Quoter.d.ts +44 -2
  211. package/dist/entities/quoter/Quoter.js +6 -6
  212. package/dist/entities/quoter/Quoter.mjs +5 -5
  213. package/dist/entities/quoter/index.d.mts +3 -0
  214. package/dist/entities/quoter/index.d.ts +3 -0
  215. package/dist/entities/quoter/index.js +6 -6
  216. package/dist/entities/quoter/index.mjs +5 -5
  217. package/dist/entities/token/derc20/Derc20.d.mts +33 -7
  218. package/dist/entities/token/derc20/Derc20.d.ts +33 -7
  219. package/dist/entities/token/derc20/Derc20.js +4 -5
  220. package/dist/entities/token/derc20/Derc20.mjs +3 -4
  221. package/dist/entities/token/derc20/index.d.mts +3 -0
  222. package/dist/entities/token/derc20/index.d.ts +3 -0
  223. package/dist/entities/token/derc20/index.js +4 -5
  224. package/dist/entities/token/derc20/index.mjs +3 -4
  225. package/dist/entities/token/eth/Eth.d.mts +7 -3
  226. package/dist/entities/token/eth/Eth.d.ts +7 -3
  227. package/dist/entities/token/eth/Eth.js +2 -3
  228. package/dist/entities/token/eth/Eth.mjs +1 -2
  229. package/dist/entities/token/eth/index.d.mts +3 -0
  230. package/dist/entities/token/eth/index.d.ts +3 -0
  231. package/dist/entities/token/eth/index.js +2 -3
  232. package/dist/entities/token/eth/index.mjs +1 -2
  233. package/dist/entities/token/index.d.mts +3 -0
  234. package/dist/entities/token/index.d.ts +3 -0
  235. package/dist/entities/token/index.js +6 -7
  236. package/dist/entities/token/index.mjs +4 -5
  237. package/dist/index.d.mts +18 -6
  238. package/dist/index.d.ts +18 -6
  239. package/dist/index.js +305 -140
  240. package/dist/index.js.map +1 -1
  241. package/dist/index.mjs +32 -19
  242. package/dist/index.mjs.map +1 -1
  243. package/dist/types.d.mts +260 -22
  244. package/dist/types.d.ts +260 -22
  245. package/dist/types.js +12 -3
  246. package/dist/types.mjs +3 -2
  247. package/dist/utils/airlock.d.mts +11 -0
  248. package/dist/utils/airlock.d.ts +11 -0
  249. package/dist/utils/airlock.js +26 -0
  250. package/dist/utils/airlock.js.map +1 -0
  251. package/dist/utils/airlock.mjs +5 -0
  252. package/dist/utils/airlock.mjs.map +1 -0
  253. package/dist/utils/balanceDelta.d.mts +10 -0
  254. package/dist/utils/balanceDelta.d.ts +10 -0
  255. package/dist/utils/balanceDelta.js +12 -0
  256. package/dist/utils/balanceDelta.js.map +1 -0
  257. package/dist/utils/balanceDelta.mjs +3 -0
  258. package/dist/utils/balanceDelta.mjs.map +1 -0
  259. package/dist/utils/computeOptimalGamma.d.mts +7 -0
  260. package/dist/utils/computeOptimalGamma.d.ts +7 -0
  261. package/dist/utils/computeOptimalGamma.js +12 -0
  262. package/dist/utils/computeOptimalGamma.js.map +1 -0
  263. package/dist/utils/computeOptimalGamma.mjs +3 -0
  264. package/dist/utils/computeOptimalGamma.mjs.map +1 -0
  265. package/dist/utils/index.d.mts +11 -0
  266. package/dist/utils/index.d.ts +11 -0
  267. package/dist/utils/index.js +114 -24
  268. package/dist/utils/index.mjs +14 -4
  269. package/dist/utils/isToken0Expected.d.mts +13 -0
  270. package/dist/utils/isToken0Expected.d.ts +13 -0
  271. package/dist/utils/isToken0Expected.js +12 -0
  272. package/dist/utils/isToken0Expected.js.map +1 -0
  273. package/dist/utils/isToken0Expected.mjs +3 -0
  274. package/dist/utils/isToken0Expected.mjs.map +1 -0
  275. package/dist/utils/marketCapHelpers.d.mts +309 -0
  276. package/dist/utils/marketCapHelpers.d.ts +309 -0
  277. package/dist/utils/marketCapHelpers.js +54 -0
  278. package/dist/utils/marketCapHelpers.js.map +1 -0
  279. package/dist/utils/marketCapHelpers.mjs +5 -0
  280. package/dist/utils/marketCapHelpers.mjs.map +1 -0
  281. package/dist/utils/poolKey.d.mts +17 -0
  282. package/dist/utils/poolKey.d.ts +17 -0
  283. package/dist/utils/poolKey.js +12 -0
  284. package/dist/utils/poolKey.js.map +1 -0
  285. package/dist/utils/poolKey.mjs +3 -0
  286. package/dist/utils/poolKey.mjs.map +1 -0
  287. package/dist/utils/priceHelpers.d.mts +3 -3
  288. package/dist/utils/priceHelpers.d.ts +3 -3
  289. package/dist/utils/priceHelpers.js +10 -11
  290. package/dist/utils/priceHelpers.mjs +2 -3
  291. package/dist/utils/tickMath.d.mts +8 -1
  292. package/dist/utils/tickMath.d.ts +8 -1
  293. package/dist/utils/tickMath.js +17 -14
  294. package/dist/utils/tickMath.mjs +1 -2
  295. package/dist/utils/tokenAddressMiner.d.mts +30 -0
  296. package/dist/utils/tokenAddressMiner.d.ts +30 -0
  297. package/dist/utils/tokenAddressMiner.js +14 -0
  298. package/dist/utils/tokenAddressMiner.js.map +1 -0
  299. package/dist/utils/tokenAddressMiner.mjs +5 -0
  300. package/dist/utils/tokenAddressMiner.mjs.map +1 -0
  301. package/package.json +14 -11
  302. package/dist/__tests__/mocks/addresses.d.mts +0 -46
  303. package/dist/__tests__/mocks/addresses.d.ts +0 -46
  304. package/dist/__tests__/mocks/addresses.js +0 -53
  305. package/dist/__tests__/mocks/addresses.js.map +0 -1
  306. package/dist/__tests__/mocks/addresses.mjs +0 -44
  307. package/dist/__tests__/mocks/addresses.mjs.map +0 -1
  308. package/dist/__tests__/mocks/clients.d.mts +0 -22
  309. package/dist/__tests__/mocks/clients.d.ts +0 -22
  310. package/dist/__tests__/mocks/clients.js +0 -17036
  311. package/dist/__tests__/mocks/clients.js.map +0 -1
  312. package/dist/__tests__/mocks/clients.mjs +0 -17032
  313. package/dist/__tests__/mocks/clients.mjs.map +0 -1
  314. package/dist/chunk-2N5JZSZ4.js +0 -14
  315. package/dist/chunk-2N5JZSZ4.js.map +0 -1
  316. package/dist/chunk-3OZRDL3O.js +0 -162
  317. package/dist/chunk-3OZRDL3O.js.map +0 -1
  318. package/dist/chunk-4K5GBNQV.mjs.map +0 -1
  319. package/dist/chunk-5IT5OXQ5.js.map +0 -1
  320. package/dist/chunk-7F5IXZLH.js +0 -308
  321. package/dist/chunk-7F5IXZLH.js.map +0 -1
  322. package/dist/chunk-7VP5VR7J.js +0 -82
  323. package/dist/chunk-7VP5VR7J.js.map +0 -1
  324. package/dist/chunk-7W72MFJO.mjs.map +0 -1
  325. package/dist/chunk-AYPP5JEQ.mjs.map +0 -1
  326. package/dist/chunk-AZLFJNTG.mjs +0 -3
  327. package/dist/chunk-CIRZKWLL.js.map +0 -1
  328. package/dist/chunk-CYDWEPFL.mjs +0 -3
  329. package/dist/chunk-DCFHANLR.mjs.map +0 -1
  330. package/dist/chunk-DMAHXBA5.mjs.map +0 -1
  331. package/dist/chunk-DRBRT57F.js +0 -4
  332. package/dist/chunk-EFAPDN4J.js.map +0 -1
  333. package/dist/chunk-ER42VG7H.js.map +0 -1
  334. package/dist/chunk-FVTIDXYK.mjs.map +0 -1
  335. package/dist/chunk-IHBIBFZK.mjs +0 -12
  336. package/dist/chunk-IHBIBFZK.mjs.map +0 -1
  337. package/dist/chunk-IXSKPEHB.mjs +0 -160
  338. package/dist/chunk-IXSKPEHB.mjs.map +0 -1
  339. package/dist/chunk-KEXKKQVW.js +0 -42
  340. package/dist/chunk-KFD6U3LQ.mjs +0 -305
  341. package/dist/chunk-KFD6U3LQ.mjs.map +0 -1
  342. package/dist/chunk-KPBCG4X2.js.map +0 -1
  343. package/dist/chunk-KRN3ROUE.js +0 -4
  344. package/dist/chunk-KT7U37XS.mjs +0 -207
  345. package/dist/chunk-KT7U37XS.mjs.map +0 -1
  346. package/dist/chunk-LOROXNH3.mjs +0 -37
  347. package/dist/chunk-LOROXNH3.mjs.map +0 -1
  348. package/dist/chunk-O6GYIJ6X.mjs +0 -80
  349. package/dist/chunk-O6GYIJ6X.mjs.map +0 -1
  350. package/dist/chunk-OPKQMN46.mjs.map +0 -1
  351. package/dist/chunk-RIMM47JL.mjs +0 -176
  352. package/dist/chunk-RIMM47JL.mjs.map +0 -1
  353. package/dist/chunk-SUOMK3CU.js +0 -872
  354. package/dist/chunk-SUOMK3CU.js.map +0 -1
  355. package/dist/chunk-T644D54P.mjs.map +0 -1
  356. package/dist/chunk-TOMVBPNZ.js.map +0 -1
  357. package/dist/chunk-XEMZQHTX.mjs +0 -870
  358. package/dist/chunk-XEMZQHTX.mjs.map +0 -1
  359. package/dist/chunk-XG7K4R56.js.map +0 -1
  360. package/dist/chunk-XQ2VMR26.js +0 -180
  361. package/dist/chunk-XQ2VMR26.js.map +0 -1
  362. package/dist/chunk-ZAIP54LX.js +0 -209
  363. package/dist/chunk-ZAIP54LX.js.map +0 -1
  364. package/dist/chunk-ZRDU6CIB.js.map +0 -1
  365. package/dist/magic-string.es-CBLXTCZP.js +0 -1304
  366. package/dist/magic-string.es-CBLXTCZP.js.map +0 -1
  367. package/dist/magic-string.es-QHA47FSB.mjs +0 -1298
  368. package/dist/magic-string.es-QHA47FSB.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/abis/index.ts"],"names":[],"mappings":"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","file":"chunk-EFAPDN4J.js","sourcesContent":["// Core contract ABIs needed for static and dynamic auctions\n\nexport const airlockAbi = [\n {\n type: 'constructor',\n inputs: [{ name: 'owner_', type: 'address', internalType: 'address' }],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n name: 'collectIntegratorFees',\n inputs: [\n { name: 'to', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n { name: 'amount', type: 'uint256', internalType: 'uint256' },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'collectProtocolFees',\n inputs: [\n { name: 'to', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n { name: 'amount', type: 'uint256', internalType: 'uint256' },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'create',\n inputs: [\n {\n name: 'createData',\n type: 'tuple',\n internalType: 'struct CreateParams',\n components: [\n { name: 'initialSupply', type: 'uint256', internalType: 'uint256' },\n { name: 'numTokensToSell', type: 'uint256', internalType: 'uint256' },\n { name: 'numeraire', type: 'address', internalType: 'address' },\n {\n name: 'tokenFactory',\n type: 'address',\n internalType: 'contract ITokenFactory',\n },\n { name: 'tokenFactoryData', type: 'bytes', internalType: 'bytes' },\n {\n name: 'governanceFactory',\n type: 'address',\n internalType: 'contract IGovernanceFactory',\n },\n {\n name: 'governanceFactoryData',\n type: 'bytes',\n internalType: 'bytes',\n },\n {\n name: 'poolInitializer',\n type: 'address',\n internalType: 'contract IPoolInitializer',\n },\n { name: 'poolInitializerData', type: 'bytes', internalType: 'bytes' },\n {\n name: 'liquidityMigrator',\n type: 'address',\n internalType: 'contract ILiquidityMigrator',\n },\n {\n name: 'liquidityMigratorData',\n type: 'bytes',\n internalType: 'bytes',\n },\n { name: 'integrator', type: 'address', internalType: 'address' },\n { name: 'salt', type: 'bytes32', internalType: 'bytes32' },\n ],\n },\n ],\n outputs: [\n { name: 'asset', type: 'address', internalType: 'address' },\n { name: 'pool', type: 'address', internalType: 'address' },\n { name: 'governance', type: 'address', internalType: 'address' },\n { name: 'timelock', type: 'address', internalType: 'address' },\n { name: 'migrationPool', type: 'address', internalType: 'address' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'getAssetData',\n inputs: [{ name: 'asset', type: 'address', internalType: 'address' }],\n outputs: [\n { name: 'numeraire', type: 'address', internalType: 'address' },\n { name: 'timelock', type: 'address', internalType: 'address' },\n { name: 'governance', type: 'address', internalType: 'address' },\n {\n name: 'liquidityMigrator',\n type: 'address',\n internalType: 'contract ILiquidityMigrator',\n },\n {\n name: 'poolInitializer',\n type: 'address',\n internalType: 'contract IPoolInitializer',\n },\n { name: 'pool', type: 'address', internalType: 'address' },\n { name: 'migrationPool', type: 'address', internalType: 'address' },\n { name: 'numTokensToSell', type: 'uint256', internalType: 'uint256' },\n { name: 'totalSupply', type: 'uint256', internalType: 'uint256' },\n { name: 'integrator', type: 'address', internalType: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getModuleState',\n inputs: [{ name: 'module', type: 'address', internalType: 'address' }],\n outputs: [\n { name: 'state', type: 'uint8', internalType: 'enum ModuleState' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'integratorFees',\n inputs: [\n { name: 'integrator', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n ],\n outputs: [{ name: 'amount', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'migrate',\n inputs: [{ name: 'asset', type: 'address', internalType: 'address' }],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'owner',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'protocolFees',\n inputs: [{ name: 'token', type: 'address', internalType: 'address' }],\n outputs: [{ name: 'amount', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'renounceOwnership',\n inputs: [],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'setModuleState',\n inputs: [\n { name: 'modules', type: 'address[]', internalType: 'address[]' },\n { name: 'states', type: 'uint8[]', internalType: 'enum ModuleState[]' },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'transferOwnership',\n inputs: [{ name: 'newOwner', type: 'address', internalType: 'address' }],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n name: 'Collect',\n inputs: [\n { name: 'to', type: 'address', indexed: true, internalType: 'address' },\n {\n name: 'token',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'amount',\n type: 'uint256',\n indexed: false,\n internalType: 'uint256',\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'Create',\n inputs: [\n {\n name: 'asset',\n type: 'address',\n indexed: false,\n internalType: 'address',\n },\n {\n name: 'numeraire',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'initializer',\n type: 'address',\n indexed: false,\n internalType: 'address',\n },\n {\n name: 'poolOrHook',\n type: 'address',\n indexed: false,\n internalType: 'address',\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'Migrate',\n inputs: [\n {\n name: 'asset',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n { name: 'pool', type: 'address', indexed: true, internalType: 'address' },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'OwnershipTransferred',\n inputs: [\n {\n name: 'previousOwner',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'newOwner',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'SetModuleState',\n inputs: [\n {\n name: 'module',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'state',\n type: 'uint8',\n indexed: true,\n internalType: 'enum ModuleState',\n },\n ],\n anonymous: false,\n },\n { type: 'error', name: 'ArrayLengthsMismatch', inputs: [] },\n {\n type: 'error',\n name: 'OwnableInvalidOwner',\n inputs: [{ name: 'owner', type: 'address', internalType: 'address' }],\n },\n {\n type: 'error',\n name: 'OwnableUnauthorizedAccount',\n inputs: [{ name: 'account', type: 'address', internalType: 'address' }],\n },\n {\n type: 'error',\n name: 'WrongModuleState',\n inputs: [\n { name: 'module', type: 'address', internalType: 'address' },\n { name: 'expected', type: 'uint8', internalType: 'enum ModuleState' },\n { name: 'actual', type: 'uint8', internalType: 'enum ModuleState' },\n ],\n },\n] as const\n\nexport const uniswapV3InitializerAbi = [\n {\n type: \"function\",\n name: \"encodePoolInitializerData\",\n inputs: [\n { name: \"params\", type: \"tuple\", \n components: [\n { name: \"numTokensToSell\", type: \"uint256\" },\n { name: \"startTick\", type: \"int24\" },\n { name: \"endTick\", type: \"int24\" },\n { name: \"fee\", type: \"uint24\" }\n ]\n }\n ],\n outputs: [{ name: \"\", type: \"bytes\" }],\n stateMutability: \"pure\",\n },\n] as const\n\nexport const v2MigratorAbi = [\n {\n type: \"function\",\n name: \"encodeLiquidityMigratorData\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes\" }],\n stateMutability: \"pure\",\n },\n] as const\n\nexport const v3MigratorAbi = [\n {\n type: \"function\",\n name: \"encodeLiquidityMigratorData\",\n inputs: [\n { name: \"fee\", type: \"uint24\" },\n { name: \"tickSpacing\", type: \"int24\" }\n ],\n outputs: [{ name: \"\", type: \"bytes\" }],\n stateMutability: \"pure\",\n },\n] as const\n\nexport const v4MigratorAbi = [\n {\n type: \"function\",\n name: \"encodeLiquidityMigratorData\",\n inputs: [\n { name: \"fee\", type: \"uint24\" },\n { name: \"tickSpacing\", type: \"int24\" },\n { name: \"lockDuration\", type: \"uint256\" },\n { name: \"beneficiaries\", type: \"address[]\" },\n { name: \"percentages\", type: \"uint256[]\" }\n ],\n outputs: [{ name: \"\", type: \"bytes\" }],\n stateMutability: \"pure\",\n },\n] as const\n\nexport const uniswapV3PoolAbi = [\n {\n type: \"function\",\n name: \"slot0\",\n inputs: [],\n outputs: [\n { name: \"sqrtPriceX96\", type: \"uint160\" },\n { name: \"tick\", type: \"int24\" },\n { name: \"observationIndex\", type: \"uint16\" },\n { name: \"observationCardinality\", type: \"uint16\" },\n { name: \"observationCardinalityNext\", type: \"uint16\" },\n { name: \"feeProtocol\", type: \"uint8\" },\n { name: \"unlocked\", type: \"bool\" }\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"liquidity\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint128\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"token0\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"token1\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"fee\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint24\" }],\n stateMutability: \"view\",\n },\n] as const\n\nexport const derc20Abi = [\n {\n type: \"function\",\n name: \"allowance\",\n inputs: [\n { name: \"owner\", type: \"address\", internalType: \"address\" },\n { name: \"spender\", type: \"address\", internalType: \"address\" },\n ],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"approve\",\n inputs: [\n { name: \"spender\", type: \"address\", internalType: \"address\" },\n { name: \"value\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"balanceOf\",\n inputs: [{ name: \"account\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: 'function',\n name: 'computeAvailableVestedAmount',\n inputs: [{ name: 'account', type: 'address', internalType: 'address' }],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: \"function\",\n name: \"currentYearStart\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"decimals\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint8\", internalType: \"uint8\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getVestingDataOf\",\n inputs: [{ name: \"account\", type: \"address\", internalType: \"address\" }],\n outputs: [\n { name: \"totalAmount\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"releasedAmount\", type: \"uint256\", internalType: \"uint256\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"isPoolUnlocked\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"lastMintTimestamp\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"name\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\", internalType: \"string\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"pool\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"release\",\n inputs: [{ name: \"amount\", type: \"uint256\", internalType: \"uint256\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"symbol\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\", internalType: \"string\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"tokenURI\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\", internalType: \"string\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"totalSupply\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"transfer\",\n inputs: [\n { name: \"to\", type: \"address\", internalType: \"address\" },\n { name: \"value\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"transferFrom\",\n inputs: [\n { name: \"from\", type: \"address\", internalType: \"address\" },\n { name: \"to\", type: \"address\", internalType: \"address\" },\n { name: \"value\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"vestedTotalAmount\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"vestingDuration\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"vestingStart\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"yearlyMintRate\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n] as const\n\nexport const uniswapV4InitializerAbi = [\n {\n type: \"function\",\n name: \"encodePoolInitializerData\",\n inputs: [\n { name: \"params\", type: \"tuple\", \n components: [\n { name: \"minimumProceeds\", type: \"uint256\" },\n { name: \"maximumProceeds\", type: \"uint256\" },\n { name: \"startingTime\", type: \"uint256\" },\n { name: \"endingTime\", type: \"uint256\" },\n { name: \"startingTick\", type: \"int24\" },\n { name: \"endingTick\", type: \"int24\" },\n { name: \"epochLength\", type: \"uint256\" },\n { name: \"gamma\", type: \"int24\" },\n { name: \"isToken0\", type: \"bool\" },\n { name: \"numPDSlugs\", type: \"uint256\" },\n { name: \"fee\", type: \"uint24\" },\n { name: \"tickSpacing\", type: \"int24\" }\n ]\n }\n ],\n outputs: [{ name: \"\", type: \"bytes\" }],\n stateMutability: \"pure\",\n },\n] as const\n\nexport const dopplerHookAbi = [\n {\n type: \"function\",\n name: \"state\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n components: [\n { name: \"lastEpoch\", type: \"uint40\" },\n { name: \"tickAccumulator\", type: \"int256\" },\n { name: \"totalTokensSold\", type: \"uint256\" },\n { name: \"totalProceeds\", type: \"uint256\" },\n { name: \"totalTokensSoldLastEpoch\", type: \"uint256\" },\n { name: \"feesAccrued\", type: \"tuple\", components: [\n { name: \"amount0\", type: \"int128\" },\n { name: \"amount1\", type: \"int128\" }\n ]}\n ]\n }\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"earlyExit\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"insufficientProceeds\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"poolKey\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n components: [\n { name: \"currency0\", type: \"address\" },\n { name: \"currency1\", type: \"address\" },\n { name: \"fee\", type: \"uint24\" },\n { name: \"tickSpacing\", type: \"int24\" },\n { name: \"hooks\", type: \"address\" }\n ]\n }\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"startingTime\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"endingTime\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"epochLength\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"minimumProceeds\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"maximumProceeds\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"numTokensToSell\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"startingTick\",\n inputs: [],\n outputs: [{ name: \"\", type: \"int24\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"endingTick\",\n inputs: [],\n outputs: [{ name: \"\", type: \"int24\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"gamma\",\n inputs: [],\n outputs: [{ name: \"\", type: \"int24\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"isToken0\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"numPDSlugs\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n },\n] as const\n\nexport const quoterV2Abi = [\n {\n inputs: [\n { internalType: \"address\", name: \"_factory\", type: \"address\" },\n { internalType: \"address\", name: \"_WETH9\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"WETH9\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"factory\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"bytes\", name: \"path\", type: \"bytes\" },\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n ],\n name: \"quoteExactInput\",\n outputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n {\n internalType: \"uint160[]\",\n name: \"sqrtPriceX96AfterList\",\n type: \"uint160[]\",\n },\n {\n internalType: \"uint32[]\",\n name: \"initializedTicksCrossedList\",\n type: \"uint32[]\",\n },\n { internalType: \"uint256\", name: \"gasEstimate\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"tokenIn\", type: \"address\" },\n { internalType: \"address\", name: \"tokenOut\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint24\", name: \"fee\", type: \"uint24\" },\n {\n internalType: \"uint160\",\n name: \"sqrtPriceLimitX96\",\n type: \"uint160\",\n },\n ],\n internalType: \"struct IQuoterV2.QuoteExactInputSingleParams\",\n name: \"params\",\n type: \"tuple\",\n },\n ],\n name: \"quoteExactInputSingle\",\n outputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint160\", name: \"sqrtPriceX96After\", type: \"uint160\" },\n {\n internalType: \"uint32\",\n name: \"initializedTicksCrossed\",\n type: \"uint32\",\n },\n { internalType: \"uint256\", name: \"gasEstimate\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"bytes\", name: \"path\", type: \"bytes\" },\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n ],\n name: \"quoteExactOutput\",\n outputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n {\n internalType: \"uint160[]\",\n name: \"sqrtPriceX96AfterList\",\n type: \"uint160[]\",\n },\n {\n internalType: \"uint32[]\",\n name: \"initializedTicksCrossedList\",\n type: \"uint32[]\",\n },\n { internalType: \"uint256\", name: \"gasEstimate\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"tokenIn\", type: \"address\" },\n { internalType: \"address\", name: \"tokenOut\", type: \"address\" },\n { internalType: \"uint24\", name: \"fee\", type: \"uint24\" },\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n {\n internalType: \"uint160\",\n name: \"sqrtPriceLimitX96\",\n type: \"uint160\",\n },\n ],\n internalType: \"struct IQuoterV2.QuoteExactOutputSingleParams\",\n name: \"params\",\n type: \"tuple\",\n },\n ],\n name: \"quoteExactOutputSingle\",\n outputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint160\", name: \"sqrtPriceX96After\", type: \"uint160\" },\n {\n internalType: \"uint32\",\n name: \"initializedTicksCrossed\",\n type: \"uint32\",\n },\n { internalType: \"uint256\", name: \"gasEstimate\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"int256\", name: \"amount0Delta\", type: \"int256\" },\n { internalType: \"int256\", name: \"amount1Delta\", type: \"int256\" },\n { internalType: \"bytes\", name: \"_data\", type: \"bytes\" },\n ],\n name: \"uniswapV3SwapCallback\",\n outputs: [],\n stateMutability: \"view\",\n type: \"function\",\n },\n] as const\n\nexport const uniswapV2Router02Abi = [\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsOut\",\n outputs: [\n { internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsIn\",\n outputs: [\n { internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n] as const\n\nexport const v4QuoterAbi = [\n {\n type: 'constructor',\n inputs: [\n {\n name: '_poolManager',\n type: 'address',\n internalType: 'contract IPoolManager',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'quoteExactInputSingle',\n inputs: [\n {\n name: 'params',\n type: 'tuple',\n internalType: 'struct IV4Quoter.QuoteExactSingleParams',\n components: [\n {\n name: 'poolKey',\n type: 'tuple',\n internalType: 'struct PoolKey',\n components: [\n { name: 'currency0', type: 'address', internalType: 'Currency' },\n { name: 'currency1', type: 'address', internalType: 'Currency' },\n { name: 'fee', type: 'uint24', internalType: 'uint24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n {\n name: 'hooks',\n type: 'address',\n internalType: 'contract IHooks',\n },\n ],\n },\n { name: 'zeroForOne', type: 'bool', internalType: 'bool' },\n { name: 'exactAmount', type: 'uint128', internalType: 'uint128' },\n { name: 'hookData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n outputs: [\n { name: 'amountOut', type: 'uint256', internalType: 'uint256' },\n { name: 'gasEstimate', type: 'uint256', internalType: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'quoteExactOutputSingle',\n inputs: [\n {\n name: 'params',\n type: 'tuple',\n internalType: 'struct IV4Quoter.QuoteExactSingleParams',\n components: [\n {\n name: 'poolKey',\n type: 'tuple',\n internalType: 'struct PoolKey',\n components: [\n { name: 'currency0', type: 'address', internalType: 'Currency' },\n { name: 'currency1', type: 'address', internalType: 'Currency' },\n { name: 'fee', type: 'uint24', internalType: 'uint24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n {\n name: 'hooks',\n type: 'address',\n internalType: 'contract IHooks',\n },\n ],\n },\n { name: 'zeroForOne', type: 'bool', internalType: 'bool' },\n { name: 'exactAmount', type: 'uint128', internalType: 'uint128' },\n { name: 'hookData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n outputs: [\n { name: 'amountIn', type: 'uint256', internalType: 'uint256' },\n { name: 'gasEstimate', type: 'uint256', internalType: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'poolManager',\n inputs: [],\n outputs: [\n { name: '', type: 'address', internalType: 'contract IPoolManager' },\n ],\n stateMutability: 'view',\n },\n] as const\n\nexport const lockableUniswapV3InitializerAbi = [\n {\n type: 'constructor',\n inputs: [\n { name: 'airlock_', type: 'address', internalType: 'address' },\n { name: 'factory_', type: 'address', internalType: 'contract IUniswapV3Factory' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'airlock',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'contract Airlock' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'collectFees',\n inputs: [{ name: 'pool', type: 'address', internalType: 'address' }],\n outputs: [\n { name: 'fees0ToDistribute', type: 'uint256', internalType: 'uint256' },\n { name: 'fees1ToDistribute', type: 'uint256', internalType: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'exitLiquidity',\n inputs: [{ name: 'pool', type: 'address', internalType: 'address' }],\n outputs: [\n { name: 'sqrtPriceX96', type: 'uint160', internalType: 'uint160' },\n { name: 'token0', type: 'address', internalType: 'address' },\n { name: 'fees0', type: 'uint128', internalType: 'uint128' },\n { name: 'balance0', type: 'uint128', internalType: 'uint128' },\n { name: 'token1', type: 'address', internalType: 'address' },\n { name: 'fees1', type: 'uint128', internalType: 'uint128' },\n { name: 'balance1', type: 'uint128', internalType: 'uint128' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'factory',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'contract IUniswapV3Factory' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getState',\n inputs: [{ name: 'pool', type: 'address', internalType: 'address' }],\n outputs: [\n { name: 'asset', type: 'address', internalType: 'address' },\n { name: 'numeraire', type: 'address', internalType: 'address' },\n { name: 'tickLower', type: 'int24', internalType: 'int24' },\n { name: 'tickUpper', type: 'int24', internalType: 'int24' },\n { name: 'maxShareToBeSold', type: 'uint256', internalType: 'uint256' },\n { name: 'totalTokensOnBondingCurve', type: 'uint256', internalType: 'uint256' },\n { name: 'status', type: 'uint8', internalType: 'enum PoolStatus' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'initialize',\n inputs: [\n { name: 'asset', type: 'address', internalType: 'address' },\n { name: 'numeraire', type: 'address', internalType: 'address' },\n { name: 'totalTokensOnBondingCurve', type: 'uint256', internalType: 'uint256' },\n { name: '', type: 'bytes32', internalType: 'bytes32' },\n { name: 'data', type: 'bytes', internalType: 'bytes' },\n ],\n outputs: [{ name: 'pool', type: 'address', internalType: 'address' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'uniswapV3MintCallback',\n inputs: [\n { name: 'amount0Owed', type: 'uint256', internalType: 'uint256' },\n { name: 'amount1Owed', type: 'uint256', internalType: 'uint256' },\n { name: 'data', type: 'bytes', internalType: 'bytes' },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'encodePoolInitializerData',\n inputs: [\n {\n name: 'params',\n type: 'tuple',\n components: [\n { name: 'fee', type: 'uint24' },\n { name: 'tickLower', type: 'int24' },\n { name: 'tickUpper', type: 'int24' },\n { name: 'numPositions', type: 'uint16' },\n { name: 'maxShareToBeSold', type: 'uint256' },\n {\n name: 'beneficiaries',\n type: 'tuple[]',\n components: [\n { name: 'beneficiary', type: 'address' },\n { name: 'shares', type: 'uint96' },\n ],\n },\n ],\n },\n ],\n outputs: [{ name: '', type: 'bytes' }],\n stateMutability: 'pure',\n },\n {\n type: 'event',\n name: 'Collect',\n inputs: [\n { name: 'pool', type: 'address', indexed: true, internalType: 'address' },\n { name: 'beneficiary', type: 'address', indexed: true, internalType: 'address' },\n { name: 'fees0', type: 'uint256', indexed: false, internalType: 'uint256' },\n { name: 'fees1', type: 'uint256', indexed: false, internalType: 'uint256' },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'Create',\n inputs: [\n { name: 'poolOrHook', type: 'address', indexed: true, internalType: 'address' },\n { name: 'asset', type: 'address', indexed: true, internalType: 'address' },\n { name: 'numeraire', type: 'address', indexed: true, internalType: 'address' },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'Lock',\n inputs: [\n { name: 'pool', type: 'address', indexed: true, internalType: 'address' },\n {\n name: 'beneficiaries',\n type: 'tuple[]',\n indexed: false,\n internalType: 'struct BeneficiaryData[]',\n components: [\n { name: 'beneficiary', type: 'address', internalType: 'address' },\n { name: 'shares', type: 'uint96', internalType: 'uint96' },\n ],\n },\n ],\n anonymous: false,\n },\n {\n type: 'error',\n name: 'CannotMigrateInsufficientTick',\n inputs: [\n { name: 'targetTick', type: 'int24', internalType: 'int24' },\n { name: 'currentTick', type: 'int24', internalType: 'int24' },\n ],\n },\n { type: 'error', name: 'CannotMintZeroLiquidity', inputs: [] },\n {\n type: 'error',\n name: 'InvalidFee',\n inputs: [{ name: 'fee', type: 'uint24', internalType: 'uint24' }],\n },\n {\n type: 'error',\n name: 'InvalidTickRange',\n inputs: [\n { name: 'tick', type: 'int24', internalType: 'int24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n ],\n },\n {\n type: 'error',\n name: 'InvalidTickRangeMisordered',\n inputs: [\n { name: 'tickLower', type: 'int24', internalType: 'int24' },\n { name: 'tickUpper', type: 'int24', internalType: 'int24' },\n ],\n },\n {\n type: 'error',\n name: 'MaxShareToBeSoldExceeded',\n inputs: [\n { name: 'value', type: 'uint256', internalType: 'uint256' },\n { name: 'limit', type: 'uint256', internalType: 'uint256' },\n ],\n },\n { type: 'error', name: 'OnlyPool', inputs: [] },\n { type: 'error', name: 'PoolAlreadyExited', inputs: [] },\n { type: 'error', name: 'PoolAlreadyInitialized', inputs: [] },\n { type: 'error', name: 'PoolLocked', inputs: [] },\n { type: 'error', name: 'SenderNotAirlock', inputs: [] },\n { type: 'error', name: 'UnorderedBeneficiaries', inputs: [] },\n { type: 'error', name: 'InvalidShares', inputs: [] },\n { type: 'error', name: 'InvalidTotalShares', inputs: [] },\n { type: 'error', name: 'InvalidProtocolOwnerShares', inputs: [] },\n { type: 'error', name: 'InvalidProtocolOwnerBeneficiary', inputs: [] },\n] as const\n\nexport const dopplerLensAbi = [\n {\n type: 'function',\n name: 'quoteDopplerLensData',\n inputs: [\n {\n name: 'params',\n type: 'tuple',\n internalType: 'struct IV4Quoter.QuoteExactSingleParams',\n components: [\n {\n name: 'poolKey',\n type: 'tuple',\n internalType: 'struct PoolKey',\n components: [\n { name: 'currency0', type: 'address', internalType: 'Currency' },\n { name: 'currency1', type: 'address', internalType: 'Currency' },\n { name: 'fee', type: 'uint24', internalType: 'uint24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n {\n name: 'hooks',\n type: 'address',\n internalType: 'contract IHooks',\n },\n ],\n },\n { name: 'zeroForOne', type: 'bool', internalType: 'bool' },\n { name: 'exactAmount', type: 'uint128', internalType: 'uint128' },\n { name: 'hookData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n outputs: [\n {\n name: 'returnData',\n type: 'tuple',\n internalType: 'struct DopplerLensReturnData',\n components: [\n { name: 'sqrtPriceX96', type: 'uint160', internalType: 'uint160' },\n { name: 'amount0', type: 'uint256', internalType: 'uint256' },\n { name: 'amount1', type: 'uint256', internalType: 'uint256' },\n { name: 'tick', type: 'int24', internalType: 'int24' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n] as const\n\n// Export bytecodes for CREATE2 address calculation\nexport { DERC20Bytecode, DopplerBytecode, DopplerDN404Bytecode } from './bytecodes'\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/constants.ts"],"names":["parseEther"],"mappings":";;;;;AAGO,IAAM,MAAM,GAAO,IAAA;AACnB,IAAM,YAAe,GAAA;AACrB,IAAM,YAAe,GAAA;AAGrB,IAAM,SAAY,GAAA;AAAA,EACvB,MAAQ,EAAA,GAAA;AAAA;AAAA,EACR,GAAK,EAAA,GAAA;AAAA;AAAA,EACL,MAAQ,EAAA,GAAA;AAAA;AAAA,EACR,IAAM,EAAA;AAAA;AACR;AAGO,IAAM,aAAgB,GAAA;AAAA,EAC3B,GAAK,EAAA,CAAA;AAAA,EACL,GAAK,EAAA,EAAA;AAAA,EACL,GAAM,EAAA,EAAA;AAAA,EACN,GAAO,EAAA;AACT;AAGO,IAAM,eAAkB,GAAA;AACxB,IAAM,mBAAmB,GAAM,GAAA;AAG/B,IAAM,oBAAuB,GAAA;AAC7B,IAAM,wBAA2B,GAAA;AACjC,IAAM,qBAAwB,GAAA;AAC9B,IAAM,gBAAmB,GAAA;AACzB,IAAM,WAAc,GAAA;AAGpB,IAAM,qBAAwB,GAAA;AAC9B,IAAM,mBAAsB,GAAA;AAC5B,IAAM,wBAA2B,GAAA;AACjC,IAAM,cAAiB,GAAA;AACvB,IAAM,+BAAkC,GAAA;AACxC,IAAM,gCAAmC,GAAA;AACzC,IAAM,qCAAwC,GAAA;AACxC,IAAA,2BAAA,GAA8B,OAAO,gBAAgB;AACrD,IAAA,yBAAA,GAA4BA,gBAAW,YAAY;AACnD,IAAA,6BAAA,GAAgCA,gBAAW,WAAW;AACtD,IAAA,2BAAA,GAA8BA,gBAAW,MAAM;AAC/C,IAAA,mBAAA,GAAsBA,gBAAW,SAAS;AAC1C,IAAA,+BAAA,GAAkCA,gBAAW,MAAM;AAGzD,IAAM,+BAAkC,GAAA;AACxC,IAAM,gCAAmC,GAAA;AACzC,IAAM,qCAAwC,GAAA;AACxC,IAAA,2BAAA,GAA8BA,gBAAW,MAAM;AAGrD,IAAM,cAAiB,GAAA;AACvB,IAAM,cAAiB,GAAA;AAGvB,IAAM,YAAe,GAAA;AAGf,IAAA,SAAA,GAAY,OAAO,KAAM;AAC/B,IAAM,aAAgB,GAAA,MAAA;AAAA,EAC1B,CAAK,IAAA,EAAA;AAAA,EACL,CAAK,IAAA,EAAA;AAAA,EACL,CAAK,IAAA,EAAA;AAAA,EACL,CAAK,IAAA,CAAA;AAAA,EACL,CAAK,IAAA,CAAA;AAAA,EACL,CAAK,IAAA;AAAA;AACR;AAGO,IAAM,gBAAmB,GAAA;AACzB,IAAM,eAAkB,GAAA","file":"chunk-ER42VG7H.js","sourcesContent":["import { Address, parseEther } from 'viem'\n\n// Common constants\nexport const WAD = 10n ** 18n\nexport const DEAD_ADDRESS = '0x000000000000000000000000000000000000dEaD' as Address\nexport const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000' as Address\n\n// Fee tiers\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// Tick spacings for different fee tiers\nexport const TICK_SPACINGS = {\n 100: 1,\n 500: 10,\n 3000: 60,\n 10000: 200\n} as const\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 // 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// 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// Price bounds\nexport const MIN_SQRT_RATIO = 4295128739n\nexport const MAX_SQRT_RATIO = 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"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/entities/auction/StaticAuction.ts"],"names":[],"mappings":"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","file":"chunk-FVTIDXYK.mjs","sourcesContent":["import { type Address, type PublicClient, getAddress } from 'viem'\nimport type { PoolInfo } from '../../types'\nimport { uniswapV3PoolAbi, airlockAbi } from '../../abis'\nimport { getAddresses } from '../../addresses'\n\n/**\n * StaticAuction class for interacting with static auctions (Uniswap V3 based)\n * \n * Static auctions use a fixed price range on Uniswap V3 for initial liquidity bootstrapping.\n * This is ideal for simple, predictable price discovery events.\n */\nexport class StaticAuction {\n private client: PublicClient\n private poolAddress: Address\n \n constructor(client: PublicClient, poolAddress: Address) {\n this.client = client\n this.poolAddress = poolAddress\n }\n \n /**\n * Get the pool address\n */\n getAddress(): Address {\n return this.poolAddress\n }\n \n /**\n * Get current pool information\n */\n async getPoolInfo(): Promise<PoolInfo> {\n // Fetch all pool data in parallel\n const [slot0, liquidity, token0, token1, fee] = await Promise.all([\n this.client.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'slot0',\n }),\n this.client.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'liquidity',\n }),\n this.client.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token0',\n }),\n this.client.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token1',\n }),\n this.client.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'fee',\n }),\n ])\n \n // Determine which token is the auction token and which is numeraire\n // This requires checking with the Airlock contract\n const chainId = await this.client.getChainId()\n const addresses = getAddresses(chainId)\n \n const assetData = await this.client.readContract({\n address: addresses.airlock,\n abi: airlockAbi,\n functionName: 'getAssetData',\n args: [token0],\n })\n \n // The getAssetData returns: [numeraire, timelock, governance, liquidityMigrator, poolInitializer, pool, migrationPool, numTokensToSell, totalSupply, integrator]\n // If token0 has asset data in Airlock (pool is not zero), it's the auction token\n const isToken0AuctionToken = assetData[5] !== getAddress('0x0000000000000000000000000000000000000000')\n \n return {\n address: this.poolAddress,\n tokenAddress: isToken0AuctionToken ? token0 : token1,\n numeraireAddress: isToken0AuctionToken ? token1 : token0,\n fee,\n liquidity,\n sqrtPriceX96: slot0[0], // First element is sqrtPriceX96\n }\n }\n \n /**\n * Get the token address for this auction\n */\n async getTokenAddress(): Promise<Address> {\n const poolInfo = await this.getPoolInfo()\n return poolInfo.tokenAddress\n }\n \n /**\n * Check if the auction has graduated (ready for migration)\n */\n async hasGraduated(): Promise<boolean> {\n const tokenAddress = await this.getTokenAddress()\n const chainId = await this.client.getChainId()\n const addresses = getAddresses(chainId)\n \n const assetData = await this.client.readContract({\n address: addresses.airlock,\n abi: airlockAbi,\n functionName: 'getAssetData',\n args: [tokenAddress],\n })\n \n // The getAssetData returns: [numeraire, timelock, governance, liquidityMigrator, poolInitializer, pool, migrationPool, numTokensToSell, totalSupply, integrator]\n // Check if the asset is graduated (liquidityMigrator is set to address(0))\n return assetData[3] === getAddress('0x0000000000000000000000000000000000000000')\n }\n \n /**\n * Get the current price in the pool\n * Returns the price of token in terms of numeraire (token/numeraire)\n */\n async getCurrentPrice(): Promise<bigint> {\n const poolInfo = await this.getPoolInfo()\n \n // Get token ordering\n const [token0, token1] = await Promise.all([\n this.client.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token0',\n }),\n this.client.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'token1',\n }),\n ])\n \n // Calculate price from sqrtPriceX96\n // sqrtPriceX96 = sqrt(price) * 2^96\n // price = (sqrtPriceX96 / 2^96)^2\n const sqrtPriceX96 = poolInfo.sqrtPriceX96\n const Q96 = BigInt(2) ** BigInt(96)\n \n // price0 = amount of token1 per token0\n const sqrtPriceX96Squared = sqrtPriceX96 * sqrtPriceX96\n const Q96Squared = Q96 * Q96\n const price0 = sqrtPriceX96Squared / Q96Squared\n \n // Return price based on which token is the auction token\n if (poolInfo.tokenAddress === token0) {\n // Auction token is token0, return price in terms of token1 (numeraire)\n return price0\n } else {\n // Auction token is token1, return reciprocal price\n // price1 = 1 / price0 (with precision handling)\n return Q96Squared / price0\n }\n }\n \n /**\n * Get total liquidity in the pool\n */\n async getTotalLiquidity(): Promise<bigint> {\n return await this.client.readContract({\n address: this.poolAddress,\n abi: uniswapV3PoolAbi,\n functionName: 'liquidity',\n })\n }\n}"]}
@@ -1,12 +0,0 @@
1
- // src/types.ts
2
- var LockablePoolStatus = /* @__PURE__ */ ((LockablePoolStatus2) => {
3
- LockablePoolStatus2[LockablePoolStatus2["Uninitialized"] = 0] = "Uninitialized";
4
- LockablePoolStatus2[LockablePoolStatus2["Initialized"] = 1] = "Initialized";
5
- LockablePoolStatus2[LockablePoolStatus2["Locked"] = 2] = "Locked";
6
- LockablePoolStatus2[LockablePoolStatus2["Exited"] = 3] = "Exited";
7
- return LockablePoolStatus2;
8
- })(LockablePoolStatus || {});
9
-
10
- export { LockablePoolStatus };
11
- //# sourceMappingURL=chunk-IHBIBFZK.mjs.map
12
- //# sourceMappingURL=chunk-IHBIBFZK.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types.ts"],"names":["LockablePoolStatus"],"mappings":";AAqFY,IAAA,kBAAA,qBAAAA,mBAAL,KAAA;AACL,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,mBAAgB,CAAhB,CAAA,GAAA,eAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,iBAAc,CAAd,CAAA,GAAA,aAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,YAAS,CAAT,CAAA,GAAA,QAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,YAAS,CAAT,CAAA,GAAA,QAAA;AAJU,EAAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA","file":"chunk-IHBIBFZK.mjs","sourcesContent":["import type { Address, PublicClient, WalletClient } from 'viem'\n\n// Core configuration types\n// Token configuration (discriminated union)\nexport interface StandardTokenConfig {\n type?: 'standard' // default behavior (backwards compatible)\n name: string\n symbol: string\n tokenURI: string\n yearlyMintRate?: bigint // Optional yearly mint rate (in WAD, default: 2% = 0.02e18)\n}\n\nexport interface Doppler404TokenConfig {\n type: 'doppler404'\n name: string\n symbol: string\n baseURI: string\n // Optional unit for DN404 factory (uint256). Defaults to 1000 when omitted.\n unit?: bigint\n}\n\nexport type TokenConfig = StandardTokenConfig | Doppler404TokenConfig\n\nexport interface SaleConfig {\n initialSupply: bigint\n numTokensToSell: bigint\n numeraire: Address // e.g., WETH address\n}\n\n// Static Auction Pool configuration\nexport interface StaticPoolConfig {\n startTick: number\n endTick: number\n fee: number // e.g., 3000 for 0.3%\n // Optional parameters for lockable initializer\n numPositions?: number // Number of liquidity positions (default: based on tick range)\n maxShareToBeSold?: bigint // Maximum share of tokens to sell (in WAD, default: 1e18 = 100%)\n lockableBeneficiaries?: LockableBeneficiaryData[] // Optional beneficiaries for fee streaming\n}\n\n// Dynamic Auction configuration\nexport interface DynamicAuctionConfig {\n duration: number // in days\n epochLength: number // in seconds\n startTick: number\n endTick: number\n gamma?: number // Optional, can be auto-calculated\n minProceeds: bigint\n maxProceeds: bigint\n numPdSlugs?: number // Price discovery slugs (optional)\n}\n\n// Vesting configuration\nexport interface VestingConfig {\n duration: number // in seconds\n cliffDuration: number // in seconds\n}\n\n// Governance configuration\nexport interface GovernanceConfig {\n initialVotingDelay?: number // in seconds (default: depends on version)\n initialVotingPeriod?: number // in seconds (default: depends on version)\n initialProposalThreshold?: bigint // in tokens (default: 0)\n}\n\n// Explicit selector to use no-op governance. Must be set explicitly.\nexport interface NoOpGovernance {\n noOp: true\n}\n\nexport type GovernanceOption = GovernanceConfig | NoOpGovernance\n\n// Beneficiary data for streamable fees\nexport interface BeneficiaryData {\n address: Address\n percentage: number // basis points (e.g., 5000 = 50%)\n}\n\n// Lockable initializer beneficiary data (uses shares instead of percentage)\nexport interface LockableBeneficiaryData {\n beneficiary: Address\n shares: bigint // shares in WAD (1e18 = 100%)\n}\n\n// Pool status for lockable initializer\nexport enum LockablePoolStatus {\n Uninitialized = 0,\n Initialized = 1,\n Locked = 2,\n Exited = 3\n}\n\n// Lockable pool state\nexport interface LockablePoolState {\n asset: Address\n numeraire: Address\n tickLower: number\n tickUpper: number\n maxShareToBeSold: bigint\n totalTokensOnBondingCurve: bigint\n status: LockablePoolStatus\n}\n\n// Migration configuration (discriminated union)\nexport type MigrationConfig =\n | { type: 'uniswapV2' } // Basic migration to a new Uniswap v2 pool\n | {\n type: 'uniswapV3'\n fee: number\n tickSpacing: number\n }\n | {\n type: 'uniswapV4'\n fee: number\n tickSpacing: number\n // Configuration for fee streaming via StreamableFeesLocker\n streamableFees: {\n lockDuration: number // in seconds\n beneficiaries: BeneficiaryData[]\n }\n }\n\n// Create Static Auction parameters\nexport interface CreateStaticAuctionParams {\n // Token configuration\n token: TokenConfig\n\n // Sale configuration\n sale: SaleConfig\n\n // Static Auction (Uniswap v3) Pool configuration\n pool: StaticPoolConfig\n\n // Vesting configuration (optional)\n vesting?: VestingConfig\n\n // Governance configuration (required). Use `{ noOp: true }` for no‑op,\n // `{ useDefaults: true }` via builders for standard defaults, or pass\n // a full GovernanceConfig to customize.\n governance: GovernanceOption\n\n // Explicit Migration Configuration\n migration: MigrationConfig\n\n // Integrator details\n integrator?: Address\n userAddress: Address\n}\n\n// Create Dynamic Auction parameters\nexport interface CreateDynamicAuctionParams {\n // Token configuration\n token: TokenConfig\n\n // Sale configuration\n sale: SaleConfig\n\n // Dynamic Auction (Uniswap v4 Hook) configuration\n auction: DynamicAuctionConfig\n \n // Pool configuration\n pool: {\n fee: number // e.g., 3000 for 0.3%\n tickSpacing: number\n }\n\n // Vesting configuration (optional)\n vesting?: VestingConfig\n\n // Governance configuration (required). Use `{ noOp: true }` for no‑op,\n // `{ useDefaults: true }` via builders for standard defaults, or pass\n // a full GovernanceConfig to customize.\n governance: GovernanceOption\n\n // Explicit Migration Configuration\n migration: MigrationConfig\n\n // Integrator details\n integrator?: Address\n userAddress: Address\n \n // Time configuration (internal use)\n startTimeOffset?: number\n blockTimestamp?: number // Optional: use this block timestamp instead of fetching latest\n}\n\n// Price range configuration for automatic tick calculation\nexport interface PriceRange {\n startPrice: number\n endPrice: number\n}\n\n// Tick range configuration\nexport interface TickRange {\n startTick: number\n endTick: number\n}\n\n// Build configuration for static auctions (V3-style)\nexport interface StaticAuctionBuildConfig {\n // Token details\n name: string\n symbol: string\n totalSupply?: bigint // default: 1 billion\n numTokensToSell?: bigint // default: 900 million\n tokenURI: string\n\n // Time parameters\n startTimeOffset?: number // Optional - seconds to add to current block timestamp (default: 30)\n\n // Price parameters - must provide either priceRange or tickRange\n numeraire: Address // Required for V3\n tickRange?: TickRange\n priceRange?: PriceRange\n fee?: number // default: 10000 (1%)\n \n // Pool parameters (V3 specific)\n numPositions?: number // default: 15\n maxShareToBeSold?: bigint // default: 35% in WAD\n\n // Vesting parameters\n yearlyMintRate?: bigint // default: 2%\n vestingDuration?: bigint // default: 1 year\n recipients?: Address[] // defaults to [userAddress]\n amounts?: bigint[] // defaults based on pre-mint calculation\n\n // Migration configuration\n migration: MigrationConfig\n\n // Other parameters\n integrator?: Address\n useGovernance?: boolean // default: true\n}\n\n// Build configuration for dynamic auctions (V4-style)\nexport interface DynamicAuctionBuildConfig {\n // Token details\n name: string\n symbol: string\n totalSupply: bigint\n numTokensToSell: bigint\n tokenURI: string\n\n // Time parameters\n startTimeOffset?: number // Optional - seconds to add to block timestamp (default: 30)\n blockTimestamp?: number // Optional - specific block timestamp to use (default: fetch latest)\n duration?: number // in days (default: 7)\n epochLength?: number // in seconds (default: 3600)\n\n // Price parameters - must provide either priceRange or tickRange\n numeraire?: Address // defaults to zero address\n tickRange?: TickRange\n priceRange?: PriceRange\n tickSpacing: number\n gamma?: number // auto-calculated if not provided\n fee: number // In basis points\n\n // Sale parameters\n minProceeds: bigint\n maxProceeds: bigint\n numPdSlugs?: number // default: 5\n\n // Vesting parameters\n yearlyMintRate?: bigint // default: 2%\n vestingDuration: bigint\n recipients: Address[]\n amounts: bigint[]\n\n // Migration configuration\n migration: MigrationConfig\n\n // Other parameters\n integrator?: Address\n useGovernance?: boolean // default: true\n}\n\n// SDK initialization configuration\nexport interface DopplerSDKConfig {\n publicClient: PublicClient\n walletClient?: WalletClient\n chainId: number\n}\n\n// Pool information types\nexport interface PoolInfo {\n address: Address\n tokenAddress: Address\n numeraireAddress: Address\n fee: number\n liquidity: bigint\n sqrtPriceX96: bigint\n}\n\nexport interface HookInfo {\n hookAddress: Address\n tokenAddress: Address\n numeraireAddress: Address\n poolId: string\n currentEpoch: number\n totalProceeds: bigint\n totalTokensSold: bigint\n earlyExit: boolean\n insufficientProceeds: boolean\n startingTime: bigint\n endingTime: bigint\n epochLength: bigint\n minimumProceeds: bigint\n maximumProceeds: bigint\n}\n\n\n// Quote result type\nexport interface QuoteResult {\n amountOut: bigint\n priceImpact: number\n fee: bigint\n route: string[]\n}\n\n// Lockable Uniswap V3 Initializer encode params\nexport interface LockableV3InitializerParams {\n fee: number\n tickLower: number\n tickUpper: number\n numPositions: number\n maxShareToBeSold: bigint\n beneficiaries: LockableBeneficiaryData[]\n}\n"]}
@@ -1,160 +0,0 @@
1
- import { getAddresses } from './chunk-RIMM47JL.mjs';
2
- import { quoterV2Abi, uniswapV2Router02Abi, v4QuoterAbi } from './chunk-DCFHANLR.mjs';
3
-
4
- // src/entities/quoter/Quoter.ts
5
- var Quoter = class {
6
- constructor(publicClient, chainId) {
7
- this.publicClient = publicClient;
8
- this.chainId = chainId;
9
- }
10
- /**
11
- * Get a price quote for swapping an exact amount of input tokens on Uniswap V3
12
- * @param params Parameters for the quote
13
- * @returns Quote result including output amount and price impact
14
- */
15
- async quoteExactInputV3(params) {
16
- const addresses = getAddresses(this.chainId);
17
- const { result } = await this.publicClient.simulateContract({
18
- address: addresses.v3Quoter,
19
- abi: quoterV2Abi,
20
- functionName: "quoteExactInputSingle",
21
- args: [{
22
- tokenIn: params.tokenIn,
23
- tokenOut: params.tokenOut,
24
- amountIn: params.amountIn,
25
- fee: params.fee,
26
- sqrtPriceLimitX96: params.sqrtPriceLimitX96 ?? BigInt(0)
27
- }]
28
- });
29
- return {
30
- amountOut: result[0],
31
- sqrtPriceX96After: result[1],
32
- initializedTicksCrossed: result[2],
33
- gasEstimate: result[3]
34
- };
35
- }
36
- /**
37
- * Get a price quote for receiving an exact amount of output tokens on Uniswap V3
38
- * @param params Parameters for the quote
39
- * @returns Quote result including required input amount
40
- */
41
- async quoteExactOutputV3(params) {
42
- const addresses = getAddresses(this.chainId);
43
- const { result } = await this.publicClient.simulateContract({
44
- address: addresses.v3Quoter,
45
- abi: quoterV2Abi,
46
- functionName: "quoteExactOutputSingle",
47
- args: [{
48
- tokenIn: params.tokenIn,
49
- tokenOut: params.tokenOut,
50
- fee: params.fee,
51
- amountOut: params.amountOut,
52
- sqrtPriceLimitX96: params.sqrtPriceLimitX96 ?? BigInt(0)
53
- }]
54
- });
55
- return {
56
- amountIn: result[0],
57
- sqrtPriceX96After: result[1],
58
- initializedTicksCrossed: result[2],
59
- gasEstimate: result[3]
60
- };
61
- }
62
- /**
63
- * Get a price quote for swapping an exact amount of input tokens on Uniswap V2
64
- * @param params Parameters for the quote
65
- * @returns Array of amounts for each step in the path
66
- */
67
- async quoteExactInputV2(params) {
68
- const addresses = getAddresses(this.chainId);
69
- if (!addresses.univ2Router02) {
70
- throw new Error("Uniswap V2 Router not available on this chain");
71
- }
72
- const result = await this.publicClient.readContract({
73
- address: addresses.univ2Router02,
74
- abi: uniswapV2Router02Abi,
75
- functionName: "getAmountsOut",
76
- args: [params.amountIn, params.path]
77
- });
78
- return [...result];
79
- }
80
- /**
81
- * Get a price quote for receiving an exact amount of output tokens on Uniswap V2
82
- * @param params Parameters for the quote
83
- * @returns Array of amounts for each step in the path
84
- */
85
- async quoteExactOutputV2(params) {
86
- const addresses = getAddresses(this.chainId);
87
- if (!addresses.univ2Router02) {
88
- throw new Error("Uniswap V2 Router not available on this chain");
89
- }
90
- const result = await this.publicClient.readContract({
91
- address: addresses.univ2Router02,
92
- abi: uniswapV2Router02Abi,
93
- functionName: "getAmountsIn",
94
- args: [params.amountOut, params.path]
95
- });
96
- return [...result];
97
- }
98
- /**
99
- * Get a price quote for swapping an exact amount of input tokens on Uniswap V4
100
- * @param params Parameters for the quote
101
- * @returns Quote result for V4 pools
102
- */
103
- async quoteExactInputV4(params) {
104
- const addresses = getAddresses(this.chainId);
105
- const quoterAddress = addresses.dopplerLens;
106
- if (!quoterAddress) {
107
- throw new Error("No V4 quoter available on this chain");
108
- }
109
- try {
110
- const { result } = await this.publicClient.simulateContract({
111
- address: quoterAddress,
112
- abi: v4QuoterAbi,
113
- functionName: "quoteExactInputSingle",
114
- args: [{
115
- poolKey: params.poolKey,
116
- zeroForOne: params.zeroForOne,
117
- exactAmount: params.exactAmount,
118
- hookData: params.hookData ?? "0x"
119
- }]
120
- });
121
- return {
122
- amountOut: result[0],
123
- gasEstimate: result[1]
124
- };
125
- } catch (simulateError) {
126
- throw simulateError;
127
- }
128
- }
129
- /**
130
- * Get a price quote for receiving an exact amount of output tokens on Uniswap V4
131
- * @param params Parameters for the quote
132
- * @returns Quote result for V4 pools
133
- */
134
- async quoteExactOutputV4(params) {
135
- const addresses = getAddresses(this.chainId);
136
- const quoterAddress = addresses.dopplerLens;
137
- if (!quoterAddress) {
138
- throw new Error("No V4 quoter available on this chain");
139
- }
140
- const { result } = await this.publicClient.simulateContract({
141
- address: quoterAddress,
142
- abi: v4QuoterAbi,
143
- functionName: "quoteExactOutputSingle",
144
- args: [{
145
- poolKey: params.poolKey,
146
- zeroForOne: params.zeroForOne,
147
- exactAmount: params.exactAmount,
148
- hookData: params.hookData ?? "0x"
149
- }]
150
- });
151
- return {
152
- amountIn: result[0],
153
- gasEstimate: result[1]
154
- };
155
- }
156
- };
157
-
158
- export { Quoter };
159
- //# sourceMappingURL=chunk-IXSKPEHB.mjs.map
160
- //# sourceMappingURL=chunk-IXSKPEHB.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/entities/quoter/Quoter.ts"],"names":[],"mappings":";;;;AAWO,IAAM,SAAN,MAAa;AAAA,EAIlB,WAAA,CAAY,cAA4B,OAAiB,EAAA;AACvD,IAAA,IAAA,CAAK,YAAe,GAAA,YAAA;AACpB,IAAA,IAAA,CAAK,OAAU,GAAA,OAAA;AAAA;AACjB;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,kBAAkB,MAWrB,EAAA;AACD,IAAM,MAAA,SAAA,GAAY,YAAa,CAAA,IAAA,CAAK,OAAO,CAAA;AAE3C,IAAA,MAAM,EAAE,MAAO,EAAA,GAAI,MAAM,IAAA,CAAK,aAAa,gBAAiB,CAAA;AAAA,MAC1D,SAAS,SAAU,CAAA,QAAA;AAAA,MACnB,GAAK,EAAA,WAAA;AAAA,MACL,YAAc,EAAA,uBAAA;AAAA,MACd,MAAM,CAAC;AAAA,QACL,SAAS,MAAO,CAAA,OAAA;AAAA,QAChB,UAAU,MAAO,CAAA,QAAA;AAAA,QACjB,UAAU,MAAO,CAAA,QAAA;AAAA,QACjB,KAAK,MAAO,CAAA,GAAA;AAAA,QACZ,iBAAmB,EAAA,MAAA,CAAO,iBAAqB,IAAA,MAAA,CAAO,CAAC;AAAA,OACxD;AAAA,KACF,CAAA;AAED,IAAO,OAAA;AAAA,MACL,SAAA,EAAW,OAAO,CAAC,CAAA;AAAA,MACnB,iBAAA,EAAmB,OAAO,CAAC,CAAA;AAAA,MAC3B,uBAAA,EAAyB,OAAO,CAAC,CAAA;AAAA,MACjC,WAAA,EAAa,OAAO,CAAC;AAAA,KACvB;AAAA;AACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,mBAAmB,MAWtB,EAAA;AACD,IAAM,MAAA,SAAA,GAAY,YAAa,CAAA,IAAA,CAAK,OAAO,CAAA;AAE3C,IAAA,MAAM,EAAE,MAAO,EAAA,GAAI,MAAM,IAAA,CAAK,aAAa,gBAAiB,CAAA;AAAA,MAC1D,SAAS,SAAU,CAAA,QAAA;AAAA,MACnB,GAAK,EAAA,WAAA;AAAA,MACL,YAAc,EAAA,wBAAA;AAAA,MACd,MAAM,CAAC;AAAA,QACL,SAAS,MAAO,CAAA,OAAA;AAAA,QAChB,UAAU,MAAO,CAAA,QAAA;AAAA,QACjB,KAAK,MAAO,CAAA,GAAA;AAAA,QACZ,WAAW,MAAO,CAAA,SAAA;AAAA,QAClB,iBAAmB,EAAA,MAAA,CAAO,iBAAqB,IAAA,MAAA,CAAO,CAAC;AAAA,OACxD;AAAA,KACF,CAAA;AAED,IAAO,OAAA;AAAA,MACL,QAAA,EAAU,OAAO,CAAC,CAAA;AAAA,MAClB,iBAAA,EAAmB,OAAO,CAAC,CAAA;AAAA,MAC3B,uBAAA,EAAyB,OAAO,CAAC,CAAA;AAAA,MACjC,WAAA,EAAa,OAAO,CAAC;AAAA,KACvB;AAAA;AACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,kBAAkB,MAGF,EAAA;AACpB,IAAM,MAAA,SAAA,GAAY,YAAa,CAAA,IAAA,CAAK,OAAO,CAAA;AAE3C,IAAI,IAAA,CAAC,UAAU,aAAe,EAAA;AAC5B,MAAM,MAAA,IAAI,MAAM,+CAA+C,CAAA;AAAA;AAGjE,IAAA,MAAM,MAAS,GAAA,MAAM,IAAK,CAAA,YAAA,CAAa,YAAa,CAAA;AAAA,MAClD,SAAS,SAAU,CAAA,aAAA;AAAA,MACnB,GAAK,EAAA,oBAAA;AAAA,MACL,YAAc,EAAA,eAAA;AAAA,MACd,IAAM,EAAA,CAAC,MAAO,CAAA,QAAA,EAAU,OAAO,IAAI;AAAA,KACpC,CAAA;AAED,IAAO,OAAA,CAAC,GAAG,MAAM,CAAA;AAAA;AACnB;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,mBAAmB,MAGH,EAAA;AACpB,IAAM,MAAA,SAAA,GAAY,YAAa,CAAA,IAAA,CAAK,OAAO,CAAA;AAE3C,IAAI,IAAA,CAAC,UAAU,aAAe,EAAA;AAC5B,MAAM,MAAA,IAAI,MAAM,+CAA+C,CAAA;AAAA;AAGjE,IAAA,MAAM,MAAS,GAAA,MAAM,IAAK,CAAA,YAAA,CAAa,YAAa,CAAA;AAAA,MAClD,SAAS,SAAU,CAAA,aAAA;AAAA,MACnB,GAAK,EAAA,oBAAA;AAAA,MACL,YAAc,EAAA,cAAA;AAAA,MACd,IAAM,EAAA,CAAC,MAAO,CAAA,SAAA,EAAW,OAAO,IAAI;AAAA,KACrC,CAAA;AAED,IAAO,OAAA,CAAC,GAAG,MAAM,CAAA;AAAA;AACnB;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,kBAAkB,MAcrB,EAAA;AACD,IAAM,MAAA,SAAA,GAAY,YAAa,CAAA,IAAA,CAAK,OAAO,CAAA;AAG3C,IAAA,MAAM,gBAAgB,SAAU,CAAA,WAAA;AAEhC,IAAA,IAAI,CAAC,aAAe,EAAA;AAClB,MAAM,MAAA,IAAI,MAAM,sCAAsC,CAAA;AAAA;AAGxD,IAAI,IAAA;AAEF,MAAA,MAAM,EAAE,MAAO,EAAA,GAAI,MAAM,IAAA,CAAK,aAAa,gBAAiB,CAAA;AAAA,QAC1D,OAAS,EAAA,aAAA;AAAA,QACT,GAAK,EAAA,WAAA;AAAA,QACL,YAAc,EAAA,uBAAA;AAAA,QACd,MAAM,CAAC;AAAA,UACL,SAAS,MAAO,CAAA,OAAA;AAAA,UAChB,YAAY,MAAO,CAAA,UAAA;AAAA,UACnB,aAAa,MAAO,CAAA,WAAA;AAAA,UACpB,QAAA,EAAW,OAAO,QAAY,IAAA;AAAA,SAC/B;AAAA,OACF,CAAA;AAED,MAAO,OAAA;AAAA,QACL,SAAA,EAAW,OAAO,CAAC,CAAA;AAAA,QACnB,WAAA,EAAa,OAAO,CAAC;AAAA,OACvB;AAAA,aACO,aAAe,EAAA;AAGtB,MAAM,MAAA,aAAA;AAAA;AACR;AACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,mBAAmB,MActB,EAAA;AACD,IAAM,MAAA,SAAA,GAAY,YAAa,CAAA,IAAA,CAAK,OAAO,CAAA;AAG3C,IAAA,MAAM,gBAAgB,SAAU,CAAA,WAAA;AAEhC,IAAA,IAAI,CAAC,aAAe,EAAA;AAClB,MAAM,MAAA,IAAI,MAAM,sCAAsC,CAAA;AAAA;AAGxD,IAAA,MAAM,EAAE,MAAO,EAAA,GAAI,MAAM,IAAA,CAAK,aAAa,gBAAiB,CAAA;AAAA,MAC1D,OAAS,EAAA,aAAA;AAAA,MACT,GAAK,EAAA,WAAA;AAAA,MACL,YAAc,EAAA,wBAAA;AAAA,MACd,MAAM,CAAC;AAAA,QACL,SAAS,MAAO,CAAA,OAAA;AAAA,QAChB,YAAY,MAAO,CAAA,UAAA;AAAA,QACnB,aAAa,MAAO,CAAA,WAAA;AAAA,QACpB,QAAA,EAAW,OAAO,QAAY,IAAA;AAAA,OAC/B;AAAA,KACF,CAAA;AAED,IAAO,OAAA;AAAA,MACL,QAAA,EAAU,OAAO,CAAC,CAAA;AAAA,MAClB,WAAA,EAAa,OAAO,CAAC;AAAA,KACvB;AAAA;AAEJ","file":"chunk-IXSKPEHB.mjs","sourcesContent":["import { type Address, type PublicClient } from 'viem'\nimport { quoterV2Abi, uniswapV2Router02Abi, v4QuoterAbi } from '../../abis'\nimport { getAddresses } from '../../addresses'\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: PublicClient\n private chainId: number\n \n constructor(publicClient: PublicClient, 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 const { result } = await this.publicClient.simulateContract({\n address: addresses.v3Quoter,\n abi: quoterV2Abi,\n functionName: 'quoteExactInputSingle',\n args: [{\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 }\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 const { result } = await this.publicClient.simulateContract({\n address: addresses.v3Quoter,\n abi: quoterV2Abi,\n functionName: 'quoteExactOutputSingle',\n args: [{\n tokenIn: params.tokenIn,\n tokenOut: params.tokenOut,\n fee: params.fee,\n amountOut: params.amountOut,\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 }\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.publicClient.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.publicClient.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 // Use v4Quoter if available, otherwise use dopplerLens (they're the same contract)\n const quoterAddress = addresses.dopplerLens\n \n if (!quoterAddress) {\n throw new Error('No V4 quoter available on this chain')\n }\n \n try {\n // First try simulateContract for better gas estimation\n const { result } = await this.publicClient.simulateContract({\n address: quoterAddress,\n abi: v4QuoterAbi,\n functionName: 'quoteExactInputSingle',\n args: [{\n poolKey: params.poolKey,\n zeroForOne: params.zeroForOne,\n exactAmount: params.exactAmount,\n hookData: (params.hookData ?? '0x') as `0x${string}`,\n }],\n })\n \n return {\n amountOut: result[0],\n gasEstimate: result[1],\n }\n } catch (simulateError) {\n // If simulation fails, throw the error\n // Most V4 quoters need simulation, not direct reads\n throw simulateError\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 // Use v4Quoter if available, otherwise use dopplerLens (they're the same contract)\n const quoterAddress = addresses.dopplerLens\n \n if (!quoterAddress) {\n throw new Error('No V4 quoter available on this chain')\n }\n \n const { result } = await this.publicClient.simulateContract({\n address: quoterAddress,\n abi: v4QuoterAbi,\n functionName: 'quoteExactOutputSingle',\n args: [{\n poolKey: params.poolKey,\n zeroForOne: params.zeroForOne,\n exactAmount: params.exactAmount,\n hookData: (params.hookData ?? '0x') as `0x${string}`,\n }],\n })\n \n return {\n amountIn: result[0],\n gasEstimate: result[1],\n }\n }\n}\n"]}
@@ -1,42 +0,0 @@
1
- 'use strict';
2
-
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
11
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
12
- }) : x)(function(x) {
13
- if (typeof require !== "undefined") return require.apply(this, arguments);
14
- throw Error('Dynamic require of "' + x + '" is not supported');
15
- });
16
- var __commonJS = (cb, mod) => function __require2() {
17
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
18
- };
19
- var __copyProps = (to, from, except, desc) => {
20
- if (from && typeof from === "object" || typeof from === "function") {
21
- for (let key of __getOwnPropNames(from))
22
- if (!__hasOwnProp.call(to, key) && key !== except)
23
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
24
- }
25
- return to;
26
- };
27
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
28
- // If the importer is in node compatibility mode or this is not an ESM
29
- // file that has been converted to a CommonJS file using a Babel-
30
- // compatible transform (i.e. "__esModule" has not been set), then set
31
- // "default" to the CommonJS "module.exports" for node compatibility.
32
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
33
- mod
34
- ));
35
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
36
-
37
- exports.__commonJS = __commonJS;
38
- exports.__publicField = __publicField;
39
- exports.__require = __require;
40
- exports.__toESM = __toESM;
41
- //# sourceMappingURL=chunk-KEXKKQVW.js.map
42
- //# sourceMappingURL=chunk-KEXKKQVW.js.map