aftermath-ts-sdk 0.0.162 → 0.0.164

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 (387) hide show
  1. package/dist/general/api/dynamicFieldsApiHelpers.d.ts +29 -6
  2. package/dist/general/api/dynamicFieldsApiHelpers.d.ts.map +1 -1
  3. package/dist/general/api/dynamicFieldsApiHelpers.js +31 -31
  4. package/dist/general/api/eventsApiHelpers.d.ts +23 -8
  5. package/dist/general/api/eventsApiHelpers.d.ts.map +1 -1
  6. package/dist/general/api/eventsApiHelpers.js +38 -33
  7. package/dist/general/api/inspectionsApiHelpers.js +9 -9
  8. package/dist/general/api/objectsApiHelpers.d.ts +150 -110
  9. package/dist/general/api/objectsApiHelpers.d.ts.map +1 -1
  10. package/dist/general/api/objectsApiHelpers.js +32 -27
  11. package/dist/general/api/rpcApiHelpers.js +9 -9
  12. package/dist/general/api/transactionsApiHelpers.d.ts +9 -4
  13. package/dist/general/api/transactionsApiHelpers.d.ts.map +1 -1
  14. package/dist/general/api/transactionsApiHelpers.js +28 -19
  15. package/dist/general/historicalData/historicalData.js +6 -6
  16. package/dist/general/historicalData/historicalDataApi.js +6 -6
  17. package/dist/general/historicalData/historicalDataApiInterface.d.ts +2 -1
  18. package/dist/general/historicalData/historicalDataApiInterface.d.ts.map +1 -1
  19. package/dist/general/prices/coingecko/coinGeckoApiHelpers.js +24 -24
  20. package/dist/general/prices/coingecko/coinGeckoPricesApi.js +15 -15
  21. package/dist/general/prices/placeholder/placeholderPricesApi.d.ts.map +1 -1
  22. package/dist/general/prices/placeholder/placeholderPricesApi.js +40 -33
  23. package/dist/general/prices/prices.js +6 -6
  24. package/dist/general/prices/pyth/pythPricesApi.js +12 -12
  25. package/dist/general/prices/pyth/pythPricesApiHelpers.js +12 -12
  26. package/dist/general/providers/aftermath.d.ts +4 -2
  27. package/dist/general/providers/aftermath.d.ts.map +1 -1
  28. package/dist/general/providers/aftermath.js +22 -20
  29. package/dist/general/providers/aftermathApi.d.ts +4 -2
  30. package/dist/general/providers/aftermathApi.d.ts.map +1 -1
  31. package/dist/general/providers/aftermathApi.js +34 -32
  32. package/dist/general/types/configTypes.d.ts +94 -14
  33. package/dist/general/types/configTypes.d.ts.map +1 -1
  34. package/dist/general/types/generalTypes.d.ts +12 -1
  35. package/dist/general/types/generalTypes.d.ts.map +1 -1
  36. package/dist/general/utils/caller.d.ts.map +1 -1
  37. package/dist/general/utils/caller.js +11 -9
  38. package/dist/general/utils/casting.d.ts +4 -4
  39. package/dist/general/utils/casting.d.ts.map +1 -1
  40. package/dist/general/utils/casting.js +22 -22
  41. package/dist/general/utils/fixed.d.ts +5 -0
  42. package/dist/general/utils/fixed.d.ts.map +1 -1
  43. package/dist/general/utils/fixed.js +4 -0
  44. package/dist/general/utils/helpers.js +21 -21
  45. package/dist/general/wallet/wallet.js +6 -6
  46. package/dist/general/wallet/walletApi.js +12 -12
  47. package/dist/packages/capys/capy.d.ts +4 -4
  48. package/dist/packages/capys/capy.d.ts.map +1 -1
  49. package/dist/packages/capys/capy.js +15 -15
  50. package/dist/packages/coin/api/coinApi.d.ts +18 -5
  51. package/dist/packages/coin/api/coinApi.d.ts.map +1 -1
  52. package/dist/packages/coin/api/coinApi.js +109 -15
  53. package/dist/packages/coin/coin.d.ts +4 -5
  54. package/dist/packages/coin/coin.d.ts.map +1 -1
  55. package/dist/packages/coin/coin.js +28 -28
  56. package/dist/packages/coin/coinTypes.d.ts +4 -0
  57. package/dist/packages/coin/coinTypes.d.ts.map +1 -1
  58. package/dist/packages/{referralVault/api/referralVaultApiHelpers.d.ts → external/baySwap/baySwapApi.d.ts} +49 -77
  59. package/dist/packages/external/baySwap/baySwapApi.d.ts.map +1 -0
  60. package/dist/packages/external/baySwap/baySwapApi.js +176 -0
  61. package/dist/packages/external/baySwap/baySwapTypes.d.ts +29 -0
  62. package/dist/packages/external/baySwap/baySwapTypes.d.ts.map +1 -0
  63. package/dist/packages/external/baySwap/baySwapTypes.js +15 -0
  64. package/dist/packages/external/{deepBook/deepBookApiHelper.d.ts → blueMove/blueMoveApi.d.ts} +42 -87
  65. package/dist/packages/external/blueMove/blueMoveApi.d.ts.map +1 -0
  66. package/dist/packages/external/blueMove/blueMoveApi.js +249 -0
  67. package/dist/packages/external/blueMove/blueMoveTypes.d.ts +87 -0
  68. package/dist/packages/external/blueMove/blueMoveTypes.d.ts.map +1 -0
  69. package/dist/packages/external/blueMove/blueMoveTypes.js +13 -0
  70. package/dist/packages/external/cetus/cetusApi.d.ts +240 -11
  71. package/dist/packages/external/cetus/cetusApi.d.ts.map +1 -1
  72. package/dist/packages/external/cetus/cetusApi.js +295 -28
  73. package/dist/packages/external/deepBook/deepBookApi.d.ts +406 -5
  74. package/dist/packages/external/deepBook/deepBookApi.d.ts.map +1 -1
  75. package/dist/packages/external/deepBook/deepBookApi.js +332 -35
  76. package/dist/packages/external/deepBook/deepBookTypes.d.ts +4 -6
  77. package/dist/packages/external/deepBook/deepBookTypes.d.ts.map +1 -1
  78. package/dist/packages/external/deepBook/deepBookTypes.js +2 -2
  79. package/dist/packages/{faucet/api/faucetApiHelpers.d.ts → external/interest/interestApi.d.ts} +45 -19
  80. package/dist/packages/external/interest/interestApi.d.ts.map +1 -0
  81. package/dist/packages/external/interest/interestApi.js +178 -0
  82. package/dist/packages/external/interest/interestTypes.d.ts +37 -0
  83. package/dist/packages/external/interest/interestTypes.d.ts.map +1 -0
  84. package/dist/packages/external/interest/interestTypes.js +12 -0
  85. package/dist/packages/external/kriya/kriyaApi.d.ts +148 -0
  86. package/dist/packages/external/kriya/kriyaApi.d.ts.map +1 -0
  87. package/dist/packages/external/kriya/kriyaApi.js +191 -0
  88. package/dist/packages/external/kriya/kriyaTypes.d.ts +59 -0
  89. package/dist/packages/external/kriya/kriyaTypes.d.ts.map +1 -0
  90. package/dist/packages/external/kriya/kriyaTypes.js +16 -0
  91. package/dist/packages/external/suiswap/suiswapApi.d.ts +145 -0
  92. package/dist/packages/external/suiswap/suiswapApi.d.ts.map +1 -0
  93. package/dist/packages/external/suiswap/suiswapApi.js +197 -0
  94. package/dist/packages/external/suiswap/suiswapTypes.d.ts +75 -0
  95. package/dist/packages/external/suiswap/suiswapTypes.d.ts.map +1 -0
  96. package/dist/packages/external/suiswap/suiswapTypes.js +10 -0
  97. package/dist/packages/external/turbos/turbosApi.d.ts +206 -8
  98. package/dist/packages/external/turbos/turbosApi.d.ts.map +1 -1
  99. package/dist/packages/external/turbos/turbosApi.js +471 -27
  100. package/dist/packages/farms/farmsStakedPosition.d.ts +20 -0
  101. package/dist/packages/farms/farmsStakedPosition.d.ts.map +1 -0
  102. package/dist/packages/farms/farmsStakedPosition.js +63 -0
  103. package/dist/packages/farms/farmsStakingPool.d.ts +9 -0
  104. package/dist/packages/farms/farmsStakingPool.d.ts.map +1 -0
  105. package/dist/packages/farms/farmsStakingPool.js +20 -0
  106. package/dist/packages/farms/farmsTypes.d.ts +37 -0
  107. package/dist/packages/farms/farmsTypes.d.ts.map +1 -0
  108. package/dist/packages/farms/index.d.ts +3 -0
  109. package/dist/packages/farms/index.d.ts.map +1 -0
  110. package/dist/packages/{capys → farms}/index.js +2 -3
  111. package/dist/packages/faucet/api/faucetApi.d.ts +117 -8
  112. package/dist/packages/faucet/api/faucetApi.d.ts.map +1 -1
  113. package/dist/packages/faucet/api/faucetApi.js +112 -27
  114. package/dist/packages/faucet/api/faucetApiCasting.js +3 -3
  115. package/dist/packages/faucet/faucet.js +15 -15
  116. package/dist/packages/index.d.ts +3 -1
  117. package/dist/packages/index.d.ts.map +1 -1
  118. package/dist/packages/index.js +3 -1
  119. package/dist/packages/nftAmm/api/nftAmmApi.d.ts +168 -16
  120. package/dist/packages/nftAmm/api/nftAmmApi.d.ts.map +1 -1
  121. package/dist/packages/nftAmm/api/nftAmmApi.js +227 -33
  122. package/dist/packages/nftAmm/api/nftAmmApiCasting.js +12 -12
  123. package/dist/packages/nftAmm/nftAmm.js +12 -12
  124. package/dist/packages/nftAmm/nftAmmMarket.js +15 -15
  125. package/dist/packages/perpetuals/api/perpetualsApi.d.ts +650 -0
  126. package/dist/packages/perpetuals/api/perpetualsApi.d.ts.map +1 -0
  127. package/dist/packages/perpetuals/api/perpetualsApi.js +387 -0
  128. package/dist/packages/perpetuals/api/perpetualsCasting.d.ts +22 -0
  129. package/dist/packages/perpetuals/api/perpetualsCasting.d.ts.map +1 -0
  130. package/dist/packages/perpetuals/api/perpetualsCasting.js +201 -0
  131. package/dist/packages/perpetuals/index.d.ts +4 -0
  132. package/dist/packages/perpetuals/index.d.ts.map +1 -0
  133. package/dist/{external/nojo → packages/perpetuals}/index.js +3 -5
  134. package/dist/packages/perpetuals/perpetuals.d.ts +17 -0
  135. package/dist/packages/perpetuals/perpetuals.d.ts.map +1 -0
  136. package/dist/packages/perpetuals/perpetuals.js +50 -0
  137. package/dist/packages/perpetuals/perpetualsAccount.d.ts +22 -0
  138. package/dist/packages/perpetuals/perpetualsAccount.d.ts.map +1 -0
  139. package/dist/packages/perpetuals/perpetualsAccount.js +65 -0
  140. package/dist/packages/perpetuals/perpetualsMarket.d.ts +20 -0
  141. package/dist/packages/perpetuals/perpetualsMarket.d.ts.map +1 -0
  142. package/dist/packages/perpetuals/perpetualsMarket.js +52 -0
  143. package/dist/packages/perpetuals/perpetualsTypes.d.ts +184 -0
  144. package/dist/packages/perpetuals/perpetualsTypes.d.ts.map +1 -0
  145. package/dist/packages/perpetuals/utils/comparators.d.ts +4 -0
  146. package/dist/packages/perpetuals/utils/comparators.d.ts.map +1 -0
  147. package/dist/packages/perpetuals/utils/comparators.js +25 -0
  148. package/dist/packages/perpetuals/utils/critBitTreeUtils.d.ts +7 -0
  149. package/dist/packages/perpetuals/utils/critBitTreeUtils.d.ts.map +1 -0
  150. package/dist/packages/perpetuals/utils/critBitTreeUtils.js +40 -0
  151. package/dist/packages/perpetuals/utils/helpers.d.ts +5 -0
  152. package/dist/packages/perpetuals/utils/helpers.d.ts.map +1 -0
  153. package/dist/packages/perpetuals/utils/helpers.js +9 -0
  154. package/dist/packages/perpetuals/utils/index.d.ts +4 -0
  155. package/dist/packages/perpetuals/utils/index.d.ts.map +1 -0
  156. package/dist/packages/perpetuals/utils/index.js +19 -0
  157. package/dist/packages/pools/api/poolsApi.d.ts +261 -35
  158. package/dist/packages/pools/api/poolsApi.d.ts.map +1 -1
  159. package/dist/packages/pools/api/poolsApi.js +621 -130
  160. package/dist/packages/pools/api/poolsApiCasting.d.ts.map +1 -1
  161. package/dist/packages/pools/api/poolsApiCasting.js +10 -7
  162. package/dist/packages/pools/api/poolsApiCastingTypes.d.ts +4 -1
  163. package/dist/packages/pools/api/poolsApiCastingTypes.d.ts.map +1 -1
  164. package/dist/packages/pools/pool.d.ts.map +1 -1
  165. package/dist/packages/pools/pool.js +22 -19
  166. package/dist/packages/pools/pools.js +34 -34
  167. package/dist/packages/pools/poolsTypes.d.ts +9 -1
  168. package/dist/packages/pools/poolsTypes.d.ts.map +1 -1
  169. package/dist/packages/pools/utils/cmmmCalculations.d.ts.map +1 -1
  170. package/dist/packages/pools/utils/cmmmCalculations.js +81 -77
  171. package/dist/packages/referralVault/api/referralVaultApi.d.ts +166 -4
  172. package/dist/packages/referralVault/api/referralVaultApi.d.ts.map +1 -1
  173. package/dist/packages/referralVault/api/referralVaultApi.js +80 -14
  174. package/dist/packages/referralVault/referralVault.js +9 -9
  175. package/dist/packages/router/api/routerApi.d.ts +14 -5
  176. package/dist/packages/router/api/routerApi.d.ts.map +1 -1
  177. package/dist/packages/router/api/routerApi.js +40 -25
  178. package/dist/packages/router/api/routerApiCasting.d.ts +6 -0
  179. package/dist/packages/router/api/routerApiCasting.d.ts.map +1 -0
  180. package/dist/packages/router/api/routerApiCasting.js +22 -0
  181. package/dist/packages/router/api/routerApiCastingTypes.d.ts +11 -0
  182. package/dist/packages/router/api/routerApiCastingTypes.d.ts.map +1 -0
  183. package/dist/packages/router/api/routerApiHelpers.js +30 -30
  184. package/dist/packages/router/api/routerAsyncApiHelpers.js +18 -18
  185. package/dist/packages/router/api/routerSynchronousApiHelpers.d.ts +88 -3
  186. package/dist/packages/router/api/routerSynchronousApiHelpers.d.ts.map +1 -1
  187. package/dist/packages/router/api/routerSynchronousApiHelpers.js +125 -28
  188. package/dist/packages/router/router.d.ts +2 -1
  189. package/dist/packages/router/router.d.ts.map +1 -1
  190. package/dist/packages/router/router.js +23 -15
  191. package/dist/packages/router/routerTypes.d.ts +19 -5
  192. package/dist/packages/router/routerTypes.d.ts.map +1 -1
  193. package/dist/packages/router/routerTypes.js +5 -1
  194. package/dist/packages/router/utils/async/routerAsyncApiInterface.d.ts +1 -8
  195. package/dist/packages/router/utils/async/routerAsyncApiInterface.d.ts.map +1 -1
  196. package/dist/packages/router/utils/async/routerAsyncGraph.js +15 -15
  197. package/dist/packages/router/utils/synchronous/interfaces/routerPoolInterface.d.ts +5 -2
  198. package/dist/packages/router/utils/synchronous/interfaces/routerPoolInterface.d.ts.map +1 -1
  199. package/dist/packages/router/utils/synchronous/interfaces/routerPoolInterface.js +30 -14
  200. package/dist/packages/router/utils/synchronous/routerGraph.js +36 -36
  201. package/dist/packages/router/utils/synchronous/routerPools/aftermathRouterPool.d.ts +5 -2
  202. package/dist/packages/router/utils/synchronous/routerPools/aftermathRouterPool.d.ts.map +1 -1
  203. package/dist/packages/router/utils/synchronous/routerPools/aftermathRouterPool.js +18 -16
  204. package/dist/packages/router/utils/synchronous/routerPools/baySwapRouterPool.d.ts +102 -0
  205. package/dist/packages/router/utils/synchronous/routerPools/baySwapRouterPool.d.ts.map +1 -0
  206. package/dist/packages/router/utils/synchronous/routerPools/baySwapRouterPool.js +217 -0
  207. package/dist/packages/router/utils/synchronous/routerPools/blueMoveRouterPool.d.ts +102 -0
  208. package/dist/packages/router/utils/synchronous/routerPools/blueMoveRouterPool.d.ts.map +1 -0
  209. package/dist/packages/router/utils/synchronous/routerPools/blueMoveRouterPool.js +221 -0
  210. package/dist/packages/router/utils/synchronous/routerPools/cetusRouterPool.d.ts +5 -2
  211. package/dist/packages/router/utils/synchronous/routerPools/cetusRouterPool.d.ts.map +1 -1
  212. package/dist/packages/router/utils/synchronous/routerPools/cetusRouterPool.js +11 -11
  213. package/dist/packages/router/utils/synchronous/routerPools/deepBookRouterPool.d.ts +5 -2
  214. package/dist/packages/router/utils/synchronous/routerPools/deepBookRouterPool.d.ts.map +1 -1
  215. package/dist/packages/router/utils/synchronous/routerPools/deepBookRouterPool.js +16 -16
  216. package/dist/packages/router/utils/synchronous/routerPools/interestRouterPool.d.ts +96 -0
  217. package/dist/packages/router/utils/synchronous/routerPools/interestRouterPool.d.ts.map +1 -0
  218. package/dist/packages/router/utils/synchronous/routerPools/interestRouterPool.js +174 -0
  219. package/dist/packages/router/utils/synchronous/routerPools/kriyaRouterPool.d.ts +102 -0
  220. package/dist/packages/router/utils/synchronous/routerPools/kriyaRouterPool.d.ts.map +1 -0
  221. package/dist/packages/router/utils/synchronous/routerPools/kriyaRouterPool.js +216 -0
  222. package/dist/packages/router/utils/synchronous/routerPools/{nojoRouterPool.d.ts → suiswapRouterPool.d.ts} +35 -14
  223. package/dist/packages/router/utils/synchronous/routerPools/suiswapRouterPool.d.ts.map +1 -0
  224. package/dist/packages/router/utils/synchronous/routerPools/suiswapRouterPool.js +217 -0
  225. package/dist/packages/router/utils/synchronous/routerPools/turbosRouterPool.d.ts +5 -2
  226. package/dist/packages/router/utils/synchronous/routerPools/turbosRouterPool.d.ts.map +1 -1
  227. package/dist/packages/router/utils/synchronous/routerPools/turbosRouterPool.js +11 -11
  228. package/dist/packages/staking/api/stakingApi.d.ts +173 -10
  229. package/dist/packages/staking/api/stakingApi.d.ts.map +1 -1
  230. package/dist/packages/staking/api/stakingApi.js +373 -32
  231. package/dist/packages/staking/api/stakingApiCasting.d.ts.map +1 -1
  232. package/dist/packages/staking/api/stakingApiCasting.js +6 -6
  233. package/dist/packages/staking/staking.js +18 -18
  234. package/dist/packages/sui/api/suiApi.d.ts +0 -2
  235. package/dist/packages/sui/api/suiApi.d.ts.map +1 -1
  236. package/dist/packages/sui/api/suiApi.js +9 -9
  237. package/dist/packages/sui/sui.js +9 -9
  238. package/dist/packages/suiFrens/api/suiFrensApi.d.ts +80 -0
  239. package/dist/packages/suiFrens/api/suiFrensApi.d.ts.map +1 -0
  240. package/dist/packages/suiFrens/api/suiFrensApi.js +564 -0
  241. package/dist/packages/suiFrens/api/suiFrensApiCasting.d.ts +13 -0
  242. package/dist/packages/suiFrens/api/suiFrensApiCasting.d.ts.map +1 -0
  243. package/dist/packages/suiFrens/api/suiFrensApiCasting.js +108 -0
  244. package/dist/packages/suiFrens/api/suiFrensApiCastingTypes.d.ts +51 -0
  245. package/dist/packages/suiFrens/api/suiFrensApiCastingTypes.d.ts.map +1 -0
  246. package/dist/packages/suiFrens/api/suiFrensApiCastingTypes.js +2 -0
  247. package/dist/packages/suiFrens/index.d.ts +4 -0
  248. package/dist/packages/suiFrens/index.d.ts.map +1 -0
  249. package/dist/packages/suiFrens/index.js +19 -0
  250. package/dist/packages/suiFrens/stakedSuiFrenReceipt.d.ts +13 -0
  251. package/dist/packages/suiFrens/stakedSuiFrenReceipt.d.ts.map +1 -0
  252. package/dist/packages/{capys/stakedCapyReceipt.js → suiFrens/stakedSuiFrenReceipt.js} +21 -21
  253. package/dist/packages/suiFrens/suiFren.d.ts +10 -0
  254. package/dist/packages/suiFrens/suiFren.d.ts.map +1 -0
  255. package/dist/packages/suiFrens/suiFren.js +39 -0
  256. package/dist/packages/suiFrens/suiFrens.d.ts +32 -0
  257. package/dist/packages/suiFrens/suiFrens.d.ts.map +1 -0
  258. package/dist/packages/suiFrens/suiFrens.js +143 -0
  259. package/dist/packages/suiFrens/suiFrensTypes.d.ts +89 -0
  260. package/dist/packages/suiFrens/suiFrensTypes.d.ts.map +1 -0
  261. package/dist/packages/suiFrens/suiFrensTypes.js +2 -0
  262. package/dist/types.d.ts +3 -2
  263. package/dist/types.d.ts.map +1 -1
  264. package/dist/types.js +4 -2
  265. package/package.json +12 -5
  266. package/dist/external/nojo/amm/index.d.ts +0 -2
  267. package/dist/external/nojo/amm/index.d.ts.map +0 -1
  268. package/dist/external/nojo/amm/index.js +0 -4
  269. package/dist/external/nojo/amm/init.d.ts +0 -3
  270. package/dist/external/nojo/amm/init.d.ts.map +0 -1
  271. package/dist/external/nojo/amm/init.js +0 -31
  272. package/dist/external/nojo/amm/pool/errors.d.ts +0 -41
  273. package/dist/external/nojo/amm/pool/errors.d.ts.map +0 -1
  274. package/dist/external/nojo/amm/pool/errors.js +0 -75
  275. package/dist/external/nojo/amm/pool/functions.d.ts +0 -356
  276. package/dist/external/nojo/amm/pool/functions.d.ts.map +0 -1
  277. package/dist/external/nojo/amm/pool/functions.js +0 -173
  278. package/dist/external/nojo/amm/pool/structs.d.ts +0 -94
  279. package/dist/external/nojo/amm/pool/structs.d.ts.map +0 -1
  280. package/dist/external/nojo/amm/pool/structs.js +0 -278
  281. package/dist/external/nojo/amm/util/functions.d.ts +0 -359
  282. package/dist/external/nojo/amm/util/functions.d.ts.map +0 -1
  283. package/dist/external/nojo/amm/util/functions.js +0 -198
  284. package/dist/external/nojo/framework/balance.d.ts +0 -19
  285. package/dist/external/nojo/framework/balance.d.ts.map +0 -1
  286. package/dist/external/nojo/framework/balance.js +0 -44
  287. package/dist/external/nojo/framework/bcs.d.ts +0 -3
  288. package/dist/external/nojo/framework/bcs.d.ts.map +0 -1
  289. package/dist/external/nojo/framework/bcs.js +0 -5
  290. package/dist/external/nojo/framework/coin.d.ts +0 -42
  291. package/dist/external/nojo/framework/coin.d.ts.map +0 -1
  292. package/dist/external/nojo/framework/coin.js +0 -144
  293. package/dist/external/nojo/framework/dynamic-field.d.ts +0 -25
  294. package/dist/external/nojo/framework/dynamic-field.d.ts.map +0 -1
  295. package/dist/external/nojo/framework/dynamic-field.js +0 -89
  296. package/dist/external/nojo/framework/init.d.ts +0 -3
  297. package/dist/external/nojo/framework/init.d.ts.map +0 -1
  298. package/dist/external/nojo/framework/init.js +0 -41
  299. package/dist/external/nojo/framework/loader.d.ts +0 -12
  300. package/dist/external/nojo/framework/loader.d.ts.map +0 -1
  301. package/dist/external/nojo/framework/loader.js +0 -103
  302. package/dist/external/nojo/framework/object.d.ts +0 -33
  303. package/dist/external/nojo/framework/object.d.ts.map +0 -1
  304. package/dist/external/nojo/framework/object.js +0 -89
  305. package/dist/external/nojo/framework/table.d.ts +0 -23
  306. package/dist/external/nojo/framework/table.d.ts.map +0 -1
  307. package/dist/external/nojo/framework/table.js +0 -83
  308. package/dist/external/nojo/framework/type-name.d.ts +0 -15
  309. package/dist/external/nojo/framework/type-name.d.ts.map +0 -1
  310. package/dist/external/nojo/framework/type-name.js +0 -34
  311. package/dist/external/nojo/framework/type.d.ts +0 -24
  312. package/dist/external/nojo/framework/type.d.ts.map +0 -1
  313. package/dist/external/nojo/framework/type.js +0 -120
  314. package/dist/external/nojo/framework/util.d.ts +0 -31
  315. package/dist/external/nojo/framework/util.d.ts.map +0 -1
  316. package/dist/external/nojo/framework/util.js +0 -49
  317. package/dist/external/nojo/index.d.ts +0 -6
  318. package/dist/external/nojo/index.d.ts.map +0 -1
  319. package/dist/external/nojo/init.d.ts +0 -2
  320. package/dist/external/nojo/init.d.ts.map +0 -1
  321. package/dist/external/nojo/init.js +0 -39
  322. package/dist/packages/capys/api/capysApi.d.ts +0 -37
  323. package/dist/packages/capys/api/capysApi.d.ts.map +0 -1
  324. package/dist/packages/capys/api/capysApi.js +0 -200
  325. package/dist/packages/capys/api/capysApiCasting.d.ts +0 -13
  326. package/dist/packages/capys/api/capysApiCasting.d.ts.map +0 -1
  327. package/dist/packages/capys/api/capysApiCasting.js +0 -108
  328. package/dist/packages/capys/api/capysApiCastingTypes.d.ts +0 -51
  329. package/dist/packages/capys/api/capysApiCastingTypes.d.ts.map +0 -1
  330. package/dist/packages/capys/api/capysApiHelpers.d.ts +0 -48
  331. package/dist/packages/capys/api/capysApiHelpers.d.ts.map +0 -1
  332. package/dist/packages/capys/api/capysApiHelpers.js +0 -386
  333. package/dist/packages/capys/capys.d.ts +0 -32
  334. package/dist/packages/capys/capys.d.ts.map +0 -1
  335. package/dist/packages/capys/capys.js +0 -151
  336. package/dist/packages/capys/capysTypes.d.ts +0 -89
  337. package/dist/packages/capys/capysTypes.d.ts.map +0 -1
  338. package/dist/packages/capys/index.d.ts +0 -4
  339. package/dist/packages/capys/index.d.ts.map +0 -1
  340. package/dist/packages/capys/stakedCapyReceipt.d.ts +0 -14
  341. package/dist/packages/capys/stakedCapyReceipt.d.ts.map +0 -1
  342. package/dist/packages/coin/api/coinApiHelpers.d.ts +0 -23
  343. package/dist/packages/coin/api/coinApiHelpers.d.ts.map +0 -1
  344. package/dist/packages/coin/api/coinApiHelpers.js +0 -203
  345. package/dist/packages/external/cetus/cetusApiHelpers.d.ts +0 -247
  346. package/dist/packages/external/cetus/cetusApiHelpers.d.ts.map +0 -1
  347. package/dist/packages/external/cetus/cetusApiHelpers.js +0 -303
  348. package/dist/packages/external/deepBook/deepBookApiHelper.d.ts.map +0 -1
  349. package/dist/packages/external/deepBook/deepBookApiHelper.js +0 -193
  350. package/dist/packages/external/nojo/nojoAmmApi.d.ts +0 -24
  351. package/dist/packages/external/nojo/nojoAmmApi.d.ts.map +0 -1
  352. package/dist/packages/external/nojo/nojoAmmApi.js +0 -86
  353. package/dist/packages/external/nojo/nojoAmmApiHelpers.d.ts +0 -14
  354. package/dist/packages/external/nojo/nojoAmmApiHelpers.d.ts.map +0 -1
  355. package/dist/packages/external/nojo/nojoAmmApiHelpers.js +0 -69
  356. package/dist/packages/external/nojo/nojoAmmTypes.d.ts +0 -9
  357. package/dist/packages/external/nojo/nojoAmmTypes.d.ts.map +0 -1
  358. package/dist/packages/external/nojo/nojoAmmTypes.js +0 -7
  359. package/dist/packages/external/turbos/turbosApiHelpers.d.ts +0 -205
  360. package/dist/packages/external/turbos/turbosApiHelpers.d.ts.map +0 -1
  361. package/dist/packages/external/turbos/turbosApiHelpers.js +0 -325
  362. package/dist/packages/faucet/api/faucetApiHelpers.d.ts.map +0 -1
  363. package/dist/packages/faucet/api/faucetApiHelpers.js +0 -90
  364. package/dist/packages/nftAmm/api/nftAmmApiHelpers.d.ts +0 -193
  365. package/dist/packages/nftAmm/api/nftAmmApiHelpers.d.ts.map +0 -1
  366. package/dist/packages/nftAmm/api/nftAmmApiHelpers.js +0 -238
  367. package/dist/packages/pools/api/poolsApiHelpers.d.ts +0 -204
  368. package/dist/packages/pools/api/poolsApiHelpers.d.ts.map +0 -1
  369. package/dist/packages/pools/api/poolsApiHelpers.js +0 -523
  370. package/dist/packages/referralVault/api/referralVaultApiHelpers.d.ts.map +0 -1
  371. package/dist/packages/referralVault/api/referralVaultApiHelpers.js +0 -86
  372. package/dist/packages/router/utils/synchronous/routerPools/nojoRouterPool.d.ts.map +0 -1
  373. package/dist/packages/router/utils/synchronous/routerPools/nojoRouterPool.js +0 -99
  374. package/dist/packages/staking/api/stakingApiHelpers.d.ts +0 -212
  375. package/dist/packages/staking/api/stakingApiHelpers.d.ts.map +0 -1
  376. package/dist/packages/staking/api/stakingApiHelpers.js +0 -400
  377. package/dist/packages/sui/api/suiApiCasting.d.ts +0 -3
  378. package/dist/packages/sui/api/suiApiCasting.d.ts.map +0 -1
  379. package/dist/packages/sui/api/suiApiCasting.js +0 -6
  380. package/dist/packages/sui/api/suiApiCastingTypes.d.ts +0 -2
  381. package/dist/packages/sui/api/suiApiCastingTypes.d.ts.map +0 -1
  382. package/dist/packages/sui/api/suiApiHelpers.d.ts +0 -6
  383. package/dist/packages/sui/api/suiApiHelpers.d.ts.map +0 -1
  384. package/dist/packages/sui/api/suiApiHelpers.js +0 -13
  385. /package/dist/packages/{capys/api/capysApiCastingTypes.js → farms/farmsTypes.js} +0 -0
  386. /package/dist/packages/{capys/capysTypes.js → perpetuals/perpetualsTypes.js} +0 -0
  387. /package/dist/packages/{sui/api/suiApiCastingTypes.js → router/api/routerApiCastingTypes.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"turbosApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/external/turbos/turbosApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8DAA8D,CAAC;AAElG,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,qBAAa,SAAU,YAAW,kBAAkB,CAAC,gBAAgB,CAAC;IAWzD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IANrC,SAAgB,OAAO,mBAAC;gBAMK,QAAQ,EAAE,YAAY;IAa5C,aAAa,oCAGlB;IAEK,kBAAkB,WAAY;QACpC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB,KAAG,QAAQ;QACX,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;QACtC,eAAe,EAAE,gBAAgB,EAAE,CAAC;KACpC,CAAC,CAEA;IAMK,mBAAmB,0BAQxB;IAEK,mBAAmB,WAAkB;QAC3C,aAAa,EAAE,UAAU,CAAC;QAC1B,IAAI,EAAE,gBAAgB,CAAC;QACvB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,OAAO,CAAC;KACvB,KAAG,QAAQ,OAAO,CAAC,CAUlB;IAEK,eAAe,WAAY;QACjC,QAAQ,EAAE,QAAQ,CAAC;QACnB,IAAI,EAAE,gBAAgB,CAAC;KACvB,YAEC;IAMK,YAAY,WAAY;QAC9B,aAAa,EAAE,UAAU,CAAC;QAC1B,IAAI,EAAE,gBAAgB,CAAC;QACvB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACtB,KAAG,QAAQ,qBAAqB,CAAC,CAIhC;CACF"}
