@alphafi/alphafi-sdk 0.0.58 → 0.0.60

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 (252) hide show
  1. package/dist/cjs/common/constants.d.ts +24 -0
  2. package/dist/cjs/common/constants.d.ts.map +1 -1
  3. package/dist/cjs/common/constants.js +23 -3
  4. package/dist/cjs/common/constants.js.map +1 -1
  5. package/dist/cjs/common/maps.d.ts.map +1 -1
  6. package/dist/cjs/common/maps.js +20 -0
  7. package/dist/cjs/common/maps.js.map +1 -1
  8. package/dist/cjs/common/types.d.ts +1 -1
  9. package/dist/cjs/common/types.d.ts.map +1 -1
  10. package/dist/cjs/common/types.js.map +1 -1
  11. package/dist/cjs/getAprs.d.ts +2 -0
  12. package/dist/cjs/getAprs.d.ts.map +1 -1
  13. package/dist/cjs/getAprs.js +251 -1
  14. package/dist/cjs/getAprs.js.map +1 -1
  15. package/dist/cjs/sui-sdk/functions/getReceipts.d.ts +1 -0
  16. package/dist/cjs/sui-sdk/functions/getReceipts.d.ts.map +1 -1
  17. package/dist/cjs/transactions/collect_rewards.d.ts.map +1 -1
  18. package/dist/cjs/transactions/collect_rewards.js +17 -0
  19. package/dist/cjs/transactions/collect_rewards.js.map +1 -1
  20. package/dist/cjs/transactions/navi-looping.d.ts +6 -0
  21. package/dist/cjs/transactions/navi-looping.d.ts.map +1 -1
  22. package/dist/cjs/transactions/navi-looping.js +125 -1
  23. package/dist/cjs/transactions/navi-looping.js.map +1 -1
  24. package/dist/esm/common/constants.d.ts +24 -0
  25. package/dist/esm/common/constants.d.ts.map +1 -1
  26. package/dist/esm/common/constants.js +23 -3
  27. package/dist/esm/common/constants.js.map +1 -1
  28. package/dist/esm/common/maps.d.ts.map +1 -1
  29. package/dist/esm/common/maps.js +20 -0
  30. package/dist/esm/common/maps.js.map +1 -1
  31. package/dist/esm/common/types.d.ts +1 -1
  32. package/dist/esm/common/types.d.ts.map +1 -1
  33. package/dist/esm/common/types.js.map +1 -1
  34. package/dist/esm/getAprs.d.ts +2 -0
  35. package/dist/esm/getAprs.d.ts.map +1 -1
  36. package/dist/esm/getAprs.js +249 -2
  37. package/dist/esm/getAprs.js.map +1 -1
  38. package/dist/esm/sui-sdk/functions/getReceipts.d.ts +1 -0
  39. package/dist/esm/sui-sdk/functions/getReceipts.d.ts.map +1 -1
  40. package/dist/esm/transactions/collect_rewards.d.ts.map +1 -1
  41. package/dist/esm/transactions/collect_rewards.js +17 -0
  42. package/dist/esm/transactions/collect_rewards.js.map +1 -1
  43. package/dist/esm/transactions/navi-looping.d.ts +6 -0
  44. package/dist/esm/transactions/navi-looping.d.ts.map +1 -1
  45. package/dist/esm/transactions/navi-looping.js +123 -1
  46. package/dist/esm/transactions/navi-looping.js.map +1 -1
  47. package/docs/assets/highlight.css +51 -74
  48. package/docs/assets/icons.js +17 -20
  49. package/docs/assets/main.js +5 -2163
  50. package/docs/assets/navigation.js +1 -2
  51. package/docs/assets/search.js +1 -2
  52. package/docs/assets/style.css +850 -846
  53. package/docs/functions/alphaLpBreakdown.html +1 -253
  54. package/docs/functions/cetusLpBreakdown.html +1 -253
  55. package/docs/functions/claimBlueRewardTxb.html +1 -258
  56. package/docs/functions/claimRewardTxb.html +1 -243
  57. package/docs/functions/coinAmountToXTokensDoubleAsset.html +1 -267
  58. package/docs/functions/coinAmountToXTokensSingleAsset.html +1 -260
  59. package/docs/functions/coinsInPool.html +1 -438
  60. package/docs/functions/collectRewards.html +1 -242
  61. package/docs/functions/deposit.html +1 -246
  62. package/docs/functions/depositDoubleAssetTxb.html +1 -270
  63. package/docs/functions/depositSingleAssetTxb.html +1 -263
  64. package/docs/functions/fetchAfterTransactionEvents.html +1 -328
  65. package/docs/functions/fetchAutoCompoundingEvents.html +1 -257
  66. package/docs/functions/fetchAutoCompoundingEventsGql.html +1 -251
  67. package/docs/functions/fetchCetusPools.html +1 -231
  68. package/docs/functions/fetchChainIdentifier.html +1 -233
  69. package/docs/functions/fetchCheckRatioEvents.html +1 -249
  70. package/docs/functions/fetchLiquidityChangeEvents.html +1 -257
  71. package/docs/functions/fetchMultiCategoryEvents.html +1 -348
  72. package/docs/functions/fetchMultiReceipts.html +1 -261
  73. package/docs/functions/fetchNftHolders.html +1 -233
  74. package/docs/functions/fetchPools.html +1 -230
  75. package/docs/functions/fetchPortfolioData.html +1 -243
  76. package/docs/functions/fetchProtocolData.html +1 -231
  77. package/docs/functions/fetchTVL.html +1 -253
  78. package/docs/functions/fetchUserVaultBalances.html +1 -245
  79. package/docs/functions/fetchUserVaults.html +1 -243
  80. package/docs/functions/fetchUserWalletData.html +1 -243
  81. package/docs/functions/fetchVoloExchangeRate.html +1 -251
  82. package/docs/functions/fetchWithdrawV2Events.html +1 -255
  83. package/docs/functions/getAirdropShare.html +1 -243
  84. package/docs/functions/getAllDoubleAssetVaults.html +1 -235
  85. package/docs/functions/getAllSingleAssetVaults.html +1 -235
  86. package/docs/functions/getAllVaultBalances.html +1 -265
  87. package/docs/functions/getAllVaults.html +1 -233
  88. package/docs/functions/getAlphaUnlocks.html +1 -245
  89. package/docs/functions/getAlphaVaultBalance.html +1 -255
  90. package/docs/functions/getAmounts.html +1 -272
  91. package/docs/functions/getApr.html +1 -243
  92. package/docs/functions/getAprs.html +1 -255
  93. package/docs/functions/getApy.html +1 -243
  94. package/docs/functions/getApys.html +1 -255
  95. package/docs/functions/getCetusInvestorTicksMap.html +1 -284
  96. package/docs/functions/getCetusPool.html +1 -270
  97. package/docs/functions/getCetusSqrtPriceMap.html +1 -249
  98. package/docs/functions/getCoinAmountsFromLiquidity.html +1 -273
  99. package/docs/functions/getConf.html +1 -13163
  100. package/docs/functions/getCurrentTick.html +1 -247
  101. package/docs/functions/getDistributor.html +1 -252
  102. package/docs/functions/getDoubleAssetVaultBalance.html +1 -268
  103. package/docs/functions/getDoubleAssetVaults.html +1 -253
  104. package/docs/functions/getHoldersFromTransactions.html +1 -299
  105. package/docs/functions/getInvestor.html +1 -259
  106. package/docs/functions/getInvestorPoolMap.html +1 -241
  107. package/docs/functions/getLastAutoCompoundTime.html +1 -249
  108. package/docs/functions/getLatestPrices.html +1 -253
  109. package/docs/functions/getLiquidity.html +1 -260
  110. package/docs/functions/getMultiCetusPool.html +1 -231
  111. package/docs/functions/getMultiInvestor.html +1 -231
  112. package/docs/functions/getMultiLatestPrices.html +1 -233
  113. package/docs/functions/getMultiParentPool.html +1 -231
  114. package/docs/functions/getMultiPool.html +1 -231
  115. package/docs/functions/getMultiReceipts.html +1 -243
  116. package/docs/functions/getParentPool.html +1 -266
  117. package/docs/functions/getPool.html +1 -262
  118. package/docs/functions/getPoolExchangeRate.html +1 -254
  119. package/docs/functions/getPoolExchangeRateMap.html +1 -249
  120. package/docs/functions/getPoolsWeightDistribution.html +1 -266
  121. package/docs/functions/getPositionRange.html +1 -283
  122. package/docs/functions/getPositionRanges.html +1 -289
  123. package/docs/functions/getPositionTicks.html +1 -249
  124. package/docs/functions/getPriceToTick.html +1 -264
  125. package/docs/functions/getRebalanceHistories.html +1 -269
  126. package/docs/functions/getRebalanceHistory.html +1 -255
  127. package/docs/functions/getReceipts.html +1 -268
  128. package/docs/functions/getSingleAssetVaultBalance.html +1 -268
  129. package/docs/functions/getSingleAssetVaults.html +1 -253
  130. package/docs/functions/getSuiClient.html +3 -247
  131. package/docs/functions/getSuiNodeUrl.html +3 -232
  132. package/docs/functions/getTVLs-1.html +1 -243
  133. package/docs/functions/getTickSpacing.html +1 -247
  134. package/docs/functions/getTickToPrice.html +1 -248
  135. package/docs/functions/getTvls.html +1 -259
  136. package/docs/functions/getUserTokensFromTransactions.html +1 -269
  137. package/docs/functions/getUserTokensInUsdFromTransactions.html +1 -263
  138. package/docs/functions/getVaultBalance.html +1 -277
  139. package/docs/functions/getVaultBalanceForActiveUsers.html +1 -261
  140. package/docs/functions/getVaults.html +1 -250
  141. package/docs/functions/getXTokenVaultBalanceForActiveUsers.html +1 -261
  142. package/docs/functions/getZapAmounts.html +1 -323
  143. package/docs/functions/lastAutocompoundTime.html +1 -249
  144. package/docs/functions/liquidityToTokens.html +1 -253
  145. package/docs/functions/multiLiquidityToTokens.html +1 -271
  146. package/docs/functions/multiTokensToUsd.html +1 -262
  147. package/docs/functions/multiXTokensToLiquidity.html +1 -257
  148. package/docs/functions/parseUserWalletData.html +1 -243
  149. package/docs/functions/pendingBlueRewardAmount.html +1 -256
  150. package/docs/functions/setCustomSuiClient.html +5 -251
  151. package/docs/functions/setSuiClient.html +7 -255
  152. package/docs/functions/setSuiNodeUrl.html +5 -249
  153. package/docs/functions/setWeights.html +1 -270
  154. package/docs/functions/withdraw.html +1 -249
  155. package/docs/functions/withdrawAlphaTxb.html +1 -257
  156. package/docs/functions/withdrawTxb.html +1 -260
  157. package/docs/functions/zapDepositTxb.html +1 -300
  158. package/docs/index.html +41 -587
  159. package/docs/interfaces/Coin.html +12 -474
  160. package/docs/interfaces/CoinPair.html +3 -358
  161. package/docs/interfaces/NaviVoloData.html +3 -514
  162. package/docs/interfaces/PoolData.html +8 -579
  163. package/docs/interfaces/PoolWeightDistribution.html +4 -414
  164. package/docs/interfaces/RebalanceHistoryType.html +9 -652
  165. package/docs/modules.html +198 -1430
  166. package/docs/types/AfterTransactionEventNode.html +1 -305
  167. package/docs/types/Allocator.html +1 -321
  168. package/docs/types/AlphaFiDoubleAssetVault.html +1 -258
  169. package/docs/types/AlphaFiMultiVaultBalance.html +1 -219
  170. package/docs/types/AlphaFiSingleAssetVault.html +1 -244
  171. package/docs/types/AlphaFiVault.html +1 -214
  172. package/docs/types/AlphaFiVaultBalance.html +1 -220
  173. package/docs/types/AlphaPoolType.html +1 -383
  174. package/docs/types/AlphaReceipt.html +1 -220
  175. package/docs/types/AlphaReceiptFields.html +1 -421
  176. package/docs/types/AlphaVaultBalance.html +1 -245
  177. package/docs/types/AutoBalancePoolNames.html +1 -226
  178. package/docs/types/AutoCompoundingEventNode.html +1 -230
  179. package/docs/types/BluefinInvestor.html +1 -209
  180. package/docs/types/BluefinPoolType.html +1 -440
  181. package/docs/types/BucketInvestor.html +1 -249
  182. package/docs/types/CetusInvestor.html +1 -240
  183. package/docs/types/CetusPoolType.html +1 -433
  184. package/docs/types/CetusSwapOptions.html +1 -209
  185. package/docs/types/CoinAmounts.html +1 -216
  186. package/docs/types/CoinName.html +1 -293
  187. package/docs/types/CoinType.html +1 -294
  188. package/docs/types/CommonInvestorFields.html +1 -276
  189. package/docs/types/CreatePoolOptions.html +1 -246
  190. package/docs/types/Distributor.html +1 -341
  191. package/docs/types/DoubleAssetMultiVaultBalance.html +1 -236
  192. package/docs/types/DoubleAssetPoolNames.html +1 -297
  193. package/docs/types/DoubleAssetTokenHoldings.html +1 -232
  194. package/docs/types/DoubleAssetVaultBalance.html +1 -229
  195. package/docs/types/EventCategory.html +1 -209
  196. package/docs/types/EventNode.html +1 -229
  197. package/docs/types/GetHoldersParams.html +1 -221
  198. package/docs/types/GetTokenHoldingsParams.html +1 -227
  199. package/docs/types/GetUserTokensFromTransactionsParams.html +1 -233
  200. package/docs/types/GetUserTokensInUsdFromTransactionsParams.html +1 -244
  201. package/docs/types/GetVaultBalanceForActiveUsersParams.html +1 -231
  202. package/docs/types/GetVaultBalanceParams.html +1 -217
  203. package/docs/types/HoldingsObj.html +1 -223
  204. package/docs/types/Icon.html +1 -266
  205. package/docs/types/Investor.html +1 -245
  206. package/docs/types/LiquidityChangeEventNode.html +1 -220
  207. package/docs/types/LiquidityToTokensParams.html +1 -255
  208. package/docs/types/LiquidityToUsdParams.html +1 -267
  209. package/docs/types/LoopingDebt.html +1 -258
  210. package/docs/types/LoopingPoolNames.html +1 -216
  211. package/docs/types/LpBreakdownType.html +1 -238
  212. package/docs/types/MemberPoolDataType.html +1 -276
  213. package/docs/types/MemberType.html +1 -269
  214. package/docs/types/MultiGetVaultBalancesParams.html +1 -229
  215. package/docs/types/NaviInvestor.html +1 -235
  216. package/docs/types/OtherReceiptFields.html +1 -373
  217. package/docs/types/PoolName.html +1 -214
  218. package/docs/types/PoolReceipt.html +1 -253
  219. package/docs/types/PoolType.html +1 -388
  220. package/docs/types/Receipt.html +1 -475
  221. package/docs/types/ReceiptGQL.html +1 -374
  222. package/docs/types/SingleAssetMultiVaultBalance.html +1 -232
  223. package/docs/types/SingleAssetPoolNames.html +1 -244
  224. package/docs/types/SingleAssetTokenHoldings.html +1 -228
  225. package/docs/types/SingleAssetVaultBalance.html +1 -223
  226. package/docs/types/SingleGetVaultBalancesParams.html +1 -224
  227. package/docs/types/StrategyType.html +1 -221
  228. package/docs/types/SuiNetwork.html +1 -213
  229. package/docs/types/SwapOptions.html +1 -248
  230. package/docs/types/TickSpacing.html +1 -212
  231. package/docs/types/TotalWeightType.html +1 -246
  232. package/docs/types/TransactionBlockType.html +1 -358
  233. package/docs/types/UserPoolLiquidity.html +1 -221
  234. package/docs/types/UserPoolTokenHoldings.html +1 -217
  235. package/docs/types/UserUsdHoldings.html +1 -223
  236. package/docs/types/VaultBalance.html +1 -216
  237. package/docs/types/WithdrawV2EventNode.html +1 -208
  238. package/docs/variables/bluefinPoolMap.html +1 -214
  239. package/docs/variables/cetusPoolMap.html +1 -214
  240. package/docs/variables/coinsList.html +1 -220
  241. package/docs/variables/defunctPoolsSet.html +1 -209
  242. package/docs/variables/doubleAssetPoolCoinMap.html +1 -237
  243. package/docs/variables/eventCategories.html +1 -210
  244. package/docs/variables/ignoredWalletsForDailyRevenue.html +1 -218
  245. package/docs/variables/loopingAccountAddresses.html +1 -219
  246. package/docs/variables/loopingPoolCoinMap.html +1 -233
  247. package/docs/variables/naviAssetMap.html +1 -215
  248. package/docs/variables/poolIdPoolNameMap.html +1 -218
  249. package/docs/variables/poolInfo.html +1 -319
  250. package/docs/variables/singleAssetPoolCoinMap.html +1 -229
  251. package/docs/variables/stableCoins.html +1 -207
  252. package/package.json +2 -2
