@alphafi/alphafi-sdk 0.0.19 → 0.0.21

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 (463) hide show
  1. package/README.md +14 -5
  2. package/dist/cjs/common/alphaTypes.d.ts.map +1 -0
  3. package/dist/cjs/common/alphaTypes.js +3 -0
  4. package/dist/cjs/common/alphaTypes.js.map +1 -0
  5. package/dist/cjs/common/cetus_mainnet_config.d.ts.map +1 -0
  6. package/dist/cjs/common/cetus_mainnet_config.js +50 -0
  7. package/dist/cjs/common/cetus_mainnet_config.js.map +1 -0
  8. package/dist/cjs/common/coins.d.ts.map +1 -0
  9. package/dist/cjs/common/coins.js +135 -0
  10. package/dist/cjs/common/coins.js.map +1 -0
  11. package/dist/cjs/common/constants.d.ts.map +1 -0
  12. package/dist/cjs/common/constants.js +465 -0
  13. package/dist/cjs/common/constants.js.map +1 -0
  14. package/dist/cjs/common/maps.d.ts.map +1 -0
  15. package/dist/cjs/common/maps.js +535 -0
  16. package/dist/cjs/common/maps.js.map +1 -0
  17. package/dist/cjs/common/pyth.d.ts.map +1 -0
  18. package/dist/cjs/common/pyth.js +3 -0
  19. package/dist/cjs/common/pyth.js.map +1 -0
  20. package/dist/cjs/common/types.d.ts.map +1 -0
  21. package/dist/cjs/common/types.js +18 -0
  22. package/dist/cjs/common/types.js.map +1 -0
  23. package/dist/cjs/example.d.ts.map +1 -0
  24. package/dist/cjs/example.js +42 -0
  25. package/dist/cjs/example.js.map +1 -0
  26. package/dist/cjs/getAirdropShare.d.ts.map +1 -0
  27. package/dist/cjs/getAirdropShare.js +9 -0
  28. package/dist/cjs/getAirdropShare.js.map +1 -0
  29. package/dist/cjs/getAllVaults.d.ts.map +1 -0
  30. package/dist/cjs/getAllVaults.js +32 -0
  31. package/dist/cjs/getAllVaults.js.map +1 -0
  32. package/dist/cjs/getAlphaUnlocks.d.ts.map +1 -0
  33. package/dist/cjs/getAlphaUnlocks.js +20 -0
  34. package/dist/cjs/getAlphaUnlocks.js.map +1 -0
  35. package/dist/cjs/getAprs.d.ts.map +1 -0
  36. package/dist/cjs/getAprs.js +56 -0
  37. package/dist/cjs/getAprs.js.map +1 -0
  38. package/dist/cjs/getHoldersFromTransactions.d.ts.map +1 -0
  39. package/dist/cjs/getHoldersFromTransactions.js +87 -0
  40. package/dist/cjs/getHoldersFromTransactions.js.map +1 -0
  41. package/dist/cjs/getLastAutoCompoundTime.d.ts.map +1 -0
  42. package/dist/cjs/getLastAutoCompoundTime.js +17 -0
  43. package/dist/cjs/getLastAutoCompoundTime.js.map +1 -0
  44. package/dist/cjs/getRebalanceHistory.d.ts.map +1 -0
  45. package/dist/cjs/getRebalanceHistory.js +24 -0
  46. package/dist/cjs/getRebalanceHistory.js.map +1 -0
  47. package/dist/cjs/getVaultBalances.d.ts.map +1 -0
  48. package/dist/cjs/getVaultBalances.js +132 -0
  49. package/dist/cjs/getVaultBalances.js.map +1 -0
  50. package/dist/cjs/getVaults.d.ts.map +1 -0
  51. package/dist/cjs/getVaults.js +31 -0
  52. package/dist/cjs/getVaults.js.map +1 -0
  53. package/dist/cjs/graphql/client.d.ts.map +1 -0
  54. package/dist/cjs/graphql/client.js +14 -0
  55. package/dist/cjs/graphql/client.js.map +1 -0
  56. package/dist/cjs/graphql/executeMutations.d.ts.map +1 -0
  57. package/dist/cjs/graphql/executeMutations.js +31 -0
  58. package/dist/cjs/graphql/executeMutations.js.map +1 -0
  59. package/dist/cjs/graphql/fetchAutoCompoundingEventsGql.d.ts.map +1 -0
  60. package/dist/cjs/graphql/fetchAutoCompoundingEventsGql.js +119 -0
  61. package/dist/cjs/graphql/fetchAutoCompoundingEventsGql.js.map +1 -0
  62. package/dist/cjs/graphql/fetchData.d.ts.map +1 -0
  63. package/dist/cjs/graphql/fetchData.js +95 -0
  64. package/dist/cjs/graphql/fetchData.js.map +1 -0
  65. package/dist/cjs/graphql/fetchNftHolders.d.ts.map +1 -0
  66. package/dist/cjs/graphql/fetchNftHolders.js +34 -0
  67. package/dist/cjs/graphql/fetchNftHolders.js.map +1 -0
  68. package/dist/cjs/graphql/fetchReceipts.d.ts.map +1 -0
  69. package/dist/cjs/graphql/fetchReceipts.js +35 -0
  70. package/dist/cjs/graphql/fetchReceipts.js.map +1 -0
  71. package/dist/cjs/graphql/mutations.d.ts.map +1 -0
  72. package/dist/cjs/graphql/mutations.js +33 -0
  73. package/dist/cjs/graphql/mutations.js.map +1 -0
  74. package/dist/cjs/graphql/parseData.d.ts.map +1 -0
  75. package/dist/cjs/graphql/parseData.js +9 -0
  76. package/dist/cjs/graphql/parseData.js.map +1 -0
  77. package/dist/cjs/graphql/parseLockedTableId.d.ts.map +1 -0
  78. package/dist/cjs/graphql/parseLockedTableId.js +15 -0
  79. package/dist/cjs/graphql/parseLockedTableId.js.map +1 -0
  80. package/dist/cjs/graphql/queries/autoCompoundEvents.d.ts.map +1 -0
  81. package/dist/cjs/graphql/queries/autoCompoundEvents.js +19 -0
  82. package/dist/cjs/graphql/queries/autoCompoundEvents.js.map +1 -0
  83. package/dist/cjs/graphql/queries/cetusPools.d.ts.map +1 -0
  84. package/dist/cjs/graphql/queries/cetusPools.js +39 -0
  85. package/dist/cjs/graphql/queries/cetusPools.js.map +1 -0
  86. package/dist/cjs/graphql/queries/investors.d.ts.map +1 -0
  87. package/dist/cjs/graphql/queries/investors.js +39 -0
  88. package/dist/cjs/graphql/queries/investors.js.map +1 -0
  89. package/dist/cjs/graphql/queries/lockedTableData.d.ts.map +1 -0
  90. package/dist/cjs/graphql/queries/lockedTableData.js +30 -0
  91. package/dist/cjs/graphql/queries/lockedTableData.js.map +1 -0
  92. package/dist/cjs/graphql/queries/lockedTableDataFragment.d.ts.map +1 -0
  93. package/dist/cjs/graphql/queries/lockedTableDataFragment.js +24 -0
  94. package/dist/cjs/graphql/queries/lockedTableDataFragment.js.map +1 -0
  95. package/dist/cjs/graphql/queries/nftHolders.d.ts.map +1 -0
  96. package/dist/cjs/graphql/queries/nftHolders.js +23 -0
  97. package/dist/cjs/graphql/queries/nftHolders.js.map +1 -0
  98. package/dist/cjs/graphql/queries/pools.d.ts.map +1 -0
  99. package/dist/cjs/graphql/queries/pools.js +57 -0
  100. package/dist/cjs/graphql/queries/pools.js.map +1 -0
  101. package/dist/cjs/graphql/queries/receiptData.d.ts.map +1 -0
  102. package/dist/cjs/graphql/queries/receiptData.js +21 -0
  103. package/dist/cjs/graphql/queries/receiptData.js.map +1 -0
  104. package/dist/cjs/graphql/queries/userVaultBalances.d.ts.map +1 -0
  105. package/dist/cjs/graphql/queries/userVaultBalances.js +62 -0
  106. package/dist/cjs/graphql/queries/userVaultBalances.js.map +1 -0
  107. package/dist/cjs/graphql/queries/userVaults.d.ts.map +1 -0
  108. package/dist/cjs/graphql/queries/userVaults.js +62 -0
  109. package/dist/cjs/graphql/queries/userVaults.js.map +1 -0
  110. package/dist/cjs/graphql/queries.d.ts.map +1 -0
  111. package/dist/cjs/graphql/queries.js +86 -0
  112. package/dist/cjs/graphql/queries.js.map +1 -0
  113. package/dist/cjs/graphql/types.d.ts.map +1 -0
  114. package/dist/cjs/graphql/types.js +3 -0
  115. package/dist/cjs/graphql/types.js.map +1 -0
  116. package/dist/cjs/index.d.ts.map +1 -0
  117. package/dist/cjs/index.js +70 -0
  118. package/dist/cjs/index.js.map +1 -0
  119. package/dist/cjs/sui-sdk/client.d.ts.map +1 -0
  120. package/dist/cjs/sui-sdk/client.js +69 -0
  121. package/dist/cjs/sui-sdk/client.js.map +1 -0
  122. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -0
  123. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js +201 -0
  124. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -0
  125. package/dist/cjs/sui-sdk/events/fetchEvents.d.ts.map +1 -0
  126. package/dist/cjs/sui-sdk/events/fetchEvents.js +184 -0
  127. package/dist/cjs/sui-sdk/events/fetchEvents.js.map +1 -0
  128. package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.d.ts.map +1 -0
  129. package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.js +44 -0
  130. package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.js.map +1 -0
  131. package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.d.ts.map +1 -0
  132. package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.js +90 -0
  133. package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.js.map +1 -0
  134. package/dist/cjs/sui-sdk/events/parseData.d.ts.map +1 -0
  135. package/dist/cjs/sui-sdk/events/parseData.js +31 -0
  136. package/dist/cjs/sui-sdk/events/parseData.js.map +1 -0
  137. package/dist/cjs/sui-sdk/events/types.d.ts.map +1 -0
  138. package/dist/cjs/sui-sdk/events/types.js +3 -0
  139. package/dist/cjs/sui-sdk/events/types.js.map +1 -0
  140. package/dist/cjs/sui-sdk/functions/fetchTableData.d.ts.map +1 -0
  141. package/dist/cjs/sui-sdk/functions/fetchTableData.js +77 -0
  142. package/dist/cjs/sui-sdk/functions/fetchTableData.js.map +1 -0
  143. package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.d.ts.map +1 -0
  144. package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.js +82 -0
  145. package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.js.map +1 -0
  146. package/dist/cjs/sui-sdk/functions/fetchUserVaults.d.ts.map +1 -0
  147. package/dist/cjs/sui-sdk/functions/fetchUserVaults.js +45 -0
  148. package/dist/cjs/sui-sdk/functions/fetchUserVaults.js.map +1 -0
  149. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.d.ts.map +1 -0
  150. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js +246 -0
  151. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js.map +1 -0
  152. package/dist/cjs/sui-sdk/functions/getReceipts.d.ts.map +1 -0
  153. package/dist/cjs/sui-sdk/functions/getReceipts.js +375 -0
  154. package/dist/cjs/sui-sdk/functions/getReceipts.js.map +1 -0
  155. package/dist/cjs/sui-sdk/transactions/constants.d.ts.map +1 -0
  156. package/dist/cjs/sui-sdk/transactions/constants.js +90 -0
  157. package/dist/cjs/sui-sdk/transactions/constants.js.map +1 -0
  158. package/dist/cjs/sui-sdk/transactions/fetchTransactions.d.ts.map +1 -0
  159. package/dist/cjs/sui-sdk/transactions/fetchTransactions.js +88 -0
  160. package/dist/cjs/sui-sdk/transactions/fetchTransactions.js.map +1 -0
  161. package/dist/cjs/sui-sdk/transactions/types.d.ts.map +1 -0
  162. package/dist/cjs/sui-sdk/transactions/types.js +3 -0
  163. package/dist/cjs/sui-sdk/transactions/types.js.map +1 -0
  164. package/dist/cjs/types.d.ts.map +1 -0
  165. package/dist/cjs/types.js +3 -0
  166. package/dist/cjs/types.js.map +1 -0
  167. package/dist/cjs/utils/clmm/prices.d.ts.map +1 -0
  168. package/dist/cjs/utils/clmm/prices.js +317 -0
  169. package/dist/cjs/utils/clmm/prices.js.map +1 -0
  170. package/dist/cjs/utils/clmm/tokenAmountFromLiquidity.d.ts.map +1 -0
  171. package/dist/cjs/utils/clmm/tokenAmountFromLiquidity.js +196 -0
  172. package/dist/cjs/utils/clmm/tokenAmountFromLiquidity.js.map +1 -0
  173. package/dist/cjs/utils/clmm/types.d.ts.map +1 -0
  174. package/dist/cjs/utils/clmm/types.js +3 -0
  175. package/dist/cjs/utils/clmm/types.js.map +1 -0
  176. package/dist/cjs/utils/constants.d.ts.map +1 -0
  177. package/dist/cjs/utils/constants.js +104 -0
  178. package/dist/cjs/utils/constants.js.map +1 -0
  179. package/dist/cjs/utils/getHoldersFromTransactionsUtils.d.ts.map +1 -0
  180. package/dist/cjs/utils/getHoldersFromTransactionsUtils.js +132 -0
  181. package/dist/cjs/utils/getHoldersFromTransactionsUtils.js.map +1 -0
  182. package/dist/cjs/utils/getReceipts.d.ts.map +1 -0
  183. package/dist/cjs/utils/getReceipts.js +45 -0
  184. package/dist/cjs/utils/getReceipts.js.map +1 -0
  185. package/dist/cjs/utils/hop.d.ts.map +1 -0
  186. package/dist/cjs/utils/hop.js +125 -0
  187. package/dist/cjs/utils/hop.js.map +1 -0
  188. package/dist/cjs/utils/prices.d.ts.map +1 -0
  189. package/dist/cjs/utils/prices.js +231 -0
  190. package/dist/cjs/utils/prices.js.map +1 -0
  191. package/dist/cjs/utils/simpleCache.d.ts.map +1 -0
  192. package/dist/cjs/utils/simpleCache.js +43 -0
  193. package/dist/cjs/utils/simpleCache.js.map +1 -0
  194. package/dist/cjs/utils/types.d.ts.map +1 -0
  195. package/dist/cjs/utils/types.js +3 -0
  196. package/dist/cjs/utils/types.js.map +1 -0
  197. package/dist/cjs/utils/userHoldings.d.ts.map +1 -0
  198. package/dist/cjs/utils/userHoldings.js +202 -0
  199. package/dist/cjs/utils/userHoldings.js.map +1 -0
  200. package/dist/cjs/vaultFunctions.d.ts.map +1 -0
  201. package/dist/cjs/vaultFunctions.js +32 -0
  202. package/dist/cjs/vaultFunctions.js.map +1 -0
  203. package/dist/esm/common/alphaTypes.d.ts.map +1 -0
  204. package/dist/esm/common/alphaTypes.js +2 -0
  205. package/dist/esm/common/alphaTypes.js.map +1 -0
  206. package/dist/esm/common/cetus_mainnet_config.d.ts.map +1 -0
  207. package/dist/esm/common/cetus_mainnet_config.js +47 -0
  208. package/dist/esm/common/cetus_mainnet_config.js.map +1 -0
  209. package/dist/esm/common/coins.d.ts.map +1 -0
  210. package/dist/esm/common/coins.js +132 -0
  211. package/dist/esm/common/coins.js.map +1 -0
  212. package/dist/esm/common/constants.d.ts.map +1 -0
  213. package/dist/esm/common/constants.js +462 -0
  214. package/dist/esm/common/constants.js.map +1 -0
  215. package/dist/esm/common/maps.d.ts.map +1 -0
  216. package/dist/esm/common/maps.js +527 -0
  217. package/dist/esm/common/maps.js.map +1 -0
  218. package/dist/esm/common/pyth.d.ts.map +1 -0
  219. package/dist/esm/common/pyth.js +2 -0
  220. package/dist/esm/common/pyth.js.map +1 -0
  221. package/dist/esm/common/types.d.ts.map +1 -0
  222. package/dist/esm/common/types.js +16 -0
  223. package/dist/esm/common/types.js.map +1 -0
  224. package/dist/esm/example.d.ts.map +1 -0
  225. package/dist/esm/example.js +38 -0
  226. package/dist/esm/example.js.map +1 -0
  227. package/dist/esm/getAirdropShare.d.ts.map +1 -0
  228. package/dist/esm/getAirdropShare.js +6 -0
  229. package/dist/esm/getAirdropShare.js.map +1 -0
  230. package/dist/esm/getAllVaults.d.ts.map +1 -0
  231. package/dist/esm/getAllVaults.js +27 -0
  232. package/dist/esm/getAllVaults.js.map +1 -0
  233. package/dist/esm/getAlphaUnlocks.d.ts.map +1 -0
  234. package/dist/esm/getAlphaUnlocks.js +17 -0
  235. package/dist/esm/getAlphaUnlocks.js.map +1 -0
  236. package/dist/esm/getAprs.d.ts.map +1 -0
  237. package/dist/esm/getAprs.js +50 -0
  238. package/dist/esm/getAprs.js.map +1 -0
  239. package/dist/esm/getHoldersFromTransactions.d.ts.map +1 -0
  240. package/dist/esm/getHoldersFromTransactions.js +82 -0
  241. package/dist/esm/getHoldersFromTransactions.js.map +1 -0
  242. package/dist/esm/getLastAutoCompoundTime.d.ts.map +1 -0
  243. package/dist/esm/getLastAutoCompoundTime.js +14 -0
  244. package/dist/esm/getLastAutoCompoundTime.js.map +1 -0
  245. package/dist/esm/getRebalanceHistory.d.ts.map +1 -0
  246. package/dist/esm/getRebalanceHistory.js +20 -0
  247. package/dist/esm/getRebalanceHistory.js.map +1 -0
  248. package/dist/esm/getVaultBalances.d.ts.map +1 -0
  249. package/dist/esm/getVaultBalances.js +124 -0
  250. package/dist/esm/getVaultBalances.js.map +1 -0
  251. package/dist/esm/getVaults.d.ts.map +1 -0
  252. package/dist/esm/getVaults.js +26 -0
  253. package/dist/esm/getVaults.js.map +1 -0
  254. package/dist/esm/graphql/client.d.ts.map +1 -0
  255. package/dist/esm/graphql/client.js +12 -0
  256. package/dist/esm/graphql/client.js.map +1 -0
  257. package/dist/esm/graphql/executeMutations.d.ts.map +1 -0
  258. package/dist/esm/graphql/executeMutations.js +25 -0
  259. package/dist/esm/graphql/executeMutations.js.map +1 -0
  260. package/dist/esm/graphql/fetchAutoCompoundingEventsGql.d.ts.map +1 -0
  261. package/dist/esm/graphql/fetchAutoCompoundingEventsGql.js +116 -0
  262. package/dist/esm/graphql/fetchAutoCompoundingEventsGql.js.map +1 -0
  263. package/dist/esm/graphql/fetchData.d.ts.map +1 -0
  264. package/dist/esm/graphql/fetchData.js +81 -0
  265. package/dist/esm/graphql/fetchData.js.map +1 -0
  266. package/dist/esm/graphql/fetchNftHolders.d.ts.map +1 -0
  267. package/dist/esm/graphql/fetchNftHolders.js +30 -0
  268. package/dist/esm/graphql/fetchNftHolders.js.map +1 -0
  269. package/dist/esm/graphql/fetchReceipts.d.ts.map +1 -0
  270. package/dist/esm/graphql/fetchReceipts.js +31 -0
  271. package/dist/esm/graphql/fetchReceipts.js.map +1 -0
  272. package/dist/esm/graphql/mutations.d.ts.map +1 -0
  273. package/dist/esm/graphql/mutations.js +30 -0
  274. package/dist/esm/graphql/mutations.js.map +1 -0
  275. package/dist/esm/graphql/parseData.d.ts.map +1 -0
  276. package/dist/esm/graphql/parseData.js +6 -0
  277. package/dist/esm/graphql/parseData.js.map +1 -0
  278. package/dist/esm/graphql/parseLockedTableId.d.ts.map +1 -0
  279. package/dist/esm/graphql/parseLockedTableId.js +12 -0
  280. package/dist/esm/graphql/parseLockedTableId.js.map +1 -0
  281. package/dist/esm/graphql/queries/autoCompoundEvents.d.ts.map +1 -0
  282. package/dist/esm/graphql/queries/autoCompoundEvents.js +16 -0
  283. package/dist/esm/graphql/queries/autoCompoundEvents.js.map +1 -0
  284. package/dist/esm/graphql/queries/cetusPools.d.ts.map +1 -0
  285. package/dist/esm/graphql/queries/cetusPools.js +36 -0
  286. package/dist/esm/graphql/queries/cetusPools.js.map +1 -0
  287. package/dist/esm/graphql/queries/investors.d.ts.map +1 -0
  288. package/dist/esm/graphql/queries/investors.js +36 -0
  289. package/dist/esm/graphql/queries/investors.js.map +1 -0
  290. package/dist/esm/graphql/queries/lockedTableData.d.ts.map +1 -0
  291. package/dist/esm/graphql/queries/lockedTableData.js +27 -0
  292. package/dist/esm/graphql/queries/lockedTableData.js.map +1 -0
  293. package/dist/esm/graphql/queries/lockedTableDataFragment.d.ts.map +1 -0
  294. package/dist/esm/graphql/queries/lockedTableDataFragment.js +21 -0
  295. package/dist/esm/graphql/queries/lockedTableDataFragment.js.map +1 -0
  296. package/dist/esm/graphql/queries/nftHolders.d.ts.map +1 -0
  297. package/dist/esm/graphql/queries/nftHolders.js +20 -0
  298. package/dist/esm/graphql/queries/nftHolders.js.map +1 -0
  299. package/dist/esm/graphql/queries/pools.d.ts.map +1 -0
  300. package/dist/esm/graphql/queries/pools.js +54 -0
  301. package/dist/esm/graphql/queries/pools.js.map +1 -0
  302. package/dist/esm/graphql/queries/receiptData.d.ts.map +1 -0
  303. package/dist/esm/graphql/queries/receiptData.js +18 -0
  304. package/dist/esm/graphql/queries/receiptData.js.map +1 -0
  305. package/dist/esm/graphql/queries/userVaultBalances.d.ts.map +1 -0
  306. package/dist/esm/graphql/queries/userVaultBalances.js +59 -0
  307. package/dist/esm/graphql/queries/userVaultBalances.js.map +1 -0
  308. package/dist/esm/graphql/queries/userVaults.d.ts.map +1 -0
  309. package/dist/esm/graphql/queries/userVaults.js +59 -0
  310. package/dist/esm/graphql/queries/userVaults.js.map +1 -0
  311. package/dist/esm/graphql/queries.d.ts.map +1 -0
  312. package/dist/esm/graphql/queries.js +83 -0
  313. package/dist/esm/graphql/queries.js.map +1 -0
  314. package/dist/esm/graphql/types.d.ts.map +1 -0
  315. package/dist/esm/graphql/types.js +2 -0
  316. package/dist/esm/graphql/types.js.map +1 -0
  317. package/dist/esm/index.d.ts.map +1 -0
  318. package/dist/{index.d.ts → esm/index.js} +23 -19
  319. package/dist/esm/index.js.map +1 -0
  320. package/dist/esm/sui-sdk/client.d.ts.map +1 -0
  321. package/dist/esm/sui-sdk/client.js +63 -0
  322. package/dist/esm/sui-sdk/client.js.map +1 -0
  323. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -0
  324. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js +196 -0
  325. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -0
  326. package/dist/esm/sui-sdk/events/fetchEvents.d.ts.map +1 -0
  327. package/dist/esm/sui-sdk/events/fetchEvents.js +181 -0
  328. package/dist/esm/sui-sdk/events/fetchEvents.js.map +1 -0
  329. package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.d.ts.map +1 -0
  330. package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.js +41 -0
  331. package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.js.map +1 -0
  332. package/dist/esm/sui-sdk/events/fetchRebalanceEvents.d.ts.map +1 -0
  333. package/dist/esm/sui-sdk/events/fetchRebalanceEvents.js +85 -0
  334. package/dist/esm/sui-sdk/events/fetchRebalanceEvents.js.map +1 -0
  335. package/dist/esm/sui-sdk/events/parseData.d.ts.map +1 -0
  336. package/dist/esm/sui-sdk/events/parseData.js +27 -0
  337. package/dist/esm/sui-sdk/events/parseData.js.map +1 -0
  338. package/dist/esm/sui-sdk/events/types.d.ts.map +1 -0
  339. package/dist/esm/sui-sdk/events/types.js +2 -0
  340. package/dist/esm/sui-sdk/events/types.js.map +1 -0
  341. package/dist/esm/sui-sdk/functions/fetchTableData.d.ts.map +1 -0
  342. package/dist/esm/sui-sdk/functions/fetchTableData.js +73 -0
  343. package/dist/esm/sui-sdk/functions/fetchTableData.js.map +1 -0
  344. package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.d.ts.map +1 -0
  345. package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.js +79 -0
  346. package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.js.map +1 -0
  347. package/dist/esm/sui-sdk/functions/fetchUserVaults.d.ts.map +1 -0
  348. package/dist/esm/sui-sdk/functions/fetchUserVaults.js +42 -0
  349. package/dist/esm/sui-sdk/functions/fetchUserVaults.js.map +1 -0
  350. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.d.ts.map +1 -0
  351. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js +238 -0
  352. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js.map +1 -0
  353. package/dist/esm/sui-sdk/functions/getReceipts.d.ts.map +1 -0
  354. package/dist/esm/sui-sdk/functions/getReceipts.js +364 -0
  355. package/dist/esm/sui-sdk/functions/getReceipts.js.map +1 -0
  356. package/dist/esm/sui-sdk/transactions/constants.d.ts.map +1 -0
  357. package/dist/esm/sui-sdk/transactions/constants.js +87 -0
  358. package/dist/esm/sui-sdk/transactions/constants.js.map +1 -0
  359. package/dist/esm/sui-sdk/transactions/fetchTransactions.d.ts.map +1 -0
  360. package/dist/esm/sui-sdk/transactions/fetchTransactions.js +85 -0
  361. package/dist/esm/sui-sdk/transactions/fetchTransactions.js.map +1 -0
  362. package/dist/esm/sui-sdk/transactions/types.d.ts.map +1 -0
  363. package/dist/esm/sui-sdk/transactions/types.js +2 -0
  364. package/dist/esm/sui-sdk/transactions/types.js.map +1 -0
  365. package/dist/esm/types.d.ts.map +1 -0
  366. package/dist/esm/types.js +2 -0
  367. package/dist/esm/types.js.map +1 -0
  368. package/dist/esm/utils/clmm/prices.d.ts.map +1 -0
  369. package/dist/esm/utils/clmm/prices.js +309 -0
  370. package/dist/esm/utils/clmm/prices.js.map +1 -0
  371. package/dist/esm/utils/clmm/tokenAmountFromLiquidity.d.ts.map +1 -0
  372. package/dist/esm/utils/clmm/tokenAmountFromLiquidity.js +188 -0
  373. package/dist/esm/utils/clmm/tokenAmountFromLiquidity.js.map +1 -0
  374. package/dist/esm/utils/clmm/types.d.ts.map +1 -0
  375. package/dist/esm/utils/clmm/types.js +2 -0
  376. package/dist/esm/utils/clmm/types.js.map +1 -0
  377. package/dist/esm/utils/constants.d.ts.map +1 -0
  378. package/dist/esm/utils/constants.js +101 -0
  379. package/dist/esm/utils/constants.js.map +1 -0
  380. package/dist/esm/utils/getHoldersFromTransactionsUtils.d.ts.map +1 -0
  381. package/dist/esm/utils/getHoldersFromTransactionsUtils.js +127 -0
  382. package/dist/esm/utils/getHoldersFromTransactionsUtils.js.map +1 -0
  383. package/dist/esm/utils/getReceipts.d.ts.map +1 -0
  384. package/dist/esm/utils/getReceipts.js +42 -0
  385. package/dist/esm/utils/getReceipts.js.map +1 -0
  386. package/dist/esm/utils/hop.d.ts.map +1 -0
  387. package/dist/esm/utils/hop.js +118 -0
  388. package/dist/esm/utils/hop.js.map +1 -0
  389. package/dist/esm/utils/prices.d.ts.map +1 -0
  390. package/dist/esm/utils/prices.js +226 -0
  391. package/dist/esm/utils/prices.js.map +1 -0
  392. package/dist/esm/utils/simpleCache.d.ts.map +1 -0
  393. package/dist/esm/utils/simpleCache.js +40 -0
  394. package/dist/esm/utils/simpleCache.js.map +1 -0
  395. package/dist/esm/utils/types.d.ts.map +1 -0
  396. package/dist/esm/utils/types.js +2 -0
  397. package/dist/esm/utils/types.js.map +1 -0
  398. package/dist/esm/utils/userHoldings.d.ts.map +1 -0
  399. package/dist/esm/utils/userHoldings.js +195 -0
  400. package/dist/esm/utils/userHoldings.js.map +1 -0
  401. package/dist/esm/vaultFunctions.d.ts.map +1 -0
  402. package/dist/esm/vaultFunctions.js +27 -0
  403. package/dist/esm/vaultFunctions.js.map +1 -0
  404. package/package.json +29 -13
  405. package/dist/common/alphaTypes.d.ts +0 -109
  406. package/dist/common/cetus_mainnet_config.d.ts +0 -2
  407. package/dist/common/coins.d.ts +0 -4
  408. package/dist/common/constants.d.ts +0 -401
  409. package/dist/common/maps.d.ts +0 -56
  410. package/dist/common/pyth.d.ts +0 -6
  411. package/dist/common/types.d.ts +0 -459
  412. package/dist/example.d.ts +0 -2
  413. package/dist/getAirdropShare.d.ts +0 -1
  414. package/dist/getAllVaults.d.ts +0 -3
  415. package/dist/getAlphaUnlocks.d.ts +0 -13
  416. package/dist/getAprs.d.ts +0 -5
  417. package/dist/getHoldersFromTransactions.d.ts +0 -8
  418. package/dist/getLastAutoCompoundTime.d.ts +0 -2
  419. package/dist/getRebalanceHistory.d.ts +0 -3
  420. package/dist/getVaultBalances.d.ts +0 -8
  421. package/dist/getVaults.d.ts +0 -4
  422. package/dist/graphql/client.d.ts +0 -3
  423. package/dist/graphql/executeMutations.d.ts +0 -3
  424. package/dist/graphql/fetchAutoCompoundingEventsGql.d.ts +0 -26
  425. package/dist/graphql/fetchData.d.ts +0 -10
  426. package/dist/graphql/fetchNftHolders.d.ts +0 -2
  427. package/dist/graphql/fetchReceipts.d.ts +0 -2
  428. package/dist/graphql/mutations.d.ts +0 -3
  429. package/dist/graphql/parseData.d.ts +0 -1
  430. package/dist/graphql/parseLockedTableId.d.ts +0 -6
  431. package/dist/graphql/queries.d.ts +0 -14
  432. package/dist/graphql/types.d.ts +0 -69
  433. package/dist/index.js +0 -3
  434. package/dist/index.js.LICENSE.txt +0 -48
  435. package/dist/index.js.map +0 -1
  436. package/dist/sui-sdk/client.d.ts +0 -30
  437. package/dist/sui-sdk/events/fetchAutoCompoundingEvents.d.ts +0 -5
  438. package/dist/sui-sdk/events/fetchEvents.d.ts +0 -2
  439. package/dist/sui-sdk/events/fetchLiquidityChangeEvents.d.ts +0 -2
  440. package/dist/sui-sdk/events/fetchRebalanceEvents.d.ts +0 -4
  441. package/dist/sui-sdk/events/parseData.d.ts +0 -3
  442. package/dist/sui-sdk/events/types.d.ts +0 -93
  443. package/dist/sui-sdk/functions/fetchTableData.d.ts +0 -49
  444. package/dist/sui-sdk/functions/fetchUserVaultBalances.d.ts +0 -2
  445. package/dist/sui-sdk/functions/fetchUserVaults.d.ts +0 -2
  446. package/dist/sui-sdk/functions/getPortfolioAmounts.d.ts +0 -32
  447. package/dist/sui-sdk/functions/getReceipts.d.ts +0 -10
  448. package/dist/sui-sdk/transactions/constants.d.ts +0 -3
  449. package/dist/sui-sdk/transactions/fetchTransactions.d.ts +0 -3
  450. package/dist/sui-sdk/transactions/types.d.ts +0 -7
  451. package/dist/types.d.ts +0 -212
  452. package/dist/utils/clmm/prices.d.ts +0 -19
  453. package/dist/utils/clmm/tokenAmountFromLiquidity.d.ts +0 -10
  454. package/dist/utils/clmm/types.d.ts +0 -24
  455. package/dist/utils/constants.d.ts +0 -2
  456. package/dist/utils/getHoldersFromTransactionsUtils.d.ts +0 -5
  457. package/dist/utils/getReceipts.d.ts +0 -3
  458. package/dist/utils/hop.d.ts +0 -15
  459. package/dist/utils/prices.d.ts +0 -6
  460. package/dist/utils/simpleCache.d.ts +0 -9
  461. package/dist/utils/types.d.ts +0 -4
  462. package/dist/utils/userHoldings.d.ts +0 -5
  463. package/dist/vaultFunctions.d.ts +0 -4
