@centurion_project/v3-sdk 3.30.0-ctn.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -0
  3. package/dist/cjs/src/constants.d.ts +23 -0
  4. package/dist/cjs/src/constants.js +44 -0
  5. package/dist/cjs/src/constants.js.map +1 -0
  6. package/dist/cjs/src/entities/index.d.ts +7 -0
  7. package/dist/cjs/src/entities/index.js +11 -0
  8. package/dist/cjs/src/entities/index.js.map +1 -0
  9. package/dist/cjs/src/entities/pool.d.ts +81 -0
  10. package/dist/cjs/src/entities/pool.js +142 -0
  11. package/dist/cjs/src/entities/pool.js.map +1 -0
  12. package/dist/cjs/src/entities/position.d.ts +131 -0
  13. package/dist/cjs/src/entities/position.js +248 -0
  14. package/dist/cjs/src/entities/position.js.map +1 -0
  15. package/dist/cjs/src/entities/route.d.ts +26 -0
  16. package/dist/cjs/src/entities/route.js +75 -0
  17. package/dist/cjs/src/entities/route.js.map +1 -0
  18. package/dist/cjs/src/entities/tick.d.ts +13 -0
  19. package/dist/cjs/src/entities/tick.js +17 -0
  20. package/dist/cjs/src/entities/tick.js.map +1 -0
  21. package/dist/cjs/src/entities/tickDataProvider.d.ts +31 -0
  22. package/dist/cjs/src/entities/tickDataProvider.js +18 -0
  23. package/dist/cjs/src/entities/tickDataProvider.js.map +1 -0
  24. package/dist/cjs/src/entities/tickListDataProvider.d.ts +15 -0
  25. package/dist/cjs/src/entities/tickListDataProvider.js +23 -0
  26. package/dist/cjs/src/entities/tickListDataProvider.js.map +1 -0
  27. package/dist/cjs/src/entities/trade.d.ts +220 -0
  28. package/dist/cjs/src/entities/trade.js +440 -0
  29. package/dist/cjs/src/entities/trade.js.map +1 -0
  30. package/dist/cjs/src/index.d.ts +10 -0
  31. package/dist/cjs/src/index.js +14 -0
  32. package/dist/cjs/src/index.js.map +1 -0
  33. package/dist/cjs/src/internalConstants.d.ts +6 -0
  34. package/dist/cjs/src/internalConstants.js +13 -0
  35. package/dist/cjs/src/internalConstants.js.map +1 -0
  36. package/dist/cjs/src/multicall.d.ts +10 -0
  37. package/dist/cjs/src/multicall.js +24 -0
  38. package/dist/cjs/src/multicall.js.map +1 -0
  39. package/dist/cjs/src/nonfungiblePositionManager.d.ts +159 -0
  40. package/dist/cjs/src/nonfungiblePositionManager.js +250 -0
  41. package/dist/cjs/src/nonfungiblePositionManager.js.map +1 -0
  42. package/dist/cjs/src/payments.d.ts +24 -0
  43. package/dist/cjs/src/payments.js +56 -0
  44. package/dist/cjs/src/payments.js.map +1 -0
  45. package/dist/cjs/src/quoter.d.ts +37 -0
  46. package/dist/cjs/src/quoter.js +69 -0
  47. package/dist/cjs/src/quoter.js.map +1 -0
  48. package/dist/cjs/src/selfPermit.d.ts +25 -0
  49. package/dist/cjs/src/selfPermit.js +38 -0
  50. package/dist/cjs/src/selfPermit.js.map +1 -0
  51. package/dist/cjs/src/staker.d.ts +101 -0
  52. package/dist/cjs/src/staker.js +129 -0
  53. package/dist/cjs/src/staker.js.map +1 -0
  54. package/dist/cjs/src/swapRouter.d.ts +51 -0
  55. package/dist/cjs/src/swapRouter.js +145 -0
  56. package/dist/cjs/src/swapRouter.js.map +1 -0
  57. package/dist/cjs/src/utils/calldata.d.ts +20 -0
  58. package/dist/cjs/src/utils/calldata.js +20 -0
  59. package/dist/cjs/src/utils/calldata.js.map +1 -0
  60. package/dist/cjs/src/utils/computePoolAddress.d.ts +20 -0
  61. package/dist/cjs/src/utils/computePoolAddress.js +33 -0
  62. package/dist/cjs/src/utils/computePoolAddress.js.map +1 -0
  63. package/dist/cjs/src/utils/encodeRouteToPath.d.ts +8 -0
  64. package/dist/cjs/src/utils/encodeRouteToPath.js +32 -0
  65. package/dist/cjs/src/utils/encodeRouteToPath.js.map +1 -0
  66. package/dist/cjs/src/utils/encodeSqrtRatioX96.d.ts +9 -0
  67. package/dist/cjs/src/utils/encodeSqrtRatioX96.js +20 -0
  68. package/dist/cjs/src/utils/encodeSqrtRatioX96.js.map +1 -0
  69. package/dist/cjs/src/utils/fullMath.d.ts +8 -0
  70. package/dist/cjs/src/utils/fullMath.js +21 -0
  71. package/dist/cjs/src/utils/fullMath.js.map +1 -0
  72. package/dist/cjs/src/utils/index.d.ts +18 -0
  73. package/dist/cjs/src/utils/index.js +22 -0
  74. package/dist/cjs/src/utils/index.js.map +1 -0
  75. package/dist/cjs/src/utils/isSorted.d.ts +7 -0
  76. package/dist/cjs/src/utils/isSorted.js +19 -0
  77. package/dist/cjs/src/utils/isSorted.js.map +1 -0
  78. package/dist/cjs/src/utils/liquidityMath.d.ts +8 -0
  79. package/dist/cjs/src/utils/liquidityMath.js +22 -0
  80. package/dist/cjs/src/utils/liquidityMath.js.map +1 -0
  81. package/dist/cjs/src/utils/maxLiquidityForAmounts.d.ts +14 -0
  82. package/dist/cjs/src/utils/maxLiquidityForAmounts.js +87 -0
  83. package/dist/cjs/src/utils/maxLiquidityForAmounts.js.map +1 -0
  84. package/dist/cjs/src/utils/mostSignificantBit.d.ts +2 -0
  85. package/dist/cjs/src/utils/mostSignificantBit.js +27 -0
  86. package/dist/cjs/src/utils/mostSignificantBit.js.map +1 -0
  87. package/dist/cjs/src/utils/nearestUsableTick.d.ts +6 -0
  88. package/dist/cjs/src/utils/nearestUsableTick.js +25 -0
  89. package/dist/cjs/src/utils/nearestUsableTick.js.map +1 -0
  90. package/dist/cjs/src/utils/position.d.ts +8 -0
  91. package/dist/cjs/src/utils/position.js +21 -0
  92. package/dist/cjs/src/utils/position.js.map +1 -0
  93. package/dist/cjs/src/utils/priceTickConversions.d.ts +15 -0
  94. package/dist/cjs/src/utils/priceTickConversions.js +50 -0
  95. package/dist/cjs/src/utils/priceTickConversions.js.map +1 -0
  96. package/dist/cjs/src/utils/sqrtPriceMath.d.ts +13 -0
  97. package/dist/cjs/src/utils/sqrtPriceMath.js +95 -0
  98. package/dist/cjs/src/utils/sqrtPriceMath.js.map +1 -0
  99. package/dist/cjs/src/utils/swapMath.d.ts +9 -0
  100. package/dist/cjs/src/utils/swapMath.js +78 -0
  101. package/dist/cjs/src/utils/swapMath.js.map +1 -0
  102. package/dist/cjs/src/utils/tickLibrary.d.ts +14 -0
  103. package/dist/cjs/src/utils/tickLibrary.js +51 -0
  104. package/dist/cjs/src/utils/tickLibrary.js.map +1 -0
  105. package/dist/cjs/src/utils/tickList.d.ts +23 -0
  106. package/dist/cjs/src/utils/tickList.js +108 -0
  107. package/dist/cjs/src/utils/tickList.js.map +1 -0
  108. package/dist/cjs/src/utils/tickMath.d.ts +34 -0
  109. package/dist/cjs/src/utils/tickMath.js +125 -0
  110. package/dist/cjs/src/utils/tickMath.js.map +1 -0
  111. package/dist/cjs/src/utils/v3swap.d.ts +8 -0
  112. package/dist/cjs/src/utils/v3swap.js +85 -0
  113. package/dist/cjs/src/utils/v3swap.js.map +1 -0
  114. package/dist/esm/src/constants.d.ts +23 -0
  115. package/dist/esm/src/constants.js +40 -0
  116. package/dist/esm/src/constants.js.map +1 -0
  117. package/dist/esm/src/entities/index.d.ts +7 -0
  118. package/dist/esm/src/entities/index.js +8 -0
  119. package/dist/esm/src/entities/index.js.map +1 -0
  120. package/dist/esm/src/entities/pool.d.ts +81 -0
  121. package/dist/esm/src/entities/pool.js +137 -0
  122. package/dist/esm/src/entities/pool.js.map +1 -0
  123. package/dist/esm/src/entities/position.d.ts +131 -0
  124. package/dist/esm/src/entities/position.js +243 -0
  125. package/dist/esm/src/entities/position.js.map +1 -0
  126. package/dist/esm/src/entities/route.d.ts +26 -0
  127. package/dist/esm/src/entities/route.js +70 -0
  128. package/dist/esm/src/entities/route.js.map +1 -0
  129. package/dist/esm/src/entities/tick.d.ts +13 -0
  130. package/dist/esm/src/entities/tick.js +12 -0
  131. package/dist/esm/src/entities/tick.js.map +1 -0
  132. package/dist/esm/src/entities/tickDataProvider.d.ts +31 -0
  133. package/dist/esm/src/entities/tickDataProvider.js +14 -0
  134. package/dist/esm/src/entities/tickDataProvider.js.map +1 -0
  135. package/dist/esm/src/entities/tickListDataProvider.d.ts +15 -0
  136. package/dist/esm/src/entities/tickListDataProvider.js +19 -0
  137. package/dist/esm/src/entities/tickListDataProvider.js.map +1 -0
  138. package/dist/esm/src/entities/trade.d.ts +220 -0
  139. package/dist/esm/src/entities/trade.js +434 -0
  140. package/dist/esm/src/entities/trade.js.map +1 -0
  141. package/dist/esm/src/index.d.ts +10 -0
  142. package/dist/esm/src/index.js +11 -0
  143. package/dist/esm/src/index.js.map +1 -0
  144. package/dist/esm/src/internalConstants.d.ts +6 -0
  145. package/dist/esm/src/internalConstants.js +9 -0
  146. package/dist/esm/src/internalConstants.js.map +1 -0
  147. package/dist/esm/src/multicall.d.ts +10 -0
  148. package/dist/esm/src/multicall.js +19 -0
  149. package/dist/esm/src/multicall.js.map +1 -0
  150. package/dist/esm/src/nonfungiblePositionManager.d.ts +159 -0
  151. package/dist/esm/src/nonfungiblePositionManager.js +245 -0
  152. package/dist/esm/src/nonfungiblePositionManager.js.map +1 -0
  153. package/dist/esm/src/payments.d.ts +24 -0
  154. package/dist/esm/src/payments.js +51 -0
  155. package/dist/esm/src/payments.js.map +1 -0
  156. package/dist/esm/src/quoter.d.ts +37 -0
  157. package/dist/esm/src/quoter.js +64 -0
  158. package/dist/esm/src/quoter.js.map +1 -0
  159. package/dist/esm/src/selfPermit.d.ts +25 -0
  160. package/dist/esm/src/selfPermit.js +33 -0
  161. package/dist/esm/src/selfPermit.js.map +1 -0
  162. package/dist/esm/src/staker.d.ts +101 -0
  163. package/dist/esm/src/staker.js +124 -0
  164. package/dist/esm/src/staker.js.map +1 -0
  165. package/dist/esm/src/swapRouter.d.ts +51 -0
  166. package/dist/esm/src/swapRouter.js +140 -0
  167. package/dist/esm/src/swapRouter.js.map +1 -0
  168. package/dist/esm/src/utils/calldata.d.ts +20 -0
  169. package/dist/esm/src/utils/calldata.js +15 -0
  170. package/dist/esm/src/utils/calldata.js.map +1 -0
  171. package/dist/esm/src/utils/computePoolAddress.d.ts +20 -0
  172. package/dist/esm/src/utils/computePoolAddress.js +29 -0
  173. package/dist/esm/src/utils/computePoolAddress.js.map +1 -0
  174. package/dist/esm/src/utils/encodeRouteToPath.d.ts +8 -0
  175. package/dist/esm/src/utils/encodeRouteToPath.js +28 -0
  176. package/dist/esm/src/utils/encodeRouteToPath.js.map +1 -0
  177. package/dist/esm/src/utils/encodeSqrtRatioX96.d.ts +9 -0
  178. package/dist/esm/src/utils/encodeSqrtRatioX96.js +15 -0
  179. package/dist/esm/src/utils/encodeSqrtRatioX96.js.map +1 -0
  180. package/dist/esm/src/utils/fullMath.d.ts +8 -0
  181. package/dist/esm/src/utils/fullMath.js +16 -0
  182. package/dist/esm/src/utils/fullMath.js.map +1 -0
  183. package/dist/esm/src/utils/index.d.ts +18 -0
  184. package/dist/esm/src/utils/index.js +19 -0
  185. package/dist/esm/src/utils/index.js.map +1 -0
  186. package/dist/esm/src/utils/isSorted.d.ts +7 -0
  187. package/dist/esm/src/utils/isSorted.js +15 -0
  188. package/dist/esm/src/utils/isSorted.js.map +1 -0
  189. package/dist/esm/src/utils/liquidityMath.d.ts +8 -0
  190. package/dist/esm/src/utils/liquidityMath.js +17 -0
  191. package/dist/esm/src/utils/liquidityMath.js.map +1 -0
  192. package/dist/esm/src/utils/maxLiquidityForAmounts.d.ts +14 -0
  193. package/dist/esm/src/utils/maxLiquidityForAmounts.js +82 -0
  194. package/dist/esm/src/utils/maxLiquidityForAmounts.js.map +1 -0
  195. package/dist/esm/src/utils/mostSignificantBit.d.ts +2 -0
  196. package/dist/esm/src/utils/mostSignificantBit.js +22 -0
  197. package/dist/esm/src/utils/mostSignificantBit.js.map +1 -0
  198. package/dist/esm/src/utils/nearestUsableTick.d.ts +6 -0
  199. package/dist/esm/src/utils/nearestUsableTick.js +20 -0
  200. package/dist/esm/src/utils/nearestUsableTick.js.map +1 -0
  201. package/dist/esm/src/utils/position.d.ts +8 -0
  202. package/dist/esm/src/utils/position.js +16 -0
  203. package/dist/esm/src/utils/position.js.map +1 -0
  204. package/dist/esm/src/utils/priceTickConversions.d.ts +15 -0
  205. package/dist/esm/src/utils/priceTickConversions.js +44 -0
  206. package/dist/esm/src/utils/priceTickConversions.js.map +1 -0
  207. package/dist/esm/src/utils/sqrtPriceMath.d.ts +13 -0
  208. package/dist/esm/src/utils/sqrtPriceMath.js +90 -0
  209. package/dist/esm/src/utils/sqrtPriceMath.js.map +1 -0
  210. package/dist/esm/src/utils/swapMath.d.ts +9 -0
  211. package/dist/esm/src/utils/swapMath.js +73 -0
  212. package/dist/esm/src/utils/swapMath.js.map +1 -0
  213. package/dist/esm/src/utils/tickLibrary.d.ts +14 -0
  214. package/dist/esm/src/utils/tickLibrary.js +45 -0
  215. package/dist/esm/src/utils/tickLibrary.js.map +1 -0
  216. package/dist/esm/src/utils/tickList.d.ts +23 -0
  217. package/dist/esm/src/utils/tickList.js +103 -0
  218. package/dist/esm/src/utils/tickList.js.map +1 -0
  219. package/dist/esm/src/utils/tickMath.d.ts +34 -0
  220. package/dist/esm/src/utils/tickMath.js +120 -0
  221. package/dist/esm/src/utils/tickMath.js.map +1 -0
  222. package/dist/esm/src/utils/v3swap.d.ts +8 -0
  223. package/dist/esm/src/utils/v3swap.js +80 -0
  224. package/dist/esm/src/utils/v3swap.js.map +1 -0
  225. package/dist/types/src/constants.d.ts +23 -0
  226. package/dist/types/src/entities/index.d.ts +7 -0
  227. package/dist/types/src/entities/pool.d.ts +81 -0
  228. package/dist/types/src/entities/position.d.ts +131 -0
  229. package/dist/types/src/entities/route.d.ts +26 -0
  230. package/dist/types/src/entities/tick.d.ts +13 -0
  231. package/dist/types/src/entities/tickDataProvider.d.ts +31 -0
  232. package/dist/types/src/entities/tickListDataProvider.d.ts +15 -0
  233. package/dist/types/src/entities/trade.d.ts +220 -0
  234. package/dist/types/src/index.d.ts +10 -0
  235. package/dist/types/src/internalConstants.d.ts +6 -0
  236. package/dist/types/src/multicall.d.ts +10 -0
  237. package/dist/types/src/nonfungiblePositionManager.d.ts +159 -0
  238. package/dist/types/src/payments.d.ts +24 -0
  239. package/dist/types/src/quoter.d.ts +37 -0
  240. package/dist/types/src/selfPermit.d.ts +25 -0
  241. package/dist/types/src/staker.d.ts +101 -0
  242. package/dist/types/src/swapRouter.d.ts +51 -0
  243. package/dist/types/src/utils/calldata.d.ts +20 -0
  244. package/dist/types/src/utils/computePoolAddress.d.ts +20 -0
  245. package/dist/types/src/utils/encodeRouteToPath.d.ts +8 -0
  246. package/dist/types/src/utils/encodeSqrtRatioX96.d.ts +9 -0
  247. package/dist/types/src/utils/fullMath.d.ts +8 -0
  248. package/dist/types/src/utils/index.d.ts +18 -0
  249. package/dist/types/src/utils/isSorted.d.ts +7 -0
  250. package/dist/types/src/utils/liquidityMath.d.ts +8 -0
  251. package/dist/types/src/utils/maxLiquidityForAmounts.d.ts +14 -0
  252. package/dist/types/src/utils/mostSignificantBit.d.ts +2 -0
  253. package/dist/types/src/utils/nearestUsableTick.d.ts +6 -0
  254. package/dist/types/src/utils/position.d.ts +8 -0
  255. package/dist/types/src/utils/priceTickConversions.d.ts +15 -0
  256. package/dist/types/src/utils/sqrtPriceMath.d.ts +13 -0
  257. package/dist/types/src/utils/swapMath.d.ts +9 -0
  258. package/dist/types/src/utils/tickLibrary.d.ts +14 -0
  259. package/dist/types/src/utils/tickList.d.ts +23 -0
  260. package/dist/types/src/utils/tickMath.d.ts +34 -0
  261. package/dist/types/src/utils/v3swap.d.ts +8 -0
  262. package/package.json +72 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trade.js","sourceRoot":"","sources":["../../../../src/entities/trade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export * from './entities';