@@ -2,7 +2,7 @@ import BN from "bn.js";
2
2
  export type SuiNetwork = "mainnet" | "testnet" | "devnet" | "localnet";
3
3
  export type PoolName = SingleAssetPoolNames | DoubleAssetPoolNames;
4
4
  export type SingleAssetPoolNames = "ALPHA" | "NAVI-SUI" | "NAVI-VSUI" | "NAVI-WETH" | "NAVI-USDT" | "NAVI-WUSDC" | "NAVI-HASUI" | "NAVI-USDC" | "BUCKET-BUCK" | "NAVI-USDY" | "NAVI-AUSD" | "NAVI-ETH" | "NAVI-NS" | "NAVI-NAVX" | "NAVI-STSUI" | LoopingPoolNames;
5
- export type LoopingPoolNames = "NAVI-LOOP-HASUI-SUI" | "NAVI-LOOP-USDT-USDC" | "NAVI-LOOP-SUI-VSUI" | "NAVI-LOOP-USDC-USDT";
5
+ export type LoopingPoolNames = "NAVI-LOOP-HASUI-SUI" | "NAVI-LOOP-USDT-USDC" | "NAVI-LOOP-SUI-VSUI" | "NAVI-LOOP-USDC-USDT" | "NAVI-LOOP-SUI-STSUI";
6
6
  export type DoubleAssetPoolNames = "HASUI-SUI" | "USDY-WUSDC" | "ALPHA-SUI" | "ALPHA-WUSDC" | "USDT-WUSDC" | "WUSDC-SUI" | "WUSDC-WBTC" | "WETH-WUSDC" | "NAVX-SUI" | "BUCK-WUSDC" | "CETUS-SUI" | "WSOL-WUSDC" | "FUD-SUI" | "BLUB-SUI" | "SCA-SUI" | "USDC-SUI" | "USDC-USDT" | "ALPHA-USDC" | "USDC-WUSDC" | "USDC-ETH" | "DEEP-SUI" | "BUCK-SUI" | "BLUEFIN-SUI-USDC" | "BLUEFIN-USDT-USDC" | "BLUEFIN-SUI-BUCK" | "BLUEFIN-AUSD-USDC" | "BLUEFIN-SUI-AUSD" | "BLUEFIN-ALPHA-USDC" | "BLUEFIN-WBTC-USDC" | "BLUEFIN-NAVX-VSUI" | "BLUEFIN-BLUE-SUI" | "BLUEFIN-BLUE-USDC" | "BLUEFIN-SEND-USDC" | "BLUEFIN-WBTC-SUI" | "BLUEFIN-DEEP-SUI" | "BLUEFIN-STSUI-SUI" | "BLUEFIN-STSUI-USDC" | "BLUEFIN-STSUI-ETH" | "BLUEFIN-STSUI-WSOL" | "BLUEFIN-ALPHA-STSUI" | "BLUEFIN-SUIUSDT-USDC" | "BLUEFIN-STSUI-BUCK" | "BLUEFIN-STSUI-MUSD" | AutoBalancePoolNames;
7
7
  export type AutoBalancePoolNames = "BLUEFIN-AUTOBALANCE-USDT-USDC" | "BLUEFIN-AUTOBALANCE-SUI-USDC" | "BLUEFIN-AUTOBALANCE-SUIUSDT-USDC" | "BLUEFIN-AUTOBALANCE-DEEP-BLUE" | "BLUEFIN-AUTOBALANCE-DEEP-SUI" | "BLUEFIN-AUTOBALANCE-BLUE-SUI";
