@alphafi/alphafi-sdk 0.0.33 → 0.0.34

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 (200) hide show
  1. package/dist/cjs/collectReward.d.ts +2 -0
  2. package/dist/cjs/collectReward.d.ts.map +1 -0
  3. package/dist/cjs/collectReward.js +7 -0
  4. package/dist/cjs/collectReward.js.map +1 -0
  5. package/dist/cjs/common/alphaTypes.d.ts +110 -0
  6. package/dist/cjs/common/cetus_mainnet_config.d.ts +3 -0
  7. package/dist/cjs/common/coins.d.ts +5 -0
  8. package/dist/cjs/common/constants.d.ts +998 -0
  9. package/dist/cjs/common/constants.d.ts.map +1 -1
  10. package/dist/cjs/common/constants.js +12 -12
  11. package/dist/cjs/common/constants.js.map +1 -1
  12. package/dist/cjs/common/maps.d.ts +76 -0
  13. package/dist/cjs/common/maps.d.ts.map +1 -1
  14. package/dist/cjs/common/maps.js +102 -74
  15. package/dist/cjs/common/maps.js.map +1 -1
  16. package/dist/cjs/common/pyth.d.ts +7 -0
  17. package/dist/cjs/common/types.d.ts +463 -0
  18. package/dist/cjs/example.d.ts +3 -0
  19. package/dist/cjs/getAirdropShare.d.ts +2 -0
  20. package/dist/cjs/getAllVaults.d.ts +4 -0
  21. package/dist/cjs/getAlphaUnlocks.d.ts +14 -0
  22. package/dist/cjs/getAprs.d.ts +6 -0
  23. package/dist/cjs/getHoldersFromTransactions.d.ts +9 -0
  24. package/dist/cjs/getLastAutoCompoundTime.d.ts +3 -0
  25. package/dist/cjs/getLastAutoCompoundTime.js +1 -1
  26. package/dist/cjs/getLastAutoCompoundTime.js.map +1 -1
  27. package/dist/cjs/getRebalanceHistory.d.ts +4 -0
  28. package/dist/cjs/getVaultBalances.d.ts +9 -0
  29. package/dist/cjs/getVaults.d.ts +5 -0
  30. package/dist/cjs/graphql/client.d.ts +4 -0
  31. package/dist/cjs/graphql/executeMutations.d.ts +4 -0
  32. package/dist/cjs/graphql/fetchAutoCompoundingEventsGql.d.ts +27 -0
  33. package/dist/cjs/graphql/fetchData.d.ts +11 -0
  34. package/dist/cjs/graphql/fetchNftHolders.d.ts +3 -0
  35. package/dist/cjs/graphql/fetchReceipts.d.ts +3 -0
  36. package/dist/cjs/graphql/getMultiReceipts.d.ts +3 -0
  37. package/dist/cjs/graphql/getMultiReceipts.d.ts.map +1 -1
  38. package/dist/cjs/graphql/getMultiReceipts.js +8 -0
  39. package/dist/cjs/graphql/getMultiReceipts.js.map +1 -1
  40. package/dist/cjs/graphql/mutations.d.ts +4 -0
  41. package/dist/cjs/graphql/parseData.d.ts +2 -0
  42. package/dist/cjs/graphql/parseLockedTableId.d.ts +7 -0
  43. package/dist/cjs/graphql/queries/autoCompoundEvents.d.ts +2 -0
  44. package/dist/cjs/graphql/queries/cetusPools.d.ts +2 -0
  45. package/dist/cjs/graphql/queries/getMultiReceipts.d.ts +2 -0
  46. package/dist/cjs/graphql/queries/investors.d.ts +2 -0
  47. package/dist/cjs/graphql/queries/lockedTableData.d.ts +2 -0
  48. package/dist/cjs/graphql/queries/lockedTableDataFragment.d.ts +2 -0
  49. package/dist/cjs/graphql/queries/nftHolders.d.ts +2 -0
  50. package/dist/cjs/graphql/queries/pools.d.ts +2 -0
  51. package/dist/cjs/graphql/queries/receiptData.d.ts +2 -0
  52. package/dist/cjs/graphql/queries/userVaultBalances.d.ts +2 -0
  53. package/dist/cjs/graphql/queries/userVaults.d.ts +2 -0
  54. package/dist/cjs/graphql/queries.d.ts +15 -0
  55. package/dist/cjs/graphql/types.d.ts +112 -0
  56. package/dist/cjs/index.d.ts +29 -0
  57. package/dist/cjs/index.d.ts.map +1 -1
  58. package/dist/cjs/index.js +4 -2
  59. package/dist/cjs/index.js.map +1 -1
  60. package/dist/cjs/sui-sdk/client.d.ts +31 -0
  61. package/dist/cjs/sui-sdk/events/fetchAfterTransactionEvents.d.ts +8 -0
  62. package/dist/cjs/sui-sdk/events/fetchAfterTransactionEvents.d.ts.map +1 -1
  63. package/dist/cjs/sui-sdk/events/fetchAfterTransactionEvents.js +0 -1
  64. package/dist/cjs/sui-sdk/events/fetchAfterTransactionEvents.js.map +1 -1
  65. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.d.ts +6 -0
  66. package/dist/cjs/sui-sdk/events/fetchEvents.d.ts +3 -0
  67. package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.d.ts +3 -0
  68. package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.d.ts +5 -0
  69. package/dist/cjs/sui-sdk/events/fetchWithdrawV2Events.d.ts +3 -0
  70. package/dist/cjs/sui-sdk/events/parseData.d.ts +4 -0
  71. package/dist/cjs/sui-sdk/events/types.d.ts +183 -0
  72. package/dist/cjs/sui-sdk/functions/fetchTableData.d.ts +50 -0
  73. package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.d.ts +3 -0
  74. package/dist/cjs/sui-sdk/functions/fetchUserVaults.d.ts +3 -0
  75. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.d.ts +33 -0
  76. package/dist/cjs/sui-sdk/functions/getReceipts.d.ts +29 -0
  77. package/dist/cjs/sui-sdk/functions/getReceipts.d.ts.map +1 -1
  78. package/dist/cjs/sui-sdk/functions/getReceipts.js +53 -0
  79. package/dist/cjs/sui-sdk/functions/getReceipts.js.map +1 -1
  80. package/dist/cjs/sui-sdk/transactions/constants.d.ts +4 -0
  81. package/dist/cjs/sui-sdk/transactions/fetchTransactions.d.ts +4 -0
  82. package/dist/cjs/sui-sdk/transactions/types.d.ts +8 -0
  83. package/dist/cjs/types.d.ts +213 -0
  84. package/dist/cjs/utils/clmm/prices.d.ts +20 -0
  85. package/dist/cjs/utils/clmm/tokenAmountFromLiquidity.d.ts +11 -0
  86. package/dist/cjs/utils/clmm/types.d.ts +25 -0
  87. package/dist/cjs/utils/constants.d.ts +3 -0
  88. package/dist/cjs/utils/getHoldersFromTransactionsUtils.d.ts +6 -0
  89. package/dist/cjs/utils/getReceipts.d.ts +4 -0
  90. package/dist/cjs/utils/hop.d.ts +16 -0
  91. package/dist/cjs/utils/prices.d.ts +6 -0
  92. package/dist/cjs/utils/simpleCache.d.ts +10 -0
  93. package/dist/cjs/utils/types.d.ts +5 -0
  94. package/dist/cjs/utils/userHoldings.d.ts +6 -0
  95. package/dist/cjs/utils/userHoldings.d.ts.map +1 -1
  96. package/dist/cjs/utils/userHoldings.js +26 -7
  97. package/dist/cjs/utils/userHoldings.js.map +1 -1
  98. package/dist/cjs/vaultFunctions.d.ts +5 -0
  99. package/dist/esm/collectReward.d.ts +2 -0
  100. package/dist/esm/collectReward.d.ts.map +1 -0
  101. package/dist/esm/collectReward.js +4 -0
  102. package/dist/esm/collectReward.js.map +1 -0
  103. package/dist/esm/common/alphaTypes.d.ts +110 -0
  104. package/dist/esm/common/cetus_mainnet_config.d.ts +3 -0
  105. package/dist/esm/common/coins.d.ts +5 -0
  106. package/dist/esm/common/constants.d.ts +998 -0
  107. package/dist/esm/common/constants.d.ts.map +1 -1
  108. package/dist/esm/common/constants.js +12 -12
  109. package/dist/esm/common/constants.js.map +1 -1
  110. package/dist/esm/common/maps.d.ts +76 -0
  111. package/dist/esm/common/maps.d.ts.map +1 -1
  112. package/dist/esm/common/maps.js +103 -75
  113. package/dist/esm/common/maps.js.map +1 -1
  114. package/dist/esm/common/pyth.d.ts +7 -0
  115. package/dist/esm/common/types.d.ts +463 -0
  116. package/dist/esm/example.d.ts +3 -0
  117. package/dist/esm/getAirdropShare.d.ts +2 -0
  118. package/dist/esm/getAllVaults.d.ts +4 -0
  119. package/dist/esm/getAlphaUnlocks.d.ts +14 -0
  120. package/dist/esm/getAprs.d.ts +6 -0
  121. package/dist/esm/getHoldersFromTransactions.d.ts +9 -0
  122. package/dist/esm/getLastAutoCompoundTime.d.ts +3 -0
  123. package/dist/esm/getLastAutoCompoundTime.js +1 -1
  124. package/dist/esm/getLastAutoCompoundTime.js.map +1 -1
  125. package/dist/esm/getRebalanceHistory.d.ts +4 -0
  126. package/dist/esm/getVaultBalances.d.ts +9 -0
  127. package/dist/esm/getVaults.d.ts +5 -0
  128. package/dist/esm/graphql/client.d.ts +4 -0
  129. package/dist/esm/graphql/executeMutations.d.ts +4 -0
  130. package/dist/esm/graphql/fetchAutoCompoundingEventsGql.d.ts +27 -0
  131. package/dist/esm/graphql/fetchData.d.ts +11 -0
  132. package/dist/esm/graphql/fetchNftHolders.d.ts +3 -0
  133. package/dist/esm/graphql/fetchReceipts.d.ts +3 -0
  134. package/dist/esm/graphql/getMultiReceipts.d.ts +3 -0
  135. package/dist/esm/graphql/getMultiReceipts.d.ts.map +1 -1
  136. package/dist/esm/graphql/getMultiReceipts.js +8 -0
  137. package/dist/esm/graphql/getMultiReceipts.js.map +1 -1
  138. package/dist/esm/graphql/mutations.d.ts +4 -0
  139. package/dist/esm/graphql/parseData.d.ts +2 -0
  140. package/dist/esm/graphql/parseLockedTableId.d.ts +7 -0
  141. package/dist/esm/graphql/queries/autoCompoundEvents.d.ts +2 -0
  142. package/dist/esm/graphql/queries/cetusPools.d.ts +2 -0
  143. package/dist/esm/graphql/queries/getMultiReceipts.d.ts +2 -0
  144. package/dist/esm/graphql/queries/investors.d.ts +2 -0
  145. package/dist/esm/graphql/queries/lockedTableData.d.ts +2 -0
  146. package/dist/esm/graphql/queries/lockedTableDataFragment.d.ts +2 -0
  147. package/dist/esm/graphql/queries/nftHolders.d.ts +2 -0
  148. package/dist/esm/graphql/queries/pools.d.ts +2 -0
  149. package/dist/esm/graphql/queries/receiptData.d.ts +2 -0
  150. package/dist/esm/graphql/queries/userVaultBalances.d.ts +2 -0
  151. package/dist/esm/graphql/queries/userVaults.d.ts +2 -0
  152. package/dist/esm/graphql/queries.d.ts +15 -0
  153. package/dist/esm/graphql/types.d.ts +112 -0
  154. package/dist/esm/index.d.ts +29 -0
  155. package/dist/esm/index.d.ts.map +1 -1
  156. package/dist/esm/index.js +1 -1
  157. package/dist/esm/index.js.map +1 -1
  158. package/dist/esm/sui-sdk/client.d.ts +31 -0
  159. package/dist/esm/sui-sdk/events/fetchAfterTransactionEvents.d.ts +8 -0
  160. package/dist/esm/sui-sdk/events/fetchAfterTransactionEvents.d.ts.map +1 -1
  161. package/dist/esm/sui-sdk/events/fetchAfterTransactionEvents.js +0 -1
  162. package/dist/esm/sui-sdk/events/fetchAfterTransactionEvents.js.map +1 -1
  163. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.d.ts +6 -0
  164. package/dist/esm/sui-sdk/events/fetchEvents.d.ts +3 -0
  165. package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.d.ts +3 -0
  166. package/dist/esm/sui-sdk/events/fetchRebalanceEvents.d.ts +5 -0
  167. package/dist/esm/sui-sdk/events/fetchWithdrawV2Events.d.ts +3 -0
  168. package/dist/esm/sui-sdk/events/parseData.d.ts +4 -0
  169. package/dist/esm/sui-sdk/events/types.d.ts +183 -0
  170. package/dist/esm/sui-sdk/functions/fetchTableData.d.ts +50 -0
  171. package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.d.ts +3 -0
  172. package/dist/esm/sui-sdk/functions/fetchUserVaults.d.ts +3 -0
  173. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.d.ts +33 -0
  174. package/dist/esm/sui-sdk/functions/getReceipts.d.ts +29 -0
  175. package/dist/esm/sui-sdk/functions/getReceipts.d.ts.map +1 -1
  176. package/dist/esm/sui-sdk/functions/getReceipts.js +52 -0
  177. package/dist/esm/sui-sdk/functions/getReceipts.js.map +1 -1
  178. package/dist/esm/sui-sdk/transactions/constants.d.ts +4 -0
  179. package/dist/esm/sui-sdk/transactions/fetchTransactions.d.ts +4 -0
  180. package/dist/esm/sui-sdk/transactions/types.d.ts +8 -0
  181. package/dist/esm/types.d.ts +213 -0
  182. package/dist/esm/utils/clmm/prices.d.ts +20 -0
  183. package/dist/esm/utils/clmm/tokenAmountFromLiquidity.d.ts +11 -0
  184. package/dist/esm/utils/clmm/types.d.ts +25 -0
  185. package/dist/esm/utils/constants.d.ts +3 -0
  186. package/dist/esm/utils/getHoldersFromTransactionsUtils.d.ts +6 -0
  187. package/dist/esm/utils/getReceipts.d.ts +4 -0
  188. package/dist/esm/utils/hop.d.ts +16 -0
  189. package/dist/esm/utils/prices.d.ts +6 -0
  190. package/dist/esm/utils/simpleCache.d.ts +10 -0
  191. package/dist/esm/utils/types.d.ts +5 -0
  192. package/dist/esm/utils/userHoldings.d.ts +6 -0
  193. package/dist/esm/utils/userHoldings.d.ts.map +1 -1
  194. package/dist/esm/utils/userHoldings.js +27 -8
  195. package/dist/esm/utils/userHoldings.js.map +1 -1
  196. package/dist/esm/vaultFunctions.d.ts +5 -0
  197. package/package.json +2 -2
  198. package/dist/index.js +0 -3
  199. package/dist/index.js.LICENSE.txt +0 -48
  200. package/dist/index.js.map +0 -1
@@ -11,6 +11,7 @@ const constants_js_1 = require("./constants.js");
11
11
  const client_js_1 = require("../sui-sdk/client.js");
12
12
  const decimal_js_1 = require("decimal.js");
13
13
  const prices_js_1 = require("../utils/prices.js");