@@ -0,0 +1,375 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getReceipts = getReceipts;
4
+ exports.getPoolExchangeRate = getPoolExchangeRate;
5
+ exports.getCoinAmountsFromLiquidity = getCoinAmountsFromLiquidity;
6
+ exports.getPool = getPool;
7
+ exports.getCetusPool = getCetusPool;
8
+ exports.getCetusInvestor = getCetusInvestor;
9
+ exports.getNaviInvestor = getNaviInvestor;
10
+ exports.fetchVoloExchangeRate = fetchVoloExchangeRate;
11
+ const tslib_1 = require("tslib");
12
+ const maps_js_1 = require("../../common/maps.js");
13
+ const simpleCache_js_1 = require("../../utils/simpleCache.js");
14
+ const cetus_sui_clmm_sdk_1 = require("@cetusprotocol/cetus-sui-clmm-sdk");
15
+ const bn_js_1 = tslib_1.__importDefault(require("bn.js"));
16
+ const decimal_js_1 = require("decimal.js");
17
+ const client_js_1 = require("../client.js");
18
+ const receiptsCache = new simpleCache_js_1.SimpleCache();
19
+ const receiptsPromiseCache = new simpleCache_js_1.SimpleCache();
20
+ async function getReceipts(poolName, address, ignoreCache = false) {
21
+ const suiClient = (0, client_js_1.getSuiClient)();
22
+ const receiptsCacheKey = `getReceipts-${poolName}-${address}`;
23
+ if (ignoreCache) {
24
+ receiptsCache.delete(receiptsCacheKey);
25
+ receiptsPromiseCache.delete(receiptsCacheKey);
26
+ }
27
+ const cachedResponse = receiptsCache.get(receiptsCacheKey);
28
+ if (cachedResponse) {
29
+ return cachedResponse;
30
+ }
31
+ const nfts = [];
32
+ let cachedPromise = receiptsPromiseCache.get(receiptsCacheKey);
33
+ if (!cachedPromise) {
34
+ cachedPromise = (async () => {
35
+ // const first_package = conf[CONF_ENV].ALPHA_FIRST_PACKAGE_ID;
36
+ let currentCursor = null;
37
+ /* eslint-disable-next-line no-constant-condition */
38
+ while (true) {
39
+ const paginatedObjects = await suiClient.getOwnedObjects({
40
+ owner: address,
41
+ cursor: currentCursor,
42
+ filter: {
43
+ // StructType: `${first_package}::${module}::Receipt`,
44
+ StructType: maps_js_1.poolInfo[poolName].receiptType,
45
+ },
46
+ options: {
47
+ showType: true,
48
+ showContent: true,
49
+ },
50
+ });
51
+ // Traverse the current page data and push to coins array
52
+ paginatedObjects.data.forEach((obj) => {
53
+ const o = obj.data;
54
+ if (o) {
55
+ if (maps_js_1.poolInfo[poolName].receiptName === o.content.fields.name) {
56
+ nfts.push(o);
57
+ }
58
+ }
59
+ });
60
+ // Check if there's a next page
61
+ if (paginatedObjects.hasNextPage && paginatedObjects.nextCursor) {
62
+ currentCursor = paginatedObjects.nextCursor;
63
+ }
64
+ else {
65
+ // No more pages available
66
+ break;
67
+ }
68
+ }
69
+ receiptsCache.set(receiptsCacheKey, nfts);
70
+ receiptsPromiseCache.delete(receiptsCacheKey);
71
+ return nfts;
72
+ })().catch((error) => {
73
+ // TODO: Jugaad
74
+ if (maps_js_1.poolInfo[poolName].parentProtocolName === "NAVI") {
75
+ return nfts;
76
+ }
77
+ else {
78
+ receiptsPromiseCache.delete(receiptsCacheKey); // Remove the promise from cache
79
+ throw error;
80
+ }
81
+ });
82
+ receiptsPromiseCache.set(receiptsCacheKey, cachedPromise);
83
+ }
84
+ return cachedPromise;
85
+ }
86
+ const poolExchangeRateCache = new simpleCache_js_1.SimpleCache();
87
+ async function getPoolExchangeRate(poolName, ignoreCache = false) {
88
+ const poolExchangeRateCacheKey = `getPoolExchangeRate-${poolName}`;
89
+ if (ignoreCache) {
90
+ poolExchangeRateCache.delete(poolExchangeRateCacheKey);
91
+ }
92
+ const cachedResponse = poolExchangeRateCache.get(poolExchangeRateCacheKey);
93
+ if (cachedResponse) {
94
+ return cachedResponse;
95
+ }
96
+ let pool = undefined;
97
+ try {
98
+ if (poolName === "ALPHA") {
99
+ pool = await getPool("ALPHA");
100
+ }
101
+ else if (poolName === "ALPHA-SUI" ||
102
+ poolName === "USDT-USDC" ||
103
+ poolName === "USDY-USDC" ||
104
+ poolName === "HASUI-SUI" ||
105
+ poolName === "USDC-SUI" ||
106
+ poolName === "WETH-USDC") {
107
+ pool = await getPool(poolName);
108
+ }
109
+ else {
110
+ pool = await getPool(poolName);
111
+ }
112
+ if (pool) {
113
+ const xTokenSupply = new decimal_js_1.Decimal(pool.content.fields.xTokenSupply);
114
+ let tokensInvested = new decimal_js_1.Decimal(pool.content.fields.tokensInvested);
115
+ if (poolName == "ALPHA") {
116
+ tokensInvested = new decimal_js_1.Decimal(pool.content.fields.alpha_bal);
117
+ }
118
+ // Check for division by zero
119
+ if (xTokenSupply.eq(0)) {
120
+ console.error("Division by zero error: tokensInvested is zero.");
121
+ return undefined;
122
+ }
123
+ const poolExchangeRate = tokensInvested.div(xTokenSupply);
124
+ poolExchangeRateCache.set(poolExchangeRateCacheKey, poolExchangeRate);
125
+ return poolExchangeRate;
126
+ }
127
+ }
128
+ catch (e) {
129
+ console.error(`getPoolExchangeRate failed for poolName: ${poolName}`);
130
+ }
131
+ return undefined;
132
+ }
133
+ async function getCoinAmountsFromLiquidity(poolName, liquidity) {
134
+ const cetus_pool = await getCetusPool(poolName);
135
+ const cetusInvestor = await getCetusInvestor(poolName);
136
+ const upper_bound = 443636;
137
+ let lower_tick = Number(cetusInvestor.content.fields.lower_tick);
138
+ let upper_tick = Number(cetusInvestor.content.fields.upper_tick);
139
+ if (lower_tick > upper_bound) {
140
+ lower_tick = -~(lower_tick - 1);
141
+ }
142
+ if (upper_tick > upper_bound) {
143
+ upper_tick = -~(upper_tick - 1);
144
+ }
145
+ if (cetus_pool) {
146
+ const liquidityInt = Math.floor(liquidity);
147
+ const coin_amounts = cetus_sui_clmm_sdk_1.ClmmPoolUtil.getCoinAmountFromLiquidity(new bn_js_1.default(`${liquidityInt}`), new bn_js_1.default(cetus_pool.content.fields.current_sqrt_price), cetus_sui_clmm_sdk_1.TickMath.tickIndexToSqrtPriceX64(lower_tick), cetus_sui_clmm_sdk_1.TickMath.tickIndexToSqrtPriceX64(upper_tick), true);
148
+ return [coin_amounts.coinA.toNumber(), coin_amounts.coinB.toNumber()];
149
+ }
150
+ else {
151
+ return [0, 0];
152
+ }
153
+ }
154
+ const poolCache = new simpleCache_js_1.SimpleCache();
155
+ const poolPromiseCache = new simpleCache_js_1.SimpleCache();
156
+ async function getPool(poolName, ignoreCache = false) {
157
+ const cacheKey = `pool_${maps_js_1.poolInfo[poolName.toUpperCase()].poolId}`;
158
+ if (ignoreCache) {
159
+ poolCache.delete(cacheKey);
160
+ poolPromiseCache.delete(cacheKey);
161
+ }
162
+ // Check if the pool is already in the cache
163
+ const cachedPool = poolCache.get(cacheKey);
164
+ if (cachedPool) {
165
+ return cachedPool;
166
+ }
167
+ // Check if there is already a promise in the cache
168
+ let poolPromise = poolPromiseCache.get(cacheKey);
169
+ if (poolPromise) {
170
+ return poolPromise;
171
+ }
172
+ // If not, create a new promise and cache it
173
+ poolPromise = (async () => {
174
+ const suiClient = (0, client_js_1.getSuiClient)();
175
+ try {
176
+ const o = await suiClient.getObject({
177
+ id: maps_js_1.poolInfo[poolName].poolId,
178
+ options: {
179
+ showContent: true,
180
+ },
181
+ });
182
+ const poolData = poolName === "ALPHA" ? o.data : o.data;
183
+ // Cache the pool object
184
+ poolCache.set(cacheKey, poolData);
185
+ return poolData;
186
+ }
187
+ catch (e) {
188
+ console.error(`Error in getPool; poolName => ${poolName}`);
189
+ return undefined;
190
+ }
191
+ finally {
192
+ // Remove the promise from the cache after it resolves
193
+ poolPromiseCache.delete(cacheKey);
194
+ }
195
+ })();
196
+ // Cache the promise
197
+ poolPromiseCache.set(cacheKey, poolPromise);
198
+ return poolPromise;
199
+ }
200
+ const cetusPoolCache = new simpleCache_js_1.SimpleCache();
201
+ const cetusPoolPromiseCache = new simpleCache_js_1.SimpleCache();
202
+ async function getCetusPool(poolName, ignoreCache = false) {
203
+ const cacheKey = `pool_${maps_js_1.cetusPoolMap[poolName.toUpperCase()]}`;
204
+ if (ignoreCache) {
205
+ cetusPoolCache.delete(cacheKey);
206
+ cetusPoolPromiseCache.delete(cacheKey);
207
+ }
208
+ // Check if the pool is already in the cache
209
+ const cachedPool = cetusPoolCache.get(cacheKey);
210
+ if (cachedPool) {
211
+ return cachedPool;
212
+ }
213
+ // Check if there is already a promise in the cache
214
+ let cetusPoolPromise = cetusPoolPromiseCache.get(cacheKey);
215
+ if (cetusPoolPromise) {
216
+ return cetusPoolPromise;
217
+ }
218
+ // If not, create a new promise and cache it
219
+ cetusPoolPromise = (async () => {
220
+ try {
221
+ const suiClient = (0, client_js_1.getSuiClient)();
222
+ const o = await suiClient.getObject({
223
+ id: maps_js_1.cetusPoolMap[poolName.toUpperCase()],
224
+ options: {
225
+ showContent: true,
226
+ },
227
+ });
228
+ const cetusPool = o.data;
229
+ // Cache the pool object
230
+ cetusPoolCache.set(cacheKey, cetusPool);
231
+ return cetusPool;
232
+ }
233
+ catch (e) {
234
+ console.error(`getCetusPool failed for poolName: ${poolName}`);
235
+ return undefined;
236
+ }
237
+ finally {
238
+ // Remove the promise from the cache after it resolves
239
+ cetusPoolPromiseCache.delete(cacheKey);
240
+ }
241
+ })();
242
+ // Cache the promise
243
+ cetusPoolPromiseCache.set(cacheKey, cetusPoolPromise);
244
+ return cetusPoolPromise;
245
+ }
246
+ const cetusInvestorCache = new simpleCache_js_1.SimpleCache();
247
+ const cetusInvestorPromiseCache = new simpleCache_js_1.SimpleCache();
248
+ async function getCetusInvestor(poolName, ignoreCache = false) {
249
+ const cacheKey = `investor_${maps_js_1.poolInfo[poolName.toUpperCase()].investorId}`;
250
+ if (ignoreCache) {
251
+ cetusInvestorCache.delete(cacheKey);
252
+ cetusInvestorPromiseCache.delete(cacheKey);
253
+ }
254
+ // Check if the investor is already in the cache
255
+ const cachedInvestor = cetusInvestorCache.get(cacheKey);
256
+ if (cachedInvestor) {
257
+ return cachedInvestor;
258
+ }
259
+ // Check if there is already a promise in the cache
260
+ let cetusInvestorPromise = cetusInvestorPromiseCache.get(cacheKey);
261
+ if (cetusInvestorPromise) {
262
+ return cetusInvestorPromise;
263
+ }
264
+ // If not, create a new promise and cache it
265
+ cetusInvestorPromise = (async () => {
266
+ try {
267
+ const suiClient = (0, client_js_1.getSuiClient)();
268
+ const o = await suiClient.getObject({
269
+ id: maps_js_1.poolInfo[poolName.toUpperCase()].investorId,
270
+ options: {
271
+ showContent: true,
272
+ },
273
+ });
274
+ const cetus_investor = o.data;
275
+ // Cache the investor object
276
+ cetusInvestorCache.set(cacheKey, cetus_investor);
277
+ return cetus_investor;
278
+ }
279
+ catch (e) {
280
+ console.error(`getCetusInvestor failed for pool: ${poolName}`);
281
+ return undefined;
282
+ }
283
+ finally {
284
+ // Remove the promise from the cache after it resolves
285
+ cetusInvestorPromiseCache.delete(cacheKey);
286
+ }
287
+ })();
288
+ // Cache the promise
289
+ cetusInvestorPromiseCache.set(cacheKey, cetusInvestorPromise);
290
+ return cetusInvestorPromise;
291
+ }
292
+ const naviInvestorCache = new simpleCache_js_1.SimpleCache();
293
+ const naviInvestorPromiseCache = new simpleCache_js_1.SimpleCache();
294
+ async function getNaviInvestor(poolName, ignoreCache = false) {
295
+ const cacheKey = `investor_${maps_js_1.poolInfo[poolName.toUpperCase()].investorId}`;
296
+ if (ignoreCache) {
297
+ naviInvestorCache.delete(cacheKey);
298
+ naviInvestorPromiseCache.delete(cacheKey);
299
+ }
300
+ // Check if the investor is already in the cache
301
+ const cachedInvestor = naviInvestorCache.get(cacheKey);
302
+ if (cachedInvestor) {
303
+ return cachedInvestor;
304
+ }
305
+ // Check if there is already a promise in the cache
306
+ let naviInvestorPromise = naviInvestorPromiseCache.get(cacheKey);
307
+ if (naviInvestorPromise) {
308
+ return naviInvestorPromise;
309
+ }
310
+ // If not, create a new promise and cache it
311
+ naviInvestorPromise = (async () => {
312
+ try {
313
+ const suiClient = (0, client_js_1.getSuiClient)();
314
+ const o = await suiClient.getObject({
315
+ id: maps_js_1.poolInfo[poolName.toUpperCase()].investorId,
316
+ options: {
317
+ showContent: true,
318
+ },
319
+ });
320
+ const navi_investor = o.data;
321
+ // Cache the investor object
322
+ naviInvestorCache.set(cacheKey, navi_investor);
323
+ return navi_investor;
324
+ }
325
+ catch (e) {
326
+ console.error(`getNaviInvestor failed for pool: ${poolName}`);
327
+ return undefined;
328
+ }
329
+ finally {
330
+ // Remove the promise from the cache after it resolves
331
+ naviInvestorPromiseCache.delete(cacheKey);
332
+ }
333
+ })();
334
+ // Cache the promise
335
+ naviInvestorPromiseCache.set(cacheKey, naviInvestorPromise);
336
+ return naviInvestorPromise;
337
+ }
338
+ const naviVoloExchangeRateCache = new simpleCache_js_1.SimpleCache();
339
+ const naviVoloExchangeRatePromiseCache = new simpleCache_js_1.SimpleCache();
340
+ async function fetchVoloExchangeRate(ignoreCache = false) {
341
+ const apiUrl = "https://open-api.naviprotocol.io/api/volo/stats";
342
+ let NaviVoloDetails;
343
+ if (ignoreCache) {
344
+ naviVoloExchangeRateCache.clear();
345
+ naviVoloExchangeRatePromiseCache.delete(apiUrl);
346
+ }
347
+ const cachedResponse = naviVoloExchangeRateCache.get(apiUrl);
348
+ if (cachedResponse) {
349
+ NaviVoloDetails = cachedResponse;
350
+ }
351
+ else {
352
+ let cachedPromise = naviVoloExchangeRatePromiseCache.get(apiUrl);
353
+ if (!cachedPromise) {
354
+ cachedPromise = fetch(apiUrl)
355
+ .then(async (response) => {
356
+ if (!response.ok) {
357
+ throw new Error(`HTTP error! status: ${response.status}`);
358
+ }
359
+ const data = (await response.json()); // Parse the JSON response
360
+ naviVoloExchangeRateCache.set(apiUrl, data); // Cache the response
361
+ naviVoloExchangeRatePromiseCache.delete(apiUrl); // Remove the promise from the cache
362
+ return data;
363
+ })
364
+ .catch((error) => {
365
+ naviVoloExchangeRatePromiseCache.delete(apiUrl); // Ensure the promise is removed on error
366
+ throw error;
367
+ });
368
+ naviVoloExchangeRatePromiseCache.set(apiUrl, cachedPromise);
369
+ NaviVoloDetails = await cachedPromise;
370
+ }
371
+ return cachedPromise;
372
+ }
373
+ return NaviVoloDetails;
374
+ }
375
+ //# sourceMappingURL=getReceipts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getReceipts.js","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/getReceipts.ts"],"names":[],"mappings":"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","sourcesContent":["import { PaginatedObjectsResponse } from \"@mysten/sui/client\";\nimport {\n AlphaPoolType,\n CetusInvestor,\n NaviInvestor,\n CommonInvestorFields,\n CetusPoolType,\n CoinAmounts,\n PoolName,\n PoolType,\n Receipt,\n SingleAssetPoolNames,\n NaviVoloData,\n} from \"../../index.js\";\nimport { cetusPoolMap, poolInfo } from \"../../common/maps.js\";\nimport { SimpleCache } from \"../../utils/simpleCache.js\";\nimport { ClmmPoolUtil, TickMath } from \"@cetusprotocol/cetus-sui-clmm-sdk\";\nimport BN from \"bn.js\";\nimport { Decimal } from \"decimal.js\";\nimport { getSuiClient } from \"../client.js\";\n\nconst receiptsCache = new SimpleCache<Receipt[]>();\nconst receiptsPromiseCache = new SimpleCache<Promise<Receipt[]>>();\nexport async function getReceipts(\n poolName: string,\n address: string,\n ignoreCache: boolean = false,\n): Promise<Receipt[]> {\n const suiClient = getSuiClient();\n const receiptsCacheKey = `getReceipts-${poolName}-${address}`;\n if (ignoreCache) {\n receiptsCache.delete(receiptsCacheKey);\n receiptsPromiseCache.delete(receiptsCacheKey);\n }\n const cachedResponse = receiptsCache.get(receiptsCacheKey);\n if (cachedResponse) {\n return cachedResponse;\n }\n\n const nfts: Receipt[] = [];\n\n let cachedPromise = receiptsPromiseCache.get(receiptsCacheKey);\n if (!cachedPromise) {\n cachedPromise = (async (): Promise<Receipt[]> => {\n // const first_package = conf[CONF_ENV].ALPHA_FIRST_PACKAGE_ID;\n let currentCursor: string | null | undefined = null;\n /* eslint-disable-next-line no-constant-condition */\n while (true) {\n const paginatedObjects: PaginatedObjectsResponse =\n await suiClient.getOwnedObjects({\n owner: address,\n cursor: currentCursor,\n filter: {\n // StructType: `${first_package}::${module}::Receipt`,\n StructType: poolInfo[poolName].receiptType,\n },\n options: {\n showType: true,\n showContent: true,\n },\n });\n // Traverse the current page data and push to coins array\n\n paginatedObjects.data.forEach((obj) => {\n const o = obj.data as Receipt;\n if (o) {\n if (poolInfo[poolName].receiptName === o.content.fields.name) {\n nfts.push(o);\n }\n }\n });\n\n // Check if there's a next page\n if (paginatedObjects.hasNextPage && paginatedObjects.nextCursor) {\n currentCursor = paginatedObjects.nextCursor;\n } else {\n // No more pages available\n break;\n }\n }\n receiptsCache.set(receiptsCacheKey, nfts);\n receiptsPromiseCache.delete(receiptsCacheKey);\n return nfts;\n })().catch((error) => {\n // TODO: Jugaad\n if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n return nfts;\n } else {\n receiptsPromiseCache.delete(receiptsCacheKey); // Remove the promise from cache\n throw error;\n }\n });\n receiptsPromiseCache.set(receiptsCacheKey, cachedPromise);\n }\n return cachedPromise;\n}\n\nconst poolExchangeRateCache = new SimpleCache<Decimal>();\n\nexport async function getPoolExchangeRate(\n poolName: PoolName,\n ignoreCache: boolean = false,\n): Promise<Decimal | undefined> {\n const poolExchangeRateCacheKey = `getPoolExchangeRate-${poolName}`;\n if (ignoreCache) {\n poolExchangeRateCache.delete(poolExchangeRateCacheKey);\n }\n const cachedResponse = poolExchangeRateCache.get(poolExchangeRateCacheKey);\n if (cachedResponse) {\n return cachedResponse;\n }\n\n let pool = undefined;\n try {\n if (poolName === \"ALPHA\") {\n pool = await getPool(\"ALPHA\");\n } else if (\n poolName === \"ALPHA-SUI\" ||\n poolName === \"USDT-USDC\" ||\n poolName === \"USDY-USDC\" ||\n poolName === \"HASUI-SUI\" ||\n poolName === \"USDC-SUI\" ||\n poolName === \"WETH-USDC\"\n ) {\n pool = await getPool(poolName);\n } else {\n pool = await getPool(poolName);\n }\n if (pool) {\n const xTokenSupply = new Decimal(pool.content.fields.xTokenSupply);\n let tokensInvested = new Decimal(pool.content.fields.tokensInvested);\n if (poolName == \"ALPHA\") {\n tokensInvested = new Decimal(pool.content.fields.alpha_bal);\n }\n\n // Check for division by zero\n if (xTokenSupply.eq(0)) {\n console.error(\"Division by zero error: tokensInvested is zero.\");\n return undefined;\n }\n const poolExchangeRate = tokensInvested.div(xTokenSupply);\n\n poolExchangeRateCache.set(poolExchangeRateCacheKey, poolExchangeRate);\n\n return poolExchangeRate;\n }\n } catch (e) {\n console.error(`getPoolExchangeRate failed for poolName: ${poolName}`);\n }\n\n return undefined;\n}\n\nexport async function getCoinAmountsFromLiquidity(\n poolName: PoolName,\n liquidity: number,\n): Promise<[number, number]> {\n const cetus_pool = await getCetusPool(poolName);\n const cetusInvestor = await getCetusInvestor(poolName);\n\n const upper_bound = 443636;\n let lower_tick = Number(cetusInvestor!.content.fields.lower_tick);\n let upper_tick = Number(cetusInvestor!.content.fields.upper_tick);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n\n if (cetus_pool) {\n const liquidityInt = Math.floor(liquidity);\n const coin_amounts: CoinAmounts = ClmmPoolUtil.getCoinAmountFromLiquidity(\n new BN(`${liquidityInt}`),\n new BN(cetus_pool.content.fields.current_sqrt_price),\n TickMath.tickIndexToSqrtPriceX64(lower_tick),\n TickMath.tickIndexToSqrtPriceX64(upper_tick),\n true,\n );\n\n return [coin_amounts.coinA.toNumber(), coin_amounts.coinB.toNumber()];\n } else {\n return [0, 0];\n }\n}\n\nconst poolCache = new SimpleCache<PoolType | AlphaPoolType>();\nconst poolPromiseCache = new SimpleCache<\n Promise<PoolType | AlphaPoolType | undefined>\n>();\n\nexport async function getPool(\n poolName: string,\n ignoreCache: boolean = false,\n): Promise<PoolType | AlphaPoolType | undefined> {\n const cacheKey = `pool_${poolInfo[poolName.toUpperCase()].poolId}`;\n\n if (ignoreCache) {\n poolCache.delete(cacheKey);\n poolPromiseCache.delete(cacheKey);\n }\n\n // Check if the pool is already in the cache\n const cachedPool = poolCache.get(cacheKey);\n if (cachedPool) {\n return cachedPool;\n }\n\n // Check if there is already a promise in the cache\n let poolPromise = poolPromiseCache.get(cacheKey);\n if (poolPromise) {\n return poolPromise;\n }\n\n // If not, create a new promise and cache it\n poolPromise = (async () => {\n const suiClient = getSuiClient();\n\n try {\n const o = await suiClient.getObject({\n id: poolInfo[poolName].poolId,\n options: {\n showContent: true,\n },\n });\n\n const poolData =\n poolName === \"ALPHA\" ? (o.data as AlphaPoolType) : (o.data as PoolType);\n\n // Cache the pool object\n poolCache.set(cacheKey, poolData);\n return poolData;\n } catch (e) {\n console.error(`Error in getPool; poolName => ${poolName}`);\n return undefined;\n } finally {\n // Remove the promise from the cache after it resolves\n poolPromiseCache.delete(cacheKey);\n }\n })();\n\n // Cache the promise\n poolPromiseCache.set(cacheKey, poolPromise);\n return poolPromise;\n}\n\nconst cetusPoolCache = new SimpleCache<CetusPoolType>();\nconst cetusPoolPromiseCache = new SimpleCache<\n Promise<CetusPoolType | undefined>\n>();\n\nexport async function getCetusPool(\n poolName: string,\n ignoreCache: boolean = false,\n): Promise<CetusPoolType | undefined> {\n const cacheKey = `pool_${cetusPoolMap[poolName.toUpperCase()]}`;\n if (ignoreCache) {\n cetusPoolCache.delete(cacheKey);\n cetusPoolPromiseCache.delete(cacheKey);\n }\n\n // Check if the pool is already in the cache\n const cachedPool = cetusPoolCache.get(cacheKey);\n if (cachedPool) {\n return cachedPool;\n }\n\n // Check if there is already a promise in the cache\n let cetusPoolPromise = cetusPoolPromiseCache.get(cacheKey);\n if (cetusPoolPromise) {\n return cetusPoolPromise;\n }\n\n // If not, create a new promise and cache it\n cetusPoolPromise = (async () => {\n try {\n const suiClient = getSuiClient();\n\n const o = await suiClient.getObject({\n id: cetusPoolMap[poolName.toUpperCase()],\n options: {\n showContent: true,\n },\n });\n const cetusPool = o.data as CetusPoolType;\n\n // Cache the pool object\n cetusPoolCache.set(cacheKey, cetusPool);\n return cetusPool;\n } catch (e) {\n console.error(`getCetusPool failed for poolName: ${poolName}`);\n return undefined;\n } finally {\n // Remove the promise from the cache after it resolves\n cetusPoolPromiseCache.delete(cacheKey);\n }\n })();\n\n // Cache the promise\n cetusPoolPromiseCache.set(cacheKey, cetusPoolPromise);\n return cetusPoolPromise;\n}\n\nconst cetusInvestorCache = new SimpleCache<CetusInvestor>();\nconst cetusInvestorPromiseCache = new SimpleCache<\n Promise<CetusInvestor | undefined>\n>();\n\nexport async function getCetusInvestor(\n poolName: PoolName,\n ignoreCache: boolean = false,\n): Promise<CetusInvestor | undefined> {\n const cacheKey = `investor_${poolInfo[poolName.toUpperCase()].investorId}`;\n if (ignoreCache) {\n cetusInvestorCache.delete(cacheKey);\n cetusInvestorPromiseCache.delete(cacheKey);\n }\n // Check if the investor is already in the cache\n const cachedInvestor = cetusInvestorCache.get(cacheKey);\n if (cachedInvestor) {\n return cachedInvestor;\n }\n\n // Check if there is already a promise in the cache\n let cetusInvestorPromise = cetusInvestorPromiseCache.get(cacheKey);\n if (cetusInvestorPromise) {\n return cetusInvestorPromise;\n }\n\n // If not, create a new promise and cache it\n cetusInvestorPromise = (async () => {\n try {\n const suiClient = getSuiClient();\n\n const o = await suiClient.getObject({\n id: poolInfo[poolName.toUpperCase()].investorId,\n options: {\n showContent: true,\n },\n });\n const cetus_investor = o.data as CetusInvestor;\n\n // Cache the investor object\n cetusInvestorCache.set(cacheKey, cetus_investor);\n return cetus_investor;\n } catch (e) {\n console.error(`getCetusInvestor failed for pool: ${poolName}`);\n return undefined;\n } finally {\n // Remove the promise from the cache after it resolves\n cetusInvestorPromiseCache.delete(cacheKey);\n }\n })();\n\n // Cache the promise\n cetusInvestorPromiseCache.set(cacheKey, cetusInvestorPromise);\n return cetusInvestorPromise;\n}\n\nconst naviInvestorCache = new SimpleCache<\n NaviInvestor & CommonInvestorFields\n>();\nconst naviInvestorPromiseCache = new SimpleCache<\n Promise<(NaviInvestor & CommonInvestorFields) | undefined>\n>();\n\nexport async function getNaviInvestor(\n poolName: SingleAssetPoolNames,\n ignoreCache: boolean = false,\n): Promise<(NaviInvestor & CommonInvestorFields) | undefined> {\n const cacheKey = `investor_${poolInfo[poolName.toUpperCase()].investorId}`;\n if (ignoreCache) {\n naviInvestorCache.delete(cacheKey);\n naviInvestorPromiseCache.delete(cacheKey);\n }\n // Check if the investor is already in the cache\n const cachedInvestor = naviInvestorCache.get(cacheKey);\n if (cachedInvestor) {\n return cachedInvestor;\n }\n\n // Check if there is already a promise in the cache\n let naviInvestorPromise = naviInvestorPromiseCache.get(cacheKey);\n if (naviInvestorPromise) {\n return naviInvestorPromise;\n }\n\n // If not, create a new promise and cache it\n naviInvestorPromise = (async () => {\n try {\n const suiClient = getSuiClient();\n\n const o = await suiClient.getObject({\n id: poolInfo[poolName.toUpperCase()].investorId,\n options: {\n showContent: true,\n },\n });\n const navi_investor = o.data as NaviInvestor & CommonInvestorFields;\n\n // Cache the investor object\n naviInvestorCache.set(cacheKey, navi_investor);\n return navi_investor;\n } catch (e) {\n console.error(`getNaviInvestor failed for pool: ${poolName}`);\n return undefined;\n } finally {\n // Remove the promise from the cache after it resolves\n naviInvestorPromiseCache.delete(cacheKey);\n }\n })();\n\n // Cache the promise\n naviInvestorPromiseCache.set(cacheKey, naviInvestorPromise);\n return naviInvestorPromise;\n}\n\nconst naviVoloExchangeRateCache = new SimpleCache<NaviVoloData>();\nconst naviVoloExchangeRatePromiseCache = new SimpleCache<\n Promise<NaviVoloData>\n>();\n\nexport async function fetchVoloExchangeRate(\n ignoreCache: boolean = false,\n): Promise<NaviVoloData> {\n const apiUrl = \"https://open-api.naviprotocol.io/api/volo/stats\";\n let NaviVoloDetails: NaviVoloData;\n if (ignoreCache) {\n naviVoloExchangeRateCache.clear();\n naviVoloExchangeRatePromiseCache.delete(apiUrl);\n }\n\n const cachedResponse = naviVoloExchangeRateCache.get(apiUrl);\n if (cachedResponse) {\n NaviVoloDetails = cachedResponse;\n } else {\n let cachedPromise = naviVoloExchangeRatePromiseCache.get(apiUrl);\n\n if (!cachedPromise) {\n cachedPromise = fetch(apiUrl)\n .then(async (response) => {\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const data = (await response.json()) as NaviVoloData; // Parse the JSON response\n naviVoloExchangeRateCache.set(apiUrl, data); // Cache the response\n naviVoloExchangeRatePromiseCache.delete(apiUrl); // Remove the promise from the cache\n return data;\n })\n .catch((error) => {\n naviVoloExchangeRatePromiseCache.delete(apiUrl); // Ensure the promise is removed on error\n throw error;\n });\n naviVoloExchangeRatePromiseCache.set(apiUrl, cachedPromise);\n NaviVoloDetails = await cachedPromise;\n }\n return cachedPromise;\n }\n\n return NaviVoloDetails;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/transactions/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,EA2ElD,CAAC;AAEL,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,EAoB/C,CAAC"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.alphaDepositFilters = exports.nonAlphaDepositFilters = void 0;
4
+ const constants_js_1 = require("../../common/constants.js");
5
+ exports.nonAlphaDepositFilters = (function () {
6
+ const alphafi_cetus_pool_1filters = constants_js_1.conf[constants_js_1.CONF_ENV].ALPHA_PACKAGE_IDS.map((id) => {
7
+ return {
8
+ MoveFunction: {
9
+ function: "user_deposit",
10
+ module: "alphafi_cetus_pool",
11
+ package: id,
12
+ },
13
+ };
14
+ });
15
+ const alphafi_cetus_pool_2filters = constants_js_1.conf[constants_js_1.CONF_ENV].ALPHA_2_PACKAGE_IDS.map((id) => {
16
+ return {
17
+ MoveFunction: {
18
+ function: "user_deposit",
19
+ module: "alphafi_cetus_pool",
20
+ package: id,
21
+ },
22
+ };
23
+ });
24
+ const alphafi_cetus_sui_pool_1filters = constants_js_1.conf[constants_js_1.CONF_ENV].ALPHA_PACKAGE_IDS.map((id) => {
25
+ return {
26
+ MoveFunction: {
27
+ function: "user_deposit",
28
+ module: "alphafi_cetus_sui_pool",
29
+ package: id,
30
+ },
31
+ };
32
+ });
33
+ const alphafi_cetus_sui_pool_2filters = constants_js_1.conf[constants_js_1.CONF_ENV].ALPHA_2_PACKAGE_IDS.map((id) => {
34
+ return {
35
+ MoveFunction: {
36
+ function: "user_deposit",
37
+ module: "alphafi_cetus_sui_pool",
38
+ package: id,
39
+ },
40
+ };
41
+ });
42
+ const alphafi_cetus_pool_base_a_1filters = constants_js_1.conf[constants_js_1.CONF_ENV].ALPHA_PACKAGE_IDS.map((id) => {
43
+ return {
44
+ MoveFunction: {
45
+ function: "user_deposit",
46
+ module: "alphafi_cetus_pool_base_a",
47
+ package: id,
48
+ },
49
+ };
50
+ });
51
+ const alphafi_cetus_pool_base_a_2filters = constants_js_1.conf[constants_js_1.CONF_ENV].ALPHA_2_PACKAGE_IDS.map((id) => {
52
+ return {
53
+ MoveFunction: {
54
+ function: "user_deposit",
55
+ module: "alphafi_cetus_pool_base_a",
56
+ package: id,
57
+ },
58
+ };
59
+ });
60
+ return [
61
+ ...alphafi_cetus_pool_1filters,
62
+ ...alphafi_cetus_pool_2filters,
63
+ ...alphafi_cetus_sui_pool_1filters,
64
+ ...alphafi_cetus_sui_pool_2filters,
65
+ ...alphafi_cetus_pool_base_a_1filters,
66
+ ...alphafi_cetus_pool_base_a_2filters,
67
+ ];
68
+ })();
69
+ exports.alphaDepositFilters = (function () {
70
+ const alpha1filters = constants_js_1.conf[constants_js_1.CONF_ENV].ALPHA_PACKAGE_IDS.map((id) => {
71
+ return {
72
+ MoveFunction: {
73
+ function: "user_deposit",
74
+ module: "alphapool",
75
+ package: id,
76
+ },
77
+ };
78
+ });
79
+ const alpha2fliters = constants_js_1.conf[constants_js_1.CONF_ENV].ALPHA_2_PACKAGE_IDS.map((id) => {
80
+ return {
81
+ MoveFunction: {
82
+ function: "user_deposit",
83
+ module: "alphapool",
84
+ package: id,
85
+ },
86
+ };
87
+ });
88
+ return [...alpha1filters, ...alpha2fliters];
89
+ })();
90
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/sui-sdk/transactions/constants.ts"],"names":[],"mappings":"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","sourcesContent":["import { TransactionFilter } from \"@mysten/sui/client\";\nimport { conf, CONF_ENV } from \"../../common/constants.js\";\n\nexport const nonAlphaDepositFilters: TransactionFilter[] = (function () {\n const alphafi_cetus_pool_1filters = conf[CONF_ENV].ALPHA_PACKAGE_IDS.map(\n (id) => {\n return {\n MoveFunction: {\n function: \"user_deposit\",\n module: \"alphafi_cetus_pool\",\n package: id,\n },\n };\n },\n );\n const alphafi_cetus_pool_2filters = conf[CONF_ENV].ALPHA_2_PACKAGE_IDS.map(\n (id) => {\n return {\n MoveFunction: {\n function: \"user_deposit\",\n module: \"alphafi_cetus_pool\",\n package: id,\n },\n };\n },\n );\n const alphafi_cetus_sui_pool_1filters = conf[CONF_ENV].ALPHA_PACKAGE_IDS.map(\n (id) => {\n return {\n MoveFunction: {\n function: \"user_deposit\",\n module: \"alphafi_cetus_sui_pool\",\n package: id,\n },\n };\n },\n );\n const alphafi_cetus_sui_pool_2filters = conf[\n CONF_ENV\n ].ALPHA_2_PACKAGE_IDS.map((id) => {\n return {\n MoveFunction: {\n function: \"user_deposit\",\n module: \"alphafi_cetus_sui_pool\",\n package: id,\n },\n };\n });\n const alphafi_cetus_pool_base_a_1filters = conf[\n CONF_ENV\n ].ALPHA_PACKAGE_IDS.map((id) => {\n return {\n MoveFunction: {\n function: \"user_deposit\",\n module: \"alphafi_cetus_pool_base_a\",\n package: id,\n },\n };\n });\n const alphafi_cetus_pool_base_a_2filters = conf[\n CONF_ENV\n ].ALPHA_2_PACKAGE_IDS.map((id) => {\n return {\n MoveFunction: {\n function: \"user_deposit\",\n module: \"alphafi_cetus_pool_base_a\",\n package: id,\n },\n };\n });\n return [\n ...alphafi_cetus_pool_1filters,\n ...alphafi_cetus_pool_2filters,\n ...alphafi_cetus_sui_pool_1filters,\n ...alphafi_cetus_sui_pool_2filters,\n ...alphafi_cetus_pool_base_a_1filters,\n ...alphafi_cetus_pool_base_a_2filters,\n ] as TransactionFilter[];\n})();\n\nexport const alphaDepositFilters: TransactionFilter[] = (function () {\n const alpha1filters = conf[CONF_ENV].ALPHA_PACKAGE_IDS.map((id) => {\n return {\n MoveFunction: {\n function: \"user_deposit\",\n module: \"alphapool\",\n package: id,\n },\n };\n });\n const alpha2fliters = conf[CONF_ENV].ALPHA_2_PACKAGE_IDS.map((id) => {\n return {\n MoveFunction: {\n function: \"user_deposit\",\n module: \"alphapool\",\n package: id,\n },\n };\n });\n return [...alpha1filters, ...alpha2fliters] as TransactionFilter[];\n})();\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchTransactions.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/transactions/fetchTransactions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAoFxC"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchTransactions = fetchTransactions;
4
+ const client_js_1 = require("../client.js");
5
+ async function fetchTransactions(params) {
6
+ let transactionBlocks = [];
7
+ const suiClient = (0, client_js_1.getSuiClient)();
8
+ for (const filter of params.filter) {
9
+ let hasNextPage = true;
10
+ let nextCursor = null;
11
+ while (hasNextPage) {
12
+ const res = await suiClient.queryTransactionBlocks({
13
+ cursor: nextCursor,
14
+ filter: filter,
15
+ options: {
16
+ showEffects: true,
17
+ showInput: true,
18
+ showObjectChanges: true,
19
+ },
20
+ });
21
+ if (res.data.length !== 0) {
22
+ const lastTx = res.data[res.data.length - 1];
23
+ const firstTx = res.data[0];
24
+ const laterTime = firstTx.timestampMs;
25
+ const earlierTime = lastTx.timestampMs;
26
+ if (Number(laterTime) < params.startTime) {
27
+ // Page beyond interval
28
+ hasNextPage = false;
29
+ break;
30
+ }
31
+ else if (Number(earlierTime) > params.endTime) {
32
+ // Page beyond interval
33
+ continue;
34
+ }
35
+ else if (Number(laterTime) > params.startTime &&
36
+ Number(laterTime) < params.endTime &&
37
+ Number(earlierTime) < params.startTime) {
38
+ // Page spills from interval startTime
39
+ for (let i = 0; i < res.data.length; i++) {
40
+ if (Number(res.data[i].timestampMs) > params.startTime) {
41
+ transactionBlocks.push(res.data[i]);
42
+ }
43
+ else {
44
+ break;
45
+ }
46
+ }
47
+ }
48
+ else if (Number(laterTime) > params.endTime &&
49
+ Number(earlierTime) > params.startTime &&
50
+ Number(earlierTime) < params.endTime) {
51
+ // Page spills from interval endTIme
52
+ for (let i = res.data.length - 1; i >= 0; i--) {
53
+ if (Number(res.data[i].timestampMs) < params.endTime) {
54
+ transactionBlocks.push(res.data[i]);
55
+ }
56
+ else {
57
+ break;
58
+ }
59
+ }
60
+ }
61
+ else if (Number(laterTime) > params.endTime &&
62
+ Number(earlierTime) < params.startTime) {
63
+ // Page spills from interval both bounds
64
+ for (let i = 0; i < res.data.length; i++) {
65
+ if (Number(res.data[i].timestampMs) > params.startTime &&
66
+ Number(res.data[i].timestampMs) < params.endTime) {
67
+ transactionBlocks.push(res.data[i]);
68
+ }
69
+ }
70
+ }
71
+ else {
72
+ // Page is in the interval
73
+ transactionBlocks = transactionBlocks.concat(res.data);
74
+ hasNextPage = res.hasNextPage;
75
+ nextCursor = res.nextCursor;
76
+ }
77
+ }
78
+ else {
79
+ // Empty result
80
+ transactionBlocks = transactionBlocks.concat(res.data);
81
+ hasNextPage = res.hasNextPage;
82
+ nextCursor = res.nextCursor;
83
+ }
84
+ }
85
+ }
86
+ return transactionBlocks;
87
+ }
88
+ //# sourceMappingURL=fetchTransactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchTransactions.js","sourceRoot":"","sources":["../../../../src/sui-sdk/transactions/fetchTransactions.ts"],"names":[],"mappings":";;AAIA,8CAsFC;AA1FD,4CAA4C;AAIrC,KAAK,UAAU,iBAAiB,CACrC,MAA8B;IAE9B,IAAI,iBAAiB,GAAkC,EAAE,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAA,wBAAY,GAAE,CAAC;IAEjC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,WAAW,GAAY,IAAI,CAAC;QAChC,IAAI,UAAU,GAA8B,IAAI,CAAC;QACjD,OAAO,WAAW,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,sBAAsB,CAAC;gBACjD,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,WAAW,EAAE,IAAI;oBACjB,SAAS,EAAE,IAAI;oBACf,iBAAiB,EAAE,IAAI;iBACxB;aACF,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,WAAqB,CAAC;gBAChD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAqB,CAAC;gBACjD,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;oBACzC,uBAAuB;oBACvB,WAAW,GAAG,KAAK,CAAC;oBACpB,MAAM;gBACR,CAAC;qBAAM,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;oBAChD,uBAAuB;oBACvB,SAAS;gBACX,CAAC;qBAAM,IACL,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,SAAS;oBACpC,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO;oBAClC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,SAAS,EACtC,CAAC;oBACD,sCAAsC;oBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACzC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;4BACvD,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtC,CAAC;6BAAM,CAAC;4BACN,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IACL,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO;oBAClC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,SAAS;oBACtC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,OAAO,EACpC,CAAC;oBACD,oCAAoC;oBACpC,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC9C,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;4BACrD,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtC,CAAC;6BAAM,CAAC;4BACN,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IACL,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO;oBAClC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,SAAS,EACtC,CAAC;oBACD,wCAAwC;oBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACzC,IACE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,SAAS;4BAClD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,OAAO,EAChD,CAAC;4BACD,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtC,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,0BAA0B;oBAC1B,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvD,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;oBAC9B,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;gBAC9B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,eAAe;gBACf,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvD,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;gBAC9B,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC","sourcesContent":["import { getSuiClient } from \"../client.js\";\nimport { SuiTransactionBlockResponse } from \"@mysten/sui/client\";\nimport { FetchTransactionParams } from \"./types.js\";\n\nexport async function fetchTransactions(\n params: FetchTransactionParams,\n): Promise<SuiTransactionBlockResponse[]> {\n let transactionBlocks: SuiTransactionBlockResponse[] = [];\n const suiClient = getSuiClient();\n\n for (const filter of params.filter) {\n let hasNextPage: boolean = true;\n let nextCursor: null | string | undefined = null;\n while (hasNextPage) {\n const res = await suiClient.queryTransactionBlocks({\n cursor: nextCursor,\n filter: filter,\n options: {\n showEffects: true,\n showInput: true,\n showObjectChanges: true,\n },\n });\n if (res.data.length !== 0) {\n const lastTx = res.data[res.data.length - 1];\n const firstTx = res.data[0];\n const laterTime = firstTx.timestampMs as string;\n const earlierTime = lastTx.timestampMs as string;\n if (Number(laterTime) < params.startTime) {\n // Page beyond interval\n hasNextPage = false;\n break;\n } else if (Number(earlierTime) > params.endTime) {\n // Page beyond interval\n continue;\n } else if (\n Number(laterTime) > params.startTime &&\n Number(laterTime) < params.endTime &&\n Number(earlierTime) < params.startTime\n ) {\n // Page spills from interval startTime\n for (let i = 0; i < res.data.length; i++) {\n if (Number(res.data[i].timestampMs) > params.startTime) {\n transactionBlocks.push(res.data[i]);\n } else {\n break;\n }\n }\n } else if (\n Number(laterTime) > params.endTime &&\n Number(earlierTime) > params.startTime &&\n Number(earlierTime) < params.endTime\n ) {\n // Page spills from interval endTIme\n for (let i = res.data.length - 1; i >= 0; i--) {\n if (Number(res.data[i].timestampMs) < params.endTime) {\n transactionBlocks.push(res.data[i]);\n } else {\n break;\n }\n }\n } else if (\n Number(laterTime) > params.endTime &&\n Number(earlierTime) < params.startTime\n ) {\n // Page spills from interval both bounds\n for (let i = 0; i < res.data.length; i++) {\n if (\n Number(res.data[i].timestampMs) > params.startTime &&\n Number(res.data[i].timestampMs) < params.endTime\n ) {\n transactionBlocks.push(res.data[i]);\n }\n }\n } else {\n // Page is in the interval\n transactionBlocks = transactionBlocks.concat(res.data);\n hasNextPage = res.hasNextPage;\n nextCursor = res.nextCursor;\n }\n } else {\n // Empty result\n transactionBlocks = transactionBlocks.concat(res.data);\n hasNextPage = res.hasNextPage;\n nextCursor = res.nextCursor;\n }\n }\n }\n\n return transactionBlocks;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/transactions/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,IAAI,EAAE,WAAW,GAAG,YAAY,CAAC;CAClC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/sui-sdk/transactions/types.ts"],"names":[],"mappings":"","sourcesContent":["import { TransactionFilter } from \"@mysten/sui/client\";\n\nexport type FetchTransactionParams = {\n startTime: number;\n endTime: number;\n filter: TransactionFilter[];\n sort: \"ascending\" | \"descending\";\n};\n"]}