8
8
  export type CoinName = "ALPHA" | "SUI" | "WUSDC" | "USDC" | "USDT" | "VSUI" | "NAVX" | "SCA" | "CETUS" | "AFSUI" | "WETH" | "APT" | "WSOL" | "SLP" | "WBTC" | "CELO" | "TURBOS" | "HASUI" | "USDY" | "BUCK" | "FUD" | "BLUB" | "ETH" | "DEEP" | "AUSD" | "NS" | "BLUE" | "SEND" | "STSUI" | "SUIUSDT" | "MUSD";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAiNhD,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC;AAC7D,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC;AACnE,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC;AACnE,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,wBAAwB,CAAC","sourcesContent":["import BN from \"bn.js\";\nimport { conf, CONF_ENV } from \"./constants.js\";\n\nexport type SuiNetwork = \"mainnet\" | \"testnet\" | \"devnet\" | \"localnet\";\n\nexport type PoolName = SingleAssetPoolNames | DoubleAssetPoolNames;\n\nexport type SingleAssetPoolNames =\n | \"ALPHA\"\n | \"NAVI-SUI\"\n | \"NAVI-VSUI\"\n | \"NAVI-WETH\"\n | \"NAVI-USDT\"\n | \"NAVI-WUSDC\"\n | \"NAVI-HASUI\"\n | \"NAVI-USDC\"\n | \"BUCKET-BUCK\"\n | \"NAVI-USDY\"\n | \"NAVI-AUSD\"\n | \"NAVI-ETH\"\n | \"NAVI-NS\"\n | \"NAVI-NAVX\"\n | \"NAVI-STSUI\"\n | LoopingPoolNames;\n\nexport type LoopingPoolNames =\n | \"NAVI-LOOP-HASUI-SUI\"\n | \"NAVI-LOOP-USDT-USDC\"\n | \"NAVI-LOOP-SUI-VSUI\"\n | \"NAVI-LOOP-USDC-USDT\";\n\nexport type DoubleAssetPoolNames =\n | \"HASUI-SUI\"\n | \"USDY-WUSDC\"\n | \"ALPHA-SUI\"\n | \"ALPHA-WUSDC\"\n | \"USDT-WUSDC\"\n | \"WUSDC-SUI\"\n | \"WUSDC-WBTC\"\n | \"WETH-WUSDC\"\n | \"NAVX-SUI\"\n | \"BUCK-WUSDC\"\n | \"CETUS-SUI\"\n | \"WSOL-WUSDC\"\n | \"FUD-SUI\"\n | \"BLUB-SUI\"\n | \"SCA-SUI\"\n | \"USDC-SUI\"\n | \"USDC-USDT\"\n | \"ALPHA-USDC\"\n | \"USDC-WUSDC\"\n | \"USDC-ETH\"\n | \"DEEP-SUI\"\n | \"BUCK-SUI\"\n | \"BLUEFIN-SUI-USDC\"\n | \"BLUEFIN-USDT-USDC\"\n | \"BLUEFIN-SUI-BUCK\"\n | \"BLUEFIN-AUSD-USDC\"\n | \"BLUEFIN-SUI-AUSD\"\n | \"BLUEFIN-ALPHA-USDC\"\n | \"BLUEFIN-WBTC-USDC\"\n | \"BLUEFIN-NAVX-VSUI\"\n | \"BLUEFIN-BLUE-SUI\"\n | \"BLUEFIN-BLUE-USDC\"\n | \"BLUEFIN-SEND-USDC\"\n | \"BLUEFIN-WBTC-SUI\"\n | \"BLUEFIN-DEEP-SUI\"\n | \"BLUEFIN-STSUI-SUI\"\n | \"BLUEFIN-STSUI-USDC\"\n | \"BLUEFIN-STSUI-ETH\"\n | \"BLUEFIN-STSUI-WSOL\"\n | \"BLUEFIN-ALPHA-STSUI\"\n | \"BLUEFIN-SUIUSDT-USDC\"\n | \"BLUEFIN-STSUI-BUCK\"\n | \"BLUEFIN-STSUI-MUSD\"\n | AutoBalancePoolNames;\n\nexport type AutoBalancePoolNames =\n | \"BLUEFIN-AUTOBALANCE-USDT-USDC\"\n | \"BLUEFIN-AUTOBALANCE-SUI-USDC\"\n | \"BLUEFIN-AUTOBALANCE-SUIUSDT-USDC\"\n | \"BLUEFIN-AUTOBALANCE-DEEP-BLUE\"\n | \"BLUEFIN-AUTOBALANCE-DEEP-SUI\"\n | \"BLUEFIN-AUTOBALANCE-BLUE-SUI\";\n\nexport type CoinName =\n | \"ALPHA\"\n | \"SUI\"\n | \"WUSDC\"\n | \"USDC\"\n | \"USDT\"\n | \"VSUI\"\n | \"NAVX\"\n | \"SCA\"\n | \"CETUS\"\n | \"AFSUI\"\n | \"WETH\"\n | \"APT\"\n | \"WSOL\"\n | \"SLP\"\n | \"WBTC\"\n | \"CELO\"\n | \"TURBOS\"\n | \"HASUI\"\n | \"USDY\"\n | \"BUCK\"\n | \"FUD\"\n | \"BLUB\"\n | \"ETH\"\n | \"DEEP\"\n | \"AUSD\"\n | \"NS\"\n | \"BLUE\"\n | \"SEND\"\n | \"STSUI\"\n | \"SUIUSDT\"\n | \"MUSD\";\n\nexport type StrategyType =\n | \"LOOPING\"\n | \"STABLE\"\n | \"STAKING\"\n | \"LIQUIDITY-POOL\"\n | \"LENDING\"\n | \"LIQUID-STAKING\"\n | \"AUTOBALANCE-LIQUIDITY-POOL\";\n\n/**\n * Represents a coin with its name, type, icon, and exponent.\n */\nexport interface Coin {\n /**\n * The name of the coin (e.g., SUI, ALPHA, WUSDC, USDT).\n */\n name: CoinName;\n\n /**\n * The type of the coin object on the Sui blockchain.\n */\n type: CoinType;\n\n /**\n * The icon or logo associated with the coin.\n */\n icon: Icon;\n\n /**\n * The exponent used to scale the coin's value.\n * Typically used to convert between the smallest unit and the base unit.\n * For example, SUI has an exponent of 9 because 1 SUI equals 10^9 MISTs.\n */\n expo: number;\n}\n\nexport type Icon =\n | \"https://coinmeta.polymedia.app/img/coins/0x0000000000000000000000000000000000000000000000000000000000000002-sui-SUI.svg\"\n | \"https://coinmeta.polymedia.app/img/coins/0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55-cert-CERT.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5-navx-NAVX.webp\"\n | \"https://suivision.xyz/images/coin-default.png\"\n | \"https://coinmeta.polymedia.app/img/coins/0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6-sca-SCA.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc-afsui-AFSUI.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xc44d97a4bc4e5a33ca847b72b123172c88a6328196b71414f32c3070233604b2-slp-SLP.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xa198f3be41cda8c07b3bf3fee02263526e535d682499806979a111e88a5a8d0f-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b-cetus-CETUS.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x5d1f47ea69bb0de31c313d7acf89b890dbb8991ea8e03c6c355171f84bb1ba4a-turbos-TURBOS.svg\"\n | \"https://7taj6jfau6n3dri7agspzfnva7qbj5sizz5xc3lb56nmxpsyoiba.arweave.net/_MCfJKCnm7HFHwGk_JW1B-AU9kjOe3FtYe-ay75YcgI\"\n | \"https://coinmeta.polymedia.app/img/coins/0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d-hasui-HASUI.svg\"\n | \"https://coinmeta.polymedia.app/img/coins/0x960b531667636f39e85867775f52f6b1f220a058c4de786905bdf761e06a56bb-usdy-USDY.svg\"\n | \"https://imagedelivery.net/cBNDGgkrsEA-b_ixIp9SkQ/buck.svg/public\"\n | \"\";\n\nexport type CoinType =\n | \"0xfe3afec26c59e874f3c1d60b8203cb3852d2bb2aa415df9548b8d688e6683f93::alpha::ALPHA\"\n | \"0x2::sui::SUI\"\n | \"0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55::cert::CERT\"\n | \"0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN\"\n | \"0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN\"\n | \"0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5::navx::NAVX\"\n | \"0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6::sca::SCA\"\n | \"0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc::afsui::AFSUI\"\n | \"0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN\"\n | \"0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37::coin::COIN\"\n | \"0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8::coin::COIN\"\n | \"0xc44d97a4bc4e5a33ca847b72b123172c88a6328196b71414f32c3070233604b2::slp::SLP\"\n | \"0x27792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN\"\n | \"0xa198f3be41cda8c07b3bf3fee02263526e535d682499806979a111e88a5a8d0f::coin::COIN\"\n | \"0x6864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS\"\n | \"0x5d1f47ea69bb0de31c313d7acf89b890dbb8991ea8e03c6c355171f84bb1ba4a::turbos::TURBOS\"\n | \"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI\"\n | \"0x960b531667636f39e85867775f52f6b1f220a058c4de786905bdf761e06a56bb::usdy::USDY\"\n | \"0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::buck::BUCK\"\n | \"0x76cb819b01abed502bee8a702b4c2d547532c12f25001c9dea795a5e631c26f1::fud::FUD\"\n | \"0xfa7ac3951fdca92c5200d468d31a365eb03b2be9936fde615e69f0c1274ad3a0::BLUB::BLUB\"\n | \"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC\"\n | \"0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29::eth::ETH\"\n | \"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP\"\n | \"0x2053d08c1e2bd02791056171aab0fd12bd7cd7efad2ab8f6b9c8902f14df2ff2::ausd::AUSD\"\n | \"0x5145494a5f5100e645e4b0aa950fa6b68f614e8c59e17bc5ded3495123a79178::ns::NS\"\n | \"0xe1b45a0e641b9955a20aa0ad1c1f4ad86aad8afb07296d4085e349a50e90bdca::blue::BLUE\"\n | \"0xb45fcfcc2cc07ce0702cc2d229621e046c906ef14d9b25e8e4d25f6e8763fef7::send::SEND\"\n | \"0xd1b72982e40348d069bb1ff701e634c117bb5f741f44dff91e472d3b01461e55::stsui::STSUI\"\n | \"0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068::usdt::USDT\"\n | \"0xe44df51c0b21a27ab915fa1fe2ca610cd3eaa6d9666fe5e62b988bf7f0bd8722::musd::MUSD\";\n\nconst ALPHA_SUI_POOL_RECEIPT = conf[CONF_ENV].ALPHA_SUI_POOL_RECEIPT;\nconst USDY_WUSDC_POOL_RECEIPT = conf[CONF_ENV].USDY_WUSDC_POOL_RECEIPT;\nconst USDT_WUSDC_POOL_RECEIPT = conf[CONF_ENV].USDT_WUSDC_POOL_RECEIPT;\nconst ALPHA_POOL_RECEIPT = conf[CONF_ENV].ALPHA_POOL_RECEIPT;\nconst HASUI_SUI_POOL_RECEIPT = conf[CONF_ENV].HASUI_SUI_POOL_RECEIPT;\nconst WUSDC_SUI_POOL_RECEIPT = conf[CONF_ENV].WUSDC_SUI_POOL_RECEIPT;\nconst WUSDC_WBTC_POOL_RECEIPT = conf[CONF_ENV].WUSDC_WBTC_POOL_RECEIPT;\nconst WETH_WUSDC_POOL_RECEIPT = conf[CONF_ENV].WETH_WUSDC_POOL_RECEIPT;\nconst NAVI_SUI_POOL_RECEIPT = conf[CONF_ENV].NAVI_SUI_POOL_RECEIPT;\nconst NAVI_VSUI_POOL_RECEIPT = conf[CONF_ENV].NAVI_VSUI_POOL_RECEIPT;\nconst NAVX_SUI_POOL_RECEIPT = conf[CONF_ENV].NAVX_SUI_POOL_RECEIPT;\nconst NAVI_WETH_POOL_RECEIPT = conf[CONF_ENV].NAVI_WETH_POOL_RECEIPT;\nconst NAVI_USDT_POOL_RECEIPT = conf[CONF_ENV].NAVI_USDT_POOL_RECEIPT;\nconst NAVI_WUSDC_POOL_RECEIPT = conf[CONF_ENV].NAVI_WUSDC_POOL_RECEIPT;\nconst NAVI_USDC_POOL_RECEIPT = conf[CONF_ENV].NAVI_USDC_POOL_RECEIPT;\nconst BUCKET_BUCK_POOL_RECEIPT = conf[CONF_ENV].BUCKET_BUCK_POOL_RECEIPT;\nexport type PoolReceipt =\n | typeof ALPHA_SUI_POOL_RECEIPT\n | typeof USDY_WUSDC_POOL_RECEIPT\n | typeof USDT_WUSDC_POOL_RECEIPT\n | typeof ALPHA_POOL_RECEIPT\n | typeof HASUI_SUI_POOL_RECEIPT\n | typeof WUSDC_SUI_POOL_RECEIPT\n | typeof WUSDC_WBTC_POOL_RECEIPT\n | typeof WETH_WUSDC_POOL_RECEIPT\n | typeof NAVI_SUI_POOL_RECEIPT\n | typeof NAVI_VSUI_POOL_RECEIPT\n | typeof NAVX_SUI_POOL_RECEIPT\n | typeof NAVI_WETH_POOL_RECEIPT\n | typeof NAVI_USDT_POOL_RECEIPT\n | typeof NAVI_WUSDC_POOL_RECEIPT\n | typeof NAVI_USDC_POOL_RECEIPT\n | typeof BUCKET_BUCK_POOL_RECEIPT;\n\nexport interface PoolData {\n weight: number;\n lastUpdateTime?: number;\n pendingRewards?: string;\n imageUrl1?: string | undefined;\n imageUrl2?: string | undefined;\n lockIcon?: string | undefined;\n poolName: string;\n}\nexport interface PoolWeightDistribution {\n coinType: string;\n totalWeight: number;\n data: PoolData[];\n}\n\nexport type CoinAmounts = {\n coinA: BN;\n coinB: BN;\n};\n\nexport type CetusInvestor = {\n content: {\n fields: {\n free_balance_a: string;\n free_balance_b: string;\n lower_tick: string;\n upper_tick: string;\n };\n };\n};\n\nexport type BluefinInvestor = CetusInvestor;\n\nexport type NaviInvestor = {\n content: {\n fields: {\n safe_borrow_percentage: string;\n tokensDeposited: string;\n current_debt_to_supply_ratio: string;\n };\n };\n};\n\nexport type BucketInvestor = {\n content: {\n fields: {\n tokensDeposited: string;\n stake_proof: {\n type: string;\n fields: {\n stake_amount: string;\n };\n };\n };\n };\n};\n\nexport type CommonInvestorFields = {\n objectId: string;\n version: string;\n digest: string;\n type: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n id: {\n id: string;\n };\n performance_fee: string;\n performance_fee_max_cap: string;\n };\n };\n};\n\nexport type Investor =\n | (CetusInvestor & CommonInvestorFields)\n | (NaviInvestor & CommonInvestorFields)\n | (BucketInvestor & CommonInvestorFields)\n | (BluefinInvestor & CommonInvestorFields);\n\nexport type CetusPoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n xTokenSupply: string;\n tokensInvested: string;\n coin_a: string;\n coin_b: string;\n current_sqrt_price: string;\n current_tick_index: {\n fields: { bits: number };\n type: string;\n };\n fee_growth_global_a: string;\n fee_growth_global_b: string;\n fee_protocol_coin_a: string;\n fee_protocol_coin_b: string;\n fee_rate: string;\n id: { id: string };\n index: string;\n is_pause: boolean;\n liquidity: string;\n position_manager: {\n fields: {\n position_index: string;\n positions: {\n fields: {\n head: string;\n id: { id: string };\n size: string;\n tail: string;\n };\n type: string;\n };\n tick_spacing: number;\n };\n type: string;\n };\n // reward_manager: {};\n // tick_manager: {};\n tick_spacing: number;\n url: string;\n };\n };\n};\n\nexport type BluefinPoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n coin_a: string;\n coin_b: string;\n current_sqrt_price: string;\n current_tick_index: {\n fields: { bits: number };\n type: string;\n };\n fee_growth_global_coin_a: string;\n fee_growth_global_coin_b: string;\n fee_rate: string;\n icon_url: string;\n id: { id: string };\n is_paused: boolean;\n liquidity: string;\n name: string;\n observation_manager: {\n fields: {\n observation_index: string;\n observation: [];\n observation_cardinality: string;\n observation_cardinality_next: string;\n };\n type: string;\n };\n position_index: string;\n protocol_fee_coin_a: string;\n protocol_fee_coin_b: string;\n protocol_fee_share: string;\n reward_infos: [];\n sequence_number: string;\n ticks_manager: {\n type: string;\n fields: { bitmap: []; tick_spacing: number; ticks: [] };\n };\n };\n };\n};\n\nexport type AlphaReceipt = {\n lockedBalance: string;\n unlockedBalance: string;\n balance: string;\n};\n\nexport type Receipt = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n id: { id: string };\n image_url: string;\n last_acc_reward_per_xtoken: {\n type: string;\n fields: {\n contents: {\n type: string;\n fields: {\n value: string;\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n };\n }[];\n };\n };\n locked_balance:\n | {\n type: string;\n fields: {\n head: string;\n id: { id: string };\n size: string;\n tail: string;\n };\n }\n | undefined;\n name: string;\n owner: string;\n pending_rewards: {\n type: string;\n fields: {\n contents: {\n fields: {\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n value: string;\n };\n type: string;\n }[];\n };\n };\n pool_id: string;\n xTokenBalance: string;\n unlocked_xtokens: string | undefined;\n };\n };\n};\n\nexport type PoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n id: { id: string };\n xTokenSupply: string;\n tokensInvested: string;\n // rewards: Bag,\n acc_rewards_per_xtoken: {\n type: string;\n fields: {\n contents: [\n {\n type: string;\n fields: {\n value: string;\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n };\n },\n ];\n };\n };\n locked_period_in_days: string;\n locking_start_day: string;\n alpha_bal: string;\n locked_balance_withdrawal_fee: string;\n deposit_fee: string;\n deposit_fee_max_cap: string;\n withdrawal_fee: string;\n withdraw_fee_max_cap: string;\n weight: string;\n alphaUnlockedPerSecond: string;\n };\n };\n};\n\nexport type AlphaPoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n // acc_rewards_per_xtoken: VecMap<TypeName,u256>,\n alpha_bal: string;\n deposit_fee: string;\n deposit_fee_max_cap: string;\n id: { id: string };\n // image_url: string;\n instant_withdraw_fee: string;\n instant_withdraw_fee_max_cap: string;\n locked_period_in_days: string;\n locking_start_day: string;\n acc_rewards_per_xtoken: {\n type: string;\n fields: {\n contents: [\n {\n type: string;\n fields: {\n value: string;\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n };\n },\n ];\n };\n };\n // name: string;\n // rewards: Bag,\n tokensInvested: string;\n withdraw_fee_max_cap: string;\n withdrawal_fee: string;\n xTokenSupply: string;\n };\n };\n};\n\nexport interface CoinPair {\n coinA: Coin;\n coinB: Coin;\n}\n\nexport type SwapOptions = {\n pair: CoinPair;\n senderAddress: string;\n slippage: number;\n} & ({ inAmount: BN; outAmount?: never } | { outAmount: BN; inAmount?: never });\n\nexport type CetusSwapOptions = SwapOptions;\n\nexport type TickSpacing = 2 | 10 | 60 | 200;\n\nexport type CreatePoolOptions = {\n tickSpacing: TickSpacing;\n initializePrice: number;\n imageUrl: string;\n coinNameA: CoinName;\n coinNameB: CoinName;\n amount: number;\n isAmountA: boolean;\n};\n\nexport type AlphaFiSingleAssetVault = {\n poolId: string;\n poolName: PoolName;\n receiptName: string;\n receiptType: string;\n coinType: CoinType;\n coinName: CoinName;\n};\n\nexport type AlphaFiDoubleAssetVault = {\n poolId: string;\n poolName: PoolName;\n receiptName: string;\n receiptType: string;\n coinTypeA: CoinType;\n coinTypeB: CoinType;\n coinNameA: CoinName;\n coinNameB: CoinName;\n};\n\n// Union type for both single and double asset vaults\nexport type AlphaFiVault = AlphaFiSingleAssetVault | AlphaFiDoubleAssetVault;\n\nexport type AlphaVaultBalance = {\n lockedAlphaCoins: string | null;\n lockedAlphaCoinsInUSD: string | null;\n unlockedAlphaCoins: string | null;\n unlockedAlphaCoinsInUSD: string | null;\n totalAlphaCoins: string | null;\n totalAlphaCoinsInUSD: string | null;\n};\n\nexport type DoubleAssetVaultBalance = {\n coinA: string | null;\n coinB: string | null;\n valueInUSD: string | null;\n};\n\nexport type SingleAssetVaultBalance = {\n coin: string | null;\n valueInUSD: string | null;\n};\n\nexport type AlphaFiVaultBalance =\n | AlphaVaultBalance\n | SingleAssetVaultBalance\n | DoubleAssetVaultBalance;\n\nexport type LpBreakdownType = {\n coinA: string | null;\n coinAInUsd: string | null;\n coinB: string | null;\n coinBInUsd: string | null;\n liquidity: string | null;\n};\n\nexport interface RebalanceHistoryType {\n timestamp: string;\n lower_tick: string;\n upper_tick: string;\n after_price: string;\n amount_a_before: string;\n amount_b_before: string;\n amount_a_after: string;\n amount_b_after: string;\n}\n\nexport type TransactionBlockType = {\n digest: string;\n transaction: {\n data: {\n messageVersion: string;\n transaction: {\n kind: string;\n inputs: {\n type: string;\n valueType: string;\n value: number;\n objectId: string | undefined;\n }[];\n transactions: {\n MoveCall: {\n package: string;\n module: string;\n function: string;\n type_arguments: string[];\n arguments: string[];\n };\n }[];\n };\n sender: string;\n };\n txSignatures: string[];\n };\n events: {\n type: string;\n parsedJson: {\n after_sqrt_price: string;\n };\n }[];\n timestampMs: string;\n checkpoint: string;\n};\n\nexport interface NaviVoloData {\n data: {\n operatorBalance: string;\n collectableFee: string;\n pendingStakes: string;\n poolTotalRewards: string;\n unstakeTicketSupply: string;\n totalStaked: string;\n activeStake: string;\n calcTotalRewards: string;\n currentEpoch: string;\n validators: object;\n exchangeRate: string;\n totalSupply: string;\n apy: string;\n sortedValidators: string[];\n maxInstantUnstake: string;\n maxNoFeeUnstake: string;\n };\n code: number;\n}\n\nexport type LoopingDebt = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n name: [];\n value: string;\n };\n };\n};\n\nexport type Distributor = {\n objectId: string;\n version: string;\n digest: string;\n type: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n airdrop_wallet: string;\n airdrop_wallet_balance: string;\n dust_wallet_address: string;\n fee_wallet: string;\n id: {\n id: string;\n };\n next_halving_timestamp: string;\n pool_allocator: Allocator;\n\n // to-do\n reward_unlock: {\n fields: { contents: [] };\n type: string;\n };\n start_timestamp: string;\n target: string;\n team_wallet_address: string;\n team_wallet_balance: string;\n };\n };\n};\n\nexport type Allocator = {\n fields: {\n id: {\n id: string;\n };\n members: {\n fields: {\n contents: MemberType[];\n };\n type: string;\n };\n rewards: {\n fields: {\n id: {\n id: string;\n };\n size: string;\n };\n type: string;\n };\n total_weights: {\n fields: {\n contents: TotalWeightType[];\n };\n type: string;\n };\n };\n type: string;\n};\n\nexport type TotalWeightType = {\n fields: {\n key: {\n fields: {\n name: string;\n };\n type: string;\n };\n value: string;\n };\n type: string;\n};\n\nexport type MemberPoolDataType = {\n fields: {\n key: {\n fields: {\n name: string;\n };\n type: string;\n };\n value: {\n fields: {\n last_update_time: string;\n pending_rewards: string;\n weight: string;\n };\n type: string;\n };\n };\n type: string;\n};\n\nexport type MemberType = {\n fields: {\n key: string;\n value: {\n fields: {\n pool_data: {\n fields: {\n contents: MemberPoolDataType[];\n };\n type: string;\n };\n };\n type: string;\n };\n };\n type: string;\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAkNhD,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC;AAC7D,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC;AACnE,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC;AACnE,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,wBAAwB,CAAC","sourcesContent":["import BN from \"bn.js\";\nimport { conf, CONF_ENV } from \"./constants.js\";\n\nexport type SuiNetwork = \"mainnet\" | \"testnet\" | \"devnet\" | \"localnet\";\n\nexport type PoolName = SingleAssetPoolNames | DoubleAssetPoolNames;\n\nexport type SingleAssetPoolNames =\n | \"ALPHA\"\n | \"NAVI-SUI\"\n | \"NAVI-VSUI\"\n | \"NAVI-WETH\"\n | \"NAVI-USDT\"\n | \"NAVI-WUSDC\"\n | \"NAVI-HASUI\"\n | \"NAVI-USDC\"\n | \"BUCKET-BUCK\"\n | \"NAVI-USDY\"\n | \"NAVI-AUSD\"\n | \"NAVI-ETH\"\n | \"NAVI-NS\"\n | \"NAVI-NAVX\"\n | \"NAVI-STSUI\"\n | LoopingPoolNames;\n\nexport type LoopingPoolNames =\n | \"NAVI-LOOP-HASUI-SUI\"\n | \"NAVI-LOOP-USDT-USDC\"\n | \"NAVI-LOOP-SUI-VSUI\"\n | \"NAVI-LOOP-USDC-USDT\"\n | \"NAVI-LOOP-SUI-STSUI\";\n\nexport type DoubleAssetPoolNames =\n | \"HASUI-SUI\"\n | \"USDY-WUSDC\"\n | \"ALPHA-SUI\"\n | \"ALPHA-WUSDC\"\n | \"USDT-WUSDC\"\n | \"WUSDC-SUI\"\n | \"WUSDC-WBTC\"\n | \"WETH-WUSDC\"\n | \"NAVX-SUI\"\n | \"BUCK-WUSDC\"\n | \"CETUS-SUI\"\n | \"WSOL-WUSDC\"\n | \"FUD-SUI\"\n | \"BLUB-SUI\"\n | \"SCA-SUI\"\n | \"USDC-SUI\"\n | \"USDC-USDT\"\n | \"ALPHA-USDC\"\n | \"USDC-WUSDC\"\n | \"USDC-ETH\"\n | \"DEEP-SUI\"\n | \"BUCK-SUI\"\n | \"BLUEFIN-SUI-USDC\"\n | \"BLUEFIN-USDT-USDC\"\n | \"BLUEFIN-SUI-BUCK\"\n | \"BLUEFIN-AUSD-USDC\"\n | \"BLUEFIN-SUI-AUSD\"\n | \"BLUEFIN-ALPHA-USDC\"\n | \"BLUEFIN-WBTC-USDC\"\n | \"BLUEFIN-NAVX-VSUI\"\n | \"BLUEFIN-BLUE-SUI\"\n | \"BLUEFIN-BLUE-USDC\"\n | \"BLUEFIN-SEND-USDC\"\n | \"BLUEFIN-WBTC-SUI\"\n | \"BLUEFIN-DEEP-SUI\"\n | \"BLUEFIN-STSUI-SUI\"\n | \"BLUEFIN-STSUI-USDC\"\n | \"BLUEFIN-STSUI-ETH\"\n | \"BLUEFIN-STSUI-WSOL\"\n | \"BLUEFIN-ALPHA-STSUI\"\n | \"BLUEFIN-SUIUSDT-USDC\"\n | \"BLUEFIN-STSUI-BUCK\"\n | \"BLUEFIN-STSUI-MUSD\"\n | AutoBalancePoolNames;\n\nexport type AutoBalancePoolNames =\n | \"BLUEFIN-AUTOBALANCE-USDT-USDC\"\n | \"BLUEFIN-AUTOBALANCE-SUI-USDC\"\n | \"BLUEFIN-AUTOBALANCE-SUIUSDT-USDC\"\n | \"BLUEFIN-AUTOBALANCE-DEEP-BLUE\"\n | \"BLUEFIN-AUTOBALANCE-DEEP-SUI\"\n | \"BLUEFIN-AUTOBALANCE-BLUE-SUI\";\n\nexport type CoinName =\n | \"ALPHA\"\n | \"SUI\"\n | \"WUSDC\"\n | \"USDC\"\n | \"USDT\"\n | \"VSUI\"\n | \"NAVX\"\n | \"SCA\"\n | \"CETUS\"\n | \"AFSUI\"\n | \"WETH\"\n | \"APT\"\n | \"WSOL\"\n | \"SLP\"\n | \"WBTC\"\n | \"CELO\"\n | \"TURBOS\"\n | \"HASUI\"\n | \"USDY\"\n | \"BUCK\"\n | \"FUD\"\n | \"BLUB\"\n | \"ETH\"\n | \"DEEP\"\n | \"AUSD\"\n | \"NS\"\n | \"BLUE\"\n | \"SEND\"\n | \"STSUI\"\n | \"SUIUSDT\"\n | \"MUSD\";\n\nexport type StrategyType =\n | \"LOOPING\"\n | \"STABLE\"\n | \"STAKING\"\n | \"LIQUIDITY-POOL\"\n | \"LENDING\"\n | \"LIQUID-STAKING\"\n | \"AUTOBALANCE-LIQUIDITY-POOL\";\n\n/**\n * Represents a coin with its name, type, icon, and exponent.\n */\nexport interface Coin {\n /**\n * The name of the coin (e.g., SUI, ALPHA, WUSDC, USDT).\n */\n name: CoinName;\n\n /**\n * The type of the coin object on the Sui blockchain.\n */\n type: CoinType;\n\n /**\n * The icon or logo associated with the coin.\n */\n icon: Icon;\n\n /**\n * The exponent used to scale the coin's value.\n * Typically used to convert between the smallest unit and the base unit.\n * For example, SUI has an exponent of 9 because 1 SUI equals 10^9 MISTs.\n */\n expo: number;\n}\n\nexport type Icon =\n | \"https://coinmeta.polymedia.app/img/coins/0x0000000000000000000000000000000000000000000000000000000000000002-sui-SUI.svg\"\n | \"https://coinmeta.polymedia.app/img/coins/0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55-cert-CERT.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5-navx-NAVX.webp\"\n | \"https://suivision.xyz/images/coin-default.png\"\n | \"https://coinmeta.polymedia.app/img/coins/0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6-sca-SCA.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc-afsui-AFSUI.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xc44d97a4bc4e5a33ca847b72b123172c88a6328196b71414f32c3070233604b2-slp-SLP.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xa198f3be41cda8c07b3bf3fee02263526e535d682499806979a111e88a5a8d0f-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b-cetus-CETUS.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x5d1f47ea69bb0de31c313d7acf89b890dbb8991ea8e03c6c355171f84bb1ba4a-turbos-TURBOS.svg\"\n | \"https://7taj6jfau6n3dri7agspzfnva7qbj5sizz5xc3lb56nmxpsyoiba.arweave.net/_MCfJKCnm7HFHwGk_JW1B-AU9kjOe3FtYe-ay75YcgI\"\n | \"https://coinmeta.polymedia.app/img/coins/0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d-hasui-HASUI.svg\"\n | \"https://coinmeta.polymedia.app/img/coins/0x960b531667636f39e85867775f52f6b1f220a058c4de786905bdf761e06a56bb-usdy-USDY.svg\"\n | \"https://imagedelivery.net/cBNDGgkrsEA-b_ixIp9SkQ/buck.svg/public\"\n | \"\";\n\nexport type CoinType =\n | \"0xfe3afec26c59e874f3c1d60b8203cb3852d2bb2aa415df9548b8d688e6683f93::alpha::ALPHA\"\n | \"0x2::sui::SUI\"\n | \"0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55::cert::CERT\"\n | \"0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN\"\n | \"0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN\"\n | \"0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5::navx::NAVX\"\n | \"0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6::sca::SCA\"\n | \"0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc::afsui::AFSUI\"\n | \"0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN\"\n | \"0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37::coin::COIN\"\n | \"0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8::coin::COIN\"\n | \"0xc44d97a4bc4e5a33ca847b72b123172c88a6328196b71414f32c3070233604b2::slp::SLP\"\n | \"0x27792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN\"\n | \"0xa198f3be41cda8c07b3bf3fee02263526e535d682499806979a111e88a5a8d0f::coin::COIN\"\n | \"0x6864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS\"\n | \"0x5d1f47ea69bb0de31c313d7acf89b890dbb8991ea8e03c6c355171f84bb1ba4a::turbos::TURBOS\"\n | \"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI\"\n | \"0x960b531667636f39e85867775f52f6b1f220a058c4de786905bdf761e06a56bb::usdy::USDY\"\n | \"0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::buck::BUCK\"\n | \"0x76cb819b01abed502bee8a702b4c2d547532c12f25001c9dea795a5e631c26f1::fud::FUD\"\n | \"0xfa7ac3951fdca92c5200d468d31a365eb03b2be9936fde615e69f0c1274ad3a0::BLUB::BLUB\"\n | \"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC\"\n | \"0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29::eth::ETH\"\n | \"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP\"\n | \"0x2053d08c1e2bd02791056171aab0fd12bd7cd7efad2ab8f6b9c8902f14df2ff2::ausd::AUSD\"\n | \"0x5145494a5f5100e645e4b0aa950fa6b68f614e8c59e17bc5ded3495123a79178::ns::NS\"\n | \"0xe1b45a0e641b9955a20aa0ad1c1f4ad86aad8afb07296d4085e349a50e90bdca::blue::BLUE\"\n | \"0xb45fcfcc2cc07ce0702cc2d229621e046c906ef14d9b25e8e4d25f6e8763fef7::send::SEND\"\n | \"0xd1b72982e40348d069bb1ff701e634c117bb5f741f44dff91e472d3b01461e55::stsui::STSUI\"\n | \"0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068::usdt::USDT\"\n | \"0xe44df51c0b21a27ab915fa1fe2ca610cd3eaa6d9666fe5e62b988bf7f0bd8722::musd::MUSD\";\n\nconst ALPHA_SUI_POOL_RECEIPT = conf[CONF_ENV].ALPHA_SUI_POOL_RECEIPT;\nconst USDY_WUSDC_POOL_RECEIPT = conf[CONF_ENV].USDY_WUSDC_POOL_RECEIPT;\nconst USDT_WUSDC_POOL_RECEIPT = conf[CONF_ENV].USDT_WUSDC_POOL_RECEIPT;\nconst ALPHA_POOL_RECEIPT = conf[CONF_ENV].ALPHA_POOL_RECEIPT;\nconst HASUI_SUI_POOL_RECEIPT = conf[CONF_ENV].HASUI_SUI_POOL_RECEIPT;\nconst WUSDC_SUI_POOL_RECEIPT = conf[CONF_ENV].WUSDC_SUI_POOL_RECEIPT;\nconst WUSDC_WBTC_POOL_RECEIPT = conf[CONF_ENV].WUSDC_WBTC_POOL_RECEIPT;\nconst WETH_WUSDC_POOL_RECEIPT = conf[CONF_ENV].WETH_WUSDC_POOL_RECEIPT;\nconst NAVI_SUI_POOL_RECEIPT = conf[CONF_ENV].NAVI_SUI_POOL_RECEIPT;\nconst NAVI_VSUI_POOL_RECEIPT = conf[CONF_ENV].NAVI_VSUI_POOL_RECEIPT;\nconst NAVX_SUI_POOL_RECEIPT = conf[CONF_ENV].NAVX_SUI_POOL_RECEIPT;\nconst NAVI_WETH_POOL_RECEIPT = conf[CONF_ENV].NAVI_WETH_POOL_RECEIPT;\nconst NAVI_USDT_POOL_RECEIPT = conf[CONF_ENV].NAVI_USDT_POOL_RECEIPT;\nconst NAVI_WUSDC_POOL_RECEIPT = conf[CONF_ENV].NAVI_WUSDC_POOL_RECEIPT;\nconst NAVI_USDC_POOL_RECEIPT = conf[CONF_ENV].NAVI_USDC_POOL_RECEIPT;\nconst BUCKET_BUCK_POOL_RECEIPT = conf[CONF_ENV].BUCKET_BUCK_POOL_RECEIPT;\nexport type PoolReceipt =\n | typeof ALPHA_SUI_POOL_RECEIPT\n | typeof USDY_WUSDC_POOL_RECEIPT\n | typeof USDT_WUSDC_POOL_RECEIPT\n | typeof ALPHA_POOL_RECEIPT\n | typeof HASUI_SUI_POOL_RECEIPT\n | typeof WUSDC_SUI_POOL_RECEIPT\n | typeof WUSDC_WBTC_POOL_RECEIPT\n | typeof WETH_WUSDC_POOL_RECEIPT\n | typeof NAVI_SUI_POOL_RECEIPT\n | typeof NAVI_VSUI_POOL_RECEIPT\n | typeof NAVX_SUI_POOL_RECEIPT\n | typeof NAVI_WETH_POOL_RECEIPT\n | typeof NAVI_USDT_POOL_RECEIPT\n | typeof NAVI_WUSDC_POOL_RECEIPT\n | typeof NAVI_USDC_POOL_RECEIPT\n | typeof BUCKET_BUCK_POOL_RECEIPT;\n\nexport interface PoolData {\n weight: number;\n lastUpdateTime?: number;\n pendingRewards?: string;\n imageUrl1?: string | undefined;\n imageUrl2?: string | undefined;\n lockIcon?: string | undefined;\n poolName: string;\n}\nexport interface PoolWeightDistribution {\n coinType: string;\n totalWeight: number;\n data: PoolData[];\n}\n\nexport type CoinAmounts = {\n coinA: BN;\n coinB: BN;\n};\n\nexport type CetusInvestor = {\n content: {\n fields: {\n free_balance_a: string;\n free_balance_b: string;\n lower_tick: string;\n upper_tick: string;\n };\n };\n};\n\nexport type BluefinInvestor = CetusInvestor;\n\nexport type NaviInvestor = {\n content: {\n fields: {\n safe_borrow_percentage: string;\n tokensDeposited: string;\n current_debt_to_supply_ratio: string;\n };\n };\n};\n\nexport type BucketInvestor = {\n content: {\n fields: {\n tokensDeposited: string;\n stake_proof: {\n type: string;\n fields: {\n stake_amount: string;\n };\n };\n };\n };\n};\n\nexport type CommonInvestorFields = {\n objectId: string;\n version: string;\n digest: string;\n type: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n id: {\n id: string;\n };\n performance_fee: string;\n performance_fee_max_cap: string;\n };\n };\n};\n\nexport type Investor =\n | (CetusInvestor & CommonInvestorFields)\n | (NaviInvestor & CommonInvestorFields)\n | (BucketInvestor & CommonInvestorFields)\n | (BluefinInvestor & CommonInvestorFields);\n\nexport type CetusPoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n xTokenSupply: string;\n tokensInvested: string;\n coin_a: string;\n coin_b: string;\n current_sqrt_price: string;\n current_tick_index: {\n fields: { bits: number };\n type: string;\n };\n fee_growth_global_a: string;\n fee_growth_global_b: string;\n fee_protocol_coin_a: string;\n fee_protocol_coin_b: string;\n fee_rate: string;\n id: { id: string };\n index: string;\n is_pause: boolean;\n liquidity: string;\n position_manager: {\n fields: {\n position_index: string;\n positions: {\n fields: {\n head: string;\n id: { id: string };\n size: string;\n tail: string;\n };\n type: string;\n };\n tick_spacing: number;\n };\n type: string;\n };\n // reward_manager: {};\n // tick_manager: {};\n tick_spacing: number;\n url: string;\n };\n };\n};\n\nexport type BluefinPoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n coin_a: string;\n coin_b: string;\n current_sqrt_price: string;\n current_tick_index: {\n fields: { bits: number };\n type: string;\n };\n fee_growth_global_coin_a: string;\n fee_growth_global_coin_b: string;\n fee_rate: string;\n icon_url: string;\n id: { id: string };\n is_paused: boolean;\n liquidity: string;\n name: string;\n observation_manager: {\n fields: {\n observation_index: string;\n observation: [];\n observation_cardinality: string;\n observation_cardinality_next: string;\n };\n type: string;\n };\n position_index: string;\n protocol_fee_coin_a: string;\n protocol_fee_coin_b: string;\n protocol_fee_share: string;\n reward_infos: [];\n sequence_number: string;\n ticks_manager: {\n type: string;\n fields: { bitmap: []; tick_spacing: number; ticks: [] };\n };\n };\n };\n};\n\nexport type AlphaReceipt = {\n lockedBalance: string;\n unlockedBalance: string;\n balance: string;\n};\n\nexport type Receipt = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n id: { id: string };\n image_url: string;\n last_acc_reward_per_xtoken: {\n type: string;\n fields: {\n contents: {\n type: string;\n fields: {\n value: string;\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n };\n }[];\n };\n };\n locked_balance:\n | {\n type: string;\n fields: {\n head: string;\n id: { id: string };\n size: string;\n tail: string;\n };\n }\n | undefined;\n name: string;\n owner: string;\n pending_rewards: {\n type: string;\n fields: {\n contents: {\n fields: {\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n value: string;\n };\n type: string;\n }[];\n };\n };\n pool_id: string;\n xTokenBalance: string;\n unlocked_xtokens: string | undefined;\n };\n };\n};\n\nexport type PoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n id: { id: string };\n xTokenSupply: string;\n tokensInvested: string;\n // rewards: Bag,\n acc_rewards_per_xtoken: {\n type: string;\n fields: {\n contents: [\n {\n type: string;\n fields: {\n value: string;\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n };\n },\n ];\n };\n };\n locked_period_in_days: string;\n locking_start_day: string;\n alpha_bal: string;\n locked_balance_withdrawal_fee: string;\n deposit_fee: string;\n deposit_fee_max_cap: string;\n withdrawal_fee: string;\n withdraw_fee_max_cap: string;\n weight: string;\n alphaUnlockedPerSecond: string;\n };\n };\n};\n\nexport type AlphaPoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n // acc_rewards_per_xtoken: VecMap<TypeName,u256>,\n alpha_bal: string;\n deposit_fee: string;\n deposit_fee_max_cap: string;\n id: { id: string };\n // image_url: string;\n instant_withdraw_fee: string;\n instant_withdraw_fee_max_cap: string;\n locked_period_in_days: string;\n locking_start_day: string;\n acc_rewards_per_xtoken: {\n type: string;\n fields: {\n contents: [\n {\n type: string;\n fields: {\n value: string;\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n };\n },\n ];\n };\n };\n // name: string;\n // rewards: Bag,\n tokensInvested: string;\n withdraw_fee_max_cap: string;\n withdrawal_fee: string;\n xTokenSupply: string;\n };\n };\n};\n\nexport interface CoinPair {\n coinA: Coin;\n coinB: Coin;\n}\n\nexport type SwapOptions = {\n pair: CoinPair;\n senderAddress: string;\n slippage: number;\n} & ({ inAmount: BN; outAmount?: never } | { outAmount: BN; inAmount?: never });\n\nexport type CetusSwapOptions = SwapOptions;\n\nexport type TickSpacing = 2 | 10 | 60 | 200;\n\nexport type CreatePoolOptions = {\n tickSpacing: TickSpacing;\n initializePrice: number;\n imageUrl: string;\n coinNameA: CoinName;\n coinNameB: CoinName;\n amount: number;\n isAmountA: boolean;\n};\n\nexport type AlphaFiSingleAssetVault = {\n poolId: string;\n poolName: PoolName;\n receiptName: string;\n receiptType: string;\n coinType: CoinType;\n coinName: CoinName;\n};\n\nexport type AlphaFiDoubleAssetVault = {\n poolId: string;\n poolName: PoolName;\n receiptName: string;\n receiptType: string;\n coinTypeA: CoinType;\n coinTypeB: CoinType;\n coinNameA: CoinName;\n coinNameB: CoinName;\n};\n\n// Union type for both single and double asset vaults\nexport type AlphaFiVault = AlphaFiSingleAssetVault | AlphaFiDoubleAssetVault;\n\nexport type AlphaVaultBalance = {\n lockedAlphaCoins: string | null;\n lockedAlphaCoinsInUSD: string | null;\n unlockedAlphaCoins: string | null;\n unlockedAlphaCoinsInUSD: string | null;\n totalAlphaCoins: string | null;\n totalAlphaCoinsInUSD: string | null;\n};\n\nexport type DoubleAssetVaultBalance = {\n coinA: string | null;\n coinB: string | null;\n valueInUSD: string | null;\n};\n\nexport type SingleAssetVaultBalance = {\n coin: string | null;\n valueInUSD: string | null;\n};\n\nexport type AlphaFiVaultBalance =\n | AlphaVaultBalance\n | SingleAssetVaultBalance\n | DoubleAssetVaultBalance;\n\nexport type LpBreakdownType = {\n coinA: string | null;\n coinAInUsd: string | null;\n coinB: string | null;\n coinBInUsd: string | null;\n liquidity: string | null;\n};\n\nexport interface RebalanceHistoryType {\n timestamp: string;\n lower_tick: string;\n upper_tick: string;\n after_price: string;\n amount_a_before: string;\n amount_b_before: string;\n amount_a_after: string;\n amount_b_after: string;\n}\n\nexport type TransactionBlockType = {\n digest: string;\n transaction: {\n data: {\n messageVersion: string;\n transaction: {\n kind: string;\n inputs: {\n type: string;\n valueType: string;\n value: number;\n objectId: string | undefined;\n }[];\n transactions: {\n MoveCall: {\n package: string;\n module: string;\n function: string;\n type_arguments: string[];\n arguments: string[];\n };\n }[];\n };\n sender: string;\n };\n txSignatures: string[];\n };\n events: {\n type: string;\n parsedJson: {\n after_sqrt_price: string;\n };\n }[];\n timestampMs: string;\n checkpoint: string;\n};\n\nexport interface NaviVoloData {\n data: {\n operatorBalance: string;\n collectableFee: string;\n pendingStakes: string;\n poolTotalRewards: string;\n unstakeTicketSupply: string;\n totalStaked: string;\n activeStake: string;\n calcTotalRewards: string;\n currentEpoch: string;\n validators: object;\n exchangeRate: string;\n totalSupply: string;\n apy: string;\n sortedValidators: string[];\n maxInstantUnstake: string;\n maxNoFeeUnstake: string;\n };\n code: number;\n}\n\nexport type LoopingDebt = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n name: [];\n value: string;\n };\n };\n};\n\nexport type Distributor = {\n objectId: string;\n version: string;\n digest: string;\n type: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n airdrop_wallet: string;\n airdrop_wallet_balance: string;\n dust_wallet_address: string;\n fee_wallet: string;\n id: {\n id: string;\n };\n next_halving_timestamp: string;\n pool_allocator: Allocator;\n\n // to-do\n reward_unlock: {\n fields: { contents: [] };\n type: string;\n };\n start_timestamp: string;\n target: string;\n team_wallet_address: string;\n team_wallet_balance: string;\n };\n };\n};\n\nexport type Allocator = {\n fields: {\n id: {\n id: string;\n };\n members: {\n fields: {\n contents: MemberType[];\n };\n type: string;\n };\n rewards: {\n fields: {\n id: {\n id: string;\n };\n size: string;\n };\n type: string;\n };\n total_weights: {\n fields: {\n contents: TotalWeightType[];\n };\n type: string;\n };\n };\n type: string;\n};\n\nexport type TotalWeightType = {\n fields: {\n key: {\n fields: {\n name: string;\n };\n type: string;\n };\n value: string;\n };\n type: string;\n};\n\nexport type MemberPoolDataType = {\n fields: {\n key: {\n fields: {\n name: string;\n };\n type: string;\n };\n value: {\n fields: {\n last_update_time: string;\n pending_rewards: string;\n weight: string;\n };\n type: string;\n };\n };\n type: string;\n};\n\nexport type MemberType = {\n fields: {\n key: string;\n value: {\n fields: {\n pool_data: {\n fields: {\n contents: MemberPoolDataType[];\n };\n type: string;\n };\n };\n type: string;\n };\n };\n type: string;\n};\n"]}