1
+ {"version":3,"file":"turbosApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/external/turbos/turbosApi.ts"],"names":[],"mappings":"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"}
@@ -8,54 +8,498 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var _a;
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
13
  exports.TurbosApi = void 0;
13
- const turbosApiHelpers_1 = require("./turbosApiHelpers");
14
+ const sui_js_1 = require("@mysten/sui.js");
14
15
  const utils_1 = require("../../../general/utils");
15
16
  const __1 = require("../..");
17
+ const transactionsApiHelpers_1 = require("../../../general/api/transactionsApiHelpers");
18
+ const bcs_1 = require("@mysten/bcs");
16
19
  class TurbosApi {
17
- /////////////////////////////////////////////////////////////////////
18
- //// Constructor
19
- /////////////////////////////////////////////////////////////////////
20
+ // =========================================================================
21
+ // Constructor
22
+ // =========================================================================
20
23
  constructor(Provider) {
24
+ var _b;
21
25
  this.Provider = Provider;
22
- /////////////////////////////////////////////////////////////////////
23
- //// Public Methods
24
- /////////////////////////////////////////////////////////////////////
25
- /////////////////////////////////////////////////////////////////////
26
- //// Objects
27
- /////////////////////////////////////////////////////////////////////
26
+ // =========================================================================
27
+ // Public Methods
28
+ // =========================================================================
29
+ // =========================================================================
30
+ // Objects
31
+ // =========================================================================
28
32
  this.fetchAllPools = () => __awaiter(this, void 0, void 0, function* () {
29
- const pools = yield this.Helpers.fetchAllPools();
30
- return pools;
33
+ const poolsSimpleInfo = yield this.Provider.DynamicFields().fetchCastAllDynamicFieldsOfType({
34
+ parentObjectId: this.addresses.turbos.objects.poolsTable,
35
+ objectsFromObjectIds: (objectIds) => this.Provider.Objects().fetchCastObjectBatch({
36
+ objectIds,
37
+ objectFromSuiObjectResponse: TurbosApi.partialPoolFromSuiObjectResponse,
38
+ }),
39
+ });
40
+ const poolsMoreInfo = yield this.Provider.Objects().fetchCastObjectBatch({
41
+ objectIds: poolsSimpleInfo.map((poolInfo) => poolInfo.id),
42
+ objectFromSuiObjectResponse: (data) => {
43
+ const fields = (0, sui_js_1.getObjectFields)(data);
44
+ if (!fields)
45
+ throw new Error("no fields found on turbos pool object");
46
+ const sqrtPrice = BigInt(fields.sqrt_price);
47
+ const liquidity = BigInt(fields.liquidity);
48
+ const isUnlocked = fields.unlocked;
49
+ return {
50
+ liquidity,
51
+ isUnlocked,
52
+ sqrtPrice,
53
+ };
54
+ },
55
+ });
56
+ const completePools = poolsSimpleInfo.map((info, index) => {
57
+ return Object.assign(Object.assign({}, info), { sqrtPrice: poolsMoreInfo[index].sqrtPrice });
58
+ });
59
+ const usablePools = completePools.filter((_, index) => poolsMoreInfo[index].isUnlocked &&
60
+ poolsMoreInfo[index].liquidity > BigInt(0));
61
+ return usablePools;
31
62
  });
32
- this.fetchPoolsForTrade = (inputs) => {
33
- return this.Helpers.fetchPoolsForTrade(inputs);
63
+ this.fetchPoolsForTrade = (inputs) => __awaiter(this, void 0, void 0, function* () {
64
+ const possiblePools = yield this.fetchPoolsForCoinType({
65
+ coinType: inputs.coinOutType,
66
+ });
67
+ const [exactMatchPools, partialMatchPools] = utils_1.Helpers.bifilter(possiblePools, (pool) => TurbosApi.isPoolForCoinTypes({
68
+ pool,
69
+ coinType1: inputs.coinInType,
70
+ coinType2: inputs.coinOutType,
71
+ }));
72
+ return {
73
+ exactMatchPools,
74
+ partialMatchPools,
75
+ };
76
+ });
77
+ // =========================================================================
78
+ // Transaction Commands
79
+ // =========================================================================
80
+ this.tradeCoinAToCoinBTx = (inputs) => {
81
+ const { tx, coinInId, externalFee, tradePotato, isFirstSwapForPath, expectedCoinOutAmount, } = inputs;
82
+ return tx.moveCall({
83
+ target: utils_1.Helpers.transactions.createTxTarget(this.addresses.turbos.packages.wrapper, TurbosApi.constants.moduleNames.wrapper, "swap_a_b"),
84
+ typeArguments: [
85
+ inputs.coinInType,
86
+ inputs.coinOutType,
87
+ inputs.feeCoinType,
88
+ ],
89
+ arguments: [
90
+ tx.object(inputs.poolObjectId),
91
+ typeof coinInId === "string" ? tx.object(coinInId) : coinInId,
92
+ tx.pure(utils_1.Casting.zeroBigInt.toString(), "u64"),
93
+ tx.pure(TurbosApi.calcSqrtPriceLimit(true).toString(), "u128"),
94
+ tx.pure(utils_1.Casting.u64MaxBigInt.toString(), "u64"),
95
+ tx.object(__1.Sui.constants.addresses.suiClockId),
96
+ tx.object(this.addresses.turbos.objects.versioned),
97
+ // AF fees
98
+ tx.object(this.addresses.pools.objects.protocolFeeVault),
99
+ tx.object(this.addresses.pools.objects.treasury),
100
+ tx.object(this.addresses.pools.objects.insuranceFund),
101
+ tx.object(this.addresses.referralVault.objects.referralVault),
102
+ // router fees
103
+ tx.pure(transactionsApiHelpers_1.TransactionsApiHelpers.createOptionObject(externalFee
104
+ ? utils_1.Casting.numberToFixedBigInt(externalFee.feePercentage)
105
+ : undefined), "Option<u64>"),
106
+ tx.pure(transactionsApiHelpers_1.TransactionsApiHelpers.createOptionObject(externalFee === null || externalFee === void 0 ? void 0 : externalFee.recipient), "Option<address>"),
107
+ // potato
108
+ tradePotato,
109
+ tx.pure(isFirstSwapForPath, "bool"),
110
+ tx.pure(expectedCoinOutAmount, "u64"),
111
+ ],
112
+ });
113
+ };
114
+ this.tradeCoinBToCoinATx = (inputs) => {
115
+ const { tx, coinInId, externalFee, tradePotato, isFirstSwapForPath, expectedCoinOutAmount, } = inputs;
116
+ return tx.moveCall({
117
+ target: utils_1.Helpers.transactions.createTxTarget(this.addresses.turbos.packages.wrapper, TurbosApi.constants.moduleNames.wrapper, "swap_b_a"),
118
+ typeArguments: [
119
+ inputs.coinOutType,
120
+ inputs.coinInType,
121
+ inputs.feeCoinType,
122
+ ],
123
+ arguments: [
124
+ tx.object(inputs.poolObjectId),
125
+ typeof coinInId === "string" ? tx.object(coinInId) : coinInId,
126
+ tx.pure(utils_1.Casting.zeroBigInt.toString(), "u64"),
127
+ tx.pure(TurbosApi.calcSqrtPriceLimit(false).toString(), "u128"),
128
+ tx.pure(utils_1.Casting.u64MaxBigInt.toString(), "u64"),
129
+ tx.object(__1.Sui.constants.addresses.suiClockId),
130
+ tx.object(this.addresses.turbos.objects.versioned),
131
+ // AF fees
132
+ tx.object(this.addresses.pools.objects.protocolFeeVault),
133
+ tx.object(this.addresses.pools.objects.treasury),
134
+ tx.object(this.addresses.pools.objects.insuranceFund),
135
+ tx.object(this.addresses.referralVault.objects.referralVault),
136
+ // router fees
137
+ tx.pure(transactionsApiHelpers_1.TransactionsApiHelpers.createOptionObject(externalFee
138
+ ? utils_1.Casting.numberToFixedBigInt(externalFee.feePercentage)
139
+ : undefined), "Option<u64>"),
140
+ tx.pure(transactionsApiHelpers_1.TransactionsApiHelpers.createOptionObject(externalFee === null || externalFee === void 0 ? void 0 : externalFee.recipient), "Option<address>"),
141
+ // potato
142
+ tradePotato,
143
+ tx.pure(isFirstSwapForPath, "bool"),
144
+ tx.pure(expectedCoinOutAmount, "u64"),
145
+ ],
146
+ });
147
+ };
148
+ this.tradeTx = (inputs) => {
149
+ const { coinInType, pool } = inputs;
150
+ const commandInputs = Object.assign(Object.assign(Object.assign({}, inputs), pool), { poolObjectId: pool.id });
151
+ if (TurbosApi.isCoinA({ pool, coinType: coinInType }))
152
+ return this.tradeCoinAToCoinBTx(commandInputs);
153
+ return this.tradeCoinBToCoinATx(commandInputs);
34
154
  };
35
- /////////////////////////////////////////////////////////////////////
36
- //// Inspections
37
- /////////////////////////////////////////////////////////////////////
155
+ // =========================================================================
156
+ // Transaction Inspection Commands
157
+ // =========================================================================
158
+ this.calcTradeResultTx = (inputs) => {
159
+ const { tx } = inputs;
160
+ const isCoinAToCoinB = utils_1.Helpers.addLeadingZeroesToType(inputs.coinInType) ===
161
+ utils_1.Helpers.addLeadingZeroesToType(inputs.coinTypeA);
162
+ return tx.moveCall({
163
+ target: utils_1.Helpers.transactions.createTxTarget(this.addresses.turbos.packages.clmm, TurbosApi.constants.moduleNames.poolFetcher, "compute_swap_result"),
164
+ typeArguments: [
165
+ inputs.coinTypeA,
166
+ inputs.coinTypeB,
167
+ inputs.feeCoinType,
168
+ ],
169
+ arguments: [
170
+ tx.object(inputs.poolObjectId),
171
+ tx.pure(isCoinAToCoinB, "bool"),
172
+ tx.pure(inputs.coinInAmount, "u128"),
173
+ tx.pure(true, "bool"),
174
+ tx.pure(TurbosApi.calcSqrtPriceLimit(isCoinAToCoinB).toString(), "u128"),
175
+ tx.object(__1.Sui.constants.addresses.suiClockId),
176
+ tx.object(this.addresses.turbos.objects.versioned),
177
+ ],
178
+ });
179
+ };
180
+ // =========================================================================
181
+ // Transaction Builders
182
+ // =========================================================================
183
+ this.fetchBuildTradeTx = (inputs) => __awaiter(this, void 0, void 0, function* () {
184
+ const { walletAddress, coinInType, coinInAmount } = inputs;
185
+ const tx = new sui_js_1.TransactionBlock();
186
+ tx.setSender(walletAddress);
187
+ const coinInId = yield this.Provider.Coin().fetchCoinWithAmountTx({
188
+ tx,
189
+ walletAddress,
190
+ coinType: coinInType,
191
+ coinAmount: coinInAmount,
192
+ });
193
+ this.tradeTx(Object.assign(Object.assign({ tx }, inputs), { coinInId }));
194
+ return tx;
195
+ });
196
+ // =========================================================================
197
+ // Inspections
198
+ // =========================================================================
38
199
  this.fetchSupportedCoins = () => __awaiter(this, void 0, void 0, function* () {
39
- const pools = yield this.Helpers.fetchAllPools();
200
+ const pools = yield this.fetchAllPools();
40
201
  const allCoins = pools.reduce((acc, pool) => [...acc, pool.coinTypeA, pool.coinTypeB], []);
41
202
  return utils_1.Helpers.uniqueArray(allCoins);
42
203
  });
43
204
  this.fetchTradeAmountOut = (inputs) => __awaiter(this, void 0, void 0, function* () {
44
205
  const coinInAmountWithFees = __1.Pools.getAmountWithProtocolFees(Object.assign(Object.assign({}, inputs), { amount: inputs.coinInAmount }));
45
- const tradeResult = yield this.Helpers.fetchCalcTradeResult(Object.assign(Object.assign({}, inputs), { coinInAmount: coinInAmountWithFees }));
206
+ const tradeResult = yield this.fetchCalcTradeResult(Object.assign(Object.assign({}, inputs), { coinInAmount: coinInAmountWithFees }));
46
207
  return tradeResult.amountOut;
47
208
  });
48
209
  this.otherCoinInPool = (inputs) => {
49
- return turbosApiHelpers_1.TurbosApiHelpers.otherCoinInPool(inputs);
210
+ return TurbosApi.otherCoinInPool(inputs);
50
211
  };
51
- /////////////////////////////////////////////////////////////////////
52
- //// Transactions
53
- /////////////////////////////////////////////////////////////////////
54
- this.fetchTradeTx = (inputs) => {
55
- return this.Provider.Transactions().fetchSetGasBudgetAndSerializeTransaction(this.Helpers.fetchBuildTradeTx(inputs));
212
+ this.fetchCalcTradeResult = (inputs) => __awaiter(this, void 0, void 0, function* () {
213
+ const tx = new sui_js_1.TransactionBlock();
214
+ tx.setSender(inputs.walletAddress);
215
+ this.calcTradeResultTx(Object.assign(Object.assign({ tx, poolObjectId: inputs.pool.id }, inputs.pool), inputs));
216
+ try {
217
+ const resultBytes = yield this.Provider.Inspections().fetchFirstBytesFromTxOutput(tx);
218
+ sui_js_1.bcs.registerStructType("I32", {
219
+ bits: bcs_1.BCS.U32,
220
+ });
221
+ sui_js_1.bcs.registerStructType("ComputeSwapState", {
222
+ amount_a: bcs_1.BCS.U128,
223
+ amount_b: bcs_1.BCS.U128,
224
+ amount_specified_remaining: bcs_1.BCS.U128,
225
+ amount_calculated: bcs_1.BCS.U128,
226
+ sqrt_price: bcs_1.BCS.U128,
227
+ tick_current_index: "I32",
228
+ fee_growth_global: bcs_1.BCS.U128,
229
+ protocol_fee: bcs_1.BCS.U128,
230
+ liquidity: bcs_1.BCS.U128,
231
+ fee_amount: bcs_1.BCS.U128,
232
+ });
233
+ const data = sui_js_1.bcs.de("ComputeSwapState", new Uint8Array(resultBytes));
234
+ const amountIn = BigInt(data.amount_a) <= BigInt(0)
235
+ ? BigInt(data.amount_b)
236
+ : BigInt(data.amount_a);
237
+ return {
238
+ amountIn,
239
+ amountOut: BigInt(data.amount_calculated),
240
+ feeAmount: BigInt(data.fee_amount),
241
+ protocolFee: BigInt(data.protocol_fee),
242
+ };
243
+ }
244
+ catch (e) {
245
+ throw new Error("e");
246
+ }
247
+ });
248
+ // =========================================================================
249
+ // Private Methods
250
+ // =========================================================================
251
+ // =========================================================================
252
+ // Objects
253
+ // =========================================================================
254
+ this.fetchPoolForCoinTypes = (inputs) => __awaiter(this, void 0, void 0, function* () {
255
+ const allPools = yield this.fetchAllPools();
256
+ // NOTE: will there ever be more than 1 valid pool (is this unsafe ?)
257
+ const foundPool = allPools.find((pool) => TurbosApi.isPoolForCoinTypes(Object.assign({ pool }, inputs)));
258
+ if (!foundPool)
259
+ throw new Error("no turbos pools found for given coin types");
260
+ return foundPool;
261
+ });
262
+ this.fetchPoolsForCoinType = (inputs) => __awaiter(this, void 0, void 0, function* () {
263
+ const allPools = yield this.fetchAllPools();
264
+ const foundPools = allPools.filter((pool) => TurbosApi.isPoolForCoinType(Object.assign({ pool }, inputs)));
265
+ return foundPools;
266
+ });
267
+ const turbos = (_b = this.Provider.addresses.router) === null || _b === void 0 ? void 0 : _b.turbos;
268
+ const pools = this.Provider.addresses.pools;
269
+ const referralVault = this.Provider.addresses.referralVault;
270
+ if (!turbos || !pools || !referralVault)
271
+ throw new Error("not all required addresses have been set in provider");
272
+ this.addresses = {
273
+ turbos,
274
+ pools,
275
+ referralVault,
56
276
  };
57
- this.Provider = Provider;
58
- this.Helpers = new turbosApiHelpers_1.TurbosApiHelpers(Provider);
277
+ }
278
+ static tickIndexToSqrtPriceX64(tickIndex) {
279
+ if (tickIndex > 0) {
280
+ return BigInt(this.tickIndexToSqrtPricePositive(tickIndex));
281
+ }
282
+ else {
283
+ return BigInt(this.tickIndexToSqrtPriceNegative(tickIndex));
284
+ }
285
+ }
286
+ static tickIndexToSqrtPricePositive(tick) {
287
+ let ratio;
288
+ if ((tick & 1) != 0) {
289
+ ratio = BigInt("79232123823359799118286999567");
290
+ }
291
+ else {
292
+ ratio = BigInt("79228162514264337593543950336");
293
+ }
294
+ if ((tick & 2) != 0) {
295
+ ratio = this.signedShiftRight(ratio * BigInt("79236085330515764027303304731"), 96, 256);
296
+ }
297
+ if ((tick & 4) != 0) {
298
+ ratio = this.signedShiftRight(ratio * BigInt("79244008939048815603706035061"), 96, 256);
299
+ }
300
+ if ((tick & 8) != 0) {
301
+ ratio = this.signedShiftRight(ratio * BigInt("79259858533276714757314932305"), 96, 256);
302
+ }
303
+ if ((tick & 16) != 0) {
304
+ ratio = this.signedShiftRight(ratio * BigInt("79291567232598584799939703904"), 96, 256);
305
+ }
306
+ if ((tick & 32) != 0) {
307
+ ratio = this.signedShiftRight(ratio * BigInt("79355022692464371645785046466"), 96, 256);
308
+ }
309
+ if ((tick & 64) != 0) {
310
+ ratio = this.signedShiftRight(ratio * BigInt("79482085999252804386437311141"), 96, 256);
311
+ }
312
+ if ((tick & 128) != 0) {
313
+ ratio = this.signedShiftRight(ratio * BigInt("79736823300114093921829183326"), 96, 256);
314
+ }
315
+ if ((tick & 256) != 0) {
316
+ ratio = this.signedShiftRight(ratio * BigInt("80248749790819932309965073892"), 96, 256);
317
+ }
318
+ if ((tick & 512) != 0) {
319
+ ratio = this.signedShiftRight(ratio * BigInt("81282483887344747381513967011"), 96, 256);
320
+ }
321
+ if ((tick & 1024) != 0) {
322
+ ratio = this.signedShiftRight(ratio * BigInt("83390072131320151908154831281"), 96, 256);
323
+ }
324
+ if ((tick & 2048) != 0) {
325
+ ratio = this.signedShiftRight(ratio * BigInt("87770609709833776024991924138"), 96, 256);
326
+ }
327
+ if ((tick & 4096) != 0) {
328
+ ratio = this.signedShiftRight(ratio * BigInt("97234110755111693312479820773"), 96, 256);
329
+ }
330
+ if ((tick & 8192) != 0) {
331
+ ratio = this.signedShiftRight(ratio * BigInt("119332217159966728226237229890"), 96, 256);
332
+ }
333
+ if ((tick & 16384) != 0) {
334
+ ratio = this.signedShiftRight(ratio * BigInt("179736315981702064433883588727"), 96, 256);
335
+ }
336
+ if ((tick & 32768) != 0) {
337
+ ratio = this.signedShiftRight(ratio * BigInt("407748233172238350107850275304"), 96, 256);
338
+ }
339
+ if ((tick & 65536) != 0) {
340
+ ratio = this.signedShiftRight(ratio * BigInt("2098478828474011932436660412517"), 96, 256);
341
+ }
342
+ if ((tick & 131072) != 0) {
343
+ ratio = this.signedShiftRight(ratio * BigInt("55581415166113811149459800483533"), 96, 256);
344
+ }
345
+ if ((tick & 262144) != 0) {
346
+ ratio = this.signedShiftRight(ratio * BigInt("38992368544603139932233054999993551"), 96, 256);
347
+ }
348
+ return this.signedShiftRight(ratio, 32, 256);
349
+ }
350
+ static tickIndexToSqrtPriceNegative(tickIndex) {
351
+ let tick = Math.abs(tickIndex);
352
+ let ratio;
353
+ if ((tick & 1) != 0) {
354
+ ratio = BigInt("18445821805675392311");
355
+ }
356
+ else {
357
+ ratio = BigInt("18446744073709551616");
358
+ }
359
+ if ((tick & 2) != 0) {
360
+ ratio = this.signedShiftRight(ratio * BigInt("18444899583751176498"), 64, 256);
361
+ }
362
+ if ((tick & 4) != 0) {
363
+ ratio = this.signedShiftRight(ratio * BigInt("18443055278223354162"), 64, 256);
364
+ }
365
+ if ((tick & 8) != 0) {
366
+ ratio = this.signedShiftRight(ratio * BigInt("18439367220385604838"), 64, 256);
367
+ }
368
+ if ((tick & 16) != 0) {
369
+ ratio = this.signedShiftRight(ratio * BigInt("18431993317065449817"), 64, 256);
370
+ }
371
+ if ((tick & 32) != 0) {
372
+ ratio = this.signedShiftRight(ratio * BigInt("18417254355718160513"), 64, 256);
373
+ }
374
+ if ((tick & 64) != 0) {
375
+ ratio = this.signedShiftRight(ratio * BigInt("18387811781193591352"), 64, 256);
376
+ }
377
+ if ((tick & 128) != 0) {
378
+ ratio = this.signedShiftRight(ratio * BigInt("18329067761203520168"), 64, 256);
379
+ }
380
+ if ((tick & 256) != 0) {
381
+ ratio = this.signedShiftRight(ratio * BigInt("18212142134806087854"), 64, 256);
382
+ }
383
+ if ((tick & 512) != 0) {
384
+ ratio = this.signedShiftRight(ratio * BigInt("17980523815641551639"), 64, 256);
385
+ }
386
+ if ((tick & 1024) != 0) {
387
+ ratio = this.signedShiftRight(ratio * BigInt("17526086738831147013"), 64, 256);
388
+ }
389
+ if ((tick & 2048) != 0) {
390
+ ratio = this.signedShiftRight(ratio * BigInt("16651378430235024244"), 64, 256);
391
+ }
392
+ if ((tick & 4096) != 0) {
393
+ ratio = this.signedShiftRight(ratio * BigInt("15030750278693429944"), 64, 256);
394
+ }
395
+ if ((tick & 8192) != 0) {
396
+ ratio = this.signedShiftRight(ratio * BigInt("12247334978882834399"), 64, 256);
397
+ }
398
+ if ((tick & 16384) != 0) {
399
+ ratio = this.signedShiftRight(ratio * BigInt("8131365268884726200"), 64, 256);
400
+ }
401
+ if ((tick & 32768) != 0) {
402
+ ratio = this.signedShiftRight(ratio * BigInt("3584323654723342297"), 64, 256);
403
+ }
404
+ if ((tick & 65536) != 0) {
405
+ ratio = this.signedShiftRight(ratio * BigInt("696457651847595233"), 64, 256);
406
+ }
407
+ if ((tick & 131072) != 0) {
408
+ ratio = this.signedShiftRight(ratio * BigInt("26294789957452057"), 64, 256);
409
+ }
410
+ if ((tick & 262144) != 0) {
411
+ ratio = this.signedShiftRight(ratio * BigInt("37481735321082"), 64, 256);
412
+ }
413
+ return ratio;
414
+ }
415
+ static signedShiftLeft(n0, shiftBy, bitWidth) {
416
+ // let twosN0 = n0.toTwos(bitWidth).shln(shiftBy);
417
+ // twosN0.imaskn(bitWidth + 1);
418
+ // return twosN0.fromTwos(bitWidth);
419
+ return n0 << BigInt(shiftBy);
420
+ }
421
+ static signedShiftRight(n0, shiftBy, bitWidth) {
422
+ // let twoN0 = n0.toTwos(bitWidth).shrn(shiftBy);
423
+ // twoN0.imaskn(bitWidth - shiftBy + 1);
424
+ // return twoN0.fromTwos(bitWidth - shiftBy);
425
+ return n0 >> BigInt(shiftBy);
59
426
  }
60
427
  }
61
428
  exports.TurbosApi = TurbosApi;
429
+ _a = TurbosApi;
430
+ // =========================================================================
431
+ // Constants
432
+ // =========================================================================
433
+ TurbosApi.constants = {
434
+ moduleNames: {
435
+ poolFetcher: "pool_fetcher",
436
+ swapRouter: "swap_router",
437
+ wrapper: "turbos",
438
+ },
439
+ };
440
+ TurbosApi.MIN_TICK_INDEX = -443636;
441
+ TurbosApi.MAX_TICK_INDEX = 443636;
442
+ // =========================================================================
443
+ // Public Static Methods
444
+ // =========================================================================
445
+ // =========================================================================
446
+ // Helpers
447
+ // =========================================================================
448
+ TurbosApi.otherCoinInPool = (inputs) => {
449
+ return _a.isCoinA(inputs)
450
+ ? inputs.pool.coinTypeB
451
+ : inputs.pool.coinTypeA;
452
+ };
453
+ // =========================================================================
454
+ // Private Static Methods
455
+ // =========================================================================
456
+ // =========================================================================
457
+ // Casting
458
+ // =========================================================================
459
+ TurbosApi.partialPoolFromSuiObjectResponse = (data) => {
460
+ var _b;
461
+ const content = (_b = data.data) === null || _b === void 0 ? void 0 : _b.content;
462
+ if ((content === null || content === void 0 ? void 0 : content.dataType) !== "moveObject")
463
+ throw new Error("sui object response is not an object");
464
+ const fields = content.fields.value.fields;
465
+ return {
466
+ id: fields.pool_id,
467
+ coinTypeA: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.coin_type_a.fields.name),
468
+ coinTypeB: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.coin_type_b.fields.name),
469
+ feeCoinType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.fee_type.fields.name),
470
+ fee: BigInt(fields.fee),
471
+ };
472
+ };
473
+ // =========================================================================
474
+ // Helpers
475
+ // =========================================================================
476
+ TurbosApi.isPoolForCoinTypes = (inputs) => {
477
+ const { pool, coinType1, coinType2 } = inputs;
478
+ return ((pool.coinTypeA === utils_1.Helpers.addLeadingZeroesToType(coinType1) &&
479
+ pool.coinTypeB === utils_1.Helpers.addLeadingZeroesToType(coinType2)) ||
480
+ (pool.coinTypeA === utils_1.Helpers.addLeadingZeroesToType(coinType2) &&
481
+ pool.coinTypeB === utils_1.Helpers.addLeadingZeroesToType(coinType1)));
482
+ };
483
+ TurbosApi.isPoolForCoinType = (inputs) => {
484
+ const { pool, coinType } = inputs;
485
+ return (pool.coinTypeA === utils_1.Helpers.addLeadingZeroesToType(coinType) ||
486
+ pool.coinTypeB === utils_1.Helpers.addLeadingZeroesToType(coinType));
487
+ };
488
+ TurbosApi.isCoinA = (inputs) => {
489
+ const { coinType, pool } = inputs;
490
+ return utils_1.Helpers.addLeadingZeroesToType(coinType) === pool.coinTypeA;
491
+ };
492
+ // private static calcSqrtPriceLimit = (inputs: {
493
+ // sqrtPrice: bigint;
494
+ // isCoinAToCoinB: boolean;
495
+ // }) => {
496
+ // const { sqrtPrice, isCoinAToCoinB } = inputs;
497
+ // const change = sqrtPrice / BigInt(100);
498
+ // const sqrtPriceLimit = isCoinAToCoinB
499
+ // ? sqrtPrice - change
500
+ // : sqrtPrice + change;
501
+ // return sqrtPriceLimit;
502
+ // };
503
+ TurbosApi.calcSqrtPriceLimit = (a2b) => {
504
+ return _a.tickIndexToSqrtPriceX64(a2b ? TurbosApi.MIN_TICK_INDEX : TurbosApi.MAX_TICK_INDEX);
505
+ };
@@ -0,0 +1,20 @@
1
+ import { Caller } from "../../general/utils/caller";
2
+ import { CoinType, CoinsToBalance, FarmsStakedPositionObject } from "../../types";
3
+ export declare class FarmsStakedPosition extends Caller {
4
+ readonly stakedPosition: FarmsStakedPositionObject;
5
+ readonly network?: string | undefined;
6
+ private static readonly constants;
7
+ constructor(stakedPosition: FarmsStakedPositionObject, network?: string | undefined);
8
+ isLocked: () => boolean;
9
+ isLockDuration: () => boolean;
10
+ unlockTimestamp: () => number;
11
+ rewardCoinsToClaimableBalance: () => CoinsToBalance;
12
+ rewardsEarned: (inputs: {
13
+ coinType: CoinType;
14
+ }) => bigint;
15
+ rewardsApy: (inputs: {
16
+ coinType: CoinType;
17
+ }) => number;
18
+ private getRewardCoin;
19
+ }
20
+ //# sourceMappingURL=farmsStakedPosition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"farmsStakedPosition.d.ts","sourceRoot":"","sources":["../../../src/packages/farms/farmsStakedPosition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EACN,QAAQ,EACR,cAAc,EACd,yBAAyB,EAGzB,MAAM,aAAa,CAAC;AAErB,qBAAa,mBAAoB,SAAQ,MAAM;aAY7B,cAAc,EAAE,yBAAyB;aACzC,OAAO,CAAC;IARzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAM;gBAOtB,cAAc,EAAE,yBAAyB,EACzC,OAAO,CAAC,oBAAkB;IAcpC,QAAQ,QAAO,OAAO,CAG3B;IAEK,cAAc,QAAO,OAAO,CAEjC;IAEK,eAAe,QAAO,MAAM,CAKjC;IAEK,6BAA6B,QAAO,cAAc,CAQvD;IAMK,aAAa,WAAY;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE,YAGpD;IAEK,UAAU,WAAY;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE,YAIjD;IAUF,OAAO,CAAC,aAAa,CAOnB;CACF"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FarmsStakedPosition = void 0;
4
+ const caller_1 = require("../../general/utils/caller");
5
+ class FarmsStakedPosition extends caller_1.Caller {
6
+ // =========================================================================
7
+ // Constructor
8
+ // =========================================================================
9
+ constructor(stakedPosition, network) {
10
+ super(network, `farms/staked-positions/${stakedPosition.objectId}`);
11
+ this.stakedPosition = stakedPosition;
12
+ this.network = network;
13
+ // =========================================================================
14
+ // Public
15
+ // =========================================================================
16
+ // =========================================================================
17
+ // Status
18
+ // =========================================================================
19
+ this.isLocked = () => {
20
+ const nowTimestamp = Date.now();
21
+ return this.unlockTimestamp() > nowTimestamp;
22
+ };
23
+ this.isLockDuration = () => {
24
+ return this.stakedPosition.lockDurationMs > 0;
25
+ };
26
+ this.unlockTimestamp = () => {
27
+ return (this.stakedPosition.lockStartTimestamp +
28
+ this.stakedPosition.lockDurationMs);
29
+ };
30
+ this.rewardCoinsToClaimableBalance = () => {
31
+ return this.stakedPosition.rewardCoins.reduce((acc, coin) => (Object.assign(Object.assign({}, acc), { [coin.coinType]: coin.rewardsAccumulated - coin.rewardsDebt })), {});
32
+ };
33
+ // =========================================================================
34
+ // Calculations
35
+ // =========================================================================
36
+ this.rewardsEarned = (inputs) => {
37
+ const rewardCoin = this.getRewardCoin(inputs.coinType);
38
+ return rewardCoin.rewardsAccumulated - rewardCoin.rewardsDebt;
39
+ };
40
+ this.rewardsApy = (inputs) => {
41
+ const rewardCoin = this.getRewardCoin(inputs.coinType);
42
+ return Math.random();
43
+ };
44
+ // =========================================================================
45
+ // Private
46
+ // =========================================================================
47
+ // =========================================================================
48
+ // Helpers
49
+ // =========================================================================
50
+ this.getRewardCoin = (coinType) => {
51
+ const foundCoin = this.stakedPosition.rewardCoins.find((coin) => coin.coinType === coinType);
52
+ if (!foundCoin)
53
+ throw new Error("Invalid coin type");
54
+ return foundCoin;
55
+ };
56
+ this.stakedPosition = stakedPosition;
57
+ }
58
+ }
59
+ exports.FarmsStakedPosition = FarmsStakedPosition;
60
+ // =========================================================================
61
+ // Private Constants
62
+ // =========================================================================
63
+ FarmsStakedPosition.constants = {};
@@ -0,0 +1,9 @@
1
+ import { Caller } from "../../general/utils/caller";
2
+ import { FarmsStakingPoolObject } from "./farmsTypes";
3
+ export declare class FarmsStakingPool extends Caller {
4
+ readonly stakingPool: FarmsStakingPoolObject;
5
+ readonly network?: string | undefined;
6
+ private static readonly constants;
7
+ constructor(stakingPool: FarmsStakingPoolObject, network?: string | undefined);
8
+ }
9
+ //# sourceMappingURL=farmsStakingPool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"farmsStakingPool.d.ts","sourceRoot":"","sources":["../../../src/packages/farms/farmsStakingPool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,qBAAa,gBAAiB,SAAQ,MAAM;aAY1B,WAAW,EAAE,sBAAsB;aACnC,OAAO,CAAC;IARzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAM;gBAOtB,WAAW,EAAE,sBAAsB,EACnC,OAAO,CAAC,oBAAkB;CAK3C"}