14
+ const getReceipts_js_1 = require("../sui-sdk/functions/getReceipts.js");
14
15
  exports.stableCoins = [
15
16
  "USDT",
16
17
  "WUSDT",
@@ -129,50 +130,42 @@ function coinsInPool(poolName, event) {
129
130
  throw new Error("Pool not found in poolCoinMap or poolCoinPairMap");
130
131
  }
131
132
  exports.poolInfo = {
132
- // "NAVI-LOOP-USDT-USDC": {
133
- // parentProtocolName: "NAVI",
134
- // parentPoolId: conf[CONF_ENV].NAVI_USDT_POOL,
135
- // poolId: conf[CONF_ENV].ALPHAFI_NAVI_LOOP_USDT_USDC_POOL,
136
- // investorId: conf[CONF_ENV].NAVI_LOOP_USDT_USDC_INVESTOR,
137
- // receiptName: conf[CONF_ENV].NAVI_USDT_USDC_LOOP_RECEIPT_NAME,
138
- // receiptType: conf[CONF_ENV].NAVI_LOOP_USDT_USDC_RECEIPT,
139
- // autoCompoundingEventType:
140
- // conf[CONF_ENV].NAVI_LOOP_USDT_USDC_POOL_AUTO_COMPOUNDING_EVENT,
141
- // rebalanceEventType: undefined,
142
- // liquidityChangeEventType:
143
- // conf[CONF_ENV].NAVI_LOOP_USDT_USDC_POOL_LIQUIDITY_CHANGE_EVENT,
144
- // strategyType: "LOOPING",
145
- // },
146
- // "BLUEFIN-USDT-USDC": {
147
- // parentProtocolName: "BLUEFIN",
148
- // parentPoolId: conf[CONF_ENV].BLUEFIN_USDT_USDC_POOL,
149
- // poolId: conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL,
150
- // investorId: conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_INVESTOR,
151
- // receiptName: conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_RECEIPT_NAME,
152
- // receiptType: conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_RECEIPT,
153
- // autoCompoundingEventType:
154
- // conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL_AUTO_COMPOUNDING_EVENT,
155
- // rebalanceEventType:
156
- // conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL_REBALANCE_EVENT,
157
- // liquidityChangeEventType:
158
- // conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL_LIQUIDITY_CHANGE_EVENT,
159
- // // add strategy type
160
- // },
161
- // "BLUEFIN-SUI-USDC": {
162
- // parentProtocolName: "BLUEFIN",
163
- // parentPoolId: conf[CONF_ENV].BLUEFIN_SUI_USDC_POOL,
164
- // poolId: conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL,
165
- // investorId: conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_INVESTOR,
166
- // receiptName: conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_RECEIPT_NAME,
167
- // receiptType: conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_RECEIPT,
168
- // autoCompoundingEventType:
169
- // conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL_AUTO_COMPOUNDING_EVENT,
170
- // rebalanceEventType:
171
- // conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL_REBALANCE_EVENT,
172
- // liquidityChangeEventType:
173
- // conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL_LIQUIDITY_CHANGE_EVENT,
174
- // // add strategy type
175
- // },
133
+ "NAVI-LOOP-USDT-USDC": {
134
+ parentProtocolName: "NAVI",
135
+ parentPoolId: constants_js_1.conf[constants_js_1.CONF_ENV].NAVI_USDT_POOL,
136
+ poolId: constants_js_1.conf[constants_js_1.CONF_ENV].ALPHAFI_NAVI_LOOP_USDT_USDC_POOL,
137
+ investorId: constants_js_1.conf[constants_js_1.CONF_ENV].NAVI_LOOP_USDT_USDC_INVESTOR,
138
+ receiptName: constants_js_1.conf[constants_js_1.CONF_ENV].NAVI_USDT_USDC_LOOP_RECEIPT_NAME,
139
+ receiptType: constants_js_1.conf[constants_js_1.CONF_ENV].NAVI_LOOP_USDT_USDC_RECEIPT,
140
+ autoCompoundingEventType: constants_js_1.conf[constants_js_1.CONF_ENV].NAVI_LOOP_USDT_USDC_POOL_AUTO_COMPOUNDING_EVENT,
141
+ rebalanceEventType: undefined,
142
+ liquidityChangeEventType: constants_js_1.conf[constants_js_1.CONF_ENV].NAVI_LOOP_USDT_USDC_POOL_LIQUIDITY_CHANGE_EVENT,
143
+ strategyType: "LOOPING",
144
+ },
145
+ "BLUEFIN-USDT-USDC": {
146
+ parentProtocolName: "BLUEFIN",
147
+ parentPoolId: constants_js_1.conf[constants_js_1.CONF_ENV].BLUEFIN_USDT_USDC_POOL,
148
+ poolId: constants_js_1.conf[constants_js_1.CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL,
149
+ investorId: constants_js_1.conf[constants_js_1.CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_INVESTOR,
150
+ receiptName: constants_js_1.conf[constants_js_1.CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_RECEIPT_NAME,
151
+ receiptType: constants_js_1.conf[constants_js_1.CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_RECEIPT,
152
+ autoCompoundingEventType: constants_js_1.conf[constants_js_1.CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL_AUTO_COMPOUNDING_EVENT,
153
+ rebalanceEventType: constants_js_1.conf[constants_js_1.CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL_REBALANCE_EVENT,
154
+ liquidityChangeEventType: constants_js_1.conf[constants_js_1.CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL_LIQUIDITY_CHANGE_EVENT,
155
+ // add strategy type
156
+ },
157
+ "BLUEFIN-SUI-USDC": {
158
+ parentProtocolName: "BLUEFIN",
159
+ parentPoolId: constants_js_1.conf[constants_js_1.CONF_ENV].BLUEFIN_SUI_USDC_POOL,
160
+ poolId: constants_js_1.conf[constants_js_1.CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL,
161
+ investorId: constants_js_1.conf[constants_js_1.CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_INVESTOR,
162
+ receiptName: constants_js_1.conf[constants_js_1.CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_RECEIPT_NAME,
163
+ receiptType: constants_js_1.conf[constants_js_1.CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_RECEIPT,
164
+ autoCompoundingEventType: constants_js_1.conf[constants_js_1.CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL_AUTO_COMPOUNDING_EVENT,
165
+ rebalanceEventType: constants_js_1.conf[constants_js_1.CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL_REBALANCE_EVENT,
166
+ liquidityChangeEventType: constants_js_1.conf[constants_js_1.CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL_LIQUIDITY_CHANGE_EVENT,
167
+ // add strategy type
168
+ },
176
169
  "NAVI-LOOP-HASUI-SUI": {
177
170
  parentProtocolName: "NAVI",
178
171
  parentPoolId: constants_js_1.conf[constants_js_1.CONF_ENV].NAVI_HASUI_POOL,
@@ -578,32 +571,28 @@ exports.poolInfo = {
578
571
  rebalanceEventType: constants_js_1.conf[constants_js_1.CONF_ENV].FUD_SUI_POOL_REBALANCE_EVENT,
579
572
  liquidityChangeEventType: constants_js_1.conf[constants_js_1.CONF_ENV].FUD_SUI_POOL_LIQUIDITY_CHANGE_EVENT,
580
573
  },
581
- // "BLUB-SUI": {
582
- // parentProtocolName: "CETUS",
583
- // parentPoolId: conf[CONF_ENV].BLUB_SUI_CETUS_POOL_ID,
584
- // poolId: conf[CONF_ENV].BLUB_SUI_POOL,
585
- // investorId: conf[CONF_ENV].BLUB_SUI_CETUS_INVESTOR,
586
- // receiptName: conf[CONF_ENV].BLUB_SUI_POOL_RECEIPT_NAME,
587
- // receiptType: conf[CONF_ENV].BLUB_SUI_POOL_RECEIPT,
588
- // autoCompoundingEventType:
589
- // conf[CONF_ENV].BLUB_SUI_POOL_AUTO_COMPOUNDING_EVENT,
590
- // rebalanceEventType: conf[CONF_ENV].BLUB_SUI_POOL_REBALANCE_EVENT,
591
- // liquidityChangeEventType:
592
- // conf[CONF_ENV].BLUB_SUI_POOL_LIQUIDITY_CHANGE_EVENT,
593
- // },
594
- // "SCA-SUI": {
595
- // parentProtocolName: "CETUS",
596
- // parentPoolId: conf[CONF_ENV].SCA_SUI_CETUS_POOL_ID,
597
- // poolId: conf[CONF_ENV].SCA_SUI_POOL,
598
- // investorId: conf[CONF_ENV].SCA_SUI_CETUS_INVESTOR,
599
- // receiptName: conf[CONF_ENV].SCA_SUI_POOL_RECEIPT_NAME,
600
- // receiptType: conf[CONF_ENV].SCA_SUI_POOL_RECEIPT,
601
- // autoCompoundingEventType:
602
- // conf[CONF_ENV].SCA_SUI_POOL_AUTO_COMPOUNDING_EVENT,
603
- // rebalanceEventType: conf[CONF_ENV].SCA_SUI_POOL_REBALANCE_EVENT,
604
- // liquidityChangeEventType:
605
- // conf[CONF_ENV].SCA_SUI_POOL_LIQUIDITY_CHANGE_EVENT,
606
- // },
574
+ "BLUB-SUI": {
575
+ parentProtocolName: "CETUS",
576
+ parentPoolId: constants_js_1.conf[constants_js_1.CONF_ENV].BLUB_SUI_CETUS_POOL_ID,
577
+ poolId: constants_js_1.conf[constants_js_1.CONF_ENV].BLUB_SUI_POOL,
578
+ investorId: constants_js_1.conf[constants_js_1.CONF_ENV].BLUB_SUI_CETUS_INVESTOR,
579
+ receiptName: constants_js_1.conf[constants_js_1.CONF_ENV].BLUB_SUI_POOL_RECEIPT_NAME,
580
+ receiptType: constants_js_1.conf[constants_js_1.CONF_ENV].BLUB_SUI_POOL_RECEIPT,
581
+ autoCompoundingEventType: constants_js_1.conf[constants_js_1.CONF_ENV].BLUB_SUI_POOL_AUTO_COMPOUNDING_EVENT,
582
+ rebalanceEventType: constants_js_1.conf[constants_js_1.CONF_ENV].BLUB_SUI_POOL_REBALANCE_EVENT,
583
+ liquidityChangeEventType: constants_js_1.conf[constants_js_1.CONF_ENV].BLUB_SUI_POOL_LIQUIDITY_CHANGE_EVENT,
584
+ },
585
+ "SCA-SUI": {
586
+ parentProtocolName: "CETUS",
587
+ parentPoolId: constants_js_1.conf[constants_js_1.CONF_ENV].SCA_SUI_CETUS_POOL_ID,
588
+ poolId: constants_js_1.conf[constants_js_1.CONF_ENV].SCA_SUI_POOL,
589
+ investorId: constants_js_1.conf[constants_js_1.CONF_ENV].SCA_SUI_CETUS_INVESTOR,
590
+ receiptName: constants_js_1.conf[constants_js_1.CONF_ENV].SCA_SUI_POOL_RECEIPT_NAME,
591
+ receiptType: constants_js_1.conf[constants_js_1.CONF_ENV].SCA_SUI_POOL_RECEIPT,
592
+ autoCompoundingEventType: constants_js_1.conf[constants_js_1.CONF_ENV].SCA_SUI_POOL_AUTO_COMPOUNDING_EVENT,
593
+ rebalanceEventType: constants_js_1.conf[constants_js_1.CONF_ENV].SCA_SUI_POOL_REBALANCE_EVENT,
594
+ liquidityChangeEventType: constants_js_1.conf[constants_js_1.CONF_ENV].SCA_SUI_POOL_LIQUIDITY_CHANGE_EVENT,
595
+ },
607
596
  };
608
597
  async function getInvestorPoolMap() {
609
598
  const investorIdToPoolNameMap = new Map();
@@ -712,6 +701,39 @@ async function getPoolExchangeRateMap() {
712
701
  : "0";
713
702
  poolNameToConversionRateMap.set(exports.poolIdPoolNameMap[poolId], conversionRate);
714
703
  }
704
+ // Looping pools
705
+ const loopingPoolNames = Object.keys(exports.poolInfo).filter((poolName) => exports.poolInfo[poolName].strategyType === "LOOPING");
706
+ const loopingPoolsMap = {};
707
+ res
708
+ .filter((poolRawData) => {
709
+ const poolDetails = poolRawData.data;
710
+ const poolId = poolDetails.objectId;
711
+ return exports.poolInfo[exports.poolIdPoolNameMap[poolId]].strategyType === "LOOPING"
712
+ ? true
713
+ : false;
714
+ })
715
+ .map((poolRawData) => {
716
+ const poolDetails = poolRawData.data;
717
+ const poolId = poolDetails.objectId;
718
+ const poolName = exports.poolIdPoolNameMap[poolId];
719
+ loopingPoolsMap[poolName] = poolRawData.data;
720
+ });
721
+ const naviInvestors = await (0, getReceipts_js_1.multiGetNaviInvestor)(loopingPoolNames, false);
722
+ for (const poolName of loopingPoolNames) {
723
+ const pool = loopingPoolsMap[poolName];
724
+ const investor = naviInvestors[poolName];
725
+ if (investor) {
726
+ const liquidity = new decimal_js_1.Decimal(investor.content.fields.tokensDeposited);
727
+ const debtToSupplyRatio = new decimal_js_1.Decimal(investor.content.fields.current_debt_to_supply_ratio);
728
+ const tokensInvested = liquidity.mul(new decimal_js_1.Decimal(1).minus(new decimal_js_1.Decimal(debtToSupplyRatio).div(1e20)));
729
+ const xTokenSupplyInPool = new decimal_js_1.Decimal(pool.content.fields.xTokenSupply);
730
+ const exchangeRate = tokensInvested.div(xTokenSupplyInPool);
731
+ poolNameToConversionRateMap.set(poolName, exchangeRate.toString());
732
+ }
733
+ else {
734
+ console.error("investor not found for poolName: ", poolName);
735
+ }
736
+ }
715
737
  return poolNameToConversionRateMap;
716
738
  }
717
739
  // Pagination needed for more than 50 pools
@@ -770,10 +792,16 @@ async function getTokenPriceMap() {
770
792
  coinsSet.add(coin2);
771
793
  });
772
794
  const coins = Array.from(coinsSet);
773
- for (const coin of coins) {
774
- const [priceOfCoin] = await (0, prices_js_1.getLatestPrices)([`${coin}/USD`], false);
775
- coinNameToPriceMap.set(coin, priceOfCoin);
776
- }
795
+ const pricePairs = coins.map((coinName) => {
796
+ return `${coinName}/USD`;
797
+ });
798
+ const prices = await (0, prices_js_1.getLatestTokenPricePairs)(pricePairs, false);
799
+ Object.entries(prices).map(([pair, price]) => {
800
+ const coin = pair.split("/")[0];
801
+ if (price) {
802
+ coinNameToPriceMap.set(coin, price);
803
+ }
804
+ });
777
805
  return coinNameToPriceMap;
778
806
  }
779
807
  exports.parentPoolMap = (() => {
@@ -1 +1 @@
1
- {"version":3,"file":"maps.js","sourceRoot":"","sources":["../../../src/common/maps.ts"],"names":[],"mappings":"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","sourcesContent":["import { conf, CONF_ENV } from \"./constants.js\";\nimport {\n AlphaPoolType,\n CetusInvestor,\n CetusPoolType,\n CoinName,\n CoinType,\n DoubleAssetPoolNames,\n ParentProtocolName,\n PoolName,\n PoolReceipt,\n PoolType,\n SingleAssetPoolNames,\n StrategyType,\n} from \"./types.js\";\nimport { PythPriceIdPair } from \"./pyth.js\";\nimport { getSuiClient } from \"../sui-sdk/client.js\";\nimport { Decimal } from \"decimal.js\";\nimport { getLatestPrices } from \"../utils/prices.js\";\n\nexport const stableCoins = [\n \"USDT\",\n \"WUSDT\",\n \"USDC\",\n \"WUSDC\",\n \"USDY\",\n \"WUSDY\",\n \"AUSD\",\n \"BUCK\",\n];\n\nexport const cetusInvestorMap: { [key: string]: string } = {\n ALPHA: conf[CONF_ENV].ALPHA_CETUS_INVESTOR,\n \"USDT-WUSDC\": conf[CONF_ENV].USDT_WUSDC_CETUS_INVESTOR,\n \"ALPHA-SUI\": conf[CONF_ENV].ALPHA_SUI_CETUS_INVESTOR,\n \"HASUI-SUI\": conf[CONF_ENV].HASUI_SUI_CETUS_INVESTOR,\n \"USDY-WUSDC\": conf[CONF_ENV].USDY_WUSDC_CETUS_INVESTOR,\n \"WUSDC-SUI\": conf[CONF_ENV].WUSDC_SUI_CETUS_INVESTOR,\n \"WETH-WUSDC\": conf[CONF_ENV].WETH_WUSDC_CETUS_INVESTOR,\n \"WUSDC-WBTC\": conf[CONF_ENV].WUSDC_WBTC_CETUS_INVESTOR,\n \"NAVX-SUI\": conf[CONF_ENV].NAVX_SUI_CETUS_INVESTOR,\n \"BUCK-WUSDC\": conf[CONF_ENV].BUCK_WUSDC_CETUS_INVESTOR,\n \"CETUS-SUI\": conf[CONF_ENV].CETUS_SUI_CETUS_INVESTOR,\n};\n\nexport const poolMap: { [key: string]: string } = {\n ALPHA: conf[CONF_ENV].ALPHA_POOL,\n \"ALPHA-SUI\": conf[CONF_ENV].ALPHA_SUI_POOL,\n \"USDT-WUSDC\": conf[CONF_ENV].WUSDC_USDT_POOL,\n \"HASUI-SUI\": conf[CONF_ENV].HASUI_SUI_POOL,\n \"USDY-WUSDC\": conf[CONF_ENV].USDY_WUSDC_POOL,\n \"WUSDC-SUI\": conf[CONF_ENV].WUSDC_SUI_POOL,\n \"WETH-WUSDC\": conf[CONF_ENV].WETH_WUSDC_POOL,\n \"WUSDC-WBTC\": conf[CONF_ENV].WUSDC_WBTC_POOL,\n \"NAVX-SUI\": conf[CONF_ENV].NAVX_SUI_POOL,\n \"BUCK-WUSDC\": conf[CONF_ENV].BUCK_WUSDC_POOL,\n \"CETUS-SUI\": conf[CONF_ENV].CETUS_SUI_POOL,\n};\n\nexport const receiptNameMap: { [key in string]: string } = {\n ALPHA: conf[CONF_ENV].ALPHA_POOL_RECEIPT_NAME,\n \"ALPHA-SUI\": conf[CONF_ENV].ALPHA_SUI_POOL_RECEIPT_NAME,\n \"USDT-WUSDC\": conf[CONF_ENV].USDT_WUSDC_POOL_RECEIPT_NAME,\n \"HASUI-SUI\": conf[CONF_ENV].HASUI_SUI_POOL_RECEIPT_NAME,\n \"USDY-WUSDC\": conf[CONF_ENV].USDY_WUSDC_POOL_RECEIPT_NAME,\n \"WUSDC-SUI\": conf[CONF_ENV].WUSDC_SUI_POOL_RECEIPT_NAME,\n \"WETH-WUSDC\": conf[CONF_ENV].WETH_WUSDC_POOL_RECEIPT_NAME,\n \"WUSDC-WBTC\": conf[CONF_ENV].WUSDC_WBTC_POOL_RECEIPT_NAME,\n \"BUCK-WUSDC\": conf[CONF_ENV].BUCK_WUSDC_POOL_RECEIPT_NAME,\n \"CETUS-SUI\": conf[CONF_ENV].CETUS_SUI_POOL_RECEIPT_NAME,\n \"NAVI-VSUI\": conf[CONF_ENV].NAVI_VSUI_POOL_RECEIPT_NAME,\n \"NAVI-SUI\": conf[CONF_ENV].NAVI_SUI_POOL_RECEIPT_NAME,\n \"NAVI-HASUI\": conf[CONF_ENV].NAVI_HASUI_POOL_RECEIPT_NAME,\n};\n\nexport const poolCoinPairMap: Record<\n DoubleAssetPoolNames,\n { coinA: CoinName; coinB: CoinName }\n> = {\n \"USDT-WUSDC\": { coinA: \"USDT\", coinB: \"WUSDC\" },\n \"ALPHA-SUI\": { coinA: \"ALPHA\", coinB: \"SUI\" },\n \"HASUI-SUI\": { coinA: \"HASUI\", coinB: \"SUI\" },\n \"USDY-WUSDC\": { coinA: \"USDY\", coinB: \"WUSDC\" },\n \"WUSDC-SUI\": { coinA: \"WUSDC\", coinB: \"SUI\" },\n \"WETH-WUSDC\": { coinA: \"WETH\", coinB: \"WUSDC\" },\n \"WUSDC-WBTC\": { coinA: \"WUSDC\", coinB: \"WBTC\" },\n \"NAVX-SUI\": { coinA: \"NAVX\", coinB: \"SUI\" },\n \"BUCK-WUSDC\": { coinA: \"BUCK\", coinB: \"WUSDC\" },\n \"CETUS-SUI\": { coinA: \"CETUS\", coinB: \"SUI\" },\n \"ALPHA-WUSDC\": { coinA: \"ALPHA\", coinB: \"WUSDC\" },\n \"WSOL-WUSDC\": { coinA: \"WSOL\", coinB: \"WUSDC\" },\n \"FUD-SUI\": { coinA: \"FUD\", coinB: \"SUI\" },\n \"BLUB-SUI\": { coinA: \"BLUB\", coinB: \"SUI\" },\n \"SCA-SUI\": { coinA: \"SCA\", coinB: \"SUI\" },\n \"USDC-SUI\": { coinA: \"USDC\", coinB: \"SUI\" },\n \"USDC-USDT\": { coinA: \"USDC\", coinB: \"USDT\" },\n \"ALPHA-USDC\": { coinA: \"ALPHA\", coinB: \"USDC\" },\n \"USDC-WUSDC\": { coinA: \"USDC\", coinB: \"WUSDC\" },\n \"USDC-ETH\": { coinA: \"USDC\", coinB: \"ETH\" },\n \"DEEP-SUI\": { coinA: \"DEEP\", coinB: \"SUI\" },\n \"BUCK-SUI\": { coinA: \"BUCK\", coinB: \"SUI\" },\n \"BLUEFIN-SUI-USDC\": { coinA: \"SUI\", coinB: \"USDC\" },\n \"BLUEFIN-USDT-USDC\": { coinA: \"USDT\", coinB: \"USDC\" },\n};\n\nexport const poolCoinMap: Record<SingleAssetPoolNames, CoinName> = {\n ALPHA: \"ALPHA\",\n \"NAVI-VSUI\": \"VSUI\",\n \"NAVI-SUI\": \"SUI\",\n \"NAVI-WETH\": \"WETH\",\n \"NAVI-WUSDC\": \"WUSDC\",\n \"NAVI-USDT\": \"USDT\",\n \"NAVI-HASUI\": \"HASUI\",\n \"NAVI-LOOP-SUI-VSUI\": \"SUI\",\n \"NAVI-LOOP-USDC-USDT\": \"USDC\",\n \"NAVI-USDC\": \"USDC\",\n \"BUCKET-BUCK\": \"BUCK\",\n \"NAVI-USDY\": \"USDY\",\n \"NAVI-AUSD\": \"AUSD\",\n \"NAVI-ETH\": \"ETH\",\n \"NAVI-LOOP-HASUI-SUI\": \"HASUI\",\n \"NAVI-LOOP-USDT-USDC\": \"USDT\",\n};\n\n// FUNCTION OVERLOADS!\n// verify if there is event_type anywhere else\nexport function coinsInPool(\n poolName: DoubleAssetPoolNames,\n event?: { type: string; event_type?: number },\n): { coinA: CoinName; coinB: CoinName };\nexport function coinsInPool(\n poolName: SingleAssetPoolNames,\n event?: { type: string; event_type?: number },\n): CoinName;\nexport function coinsInPool(\n poolName: SingleAssetPoolNames | DoubleAssetPoolNames,\n event?: { type: string; event_type?: number },\n): { coinA: CoinName; coinB: CoinName } | CoinName {\n // Special case for \"NAVI-LOOP-SUI-VSUI\"\n if (poolName === \"NAVI-LOOP-SUI-VSUI\") {\n if (\n event &&\n event.type ===\n conf[CONF_ENV].NAVI_LOOP_SUI_VSUI_POOL_LIQUIDITY_CHANGE_EVENT &&\n event.event_type === 0\n ) {\n return \"SUI\";\n }\n return \"VSUI\";\n }\n const singleAsset = poolCoinMap[poolName as SingleAssetPoolNames];\n const doubleAsset = poolCoinPairMap[poolName as DoubleAssetPoolNames];\n if (singleAsset) {\n return singleAsset;\n }\n if (doubleAsset) {\n return doubleAsset;\n }\n console.error(\"poolName: \", poolName);\n throw new Error(\"Pool not found in poolCoinMap or poolCoinPairMap\");\n}\n\nexport const poolInfo: {\n [key: string]: {\n parentProtocolName: ParentProtocolName;\n parentPoolId: string;\n poolId: string;\n investorId: string;\n receiptName: string;\n receiptType: PoolReceipt;\n autoCompoundingEventType: string;\n rebalanceEventType: string | undefined;\n liquidityChangeEventType: string;\n withdrawV2EventType?: string;\n afterTransactionEventType?: string;\n strategyType?: StrategyType;\n };\n} = {\n // \"NAVI-LOOP-USDT-USDC\": {\n // parentProtocolName: \"NAVI\",\n // parentPoolId: conf[CONF_ENV].NAVI_USDT_POOL,\n // poolId: conf[CONF_ENV].ALPHAFI_NAVI_LOOP_USDT_USDC_POOL,\n // investorId: conf[CONF_ENV].NAVI_LOOP_USDT_USDC_INVESTOR,\n // receiptName: conf[CONF_ENV].NAVI_USDT_USDC_LOOP_RECEIPT_NAME,\n // receiptType: conf[CONF_ENV].NAVI_LOOP_USDT_USDC_RECEIPT,\n // autoCompoundingEventType:\n // conf[CONF_ENV].NAVI_LOOP_USDT_USDC_POOL_AUTO_COMPOUNDING_EVENT,\n // rebalanceEventType: undefined,\n // liquidityChangeEventType:\n // conf[CONF_ENV].NAVI_LOOP_USDT_USDC_POOL_LIQUIDITY_CHANGE_EVENT,\n // strategyType: \"LOOPING\",\n // },\n // \"BLUEFIN-USDT-USDC\": {\n // parentProtocolName: \"BLUEFIN\",\n // parentPoolId: conf[CONF_ENV].BLUEFIN_USDT_USDC_POOL,\n // poolId: conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL,\n // investorId: conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_INVESTOR,\n // receiptName: conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_RECEIPT_NAME,\n // receiptType: conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_RECEIPT,\n // autoCompoundingEventType:\n // conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL_AUTO_COMPOUNDING_EVENT,\n // rebalanceEventType:\n // conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL_REBALANCE_EVENT,\n // liquidityChangeEventType:\n // conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL_LIQUIDITY_CHANGE_EVENT,\n // // add strategy type\n // },\n // \"BLUEFIN-SUI-USDC\": {\n // parentProtocolName: \"BLUEFIN\",\n // parentPoolId: conf[CONF_ENV].BLUEFIN_SUI_USDC_POOL,\n // poolId: conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL,\n // investorId: conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_INVESTOR,\n // receiptName: conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_RECEIPT_NAME,\n // receiptType: conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_RECEIPT,\n // autoCompoundingEventType:\n // conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL_AUTO_COMPOUNDING_EVENT,\n // rebalanceEventType:\n // conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL_REBALANCE_EVENT,\n // liquidityChangeEventType:\n // conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL_LIQUIDITY_CHANGE_EVENT,\n // // add strategy type\n // },\n \"NAVI-LOOP-HASUI-SUI\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_HASUI_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_LOOP_HASUI_SUI_POOL,\n investorId: conf[CONF_ENV].NAVI_LOOP_HASUI_SUI_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_HASUI_SUI_LOOP_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_LOOP_HASUI_SUI_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_LOOP_HASUI_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_LOOP_HASUI_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n strategyType: \"LOOPING\",\n },\n \"NAVI-USDY\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_USDY_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_USDY_POOL,\n investorId: conf[CONF_ENV].NAVI_USDY_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_USDY_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_USDY_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_USDY_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_USDY_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"NAVI-AUSD\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_AUSD_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_AUSD_POOL,\n investorId: conf[CONF_ENV].NAVI_AUSD_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_AUSD_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_AUSD_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_AUSD_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_AUSD_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"NAVI-ETH\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_ETH_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_ETH_POOL,\n investorId: conf[CONF_ENV].NAVI_ETH_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_ETH_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_ETH_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_ETH_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_ETH_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"BUCKET-BUCK\": {\n parentProtocolName: \"BUCKET\",\n parentPoolId: conf[CONF_ENV].BUCKET_PROTOCOL,\n poolId: conf[CONF_ENV].BUCKET_BUCK_POOL,\n investorId: conf[CONF_ENV].BUCKET_BUCK_INVESTOR,\n receiptName: conf[CONF_ENV].BUCKET_BUCK_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].BUCKET_BUCK_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].BUCKET_BUCK_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].BUCKET_BUCK_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].BUCKET_BUCK_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"BUCK-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].BUCK_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].BUCK_SUI_POOL,\n investorId: conf[CONF_ENV].BUCK_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].BUCK_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].BUCK_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].BUCK_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].BUCK_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].BUCK_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"USDC-ETH\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].USDC_ETH_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].USDC_ETH_POOL,\n investorId: conf[CONF_ENV].USDC_ETH_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].USDC_ETH_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].USDC_ETH_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].USDC_ETH_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].USDC_ETH_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].USDC_ETH_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"DEEP-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].DEEP_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].DEEP_SUI_POOL,\n investorId: conf[CONF_ENV].DEEP_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].DEEP_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].DEEP_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].DEEP_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].DEEP_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].DEEP_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"ALPHA-USDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].ALPHA_USDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].ALPHA_USDC_POOL,\n investorId: conf[CONF_ENV].ALPHA_USDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].ALPHA_USDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].ALPHA_USDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].ALPHA_USDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].ALPHA_USDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].ALPHA_USDC_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"USDC-WUSDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].USDC_WUSDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].USDC_WUSDC_POOL,\n investorId: conf[CONF_ENV].USDC_WUSDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].USDC_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].USDC_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].USDC_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].USDC_WUSDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].USDC_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"USDC-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].USDC_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].USDC_SUI_POOL,\n investorId: conf[CONF_ENV].USDC_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].USDC_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].USDC_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].USDC_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].USDC_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].USDC_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"USDC-USDT\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].USDC_USDT_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].USDC_USDT_POOL,\n investorId: conf[CONF_ENV].USDC_USDT_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].USDC_USDT_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].USDC_USDT_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].USDC_USDT_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].USDC_USDT_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].USDC_USDT_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"NAVI-USDC\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_USDC_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_USDC_POOL,\n investorId: conf[CONF_ENV].NAVI_USDC_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_USDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_USDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_USDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_USDC_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"NAVI-LOOP-USDC-USDT\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_USDT_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_LOOP_USDC_USDT_POOL,\n investorId: conf[CONF_ENV].NAVI_LOOP_USDC_USDT_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_USDC_USDT_LOOP_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_LOOP_USDC_USDT_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_LOOP_USDC_USDT_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_LOOP_USDC_USDT_POOL_LIQUIDITY_CHANGE_EVENT,\n strategyType: \"LOOPING\",\n },\n \"NAVI-LOOP-SUI-VSUI\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_VSUI_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_LOOP_SUI_VSUI_POOL,\n investorId: conf[CONF_ENV].NAVI_LOOP_SUI_VSUI_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_SUI_VSUI_LOOP_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_LOOP_SUI_VSUI_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_LOOP_SUI_VSUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_LOOP_SUI_VSUI_POOL_LIQUIDITY_CHANGE_EVENT,\n strategyType: \"LOOPING\",\n },\n \"NAVI-SUI\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_SUI_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_SUI_POOL,\n investorId: conf[CONF_ENV].NAVI_SUI_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].NAVI_SUI_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"NAVI-VSUI\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_VSUI_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_VSUI_POOL,\n investorId: conf[CONF_ENV].NAVI_VSUI_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_VSUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_VSUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_VSUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_VSUI_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].NAVI_VSUI_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"NAVI-WETH\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_WETH_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_WETH_POOL,\n investorId: conf[CONF_ENV].NAVI_WETH_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_WETH_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_WETH_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_WETH_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_WETH_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].NAVI_WETH_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"NAVI-USDT\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_USDT_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_USDT_POOL,\n investorId: conf[CONF_ENV].NAVI_USDT_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_USDT_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_USDT_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_USDT_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_USDT_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].NAVI_USDT_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"NAVI-WUSDC\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_WUSDC_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_WUSDC_POOL,\n investorId: conf[CONF_ENV].NAVI_WUSDC_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].NAVI_WUSDC_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"NAVI-HASUI\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_HASUI_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_HASUI_POOL,\n investorId: conf[CONF_ENV].NAVI_HASUI_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_HASUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_HASUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_HASUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_HASUI_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].NAVI_HASUI_POOL_AFTER_TRANSACTION_EVENT,\n },\n ALPHA: {\n parentProtocolName: \"ALPHAFI\",\n parentPoolId: conf[CONF_ENV].ALPHA_POOL,\n poolId: conf[CONF_ENV].ALPHA_POOL,\n investorId: conf[CONF_ENV].ALPHA_POOL,\n receiptName: conf[CONF_ENV].ALPHA_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].ALPHA_POOL_RECEIPT,\n autoCompoundingEventType: conf[CONF_ENV].ALPHA_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType: conf[CONF_ENV].ALPHA_POOL_LIQUIDITY_CHANGE_EVENT,\n withdrawV2EventType: conf[CONF_ENV].ALPHA_POOL_WITHDRAW_V2_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].ALPHA_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"ALPHA-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].ALPHA_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].ALPHA_SUI_POOL,\n investorId: conf[CONF_ENV].ALPHA_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].ALPHA_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].ALPHA_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].ALPHA_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].ALPHA_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].ALPHA_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].ALPHA_SUI_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"HASUI-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].HASUI_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].HASUI_SUI_POOL,\n investorId: conf[CONF_ENV].HASUI_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].HASUI_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].HASUI_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].HASUI_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].HASUI_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].HASUI_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].HASUI_SUI_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"USDT-WUSDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].USDT_WUSDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].WUSDC_USDT_POOL,\n investorId: conf[CONF_ENV].USDT_WUSDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].USDT_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].USDT_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].USDT_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].USDT_WUSDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].USDT_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].USDT_WUSDC_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"USDY-WUSDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].USDY_WUSDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].USDY_WUSDC_POOL,\n investorId: conf[CONF_ENV].USDY_WUSDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].USDY_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].USDY_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].USDY_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].USDY_WUSDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].USDY_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].USDY_WUSDC_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"WUSDC-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].WUSDC_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].WUSDC_SUI_POOL,\n investorId: conf[CONF_ENV].WUSDC_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].WUSDC_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].WUSDC_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].WUSDC_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].WUSDC_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].WUSDC_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].WUSDC_SUI_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"WETH-WUSDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].WETH_WUSDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].WETH_WUSDC_POOL,\n investorId: conf[CONF_ENV].WETH_WUSDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].WETH_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].WETH_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].WETH_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].WETH_WUSDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].WETH_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].WETH_WUSDC_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"WUSDC-WBTC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].WUSDC_WBTC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].WUSDC_WBTC_POOL,\n investorId: conf[CONF_ENV].WUSDC_WBTC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].WUSDC_WBTC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].WUSDC_WBTC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].WUSDC_WBTC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].WUSDC_WBTC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].WUSDC_WBTC_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].WUSDC_WBTC_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"NAVX-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].NAVX_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].NAVX_SUI_POOL,\n investorId: conf[CONF_ENV].NAVX_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].NAVX_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVX_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVX_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].NAVX_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVX_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].NAVX_SUI_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"BUCK-WUSDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].BUCK_WUSDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].BUCK_WUSDC_POOL,\n investorId: conf[CONF_ENV].BUCK_WUSDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].BUCK_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].BUCK_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].BUCK_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].BUCK_WUSDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].BUCK_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].BUCK_WUSDC_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"CETUS-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].CETUS_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].CETUS_SUI_POOL,\n investorId: conf[CONF_ENV].CETUS_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].CETUS_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].CETUS_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].CETUS_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].CETUS_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].CETUS_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"ALPHA-WUSDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].ALPHA_WUSDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].ALPHA_WUSDC_POOL,\n investorId: conf[CONF_ENV].ALPHA_WUSDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].ALPHA_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].ALPHA_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].ALPHA_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].ALPHA_WUSDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].ALPHA_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"WSOL-WUSDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].WSOL_WUSDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].WSOL_WUSDC_POOL,\n investorId: conf[CONF_ENV].WSOL_WUSDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].WSOL_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].WSOL_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].WSOL_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].WSOL_WUSDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].WSOL_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"FUD-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].FUD_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].FUD_SUI_POOL,\n investorId: conf[CONF_ENV].FUD_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].FUD_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].FUD_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].FUD_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].FUD_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].FUD_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n // \"BLUB-SUI\": {\n // parentProtocolName: \"CETUS\",\n // parentPoolId: conf[CONF_ENV].BLUB_SUI_CETUS_POOL_ID,\n // poolId: conf[CONF_ENV].BLUB_SUI_POOL,\n // investorId: conf[CONF_ENV].BLUB_SUI_CETUS_INVESTOR,\n // receiptName: conf[CONF_ENV].BLUB_SUI_POOL_RECEIPT_NAME,\n // receiptType: conf[CONF_ENV].BLUB_SUI_POOL_RECEIPT,\n // autoCompoundingEventType:\n // conf[CONF_ENV].BLUB_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n // rebalanceEventType: conf[CONF_ENV].BLUB_SUI_POOL_REBALANCE_EVENT,\n // liquidityChangeEventType:\n // conf[CONF_ENV].BLUB_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n // },\n // \"SCA-SUI\": {\n // parentProtocolName: \"CETUS\",\n // parentPoolId: conf[CONF_ENV].SCA_SUI_CETUS_POOL_ID,\n // poolId: conf[CONF_ENV].SCA_SUI_POOL,\n // investorId: conf[CONF_ENV].SCA_SUI_CETUS_INVESTOR,\n // receiptName: conf[CONF_ENV].SCA_SUI_POOL_RECEIPT_NAME,\n // receiptType: conf[CONF_ENV].SCA_SUI_POOL_RECEIPT,\n // autoCompoundingEventType:\n // conf[CONF_ENV].SCA_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n // rebalanceEventType: conf[CONF_ENV].SCA_SUI_POOL_REBALANCE_EVENT,\n // liquidityChangeEventType:\n // conf[CONF_ENV].SCA_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n // },\n};\n\nexport async function getInvestorPoolMap(): Promise<Map<string, PoolName>> {\n const investorIdToPoolNameMap = new Map<string, PoolName>();\n\n for (const poolName in poolInfo) {\n if (poolInfo.hasOwnProperty(poolName)) {\n const { investorId } = poolInfo[poolName];\n if (\n investorId !== undefined &&\n investorId !== null &&\n investorId !== \"\"\n ) {\n investorIdToPoolNameMap.set(investorId, poolName as PoolName);\n }\n }\n }\n\n return investorIdToPoolNameMap;\n}\n\nexport const poolIdPoolNameMap = ((): {\n [key: string]: PoolName;\n} => {\n const res: {\n [key: string]: PoolName;\n } = {};\n Object.entries(poolInfo).map(([poolName, info]) => {\n const poolId = info.poolId;\n res[poolId] = poolName as PoolName;\n });\n delete res[\"\"]; //deletes unlaunched pools\n return res;\n})();\n\nexport const coinNameTypeMap: { [key in CoinName]: CoinType } = {\n ALPHA: conf[CONF_ENV].ALPHA_COIN_TYPE as CoinType,\n SUI: \"0x2::sui::SUI\",\n WUSDC:\n \"0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN\",\n USDC: \"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC\",\n USDT: \"0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN\",\n VSUI: \"0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55::cert::CERT\",\n NAVX: \"0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5::navx::NAVX\",\n SCA: \"0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6::sca::SCA\",\n CETUS:\n \"0x6864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS\",\n AFSUI:\n \"0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc::afsui::AFSUI\",\n WETH: \"0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN\",\n APT: \"0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37::coin::COIN\",\n WSOL: \"0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8::coin::COIN\",\n SLP: \"0xc44d97a4bc4e5a33ca847b72b123172c88a6328196b71414f32c3070233604b2::slp::SLP\",\n WBTC: \"0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN\",\n CELO: \"0xa198f3be41cda8c07b3bf3fee02263526e535d682499806979a111e88a5a8d0f::coin::COIN\",\n TURBOS:\n \"0x5d1f47ea69bb0de31c313d7acf89b890dbb8991ea8e03c6c355171f84bb1ba4a::turbos::TURBOS\",\n HASUI:\n \"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI\",\n USDY: \"0x960b531667636f39e85867775f52f6b1f220a058c4de786905bdf761e06a56bb::usdy::USDY\",\n BUCK: \"0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::buck::BUCK\",\n FUD: conf[CONF_ENV].FUD_COIN_TYPE as CoinType,\n BLUB: conf[CONF_ENV].BLUB_COIN_TYPE as CoinType,\n ETH: conf[CONF_ENV].ETH_COIN_TYPE as CoinType,\n DEEP: conf[CONF_ENV].DEEP_COIN_TYPE as CoinType,\n AUSD: conf[CONF_ENV].AUSD_COIN_TYPE as CoinType,\n};\n\nexport const poolIdQueryPoolMap: { [key: string]: string } = {\n // alpha pool\n \"0x6ee8f60226edf48772f81e5986994745dae249c2605a5b12de6602ef1b05b0c1\":\n \"alphaPool\",\n // cetus pools\n \"0x594f13b8f287003fd48e4264e7056e274b84709ada31e3657f00eeedc1547e37\":\n \"alphaSuiPool\",\n \"0x30066d9879374276dc01177fbd239a9377b497bcd347c82811d75fcda35b18e5\":\n \"wusdcUsdtPool\",\n \"0xa7239a0c727c40ee3a139689b16b281acfd0682a06c23531b184a61721ece437\":\n \"usdyWusdcPool\",\n \"0xee6f6392cbd9e1997f6e4cf71db0c1ae1611f1f5f7f23f90ad2c64b8f23cceab\":\n \"suiWusdcPool\",\n \"0xbdf4f673b34274f36be284bca3f765083380fefb29141f971db289294bf679c6\":\n \"wethWusdcPool\",\n \"0x676fc5cad79f51f6a7d03bfa3474ecd3c695d322380fc68e3d4f61819da3bf8a\":\n \"wbtcWusdcPool\",\n \"0x045e4e3ccd383bedeb8fda54c39a7a1b1a6ed6a9f66aec4998984373558f96a0\":\n \"navxSuiPool\",\n // navi pools\n \"0x643f84e0a33b19e2b511be46232610c6eb38e772931f582f019b8bbfb893ddb3\":\n \"suiPool\",\n \"0x0d9598006d37077b4935400f6525d7f1070784e2d6f04765d76ae0a4880f7d0a\":\n \"vsuiPool\",\n \"0xe4eef7d4d8cafa3ef90ea486ff7d1eec347718375e63f1f778005ae646439aad\":\n \"wethPool\",\n \"0xc696ca5b8f21a1f8fcd62cff16bbe5a396a4bed6f67909cfec8269eb16e60757\":\n \"usdtPool\",\n \"0x01493446093dfcdcfc6c16dc31ffe40ba9ac2e99a3f6c16a0d285bff861944ae\":\n \"wusdcPool\",\n};\n\nexport const poolIdQueryCetusPoolMap: { [key: string]: string } = {\n \"0x594f13b8f287003fd48e4264e7056e274b84709ada31e3657f00eeedc1547e37\":\n \"alphaSuiCetusPool\",\n \"0x30066d9879374276dc01177fbd239a9377b497bcd347c82811d75fcda35b18e5\":\n \"wusdcUsdtCetusPool\",\n \"0xa7239a0c727c40ee3a139689b16b281acfd0682a06c23531b184a61721ece437\":\n \"usdyWusdcCetusPool\",\n \"0xee6f6392cbd9e1997f6e4cf71db0c1ae1611f1f5f7f23f90ad2c64b8f23cceab\":\n \"suiWusdcCetusPool\",\n \"0xbdf4f673b34274f36be284bca3f765083380fefb29141f971db289294bf679c6\":\n \"wethWusdcCetusPool\",\n \"0x676fc5cad79f51f6a7d03bfa3474ecd3c695d322380fc68e3d4f61819da3bf8a\":\n \"wbtcWusdcCetusPool\",\n \"0x045e4e3ccd383bedeb8fda54c39a7a1b1a6ed6a9f66aec4998984373558f96a0\":\n \"navxSuiCetusPool\",\n};\n\nexport const poolIdQueryInvestorMap: { [key: string]: string } = {\n \"0x594f13b8f287003fd48e4264e7056e274b84709ada31e3657f00eeedc1547e37\":\n \"alphaSuiInvestor\",\n \"0x30066d9879374276dc01177fbd239a9377b497bcd347c82811d75fcda35b18e5\":\n \"wusdcUsdtInvestor\",\n \"0xa7239a0c727c40ee3a139689b16b281acfd0682a06c23531b184a61721ece437\":\n \"usdyWusdcInvestor\",\n \"0xee6f6392cbd9e1997f6e4cf71db0c1ae1611f1f5f7f23f90ad2c64b8f23cceab\":\n \"suiWusdcInvestor\",\n \"0xbdf4f673b34274f36be284bca3f765083380fefb29141f971db289294bf679c6\":\n \"wethWusdcInvestor\",\n \"0x676fc5cad79f51f6a7d03bfa3474ecd3c695d322380fc68e3d4f61819da3bf8a\":\n \"wbtcWusdcInvestor\",\n \"0x045e4e3ccd383bedeb8fda54c39a7a1b1a6ed6a9f66aec4998984373558f96a0\":\n \"navxSuiInvestor\",\n};\n\n// Pagination needed for more than 50 pools\nexport async function getPoolExchangeRateMap(): Promise<Map<PoolName, string>> {\n const poolNameToConversionRateMap = new Map<PoolName, string>();\n\n const poolIds = Object.keys(poolIdPoolNameMap);\n const suiClient = getSuiClient();\n const res = await suiClient.multiGetObjects({\n ids: poolIds,\n options: {\n showContent: true,\n },\n });\n for (const poolRawData of res) {\n const poolDetails = poolRawData.data as PoolType | AlphaPoolType;\n const poolId = poolDetails.objectId;\n const xTokenSupply = new Decimal(poolDetails.content.fields.xTokenSupply);\n const tokensInvested = new Decimal(\n poolDetails.content.fields.tokensInvested,\n );\n const conversionRate =\n Number(xTokenSupply) !== 0\n ? tokensInvested.div(xTokenSupply).toString()\n : \"0\";\n poolNameToConversionRateMap.set(poolIdPoolNameMap[poolId], conversionRate);\n }\n\n return poolNameToConversionRateMap;\n}\n\n// Pagination needed for more than 50 pools\nexport async function getCetusSqrtPriceMap(): Promise<Map<PoolName, string>> {\n const poolNameToSqrtPriceMap = new Map<PoolName, string>();\n\n const cetusPools = Object.keys(poolInfo)\n .filter((poolName) => poolInfo[poolName].parentProtocolName === \"CETUS\")\n .map((poolName) => {\n return parentPoolMap[poolName];\n });\n const suiClient = getSuiClient();\n const res = await suiClient.multiGetObjects({\n ids: cetusPools,\n options: {\n showContent: true,\n },\n });\n for (const poolRawData of res) {\n const poolDetails = poolRawData.data as CetusPoolType;\n const poolId = poolDetails.objectId;\n const pool = Object.keys(parentPoolMap).find(\n (key) => parentPoolMap[key] === poolId,\n );\n const sqrtPrice = poolDetails.content.fields.current_sqrt_price;\n poolNameToSqrtPriceMap.set(pool as PoolName, sqrtPrice);\n }\n\n return poolNameToSqrtPriceMap;\n}\n\n// Pagination needed for more than 50 pools\nexport async function getCetusInvestorTicksMap(): Promise<{\n [pool in PoolName]?: { lower: string; upper: string };\n}> {\n const investorIdToTicksMap: {\n [pool in PoolName]?: { lower: string; upper: string };\n } = {};\n\n const investorPoolMap = await getInvestorPoolMap();\n const investors = Array.from(investorPoolMap.keys());\n const suiClient = getSuiClient();\n const res = await suiClient.multiGetObjects({\n ids: investors,\n options: {\n showContent: true,\n },\n });\n for (const investorRawData of res) {\n const investorDetails = investorRawData.data as CetusInvestor;\n const lower_tick = investorDetails.content.fields.lower_tick;\n const upper_tick = investorDetails.content.fields.upper_tick;\n const pool = investorPoolMap.get(investorDetails.objectId) as string;\n investorIdToTicksMap[pool as PoolName] = {\n lower: lower_tick,\n upper: upper_tick,\n };\n }\n\n return investorIdToTicksMap;\n}\n\nexport async function getTokenPriceMap(): Promise<Map<CoinName, string>> {\n const coinNameToPriceMap = new Map<CoinName, string>();\n\n const coinsSet = new Set<CoinName>(Object.values(poolCoinMap));\n Object.values(poolCoinPairMap).map(({ coinA: coin1, coinB: coin2 }) => {\n coinsSet.add(coin1);\n coinsSet.add(coin2);\n });\n const coins = Array.from(coinsSet);\n for (const coin of coins) {\n const [priceOfCoin] = await getLatestPrices(\n [`${coin}/USD` as PythPriceIdPair],\n false,\n );\n coinNameToPriceMap.set(coin, priceOfCoin);\n }\n\n return coinNameToPriceMap;\n}\n\nexport const parentPoolMap: { [key: string]: string } = (() => {\n const result: { [key: string]: string } = {};\n Object.entries(poolInfo).map(([poolName, info]) => {\n result[poolName] = info.parentPoolId;\n });\n return result;\n})();\n\nexport const cetusPoolMap: { [key: string]: string } = (() => {\n const result: { [key: string]: string } = Object.fromEntries(\n Object.entries(parentPoolMap).filter(([poolName]) => {\n if (poolInfo[poolName].parentProtocolName === \"CETUS\") return true;\n return false;\n }),\n );\n return result;\n})();\n\nexport const defunctPoolsSet = (() => {\n const defunctPools = conf[CONF_ENV].DEFUNCT_POOLS;\n return new Set<string>(defunctPools);\n})();\n"]}
1
+ {"version":3,"file":"maps.js","sourceRoot":"","sources":["../../../src/common/maps.ts"],"names":[],"mappings":";;;AAuIA,kCA0BC;AAmkBD,gDAiBC;AAoHD,wDAyEC;AAGD,oDA0BC;AAGD,4DA4BC;AAED,4CAqBC;AArgCD,iDAAgD;AAgBhD,oDAAoD;AACpD,2CAAqC;AACrC,kDAA8D;AAC9D,wEAA2E;AAE9D,QAAA,WAAW,GAAG;IACzB,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;CACP,CAAC;AAEW,QAAA,gBAAgB,GAA8B;IACzD,KAAK,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oBAAoB;IAC1C,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;IACtD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;IACpD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;IACpD,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;IACtD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;IACpD,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;IACtD,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;IACtD,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;IAClD,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;IACtD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;CACrD,CAAC;AAEW,QAAA,OAAO,GAA8B;IAChD,KAAK,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,UAAU;IAChC,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;IAC1C,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;IAC5C,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;IAC1C,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;IAC5C,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;IAC1C,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;IAC5C,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;IAC5C,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,aAAa;IACxC,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;IAC5C,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;CAC3C,CAAC;AAEW,QAAA,cAAc,GAAgC;IACzD,KAAK,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;IAC7C,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;IACvD,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;IACzD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;IACvD,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;IACzD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;IACvD,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;IACzD,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;IACzD,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;IACzD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;IACvD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;IACvD,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,0BAA0B;IACrD,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;CAC1D,CAAC;AAEW,QAAA,eAAe,GAGxB;IACF,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;IAC/C,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;IAC7C,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;IAC7C,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;IAC/C,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;IAC7C,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;IAC/C,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;IAC/C,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;IAC3C,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;IAC/C,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;IAC7C,aAAa,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IACjD,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;IAC/C,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACzC,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;IAC3C,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IACzC,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;IAC3C,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAC7C,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;IAC/C,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;IAC/C,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;IAC3C,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;IAC3C,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;IAC3C,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;IACnD,mBAAmB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;CACtD,CAAC;AAEW,QAAA,WAAW,GAA2C;IACjE,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,OAAO;IACrB,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,OAAO;IACrB,oBAAoB,EAAE,KAAK;IAC3B,qBAAqB,EAAE,MAAM;IAC7B,WAAW,EAAE,MAAM;IACnB,aAAa,EAAE,MAAM;IACrB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,KAAK;IACjB,qBAAqB,EAAE,OAAO;IAC9B,qBAAqB,EAAE,MAAM;CAC9B,CAAC;AAYF,SAAgB,WAAW,CACzB,QAAqD,EACrD,KAA6C;IAE7C,wCAAwC;IACxC,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;QACtC,IACE,KAAK;YACL,KAAK,CAAC,IAAI;gBACR,mBAAI,CAAC,uBAAQ,CAAC,CAAC,8CAA8C;YAC/D,KAAK,CAAC,UAAU,KAAK,CAAC,EACtB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,WAAW,GAAG,mBAAW,CAAC,QAAgC,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,uBAAe,CAAC,QAAgC,CAAC,CAAC;IACtE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACtC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACtE,CAAC;AAEY,QAAA,QAAQ,GAejB;IACF,qBAAqB,EAAE;QACrB,kBAAkB,EAAE,MAAM;QAC1B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;QAC3C,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,gCAAgC;QACvD,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QACvD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,gCAAgC;QAC5D,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;QACvD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+CAA+C;QAChE,kBAAkB,EAAE,SAAS;QAC7B,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+CAA+C;QAChE,YAAY,EAAE,SAAS;KACxB;IACD,mBAAmB,EAAE;QACnB,kBAAkB,EAAE,SAAS;QAC7B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QACnD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,8BAA8B;QACrD,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,kCAAkC;QAC7D,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QAClE,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,iCAAiC;QAC7D,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qDAAqD;QACtE,kBAAkB,EAChB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,8CAA8C;QAC/D,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qDAAqD;QACtE,oBAAoB;KACrB;IACD,kBAAkB,EAAE;QAClB,kBAAkB,EAAE,SAAS;QAC7B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB;QAClD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,6BAA6B;QACpD,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,iCAAiC;QAC5D,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACjE,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,gCAAgC;QAC5D,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oDAAoD;QACrE,kBAAkB,EAChB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,6CAA6C;QAC9D,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oDAAoD;QACrE,oBAAoB;KACrB;IACD,qBAAqB,EAAE;QACrB,kBAAkB,EAAE,MAAM;QAC1B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;QAC5C,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,gCAAgC;QACvD,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QACvD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,gCAAgC;QAC5D,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;QACvD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+CAA+C;QAChE,kBAAkB,EAAE,SAAS;QAC7B,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+CAA+C;QAChE,YAAY,EAAE,SAAS;KACxB;IACD,WAAW,EAAE;QACX,kBAAkB,EAAE,MAAM;QAC1B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;QAC3C,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAC7C,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,kBAAkB;QAC7C,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;QACvD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAClD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,kBAAkB,EAAE,SAAS;QAC7B,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;KACvD;IACD,WAAW,EAAE;QACX,kBAAkB,EAAE,MAAM;QAC1B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;QAC3C,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAC7C,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,kBAAkB;QAC7C,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;QACvD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAClD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,kBAAkB,EAAE,SAAS;QAC7B,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;KACvD;IACD,UAAU,EAAE;QACV,kBAAkB,EAAE,MAAM;QAC1B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,aAAa;QAC1C,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB;QAC5C,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,iBAAiB;QAC5C,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,0BAA0B;QACtD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB;QACjD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;QACrD,kBAAkB,EAAE,SAAS;QAC7B,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;KACtD;IACD,aAAa,EAAE;QACb,kBAAkB,EAAE,QAAQ;QAC5B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;QAC5C,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,gBAAgB;QACvC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oBAAoB;QAC/C,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,6BAA6B;QACzD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;QACpD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uCAAuC;QACxD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,gCAAgC;QACnE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uCAAuC;KACzD;IACD,UAAU,EAAE;QACV,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QACnD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,aAAa;QACpC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QAClD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,0BAA0B;QACtD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB;QACjD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;QACrD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,6BAA6B;QAChE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;KACtD;IACD,UAAU,EAAE;QACV,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QACnD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,aAAa;QACpC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QAClD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,0BAA0B;QACtD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB;QACjD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;QACrD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,6BAA6B;QAChE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;KACtD;IACD,UAAU,EAAE;QACV,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QACnD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,aAAa;QACpC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QAClD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,0BAA0B;QACtD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB;QACjD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;QACrD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,6BAA6B;QAChE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;KACtD;IACD,YAAY,EAAE;QACZ,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;QACrD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;QACtC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;QACpD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QACxD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACnD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+BAA+B;QAClE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;KACxD;IACD,YAAY,EAAE;QACZ,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;QACrD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;QACtC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;QACpD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QACxD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACnD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+BAA+B;QAClE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;KACxD;IACD,UAAU,EAAE;QACV,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QACnD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,aAAa;QACpC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QAClD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,0BAA0B;QACtD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB;QACjD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;QACrD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,6BAA6B;QAChE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;KACtD;IACD,WAAW,EAAE;QACX,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACpD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;QACrC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;QACnD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;QACvD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAClD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,8BAA8B;QACjE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;KACvD;IACD,WAAW,EAAE;QACX,kBAAkB,EAAE,MAAM;QAC1B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;QAC3C,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAC7C,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,kBAAkB;QAC7C,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;QACvD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAClD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,kBAAkB,EAAE,SAAS;QAC7B,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;KACvD;IACD,qBAAqB,EAAE;QACrB,kBAAkB,EAAE,MAAM;QAC1B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;QAC3C,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,gCAAgC;QACvD,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QACvD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,gCAAgC;QAC5D,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;QACvD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+CAA+C;QAChE,kBAAkB,EAAE,SAAS;QAC7B,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+CAA+C;QAChE,YAAY,EAAE,SAAS;KACxB;IACD,oBAAoB,EAAE;QACpB,kBAAkB,EAAE,MAAM;QAC1B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;QAC3C,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+BAA+B;QACtD,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;QACtD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+BAA+B;QAC3D,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,0BAA0B;QACtD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,8CAA8C;QAC/D,kBAAkB,EAAE,SAAS;QAC7B,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,8CAA8C;QAC/D,YAAY,EAAE,SAAS;KACxB;IACD,UAAU,EAAE;QACV,kBAAkB,EAAE,MAAM;QAC1B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,aAAa;QAC1C,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB;QAC5C,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,iBAAiB;QAC5C,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,0BAA0B;QACtD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB;QACjD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;QACrD,kBAAkB,EAAE,SAAS;QAC7B,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;QACrD,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;KACvD;IACD,WAAW,EAAE;QACX,kBAAkB,EAAE,MAAM;QAC1B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;QAC3C,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAC7C,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,kBAAkB;QAC7C,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;QACvD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAClD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,kBAAkB,EAAE,SAAS;QAC7B,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;KACxD;IACD,WAAW,EAAE;QACX,kBAAkB,EAAE,MAAM;QAC1B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;QAC3C,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAC7C,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,kBAAkB;QAC7C,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;QACvD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAClD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,kBAAkB,EAAE,SAAS;QAC7B,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;KACxD;IACD,WAAW,EAAE;QACX,kBAAkB,EAAE,MAAM;QAC1B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;QAC3C,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAC7C,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,kBAAkB;QAC7C,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;QACvD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAClD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,kBAAkB,EAAE,SAAS;QAC7B,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;KACxD;IACD,YAAY,EAAE;QACZ,kBAAkB,EAAE,MAAM;QAC1B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;QAC5C,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QAC9C,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,mBAAmB;QAC9C,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QACxD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACnD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,kBAAkB,EAAE,SAAS;QAC7B,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uCAAuC;KACzD;IACD,YAAY,EAAE;QACZ,kBAAkB,EAAE,MAAM;QAC1B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;QAC5C,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QAC9C,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,mBAAmB;QAC9C,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QACxD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACnD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,kBAAkB,EAAE,SAAS;QAC7B,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uCAAuC;KACzD;IACD,KAAK,EAAE;QACL,kBAAkB,EAAE,SAAS;QAC7B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,UAAU;QACvC,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,UAAU;QACjC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,UAAU;QACrC,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACnD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,kBAAkB;QAC9C,wBAAwB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,iCAAiC;QAC1E,kBAAkB,EAAE,SAAS;QAC7B,wBAAwB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,iCAAiC;QAC1E,mBAAmB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QAChE,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,kCAAkC;KACpD;IACD,WAAW,EAAE;QACX,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACpD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;QACrC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;QACnD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;QACvD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAClD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,8BAA8B;QACjE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;KACxD;IACD,WAAW,EAAE;QACX,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACpD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;QACrC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;QACnD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;QACvD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAClD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,8BAA8B;QACjE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;KACxD;IACD,YAAY,EAAE;QACZ,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;QACrD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;QACtC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;QACpD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QACxD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACnD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+BAA+B;QAClE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uCAAuC;KACzD;IACD,YAAY,EAAE;QACZ,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;QACrD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;QACtC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;QACpD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QACxD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACnD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+BAA+B;QAClE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uCAAuC;KACzD;IACD,WAAW,EAAE;QACX,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACpD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;QACrC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;QACnD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;QACvD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAClD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,8BAA8B;QACjE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;KACxD;IACD,YAAY,EAAE;QACZ,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;QACrD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;QACtC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;QACpD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QACxD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACnD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+BAA+B;QAClE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uCAAuC;KACzD;IACD,YAAY,EAAE;QACZ,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;QACrD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;QACtC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;QACpD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QACxD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACnD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+BAA+B;QAClE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uCAAuC;KACzD;IACD,UAAU,EAAE;QACV,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QACnD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,aAAa;QACpC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QAClD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,0BAA0B;QACtD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB;QACjD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;QACrD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,6BAA6B;QAChE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;QACrD,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;KACvD;IACD,YAAY,EAAE;QACZ,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;QACrD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;QACtC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;QACpD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QACxD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACnD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+BAA+B;QAClE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,yBAAyB,EACvB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uCAAuC;KACzD;IACD,WAAW,EAAE;QACX,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACpD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAAc;QACrC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;QACnD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,2BAA2B;QACvD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QAClD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;QACtD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,8BAA8B;QACjE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qCAAqC;KACvD;IACD,aAAa,EAAE;QACb,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;QACtD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,gBAAgB;QACvC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,0BAA0B;QACrD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,6BAA6B;QACzD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;QACpD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uCAAuC;QACxD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,gCAAgC;QACnE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uCAAuC;KACzD;IACD,YAAY,EAAE;QACZ,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB;QACrD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAAe;QACtC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;QACpD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QACxD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QACnD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;QACvD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,+BAA+B;QAClE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sCAAsC;KACxD;IACD,SAAS,EAAE;QACT,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB;QAClD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,YAAY;QACnC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QACjD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;QACrD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oBAAoB;QAChD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,mCAAmC;QACpD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QAC/D,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,mCAAmC;KACrD;IACD,UAAU,EAAE;QACV,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QACnD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,aAAa;QACpC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB;QAClD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,0BAA0B;QACtD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB;QACjD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;QACrD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,6BAA6B;QAChE,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oCAAoC;KACtD;IACD,SAAS,EAAE;QACT,kBAAkB,EAAE,OAAO;QAC3B,YAAY,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB;QAClD,MAAM,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,YAAY;QACnC,UAAU,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB;QACjD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,yBAAyB;QACrD,WAAW,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,oBAAoB;QAChD,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,mCAAmC;QACpD,kBAAkB,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,4BAA4B;QAC/D,wBAAwB,EACtB,mBAAI,CAAC,uBAAQ,CAAC,CAAC,mCAAmC;KACrD;CACF,CAAC;AAEK,KAAK,UAAU,kBAAkB;IACtC,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE5D,KAAK,MAAM,QAAQ,IAAI,gBAAQ,EAAE,CAAC;QAChC,IAAI,gBAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAQ,CAAC,QAAQ,CAAC,CAAC;YAC1C,IACE,UAAU,KAAK,SAAS;gBACxB,UAAU,KAAK,IAAI;gBACnB,UAAU,KAAK,EAAE,EACjB,CAAC;gBACD,uBAAuB,CAAC,GAAG,CAAC,UAAU,EAAE,QAAoB,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAEY,QAAA,iBAAiB,GAAG,CAAC,GAEhC,EAAE;IACF,MAAM,GAAG,GAEL,EAAE,CAAC;IACP,MAAM,CAAC,OAAO,CAAC,gBAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,QAAoB,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B;IAC1C,OAAO,GAAG,CAAC;AACb,CAAC,CAAC,EAAE,CAAC;AAEQ,QAAA,eAAe,GAAoC;IAC9D,KAAK,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,eAA2B;IACjD,GAAG,EAAE,eAAe;IACpB,KAAK,EACH,gFAAgF;IAClF,IAAI,EAAE,gFAAgF;IACtF,IAAI,EAAE,gFAAgF;IACtF,IAAI,EAAE,gFAAgF;IACtF,IAAI,EAAE,gFAAgF;IACtF,GAAG,EAAE,8EAA8E;IACnF,KAAK,EACH,iFAAiF;IACnF,KAAK,EACH,kFAAkF;IACpF,IAAI,EAAE,gFAAgF;IACtF,GAAG,EAAE,gFAAgF;IACrF,IAAI,EAAE,gFAAgF;IACtF,GAAG,EAAE,8EAA8E;IACnF,IAAI,EAAE,gFAAgF;IACtF,IAAI,EAAE,gFAAgF;IACtF,MAAM,EACJ,oFAAoF;IACtF,KAAK,EACH,kFAAkF;IACpF,IAAI,EAAE,gFAAgF;IACtF,IAAI,EAAE,gFAAgF;IACtF,GAAG,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,aAAyB;IAC7C,IAAI,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAA0B;IAC/C,GAAG,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,aAAyB;IAC7C,IAAI,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAA0B;IAC/C,IAAI,EAAE,mBAAI,CAAC,uBAAQ,CAAC,CAAC,cAA0B;CAChD,CAAC;AAEW,QAAA,kBAAkB,GAA8B;IAC3D,aAAa;IACb,oEAAoE,EAClE,WAAW;IACb,cAAc;IACd,oEAAoE,EAClE,cAAc;IAChB,oEAAoE,EAClE,eAAe;IACjB,oEAAoE,EAClE,eAAe;IACjB,oEAAoE,EAClE,cAAc;IAChB,oEAAoE,EAClE,eAAe;IACjB,oEAAoE,EAClE,eAAe;IACjB,oEAAoE,EAClE,aAAa;IACf,aAAa;IACb,oEAAoE,EAClE,SAAS;IACX,oEAAoE,EAClE,UAAU;IACZ,oEAAoE,EAClE,UAAU;IACZ,oEAAoE,EAClE,UAAU;IACZ,oEAAoE,EAClE,WAAW;CACd,CAAC;AAEW,QAAA,uBAAuB,GAA8B;IAChE,oEAAoE,EAClE,mBAAmB;IACrB,oEAAoE,EAClE,oBAAoB;IACtB,oEAAoE,EAClE,oBAAoB;IACtB,oEAAoE,EAClE,mBAAmB;IACrB,oEAAoE,EAClE,oBAAoB;IACtB,oEAAoE,EAClE,oBAAoB;IACtB,oEAAoE,EAClE,kBAAkB;CACrB,CAAC;AAEW,QAAA,sBAAsB,GAA8B;IAC/D,oEAAoE,EAClE,kBAAkB;IACpB,oEAAoE,EAClE,mBAAmB;IACrB,oEAAoE,EAClE,mBAAmB;IACrB,oEAAoE,EAClE,kBAAkB;IACpB,oEAAoE,EAClE,mBAAmB;IACrB,oEAAoE,EAClE,mBAAmB;IACrB,oEAAoE,EAClE,iBAAiB;CACpB,CAAC;AAEF,2CAA2C;AACpC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,2BAA2B,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEhE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAiB,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAA,wBAAY,GAAE,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC;QAC1C,GAAG,EAAE,OAAO;QACZ,OAAO,EAAE;YACP,WAAW,EAAE,IAAI;SAClB;KACF,CAAC,CAAC;IACH,KAAK,MAAM,WAAW,IAAI,GAAG,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,WAAW,CAAC,IAAgC,CAAC;QACjE,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC;QACpC,MAAM,YAAY,GAAG,IAAI,oBAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1E,MAAM,cAAc,GAAG,IAAI,oBAAO,CAChC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAC1C,CAAC;QACF,MAAM,cAAc,GAClB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC;YACxB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;YAC7C,CAAC,CAAC,GAAG,CAAC;QACV,2BAA2B,CAAC,GAAG,CAAC,yBAAiB,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;IAC7E,CAAC;IAED,gBAAgB;IAChB,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAQ,CAAC,CAAC,MAAM,CACnD,CAAC,QAAQ,EAAE,EAAE,CAAC,gBAAQ,CAAC,QAAQ,CAAC,CAAC,YAAY,KAAK,SAAS,CAC5D,CAAC;IACF,MAAM,eAAe,GAAqC,EAAE,CAAC;IAC7D,GAAG;SACA,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE;QACtB,MAAM,WAAW,GAAG,WAAW,CAAC,IAAgC,CAAC;QACjE,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC;QACpC,OAAO,gBAAQ,CAAC,yBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS;YACnE,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;QACnB,MAAM,WAAW,GAAG,WAAW,CAAC,IAAgC,CAAC;QACjE,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC;QACpC,MAAM,QAAQ,GAAG,yBAAiB,CAAC,MAAM,CAAC,CAAC;QAC3C,eAAe,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,IAAgB,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEL,MAAM,aAAa,GAAG,MAAM,IAAA,qCAAoB,EAC9C,gBAA0C,EAC1C,KAAK,CACN,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAgC,CAAC,CAAC;QACjE,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,IAAI,oBAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACvE,MAAM,iBAAiB,GAAG,IAAI,oBAAO,CACnC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,4BAA4B,CACrD,CAAC;YACF,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAClC,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,oBAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAC/D,CAAC;YACF,MAAM,kBAAkB,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACzE,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAC5D,2BAA2B,CAAC,GAAG,CAC7B,QAAoB,EACpB,YAAY,CAAC,QAAQ,EAAE,CACxB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,QAAQ,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAED,2CAA2C;AACpC,KAAK,UAAU,oBAAoB;IACxC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE3D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAQ,CAAC;SACrC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,gBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,OAAO,CAAC;SACvE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChB,OAAO,qBAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IACL,MAAM,SAAS,GAAG,IAAA,wBAAY,GAAE,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC;QAC1C,GAAG,EAAE,UAAU;QACf,OAAO,EAAE;YACP,WAAW,EAAE,IAAI;SAClB;KACF,CAAC,CAAC;IACH,KAAK,MAAM,WAAW,IAAI,GAAG,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,WAAW,CAAC,IAAqB,CAAC;QACtD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAa,CAAC,CAAC,IAAI,CAC1C,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAa,CAAC,GAAG,CAAC,KAAK,MAAM,CACvC,CAAC;QACF,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAChE,sBAAsB,CAAC,GAAG,CAAC,IAAgB,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,2CAA2C;AACpC,KAAK,UAAU,wBAAwB;IAG5C,MAAM,oBAAoB,GAEtB,EAAE,CAAC;IAEP,MAAM,eAAe,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAA,wBAAY,GAAE,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC;QAC1C,GAAG,EAAE,SAAS;QACd,OAAO,EAAE;YACP,WAAW,EAAE,IAAI;SAClB;KACF,CAAC,CAAC;IACH,KAAK,MAAM,eAAe,IAAI,GAAG,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,eAAe,CAAC,IAAqB,CAAC;QAC9D,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC7D,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC7D,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAW,CAAC;QACrE,oBAAoB,CAAC,IAAgB,CAAC,GAAG;YACvC,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,UAAU;SAClB,CAAC;IACJ,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAEM,KAAK,UAAU,gBAAgB;IACpC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEvD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAW,MAAM,CAAC,MAAM,CAAC,mBAAW,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,MAAM,CAAC,uBAAe,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACpE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACxC,OAAO,GAAG,QAAQ,MAAyB,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,IAAA,oCAAwB,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACjE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAa,CAAC;QAC5C,IAAI,KAAK,EAAE,CAAC;YACV,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAEY,QAAA,aAAa,GAA8B,CAAC,GAAG,EAAE;IAC5D,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,MAAM,CAAC,OAAO,CAAC,gBAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;QAChD,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;IACvC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,EAAE,CAAC;AAEQ,QAAA,YAAY,GAA8B,CAAC,GAAG,EAAE;IAC3D,MAAM,MAAM,GAA8B,MAAM,CAAC,WAAW,CAC1D,MAAM,CAAC,OAAO,CAAC,qBAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE;QAClD,IAAI,gBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CACH,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,EAAE,CAAC;AAEQ,QAAA,eAAe,GAAG,CAAC,GAAG,EAAE;IACnC,MAAM,YAAY,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,aAAa,CAAC;IAClD,OAAO,IAAI,GAAG,CAAS,YAAY,CAAC,CAAC;AACvC,CAAC,CAAC,EAAE,CAAC","sourcesContent":["import { conf, CONF_ENV } from \"./constants.js\";\nimport {\n AlphaPoolType,\n CetusInvestor,\n CetusPoolType,\n CoinName,\n CoinType,\n DoubleAssetPoolNames,\n ParentProtocolName,\n PoolName,\n PoolReceipt,\n PoolType,\n SingleAssetPoolNames,\n StrategyType,\n} from \"./types.js\";\nimport { PythPriceIdPair } from \"./pyth.js\";\nimport { getSuiClient } from \"../sui-sdk/client.js\";\nimport { Decimal } from \"decimal.js\";\nimport { getLatestTokenPricePairs } from \"../utils/prices.js\";\nimport { multiGetNaviInvestor } from \"../sui-sdk/functions/getReceipts.js\";\n\nexport const stableCoins = [\n \"USDT\",\n \"WUSDT\",\n \"USDC\",\n \"WUSDC\",\n \"USDY\",\n \"WUSDY\",\n \"AUSD\",\n \"BUCK\",\n];\n\nexport const cetusInvestorMap: { [key: string]: string } = {\n ALPHA: conf[CONF_ENV].ALPHA_CETUS_INVESTOR,\n \"USDT-WUSDC\": conf[CONF_ENV].USDT_WUSDC_CETUS_INVESTOR,\n \"ALPHA-SUI\": conf[CONF_ENV].ALPHA_SUI_CETUS_INVESTOR,\n \"HASUI-SUI\": conf[CONF_ENV].HASUI_SUI_CETUS_INVESTOR,\n \"USDY-WUSDC\": conf[CONF_ENV].USDY_WUSDC_CETUS_INVESTOR,\n \"WUSDC-SUI\": conf[CONF_ENV].WUSDC_SUI_CETUS_INVESTOR,\n \"WETH-WUSDC\": conf[CONF_ENV].WETH_WUSDC_CETUS_INVESTOR,\n \"WUSDC-WBTC\": conf[CONF_ENV].WUSDC_WBTC_CETUS_INVESTOR,\n \"NAVX-SUI\": conf[CONF_ENV].NAVX_SUI_CETUS_INVESTOR,\n \"BUCK-WUSDC\": conf[CONF_ENV].BUCK_WUSDC_CETUS_INVESTOR,\n \"CETUS-SUI\": conf[CONF_ENV].CETUS_SUI_CETUS_INVESTOR,\n};\n\nexport const poolMap: { [key: string]: string } = {\n ALPHA: conf[CONF_ENV].ALPHA_POOL,\n \"ALPHA-SUI\": conf[CONF_ENV].ALPHA_SUI_POOL,\n \"USDT-WUSDC\": conf[CONF_ENV].WUSDC_USDT_POOL,\n \"HASUI-SUI\": conf[CONF_ENV].HASUI_SUI_POOL,\n \"USDY-WUSDC\": conf[CONF_ENV].USDY_WUSDC_POOL,\n \"WUSDC-SUI\": conf[CONF_ENV].WUSDC_SUI_POOL,\n \"WETH-WUSDC\": conf[CONF_ENV].WETH_WUSDC_POOL,\n \"WUSDC-WBTC\": conf[CONF_ENV].WUSDC_WBTC_POOL,\n \"NAVX-SUI\": conf[CONF_ENV].NAVX_SUI_POOL,\n \"BUCK-WUSDC\": conf[CONF_ENV].BUCK_WUSDC_POOL,\n \"CETUS-SUI\": conf[CONF_ENV].CETUS_SUI_POOL,\n};\n\nexport const receiptNameMap: { [key in string]: string } = {\n ALPHA: conf[CONF_ENV].ALPHA_POOL_RECEIPT_NAME,\n \"ALPHA-SUI\": conf[CONF_ENV].ALPHA_SUI_POOL_RECEIPT_NAME,\n \"USDT-WUSDC\": conf[CONF_ENV].USDT_WUSDC_POOL_RECEIPT_NAME,\n \"HASUI-SUI\": conf[CONF_ENV].HASUI_SUI_POOL_RECEIPT_NAME,\n \"USDY-WUSDC\": conf[CONF_ENV].USDY_WUSDC_POOL_RECEIPT_NAME,\n \"WUSDC-SUI\": conf[CONF_ENV].WUSDC_SUI_POOL_RECEIPT_NAME,\n \"WETH-WUSDC\": conf[CONF_ENV].WETH_WUSDC_POOL_RECEIPT_NAME,\n \"WUSDC-WBTC\": conf[CONF_ENV].WUSDC_WBTC_POOL_RECEIPT_NAME,\n \"BUCK-WUSDC\": conf[CONF_ENV].BUCK_WUSDC_POOL_RECEIPT_NAME,\n \"CETUS-SUI\": conf[CONF_ENV].CETUS_SUI_POOL_RECEIPT_NAME,\n \"NAVI-VSUI\": conf[CONF_ENV].NAVI_VSUI_POOL_RECEIPT_NAME,\n \"NAVI-SUI\": conf[CONF_ENV].NAVI_SUI_POOL_RECEIPT_NAME,\n \"NAVI-HASUI\": conf[CONF_ENV].NAVI_HASUI_POOL_RECEIPT_NAME,\n};\n\nexport const poolCoinPairMap: Record<\n DoubleAssetPoolNames,\n { coinA: CoinName; coinB: CoinName }\n> = {\n \"USDT-WUSDC\": { coinA: \"USDT\", coinB: \"WUSDC\" },\n \"ALPHA-SUI\": { coinA: \"ALPHA\", coinB: \"SUI\" },\n \"HASUI-SUI\": { coinA: \"HASUI\", coinB: \"SUI\" },\n \"USDY-WUSDC\": { coinA: \"USDY\", coinB: \"WUSDC\" },\n \"WUSDC-SUI\": { coinA: \"WUSDC\", coinB: \"SUI\" },\n \"WETH-WUSDC\": { coinA: \"WETH\", coinB: \"WUSDC\" },\n \"WUSDC-WBTC\": { coinA: \"WUSDC\", coinB: \"WBTC\" },\n \"NAVX-SUI\": { coinA: \"NAVX\", coinB: \"SUI\" },\n \"BUCK-WUSDC\": { coinA: \"BUCK\", coinB: \"WUSDC\" },\n \"CETUS-SUI\": { coinA: \"CETUS\", coinB: \"SUI\" },\n \"ALPHA-WUSDC\": { coinA: \"ALPHA\", coinB: \"WUSDC\" },\n \"WSOL-WUSDC\": { coinA: \"WSOL\", coinB: \"WUSDC\" },\n \"FUD-SUI\": { coinA: \"FUD\", coinB: \"SUI\" },\n \"BLUB-SUI\": { coinA: \"BLUB\", coinB: \"SUI\" },\n \"SCA-SUI\": { coinA: \"SCA\", coinB: \"SUI\" },\n \"USDC-SUI\": { coinA: \"USDC\", coinB: \"SUI\" },\n \"USDC-USDT\": { coinA: \"USDC\", coinB: \"USDT\" },\n \"ALPHA-USDC\": { coinA: \"ALPHA\", coinB: \"USDC\" },\n \"USDC-WUSDC\": { coinA: \"USDC\", coinB: \"WUSDC\" },\n \"USDC-ETH\": { coinA: \"USDC\", coinB: \"ETH\" },\n \"DEEP-SUI\": { coinA: \"DEEP\", coinB: \"SUI\" },\n \"BUCK-SUI\": { coinA: \"BUCK\", coinB: \"SUI\" },\n \"BLUEFIN-SUI-USDC\": { coinA: \"SUI\", coinB: \"USDC\" },\n \"BLUEFIN-USDT-USDC\": { coinA: \"USDT\", coinB: \"USDC\" },\n};\n\nexport const poolCoinMap: Record<SingleAssetPoolNames, CoinName> = {\n ALPHA: \"ALPHA\",\n \"NAVI-VSUI\": \"VSUI\",\n \"NAVI-SUI\": \"SUI\",\n \"NAVI-WETH\": \"WETH\",\n \"NAVI-WUSDC\": \"WUSDC\",\n \"NAVI-USDT\": \"USDT\",\n \"NAVI-HASUI\": \"HASUI\",\n \"NAVI-LOOP-SUI-VSUI\": \"SUI\",\n \"NAVI-LOOP-USDC-USDT\": \"USDC\",\n \"NAVI-USDC\": \"USDC\",\n \"BUCKET-BUCK\": \"BUCK\",\n \"NAVI-USDY\": \"USDY\",\n \"NAVI-AUSD\": \"AUSD\",\n \"NAVI-ETH\": \"ETH\",\n \"NAVI-LOOP-HASUI-SUI\": \"HASUI\",\n \"NAVI-LOOP-USDT-USDC\": \"USDT\",\n};\n\n// FUNCTION OVERLOADS!\n// verify if there is event_type anywhere else\nexport function coinsInPool(\n poolName: DoubleAssetPoolNames,\n event?: { type: string; event_type?: number },\n): { coinA: CoinName; coinB: CoinName };\nexport function coinsInPool(\n poolName: SingleAssetPoolNames,\n event?: { type: string; event_type?: number },\n): CoinName;\nexport function coinsInPool(\n poolName: SingleAssetPoolNames | DoubleAssetPoolNames,\n event?: { type: string; event_type?: number },\n): { coinA: CoinName; coinB: CoinName } | CoinName {\n // Special case for \"NAVI-LOOP-SUI-VSUI\"\n if (poolName === \"NAVI-LOOP-SUI-VSUI\") {\n if (\n event &&\n event.type ===\n conf[CONF_ENV].NAVI_LOOP_SUI_VSUI_POOL_LIQUIDITY_CHANGE_EVENT &&\n event.event_type === 0\n ) {\n return \"SUI\";\n }\n return \"VSUI\";\n }\n const singleAsset = poolCoinMap[poolName as SingleAssetPoolNames];\n const doubleAsset = poolCoinPairMap[poolName as DoubleAssetPoolNames];\n if (singleAsset) {\n return singleAsset;\n }\n if (doubleAsset) {\n return doubleAsset;\n }\n console.error(\"poolName: \", poolName);\n throw new Error(\"Pool not found in poolCoinMap or poolCoinPairMap\");\n}\n\nexport const poolInfo: {\n [key: string]: {\n parentProtocolName: ParentProtocolName;\n parentPoolId: string;\n poolId: string;\n investorId: string;\n receiptName: string;\n receiptType: PoolReceipt;\n autoCompoundingEventType: string;\n rebalanceEventType: string | undefined;\n liquidityChangeEventType: string;\n withdrawV2EventType?: string;\n afterTransactionEventType?: string;\n strategyType?: StrategyType;\n };\n} = {\n \"NAVI-LOOP-USDT-USDC\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_USDT_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_LOOP_USDT_USDC_POOL,\n investorId: conf[CONF_ENV].NAVI_LOOP_USDT_USDC_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_USDT_USDC_LOOP_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_LOOP_USDT_USDC_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_LOOP_USDT_USDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_LOOP_USDT_USDC_POOL_LIQUIDITY_CHANGE_EVENT,\n strategyType: \"LOOPING\",\n },\n \"BLUEFIN-USDT-USDC\": {\n parentProtocolName: \"BLUEFIN\",\n parentPoolId: conf[CONF_ENV].BLUEFIN_USDT_USDC_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL,\n investorId: conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_INVESTOR,\n receiptName: conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType:\n conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].ALPHAFI_BLUEFIN_USDT_USDC_POOL_LIQUIDITY_CHANGE_EVENT,\n // add strategy type\n },\n \"BLUEFIN-SUI-USDC\": {\n parentProtocolName: \"BLUEFIN\",\n parentPoolId: conf[CONF_ENV].BLUEFIN_SUI_USDC_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL,\n investorId: conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_INVESTOR,\n receiptName: conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType:\n conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].ALPHAFI_BLUEFIN_SUI_USDC_POOL_LIQUIDITY_CHANGE_EVENT,\n // add strategy type\n },\n \"NAVI-LOOP-HASUI-SUI\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_HASUI_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_LOOP_HASUI_SUI_POOL,\n investorId: conf[CONF_ENV].NAVI_LOOP_HASUI_SUI_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_HASUI_SUI_LOOP_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_LOOP_HASUI_SUI_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_LOOP_HASUI_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_LOOP_HASUI_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n strategyType: \"LOOPING\",\n },\n \"NAVI-USDY\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_USDY_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_USDY_POOL,\n investorId: conf[CONF_ENV].NAVI_USDY_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_USDY_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_USDY_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_USDY_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_USDY_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"NAVI-AUSD\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_AUSD_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_AUSD_POOL,\n investorId: conf[CONF_ENV].NAVI_AUSD_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_AUSD_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_AUSD_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_AUSD_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_AUSD_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"NAVI-ETH\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_ETH_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_ETH_POOL,\n investorId: conf[CONF_ENV].NAVI_ETH_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_ETH_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_ETH_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_ETH_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_ETH_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"BUCKET-BUCK\": {\n parentProtocolName: \"BUCKET\",\n parentPoolId: conf[CONF_ENV].BUCKET_PROTOCOL,\n poolId: conf[CONF_ENV].BUCKET_BUCK_POOL,\n investorId: conf[CONF_ENV].BUCKET_BUCK_INVESTOR,\n receiptName: conf[CONF_ENV].BUCKET_BUCK_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].BUCKET_BUCK_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].BUCKET_BUCK_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].BUCKET_BUCK_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].BUCKET_BUCK_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"BUCK-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].BUCK_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].BUCK_SUI_POOL,\n investorId: conf[CONF_ENV].BUCK_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].BUCK_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].BUCK_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].BUCK_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].BUCK_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].BUCK_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"USDC-ETH\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].USDC_ETH_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].USDC_ETH_POOL,\n investorId: conf[CONF_ENV].USDC_ETH_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].USDC_ETH_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].USDC_ETH_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].USDC_ETH_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].USDC_ETH_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].USDC_ETH_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"DEEP-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].DEEP_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].DEEP_SUI_POOL,\n investorId: conf[CONF_ENV].DEEP_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].DEEP_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].DEEP_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].DEEP_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].DEEP_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].DEEP_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"ALPHA-USDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].ALPHA_USDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].ALPHA_USDC_POOL,\n investorId: conf[CONF_ENV].ALPHA_USDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].ALPHA_USDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].ALPHA_USDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].ALPHA_USDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].ALPHA_USDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].ALPHA_USDC_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"USDC-WUSDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].USDC_WUSDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].USDC_WUSDC_POOL,\n investorId: conf[CONF_ENV].USDC_WUSDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].USDC_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].USDC_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].USDC_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].USDC_WUSDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].USDC_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"USDC-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].USDC_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].USDC_SUI_POOL,\n investorId: conf[CONF_ENV].USDC_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].USDC_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].USDC_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].USDC_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].USDC_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].USDC_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"USDC-USDT\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].USDC_USDT_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].USDC_USDT_POOL,\n investorId: conf[CONF_ENV].USDC_USDT_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].USDC_USDT_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].USDC_USDT_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].USDC_USDT_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].USDC_USDT_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].USDC_USDT_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"NAVI-USDC\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_USDC_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_USDC_POOL,\n investorId: conf[CONF_ENV].NAVI_USDC_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_USDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_USDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_USDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_USDC_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"NAVI-LOOP-USDC-USDT\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_USDT_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_LOOP_USDC_USDT_POOL,\n investorId: conf[CONF_ENV].NAVI_LOOP_USDC_USDT_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_USDC_USDT_LOOP_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_LOOP_USDC_USDT_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_LOOP_USDC_USDT_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_LOOP_USDC_USDT_POOL_LIQUIDITY_CHANGE_EVENT,\n strategyType: \"LOOPING\",\n },\n \"NAVI-LOOP-SUI-VSUI\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_VSUI_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_LOOP_SUI_VSUI_POOL,\n investorId: conf[CONF_ENV].NAVI_LOOP_SUI_VSUI_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_SUI_VSUI_LOOP_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_LOOP_SUI_VSUI_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_LOOP_SUI_VSUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_LOOP_SUI_VSUI_POOL_LIQUIDITY_CHANGE_EVENT,\n strategyType: \"LOOPING\",\n },\n \"NAVI-SUI\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_SUI_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_SUI_POOL,\n investorId: conf[CONF_ENV].NAVI_SUI_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].NAVI_SUI_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"NAVI-VSUI\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_VSUI_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_VSUI_POOL,\n investorId: conf[CONF_ENV].NAVI_VSUI_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_VSUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_VSUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_VSUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_VSUI_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].NAVI_VSUI_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"NAVI-WETH\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_WETH_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_WETH_POOL,\n investorId: conf[CONF_ENV].NAVI_WETH_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_WETH_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_WETH_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_WETH_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_WETH_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].NAVI_WETH_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"NAVI-USDT\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_USDT_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_USDT_POOL,\n investorId: conf[CONF_ENV].NAVI_USDT_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_USDT_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_USDT_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_USDT_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_USDT_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].NAVI_USDT_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"NAVI-WUSDC\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_WUSDC_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_WUSDC_POOL,\n investorId: conf[CONF_ENV].NAVI_WUSDC_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].NAVI_WUSDC_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"NAVI-HASUI\": {\n parentProtocolName: \"NAVI\",\n parentPoolId: conf[CONF_ENV].NAVI_HASUI_POOL,\n poolId: conf[CONF_ENV].ALPHAFI_NAVI_HASUI_POOL,\n investorId: conf[CONF_ENV].NAVI_HASUI_INVESTOR,\n receiptName: conf[CONF_ENV].NAVI_HASUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVI_HASUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVI_HASUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVI_HASUI_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].NAVI_HASUI_POOL_AFTER_TRANSACTION_EVENT,\n },\n ALPHA: {\n parentProtocolName: \"ALPHAFI\",\n parentPoolId: conf[CONF_ENV].ALPHA_POOL,\n poolId: conf[CONF_ENV].ALPHA_POOL,\n investorId: conf[CONF_ENV].ALPHA_POOL,\n receiptName: conf[CONF_ENV].ALPHA_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].ALPHA_POOL_RECEIPT,\n autoCompoundingEventType: conf[CONF_ENV].ALPHA_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: undefined,\n liquidityChangeEventType: conf[CONF_ENV].ALPHA_POOL_LIQUIDITY_CHANGE_EVENT,\n withdrawV2EventType: conf[CONF_ENV].ALPHA_POOL_WITHDRAW_V2_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].ALPHA_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"ALPHA-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].ALPHA_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].ALPHA_SUI_POOL,\n investorId: conf[CONF_ENV].ALPHA_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].ALPHA_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].ALPHA_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].ALPHA_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].ALPHA_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].ALPHA_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].ALPHA_SUI_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"HASUI-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].HASUI_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].HASUI_SUI_POOL,\n investorId: conf[CONF_ENV].HASUI_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].HASUI_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].HASUI_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].HASUI_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].HASUI_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].HASUI_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].HASUI_SUI_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"USDT-WUSDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].USDT_WUSDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].WUSDC_USDT_POOL,\n investorId: conf[CONF_ENV].USDT_WUSDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].USDT_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].USDT_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].USDT_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].USDT_WUSDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].USDT_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].USDT_WUSDC_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"USDY-WUSDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].USDY_WUSDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].USDY_WUSDC_POOL,\n investorId: conf[CONF_ENV].USDY_WUSDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].USDY_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].USDY_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].USDY_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].USDY_WUSDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].USDY_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].USDY_WUSDC_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"WUSDC-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].WUSDC_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].WUSDC_SUI_POOL,\n investorId: conf[CONF_ENV].WUSDC_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].WUSDC_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].WUSDC_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].WUSDC_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].WUSDC_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].WUSDC_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].WUSDC_SUI_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"WETH-WUSDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].WETH_WUSDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].WETH_WUSDC_POOL,\n investorId: conf[CONF_ENV].WETH_WUSDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].WETH_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].WETH_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].WETH_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].WETH_WUSDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].WETH_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].WETH_WUSDC_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"WUSDC-WBTC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].WUSDC_WBTC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].WUSDC_WBTC_POOL,\n investorId: conf[CONF_ENV].WUSDC_WBTC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].WUSDC_WBTC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].WUSDC_WBTC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].WUSDC_WBTC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].WUSDC_WBTC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].WUSDC_WBTC_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].WUSDC_WBTC_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"NAVX-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].NAVX_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].NAVX_SUI_POOL,\n investorId: conf[CONF_ENV].NAVX_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].NAVX_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].NAVX_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].NAVX_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].NAVX_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].NAVX_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].NAVX_SUI_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"BUCK-WUSDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].BUCK_WUSDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].BUCK_WUSDC_POOL,\n investorId: conf[CONF_ENV].BUCK_WUSDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].BUCK_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].BUCK_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].BUCK_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].BUCK_WUSDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].BUCK_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n afterTransactionEventType:\n conf[CONF_ENV].BUCK_WUSDC_POOL_AFTER_TRANSACTION_EVENT,\n },\n \"CETUS-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].CETUS_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].CETUS_SUI_POOL,\n investorId: conf[CONF_ENV].CETUS_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].CETUS_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].CETUS_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].CETUS_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].CETUS_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].CETUS_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"ALPHA-WUSDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].ALPHA_WUSDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].ALPHA_WUSDC_POOL,\n investorId: conf[CONF_ENV].ALPHA_WUSDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].ALPHA_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].ALPHA_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].ALPHA_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].ALPHA_WUSDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].ALPHA_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"WSOL-WUSDC\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].WSOL_WUSDC_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].WSOL_WUSDC_POOL,\n investorId: conf[CONF_ENV].WSOL_WUSDC_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].WSOL_WUSDC_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].WSOL_WUSDC_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].WSOL_WUSDC_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].WSOL_WUSDC_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].WSOL_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"FUD-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].FUD_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].FUD_SUI_POOL,\n investorId: conf[CONF_ENV].FUD_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].FUD_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].FUD_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].FUD_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].FUD_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].FUD_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"BLUB-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].BLUB_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].BLUB_SUI_POOL,\n investorId: conf[CONF_ENV].BLUB_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].BLUB_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].BLUB_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].BLUB_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].BLUB_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].BLUB_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n \"SCA-SUI\": {\n parentProtocolName: \"CETUS\",\n parentPoolId: conf[CONF_ENV].SCA_SUI_CETUS_POOL_ID,\n poolId: conf[CONF_ENV].SCA_SUI_POOL,\n investorId: conf[CONF_ENV].SCA_SUI_CETUS_INVESTOR,\n receiptName: conf[CONF_ENV].SCA_SUI_POOL_RECEIPT_NAME,\n receiptType: conf[CONF_ENV].SCA_SUI_POOL_RECEIPT,\n autoCompoundingEventType:\n conf[CONF_ENV].SCA_SUI_POOL_AUTO_COMPOUNDING_EVENT,\n rebalanceEventType: conf[CONF_ENV].SCA_SUI_POOL_REBALANCE_EVENT,\n liquidityChangeEventType:\n conf[CONF_ENV].SCA_SUI_POOL_LIQUIDITY_CHANGE_EVENT,\n },\n};\n\nexport async function getInvestorPoolMap(): Promise<Map<string, PoolName>> {\n const investorIdToPoolNameMap = new Map<string, PoolName>();\n\n for (const poolName in poolInfo) {\n if (poolInfo.hasOwnProperty(poolName)) {\n const { investorId } = poolInfo[poolName];\n if (\n investorId !== undefined &&\n investorId !== null &&\n investorId !== \"\"\n ) {\n investorIdToPoolNameMap.set(investorId, poolName as PoolName);\n }\n }\n }\n\n return investorIdToPoolNameMap;\n}\n\nexport const poolIdPoolNameMap = ((): {\n [key: string]: PoolName;\n} => {\n const res: {\n [key: string]: PoolName;\n } = {};\n Object.entries(poolInfo).map(([poolName, info]) => {\n const poolId = info.poolId;\n res[poolId] = poolName as PoolName;\n });\n delete res[\"\"]; //deletes unlaunched pools\n return res;\n})();\n\nexport const coinNameTypeMap: { [key in CoinName]: CoinType } = {\n ALPHA: conf[CONF_ENV].ALPHA_COIN_TYPE as CoinType,\n SUI: \"0x2::sui::SUI\",\n WUSDC:\n \"0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN\",\n USDC: \"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC\",\n USDT: \"0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN\",\n VSUI: \"0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55::cert::CERT\",\n NAVX: \"0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5::navx::NAVX\",\n SCA: \"0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6::sca::SCA\",\n CETUS:\n \"0x6864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS\",\n AFSUI:\n \"0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc::afsui::AFSUI\",\n WETH: \"0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN\",\n APT: \"0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37::coin::COIN\",\n WSOL: \"0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8::coin::COIN\",\n SLP: \"0xc44d97a4bc4e5a33ca847b72b123172c88a6328196b71414f32c3070233604b2::slp::SLP\",\n WBTC: \"0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN\",\n CELO: \"0xa198f3be41cda8c07b3bf3fee02263526e535d682499806979a111e88a5a8d0f::coin::COIN\",\n TURBOS:\n \"0x5d1f47ea69bb0de31c313d7acf89b890dbb8991ea8e03c6c355171f84bb1ba4a::turbos::TURBOS\",\n HASUI:\n \"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI\",\n USDY: \"0x960b531667636f39e85867775f52f6b1f220a058c4de786905bdf761e06a56bb::usdy::USDY\",\n BUCK: \"0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::buck::BUCK\",\n FUD: conf[CONF_ENV].FUD_COIN_TYPE as CoinType,\n BLUB: conf[CONF_ENV].BLUB_COIN_TYPE as CoinType,\n ETH: conf[CONF_ENV].ETH_COIN_TYPE as CoinType,\n DEEP: conf[CONF_ENV].DEEP_COIN_TYPE as CoinType,\n AUSD: conf[CONF_ENV].AUSD_COIN_TYPE as CoinType,\n};\n\nexport const poolIdQueryPoolMap: { [key: string]: string } = {\n // alpha pool\n \"0x6ee8f60226edf48772f81e5986994745dae249c2605a5b12de6602ef1b05b0c1\":\n \"alphaPool\",\n // cetus pools\n \"0x594f13b8f287003fd48e4264e7056e274b84709ada31e3657f00eeedc1547e37\":\n \"alphaSuiPool\",\n \"0x30066d9879374276dc01177fbd239a9377b497bcd347c82811d75fcda35b18e5\":\n \"wusdcUsdtPool\",\n \"0xa7239a0c727c40ee3a139689b16b281acfd0682a06c23531b184a61721ece437\":\n \"usdyWusdcPool\",\n \"0xee6f6392cbd9e1997f6e4cf71db0c1ae1611f1f5f7f23f90ad2c64b8f23cceab\":\n \"suiWusdcPool\",\n \"0xbdf4f673b34274f36be284bca3f765083380fefb29141f971db289294bf679c6\":\n \"wethWusdcPool\",\n \"0x676fc5cad79f51f6a7d03bfa3474ecd3c695d322380fc68e3d4f61819da3bf8a\":\n \"wbtcWusdcPool\",\n \"0x045e4e3ccd383bedeb8fda54c39a7a1b1a6ed6a9f66aec4998984373558f96a0\":\n \"navxSuiPool\",\n // navi pools\n \"0x643f84e0a33b19e2b511be46232610c6eb38e772931f582f019b8bbfb893ddb3\":\n \"suiPool\",\n \"0x0d9598006d37077b4935400f6525d7f1070784e2d6f04765d76ae0a4880f7d0a\":\n \"vsuiPool\",\n \"0xe4eef7d4d8cafa3ef90ea486ff7d1eec347718375e63f1f778005ae646439aad\":\n \"wethPool\",\n \"0xc696ca5b8f21a1f8fcd62cff16bbe5a396a4bed6f67909cfec8269eb16e60757\":\n \"usdtPool\",\n \"0x01493446093dfcdcfc6c16dc31ffe40ba9ac2e99a3f6c16a0d285bff861944ae\":\n \"wusdcPool\",\n};\n\nexport const poolIdQueryCetusPoolMap: { [key: string]: string } = {\n \"0x594f13b8f287003fd48e4264e7056e274b84709ada31e3657f00eeedc1547e37\":\n \"alphaSuiCetusPool\",\n \"0x30066d9879374276dc01177fbd239a9377b497bcd347c82811d75fcda35b18e5\":\n \"wusdcUsdtCetusPool\",\n \"0xa7239a0c727c40ee3a139689b16b281acfd0682a06c23531b184a61721ece437\":\n \"usdyWusdcCetusPool\",\n \"0xee6f6392cbd9e1997f6e4cf71db0c1ae1611f1f5f7f23f90ad2c64b8f23cceab\":\n \"suiWusdcCetusPool\",\n \"0xbdf4f673b34274f36be284bca3f765083380fefb29141f971db289294bf679c6\":\n \"wethWusdcCetusPool\",\n \"0x676fc5cad79f51f6a7d03bfa3474ecd3c695d322380fc68e3d4f61819da3bf8a\":\n \"wbtcWusdcCetusPool\",\n \"0x045e4e3ccd383bedeb8fda54c39a7a1b1a6ed6a9f66aec4998984373558f96a0\":\n \"navxSuiCetusPool\",\n};\n\nexport const poolIdQueryInvestorMap: { [key: string]: string } = {\n \"0x594f13b8f287003fd48e4264e7056e274b84709ada31e3657f00eeedc1547e37\":\n \"alphaSuiInvestor\",\n \"0x30066d9879374276dc01177fbd239a9377b497bcd347c82811d75fcda35b18e5\":\n \"wusdcUsdtInvestor\",\n \"0xa7239a0c727c40ee3a139689b16b281acfd0682a06c23531b184a61721ece437\":\n \"usdyWusdcInvestor\",\n \"0xee6f6392cbd9e1997f6e4cf71db0c1ae1611f1f5f7f23f90ad2c64b8f23cceab\":\n \"suiWusdcInvestor\",\n \"0xbdf4f673b34274f36be284bca3f765083380fefb29141f971db289294bf679c6\":\n \"wethWusdcInvestor\",\n \"0x676fc5cad79f51f6a7d03bfa3474ecd3c695d322380fc68e3d4f61819da3bf8a\":\n \"wbtcWusdcInvestor\",\n \"0x045e4e3ccd383bedeb8fda54c39a7a1b1a6ed6a9f66aec4998984373558f96a0\":\n \"navxSuiInvestor\",\n};\n\n// Pagination needed for more than 50 pools\nexport async function getPoolExchangeRateMap(): Promise<Map<PoolName, string>> {\n const poolNameToConversionRateMap = new Map<PoolName, string>();\n\n const poolIds = Object.keys(poolIdPoolNameMap);\n const suiClient = getSuiClient();\n const res = await suiClient.multiGetObjects({\n ids: poolIds,\n options: {\n showContent: true,\n },\n });\n for (const poolRawData of res) {\n const poolDetails = poolRawData.data as PoolType | AlphaPoolType;\n const poolId = poolDetails.objectId;\n const xTokenSupply = new Decimal(poolDetails.content.fields.xTokenSupply);\n const tokensInvested = new Decimal(\n poolDetails.content.fields.tokensInvested,\n );\n const conversionRate =\n Number(xTokenSupply) !== 0\n ? tokensInvested.div(xTokenSupply).toString()\n : \"0\";\n poolNameToConversionRateMap.set(poolIdPoolNameMap[poolId], conversionRate);\n }\n\n // Looping pools\n const loopingPoolNames = Object.keys(poolInfo).filter(\n (poolName) => poolInfo[poolName].strategyType === \"LOOPING\",\n );\n const loopingPoolsMap: { [poolName: string]: PoolType } = {};\n res\n .filter((poolRawData) => {\n const poolDetails = poolRawData.data as PoolType | AlphaPoolType;\n const poolId = poolDetails.objectId;\n return poolInfo[poolIdPoolNameMap[poolId]].strategyType === \"LOOPING\"\n ? true\n : false;\n })\n .map((poolRawData) => {\n const poolDetails = poolRawData.data as PoolType | AlphaPoolType;\n const poolId = poolDetails.objectId;\n const poolName = poolIdPoolNameMap[poolId];\n loopingPoolsMap[poolName] = poolRawData.data as PoolType;\n });\n\n const naviInvestors = await multiGetNaviInvestor(\n loopingPoolNames as SingleAssetPoolNames[],\n false,\n );\n\n for (const poolName of loopingPoolNames) {\n const pool = loopingPoolsMap[poolName];\n const investor = naviInvestors[poolName as SingleAssetPoolNames];\n if (investor) {\n const liquidity = new Decimal(investor.content.fields.tokensDeposited);\n const debtToSupplyRatio = new Decimal(\n investor.content.fields.current_debt_to_supply_ratio,\n );\n const tokensInvested = liquidity.mul(\n new Decimal(1).minus(new Decimal(debtToSupplyRatio).div(1e20)),\n );\n const xTokenSupplyInPool = new Decimal(pool.content.fields.xTokenSupply);\n const exchangeRate = tokensInvested.div(xTokenSupplyInPool);\n poolNameToConversionRateMap.set(\n poolName as PoolName,\n exchangeRate.toString(),\n );\n } else {\n console.error(\"investor not found for poolName: \", poolName);\n }\n }\n\n return poolNameToConversionRateMap;\n}\n\n// Pagination needed for more than 50 pools\nexport async function getCetusSqrtPriceMap(): Promise<Map<PoolName, string>> {\n const poolNameToSqrtPriceMap = new Map<PoolName, string>();\n\n const cetusPools = Object.keys(poolInfo)\n .filter((poolName) => poolInfo[poolName].parentProtocolName === \"CETUS\")\n .map((poolName) => {\n return parentPoolMap[poolName];\n });\n const suiClient = getSuiClient();\n const res = await suiClient.multiGetObjects({\n ids: cetusPools,\n options: {\n showContent: true,\n },\n });\n for (const poolRawData of res) {\n const poolDetails = poolRawData.data as CetusPoolType;\n const poolId = poolDetails.objectId;\n const pool = Object.keys(parentPoolMap).find(\n (key) => parentPoolMap[key] === poolId,\n );\n const sqrtPrice = poolDetails.content.fields.current_sqrt_price;\n poolNameToSqrtPriceMap.set(pool as PoolName, sqrtPrice);\n }\n\n return poolNameToSqrtPriceMap;\n}\n\n// Pagination needed for more than 50 pools\nexport async function getCetusInvestorTicksMap(): Promise<{\n [pool in PoolName]?: { lower: string; upper: string };\n}> {\n const investorIdToTicksMap: {\n [pool in PoolName]?: { lower: string; upper: string };\n } = {};\n\n const investorPoolMap = await getInvestorPoolMap();\n const investors = Array.from(investorPoolMap.keys());\n const suiClient = getSuiClient();\n const res = await suiClient.multiGetObjects({\n ids: investors,\n options: {\n showContent: true,\n },\n });\n for (const investorRawData of res) {\n const investorDetails = investorRawData.data as CetusInvestor;\n const lower_tick = investorDetails.content.fields.lower_tick;\n const upper_tick = investorDetails.content.fields.upper_tick;\n const pool = investorPoolMap.get(investorDetails.objectId) as string;\n investorIdToTicksMap[pool as PoolName] = {\n lower: lower_tick,\n upper: upper_tick,\n };\n }\n\n return investorIdToTicksMap;\n}\n\nexport async function getTokenPriceMap(): Promise<Map<CoinName, string>> {\n const coinNameToPriceMap = new Map<CoinName, string>();\n\n const coinsSet = new Set<CoinName>(Object.values(poolCoinMap));\n Object.values(poolCoinPairMap).map(({ coinA: coin1, coinB: coin2 }) => {\n coinsSet.add(coin1);\n coinsSet.add(coin2);\n });\n const coins = Array.from(coinsSet);\n const pricePairs = coins.map((coinName) => {\n return `${coinName}/USD` as PythPriceIdPair;\n });\n const prices = await getLatestTokenPricePairs(pricePairs, false);\n Object.entries(prices).map(([pair, price]) => {\n const coin = pair.split(\"/\")[0] as CoinName;\n if (price) {\n coinNameToPriceMap.set(coin, price);\n }\n });\n\n return coinNameToPriceMap;\n}\n\nexport const parentPoolMap: { [key: string]: string } = (() => {\n const result: { [key: string]: string } = {};\n Object.entries(poolInfo).map(([poolName, info]) => {\n result[poolName] = info.parentPoolId;\n });\n return result;\n})();\n\nexport const cetusPoolMap: { [key: string]: string } = (() => {\n const result: { [key: string]: string } = Object.fromEntries(\n Object.entries(parentPoolMap).filter(([poolName]) => {\n if (poolInfo[poolName].parentProtocolName === \"CETUS\") return true;\n return false;\n }),\n );\n return result;\n})();\n\nexport const defunctPoolsSet = (() => {\n const defunctPools = conf[CONF_ENV].DEFUNCT_POOLS;\n return new Set<string>(defunctPools);\n})();\n"]}
@@ -0,0 +1,7 @@
1
+ export type PythPriceFeed = {
2
+ [key: string]: {
3
+ [key in "symbol" | "priceId" | "name"]: string;
4
+ };
5
+ };
6
+ export type PythPriceIdPair = "SUI/USD" | "VSUI/USD" | "AFSUI/USD" | "HASUI/USD" | "USDC/USD" | "USDT/USD" | "CETUS/USD" | "TURBO/USD" | "SCA/USD" | "CELO/USD" | "WBTC/USD" | "SLP/USD" | "SOL/USD" | "APT/USD" | "WETH/USD" | "ALPHA/USD" | "USDY/USD" | "NAVX/USD" | "BUCK/USD" | "WUSDC/USD" | "ETH/USD" | "DEEP/USD";
7
+ //# sourceMappingURL=pyth.d.ts.map