@@ -1,6 +1,8 @@
1
1
  import { PoolName } from "./common/types.js";
2
2
  export declare function getApr(poolName: PoolName): Promise<number>;
3
3
  export declare function getAprs(poolNames?: PoolName[]): Promise<Record<string, number>>;
4
+ export declare function getRewardAprs(poolNames?: PoolName[]): Promise<Record<string, number>>;
4
5
  export declare function getApy(poolName: PoolName): Promise<number>;
5
6
  export declare function getApys(poolNames?: PoolName[]): Promise<Record<string, number>>;
7
+ export declare function fetchRewardAPR(poolName: PoolName, ignoreCache: boolean): Promise<number>;
6
8
  //# sourceMappingURL=getAprs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getAprs.d.ts","sourceRoot":"","sources":["../../src/getAprs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,wBAAsB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAIhE;AAED,wBAAsB,OAAO,CAC3B,SAAS,CAAC,EAAE,QAAQ,EAAE,GACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAoBjC;AAED,wBAAsB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhE;AAED,wBAAsB,OAAO,CAC3B,SAAS,CAAC,EAAE,QAAQ,EAAE,GACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAYjC"}
1
+ {"version":3,"file":"getAprs.d.ts","sourceRoot":"","sources":["../../src/getAprs.ts"],"names":[],"mappings":"AAIA,OAAO,EAOL,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAyB3B,wBAAsB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAIhE;AAED,wBAAsB,OAAO,CAC3B,SAAS,CAAC,EAAE,QAAQ,EAAE,GACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAoBjC;AAED,wBAAsB,aAAa,CACjC,SAAS,CAAC,EAAE,QAAQ,EAAE,GACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAoBjC;AAED,wBAAsB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhE;AAED,wBAAsB,OAAO,CAC3B,SAAS,CAAC,EAAE,QAAQ,EAAE,GACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAejC;AAaD,wBAAsB,cAAc,CAClC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,MAAM,CAAC,CA2RjB"}
@@ -1,5 +1,12 @@
1
1
  import { calculateAprForPools, fetchAutoCompoundingEvents, } from "./sui-sdk/events/fetchAutoCompoundingEvents.js";
