@whetstone-research/doppler-sdk 0.0.1-alpha.9 → 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-AQPINKEW.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-AXA7YT2G.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-PMIJTXU6.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-EIRVZJTT.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-4K5GBNQV.mjs.map +0 -1
  317. package/dist/chunk-7F5IXZLH.js +0 -308
  318. package/dist/chunk-7F5IXZLH.js.map +0 -1
  319. package/dist/chunk-7W72MFJO.mjs.map +0 -1
  320. package/dist/chunk-AQPINKEW.mjs.map +0 -1
  321. package/dist/chunk-AXA7YT2G.mjs.map +0 -1
  322. package/dist/chunk-AYPP5JEQ.mjs.map +0 -1
  323. package/dist/chunk-AZLFJNTG.mjs +0 -3
  324. package/dist/chunk-CIRZKWLL.js.map +0 -1
  325. package/dist/chunk-CIVGL27M.mjs +0 -160
  326. package/dist/chunk-CIVGL27M.mjs.map +0 -1
  327. package/dist/chunk-CYDWEPFL.mjs +0 -3
  328. package/dist/chunk-DCFHANLR.mjs.map +0 -1
  329. package/dist/chunk-DRBRT57F.js +0 -4
  330. package/dist/chunk-EFAPDN4J.js.map +0 -1
  331. package/dist/chunk-EIRVZJTT.js.map +0 -1
  332. package/dist/chunk-ER42VG7H.js.map +0 -1
  333. package/dist/chunk-FPGJKJIR.js +0 -872
  334. package/dist/chunk-FPGJKJIR.js.map +0 -1
  335. package/dist/chunk-HRFHDSNE.js +0 -180
  336. package/dist/chunk-HRFHDSNE.js.map +0 -1
  337. package/dist/chunk-IHBIBFZK.mjs +0 -12
  338. package/dist/chunk-IHBIBFZK.mjs.map +0 -1
  339. package/dist/chunk-JIDZBQ7R.mjs +0 -870
  340. package/dist/chunk-JIDZBQ7R.mjs.map +0 -1
  341. package/dist/chunk-KEXKKQVW.js +0 -42
  342. package/dist/chunk-KFD6U3LQ.mjs +0 -305
  343. package/dist/chunk-KFD6U3LQ.mjs.map +0 -1
  344. package/dist/chunk-KPBCG4X2.js.map +0 -1
  345. package/dist/chunk-KRN3ROUE.js +0 -4
  346. package/dist/chunk-KT7U37XS.mjs +0 -207
  347. package/dist/chunk-KT7U37XS.mjs.map +0 -1
  348. package/dist/chunk-LOROXNH3.mjs +0 -37
  349. package/dist/chunk-LOROXNH3.mjs.map +0 -1
  350. package/dist/chunk-LZO67TYV.mjs +0 -176
  351. package/dist/chunk-LZO67TYV.mjs.map +0 -1
  352. package/dist/chunk-MZ2UBC4M.mjs +0 -80
  353. package/dist/chunk-MZ2UBC4M.mjs.map +0 -1
  354. package/dist/chunk-OPKQMN46.mjs.map +0 -1
  355. package/dist/chunk-PMIJTXU6.js.map +0 -1
  356. package/dist/chunk-T644D54P.mjs.map +0 -1
  357. package/dist/chunk-TOMVBPNZ.js.map +0 -1
  358. package/dist/chunk-UHT4QLL7.js +0 -162
  359. package/dist/chunk-UHT4QLL7.js.map +0 -1
  360. package/dist/chunk-XG7K4R56.js.map +0 -1
  361. package/dist/chunk-YNP2HGJZ.js +0 -82
  362. package/dist/chunk-YNP2HGJZ.js.map +0 -1
  363. package/dist/chunk-ZAIP54LX.js +0 -209
  364. package/dist/chunk-ZAIP54LX.js.map +0 -1
  365. package/dist/magic-string.es-CBLXTCZP.js +0 -1304
  366. package/dist/magic-string.es-CBLXTCZP.js.map +0 -1
  367. package/dist/magic-string.es-QHA47FSB.mjs +0 -1298
  368. package/dist/magic-string.es-QHA47FSB.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/deployments.generated.ts"],"names":[],"mappings":"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","file":"chunk-CVHPLURA.js","sourcesContent":["// AUTO-GENERATED FILE. DO NOT EDIT.\n// Generated by scripts/generate-addresses.mjs\n// Source: ../doppler/Deployments.json\n// WARNING: This file is an internal build artifact and is NOT part of the public API.\n// WARNING: Do NOT import from this file directly. It should not appear in IDE IntelliSense/suggestions.\n// WARNING: If you need Doppler addresses, import from @addresses.ts instead (e.g. use ADDRESSES / getAddresses).\n\n/** @internal */\nexport type GeneratedDopplerDeployments = Record<string, Record<string, string>>\n\n/** @internal */\nexport const GENERATED_DOPPLER_DEPLOYMENTS = {\n \"130\": {\n \"Airlock\": \"0x77EbfBAE15AD200758E9E2E61597c0B07d731254\",\n \"Bundler\": \"0x91231cDdD8d6C86Df602070a3081478e074b97b7\",\n \"DopplerDeployer\": \"0x0d2f38d807bfAd5C18e430516e10ab560D300caF\",\n \"DopplerLensQuoter\": \"0x82Ac010C67f70BACf7655cd8948a4AD92A173CAC\",\n \"GovernanceFactory\": \"0x99C94B9Df930E1E21a4E4a2c105dBff21bF5c5aE\",\n \"LockableUniswapV3Initializer\": \"0xA3C847eAb58eAa9cbc215C785c9cfBc19CDABD5f\",\n \"NoOpGovernanceFactory\": \"0x3AD727ee0FBBb8Ee0920933FdB96F23fD56f1299\",\n \"NoOpMigrator\": \"0x917da361072ce968acD810BbfC9B64079426ebf0\",\n \"StreamableFeesLocker\": \"0x6ddfED58D238Ca3195E49d8ac3d4cEa6386E5C33\",\n \"TokenFactory\": \"0x43d0D97EC9241A8F05A264f94B82A1d2E600f2B3\",\n \"UniswapV2Migrator\": \"0xf6023127f6E937091D5B605680056A6D27524bad\",\n \"UniswapV3Initializer\": \"0x9F4e56be80f08ba1A2445645EFa6d231E27b43ec\",\n \"UniswapV4Initializer\": \"0x4B0EC16Eb40318Ca5A4346f20F04A2285C19675B\",\n \"UniswapV4Migrator\": \"0x49F3fBB2dFF7f3d03B622e3b2a6d3F2E6fdB2a5A\",\n \"UniswapV4MigratorHook\": \"0x53C050d3B09C80024138165520Bd7c078D9e2000\"\n },\n \"143\": {\n \"Airlock\": \"0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12\",\n \"AirlockMultisig\": \"0x9916Ec1c1E0462F6F8f7514e414F06bf001Ac82A\",\n \"Bundler\": \"0xC99b485499f78995C6F1640dbB1413c57f8BA684\",\n \"GovernanceFactory\": \"0xFAafdE6a5b658684cC5eb0C5c2c755B00A246F45\",\n \"LaunchpadGovernanceFactory\": \"0x5FBe931dc4B923A7abe4c47aD68d5bF9Eda5B76D\",\n \"LockableUniswapV3Initializer\": \"0x8b4C7DB9121FC885689C0A50D5a1429F15AEc2a0\",\n \"NoOpGovernanceFactory\": \"0xb4deE32EB70A5E55f3D2d861F49Fb3D79f7a14d9\",\n \"NoOpMigrator\": \"0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731\",\n \"TokenFactory\": \"0xaA47D2977d622DBdFD33eeF6a8276727c52EB4e5\",\n \"UniswapV2Migrator\": \"0x136191B46478cAB023cbC01a36160C4Aad81677a\",\n \"UniswapV4ScheduledMulticurveInitializer\": \"0xCe3099B2F07029b086E5e92a1573C5f5A3071783\",\n \"UniswapV4ScheduledMulticurveInitializerHook\": \"0x580ca49389d83b019d07E17e99454f2F218e2dc0\"\n },\n \"1301\": {\n \"Airlock\": \"0x0d2f38d807bfAd5C18e430516e10ab560D300caF\",\n \"AirlockMultisig\": \"0x40Bcb4dDA3BcF7dba30C5d10c31EE2791ed9ddCa\",\n \"Bundler\": \"0xED344444633B965cd148F8fFCE3765938A179094\",\n \"DopplerDeployer\": \"0x77B5F559EE9cf3bfcf2fFf5731a84332D8eECAC9\",\n \"DopplerLensQuoter\": \"0x917da361072ce968acD810BbfC9B64079426ebf0\",\n \"GovernanceFactory\": \"0x4225C632b62622Bd7B0A3eC9745C0a866Ff94F6F\",\n \"LockableUniswapV3Initializer\": \"0x9dFb775dB7b005d9Dc77DA84D8b2e42C281D0344\",\n \"NoOpGovernanceFactory\": \"0x7E5D336A6E9e453c9f02E5102CC039E015Fd8fb8\",\n \"NoOpMigrator\": \"0x193F48A45B6025dDeD10bc4BaeEF65c833696387\",\n \"StreamableFeesLocker\": \"0x1728E8B3282502f275949109331E070b819B38eA\",\n \"TokenFactory\": \"0x82Ac010C67f70BACf7655cd8948a4AD92A173CAC\",\n \"UniswapV2Migrator\": \"0x620e3fec244e913d73f2163623b62d02DB69638B\",\n \"UniswapV3Initializer\": \"0xE0dC4012AC9C868F09c6e4b20d66ED46D6F258d0\",\n \"UniswapV4Initializer\": \"0x70d20cd48791E527036491dc464C8Dc58351Dd93\",\n \"UniswapV4Migrator\": \"0xb6D69eAA98E657bEEFF7ca4452768e6f707aa6b1\",\n \"UniswapV4MigratorHook\": \"0xFB0671Ec46190b09255776d2D77744fa101Ba500\",\n \"UniswapV4MulticurveInitializer\": \"0xac7939F1B4079d55A7fA4DFA314Ac0173A77bA40\",\n \"UniswapV4MulticurveInitializerHook\": \"0x11b55A121a38FDab8FAF16f9f1A4f124E3f42d40\"\n },\n \"4801\": {\n \"Airlock\": \"0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731\",\n \"GovernanceFactory\": \"0x136191B46478cAB023cbC01a36160C4Aad81677a\",\n \"TokenFactory\": \"0x5FBe931dc4B923A7abe4c47aD68d5bF9Eda5B76D\",\n \"UniswapV2Migrator\": \"0x8b4C7DB9121FC885689C0A50D5a1429F15AEc2a0\",\n \"UniswapV3Initializer\": \"0x9916Ec1c1E0462F6F8f7514e414F06bf001Ac82A\",\n \"WETH\": \"0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12\"\n },\n \"8453\": {\n \"Airlock\": \"0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12\",\n \"Bundler\": \"0x136191B46478cAB023cbC01a36160C4Aad81677a\",\n \"DopplerDeployer\": \"0x49F3fBB2dFF7f3d03B622e3b2a6d3F2E6fdB2a5A\",\n \"DopplerLensQuoter\": \"0x43d0D97EC9241A8F05A264f94B82A1d2E600f2B3\",\n \"GovernanceFactory\": \"0xa82c66b6ddEb92089015C3565E05B5c9750b2d4B\",\n \"LaunchpadGovernanceFactory\": \"0x40Bcb4dDA3BcF7dba30C5d10c31EE2791ed9ddCa\",\n \"LockableUniswapV3Initializer\": \"0xE0dC4012AC9C868F09c6e4b20d66ED46D6F258d0\",\n \"NoOpGovernanceFactory\": \"0x3AD727ee0FBBb8Ee0920933FdB96F23fD56f1299\",\n \"NoOpMigrator\": \"0x6ddfED58D238Ca3195E49d8ac3d4cEa6386E5C33\",\n \"StreamableFeesLocker\": \"0x0A00775D71a42cd33D62780003035e7F5b47bD3A\",\n \"TokenFactory\": \"0x4225C632b62622Bd7B0A3eC9745C0a866Ff94F6F\",\n \"UniswapV2Migrator\": \"0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731\",\n \"UniswapV3Initializer\": \"0xaA47D2977d622DBdFD33eeF6a8276727c52EB4e5\",\n \"UniswapV4Initializer\": \"0xED344444633B965cd148F8fFCE3765938A179094\",\n \"UniswapV4Migrator\": \"0x166109C4EE7fE69164631Caa937dAA5F5cEbFef0\",\n \"UniswapV4MigratorHook\": \"0x45178A8D6d368D612B7552B217802b7F97262000\",\n \"UniswapV4MulticurveInitializer\": \"0x65dE470Da664A5be139A5D812bE5FDa0d76CC951\",\n \"UniswapV4MulticurveInitializerHook\": \"0x892D3C2B4ABEAAF67d52A7B29783E2161B7CaD40\",\n \"UniswapV4ScheduledMulticurveInitializer\": \"0xA36715dA46Ddf4A769f3290f49AF58bF8132ED8E\",\n \"UniswapV4ScheduledMulticurveInitializerHook\": \"0x3e342a06f9592459D75721d6956B570F02eF2Dc0\"\n },\n \"10143\": {\n \"Airlock\": \"0xa82c66b6ddEb92089015C3565E05B5c9750b2d4B\",\n \"AirlockMultisig\": \"0x3AD727ee0FBBb8Ee0920933FdB96F23fD56f1299\",\n \"Bundler\": \"0xf6023127f6E937091D5B605680056A6D27524bad\",\n \"DopplerDeployer\": \"0x166109C4EE7fE69164631Caa937dAA5F5cEbFef0\",\n \"DopplerLensQuoter\": \"0x2F2BAcd46d3F5c9EE052Ab392b73711dB89129DB\",\n \"GovernanceFactory\": \"0x014E1c0bd34f3B10546E554CB33B3293fECDD056\",\n \"LockableUniswapV3Initializer\": \"0x99C94B9Df930E1E21a4E4a2c105dBff21bF5c5aE\",\n \"NoOpGovernanceFactory\": \"0x094D926A969B3024ca46D2186BF13FD5CDBA9CE2\",\n \"NoOpMigrator\": \"0x5CadB034267751a364dDD4d321C99E07A307f915\",\n \"StreamableFeesLocker\": \"0x0d2f38d807bfAd5C18e430516e10ab560D300caF\",\n \"TokenFactory\": \"0x8AF018e28c273826e6b2d5a99e81c8fB63729b07\",\n \"UniswapV2Migrator\": \"0x43d0D97EC9241A8F05A264f94B82A1d2E600f2B3\",\n \"UniswapV3Initializer\": \"0x9F4e56be80f08ba1A2445645EFa6d231E27b43ec\",\n \"UniswapV4Initializer\": \"0x06FEFD02F0b6d9f57F52cfacFc113665Dfa20F0f\",\n \"UniswapV4Migrator\": \"0x4B0EC16Eb40318Ca5A4346f20F04A2285C19675B\",\n \"UniswapV4MigratorHook\": \"0x76E1f507592d9856B48482c599732d129eD6a500\",\n \"UniswapV4MulticurveInitializer\": \"0xA3C847eAb58eAa9cbc215C785c9cfBc19CDABD5f\",\n \"UniswapV4MulticurveInitializerHook\": \"0xFaF16d11737E6552156DD328cD26C530e1da2D40\",\n \"WETH\": \"0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12\"\n },\n \"57073\": {\n \"Airlock\": \"0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12\",\n \"Bundler\": \"0x136191B46478cAB023cbC01a36160C4Aad81677a\",\n \"DopplerDeployer\": \"0xa82c66b6ddEb92089015C3565E05B5c9750b2d4B\",\n \"DopplerLensQuoter\": \"0x8AF018e28c273826e6b2d5a99e81c8fB63729b07\",\n \"GovernanceFactory\": \"0xb4deE32EB70A5E55f3D2d861F49Fb3D79f7a14d9\",\n \"TokenFactory\": \"0xFAafdE6a5b658684cC5eb0C5c2c755B00A246F45\",\n \"UniswapV2Migrator\": \"0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731\",\n \"UniswapV3Initializer\": \"0xaA47D2977d622DBdFD33eeF6a8276727c52EB4e5\",\n \"UniswapV4Initializer\": \"0x014E1c0bd34f3B10546E554CB33B3293fECDD056\"\n },\n \"84532\": {\n \"Airlock\": \"0x3411306Ce66c9469BFF1535BA955503c4Bde1C6e\",\n \"AirlockMultisig\": \"0x852a09C89463D236eea2f097623574f23E225769\",\n \"BasicMultisig\": \"0x6f645FA08B7eadAD620CEC85634204b1d7A46DC2\",\n \"Bundler\": \"0xab7BACB0d5C2C10152f92D34e07F530EB3CB0Fb1\",\n \"DopplerDeployer\": \"0x82D727ffda3F874da802663fC2f3f4b83dC3AAbA\",\n \"DopplerLensQuoter\": \"0x4a8d81Db741248a36D9eb3bc6eF648Bf798B47a7\",\n \"GovernanceFactory\": \"0x9dBFaaDC8c0cB2c34bA698DD9426555336992e20\",\n \"LockableUniswapV3Initializer\": \"0x16AdA5Be50C3c2D94Af5fEae6b539C40A78Ad53c\",\n \"NoOpGovernanceFactory\": \"0x7bD798fafC99A3b17E261F8308A8C11B56935ea1\",\n \"NoOpMigrator\": \"0xF11066abbd329ac4bBA39455340539322C222eb0\",\n \"StreamableFeesLocker\": \"0x3345E557c5C0b474bE1eb4693264008B8562Aa9c\",\n \"TeamGovernanceFactory\": \"0x8aF3001ED75F86f4Dd910577ECa9C5dB7CEa765c\",\n \"TokenFactory\": \"0x9D8fd79B2a59c5d91ccBd79c3AEb4de56451Bb02\",\n \"UniswapV2Migrator\": \"0x04a898f3722c38F9Def707bD17DC78920EFA977C\",\n \"UniswapV3Initializer\": \"0x4C3062B9ccFdbCB10353F57C1B59a29d4c5CFa47\",\n \"UniswapV4Initializer\": \"0x832e4763dEEcB9941a768f2bBd18583219F018Cc\",\n \"UniswapV4Migrator\": \"0xf326D8cdB65A4ad334cFBdD7d3A3CB27Be8b770d\",\n \"UniswapV4MigratorHook\": \"0x9D0C38A80647E53D5a8a319B39De2B66B8586500\",\n \"UniswapV4MulticurveInitializer\": \"0x1718405E58c61425cDc0083262bC9f72198F5232\",\n \"UniswapV4MulticurveInitializerHook\": \"0x6a1061FC558dDe1E6fD0eFd641b370d435b56d40\",\n \"UniswapV4ScheduledMulticurveInitializer\": \"0x5C10D3e14Aae2Ef95619B25E907E013260E832E4\",\n \"UniswapV4ScheduledMulticurveInitializerHook\": \"0x5D663F9C993deFf2D17ce4232D75f347df7DADc0\",\n \"WETH\": \"0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12\"\n }\n} as const\n"]}