2
+ export * from './utils';
3
+ export * from './constants';
4
+ export * from './multicall';
5
+ export * from './nonfungiblePositionManager';
6
+ export * from './payments';
7
+ export * from './quoter';
8
+ export * from './selfPermit';
9
+ export * from './staker';
10
+ export * from './swapRouter';
@@ -0,0 +1,11 @@
1
+ export * from './entities';
2
+ export * from './utils';
3
+ export * from './constants';
4
+ export * from './multicall';
5
+ export * from './nonfungiblePositionManager';
6
+ export * from './payments';
7
+ export * from './quoter';
8
+ export * from './selfPermit';
9
+ export * from './staker';
10
+ export * from './swapRouter';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AAEvB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,8BAA8B,CAAA;AAC5C,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA"}
@@ -0,0 +1,6 @@
1
+ import JSBI from 'jsbi';
2
+ export declare const NEGATIVE_ONE: JSBI;
3
+ export declare const ZERO: JSBI;
4
+ export declare const ONE: JSBI;
5
+ export declare const Q96: JSBI;
6
+ export declare const Q192: JSBI;
@@ -0,0 +1,9 @@
1
+ import JSBI from 'jsbi';
2
+ // constants used internally but not expected to be used externally
3
+ export const NEGATIVE_ONE = JSBI.BigInt(-1);
4
+ export const ZERO = JSBI.BigInt(0);
5
+ export const ONE = JSBI.BigInt(1);
6
+ // used in liquidity amount math
7
+ export const Q96 = JSBI.exponentiate(JSBI.BigInt(2), JSBI.BigInt(96));
8
+ export const Q192 = JSBI.exponentiate(Q96, JSBI.BigInt(2));
9
+ //# sourceMappingURL=internalConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalConstants.js","sourceRoot":"","sources":["../../../src/internalConstants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,mEAAmE;AACnE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3C,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAClC,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAEjC,gCAAgC;AAChC,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;AACrE,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ export declare abstract class Multicall {
3
+ static INTERFACE: Interface;
4
+ /**
5
+ * Cannot be constructed.
6
+ */
7
+ private constructor();
8
+ static encodeMulticall(calldatas: string | string[]): string;
9
+ static decodeMulticall(multicall: string): string[];
10
+ }
@@ -0,0 +1,19 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import IMulticall from '@uniswap/v3-periphery/artifacts/contracts/interfaces/IMulticall.sol/IMulticall.json';
3
+ export class Multicall {
4
+ /**
5
+ * Cannot be constructed.
6
+ */
7
+ constructor() { }
8
+ static encodeMulticall(calldatas) {
9
+ if (!Array.isArray(calldatas)) {
10
+ calldatas = [calldatas];
11
+ }
12
+ return calldatas.length === 1 ? calldatas[0] : Multicall.INTERFACE.encodeFunctionData('multicall', [calldatas]);
13
+ }
14
+ static decodeMulticall(multicall) {
15
+ return Multicall.INTERFACE.decodeFunctionData('multicall', multicall).data;
16
+ }
17
+ }
18
+ Multicall.INTERFACE = new Interface(IMulticall.abi);
19
+ //# sourceMappingURL=multicall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multicall.js","sourceRoot":"","sources":["../../../src/multicall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,UAAU,MAAM,qFAAqF,CAAA;AAE5G,MAAM,OAAgB,SAAS;IAG7B;;OAEG;IACH,gBAAuB,CAAC;IAEjB,MAAM,CAAC,eAAe,CAAC,SAA4B;QACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAA;SACxB;QAED,OAAO,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IACjH,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,SAAiB;QAC7C,OAAO,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,IAAI,CAAA;IAC5E,CAAC;;AAjBa,mBAAS,GAAc,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA"}
@@ -0,0 +1,159 @@
1
+ import { BigintIsh, Percent, CurrencyAmount, Currency, NativeCurrency } from '@centurion_project/sdk-core';
2
+ import { Position } from './entities/position';
3
+ import { MethodParameters } from './utils/calldata';
4
+ import { Interface } from '@ethersproject/abi';
5
+ import { TypedDataDomain, TypedDataField } from '@ethersproject/abstract-signer';
6
+ import { PermitOptions } from './selfPermit';
7
+ import { Pool } from './entities';
8
+ export interface MintSpecificOptions {
9
+ /**
10
+ * The account that should receive the minted NFT.
11
+ */
12
+ recipient: string;
13
+ /**
14
+ * Creates pool if not initialized before mint.
15
+ */
16
+ createPool?: boolean;
17
+ }
18
+ export interface IncreaseSpecificOptions {
19
+ /**
20
+ * Indicates the ID of the position to increase liquidity for.
21
+ */
22
+ tokenId: BigintIsh;
23
+ }
24
+ /**
25
+ * Options for producing the calldata to add liquidity.
26
+ */
27
+ export interface CommonAddLiquidityOptions {
28
+ /**
29
+ * How much the pool price is allowed to move.
30
+ */
31
+ slippageTolerance: Percent;
32
+ /**
33
+ * When the transaction expires, in epoch seconds.
34
+ */
35
+ deadline: BigintIsh;
36
+ /**
37
+ * Whether to spend ether. If true, one of the pool tokens must be WETH, by default false
38
+ */
39
+ useNative?: NativeCurrency;
40
+ /**
41
+ * The optional permit parameters for spending token0
42
+ */
43
+ token0Permit?: PermitOptions;
44
+ /**
45
+ * The optional permit parameters for spending token1
46
+ */
47
+ token1Permit?: PermitOptions;
48
+ }
49
+ export type MintOptions = CommonAddLiquidityOptions & MintSpecificOptions;
50
+ export type IncreaseOptions = CommonAddLiquidityOptions & IncreaseSpecificOptions;
51
+ export type AddLiquidityOptions = MintOptions | IncreaseOptions;
52
+ export interface SafeTransferOptions {
53
+ /**
54
+ * The account sending the NFT.
55
+ */
56
+ sender: string;
57
+ /**
58
+ * The account that should receive the NFT.
59
+ */
60
+ recipient: string;
61
+ /**
62
+ * The id of the token being sent.
63
+ */
64
+ tokenId: BigintIsh;
65
+ /**
66
+ * The optional parameter that passes data to the `onERC721Received` call for the staker
67
+ */
68
+ data?: string;
69
+ }
70
+ export interface CollectOptions {
71
+ /**
72
+ * Indicates the ID of the position to collect for.
73
+ */
74
+ tokenId: BigintIsh;
75
+ /**
76
+ * Expected value of tokensOwed0, including as-of-yet-unaccounted-for fees/liquidity value to be burned
77
+ */
78
+ expectedCurrencyOwed0: CurrencyAmount<Currency>;
79
+ /**
80
+ * Expected value of tokensOwed1, including as-of-yet-unaccounted-for fees/liquidity value to be burned
81
+ */
82
+ expectedCurrencyOwed1: CurrencyAmount<Currency>;
83
+ /**
84
+ * The account that should receive the tokens.
85
+ */
86
+ recipient: string;
87
+ }
88
+ export interface NFTPermitValues {
89
+ spender: string;
90
+ tokenId: BigintIsh;
91
+ deadline: BigintIsh;
92
+ nonce: BigintIsh;
93
+ }
94
+ export interface NFTPermitData {
95
+ domain: TypedDataDomain;
96
+ types: Record<string, TypedDataField[]>;
97
+ values: NFTPermitValues;
98
+ }
99
+ export interface NFTPermitOptions {
100
+ v: 0 | 1 | 27 | 28;
101
+ r: string;
102
+ s: string;
103
+ deadline: BigintIsh;
104
+ spender: string;
105
+ }
106
+ /**
107
+ * Options for producing the calldata to exit a position.
108
+ */
109
+ export interface RemoveLiquidityOptions {
110
+ /**
111
+ * The ID of the token to exit
112
+ */
113
+ tokenId: BigintIsh;
114
+ /**
115
+ * The percentage of position liquidity to exit.
116
+ */
117
+ liquidityPercentage: Percent;
118
+ /**
119
+ * How much the pool price is allowed to move.
120
+ */
121
+ slippageTolerance: Percent;
122
+ /**
123
+ * When the transaction expires, in epoch seconds.
124
+ */
125
+ deadline: BigintIsh;
126
+ /**
127
+ * Whether the NFT should be burned if the entire position is being exited, by default false.
128
+ */
129
+ burnToken?: boolean;
130
+ /**
131
+ * The optional permit of the token ID being exited, in case the exit transaction is being sent by an account that does not own the NFT
132
+ */
133
+ permit?: NFTPermitOptions;
134
+ /**
135
+ * Parameters to be passed on to collect
136
+ */
137
+ collectOptions: Omit<CollectOptions, 'tokenId'>;
138
+ }
139
+ export declare abstract class NonfungiblePositionManager {
140
+ static INTERFACE: Interface;
141
+ /**
142
+ * Cannot be constructed.
143
+ */
144
+ private constructor();
145
+ private static encodeCreate;
146
+ static createCallParameters(pool: Pool): MethodParameters;
147
+ static addCallParameters(position: Position, options: AddLiquidityOptions): MethodParameters;
148
+ private static encodeCollect;
149
+ static collectCallParameters(options: CollectOptions): MethodParameters;
150
+ /**
151
+ * Produces the calldata for completely or partially exiting a position
152
+ * @param position The position to exit
153
+ * @param options Additional information necessary for generating the calldata
154
+ * @returns The call parameters
155
+ */
156
+ static removeCallParameters(position: Position, options: RemoveLiquidityOptions): MethodParameters;
157
+ static safeTransferFromParameters(options: SafeTransferOptions): MethodParameters;
158
+ static getPermitData(permit: NFTPermitValues, positionManagerAddress: string, chainId: number): NFTPermitData;
159
+ }
@@ -0,0 +1,245 @@
1
+ import { CurrencyAmount, validateAndParseAddress, } from '@centurion_project/sdk-core';
2
+ import JSBI from 'jsbi';
3
+ import invariant from 'tiny-invariant';
4
+ import { Position } from './entities/position';
5
+ import { ONE, ZERO } from './internalConstants';
6
+ import { toHex } from './utils/calldata';
7
+ import { Interface } from '@ethersproject/abi';
8
+ import INonfungiblePositionManager from '@uniswap/v3-periphery/artifacts/contracts/NonfungiblePositionManager.sol/NonfungiblePositionManager.json';
9
+ import { SelfPermit } from './selfPermit';
10
+ import { ADDRESS_ZERO } from './constants';
11
+ import { Multicall } from './multicall';
12
+ import { Payments } from './payments';
13
+ const MaxUint128 = toHex(JSBI.subtract(JSBI.exponentiate(JSBI.BigInt(2), JSBI.BigInt(128)), JSBI.BigInt(1)));
14
+ // type guard
15
+ function isMint(options) {
16
+ return Object.keys(options).some((k) => k === 'recipient');
17
+ }
18
+ const NFT_PERMIT_TYPES = {
19
+ Permit: [
20
+ { name: 'spender', type: 'address' },
21
+ { name: 'tokenId', type: 'uint256' },
22
+ { name: 'nonce', type: 'uint256' },
23
+ { name: 'deadline', type: 'uint256' },
24
+ ],
25
+ };
26
+ export class NonfungiblePositionManager {
27
+ /**
28
+ * Cannot be constructed.
29
+ */
30
+ constructor() { }
31
+ static encodeCreate(pool) {
32
+ return NonfungiblePositionManager.INTERFACE.encodeFunctionData('createAndInitializePoolIfNecessary', [
33
+ pool.token0.address,
34
+ pool.token1.address,
35
+ pool.fee,
36
+ toHex(pool.sqrtRatioX96),
37
+ ]);
38
+ }
39
+ static createCallParameters(pool) {
40
+ return {
41
+ calldata: this.encodeCreate(pool),
42
+ value: toHex(0),
43
+ };
44
+ }
45
+ static addCallParameters(position, options) {
46
+ invariant(JSBI.greaterThan(position.liquidity, ZERO), 'ZERO_LIQUIDITY');
47
+ const calldatas = [];
48
+ // get amounts
49
+ const { amount0: amount0Desired, amount1: amount1Desired } = position.mintAmounts;
50
+ // adjust for slippage
51
+ const minimumAmounts = position.mintAmountsWithSlippage(options.slippageTolerance);
52
+ const amount0Min = toHex(minimumAmounts.amount0);
53
+ const amount1Min = toHex(minimumAmounts.amount1);
54
+ const deadline = toHex(options.deadline);
55
+ // create pool if needed
56
+ if (isMint(options) && options.createPool) {
57
+ calldatas.push(this.encodeCreate(position.pool));
58
+ }
59
+ // permits if necessary
60
+ if (options.token0Permit) {
61
+ calldatas.push(SelfPermit.encodePermit(position.pool.token0, options.token0Permit));
62
+ }
63
+ if (options.token1Permit) {
64
+ calldatas.push(SelfPermit.encodePermit(position.pool.token1, options.token1Permit));
65
+ }
66
+ // mint
67
+ if (isMint(options)) {
68
+ const recipient = validateAndParseAddress(options.recipient);
69
+ calldatas.push(NonfungiblePositionManager.INTERFACE.encodeFunctionData('mint', [
70
+ {
71
+ token0: position.pool.token0.address,
72
+ token1: position.pool.token1.address,
73
+ fee: position.pool.fee,
74
+ tickLower: position.tickLower,
75
+ tickUpper: position.tickUpper,
76
+ amount0Desired: toHex(amount0Desired),
77
+ amount1Desired: toHex(amount1Desired),
78
+ amount0Min,
79
+ amount1Min,
80
+ recipient,
81
+ deadline,
82
+ },
83
+ ]));
84
+ }
85
+ else {
86
+ // increase
87
+ calldatas.push(NonfungiblePositionManager.INTERFACE.encodeFunctionData('increaseLiquidity', [
88
+ {
89
+ tokenId: toHex(options.tokenId),
90
+ amount0Desired: toHex(amount0Desired),
91
+ amount1Desired: toHex(amount1Desired),
92
+ amount0Min,
93
+ amount1Min,
94
+ deadline,
95
+ },
96
+ ]));
97
+ }
98
+ let value = toHex(0);
99
+ if (options.useNative) {
100
+ const wrapped = options.useNative.wrapped;
101
+ invariant(position.pool.token0.equals(wrapped) || position.pool.token1.equals(wrapped), 'NO_WETH');
102
+ const wrappedValue = position.pool.token0.equals(wrapped) ? amount0Desired : amount1Desired;
103
+ // we only need to refund if we're actually sending ETH
104
+ if (JSBI.greaterThan(wrappedValue, ZERO)) {
105
+ calldatas.push(Payments.encodeRefundETH());
106
+ }
107
+ value = toHex(wrappedValue);
108
+ }
109
+ return {
110
+ calldata: Multicall.encodeMulticall(calldatas),
111
+ value,
112
+ };
113
+ }
114
+ static encodeCollect(options) {
115
+ const calldatas = [];
116
+ const tokenId = toHex(options.tokenId);
117
+ const involvesETH = options.expectedCurrencyOwed0.currency.isNative || options.expectedCurrencyOwed1.currency.isNative;
118
+ const recipient = validateAndParseAddress(options.recipient);
119
+ // collect
120
+ calldatas.push(NonfungiblePositionManager.INTERFACE.encodeFunctionData('collect', [
121
+ {
122
+ tokenId,
123
+ recipient: involvesETH ? ADDRESS_ZERO : recipient,
124
+ amount0Max: MaxUint128,
125
+ amount1Max: MaxUint128,
126
+ },
127
+ ]));
128
+ if (involvesETH) {
129
+ const ethAmount = options.expectedCurrencyOwed0.currency.isNative
130
+ ? options.expectedCurrencyOwed0.quotient
131
+ : options.expectedCurrencyOwed1.quotient;
132
+ const token = options.expectedCurrencyOwed0.currency.isNative
133
+ ? options.expectedCurrencyOwed1.currency
134
+ : options.expectedCurrencyOwed0.currency;
135
+ const tokenAmount = options.expectedCurrencyOwed0.currency.isNative
136
+ ? options.expectedCurrencyOwed1.quotient
137
+ : options.expectedCurrencyOwed0.quotient;
138
+ calldatas.push(Payments.encodeUnwrapWETH9(ethAmount, recipient));
139
+ calldatas.push(Payments.encodeSweepToken(token, tokenAmount, recipient));
140
+ }
141
+ return calldatas;
142
+ }
143
+ static collectCallParameters(options) {
144
+ const calldatas = NonfungiblePositionManager.encodeCollect(options);
145
+ return {
146
+ calldata: Multicall.encodeMulticall(calldatas),
147
+ value: toHex(0),
148
+ };
149
+ }
150
+ /**
151
+ * Produces the calldata for completely or partially exiting a position
152
+ * @param position The position to exit
153
+ * @param options Additional information necessary for generating the calldata
154
+ * @returns The call parameters
155
+ */
156
+ static removeCallParameters(position, options) {
157
+ const calldatas = [];
158
+ const deadline = toHex(options.deadline);
159
+ const tokenId = toHex(options.tokenId);
160
+ // construct a partial position with a percentage of liquidity
161
+ const partialPosition = new Position({
162
+ pool: position.pool,
163
+ liquidity: options.liquidityPercentage.multiply(position.liquidity).quotient,
164
+ tickLower: position.tickLower,
165
+ tickUpper: position.tickUpper,
166
+ });
167
+ invariant(JSBI.greaterThan(partialPosition.liquidity, ZERO), 'ZERO_LIQUIDITY');
168
+ // slippage-adjusted underlying amounts
169
+ const { amount0: amount0Min, amount1: amount1Min } = partialPosition.burnAmountsWithSlippage(options.slippageTolerance);
170
+ if (options.permit) {
171
+ calldatas.push(NonfungiblePositionManager.INTERFACE.encodeFunctionData('permit', [
172
+ validateAndParseAddress(options.permit.spender),
173
+ tokenId,
174
+ toHex(options.permit.deadline),
175
+ options.permit.v,
176
+ options.permit.r,
177
+ options.permit.s,
178
+ ]));
179
+ }
180
+ // remove liquidity
181
+ calldatas.push(NonfungiblePositionManager.INTERFACE.encodeFunctionData('decreaseLiquidity', [
182
+ {
183
+ tokenId,
184
+ liquidity: toHex(partialPosition.liquidity),
185
+ amount0Min: toHex(amount0Min),
186
+ amount1Min: toHex(amount1Min),
187
+ deadline,
188
+ },
189
+ ]));
190
+ const { expectedCurrencyOwed0, expectedCurrencyOwed1, ...rest } = options.collectOptions;
191
+ calldatas.push(...NonfungiblePositionManager.encodeCollect({
192
+ tokenId: toHex(options.tokenId),
193
+ // add the underlying value to the expected currency already owed
194
+ expectedCurrencyOwed0: expectedCurrencyOwed0.add(CurrencyAmount.fromRawAmount(expectedCurrencyOwed0.currency, amount0Min)),
195
+ expectedCurrencyOwed1: expectedCurrencyOwed1.add(CurrencyAmount.fromRawAmount(expectedCurrencyOwed1.currency, amount1Min)),
196
+ ...rest,
197
+ }));
198
+ if (options.liquidityPercentage.equalTo(ONE)) {
199
+ if (options.burnToken) {
200
+ calldatas.push(NonfungiblePositionManager.INTERFACE.encodeFunctionData('burn', [tokenId]));
201
+ }
202
+ }
203
+ else {
204
+ invariant(options.burnToken !== true, 'CANNOT_BURN');
205
+ }
206
+ return {
207
+ calldata: Multicall.encodeMulticall(calldatas),
208
+ value: toHex(0),
209
+ };
210
+ }
211
+ static safeTransferFromParameters(options) {
212
+ const recipient = validateAndParseAddress(options.recipient);
213
+ const sender = validateAndParseAddress(options.sender);
214
+ let calldata;
215
+ if (options.data) {
216
+ calldata = NonfungiblePositionManager.INTERFACE.encodeFunctionData('safeTransferFrom(address,address,uint256,bytes)', [sender, recipient, toHex(options.tokenId), options.data]);
217
+ }
218
+ else {
219
+ calldata = NonfungiblePositionManager.INTERFACE.encodeFunctionData('safeTransferFrom(address,address,uint256)', [
220
+ sender,
221
+ recipient,
222
+ toHex(options.tokenId),
223
+ ]);
224
+ }
225
+ return {
226
+ calldata: calldata,
227
+ value: toHex(0),
228
+ };
229
+ }
230
+ // Prepare the params for an EIP712 signTypedData request
231
+ static getPermitData(permit, positionManagerAddress, chainId) {
232
+ return {
233
+ domain: {
234
+ name: 'Uniswap V3 Positions NFT-V1',
235
+ chainId,
236
+ version: '1',
237
+ verifyingContract: positionManagerAddress,
238
+ },
239
+ types: NFT_PERMIT_TYPES,
240
+ values: permit,
241
+ };
242
+ }
243
+ }
244
+ NonfungiblePositionManager.INTERFACE = new Interface(INonfungiblePositionManager.abi);
245
+ //# sourceMappingURL=nonfungiblePositionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nonfungiblePositionManager.js","sourceRoot":"","sources":["../../../src/nonfungiblePositionManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import JSBI from 'jsbi';
2
+ import { Interface } from '@ethersproject/abi';
3
+ import { Percent, Token } from '@centurion_project/sdk-core';
4
+ export interface FeeOptions {
5
+ /**
6
+ * The percent of the output that will be taken as a fee.
7
+ */
8
+ fee: Percent;
9
+ /**
10
+ * The recipient of the fee.
11
+ */
12
+ recipient: string;
13
+ }
14
+ export declare abstract class Payments {
15
+ static INTERFACE: Interface;
16
+ /**
17
+ * Cannot be constructed.
18
+ */
19
+ private constructor();
20
+ private static encodeFeeBips;
21
+ static encodeUnwrapWETH9(amountMinimum: JSBI, recipient: string, feeOptions?: FeeOptions): string;
22
+ static encodeSweepToken(token: Token, amountMinimum: JSBI, recipient: string, feeOptions?: FeeOptions): string;
23
+ static encodeRefundETH(): string;
24
+ }
@@ -0,0 +1,51 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import IPeripheryPaymentsWithFee from '@uniswap/v3-periphery/artifacts/contracts/interfaces/IPeripheryPaymentsWithFee.sol/IPeripheryPaymentsWithFee.json';
3
+ import { validateAndParseAddress } from '@centurion_project/sdk-core';
4
+ import { toHex } from './utils/calldata';
5
+ export class Payments {
6
+ /**
7
+ * Cannot be constructed.
8
+ */
9
+ constructor() { }
10
+ static encodeFeeBips(fee) {
11
+ return toHex(fee.multiply(10000).quotient);
12
+ }
13
+ static encodeUnwrapWETH9(amountMinimum, recipient, feeOptions) {
14
+ recipient = validateAndParseAddress(recipient);
15
+ if (!!feeOptions) {
16
+ const feeBips = this.encodeFeeBips(feeOptions.fee);
17
+ const feeRecipient = validateAndParseAddress(feeOptions.recipient);
18
+ return Payments.INTERFACE.encodeFunctionData('unwrapWETH9WithFee', [
19
+ toHex(amountMinimum),
20
+ recipient,
21
+ feeBips,
22
+ feeRecipient,
23
+ ]);
24
+ }
25
+ else {
26
+ return Payments.INTERFACE.encodeFunctionData('unwrapWETH9', [toHex(amountMinimum), recipient]);
27
+ }
28
+ }
29
+ static encodeSweepToken(token, amountMinimum, recipient, feeOptions) {
30
+ recipient = validateAndParseAddress(recipient);
31
+ if (!!feeOptions) {
32
+ const feeBips = this.encodeFeeBips(feeOptions.fee);
33
+ const feeRecipient = validateAndParseAddress(feeOptions.recipient);
34
+ return Payments.INTERFACE.encodeFunctionData('sweepTokenWithFee', [
35
+ token.address,
36
+ toHex(amountMinimum),
37
+ recipient,
38
+ feeBips,
39
+ feeRecipient,
40
+ ]);
41
+ }
42
+ else {
43
+ return Payments.INTERFACE.encodeFunctionData('sweepToken', [token.address, toHex(amountMinimum), recipient]);
44
+ }
45
+ }
46
+ static encodeRefundETH() {
47
+ return Payments.INTERFACE.encodeFunctionData('refundETH');
48
+ }
49
+ }
50
+ Payments.INTERFACE = new Interface(IPeripheryPaymentsWithFee.abi);
51
+ //# sourceMappingURL=payments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payments.js","sourceRoot":"","sources":["../../../src/payments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,yBAAyB,MAAM,mHAAmH,CAAA;AACzJ,OAAO,EAAkB,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAcxC,MAAM,OAAgB,QAAQ;IAG5B;;OAEG;IACH,gBAAuB,CAAC;IAEhB,MAAM,CAAC,aAAa,CAAC,GAAY;QACvC,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAM,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC7C,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,aAAmB,EAAE,SAAiB,EAAE,UAAuB;QAC7F,SAAS,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAA;QAE9C,IAAI,CAAC,CAAC,UAAU,EAAE;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YAClD,MAAM,YAAY,GAAW,uBAAuB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YAE1E,OAAO,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,oBAAoB,EAAE;gBACjE,KAAK,CAAC,aAAa,CAAC;gBACpB,SAAS;gBACT,OAAO;gBACP,YAAY;aACb,CAAC,CAAA;SACH;aAAM;YACL,OAAO,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;SAC/F;IACH,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAC5B,KAAY,EACZ,aAAmB,EACnB,SAAiB,EACjB,UAAuB;QAEvB,SAAS,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAA;QAE9C,IAAI,CAAC,CAAC,UAAU,EAAE;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YAClD,MAAM,YAAY,GAAW,uBAAuB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YAE1E,OAAO,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,mBAAmB,EAAE;gBAChE,KAAK,CAAC,OAAO;gBACb,KAAK,CAAC,aAAa,CAAC;gBACpB,SAAS;gBACT,OAAO;gBACP,YAAY;aACb,CAAC,CAAA;SACH;aAAM;YACL,OAAO,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;SAC7G;IACH,CAAC;IAEM,MAAM,CAAC,eAAe;QAC3B,OAAO,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAC3D,CAAC;;AAvDa,kBAAS,GAAc,IAAI,SAAS,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAA"}
@@ -0,0 +1,37 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { BigintIsh, Currency, CurrencyAmount, TradeType } from '@centurion_project/sdk-core';
3
+ import { MethodParameters } from './utils';
4
+ import { Route } from './entities';
5
+ /**
6
+ * Optional arguments to send to the quoter.
7
+ */
8
+ export interface QuoteOptions {
9
+ /**
10
+ * The optional price limit for the trade.
11
+ */
12
+ sqrtPriceLimitX96?: BigintIsh;
13
+ /**
14
+ * The optional quoter interface to use
15
+ */
16
+ useQuoterV2?: boolean;
17
+ }
18
+ /**
19
+ * Represents the Uniswap V3 QuoterV1 contract with a method for returning the formatted
20
+ * calldata needed to call the quoter contract.
21
+ */
22
+ export declare abstract class SwapQuoter {
23
+ static V1INTERFACE: Interface;
24
+ static V2INTERFACE: Interface;
25
+ /**
26
+ * Produces the on-chain method name of the appropriate function within QuoterV2,
27
+ * and the relevant hex encoded parameters.
28
+ * @template TInput The input token, either Ether or an ERC-20
29
+ * @template TOutput The output token, either Ether or an ERC-20
30
+ * @param route The swap route, a list of pools through which a swap can occur
31
+ * @param amount The amount of the quote, either an amount in, or an amount out
32
+ * @param tradeType The trade type, either exact input or exact output
33
+ * @param options The optional params including price limit and Quoter contract switch
34
+ * @returns The formatted calldata
35
+ */
36
+ static quoteCallParameters<TInput extends Currency, TOutput extends Currency>(route: Route<TInput, TOutput>, amount: CurrencyAmount<TInput | TOutput>, tradeType: TradeType, options?: QuoteOptions): MethodParameters;
37
+ }