2
- import { poolInfo } from "./common/maps.js";
2
+ import { doubleAssetPoolCoinMap, poolInfo, singleAssetPoolCoinMap, } from "./common/maps.js";
3
+ import { Decimal } from "decimal.js";
4
+ import { getConf } from "./common/constants.js";
5
+ import { getCetusPool, getDistributor, getInvestor, getMultiCetusPool, getMultiInvestor, getMultiParentPool, getMultiPool, getParentPool, getPool, } from "./sui-sdk/functions/getReceipts.js";
6
+ import { getLatestPrices, getMultiLatestPrices } from "./utils/prices.js";
7
+ import { ClmmPoolUtil, TickMath } from "@cetusprotocol/cetus-sui-clmm-sdk";
8
+ import BN from "bn.js";
9
+ import { coinsList } from "./common/coins.js";
3
10
  export async function getApr(poolName) {
4
11
  const aprMap = await getAprs([poolName]);
5
12
  const apr = aprMap[poolName];
@@ -22,17 +29,40 @@ export async function getAprs(poolNames) {
22
29
  }
23
30
  return aprMap;
24
31
  }
32
+ export async function getRewardAprs(poolNames) {
33
+ await Promise.all([
34
+ getMultiPool(),
35
+ getMultiCetusPool(),
36
+ getMultiInvestor(),
37
+ getMultiParentPool(),
38
+ getMultiLatestPrices(),
39
+ ]);
40
+ const aprMap = {};
41
+ if (poolNames) {
42
+ poolNames.forEach(async (pool) => {
43
+ aprMap[pool] = await fetchRewardAPR(pool, false);
44
+ });
45
+ }
46
+ else {
47
+ for (const pool of Object.keys(poolInfo)) {
48
+ aprMap[pool] = await fetchRewardAPR(pool, false);
49
+ }
50
+ }
51
+ return aprMap;
52
+ }
25
53
  export async function getApy(poolName) {
26
54
  const apy = convertAprToApy(await getApr(poolName));
27
55
  return apy;
28
56
  }
