@alphafi/alphafi-sdk 0.0.30 → 0.0.32
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.
- package/dist/cjs/common/constants.d.ts.map +1 -1
- package/dist/cjs/common/constants.js +7 -5
- package/dist/cjs/common/constants.js.map +1 -1
- package/dist/cjs/common/maps.d.ts.map +1 -1
- package/dist/cjs/common/maps.js +2 -0
- package/dist/cjs/common/maps.js.map +1 -1
- package/dist/cjs/graphql/getMultiReceipts.js +4 -4
- package/dist/cjs/graphql/getMultiReceipts.js.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js +26 -2
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchEvents.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchEvents.js +28 -1
- package/dist/cjs/sui-sdk/events/fetchEvents.js.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.js +0 -1
- package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.js.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchWithdrawV2Events.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/events/fetchWithdrawV2Events.js +26 -0
- package/dist/cjs/sui-sdk/events/fetchWithdrawV2Events.js.map +1 -0
- package/dist/cjs/sui-sdk/events/types.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/events/types.js.map +1 -1
- package/dist/cjs/sui-sdk/functions/getReceipts.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/functions/getReceipts.js +1 -0
- package/dist/cjs/sui-sdk/functions/getReceipts.js.map +1 -1
- package/dist/cjs/utils/userHoldings.d.ts.map +1 -1
- package/dist/cjs/utils/userHoldings.js +27 -7
- package/dist/cjs/utils/userHoldings.js.map +1 -1
- package/dist/esm/common/constants.d.ts.map +1 -1
- package/dist/esm/common/constants.js +7 -5
- package/dist/esm/common/constants.js.map +1 -1
- package/dist/esm/common/maps.d.ts.map +1 -1
- package/dist/esm/common/maps.js +2 -0
- package/dist/esm/common/maps.js.map +1 -1
- package/dist/esm/graphql/getMultiReceipts.js +4 -4
- package/dist/esm/graphql/getMultiReceipts.js.map +1 -1
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -1
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js +26 -2
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -1
- package/dist/esm/sui-sdk/events/fetchEvents.d.ts.map +1 -1
- package/dist/esm/sui-sdk/events/fetchEvents.js +28 -1
- package/dist/esm/sui-sdk/events/fetchEvents.js.map +1 -1
- package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.d.ts.map +1 -1
- package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.js +0 -1
- package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.js.map +1 -1
- package/dist/esm/sui-sdk/events/fetchWithdrawV2Events.d.ts.map +1 -0
- package/dist/esm/sui-sdk/events/fetchWithdrawV2Events.js +23 -0
- package/dist/esm/sui-sdk/events/fetchWithdrawV2Events.js.map +1 -0
- package/dist/esm/sui-sdk/events/types.d.ts.map +1 -1
- package/dist/esm/sui-sdk/events/types.js.map +1 -1
- package/dist/esm/sui-sdk/functions/getReceipts.d.ts.map +1 -1
- package/dist/esm/sui-sdk/functions/getReceipts.js +1 -0
- package/dist/esm/sui-sdk/functions/getReceipts.js.map +1 -1
- package/dist/esm/utils/userHoldings.d.ts.map +1 -1
- package/dist/esm/utils/userHoldings.js +27 -7
- package/dist/esm/utils/userHoldings.js.map +1 -1
- package/package.json +1 -1
|
@@ -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} 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 cetusPoolMap: { [key: string]: string } = {\n \"WUSDC-SUI\": conf[CONF_ENV].WUSDC_SUI_CETUS_POOL_ID,\n \"CETUS-SUI\": conf[CONF_ENV].CETUS_SUI_CETUS_POOL_ID,\n \"USDT-WUSDC\": conf[CONF_ENV].USDT_WUSDC_CETUS_POOL_ID,\n \"USDY-WUSDC\": conf[CONF_ENV].USDY_WUSDC_CETUS_POOL_ID,\n \"HASUI-SUI\": conf[CONF_ENV].HASUI_SUI_CETUS_POOL_ID,\n \"ALPHA-SUI\": conf[CONF_ENV].ALPHA_SUI_CETUS_POOL_ID,\n \"WETH-WUSDC\": conf[CONF_ENV].WETH_WUSDC_CETUS_POOL_ID,\n \"WUSDC-WBTC\": conf[CONF_ENV].WUSDC_WBTC_CETUS_POOL_ID,\n \"VSUI-SUI\": conf[CONF_ENV].VSUI_SUI_CETUS_POOL_ID,\n \"NAVX-SUI\": conf[CONF_ENV].NAVX_SUI_CETUS_POOL_ID,\n \"WUSDC-CETUS\": conf[CONF_ENV].WUSDC_CETUS_CETUS_POOL_ID,\n \"BUCK-WUSDC\": conf[CONF_ENV].BUCK_WUSDC_CETUS_POOL_ID,\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};\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};\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 };\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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.values(cetusPoolMap);\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(cetusPoolMap).find(\n (key) => cetusPoolMap[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"]}
|
|
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} 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 cetusPoolMap: { [key: string]: string } = {\n \"WUSDC-SUI\": conf[CONF_ENV].WUSDC_SUI_CETUS_POOL_ID,\n \"CETUS-SUI\": conf[CONF_ENV].CETUS_SUI_CETUS_POOL_ID,\n \"USDT-WUSDC\": conf[CONF_ENV].USDT_WUSDC_CETUS_POOL_ID,\n \"USDY-WUSDC\": conf[CONF_ENV].USDY_WUSDC_CETUS_POOL_ID,\n \"HASUI-SUI\": conf[CONF_ENV].HASUI_SUI_CETUS_POOL_ID,\n \"ALPHA-SUI\": conf[CONF_ENV].ALPHA_SUI_CETUS_POOL_ID,\n \"WETH-WUSDC\": conf[CONF_ENV].WETH_WUSDC_CETUS_POOL_ID,\n \"WUSDC-WBTC\": conf[CONF_ENV].WUSDC_WBTC_CETUS_POOL_ID,\n \"VSUI-SUI\": conf[CONF_ENV].VSUI_SUI_CETUS_POOL_ID,\n \"NAVX-SUI\": conf[CONF_ENV].NAVX_SUI_CETUS_POOL_ID,\n \"WUSDC-CETUS\": conf[CONF_ENV].WUSDC_CETUS_CETUS_POOL_ID,\n \"BUCK-WUSDC\": conf[CONF_ENV].BUCK_WUSDC_CETUS_POOL_ID,\n \"USDC-WUSDC\": conf[CONF_ENV].USDC_WUSDC_CETUS_POOL_ID,\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};\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};\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 withdrawV2Event?: string;\n };\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 withdrawV2Event: conf[CONF_ENV].ALPHA_POOL_WITHDRAW_V2_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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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 },\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.values(cetusPoolMap);\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(cetusPoolMap).find(\n (key) => cetusPoolMap[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"]}
|
|
@@ -38,14 +38,14 @@ const receiptTypes = {
|
|
|
38
38
|
type: "0xa095412a92ff0f063cbea962f2f88b1a93cbc85c72bebf5dd7d90a8e2d6375ae::alphafi_bucket_pool_v1::Receipt",
|
|
39
39
|
cursor: "",
|
|
40
40
|
},
|
|
41
|
-
naviUsdyPoolReceipts: {
|
|
42
|
-
type: "0xbcdbe865d8b2e84bbc217c12edb9cbad14a71ff8a0a1d849263c6b4b377780f1::alphafi_navi_pool::Receipt",
|
|
43
|
-
cursor: "",
|
|
44
|
-
},
|
|
45
41
|
naviV2PoolReceipts: {
|
|
46
42
|
type: "0x5d90d17172b9e38da9f13a982668a9e48d0b0b5f864e421b60686f60758b37bd::alphafi_navi_pool_v2::Receipt",
|
|
47
43
|
cursor: "",
|
|
48
44
|
},
|
|
45
|
+
naviLoopHasuiSuiPoolReceipts: {
|
|
46
|
+
type: "0xb7039e74683423783f5179d6359df115af06b040bc439cbef3b307bdaceb050d::alphafi_navi_hasui_sui_pool::Receipt",
|
|
47
|
+
cursor: "",
|
|
48
|
+
},
|
|
49
49
|
};
|
|
50
50
|
export async function fetchMultiReceipts(address) {
|
|
51
51
|
const multiReceipts = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMultiReceipts.js","sourceRoot":"","sources":["../../../src/graphql/getMultiReceipts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAQtE,MAAM,YAAY,GAAmC;IACnD,iBAAiB,EAAE;QACjB,IAAI,EAAE,wFAAwF;QAC9F,MAAM,EAAE,EAAE;KACI;IAChB,oBAAoB,EAAE;QACpB,IAAI,EAAE,qGAAqG;QAC3G,MAAM,EAAE,EAAE;KACI;IAChB,iBAAiB,EAAE;QACjB,IAAI,EAAE,iGAAiG;QACvG,MAAM,EAAE,EAAE;KACI;IAChB,sBAAsB,EAAE;QACtB,IAAI,EAAE,wGAAwG;QAC9G,MAAM,EAAE,EAAE;KACI;IAChB,sBAAsB,EAAE;QACtB,IAAI,EAAE,qGAAqG;QAC3G,MAAM,EAAE,EAAE;KACI;IAChB,gBAAgB,EAAE;QAChB,IAAI,EAAE,gGAAgG;QACtG,MAAM,EAAE,EAAE;KACI;IAChB,2BAA2B,EAAE;QAC3B,IAAI,EAAE,yGAAyG;QAC/G,MAAM,EAAE,EAAE;KACI;IAChB,8BAA8B,EAAE;QAC9B,IAAI,EAAE,iHAAiH;QACvH,MAAM,EAAE,EAAE;KACI;IAChB,kBAAkB,EAAE;QAClB,IAAI,EAAE,qGAAqG;QAC3G,MAAM,EAAE,EAAE;KACI;IAChB,
|
|
1
|
+
{"version":3,"file":"getMultiReceipts.js","sourceRoot":"","sources":["../../../src/graphql/getMultiReceipts.ts"],"names":[],"mappings":"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","sourcesContent":["import { ApolloQueryResult, gql } from \"@apollo/client/core\";\nimport client from \"./client.js\";\nimport { getMultiReceiptsQuery } from \"./queries/getMultiReceipts.js\";\nimport { ReceiptGQL } from \"./types.js\";\n\ntype ReceiptType = {\n type: string;\n cursor: string;\n};\n\nconst receiptTypes: { [key: string]: ReceiptType } = {\n alphaPoolReceipts: {\n type: \"0x9bbd650b8442abb082c20f3bc95a9434a8d47b4bef98b0832dab57c1a8ba7123::alphapool::Receipt\",\n cursor: \"\",\n } as ReceiptType,\n cetusSuiPoolReceipts: {\n type: \"0x9bbd650b8442abb082c20f3bc95a9434a8d47b4bef98b0832dab57c1a8ba7123::alphafi_cetus_sui_pool::Receipt\",\n cursor: \"\",\n } as ReceiptType,\n cetusPoolReceipts: {\n type: \"0x9bbd650b8442abb082c20f3bc95a9434a8d47b4bef98b0832dab57c1a8ba7123::alphafi_cetus_pool::Receipt\",\n cursor: \"\",\n } as ReceiptType,\n cetusPoolBaseAReceipts: {\n type: \"0x2793db7aa0e0209afc84f0adb1b258973cf1c9da55c35ee85c18f2ed4912bb6f::alphafi_cetus_pool_base_a::Receipt\",\n cursor: \"\",\n } as ReceiptType,\n cetusSuiV2PoolReceipts: {\n type: \"0x1a22b26f139b34c9de9718cf7e53159b2b939ec8f46f4c040776b7a3d580dd28::alphafi_cetus_sui_pool::Receipt\",\n cursor: \"\",\n } as ReceiptType,\n naviPoolReceipts: {\n type: \"0x8f7d2c35e19c65213bc2153086969a55ec207b5a25ebdee303a6d9edd9c053e3::alphafi_navi_pool::Receipt\",\n cursor: \"\",\n } as ReceiptType,\n naviLoopSuiVsuiPoolReceipts: {\n type: \"0x531989a4be74dd43b25e7bb1eeade871f4524bdf437a8eaa30b4ac2a932b5579::alphafi_navi_sui_vsui_pool::Receipt\",\n cursor: \"\",\n } as ReceiptType,\n naviNativeUsdcUsdtPoolReceipts: {\n type: \"0xad4f82d9956085bdab812d46fb2ea4d95c35e9e936cb53d04a79d3989ef97774::alphafi_navi_native_usdc_usdt_pool::Receipt\",\n cursor: \"\",\n } as ReceiptType,\n bucketPoolReceipts: {\n type: \"0xa095412a92ff0f063cbea962f2f88b1a93cbc85c72bebf5dd7d90a8e2d6375ae::alphafi_bucket_pool_v1::Receipt\",\n cursor: \"\",\n } as ReceiptType,\n naviV2PoolReceipts: {\n type: \"0x5d90d17172b9e38da9f13a982668a9e48d0b0b5f864e421b60686f60758b37bd::alphafi_navi_pool_v2::Receipt\",\n cursor: \"\",\n } as ReceiptType,\n naviLoopHasuiSuiPoolReceipts: {\n type: \"0xb7039e74683423783f5179d6359df115af06b040bc439cbef3b307bdaceb050d::alphafi_navi_hasui_sui_pool::Receipt\",\n cursor: \"\",\n } as ReceiptType,\n};\n\nexport async function fetchMultiReceipts(\n address: string,\n): Promise<Map<string, ReceiptGQL[]>> {\n const multiReceipts: any[] = [];\n let hasNextPage = true;\n\n try {\n while (hasNextPage) {\n const query = getMultiReceiptsQuery(receiptTypes);\n const GET_RECEIPTS = gql`\n ${query}\n `;\n\n const result: ApolloQueryResult<any> = await client.query({\n query: GET_RECEIPTS,\n variables: {\n address: address,\n },\n });\n\n const { data } = result;\n const receipts = data.owner;\n hasNextPage = false;\n\n Object.keys(receipts).forEach((key) => {\n if (key !== \"__typename\") {\n const { pageInfo, nodes } = receipts[key];\n hasNextPage = hasNextPage || pageInfo.hasNextPage;\n if (hasNextPage) receiptTypes[key].cursor = pageInfo.endCursor;\n else receiptTypes[key].cursor = \"0\";\n nodes.forEach((node: any) => {\n multiReceipts.push(node);\n });\n }\n });\n }\n } catch (error) {\n console.error(\"Error fetching receipts from GraphQL:\", error);\n throw error;\n } finally {\n Object.keys(receiptTypes).forEach((key) => {\n receiptTypes[key].cursor = \"\";\n });\n }\n\n const receiptMap: Map<string, ReceiptGQL[]> = new Map();\n multiReceipts.forEach((receipt) => {\n const name = receipt.contents.json.name;\n let arr = receiptMap.get(name);\n if (!arr) arr = [];\n arr.push(receipt);\n receiptMap.set(name, arr);\n });\n\n return receiptMap;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchAutoCompoundingEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchAutoCompoundingEvents.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAwB,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAEjC,MAAM,YAAY,CAAC;AAEpB,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,gCAAgC,GACvC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAkHrC;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,wBAAwB,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"fetchAutoCompoundingEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchAutoCompoundingEvents.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAwB,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAEjC,MAAM,YAAY,CAAC;AAEpB,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,gCAAgC,GACvC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAkHrC;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,wBAAwB,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC,CA8KjB;AA6CD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,wBAAwB,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAWnC"}
|
|
@@ -121,13 +121,32 @@ export async function calculateAprForInvestor(events) {
|
|
|
121
121
|
let prevCompoundB = 0n;
|
|
122
122
|
const investorPoolMap = await getInvestorPoolMap();
|
|
123
123
|
// const matchInvestor =
|
|
124
|
-
//
|
|
125
|
-
//
|
|
124
|
+
// "0x681a30beb23d2532f9413c09127525ae5e562da7aa89f9f3498bd121fef22065"; // NAVI-USDC
|
|
125
|
+
// // "0xa65eaadb556a80e4cb02fe35efebb2656d82d364897530f45dabc1e99d15a8a9"; // HASUI
|
|
126
|
+
// ("0x227226f22bd9e484e541005916904ca066db1d42b8a80351800ef37b26c6cd89"); // AUSD
|
|
127
|
+
// // "0xf43c62ca04c2f8d4583630872429ba6f5d8a7316ccb9552c86bb1fcf9dee3ce2"; // USDY
|
|
128
|
+
// if (
|
|
129
|
+
// events &&
|
|
130
|
+
// events.length > 0 &&
|
|
131
|
+
// events[0].investor_id === matchInvestor
|
|
132
|
+
// ) {
|
|
133
|
+
// console.log(
|
|
134
|
+
// "Compund Amount,Total Amount,GrowthRate,Timestamp,TimeDiff (Min)",
|
|
135
|
+
// );
|
|
136
|
+
// }
|
|
137
|
+
// if (
|
|
138
|
+
// events &&
|
|
139
|
+
// events.length > 0 &&
|
|
140
|
+
// events[0].investor_id === matchInvestor
|
|
141
|
+
// ) {
|
|
126
142
|
// console.log(
|
|
127
143
|
// "Compund A,Total A,Compound B,Total B,Freebalance A,Freebalance B,GrowthA,GrowthB,AvgGrowth,Timestamp,TimeDiff (Min)",
|
|
128
144
|
// );
|
|
129
145
|
// }
|
|
130
146
|
for (const event of events) {
|
|
147
|
+
// if (event.investor_id === matchInvestor) {
|
|
148
|
+
// console.log(event);
|
|
149
|
+
// }
|
|
131
150
|
// Calculate the time difference from the previous event
|
|
132
151
|
let timeDiff = event.timestamp - previousTimestamp; // / (1000 * 60 * 60 * 24);
|
|
133
152
|
// Calculate growth rate
|
|
@@ -225,6 +244,11 @@ export async function calculateAprForInvestor(events) {
|
|
|
225
244
|
const poolName = investorPoolMap.get(event.investor_id);
|
|
226
245
|
const coinName = poolCoinMap[poolName];
|
|
227
246
|
growthRate = growthRate * Math.pow(10, 9 - coins[coinName].expo);
|
|
247
|
+
// if (event.investor_id === matchInvestor) {
|
|
248
|
+
// console.log(
|
|
249
|
+
// `${event.compound_amount},${event.total_amount},${growthRate},${event.timestamp},${(event.timestamp - previousTimestamp) / (1000 * 60)}`,
|
|
250
|
+
// );
|
|
251
|
+
// }
|
|
228
252
|
}
|
|
229
253
|
// Accumulate the time-weighted growth
|
|
230
254
|
totalGrowth = (totalGrowth + 1) * (1 + growthRate) - 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchAutoCompoundingEvents.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchAutoCompoundingEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import { coins } from \"../../common/coins.js\";\nimport {\n getInvestorPoolMap,\n poolCoinMap,\n poolInfo,\n} from \"../../common/maps.js\";\nimport { PoolName, SingleAssetPoolNames } from \"../../common/types.js\";\nimport { fetchEvents } from \"./fetchEvents.js\";\nimport {\n AutoCompoundingEventNode,\n FetchAutoCompoundingEventsParams,\n //RebalanceEventNode,\n} from \"./types.js\";\n\nexport async function fetchAutoCompoundingEvents(\n params: FetchAutoCompoundingEventsParams,\n): Promise<AutoCompoundingEventNode[]> {\n const eventTypesSet = new Set<string>();\n // const rebalanceEventTypesSet = new Set<string>();\n if (params.poolNames) {\n params.poolNames.forEach((poolName) => {\n const eventType = poolInfo[poolName].autoCompoundingEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n });\n } else {\n // Iterate over all the values in poolInfo and add each autoCompoundingEventType to the Set\n Object.values(poolInfo).forEach((info) => {\n const eventType = info.autoCompoundingEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n });\n }\n // for rebalance\n // if (params.poolNames) {\n // params.poolNames.forEach((poolName) => {\n // const eventType = poolInfo[poolName].rebalanceEventType;\n // if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n // rebalanceEventTypesSet.add(eventType);\n // }\n // });\n // } else {\n // // Iterate over all the values in poolInfo and add each autoCompoundingEventType to the Set\n // Object.values(poolInfo).forEach((info) => {\n // const eventType = info.rebalanceEventType;\n // if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n // rebalanceEventTypesSet.add(eventType);\n // }\n // });\n // }\n\n const eventTypes = Array.from(eventTypesSet);\n // const rebalanceEventTypes = Array.from(rebalanceEventTypesSet);\n\n const eventsPromises = eventTypes.map(async (eventType) => {\n const events = (\n await fetchEvents({\n startTime: params.startTime,\n endTime: params.endTime,\n eventTypes: [eventType],\n })\n ).filter((e) => {\n if (params.poolNames) {\n return params.poolNames\n .map((poolName) => poolInfo[poolName].investorId)\n .includes((e as AutoCompoundingEventNode).investor_id);\n } else {\n return true;\n }\n });\n return events;\n });\n // const rebalanceEventsPromises = rebalanceEventTypes.map(async (eventType) => {\n // const events = (\n // await fetchEvents({\n // startTime: params.startTime,\n // endTime: params.endTime,\n // eventTypes: [eventType],\n // })\n // ).filter((e) => {\n // if (params.poolNames) {\n // return params.poolNames\n // .map((poolName) => poolInfo[poolName].investorId)\n // .includes((e as AutoCompoundingEventNode).investor_id);\n // } else {\n // return true;\n // }\n // });\n // return events;\n // });\n\n const events = (await Promise.all(eventsPromises)).flat();\n\n const autoCompoundingEvents = events.map((e) => {\n return e as AutoCompoundingEventNode;\n });\n\n // const rebalanceEvents = (await Promise.all(rebalanceEventsPromises)).flat();\n\n // const rebalancingEvents = rebalanceEvents.map((e) => {\n // return e as RebalanceEventNode;\n // });\n\n // const investorPoolMap = await getInvestorPoolMap();\n\n // for (const x of autoCompoundingEvents) {\n // if (\n // investorPoolMap.get(x.investor_id) &&\n // poolInfo[investorPoolMap.get(x.investor_id)!].parentProtocolName ==\n // \"CETUS\"\n // ) {\n // if (\n // \"total_amount_a\" in x &&\n // x.total_amount_a == 0n &&\n // x.total_amount_b == 0n\n // ) {\n // for (const y of rebalancingEvents) {\n // if (y.investor_id == x.investor_id && y.timestamp == x.timestamp) {\n // // works if its guaranteed that for one timestamp there is only one rebalance for one pool\n // x.total_amount_a = BigInt(y.amount_a_before);\n // x.total_amount_b = BigInt(y.amount_b_before);\n // }\n // }\n // }\n // }\n // }\n\n return autoCompoundingEvents;\n}\n\nexport async function calculateAprForInvestor(\n events: AutoCompoundingEventNode[],\n): Promise<number> {\n let totalGrowth = 0;\n let totalTimeSpan = 0;\n let apr = 0;\n\n try {\n // Sort events by timestamp to process them in order\n events.sort((a, b) => a.timestamp - b.timestamp);\n\n let previousTimestamp = events[0].timestamp; // Start with the timestamp of the first event\n let previousGrowthRate = 0;\n let previousTimeDiff = 0;\n let prevCompoundA = 0n;\n let prevCompoundB = 0n;\n\n const investorPoolMap = await getInvestorPoolMap();\n\n // const matchInvestor =\n // \"0x05fa099d1df7b5bfb2e420d5ee2d63508db17c40ce7c4e0ca0305cd5df974e43\";\n // if (events && events.length > 0 && events[0].investor_id === matchInvestor) {\n // console.log(\n // \"Compund A,Total A,Compound B,Total B,Freebalance A,Freebalance B,GrowthA,GrowthB,AvgGrowth,Timestamp,TimeDiff (Min)\",\n // );\n // }\n for (const event of events) {\n // Calculate the time difference from the previous event\n let timeDiff = event.timestamp - previousTimestamp; // / (1000 * 60 * 60 * 24);\n\n // Calculate growth rate\n let growthRate = 0;\n if (\"total_amount_a\" in event && \"total_amount_b\" in event) {\n let growthA = 0;\n let growthB = 0;\n\n if (Number(event.total_amount_a) === 0) {\n prevCompoundA += event.compound_amount_a;\n } else {\n prevCompoundA = 0n;\n }\n if (prevCompoundA > 0n) {\n growthA =\n Number(event.total_amount_a) === 0\n ? 0\n : Number(event.compound_amount_a + prevCompoundA) /\n Number(event.total_amount_a - prevCompoundA);\n } else {\n growthA =\n Number(event.total_amount_a) === 0\n ? 0\n : Number(event.compound_amount_a) / Number(event.total_amount_a);\n }\n\n if (Number(event.total_amount_b) === 0) {\n prevCompoundB += event.compound_amount_b;\n } else {\n prevCompoundB = 0n;\n }\n\n if (prevCompoundB > 0n) {\n growthB =\n Number(event.total_amount_b) == 0\n ? 0\n : Number(event.compound_amount_b + prevCompoundB) /\n Number(event.total_amount_b - prevCompoundB);\n } else {\n growthB =\n Number(event.total_amount_b) == 0\n ? 0\n : Number(event.compound_amount_b) / Number(event.total_amount_b);\n }\n\n // if (\n // event.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // timeDiff / (1000 * 60),\n // event.timestamp,\n // event.timestamp - previousTimestamp,\n // );\n // }\n // if (\n // event.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // event.compound_amount_a,\n // event.total_amount_a,\n // growthA,\n // event.compound_amount_b,\n // event.total_amount_b,\n // growthB,\n // );\n // }\n growthRate = (growthA + growthB) / 2; // Averaging growth rates for token A and B\n // if (event.investor_id === matchInvestor) {\n // console.log(\n // `${event.compound_amount_a},${event.total_amount_a},${event.compound_amount_b},${event.total_amount_b},${event.free_balance_a},${event.free_balance_b},${growthA},${growthB},${growthRate},${event.timestamp},${(event.timestamp - previousTimestamp) / (1000 * 60)}`,\n // );\n // }\n if (Math.abs(growthA - growthB) > 0.5) {\n // skip row, fill with previous event\n growthRate = previousGrowthRate;\n timeDiff = previousTimeDiff;\n }\n if (growthRate > 0.005) {\n growthRate = 0;\n }\n } else if (\"total_amount\" in event) {\n let compoundAmount: number = Number(event.compound_amount);\n let totalAmount: number = Number(event.total_amount);\n if (\"cur_total_debt\" in event && \"accrued_interest\" in event) {\n compoundAmount = Number(\n event.compound_amount - event.accrued_interest,\n );\n totalAmount = Number(event.total_amount - event.cur_total_debt);\n }\n // NaviAutoCompoundingEvent\n growthRate = isNaN(compoundAmount / totalAmount)\n ? 0\n : compoundAmount / totalAmount;\n const poolName = investorPoolMap.get(\n event.investor_id,\n ) as SingleAssetPoolNames;\n const coinName = poolCoinMap[poolName];\n\n growthRate = growthRate * Math.pow(10, 9 - coins[coinName].expo);\n }\n\n // Accumulate the time-weighted growth\n totalGrowth = (totalGrowth + 1) * (1 + growthRate) - 1;\n previousGrowthRate = growthRate;\n\n // Accumulate the total time span\n totalTimeSpan += timeDiff;\n previousTimeDiff = timeDiff;\n\n // Update the previous timestamp to the current event's timestamp\n previousTimestamp = event.timestamp;\n }\n\n apr = (totalGrowth / totalTimeSpan) * (1000 * 60 * 60 * 24 * 365) * 100;\n } catch (error) {\n console.error(\"Error calculating apr from events.\", error);\n if (events.length > 0) {\n console.error(\"Investor-ID: \", events[0].investor_id);\n }\n }\n\n return apr;\n}\n\nasync function calculateAprForInvestors(\n events: AutoCompoundingEventNode[],\n): Promise<Record<string, number>> {\n const investorEvents: Record<string, AutoCompoundingEventNode[]> = {};\n\n // Step 1: Segregate events by investor_id\n for (const event of events) {\n const investorId = event.investor_id;\n if (!investorEvents[investorId]) {\n investorEvents[investorId] = [];\n }\n investorEvents[investorId].push(event);\n }\n\n // Step 2: Calculate APR for each event and aggregate for each investor\n const aprPromises: Promise<{ investorId: string; apr: number }>[] = [];\n\n for (const investorId in investorEvents) {\n const investorEventList = investorEvents[investorId];\n // Push a promise that resolves to an object containing the investorId and the corresponding APR\n aprPromises.push(\n calculateAprForInvestor(investorEventList).then((apr) => ({\n investorId,\n apr,\n })),\n );\n }\n\n // Resolve all promises and map them to the corresponding APR\n const aprs = await Promise.all(aprPromises);\n\n // Convert the array of results into an object mapping investorId to APR\n const aprMap = aprs.reduce(\n (map, result) => {\n map[result.investorId] = result.apr;\n return map;\n },\n {} as Record<string, number>,\n );\n\n return aprMap;\n}\n\nexport async function calculateAprForPools(\n events: AutoCompoundingEventNode[],\n): Promise<Record<PoolName, number>> {\n const aprMap: Record<string, number> = {};\n const investorPoolNameMap = await getInvestorPoolMap();\n const investorAprMap = await calculateAprForInvestors(events);\n for (const investorId in investorAprMap) {\n const poolName = investorPoolNameMap.get(investorId);\n if (poolName) {\n aprMap[poolName] = investorAprMap[investorId];\n }\n }\n return aprMap;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"fetchAutoCompoundingEvents.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchAutoCompoundingEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import { coins } from \"../../common/coins.js\";\nimport {\n getInvestorPoolMap,\n poolCoinMap,\n poolInfo,\n} from \"../../common/maps.js\";\nimport { PoolName, SingleAssetPoolNames } from \"../../common/types.js\";\nimport { fetchEvents } from \"./fetchEvents.js\";\nimport {\n AutoCompoundingEventNode,\n FetchAutoCompoundingEventsParams,\n //RebalanceEventNode,\n} from \"./types.js\";\n\nexport async function fetchAutoCompoundingEvents(\n params: FetchAutoCompoundingEventsParams,\n): Promise<AutoCompoundingEventNode[]> {\n const eventTypesSet = new Set<string>();\n // const rebalanceEventTypesSet = new Set<string>();\n if (params.poolNames) {\n params.poolNames.forEach((poolName) => {\n const eventType = poolInfo[poolName].autoCompoundingEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n });\n } else {\n // Iterate over all the values in poolInfo and add each autoCompoundingEventType to the Set\n Object.values(poolInfo).forEach((info) => {\n const eventType = info.autoCompoundingEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n });\n }\n // for rebalance\n // if (params.poolNames) {\n // params.poolNames.forEach((poolName) => {\n // const eventType = poolInfo[poolName].rebalanceEventType;\n // if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n // rebalanceEventTypesSet.add(eventType);\n // }\n // });\n // } else {\n // // Iterate over all the values in poolInfo and add each autoCompoundingEventType to the Set\n // Object.values(poolInfo).forEach((info) => {\n // const eventType = info.rebalanceEventType;\n // if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n // rebalanceEventTypesSet.add(eventType);\n // }\n // });\n // }\n\n const eventTypes = Array.from(eventTypesSet);\n // const rebalanceEventTypes = Array.from(rebalanceEventTypesSet);\n\n const eventsPromises = eventTypes.map(async (eventType) => {\n const events = (\n await fetchEvents({\n startTime: params.startTime,\n endTime: params.endTime,\n eventTypes: [eventType],\n })\n ).filter((e) => {\n if (params.poolNames) {\n return params.poolNames\n .map((poolName) => poolInfo[poolName].investorId)\n .includes((e as AutoCompoundingEventNode).investor_id);\n } else {\n return true;\n }\n });\n return events;\n });\n // const rebalanceEventsPromises = rebalanceEventTypes.map(async (eventType) => {\n // const events = (\n // await fetchEvents({\n // startTime: params.startTime,\n // endTime: params.endTime,\n // eventTypes: [eventType],\n // })\n // ).filter((e) => {\n // if (params.poolNames) {\n // return params.poolNames\n // .map((poolName) => poolInfo[poolName].investorId)\n // .includes((e as AutoCompoundingEventNode).investor_id);\n // } else {\n // return true;\n // }\n // });\n // return events;\n // });\n\n const events = (await Promise.all(eventsPromises)).flat();\n\n const autoCompoundingEvents = events.map((e) => {\n return e as AutoCompoundingEventNode;\n });\n\n // const rebalanceEvents = (await Promise.all(rebalanceEventsPromises)).flat();\n\n // const rebalancingEvents = rebalanceEvents.map((e) => {\n // return e as RebalanceEventNode;\n // });\n\n // const investorPoolMap = await getInvestorPoolMap();\n\n // for (const x of autoCompoundingEvents) {\n // if (\n // investorPoolMap.get(x.investor_id) &&\n // poolInfo[investorPoolMap.get(x.investor_id)!].parentProtocolName ==\n // \"CETUS\"\n // ) {\n // if (\n // \"total_amount_a\" in x &&\n // x.total_amount_a == 0n &&\n // x.total_amount_b == 0n\n // ) {\n // for (const y of rebalancingEvents) {\n // if (y.investor_id == x.investor_id && y.timestamp == x.timestamp) {\n // // works if its guaranteed that for one timestamp there is only one rebalance for one pool\n // x.total_amount_a = BigInt(y.amount_a_before);\n // x.total_amount_b = BigInt(y.amount_b_before);\n // }\n // }\n // }\n // }\n // }\n\n return autoCompoundingEvents;\n}\n\nexport async function calculateAprForInvestor(\n events: AutoCompoundingEventNode[],\n): Promise<number> {\n let totalGrowth = 0;\n let totalTimeSpan = 0;\n let apr = 0;\n\n try {\n // Sort events by timestamp to process them in order\n events.sort((a, b) => a.timestamp - b.timestamp);\n\n let previousTimestamp = events[0].timestamp; // Start with the timestamp of the first event\n let previousGrowthRate = 0;\n let previousTimeDiff = 0;\n let prevCompoundA = 0n;\n let prevCompoundB = 0n;\n\n const investorPoolMap = await getInvestorPoolMap();\n\n // const matchInvestor =\n // \"0x681a30beb23d2532f9413c09127525ae5e562da7aa89f9f3498bd121fef22065\"; // NAVI-USDC\n // // \"0xa65eaadb556a80e4cb02fe35efebb2656d82d364897530f45dabc1e99d15a8a9\"; // HASUI\n // (\"0x227226f22bd9e484e541005916904ca066db1d42b8a80351800ef37b26c6cd89\"); // AUSD\n // // \"0xf43c62ca04c2f8d4583630872429ba6f5d8a7316ccb9552c86bb1fcf9dee3ce2\"; // USDY\n // if (\n // events &&\n // events.length > 0 &&\n // events[0].investor_id === matchInvestor\n // ) {\n // console.log(\n // \"Compund Amount,Total Amount,GrowthRate,Timestamp,TimeDiff (Min)\",\n // );\n // }\n // if (\n // events &&\n // events.length > 0 &&\n // events[0].investor_id === matchInvestor\n // ) {\n // console.log(\n // \"Compund A,Total A,Compound B,Total B,Freebalance A,Freebalance B,GrowthA,GrowthB,AvgGrowth,Timestamp,TimeDiff (Min)\",\n // );\n // }\n for (const event of events) {\n // if (event.investor_id === matchInvestor) {\n // console.log(event);\n // }\n // Calculate the time difference from the previous event\n let timeDiff = event.timestamp - previousTimestamp; // / (1000 * 60 * 60 * 24);\n\n // Calculate growth rate\n let growthRate = 0;\n if (\"total_amount_a\" in event && \"total_amount_b\" in event) {\n let growthA = 0;\n let growthB = 0;\n\n if (Number(event.total_amount_a) === 0) {\n prevCompoundA += event.compound_amount_a;\n } else {\n prevCompoundA = 0n;\n }\n if (prevCompoundA > 0n) {\n growthA =\n Number(event.total_amount_a) === 0\n ? 0\n : Number(event.compound_amount_a + prevCompoundA) /\n Number(event.total_amount_a - prevCompoundA);\n } else {\n growthA =\n Number(event.total_amount_a) === 0\n ? 0\n : Number(event.compound_amount_a) / Number(event.total_amount_a);\n }\n\n if (Number(event.total_amount_b) === 0) {\n prevCompoundB += event.compound_amount_b;\n } else {\n prevCompoundB = 0n;\n }\n\n if (prevCompoundB > 0n) {\n growthB =\n Number(event.total_amount_b) == 0\n ? 0\n : Number(event.compound_amount_b + prevCompoundB) /\n Number(event.total_amount_b - prevCompoundB);\n } else {\n growthB =\n Number(event.total_amount_b) == 0\n ? 0\n : Number(event.compound_amount_b) / Number(event.total_amount_b);\n }\n\n // if (\n // event.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // timeDiff / (1000 * 60),\n // event.timestamp,\n // event.timestamp - previousTimestamp,\n // );\n // }\n // if (\n // event.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // event.compound_amount_a,\n // event.total_amount_a,\n // growthA,\n // event.compound_amount_b,\n // event.total_amount_b,\n // growthB,\n // );\n // }\n growthRate = (growthA + growthB) / 2; // Averaging growth rates for token A and B\n // if (event.investor_id === matchInvestor) {\n // console.log(\n // `${event.compound_amount_a},${event.total_amount_a},${event.compound_amount_b},${event.total_amount_b},${event.free_balance_a},${event.free_balance_b},${growthA},${growthB},${growthRate},${event.timestamp},${(event.timestamp - previousTimestamp) / (1000 * 60)}`,\n // );\n // }\n if (Math.abs(growthA - growthB) > 0.5) {\n // skip row, fill with previous event\n growthRate = previousGrowthRate;\n timeDiff = previousTimeDiff;\n }\n if (growthRate > 0.005) {\n growthRate = 0;\n }\n } else if (\"total_amount\" in event) {\n let compoundAmount: number = Number(event.compound_amount);\n let totalAmount: number = Number(event.total_amount);\n if (\"cur_total_debt\" in event && \"accrued_interest\" in event) {\n compoundAmount = Number(\n event.compound_amount - event.accrued_interest,\n );\n totalAmount = Number(event.total_amount - event.cur_total_debt);\n }\n // NaviAutoCompoundingEvent\n growthRate = isNaN(compoundAmount / totalAmount)\n ? 0\n : compoundAmount / totalAmount;\n const poolName = investorPoolMap.get(\n event.investor_id,\n ) as SingleAssetPoolNames;\n const coinName = poolCoinMap[poolName];\n\n growthRate = growthRate * Math.pow(10, 9 - coins[coinName].expo);\n // if (event.investor_id === matchInvestor) {\n // console.log(\n // `${event.compound_amount},${event.total_amount},${growthRate},${event.timestamp},${(event.timestamp - previousTimestamp) / (1000 * 60)}`,\n // );\n // }\n }\n\n // Accumulate the time-weighted growth\n totalGrowth = (totalGrowth + 1) * (1 + growthRate) - 1;\n previousGrowthRate = growthRate;\n\n // Accumulate the total time span\n totalTimeSpan += timeDiff;\n previousTimeDiff = timeDiff;\n\n // Update the previous timestamp to the current event's timestamp\n previousTimestamp = event.timestamp;\n }\n\n apr = (totalGrowth / totalTimeSpan) * (1000 * 60 * 60 * 24 * 365) * 100;\n } catch (error) {\n console.error(\"Error calculating apr from events.\", error);\n if (events.length > 0) {\n console.error(\"Investor-ID: \", events[0].investor_id);\n }\n }\n\n return apr;\n}\n\nasync function calculateAprForInvestors(\n events: AutoCompoundingEventNode[],\n): Promise<Record<string, number>> {\n const investorEvents: Record<string, AutoCompoundingEventNode[]> = {};\n\n // Step 1: Segregate events by investor_id\n for (const event of events) {\n const investorId = event.investor_id;\n if (!investorEvents[investorId]) {\n investorEvents[investorId] = [];\n }\n investorEvents[investorId].push(event);\n }\n\n // Step 2: Calculate APR for each event and aggregate for each investor\n const aprPromises: Promise<{ investorId: string; apr: number }>[] = [];\n\n for (const investorId in investorEvents) {\n const investorEventList = investorEvents[investorId];\n // Push a promise that resolves to an object containing the investorId and the corresponding APR\n aprPromises.push(\n calculateAprForInvestor(investorEventList).then((apr) => ({\n investorId,\n apr,\n })),\n );\n }\n\n // Resolve all promises and map them to the corresponding APR\n const aprs = await Promise.all(aprPromises);\n\n // Convert the array of results into an object mapping investorId to APR\n const aprMap = aprs.reduce(\n (map, result) => {\n map[result.investorId] = result.apr;\n return map;\n },\n {} as Record<string, number>,\n );\n\n return aprMap;\n}\n\nexport async function calculateAprForPools(\n events: AutoCompoundingEventNode[],\n): Promise<Record<PoolName, number>> {\n const aprMap: Record<string, number> = {};\n const investorPoolNameMap = await getInvestorPoolMap();\n const investorAprMap = await calculateAprForInvestors(events);\n for (const investorId in investorAprMap) {\n const poolName = investorPoolNameMap.get(investorId);\n if (poolName) {\n aprMap[poolName] = investorAprMap[investorId];\n }\n }\n return aprMap;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchEvents.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,SAAS,EACT,iBAAiB,
|
|
1
|
+
{"version":3,"file":"fetchEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchEvents.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,SAAS,EACT,iBAAiB,EASlB,MAAM,YAAY,CAAC;AAIpB,wBAAsB,WAAW,CAC/B,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,SAAS,EAAE,CAAC,CAgOtB"}
|
|
@@ -138,7 +138,8 @@ export async function fetchEvents(params) {
|
|
|
138
138
|
}
|
|
139
139
|
else if (isLiquidityChangeEvent(suiEvent.type) &&
|
|
140
140
|
"amount" in suiEventJson &&
|
|
141
|
-
!("investor_id" in suiEventJson)
|
|
141
|
+
!("investor_id" in suiEventJson) &&
|
|
142
|
+
!("amount_withdrawn_from_locked" in suiEventJson)) {
|
|
142
143
|
// Handling NaviLiquidityChangeEvent and AlphaLiquidityChangeEvent
|
|
143
144
|
eventNode = {
|
|
144
145
|
type: suiEvent.type,
|
|
@@ -153,6 +154,24 @@ export async function fetchEvents(params) {
|
|
|
153
154
|
x_token_supply: suiEventJson.x_token_supply,
|
|
154
155
|
};
|
|
155
156
|
}
|
|
157
|
+
else if (isWithdrawV2Event(suiEvent.type) &&
|
|
158
|
+
"amount_withdrawn_from_locked" in suiEventJson) {
|
|
159
|
+
// Handling Alpha WithdrawV2 Events
|
|
160
|
+
eventNode = {
|
|
161
|
+
type: suiEvent.type,
|
|
162
|
+
timestamp: Number(suiEvent.timestampMs),
|
|
163
|
+
amount: suiEventJson.amount,
|
|
164
|
+
amount_withdrawn_from_locked: suiEventJson.amount_withdrawn_from_locked,
|
|
165
|
+
amount_withdrawn_from_unlocked: suiEventJson.amount_withdrawn_from_unlocked,
|
|
166
|
+
fee_collected: suiEventJson.fee_collected,
|
|
167
|
+
instant_withdraw_fee_collected: suiEventJson.instant_withdraw_fee_collected,
|
|
168
|
+
pool_id: suiEventJson.pool_id,
|
|
169
|
+
sender: suiEventJson.sender,
|
|
170
|
+
tokens_invested: suiEventJson.tokens_invested,
|
|
171
|
+
user_total_x_token_balance: suiEventJson.user_total_x_token_balance,
|
|
172
|
+
x_token_supply: suiEventJson.x_token_supply,
|
|
173
|
+
};
|
|
174
|
+
}
|
|
156
175
|
else {
|
|
157
176
|
throw new Error("Unknown event type");
|
|
158
177
|
}
|
|
@@ -189,4 +208,12 @@ const isLiquidityChangeEvent = (eventType) => {
|
|
|
189
208
|
});
|
|
190
209
|
return eventTypes.includes(eventType);
|
|
191
210
|
};
|
|
211
|
+
const isWithdrawV2Event = (eventType) => {
|
|
212
|
+
const eventTypes = Object.values(poolInfo)
|
|
213
|
+
.map((info) => {
|
|
214
|
+
return info.withdrawV2Event;
|
|
215
|
+
})
|
|
216
|
+
.filter((type) => type !== undefined);
|
|
217
|
+
return eventTypes.includes(eventType);
|
|
218
|
+
};
|
|
192
219
|
//# sourceMappingURL=fetchEvents.js.map
|