@@ -0,0 +1,130 @@
1
+ import { DynamicAuction } from './chunk-J5BFFL3X.mjs';
2
+ import { MulticurvePool } from './chunk-MNXD45J7.mjs';
3
+ import { StaticAuction } from './chunk-AKSEBAR7.mjs';
4
+ import { Quoter } from './chunk-EDJBZPMW.mjs';
5
+ import { Derc20 } from './chunk-NZ4BJ2IC.mjs';
6
+ import { DopplerFactory } from './chunk-TKSHYEYA.mjs';
7
+ import { DynamicAuctionBuilder } from './chunk-MCOK3UFR.mjs';
8
+ import { MulticurveBuilder } from './chunk-AULFBXM5.mjs';
9
+ import { StaticAuctionBuilder } from './chunk-SP5M57BG.mjs';
10
+ import { getAirlockOwner, DEFAULT_AIRLOCK_BENEFICIARY_SHARES, getAirlockBeneficiary } from './chunk-M4WMHD3X.mjs';
11
+
12
+ // src/DopplerSDK.ts
13
+ var DopplerSDK = class {
14
+ constructor(config) {
15
+ this.publicClient = config.publicClient;
16
+ this.walletClient = config.walletClient;
17
+ this.chainId = config.chainId;
18
+ }
19
+ /**
20
+ * Get the factory instance for creating auctions
21
+ */
22
+ get factory() {
23
+ if (!this._factory) {
24
+ this._factory = new DopplerFactory(this.publicClient, this.walletClient, this.chainId);
25
+ }
26
+ return this._factory;
27
+ }
28
+ /**
29
+ * Get the quoter instance for price queries
30
+ */
31
+ get quoter() {
32
+ if (!this._quoter) {
33
+ this._quoter = new Quoter(this.publicClient, this.chainId);
34
+ }
35
+ return this._quoter;
36
+ }
37
+ /**
38
+ * Get a StaticAuction instance for interacting with a static auction pool
39
+ * @param poolAddress The address of the Uniswap V3 pool
40
+ */
41
+ async getStaticAuction(poolAddress) {
42
+ return new StaticAuction(this.publicClient, poolAddress);
43
+ }
44
+ /**
45
+ * Get a DynamicAuction instance for interacting with a dynamic auction hook
46
+ * @param hookAddress The address of the Uniswap V4 hook
47
+ */
48
+ async getDynamicAuction(hookAddress) {
49
+ return new DynamicAuction(this.publicClient, hookAddress);
50
+ }
51
+ /**
52
+ * Get a MulticurvePool instance for interacting with a V4 multicurve pool
53
+ * @param poolAddress The address of the V4 pool
54
+ */
55
+ async getMulticurvePool(poolAddress) {
56
+ return new MulticurvePool(this.publicClient, this.walletClient, poolAddress);
57
+ }
58
+ /**
59
+ * Get a DERC20 token instance for interacting with a token
60
+ * @param tokenAddress The address of the DERC20 token
61
+ */
62
+ getDerc20(tokenAddress) {
63
+ return new Derc20(this.publicClient, this.walletClient, tokenAddress);
64
+ }
65
+ /**
66
+ * Get information about a static auction pool
67
+ * @param poolAddress The address of the pool
68
+ */
69
+ async getPoolInfo(poolAddress) {
70
+ const auction = new StaticAuction(this.publicClient, poolAddress);
71
+ return auction.getPoolInfo();
72
+ }
73
+ /**
74
+ * Get information about a dynamic auction hook
75
+ * @param hookAddress The address of the hook
76
+ */
77
+ async getHookInfo(hookAddress) {
78
+ const auction = new DynamicAuction(this.publicClient, hookAddress);
79
+ return auction.getHookInfo();
80
+ }
81
+ /**
82
+ * Create a new static auction builder
83
+ */
84
+ buildStaticAuction() {
85
+ return new StaticAuctionBuilder(this.chainId);
86
+ }
87
+ /**
88
+ * Create a new dynamic auction builder
89
+ */
90
+ buildDynamicAuction() {
91
+ return new DynamicAuctionBuilder(this.chainId);
92
+ }
93
+ /**
94
+ * Create a new multicurve (V4 initializer) auction builder
95
+ */
96
+ buildMulticurveAuction() {
97
+ return new MulticurveBuilder(this.chainId);
98
+ }
99
+ /**
100
+ * Get the current chain ID
101
+ */
102
+ getChainId() {
103
+ return this.chainId;
104
+ }
105
+ /**
106
+ * Get the underlying clients
107
+ */
108
+ getClients() {
109
+ return {
110
+ publicClient: this.publicClient,
111
+ walletClient: this.walletClient
112
+ };
113
+ }
114
+ /**
115
+ * Get the airlock owner address for the configured chain
116
+ */
117
+ async getAirlockOwner() {
118
+ return getAirlockOwner(this.publicClient);
119
+ }
120
+ /**
121
+ * Convenience helper for building the airlock beneficiary entry with the default 5% (0.05e18 WAD shares)
122
+ */
123
+ async getAirlockBeneficiary(shares = DEFAULT_AIRLOCK_BENEFICIARY_SHARES) {
124
+ return getAirlockBeneficiary(this.publicClient, shares);
125
+ }
126
+ };
127
+
128
+ export { DopplerSDK };
129
+ //# sourceMappingURL=chunk-D2RBCFNW.mjs.map
130
+ //# sourceMappingURL=chunk-D2RBCFNW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/DopplerSDK.ts"],"names":[],"mappings":"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","file":"chunk-D2RBCFNW.mjs","sourcesContent":["import type { Address, WalletClient } from 'viem'\nimport type { BeneficiaryData, DopplerSDKConfig, HookInfo, PoolInfo, SupportedPublicClient } from './types'\nimport type { SupportedChainId } from './addresses'\nimport { DopplerFactory } from './entities/DopplerFactory'\nimport { StaticAuction, DynamicAuction, MulticurvePool } from './entities/auction'\nimport { Quoter } from './entities/quoter'\nimport { Derc20 } from './entities/token'\nimport { StaticAuctionBuilder, DynamicAuctionBuilder, MulticurveBuilder } from './builders'\nimport { DEFAULT_AIRLOCK_BENEFICIARY_SHARES, getAirlockBeneficiary, getAirlockOwner as fetchAirlockOwner } from './utils/airlock'\n\nexport class DopplerSDK<C extends SupportedChainId = SupportedChainId> {\n private publicClient: SupportedPublicClient\n private walletClient?: WalletClient\n public chainId: C\n private _factory?: DopplerFactory<C>\n private _quoter?: Quoter\n\n constructor(config: DopplerSDKConfig) {\n this.publicClient = config.publicClient\n this.walletClient = config.walletClient\n this.chainId = (config.chainId as unknown) as C\n }\n\n /**\n * Get the factory instance for creating auctions\n */\n get factory(): DopplerFactory<C> {\n if (!this._factory) {\n this._factory = new DopplerFactory(this.publicClient, this.walletClient, this.chainId)\n }\n return this._factory\n }\n\n /**\n * Get the quoter instance for price queries\n */\n get quoter(): Quoter {\n if (!this._quoter) {\n this._quoter = new Quoter(this.publicClient, this.chainId)\n }\n return this._quoter\n }\n\n /**\n * Get a StaticAuction instance for interacting with a static auction pool\n * @param poolAddress The address of the Uniswap V3 pool\n */\n async getStaticAuction(poolAddress: Address): Promise<StaticAuction> {\n return new StaticAuction(this.publicClient, poolAddress)\n }\n\n /**\n * Get a DynamicAuction instance for interacting with a dynamic auction hook\n * @param hookAddress The address of the Uniswap V4 hook\n */\n async getDynamicAuction(hookAddress: Address): Promise<DynamicAuction> {\n return new DynamicAuction(this.publicClient, hookAddress)\n }\n\n /**\n * Get a MulticurvePool instance for interacting with a V4 multicurve pool\n * @param poolAddress The address of the V4 pool\n */\n async getMulticurvePool(poolAddress: Address): Promise<MulticurvePool> {\n return new MulticurvePool(this.publicClient, this.walletClient, poolAddress)\n }\n\n /**\n * Get a DERC20 token instance for interacting with a token\n * @param tokenAddress The address of the DERC20 token\n */\n getDerc20(tokenAddress: Address): Derc20 {\n return new Derc20(this.publicClient, this.walletClient, tokenAddress)\n }\n\n /**\n * Get information about a static auction pool\n * @param poolAddress The address of the pool\n */\n async getPoolInfo(poolAddress: Address): Promise<PoolInfo> {\n const auction = new StaticAuction(this.publicClient, poolAddress)\n return auction.getPoolInfo()\n }\n\n /**\n * Get information about a dynamic auction hook\n * @param hookAddress The address of the hook\n */\n async getHookInfo(hookAddress: Address): Promise<HookInfo> {\n const auction = new DynamicAuction(this.publicClient, hookAddress)\n return auction.getHookInfo()\n }\n\n /**\n * Create a new static auction builder\n */\n buildStaticAuction(): StaticAuctionBuilder<C> {\n return new StaticAuctionBuilder(this.chainId)\n }\n\n /**\n * Create a new dynamic auction builder\n */\n buildDynamicAuction(): DynamicAuctionBuilder<C> {\n return new DynamicAuctionBuilder(this.chainId)\n }\n\n /**\n * Create a new multicurve (V4 initializer) auction builder\n */\n buildMulticurveAuction(): MulticurveBuilder<C> {\n return new MulticurveBuilder(this.chainId)\n }\n\n /**\n * Get the current chain ID\n */\n getChainId(): C {\n return this.chainId\n }\n\n /**\n * Get the underlying clients\n */\n getClients(): { publicClient: SupportedPublicClient; walletClient?: WalletClient } {\n return {\n publicClient: this.publicClient,\n walletClient: this.walletClient\n }\n }\n\n /**\n * Get the airlock owner address for the configured chain\n */\n async getAirlockOwner(): Promise<Address> {\n return fetchAirlockOwner(this.publicClient)\n }\n\n /**\n * Convenience helper for building the airlock beneficiary entry with the default 5% (0.05e18 WAD shares)\n */\n async getAirlockBeneficiary(shares: bigint = DEFAULT_AIRLOCK_BENEFICIARY_SHARES): Promise<BeneficiaryData> {\n return getAirlockBeneficiary(this.publicClient, shares)\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ // src/utils/balanceDelta.ts
2
+ function decodeBalanceDelta(delta) {
3
+ const mask = (1n << 128n) - 1n;
4
+ const amount0 = BigInt.asIntN(128, delta >> 128n);
5
+ const amount1 = BigInt.asIntN(128, delta & mask);
6
+ return { amount0, amount1 };
7
+ }
8
+
9
+ export { decodeBalanceDelta };
10
+ //# sourceMappingURL=chunk-ECD4FV3A.mjs.map
11
+ //# sourceMappingURL=chunk-ECD4FV3A.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/balanceDelta.ts"],"names":[],"mappings":";AAIO,SAAS,mBAAmB,KAAA,EAAqD;AACtF,EAAA,MAAM,IAAA,GAAA,CAAQ,MAAM,IAAA,IAAQ,EAAA;AAC5B,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,MAAA,CAAO,GAAA,EAAK,SAAS,IAAI,CAAA;AAChD,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,MAAA,CAAO,GAAA,EAAK,QAAQ,IAAI,CAAA;AAC/C,EAAA,OAAO,EAAE,SAAS,OAAA,EAAQ;AAC5B","file":"chunk-ECD4FV3A.mjs","sourcesContent":["/**\n * Decode a Uniswap V4 BalanceDelta (int256) value into separate int128 deltas.\n * The upper 128 bits represent amount0, the lower 128 bits represent amount1.\n */\nexport function decodeBalanceDelta(delta: bigint): { amount0: bigint; amount1: bigint } {\n const mask = (1n << 128n) - 1n\n const amount0 = BigInt.asIntN(128, delta >> 128n)\n const amount1 = BigInt.asIntN(128, delta & mask)\n return { amount0, amount1 }\n}\n\n"]}
@@ -0,0 +1,255 @@
1
+ import { quoterV2Abi, uniswapV2Router02Abi, v4QuoterAbi } from './chunk-OTG75GVH.mjs';
2
+ import { getAddresses } from './chunk-AW3WR2D3.mjs';
3
+ import { decodeAbiParameters } from 'viem';
4
+
5
+ var Quoter = class {
6
+ get rpc() {
7
+ return this.publicClient;
8
+ }
9
+ constructor(publicClient, chainId) {
10
+ this.publicClient = publicClient;
11
+ this.chainId = chainId;
12
+ }
13
+ /**
14
+ * Get a price quote for swapping an exact amount of input tokens on Uniswap V3
15
+ * @param params Parameters for the quote
16
+ * @returns Quote result including output amount and price impact
17
+ */
18
+ async quoteExactInputV3(params) {
19
+ const addresses = getAddresses(this.chainId);
20
+ try {
21
+ const { result } = await this.rpc.simulateContract({
22
+ address: addresses.v3Quoter,
23
+ abi: quoterV2Abi,
24
+ functionName: "quoteExactInputSingle",
25
+ args: [{
26
+ tokenIn: params.tokenIn,
27
+ tokenOut: params.tokenOut,
28
+ amountIn: params.amountIn,
29
+ fee: params.fee,
30
+ sqrtPriceLimitX96: params.sqrtPriceLimitX96 ?? BigInt(0)
31
+ }]
32
+ });
33
+ return {
34
+ amountOut: result[0],
35
+ sqrtPriceX96After: result[1],
36
+ initializedTicksCrossed: result[2],
37
+ gasEstimate: result[3]
38
+ };
39
+ } catch (err) {
40
+ const revertData = err?.cause?.data || err.data;
41
+ if (revertData && typeof revertData === "string" && revertData.startsWith("0x")) {
42
+ try {
43
+ const [amount, sqrtPriceX96After] = decodeAbiParameters(
44
+ [{ type: "uint256" }, { type: "uint160" }, { type: "int24" }],
45
+ revertData
46
+ );
47
+ return {
48
+ amountOut: amount,
49
+ sqrtPriceX96After,
50
+ initializedTicksCrossed: 0,
51
+ gasEstimate: 0n
52
+ };
53
+ } catch (_) {
54
+ }
55
+ }
56
+ throw err;
57
+ }
58
+ }
59
+ /**
60
+ * Get a price quote for receiving an exact amount of output tokens on Uniswap V3
61
+ * @param params Parameters for the quote
62
+ * @returns Quote result including required input amount
63
+ */
64
+ async quoteExactOutputV3(params) {
65
+ const addresses = getAddresses(this.chainId);
66
+ try {
67
+ const { result } = await this.rpc.simulateContract({
68
+ address: addresses.v3Quoter,
69
+ abi: quoterV2Abi,
70
+ functionName: "quoteExactOutputSingle",
71
+ args: [{
72
+ tokenIn: params.tokenIn,
73
+ tokenOut: params.tokenOut,
74
+ amount: params.amountOut,
75
+ fee: params.fee,
76
+ sqrtPriceLimitX96: params.sqrtPriceLimitX96 ?? BigInt(0)
77
+ }]
78
+ });
79
+ return {
80
+ amountIn: result[0],
81
+ sqrtPriceX96After: result[1],
82
+ initializedTicksCrossed: result[2],
83
+ gasEstimate: result[3]
84
+ };
85
+ } catch (err) {
86
+ const revertData = err?.cause?.data || err.data;
87
+ if (revertData && typeof revertData === "string" && revertData.startsWith("0x")) {
88
+ try {
89
+ const [amount, sqrtPriceX96After] = decodeAbiParameters(
90
+ [{ type: "uint256" }, { type: "uint160" }, { type: "int24" }],
91
+ revertData
92
+ );
93
+ return {
94
+ amountIn: amount,
95
+ sqrtPriceX96After,
96
+ initializedTicksCrossed: 0,
97
+ gasEstimate: 0n
98
+ };
99
+ } catch (_) {
100
+ }
101
+ }
102
+ throw err;
103
+ }
104
+ }
105
+ /**
106
+ * Get a price quote for swapping an exact amount of input tokens on Uniswap V2
107
+ * @param params Parameters for the quote
108
+ * @returns Array of amounts for each step in the path
109
+ */
110
+ async quoteExactInputV2(params) {
111
+ const addresses = getAddresses(this.chainId);
112
+ if (!addresses.univ2Router02) {
113
+ throw new Error("Uniswap V2 Router not available on this chain");
114
+ }
115
+ const result = await this.rpc.readContract({
116
+ address: addresses.univ2Router02,
117
+ abi: uniswapV2Router02Abi,
118
+ functionName: "getAmountsOut",
119
+ args: [params.amountIn, params.path]
120
+ });
121
+ return [...result];
122
+ }
123
+ /**
124
+ * Get a price quote for receiving an exact amount of output tokens on Uniswap V2
125
+ * @param params Parameters for the quote
126
+ * @returns Array of amounts for each step in the path
127
+ */
128
+ async quoteExactOutputV2(params) {
129
+ const addresses = getAddresses(this.chainId);
130
+ if (!addresses.univ2Router02) {
131
+ throw new Error("Uniswap V2 Router not available on this chain");
132
+ }
133
+ const result = await this.rpc.readContract({
134
+ address: addresses.univ2Router02,
135
+ abi: uniswapV2Router02Abi,
136
+ functionName: "getAmountsIn",
137
+ args: [params.amountOut, params.path]
138
+ });
139
+ return [...result];
140
+ }
141
+ /**
142
+ * Get a price quote for swapping an exact amount of input tokens on Uniswap V4
143
+ * @param params Parameters for the quote
144
+ * @returns Quote result for V4 pools
145
+ */
146
+ async quoteExactInputV4(params) {
147
+ const addresses = getAddresses(this.chainId);
148
+ const quoterAddress = addresses.uniswapV4Quoter;
149
+ if (!quoterAddress) {
150
+ throw new Error("No V4 quoter available on this chain");
151
+ }
152
+ try {
153
+ const { result } = await this.rpc.simulateContract({
154
+ address: quoterAddress,
155
+ abi: v4QuoterAbi,
156
+ functionName: "quoteExactInputSingle",
157
+ args: [{
158
+ poolKey: params.poolKey,
159
+ zeroForOne: params.zeroForOne,
160
+ exactAmount: params.exactAmount,
161
+ hookData: params.hookData ?? "0x"
162
+ }]
163
+ });
164
+ return {
165
+ amountOut: result[0],
166
+ gasEstimate: result[1]
167
+ };
168
+ } catch (simulateError) {
169
+ throw simulateError;
170
+ }
171
+ }
172
+ /**
173
+ * Get a price quote for receiving an exact amount of output tokens on Uniswap V4
174
+ * @param params Parameters for the quote
175
+ * @returns Quote result for V4 pools
176
+ */
177
+ async quoteExactOutputV4(params) {
178
+ const addresses = getAddresses(this.chainId);
179
+ const quoterAddress = addresses.dopplerLens;
180
+ if (!quoterAddress) {
181
+ throw new Error("No V4 quoter available on this chain");
182
+ }
183
+ const { result } = await this.rpc.simulateContract({
184
+ address: quoterAddress,
185
+ abi: v4QuoterAbi,
186
+ functionName: "quoteExactOutputSingle",
187
+ args: [{
188
+ poolKey: params.poolKey,
189
+ zeroForOne: params.zeroForOne,
190
+ exactAmount: params.exactAmount,
191
+ hookData: params.hookData ?? "0x"
192
+ }]
193
+ });
194
+ return {
195
+ amountIn: result[0],
196
+ gasEstimate: result[1]
197
+ };
198
+ }
199
+ /**
200
+ * Quote a single exact-input trade using the Uniswap V4 Quoter (not Lens)
201
+ * @param params Parameters for the quote
202
+ */
203
+ async quoteExactInputV4Quoter(params) {
204
+ const addresses = getAddresses(this.chainId);
205
+ const quoterAddress = addresses.uniswapV4Quoter;
206
+ if (!quoterAddress) {
207
+ throw new Error("Uniswap V4 Quoter address not available on this chain");
208
+ }
209
+ const { result } = await this.rpc.simulateContract({
210
+ address: quoterAddress,
211
+ abi: v4QuoterAbi,
212
+ functionName: "quoteExactInputSingle",
213
+ args: [{
214
+ poolKey: params.poolKey,
215
+ zeroForOne: params.zeroForOne,
216
+ exactAmount: params.exactAmount,
217
+ hookData: params.hookData ?? "0x"
218
+ }]
219
+ });
220
+ return {
221
+ amountOut: result[0],
222
+ gasEstimate: result[1]
223
+ };
224
+ }
225
+ /**
226
+ * Quote a single exact-output trade using the Uniswap V4 Quoter (not Lens)
227
+ * @param params Parameters for the quote
228
+ */
229
+ async quoteExactOutputV4Quoter(params) {
230
+ const addresses = getAddresses(this.chainId);
231
+ const quoterAddress = addresses.uniswapV4Quoter;
232
+ if (!quoterAddress) {
233
+ throw new Error("Uniswap V4 Quoter address not available on this chain");
234
+ }
235
+ const { result } = await this.rpc.simulateContract({
236
+ address: quoterAddress,
237
+ abi: v4QuoterAbi,
238
+ functionName: "quoteExactOutputSingle",
239
+ args: [{
240
+ poolKey: params.poolKey,
241
+ zeroForOne: params.zeroForOne,
242
+ exactAmount: params.exactAmount,
243
+ hookData: params.hookData ?? "0x"
244
+ }]
245
+ });
246
+ return {
247
+ amountIn: result[0],
248
+ gasEstimate: result[1]
249
+ };
250
+ }
251
+ };
252
+
253
+ export { Quoter };
254
+ //# sourceMappingURL=chunk-EDJBZPMW.mjs.map
255
+ //# sourceMappingURL=chunk-EDJBZPMW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/entities/quoter/Quoter.ts"],"names":[],"mappings":"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","file":"chunk-EDJBZPMW.mjs","sourcesContent":["import { type Address, encodeFunctionData, decodeAbiParameters, type Hex, type PublicClient } 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 tokenIn: params.tokenIn,\n tokenOut: params.tokenOut,\n amountIn: params.amountIn,\n fee: params.fee,\n sqrtPriceLimitX96: params.sqrtPriceLimitX96 ?? BigInt(0),\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 = (err as { cause?: { data?: Hex }; data?: Hex })?.cause?.data || (err as { data?: Hex }).data\n if (revertData && typeof revertData === 'string' && revertData.startsWith('0x')) {\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 tokenIn: params.tokenIn,\n tokenOut: params.tokenOut,\n amount: params.amountOut,\n fee: params.fee,\n sqrtPriceLimitX96: params.sqrtPriceLimitX96 ?? BigInt(0),\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 = (err as { cause?: { data?: Hex }; data?: Hex })?.cause?.data || (err as { data?: Hex }).data\n if (revertData && typeof revertData === 'string' && revertData.startsWith('0x')) {\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 try {\n // First try simulateContract for better gas estimation\n const { result } = await this.rpc.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.rpc.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 /**\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 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 }\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 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"]}
@@ -0,0 +1,145 @@
1
+ // src/deployments.generated.ts
2
+ var GENERATED_DOPPLER_DEPLOYMENTS = {
3
+ "130": {
4
+ "Airlock": "0x77EbfBAE15AD200758E9E2E61597c0B07d731254",
5
+ "Bundler": "0x91231cDdD8d6C86Df602070a3081478e074b97b7",
6
+ "DopplerDeployer": "0x0d2f38d807bfAd5C18e430516e10ab560D300caF",
7
+ "DopplerLensQuoter": "0x82Ac010C67f70BACf7655cd8948a4AD92A173CAC",
8
+ "GovernanceFactory": "0x99C94B9Df930E1E21a4E4a2c105dBff21bF5c5aE",
9
+ "LockableUniswapV3Initializer": "0xA3C847eAb58eAa9cbc215C785c9cfBc19CDABD5f",
10
+ "NoOpGovernanceFactory": "0x3AD727ee0FBBb8Ee0920933FdB96F23fD56f1299",
11
+ "NoOpMigrator": "0x917da361072ce968acD810BbfC9B64079426ebf0",
12
+ "StreamableFeesLocker": "0x6ddfED58D238Ca3195E49d8ac3d4cEa6386E5C33",
13
+ "TokenFactory": "0x43d0D97EC9241A8F05A264f94B82A1d2E600f2B3",
14
+ "UniswapV2Migrator": "0xf6023127f6E937091D5B605680056A6D27524bad",
15
+ "UniswapV3Initializer": "0x9F4e56be80f08ba1A2445645EFa6d231E27b43ec",
16
+ "UniswapV4Initializer": "0x4B0EC16Eb40318Ca5A4346f20F04A2285C19675B",
17
+ "UniswapV4Migrator": "0x49F3fBB2dFF7f3d03B622e3b2a6d3F2E6fdB2a5A",
18
+ "UniswapV4MigratorHook": "0x53C050d3B09C80024138165520Bd7c078D9e2000"
19
+ },
20
+ "143": {
21
+ "Airlock": "0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12",
22
+ "AirlockMultisig": "0x9916Ec1c1E0462F6F8f7514e414F06bf001Ac82A",
23
+ "Bundler": "0xC99b485499f78995C6F1640dbB1413c57f8BA684",
24
+ "GovernanceFactory": "0xFAafdE6a5b658684cC5eb0C5c2c755B00A246F45",
25
+ "LaunchpadGovernanceFactory": "0x5FBe931dc4B923A7abe4c47aD68d5bF9Eda5B76D",
26
+ "LockableUniswapV3Initializer": "0x8b4C7DB9121FC885689C0A50D5a1429F15AEc2a0",
27
+ "NoOpGovernanceFactory": "0xb4deE32EB70A5E55f3D2d861F49Fb3D79f7a14d9",
28
+ "NoOpMigrator": "0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731",
29
+ "TokenFactory": "0xaA47D2977d622DBdFD33eeF6a8276727c52EB4e5",
30
+ "UniswapV2Migrator": "0x136191B46478cAB023cbC01a36160C4Aad81677a",
31
+ "UniswapV4ScheduledMulticurveInitializer": "0xCe3099B2F07029b086E5e92a1573C5f5A3071783",
32
+ "UniswapV4ScheduledMulticurveInitializerHook": "0x580ca49389d83b019d07E17e99454f2F218e2dc0"
33
+ },
34
+ "1301": {
35
+ "Airlock": "0x0d2f38d807bfAd5C18e430516e10ab560D300caF",
36
+ "AirlockMultisig": "0x40Bcb4dDA3BcF7dba30C5d10c31EE2791ed9ddCa",
37
+ "Bundler": "0xED344444633B965cd148F8fFCE3765938A179094",
38
+ "DopplerDeployer": "0x77B5F559EE9cf3bfcf2fFf5731a84332D8eECAC9",
39
+ "DopplerLensQuoter": "0x917da361072ce968acD810BbfC9B64079426ebf0",
40
+ "GovernanceFactory": "0x4225C632b62622Bd7B0A3eC9745C0a866Ff94F6F",
41
+ "LockableUniswapV3Initializer": "0x9dFb775dB7b005d9Dc77DA84D8b2e42C281D0344",
42
+ "NoOpGovernanceFactory": "0x7E5D336A6E9e453c9f02E5102CC039E015Fd8fb8",
43
+ "NoOpMigrator": "0x193F48A45B6025dDeD10bc4BaeEF65c833696387",
44
+ "StreamableFeesLocker": "0x1728E8B3282502f275949109331E070b819B38eA",
45
+ "TokenFactory": "0x82Ac010C67f70BACf7655cd8948a4AD92A173CAC",
46
+ "UniswapV2Migrator": "0x620e3fec244e913d73f2163623b62d02DB69638B",
47
+ "UniswapV3Initializer": "0xE0dC4012AC9C868F09c6e4b20d66ED46D6F258d0",
48
+ "UniswapV4Initializer": "0x70d20cd48791E527036491dc464C8Dc58351Dd93",
49
+ "UniswapV4Migrator": "0xb6D69eAA98E657bEEFF7ca4452768e6f707aa6b1",
50
+ "UniswapV4MigratorHook": "0xFB0671Ec46190b09255776d2D77744fa101Ba500",
51
+ "UniswapV4MulticurveInitializer": "0xac7939F1B4079d55A7fA4DFA314Ac0173A77bA40",
52
+ "UniswapV4MulticurveInitializerHook": "0x11b55A121a38FDab8FAF16f9f1A4f124E3f42d40"
53
+ },
54
+ "4801": {
55
+ "Airlock": "0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731",
56
+ "GovernanceFactory": "0x136191B46478cAB023cbC01a36160C4Aad81677a",
57
+ "TokenFactory": "0x5FBe931dc4B923A7abe4c47aD68d5bF9Eda5B76D",
58
+ "UniswapV2Migrator": "0x8b4C7DB9121FC885689C0A50D5a1429F15AEc2a0",
59
+ "UniswapV3Initializer": "0x9916Ec1c1E0462F6F8f7514e414F06bf001Ac82A",
60
+ "WETH": "0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12"
61
+ },
62
+ "8453": {
63
+ "Airlock": "0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12",
64
+ "Bundler": "0x136191B46478cAB023cbC01a36160C4Aad81677a",
65
+ "DopplerDeployer": "0x49F3fBB2dFF7f3d03B622e3b2a6d3F2E6fdB2a5A",
66
+ "DopplerLensQuoter": "0x43d0D97EC9241A8F05A264f94B82A1d2E600f2B3",
67
+ "GovernanceFactory": "0xa82c66b6ddEb92089015C3565E05B5c9750b2d4B",
68
+ "LaunchpadGovernanceFactory": "0x40Bcb4dDA3BcF7dba30C5d10c31EE2791ed9ddCa",
69
+ "LockableUniswapV3Initializer": "0xE0dC4012AC9C868F09c6e4b20d66ED46D6F258d0",
70
+ "NoOpGovernanceFactory": "0x3AD727ee0FBBb8Ee0920933FdB96F23fD56f1299",
71
+ "NoOpMigrator": "0x6ddfED58D238Ca3195E49d8ac3d4cEa6386E5C33",
72
+ "StreamableFeesLocker": "0x0A00775D71a42cd33D62780003035e7F5b47bD3A",
73
+ "TokenFactory": "0x4225C632b62622Bd7B0A3eC9745C0a866Ff94F6F",
74
+ "UniswapV2Migrator": "0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731",
75
+ "UniswapV3Initializer": "0xaA47D2977d622DBdFD33eeF6a8276727c52EB4e5",
76
+ "UniswapV4Initializer": "0xED344444633B965cd148F8fFCE3765938A179094",
77
+ "UniswapV4Migrator": "0x166109C4EE7fE69164631Caa937dAA5F5cEbFef0",
78
+ "UniswapV4MigratorHook": "0x45178A8D6d368D612B7552B217802b7F97262000",
79
+ "UniswapV4MulticurveInitializer": "0x65dE470Da664A5be139A5D812bE5FDa0d76CC951",
80
+ "UniswapV4MulticurveInitializerHook": "0x892D3C2B4ABEAAF67d52A7B29783E2161B7CaD40",
81
+ "UniswapV4ScheduledMulticurveInitializer": "0xA36715dA46Ddf4A769f3290f49AF58bF8132ED8E",
82
+ "UniswapV4ScheduledMulticurveInitializerHook": "0x3e342a06f9592459D75721d6956B570F02eF2Dc0"
83
+ },
84
+ "10143": {
85
+ "Airlock": "0xa82c66b6ddEb92089015C3565E05B5c9750b2d4B",
86
+ "AirlockMultisig": "0x3AD727ee0FBBb8Ee0920933FdB96F23fD56f1299",
87
+ "Bundler": "0xf6023127f6E937091D5B605680056A6D27524bad",
88
+ "DopplerDeployer": "0x166109C4EE7fE69164631Caa937dAA5F5cEbFef0",
89
+ "DopplerLensQuoter": "0x2F2BAcd46d3F5c9EE052Ab392b73711dB89129DB",
90
+ "GovernanceFactory": "0x014E1c0bd34f3B10546E554CB33B3293fECDD056",
91
+ "LockableUniswapV3Initializer": "0x99C94B9Df930E1E21a4E4a2c105dBff21bF5c5aE",
92
+ "NoOpGovernanceFactory": "0x094D926A969B3024ca46D2186BF13FD5CDBA9CE2",
93
+ "NoOpMigrator": "0x5CadB034267751a364dDD4d321C99E07A307f915",
94
+ "StreamableFeesLocker": "0x0d2f38d807bfAd5C18e430516e10ab560D300caF",
95
+ "TokenFactory": "0x8AF018e28c273826e6b2d5a99e81c8fB63729b07",
96
+ "UniswapV2Migrator": "0x43d0D97EC9241A8F05A264f94B82A1d2E600f2B3",
97
+ "UniswapV3Initializer": "0x9F4e56be80f08ba1A2445645EFa6d231E27b43ec",
98
+ "UniswapV4Initializer": "0x06FEFD02F0b6d9f57F52cfacFc113665Dfa20F0f",
99
+ "UniswapV4Migrator": "0x4B0EC16Eb40318Ca5A4346f20F04A2285C19675B",
100
+ "UniswapV4MigratorHook": "0x76E1f507592d9856B48482c599732d129eD6a500",
101
+ "UniswapV4MulticurveInitializer": "0xA3C847eAb58eAa9cbc215C785c9cfBc19CDABD5f",
102
+ "UniswapV4MulticurveInitializerHook": "0xFaF16d11737E6552156DD328cD26C530e1da2D40",
103
+ "WETH": "0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12"
104
+ },
105
+ "57073": {
106
+ "Airlock": "0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12",
107
+ "Bundler": "0x136191B46478cAB023cbC01a36160C4Aad81677a",
108
+ "DopplerDeployer": "0xa82c66b6ddEb92089015C3565E05B5c9750b2d4B",
109
+ "DopplerLensQuoter": "0x8AF018e28c273826e6b2d5a99e81c8fB63729b07",
110
+ "GovernanceFactory": "0xb4deE32EB70A5E55f3D2d861F49Fb3D79f7a14d9",
111
+ "TokenFactory": "0xFAafdE6a5b658684cC5eb0C5c2c755B00A246F45",
112
+ "UniswapV2Migrator": "0x5F3bA43D44375286296Cb85F1EA2EBfa25dde731",
113
+ "UniswapV3Initializer": "0xaA47D2977d622DBdFD33eeF6a8276727c52EB4e5",
114
+ "UniswapV4Initializer": "0x014E1c0bd34f3B10546E554CB33B3293fECDD056"
115
+ },
116
+ "84532": {
117
+ "Airlock": "0x3411306Ce66c9469BFF1535BA955503c4Bde1C6e",
118
+ "AirlockMultisig": "0x852a09C89463D236eea2f097623574f23E225769",
119
+ "BasicMultisig": "0x6f645FA08B7eadAD620CEC85634204b1d7A46DC2",
120
+ "Bundler": "0xab7BACB0d5C2C10152f92D34e07F530EB3CB0Fb1",
121
+ "DopplerDeployer": "0x82D727ffda3F874da802663fC2f3f4b83dC3AAbA",
122
+ "DopplerLensQuoter": "0x4a8d81Db741248a36D9eb3bc6eF648Bf798B47a7",
123
+ "GovernanceFactory": "0x9dBFaaDC8c0cB2c34bA698DD9426555336992e20",
124
+ "LockableUniswapV3Initializer": "0x16AdA5Be50C3c2D94Af5fEae6b539C40A78Ad53c",
125
+ "NoOpGovernanceFactory": "0x7bD798fafC99A3b17E261F8308A8C11B56935ea1",
126
+ "NoOpMigrator": "0xF11066abbd329ac4bBA39455340539322C222eb0",
127
+ "StreamableFeesLocker": "0x3345E557c5C0b474bE1eb4693264008B8562Aa9c",
128
+ "TeamGovernanceFactory": "0x8aF3001ED75F86f4Dd910577ECa9C5dB7CEa765c",
129
+ "TokenFactory": "0x9D8fd79B2a59c5d91ccBd79c3AEb4de56451Bb02",
130
+ "UniswapV2Migrator": "0x04a898f3722c38F9Def707bD17DC78920EFA977C",
131
+ "UniswapV3Initializer": "0x4C3062B9ccFdbCB10353F57C1B59a29d4c5CFa47",
132
+ "UniswapV4Initializer": "0x832e4763dEEcB9941a768f2bBd18583219F018Cc",
133
+ "UniswapV4Migrator": "0xf326D8cdB65A4ad334cFBdD7d3A3CB27Be8b770d",
134
+ "UniswapV4MigratorHook": "0x9D0C38A80647E53D5a8a319B39De2B66B8586500",
135
+ "UniswapV4MulticurveInitializer": "0x1718405E58c61425cDc0083262bC9f72198F5232",
136
+ "UniswapV4MulticurveInitializerHook": "0x6a1061FC558dDe1E6fD0eFd641b370d435b56d40",
137
+ "UniswapV4ScheduledMulticurveInitializer": "0x5C10D3e14Aae2Ef95619B25E907E013260E832E4",
138
+ "UniswapV4ScheduledMulticurveInitializerHook": "0x5D663F9C993deFf2D17ce4232D75f347df7DADc0",
139
+ "WETH": "0x660eAaEdEBc968f8f3694354FA8EC0b4c5Ba8D12"
140
+ }
141
+ };
142
+
143
+ export { GENERATED_DOPPLER_DEPLOYMENTS };
144
+ //# sourceMappingURL=chunk-FPAI4QYW.mjs.map
145
+ //# sourceMappingURL=chunk-FPAI4QYW.mjs.map