29
57
  export async function getApys(poolNames) {
30
58
  const aprMap = await getAprs(poolNames);
59
+ const rewardAprMap = await getRewardAprs(poolNames);
60
+ // console.log(aprMap);
31
61
  // Convert each APR to APY
32
62
  const apyMap = {};
33
63
  for (const poolName in aprMap) {
34
64
  if (aprMap.hasOwnProperty(poolName)) {
35
- apyMap[poolName] = convertAprToApy(aprMap[poolName]);
65
+ apyMap[poolName] = convertAprToApy(aprMap[poolName] + rewardAprMap[poolName]);
36
66
  }
37
67
  }
38
68
  return apyMap;
@@ -47,4 +77,221 @@ function convertAprToApy(apr) {
47
77
  const apy = 100 * (Math.pow(1 + apr / 100 / n, n) - 1);
48
78
  return apy;
49
79
  }
80
+ export async function fetchRewardAPR(poolName, ignoreCache) {
81
+ let apr = 0;
82
+ if (!(poolName in poolInfo)) {
83
+ return 0;
84
+ }
85
+ try {
86
+ if (poolName === "ALPHA") {
87
+ const pool = await getPool("ALPHA", ignoreCache);
88
+ const distributor = await getDistributor(ignoreCache);
89
+ if (pool && distributor) {
90
+ const allocator = distributor.content.fields.pool_allocator;
91
+ const tokensInvested = Number(pool.content.fields.tokensInvested);
92
+ const target = Number(distributor.content.fields.target);
93
+ const members = allocator.fields.members.fields.contents;
94
+ let alphaMember = undefined;
95
+ for (const member of members) {
96
+ if (member.fields.key === getConf().ALPHA_POOL) {
97
+ alphaMember = member;
98
+ }
99
+ }
100
+ if (alphaMember) {
101
+ const weight = Number(alphaMember.fields.value.fields.pool_data.fields.contents[0].fields
102
+ .value.fields.weight);
103
+ const totalWeightArr = allocator.fields.total_weights.fields.contents;
104
+ const totalWeight = Number(totalWeightArr[0].fields.value);
105
+ if (totalWeight === 0 || tokensInvested === 0)
106
+ return 0;
107
+ apr =
108
+ (((target / 100) * 365 * weight) / totalWeight / tokensInvested) *
109
+ (2_750_000 / 4_250_000) *
110
+ 100;
111
+ }
112
+ }
113
+ }
114
+ else if (Object.keys(doubleAssetPoolCoinMap).includes(poolName)) {
115
+ const distributor = await getDistributor(ignoreCache);
116
+ let clmmPool;
117
+ if (poolInfo[poolName].parentProtocolName == "CETUS") {
118
+ clmmPool = await getCetusPool(poolName, ignoreCache);
119
+ }
120
+ else {
121
+ clmmPool = await getParentPool(poolName, ignoreCache);
122
+ }
123
+ const pool = await getPool(poolName, ignoreCache);
124
+ let investor;
125
+ if (poolInfo[poolName].parentProtocolName == "CETUS") {
126
+ investor = (await getInvestor(poolName, ignoreCache));
127
+ }
128
+ else {
129
+ investor = (await getInvestor(poolName, ignoreCache));
130
+ }
131
+ const tokenA = doubleAssetPoolCoinMap[poolName].coin1;
132
+ const tokenB = doubleAssetPoolCoinMap[poolName].coin2;
133
+ if (distributor && clmmPool && investor && pool) {
134
+ const allocator = distributor.content.fields.pool_allocator;
135
+ const members = allocator.fields.members.fields.contents;
136
+ let poolMember = undefined;
137
+ for (const member of members) {
138
+ if (member.fields.key == poolInfo[poolName].poolId) {
139
+ poolMember = member;
140
+ }
141
+ }
142
+ if (poolMember) {
143
+ try {
144
+ const target = Number(distributor.content.fields.target);
145
+ const weight = Number(poolMember.fields.value.fields.pool_data.fields.contents[0].fields
146
+ .value.fields.weight);
147
+ const totalWeight = Number(allocator.fields.total_weights.fields.contents[0].fields.value);
148
+ if (totalWeight === 0)
149
+ return 0;
150
+ const [priceOfCoin0, priceOfCoin1] = await getLatestPrices([
151
+ `${tokenA}/USD`,
152
+ `${tokenB}/USD`,
153
+ ], ignoreCache);
154
+ const [priceOfAlpha] = await getLatestPrices(["ALPHA/USD"], ignoreCache);
155
+ if (priceOfCoin0 && priceOfCoin1) {
156
+ const liquidity = Math.floor(parseFloat(pool.content.fields.tokensInvested)).toString();
157
+ const current_sqrt_price = new BN(clmmPool.content.fields.current_sqrt_price);
158
+ const upperBound = 443636;
159
+ let lowerTick = Number(investor.content.fields.lower_tick);
160
+ let upperTick = Number(investor.content.fields.upper_tick);
161
+ if (lowerTick > upperBound) {
162
+ lowerTick = -~(lowerTick - 1);
163
+ }
164
+ if (upperTick > upperBound) {
165
+ upperTick = -~(upperTick - 1);
166
+ }
167
+ const upper_sqrt_price = TickMath.tickIndexToSqrtPriceX64(upperTick);
168
+ const lower_sqrt_price = TickMath.tickIndexToSqrtPriceX64(lowerTick);
169
+ const { coinA, coinB } = ClmmPoolUtil.getCoinAmountFromLiquidity(new BN(liquidity), current_sqrt_price, lower_sqrt_price, upper_sqrt_price, false);
170
+ let amount0 = coinA;
171
+ let amount1 = coinB;
172
+ // amount0 = amount0 / 10 ** coins[tokenA as CoinName].expo;
173
+ // amount1 = amount1 / 10 ** coins[tokenB as CoinName].expo;
174
+ amount0 = amount0.div(new BN(10 ** coinsList[tokenA].expo));
175
+ amount1 = amount1.div(new BN(10 ** coinsList[tokenB].expo));
176
+ if (priceOfAlpha) {
177
+ const amount0Big = new Decimal(amount0.toString());
178
+ const targetBig = new Decimal(target);
179
+ const weightBig = new Decimal(weight);
180
+ const totalWeightBig = new Decimal(totalWeight);
181
+ const priceOfAlphaBig = new Decimal(priceOfAlpha);
182
+ const priceOfCoin0Big = new Decimal(priceOfCoin0);
183
+ const amount1Big = new Decimal(amount1.toString());
184
+ const priceOfCoin1Big = new Decimal(priceOfCoin1);
185
+ if (totalWeight === 0 ||
186
+ amount0Big
187
+ .mul(priceOfCoin0Big)
188
+ .add(amount1Big.mul(priceOfCoin1Big))
189
+ .isZero()) {
190
+ return 0;
191
+ }
192
+ // apr =
193
+ // (((((target / (100 * 1_000_000_000)) * 365 * weight) /
194
+ // totalWeight) *
195
+ // parseFloat(priceOfAlpha)) /
196
+ // (amount0 * Number(priceOfCoin0) +
197
+ // amount1 * Number(priceOfCoin1))) *
198
+ // (2_750_000 / 4_250_000) *
199
+ // 100;
200
+ apr = targetBig
201
+ .div(new Decimal(100).mul(new Decimal(1000000000)))
202
+ .mul(new Decimal(365))
203
+ .mul(weightBig)
204
+ .div(totalWeightBig)
205
+ .mul(priceOfAlphaBig)
206
+ .div(amount0Big
207
+ .mul(priceOfCoin0Big)
208
+ .add(amount1Big.mul(priceOfCoin1Big)))
209
+ .mul(new Decimal(2750000).div(new Decimal(4250000)))
210
+ .mul(new Decimal(100))
211
+ .toNumber();
212
+ }
213
+ }
214
+ }
215
+ catch (error) {
216
+ console.log(`Error calculating Alpha APR for pool ${poolName}`, error);
217
+ }
218
+ }
219
+ }
220
+ }
221
+ else if (Object.keys(singleAssetPoolCoinMap).includes(poolName)) {
222
+ const distributor = await getDistributor(ignoreCache);
223
+ const pool = await getPool(poolName, ignoreCache);
224
+ const token = singleAssetPoolCoinMap[poolName];
225
+ if (distributor && pool) {
226
+ const allocator = distributor.content.fields.pool_allocator;
227
+ const members = allocator.fields.members.fields.contents;
228
+ let poolMember = undefined;
229
+ for (const member of members) {
230
+ if (member.fields.key == poolInfo[poolName].poolId) {
231
+ poolMember = member;
232
+ }
233
+ }
234
+ if (poolMember) {
235
+ try {
236
+ const target = Number(distributor.content.fields.target);
237
+ const weight = Number(poolMember.fields.value.fields.pool_data.fields.contents[0].fields
238
+ .value.fields.weight);
239
+ const totalWeight = Number(allocator.fields.total_weights.fields.contents[0].fields.value);
240
+ if (totalWeight === 0)
241
+ return 0;
242
+ const [priceOfCoin] = await getLatestPrices([`${token.coin}/USD`], ignoreCache);
243
+ const [priceOfAlpha] = await getLatestPrices(["ALPHA/USD"], ignoreCache);
244
+ if (priceOfCoin) {
245
+ let tokensInvested = new Decimal(pool.content.fields.tokensInvested);
246
+ // dividing by 1e9 for every token because navi scales every token's liquidity to 1e9;
247
+ if (poolName == "NAVI-LOOP-SUI-VSUI" ||
248
+ poolName == "NAVI-LOOP-USDC-USDT" ||
249
+ poolName == "NAVI-LOOP-HASUI-SUI" ||
250
+ poolName == "NAVI-LOOP-USDT-USDC") {
251
+ const investor = (await getInvestor(poolName, ignoreCache));
252
+ if (investor) {
253
+ const debtToSupplyRatio = new Decimal(investor.content.fields.current_debt_to_supply_ratio);
254
+ tokensInvested = tokensInvested
255
+ .mul(new Decimal(1).minus(debtToSupplyRatio.div(new Decimal(1e20))))
256
+ .div(new Decimal(1e9));
257
+ }
258
+ else {
259
+ tokensInvested = new Decimal(0);
260
+ }
261
+ }
262
+ else {
263
+ tokensInvested = tokensInvested.div(Math.pow(10, 9));
264
+ }
265
+ const liquidity = tokensInvested.toNumber();
266
+ if (priceOfAlpha) {
267
+ if (totalWeight === 0 || liquidity * Number(priceOfCoin) === 0)
268
+ return 0;
269
+ apr =
270
+ (((((target / (100 * 1_000_000_000)) * 365 * weight) /
271
+ totalWeight) *
272
+ parseFloat(priceOfAlpha)) /
273
+ (liquidity * Number(priceOfCoin))) *
274
+ (2_750_000 / 4_250_000) *
275
+ 100;
276
+ }
277
+ }
278
+ }
279
+ catch (e) {
280
+ console.error("error in fetchRewardAPR", e);
281
+ }
282
+ }
283
+ }
284
+ }
285
+ else {
286
+ console.log("fetchRewardAPR not implemented for poolName: " + poolName);
287
+ }
288
+ }
289
+ catch (e) {
290
+ console.error("error in fetchRewardAPR", e);
291
+ }
292
+ if (!apr) {
293
+ apr = 0;
294
+ }
295
+ return apr;
296
+ }
50
297
  //# sourceMappingURL=getAprs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getAprs.js","sourceRoot":"","sources":["../../src/getAprs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,gDAAgD,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAkB;IAC7C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,SAAsB;IAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,6BAA6B;IAE9E,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC;QAC9C,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,SAAS;KACrB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAgB,CAAC;QAClC,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAkB;IAC7C,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,SAAsB;IAEtB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IAExC,0BAA0B;IAC1B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,gBAAgB;IACnC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,OAAO,GAAG,CAAC;AACb,CAAC","sourcesContent":["import {\n calculateAprForPools,\n fetchAutoCompoundingEvents,\n} from \"./sui-sdk/events/fetchAutoCompoundingEvents.js\";\nimport { PoolName } from \"./common/types.js\";\nimport { poolInfo } from \"./common/maps.js\";\n\nexport async function getApr(poolName: PoolName): Promise<number> {\n const aprMap = await getAprs([poolName]);\n const apr = aprMap[poolName];\n return apr;\n}\n\nexport async function getAprs(\n poolNames?: PoolName[],\n): Promise<Record<string, number>> {\n const endTime = Date.now();\n const startTime = endTime - 24 * 60 * 60 * 1000; // timestamp for 24 hours ago\n\n const events = await fetchAutoCompoundingEvents({\n startTime: startTime,\n endTime: endTime,\n poolNames: poolNames,\n });\n\n const aprMap = await calculateAprForPools(events);\n\n for (const pool of Object.keys(poolInfo)) {\n const poolName = pool as PoolName;\n if (!(poolName in aprMap)) {\n aprMap[poolName] = 0;\n }\n }\n\n return aprMap;\n}\n\nexport async function getApy(poolName: PoolName): Promise<number> {\n const apy = convertAprToApy(await getApr(poolName));\n return apy;\n}\n\nexport async function getApys(\n poolNames?: PoolName[],\n): Promise<Record<string, number>> {\n const aprMap = await getAprs(poolNames);\n\n // Convert each APR to APY\n const apyMap: Record<string, number> = {};\n for (const poolName in aprMap) {\n if (aprMap.hasOwnProperty(poolName)) {\n apyMap[poolName] = convertAprToApy(aprMap[poolName]);\n }\n }\n\n return apyMap;\n}\n\n/**\n * Converts APR to APY with compounding 6 times a day\n * @param apr - The annual percentage rate (APR) as a decimal\n * @returns The annual percentage yield (APY) as a decimal\n */\nfunction convertAprToApy(apr: number): number {\n const n = 6 * 365; // 6 times a day\n const apy = 100 * (Math.pow(1 + apr / 100 / n, n) - 1);\n return apy;\n}\n"]}
1
+ {"version":3,"file":"getAprs.js","sourceRoot":"","sources":["../../src/getAprs.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n calculateAprForPools,\n fetchAutoCompoundingEvents,\n} from \"./sui-sdk/events/fetchAutoCompoundingEvents.js\";\nimport {\n Allocator,\n BluefinInvestor,\n CetusInvestor,\n CommonInvestorFields,\n MemberType,\n NaviInvestor,\n PoolName,\n} from \"./common/types.js\";\nimport {\n doubleAssetPoolCoinMap,\n poolInfo,\n singleAssetPoolCoinMap,\n} from \"./common/maps.js\";\nimport { Decimal } from \"decimal.js\";\nimport { getConf } from \"./common/constants.js\";\nimport {\n getCetusPool,\n getDistributor,\n getInvestor,\n getMultiCetusPool,\n getMultiInvestor,\n getMultiParentPool,\n getMultiPool,\n getParentPool,\n getPool,\n} from \"./sui-sdk/functions/getReceipts.js\";\nimport { getLatestPrices, getMultiLatestPrices } from \"./utils/prices.js\";\nimport { PythPriceIdPair } from \"./common/pyth.js\";\nimport { ClmmPoolUtil, TickMath } from \"@cetusprotocol/cetus-sui-clmm-sdk\";\nimport BN from \"bn.js\";\nimport { coinsList } from \"./common/coins.js\";\n\nexport async function getApr(poolName: PoolName): Promise<number> {\n const aprMap = await getAprs([poolName]);\n const apr = aprMap[poolName];\n return apr;\n}\n\nexport async function getAprs(\n poolNames?: PoolName[],\n): Promise<Record<string, number>> {\n const endTime = Date.now();\n const startTime = endTime - 24 * 60 * 60 * 1000; // timestamp for 24 hours ago\n\n const events = await fetchAutoCompoundingEvents({\n startTime: startTime,\n endTime: endTime,\n poolNames: poolNames,\n });\n\n const aprMap = await calculateAprForPools(events);\n\n for (const pool of Object.keys(poolInfo)) {\n const poolName = pool as PoolName;\n if (!(poolName in aprMap)) {\n aprMap[poolName] = 0;\n }\n }\n\n return aprMap;\n}\n\nexport async function getRewardAprs(\n poolNames?: PoolName[],\n): Promise<Record<string, number>> {\n await Promise.all([\n getMultiPool(),\n getMultiCetusPool(),\n getMultiInvestor(),\n getMultiParentPool(),\n getMultiLatestPrices(),\n ]);\n const aprMap: Record<string, number> = {};\n\n if (poolNames) {\n poolNames.forEach(async (pool) => {\n aprMap[pool] = await fetchRewardAPR(pool as PoolName, false);\n });\n } else {\n for (const pool of Object.keys(poolInfo)) {\n aprMap[pool] = await fetchRewardAPR(pool as PoolName, false);\n }\n }\n return aprMap;\n}\n\nexport async function getApy(poolName: PoolName): Promise<number> {\n const apy = convertAprToApy(await getApr(poolName));\n return apy;\n}\n\nexport async function getApys(\n poolNames?: PoolName[],\n): Promise<Record<string, number>> {\n const aprMap = await getAprs(poolNames);\n const rewardAprMap = await getRewardAprs(poolNames);\n // console.log(aprMap);\n // Convert each APR to APY\n const apyMap: Record<string, number> = {};\n for (const poolName in aprMap) {\n if (aprMap.hasOwnProperty(poolName)) {\n apyMap[poolName] = convertAprToApy(\n aprMap[poolName] + rewardAprMap[poolName],\n );\n }\n }\n\n return apyMap;\n}\n\n/**\n * Converts APR to APY with compounding 6 times a day\n * @param apr - The annual percentage rate (APR) as a decimal\n * @returns The annual percentage yield (APY) as a decimal\n */\nfunction convertAprToApy(apr: number): number {\n const n = 6 * 365; // 6 times a day\n const apy = 100 * (Math.pow(1 + apr / 100 / n, n) - 1);\n return apy;\n}\n\nexport async function fetchRewardAPR(\n poolName: PoolName,\n ignoreCache: boolean,\n): Promise<number> {\n let apr = 0;\n if (!(poolName in poolInfo)) {\n return 0;\n }\n try {\n if (poolName === \"ALPHA\") {\n const pool = await getPool(\"ALPHA\", ignoreCache);\n const distributor = await getDistributor(ignoreCache);\n if (pool && distributor) {\n const allocator: Allocator = distributor.content.fields.pool_allocator;\n const tokensInvested = Number(pool.content.fields.tokensInvested);\n const target = Number(distributor.content.fields.target);\n const members: MemberType[] = allocator.fields.members.fields.contents;\n let alphaMember: MemberType | undefined = undefined;\n for (const member of members) {\n if (member.fields.key === getConf().ALPHA_POOL) {\n alphaMember = member;\n }\n }\n if (alphaMember) {\n const weight = Number(\n alphaMember.fields.value.fields.pool_data.fields.contents[0].fields\n .value.fields.weight,\n );\n const totalWeightArr = allocator.fields.total_weights.fields.contents;\n const totalWeight = Number(totalWeightArr[0].fields.value);\n\n if (totalWeight === 0 || tokensInvested === 0) return 0;\n\n apr =\n (((target / 100) * 365 * weight) / totalWeight / tokensInvested) *\n (2_750_000 / 4_250_000) *\n 100;\n }\n }\n } else if (Object.keys(doubleAssetPoolCoinMap).includes(poolName)) {\n const distributor = await getDistributor(ignoreCache);\n let clmmPool;\n if (poolInfo[poolName].parentProtocolName == \"CETUS\") {\n clmmPool = await getCetusPool(poolName, ignoreCache);\n } else {\n clmmPool = await getParentPool(poolName, ignoreCache);\n }\n const pool = await getPool(poolName, ignoreCache);\n let investor;\n if (poolInfo[poolName].parentProtocolName == \"CETUS\") {\n investor = (await getInvestor(poolName, ignoreCache)) as CetusInvestor &\n CommonInvestorFields;\n } else {\n investor = (await getInvestor(\n poolName,\n ignoreCache,\n )) as BluefinInvestor & CommonInvestorFields;\n }\n const tokenA = doubleAssetPoolCoinMap[poolName].coin1;\n const tokenB = doubleAssetPoolCoinMap[poolName].coin2;\n\n if (distributor && clmmPool && investor && pool) {\n const allocator: Allocator = distributor.content.fields.pool_allocator;\n const members: MemberType[] = allocator.fields.members.fields.contents;\n\n let poolMember: MemberType | undefined = undefined;\n\n for (const member of members) {\n if (member.fields.key == poolInfo[poolName].poolId) {\n poolMember = member;\n }\n }\n\n if (poolMember) {\n try {\n const target = Number(distributor.content.fields.target);\n const weight = Number(\n poolMember.fields.value.fields.pool_data.fields.contents[0].fields\n .value.fields.weight,\n );\n const totalWeight = Number(\n allocator.fields.total_weights.fields.contents[0].fields.value,\n );\n\n if (totalWeight === 0) return 0;\n\n const [priceOfCoin0, priceOfCoin1] = await getLatestPrices(\n [\n `${tokenA}/USD` as PythPriceIdPair,\n `${tokenB}/USD` as PythPriceIdPair,\n ],\n ignoreCache,\n );\n const [priceOfAlpha] = await getLatestPrices(\n [\"ALPHA/USD\"],\n ignoreCache,\n );\n if (priceOfCoin0 && priceOfCoin1) {\n const liquidity = Math.floor(\n parseFloat(pool.content.fields.tokensInvested),\n ).toString();\n const current_sqrt_price = new BN(\n clmmPool.content.fields.current_sqrt_price,\n );\n const upperBound = 443636;\n let lowerTick = Number(investor.content.fields.lower_tick);\n let upperTick = Number(investor.content.fields.upper_tick);\n\n if (lowerTick > upperBound) {\n lowerTick = -~(lowerTick - 1);\n }\n if (upperTick > upperBound) {\n upperTick = -~(upperTick - 1);\n }\n const upper_sqrt_price =\n TickMath.tickIndexToSqrtPriceX64(upperTick);\n const lower_sqrt_price =\n TickMath.tickIndexToSqrtPriceX64(lowerTick);\n const { coinA, coinB } = ClmmPoolUtil.getCoinAmountFromLiquidity(\n new BN(liquidity),\n current_sqrt_price,\n lower_sqrt_price,\n upper_sqrt_price,\n false,\n );\n let amount0 = coinA;\n let amount1 = coinB;\n // amount0 = amount0 / 10 ** coins[tokenA as CoinName].expo;\n // amount1 = amount1 / 10 ** coins[tokenB as CoinName].expo;\n amount0 = amount0.div(new BN(10 ** coinsList[tokenA].expo));\n amount1 = amount1.div(new BN(10 ** coinsList[tokenB].expo));\n\n if (priceOfAlpha) {\n const amount0Big = new Decimal(amount0.toString());\n const targetBig = new Decimal(target);\n const weightBig = new Decimal(weight);\n const totalWeightBig = new Decimal(totalWeight);\n const priceOfAlphaBig = new Decimal(priceOfAlpha);\n const priceOfCoin0Big = new Decimal(priceOfCoin0);\n const amount1Big = new Decimal(amount1.toString());\n const priceOfCoin1Big = new Decimal(priceOfCoin1);\n\n if (\n totalWeight === 0 ||\n amount0Big\n .mul(priceOfCoin0Big)\n .add(amount1Big.mul(priceOfCoin1Big))\n .isZero()\n ) {\n return 0;\n }\n // apr =\n // (((((target / (100 * 1_000_000_000)) * 365 * weight) /\n // totalWeight) *\n // parseFloat(priceOfAlpha)) /\n // (amount0 * Number(priceOfCoin0) +\n // amount1 * Number(priceOfCoin1))) *\n // (2_750_000 / 4_250_000) *\n // 100;\n\n apr = targetBig\n .div(new Decimal(100).mul(new Decimal(1000000000)))\n .mul(new Decimal(365))\n .mul(weightBig)\n .div(totalWeightBig)\n .mul(priceOfAlphaBig)\n .div(\n amount0Big\n .mul(priceOfCoin0Big)\n .add(amount1Big.mul(priceOfCoin1Big)),\n )\n .mul(new Decimal(2750000).div(new Decimal(4250000)))\n .mul(new Decimal(100))\n .toNumber();\n }\n }\n } catch (error) {\n console.log(\n `Error calculating Alpha APR for pool ${poolName}`,\n error,\n );\n }\n }\n }\n } else if (Object.keys(singleAssetPoolCoinMap).includes(poolName)) {\n const distributor = await getDistributor(ignoreCache);\n const pool = await getPool(poolName, ignoreCache);\n\n const token = singleAssetPoolCoinMap[poolName];\n\n if (distributor && pool) {\n const allocator: Allocator = distributor.content.fields.pool_allocator;\n const members: MemberType[] = allocator.fields.members.fields.contents;\n\n let poolMember: MemberType | undefined = undefined;\n\n for (const member of members) {\n if (member.fields.key == poolInfo[poolName].poolId) {\n poolMember = member;\n }\n }\n\n if (poolMember) {\n try {\n const target = Number(distributor.content.fields.target);\n const weight = Number(\n poolMember.fields.value.fields.pool_data.fields.contents[0].fields\n .value.fields.weight,\n );\n const totalWeight = Number(\n allocator.fields.total_weights.fields.contents[0].fields.value,\n );\n\n if (totalWeight === 0) return 0;\n\n const [priceOfCoin] = await getLatestPrices(\n [`${token.coin}/USD` as PythPriceIdPair],\n ignoreCache,\n );\n\n const [priceOfAlpha] = await getLatestPrices(\n [\"ALPHA/USD\"],\n ignoreCache,\n );\n if (priceOfCoin) {\n let tokensInvested = new Decimal(\n pool.content.fields.tokensInvested,\n );\n // dividing by 1e9 for every token because navi scales every token's liquidity to 1e9;\n if (\n poolName == \"NAVI-LOOP-SUI-VSUI\" ||\n poolName == \"NAVI-LOOP-USDC-USDT\" ||\n poolName == \"NAVI-LOOP-HASUI-SUI\" ||\n poolName == \"NAVI-LOOP-USDT-USDC\"\n ) {\n const investor = (await getInvestor(\n poolName,\n ignoreCache,\n )) as NaviInvestor & CommonInvestorFields;\n if (investor) {\n const debtToSupplyRatio = new Decimal(\n investor.content.fields.current_debt_to_supply_ratio,\n );\n tokensInvested = tokensInvested\n .mul(\n new Decimal(1).minus(\n debtToSupplyRatio.div(new Decimal(1e20)),\n ),\n )\n .div(new Decimal(1e9));\n } else {\n tokensInvested = new Decimal(0);\n }\n } else {\n tokensInvested = tokensInvested.div(Math.pow(10, 9));\n }\n const liquidity = tokensInvested.toNumber();\n if (priceOfAlpha) {\n if (totalWeight === 0 || liquidity * Number(priceOfCoin) === 0)\n return 0;\n\n apr =\n (((((target / (100 * 1_000_000_000)) * 365 * weight) /\n totalWeight) *\n parseFloat(priceOfAlpha)) /\n (liquidity * Number(priceOfCoin))) *\n (2_750_000 / 4_250_000) *\n 100;\n }\n }\n } catch (e) {\n console.error(\"error in fetchRewardAPR\", e);\n }\n }\n }\n } else {\n console.log(\"fetchRewardAPR not implemented for poolName: \" + poolName);\n }\n } catch (e) {\n console.error(\"error in fetchRewardAPR\", e);\n }\n\n if (!apr) {\n apr = 0;\n }\n return apr;\n}\n"]}
@@ -34,5 +34,6 @@ export declare function multiGetNaviInvestor(poolNames: SingleAssetPoolNames[]):
34
34
  "NAVI-LOOP-USDT-USDC"?: (NaviInvestor & CommonInvestorFields) | undefined;
35
35
  "NAVI-LOOP-SUI-VSUI"?: (NaviInvestor & CommonInvestorFields) | undefined;
36
36
  "NAVI-LOOP-USDC-USDT"?: (NaviInvestor & CommonInvestorFields) | undefined;
37
+ "NAVI-LOOP-SUI-STSUI"?: (NaviInvestor & CommonInvestorFields) | undefined;
37
38
  }>;
38
39
  //# sourceMappingURL=getReceipts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getReceipts.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/getReceipts.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EAEb,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,QAAQ,EAGR,oBAAoB,EAEpB,UAAU,EAGV,WAAW,EAEX,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAyE5E;AAKD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,iBA0BrD;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,EAAE,CAAC,CAgEpB;AAKD,wBAAsB,YAAY,kBAmCjC;AAED,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,CAgDnC;AAOD,wBAAsB,kBAAkB,kBAqCvC;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,aAAa,GAAG,eAAe,CAAC,CAkD1C;AAOD,wBAAsB,iBAAiB,kBAiCtC;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,aAAa,GAAG,eAAe,GAAG,SAAS,CAAC,CA6CtD;AAKD,wBAAsB,gBAAgB,kBAkCrC;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,QAAQ,CAAC,CAqDnB;AAOD,wBAAsB,cAAc,CAClC,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CA6ClC;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,CAAC,CAgClB;AAOD,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,YAAY,CAAC,CAmEvB;AAED,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;GA8B3E"}
1
+ {"version":3,"file":"getReceipts.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/getReceipts.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EAEb,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,QAAQ,EAGR,oBAAoB,EAEpB,UAAU,EAGV,WAAW,EAEX,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAyE5E;AAKD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,iBA0BrD;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,EAAE,CAAC,CAgEpB;AAKD,wBAAsB,YAAY,kBAmCjC;AAED,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,CAgDnC;AAOD,wBAAsB,kBAAkB,kBAqCvC;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,aAAa,GAAG,eAAe,CAAC,CAkD1C;AAOD,wBAAsB,iBAAiB,kBAiCtC;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,aAAa,GAAG,eAAe,GAAG,SAAS,CAAC,CA6CtD;AAKD,wBAAsB,gBAAgB,kBAkCrC;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,QAAQ,CAAC,CAqDnB;AAOD,wBAAsB,cAAc,CAClC,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CA6ClC;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,CAAC,CAgClB;AAOD,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,YAAY,CAAC,CAmEvB;AAED,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;GA8B3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"collect_rewards.d.ts","sourceRoot":"","sources":["../../../src/transactions/collect_rewards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAYvD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,wBA2anD"}
1
+ {"version":3,"file":"collect_rewards.d.ts","sourceRoot":"","sources":["../../../src/transactions/collect_rewards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAYvD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,wBA2bnD"}