@alphafi/alphafi-sdk 0.0.48 → 0.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/cjs/common/constants.d.ts +20 -2
  2. package/dist/cjs/common/constants.d.ts.map +1 -1
  3. package/dist/cjs/common/constants.js +34 -17
  4. package/dist/cjs/common/constants.js.map +1 -1
  5. package/dist/cjs/common/maps.d.ts.map +1 -1
  6. package/dist/cjs/common/maps.js +18 -0
  7. package/dist/cjs/common/maps.js.map +1 -1
  8. package/dist/cjs/common/types.d.ts +2 -2
  9. package/dist/cjs/common/types.d.ts.map +1 -1
  10. package/dist/cjs/common/types.js.map +1 -1
  11. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -1
  12. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js +35 -2
  13. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -1
  14. package/dist/cjs/sui-sdk/events/fetchEvents.d.ts.map +1 -1
  15. package/dist/cjs/sui-sdk/events/fetchEvents.js +29 -0
  16. package/dist/cjs/sui-sdk/events/fetchEvents.js.map +1 -1
  17. package/dist/cjs/sui-sdk/events/types.d.ts +11 -1
  18. package/dist/cjs/sui-sdk/events/types.d.ts.map +1 -1
  19. package/dist/cjs/sui-sdk/events/types.js.map +1 -1
  20. package/dist/cjs/transactions/blueRewards.d.ts.map +1 -1
  21. package/dist/cjs/transactions/blueRewards.js +52 -5
  22. package/dist/cjs/transactions/blueRewards.js.map +1 -1
  23. package/dist/cjs/transactions/bluefin.d.ts.map +1 -1
  24. package/dist/cjs/transactions/bluefin.js +152 -97
  25. package/dist/cjs/transactions/bluefin.js.map +1 -1
  26. package/dist/esm/common/constants.d.ts +20 -2
  27. package/dist/esm/common/constants.d.ts.map +1 -1
  28. package/dist/esm/common/constants.js +34 -17
  29. package/dist/esm/common/constants.js.map +1 -1
  30. package/dist/esm/common/maps.d.ts.map +1 -1
  31. package/dist/esm/common/maps.js +18 -0
  32. package/dist/esm/common/maps.js.map +1 -1
  33. package/dist/esm/common/types.d.ts +2 -2
  34. package/dist/esm/common/types.d.ts.map +1 -1
  35. package/dist/esm/common/types.js.map +1 -1
  36. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -1
  37. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js +36 -3
  38. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -1
  39. package/dist/esm/sui-sdk/events/fetchEvents.d.ts.map +1 -1
  40. package/dist/esm/sui-sdk/events/fetchEvents.js +29 -0
  41. package/dist/esm/sui-sdk/events/fetchEvents.js.map +1 -1
  42. package/dist/esm/sui-sdk/events/types.d.ts +11 -1
  43. package/dist/esm/sui-sdk/events/types.d.ts.map +1 -1
  44. package/dist/esm/sui-sdk/events/types.js.map +1 -1
  45. package/dist/esm/transactions/blueRewards.d.ts.map +1 -1
  46. package/dist/esm/transactions/blueRewards.js +53 -6
  47. package/dist/esm/transactions/blueRewards.js.map +1 -1
  48. package/dist/esm/transactions/bluefin.d.ts.map +1 -1
  49. package/dist/esm/transactions/bluefin.js +152 -97
  50. package/dist/esm/transactions/bluefin.js.map +1 -1
  51. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  import BN from "bn.js";
2
2
  export type SuiNetwork = "mainnet" | "testnet" | "devnet" | "localnet";
3
- export type PoolName = "ALPHA" | "HASUI-SUI" | "USDY-WUSDC" | "ALPHA-SUI" | "USDT-WUSDC" | "WUSDC-SUI" | "WUSDC-WBTC" | "WETH-WUSDC" | "NAVX-SUI" | "BUCK-WUSDC" | "CETUS-SUI" | "NAVI-SUI" | "NAVI-VSUI" | "NAVI-WETH" | "NAVI-USDT" | "NAVI-WUSDC" | "NAVI-HASUI" | "NAVI-LOOP-SUI-VSUI" | "ALPHA-WUSDC" | "WSOL-WUSDC" | "FUD-SUI" | "BLUB-SUI" | "SCA-SUI" | "NAVI-LOOP-USDC-USDT" | "NAVI-USDC" | "USDC-SUI" | "USDC-USDT" | "ALPHA-USDC" | "USDC-WUSDC" | "BUCKET-BUCK" | "USDC-ETH" | "DEEP-SUI" | "BUCK-SUI" | "NAVI-USDY" | "NAVI-AUSD" | "NAVI-ETH" | "NAVI-LOOP-HASUI-SUI" | "BLUEFIN-SUI-USDC" | "BLUEFIN-USDT-USDC" | "NAVI-LOOP-USDT-USDC" | "BLUEFIN-SUI-BUCK" | "BLUEFIN-AUSD-USDC" | "NAVI-NS" | "BLUEFIN-SUI-AUSD" | "BLUEFIN-ALPHA-USDC" | "BLUEFIN-WBTC-USDC" | "BLUEFIN-NAVX-VSUI" | "NAVI-NAVX" | "BLUEFIN-BLUE-SUI" | "BLUEFIN-BLUE-USDC" | "BLUEFIN-SEND-USDC" | "BLUEFIN-WBTC-SUI" | "BLUEFIN-DEEP-SUI" | "BLUEFIN-STSUI-SUI" | "BLUEFIN-STSUI-USDC" | "BLUEFIN-STSUI-ETH" | "BLUEFIN-STSUI-WSOL" | "BLUEFIN-ALPHA-STSUI" | "BLUEFIN-AUTOBALANCE-USDT-USDC";
3
+ export type PoolName = "ALPHA" | "HASUI-SUI" | "USDY-WUSDC" | "ALPHA-SUI" | "USDT-WUSDC" | "WUSDC-SUI" | "WUSDC-WBTC" | "WETH-WUSDC" | "NAVX-SUI" | "BUCK-WUSDC" | "CETUS-SUI" | "NAVI-SUI" | "NAVI-VSUI" | "NAVI-WETH" | "NAVI-USDT" | "NAVI-WUSDC" | "NAVI-HASUI" | "NAVI-LOOP-SUI-VSUI" | "ALPHA-WUSDC" | "WSOL-WUSDC" | "FUD-SUI" | "BLUB-SUI" | "SCA-SUI" | "NAVI-LOOP-USDC-USDT" | "NAVI-USDC" | "USDC-SUI" | "USDC-USDT" | "ALPHA-USDC" | "USDC-WUSDC" | "BUCKET-BUCK" | "USDC-ETH" | "DEEP-SUI" | "BUCK-SUI" | "NAVI-USDY" | "NAVI-AUSD" | "NAVI-ETH" | "NAVI-LOOP-HASUI-SUI" | "BLUEFIN-SUI-USDC" | "BLUEFIN-USDT-USDC" | "NAVI-LOOP-USDT-USDC" | "BLUEFIN-SUI-BUCK" | "BLUEFIN-AUSD-USDC" | "NAVI-NS" | "BLUEFIN-SUI-AUSD" | "BLUEFIN-ALPHA-USDC" | "BLUEFIN-WBTC-USDC" | "BLUEFIN-NAVX-VSUI" | "NAVI-NAVX" | "BLUEFIN-BLUE-SUI" | "BLUEFIN-BLUE-USDC" | "BLUEFIN-SEND-USDC" | "BLUEFIN-WBTC-SUI" | "BLUEFIN-DEEP-SUI" | "BLUEFIN-STSUI-SUI" | "BLUEFIN-STSUI-USDC" | "BLUEFIN-STSUI-ETH" | "BLUEFIN-STSUI-WSOL" | "BLUEFIN-ALPHA-STSUI" | "BLUEFIN-AUTOBALANCE-USDT-USDC" | "BLUEFIN-AUTOBALANCE-SUI-USDC";
4
4
  export type SingleAssetPoolNames = "ALPHA" | "NAVI-SUI" | "NAVI-VSUI" | "NAVI-WETH" | "NAVI-USDT" | "NAVI-WUSDC" | "NAVI-HASUI" | "NAVI-LOOP-SUI-VSUI" | "NAVI-LOOP-USDC-USDT" | "NAVI-USDC" | "BUCKET-BUCK" | "NAVI-USDY" | "NAVI-AUSD" | "NAVI-ETH" | "NAVI-LOOP-HASUI-SUI" | "NAVI-LOOP-USDT-USDC" | "NAVI-NS" | "NAVI-NAVX";
5
- export type DoubleAssetPoolNames = "HASUI-SUI" | "USDY-WUSDC" | "ALPHA-SUI" | "ALPHA-WUSDC" | "USDT-WUSDC" | "WUSDC-SUI" | "WUSDC-WBTC" | "WETH-WUSDC" | "NAVX-SUI" | "BUCK-WUSDC" | "CETUS-SUI" | "WSOL-WUSDC" | "FUD-SUI" | "BLUB-SUI" | "SCA-SUI" | "USDC-SUI" | "USDC-USDT" | "ALPHA-USDC" | "USDC-WUSDC" | "USDC-ETH" | "DEEP-SUI" | "BUCK-SUI" | "BLUEFIN-SUI-USDC" | "BLUEFIN-USDT-USDC" | "BLUEFIN-SUI-BUCK" | "BLUEFIN-AUSD-USDC" | "BLUEFIN-SUI-AUSD" | "BLUEFIN-ALPHA-USDC" | "BLUEFIN-WBTC-USDC" | "BLUEFIN-NAVX-VSUI" | "BLUEFIN-BLUE-SUI" | "BLUEFIN-BLUE-USDC" | "BLUEFIN-SEND-USDC" | "BLUEFIN-WBTC-SUI" | "BLUEFIN-DEEP-SUI" | "BLUEFIN-STSUI-SUI" | "BLUEFIN-STSUI-USDC" | "BLUEFIN-STSUI-ETH" | "BLUEFIN-STSUI-WSOL" | "BLUEFIN-ALPHA-STSUI" | "BLUEFIN-AUTOBALANCE-USDT-USDC";
5
+ export type DoubleAssetPoolNames = "HASUI-SUI" | "USDY-WUSDC" | "ALPHA-SUI" | "ALPHA-WUSDC" | "USDT-WUSDC" | "WUSDC-SUI" | "WUSDC-WBTC" | "WETH-WUSDC" | "NAVX-SUI" | "BUCK-WUSDC" | "CETUS-SUI" | "WSOL-WUSDC" | "FUD-SUI" | "BLUB-SUI" | "SCA-SUI" | "USDC-SUI" | "USDC-USDT" | "ALPHA-USDC" | "USDC-WUSDC" | "USDC-ETH" | "DEEP-SUI" | "BUCK-SUI" | "BLUEFIN-SUI-USDC" | "BLUEFIN-USDT-USDC" | "BLUEFIN-SUI-BUCK" | "BLUEFIN-AUSD-USDC" | "BLUEFIN-SUI-AUSD" | "BLUEFIN-ALPHA-USDC" | "BLUEFIN-WBTC-USDC" | "BLUEFIN-NAVX-VSUI" | "BLUEFIN-BLUE-SUI" | "BLUEFIN-BLUE-USDC" | "BLUEFIN-SEND-USDC" | "BLUEFIN-WBTC-SUI" | "BLUEFIN-DEEP-SUI" | "BLUEFIN-STSUI-SUI" | "BLUEFIN-STSUI-USDC" | "BLUEFIN-STSUI-ETH" | "BLUEFIN-STSUI-WSOL" | "BLUEFIN-ALPHA-STSUI" | "BLUEFIN-AUTOBALANCE-USDT-USDC" | "BLUEFIN-AUTOBALANCE-SUI-USDC";
6
6
  export type CoinName = "ALPHA" | "SUI" | "WUSDC" | "USDC" | "USDT" | "VSUI" | "NAVX" | "SCA" | "CETUS" | "AFSUI" | "WETH" | "APT" | "WSOL" | "SLP" | "WBTC" | "CELO" | "TURBOS" | "HASUI" | "USDY" | "BUCK" | "FUD" | "BLUB" | "ETH" | "DEEP" | "AUSD" | "NS" | "BLUE" | "SEND" | "STSUI";
7
7
  export type StrategyType = "LOOPING" | "STABLE" | "STAKING" | "LIQUIDITY-POOL" | "LENDING" | "LIQUID-STAKING";
8
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":";;AACA,iDAAgD;AAwPhD,MAAM,sBAAsB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,uBAAuB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,uBAAuB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,kBAAkB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,kBAAkB,CAAC;AAC7D,MAAM,sBAAsB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,sBAAsB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,uBAAuB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,uBAAuB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,qBAAqB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB,CAAC;AACnE,MAAM,sBAAsB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,qBAAqB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB,CAAC;AACnE,MAAM,sBAAsB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,sBAAsB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,uBAAuB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,sBAAsB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,wBAAwB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB,CAAC","sourcesContent":["import BN from \"bn.js\";\nimport { conf, CONF_ENV } from \"./constants.js\";\n\nexport type SuiNetwork = \"mainnet\" | \"testnet\" | \"devnet\" | \"localnet\";\n\nexport type PoolName =\n | \"ALPHA\"\n | \"HASUI-SUI\"\n | \"USDY-WUSDC\"\n | \"ALPHA-SUI\"\n | \"USDT-WUSDC\"\n | \"WUSDC-SUI\"\n | \"WUSDC-WBTC\"\n | \"WETH-WUSDC\"\n | \"NAVX-SUI\"\n | \"BUCK-WUSDC\"\n | \"CETUS-SUI\"\n | \"NAVI-SUI\"\n | \"NAVI-VSUI\"\n | \"NAVI-WETH\"\n | \"NAVI-USDT\"\n | \"NAVI-WUSDC\"\n | \"NAVI-HASUI\"\n | \"NAVI-LOOP-SUI-VSUI\"\n | \"ALPHA-WUSDC\"\n | \"WSOL-WUSDC\"\n | \"FUD-SUI\"\n | \"BLUB-SUI\"\n | \"SCA-SUI\"\n | \"NAVI-LOOP-USDC-USDT\"\n | \"NAVI-USDC\"\n | \"USDC-SUI\"\n | \"USDC-USDT\"\n | \"ALPHA-USDC\"\n | \"USDC-WUSDC\"\n | \"BUCKET-BUCK\"\n | \"USDC-ETH\"\n | \"DEEP-SUI\"\n | \"BUCK-SUI\"\n | \"NAVI-USDY\"\n | \"NAVI-AUSD\"\n | \"NAVI-ETH\"\n | \"NAVI-LOOP-HASUI-SUI\"\n | \"BLUEFIN-SUI-USDC\"\n | \"BLUEFIN-USDT-USDC\"\n | \"NAVI-LOOP-USDT-USDC\"\n | \"BLUEFIN-SUI-BUCK\"\n | \"BLUEFIN-AUSD-USDC\"\n | \"NAVI-NS\"\n | \"BLUEFIN-SUI-AUSD\"\n | \"BLUEFIN-ALPHA-USDC\"\n | \"BLUEFIN-WBTC-USDC\"\n | \"BLUEFIN-NAVX-VSUI\"\n | \"NAVI-NAVX\"\n | \"BLUEFIN-BLUE-SUI\"\n | \"BLUEFIN-BLUE-USDC\"\n | \"BLUEFIN-SEND-USDC\"\n | \"BLUEFIN-WBTC-SUI\"\n | \"BLUEFIN-DEEP-SUI\"\n | \"BLUEFIN-STSUI-SUI\"\n | \"BLUEFIN-STSUI-USDC\"\n | \"BLUEFIN-STSUI-ETH\"\n | \"BLUEFIN-STSUI-WSOL\"\n | \"BLUEFIN-ALPHA-STSUI\"\n | \"BLUEFIN-AUTOBALANCE-USDT-USDC\";\n\nexport type SingleAssetPoolNames =\n | \"ALPHA\"\n | \"NAVI-SUI\"\n | \"NAVI-VSUI\"\n | \"NAVI-WETH\"\n | \"NAVI-USDT\"\n | \"NAVI-WUSDC\"\n | \"NAVI-HASUI\"\n | \"NAVI-LOOP-SUI-VSUI\"\n | \"NAVI-LOOP-USDC-USDT\"\n | \"NAVI-USDC\"\n | \"BUCKET-BUCK\"\n | \"NAVI-USDY\"\n | \"NAVI-AUSD\"\n | \"NAVI-ETH\"\n | \"NAVI-LOOP-HASUI-SUI\"\n | \"NAVI-LOOP-USDT-USDC\"\n | \"NAVI-NS\"\n | \"NAVI-NAVX\";\n\nexport type DoubleAssetPoolNames =\n | \"HASUI-SUI\"\n | \"USDY-WUSDC\"\n | \"ALPHA-SUI\"\n | \"ALPHA-WUSDC\"\n | \"USDT-WUSDC\"\n | \"WUSDC-SUI\"\n | \"WUSDC-WBTC\"\n | \"WETH-WUSDC\"\n | \"NAVX-SUI\"\n | \"BUCK-WUSDC\"\n | \"CETUS-SUI\"\n | \"WSOL-WUSDC\"\n | \"FUD-SUI\"\n | \"BLUB-SUI\"\n | \"SCA-SUI\"\n | \"USDC-SUI\"\n | \"USDC-USDT\"\n | \"ALPHA-USDC\"\n | \"USDC-WUSDC\"\n | \"USDC-ETH\"\n | \"DEEP-SUI\"\n | \"BUCK-SUI\"\n | \"BLUEFIN-SUI-USDC\"\n | \"BLUEFIN-USDT-USDC\"\n | \"BLUEFIN-SUI-BUCK\"\n | \"BLUEFIN-AUSD-USDC\"\n | \"BLUEFIN-SUI-AUSD\"\n | \"BLUEFIN-ALPHA-USDC\"\n | \"BLUEFIN-WBTC-USDC\"\n | \"BLUEFIN-NAVX-VSUI\"\n | \"BLUEFIN-BLUE-SUI\"\n | \"BLUEFIN-BLUE-USDC\"\n | \"BLUEFIN-SEND-USDC\"\n | \"BLUEFIN-WBTC-SUI\"\n | \"BLUEFIN-DEEP-SUI\"\n | \"BLUEFIN-STSUI-SUI\"\n | \"BLUEFIN-STSUI-USDC\"\n | \"BLUEFIN-STSUI-ETH\"\n | \"BLUEFIN-STSUI-WSOL\"\n | \"BLUEFIN-ALPHA-STSUI\"\n | \"BLUEFIN-AUTOBALANCE-USDT-USDC\";\n\nexport type CoinName =\n | \"ALPHA\"\n | \"SUI\"\n | \"WUSDC\"\n | \"USDC\"\n | \"USDT\"\n | \"VSUI\"\n | \"NAVX\"\n | \"SCA\"\n | \"CETUS\"\n | \"AFSUI\"\n | \"WETH\"\n | \"APT\"\n | \"WSOL\"\n | \"SLP\"\n | \"WBTC\"\n | \"CELO\"\n | \"TURBOS\"\n | \"HASUI\"\n | \"USDY\"\n | \"BUCK\"\n | \"FUD\"\n | \"BLUB\"\n | \"ETH\"\n | \"DEEP\"\n | \"AUSD\"\n | \"NS\"\n | \"BLUE\"\n | \"SEND\"\n | \"STSUI\";\n\nexport type StrategyType =\n | \"LOOPING\"\n | \"STABLE\"\n | \"STAKING\"\n | \"LIQUIDITY-POOL\"\n | \"LENDING\"\n | \"LIQUID-STAKING\";\n\n/**\n * Represents a coin with its name, type, icon, and exponent.\n */\nexport interface Coin {\n /**\n * The name of the coin (e.g., SUI, ALPHA, WUSDC, USDT).\n */\n name: CoinName;\n\n /**\n * The type of the coin object on the Sui blockchain.\n */\n type: CoinType;\n\n /**\n * The icon or logo associated with the coin.\n */\n icon: Icon;\n\n /**\n * The exponent used to scale the coin's value.\n * Typically used to convert between the smallest unit and the base unit.\n * For example, SUI has an exponent of 9 because 1 SUI equals 10^9 MISTs.\n */\n expo: number;\n}\n\nexport type Icon =\n | \"https://coinmeta.polymedia.app/img/coins/0x0000000000000000000000000000000000000000000000000000000000000002-sui-SUI.svg\"\n | \"https://coinmeta.polymedia.app/img/coins/0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55-cert-CERT.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5-navx-NAVX.webp\"\n | \"https://suivision.xyz/images/coin-default.png\"\n | \"https://coinmeta.polymedia.app/img/coins/0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6-sca-SCA.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc-afsui-AFSUI.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xc44d97a4bc4e5a33ca847b72b123172c88a6328196b71414f32c3070233604b2-slp-SLP.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xa198f3be41cda8c07b3bf3fee02263526e535d682499806979a111e88a5a8d0f-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b-cetus-CETUS.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x5d1f47ea69bb0de31c313d7acf89b890dbb8991ea8e03c6c355171f84bb1ba4a-turbos-TURBOS.svg\"\n | \"https://7taj6jfau6n3dri7agspzfnva7qbj5sizz5xc3lb56nmxpsyoiba.arweave.net/_MCfJKCnm7HFHwGk_JW1B-AU9kjOe3FtYe-ay75YcgI\"\n | \"https://coinmeta.polymedia.app/img/coins/0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d-hasui-HASUI.svg\"\n | \"https://coinmeta.polymedia.app/img/coins/0x960b531667636f39e85867775f52f6b1f220a058c4de786905bdf761e06a56bb-usdy-USDY.svg\"\n | \"https://imagedelivery.net/cBNDGgkrsEA-b_ixIp9SkQ/buck.svg/public\"\n | \"\";\n\nexport type CoinType =\n | \"0xfe3afec26c59e874f3c1d60b8203cb3852d2bb2aa415df9548b8d688e6683f93::alpha::ALPHA\"\n | \"0x2::sui::SUI\"\n | \"0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55::cert::CERT\"\n | \"0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN\"\n | \"0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN\"\n | \"0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5::navx::NAVX\"\n | \"0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6::sca::SCA\"\n | \"0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc::afsui::AFSUI\"\n | \"0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN\"\n | \"0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37::coin::COIN\"\n | \"0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8::coin::COIN\"\n | \"0xc44d97a4bc4e5a33ca847b72b123172c88a6328196b71414f32c3070233604b2::slp::SLP\"\n | \"0x27792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN\"\n | \"0xa198f3be41cda8c07b3bf3fee02263526e535d682499806979a111e88a5a8d0f::coin::COIN\"\n | \"0x6864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS\"\n | \"0x5d1f47ea69bb0de31c313d7acf89b890dbb8991ea8e03c6c355171f84bb1ba4a::turbos::TURBOS\"\n | \"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI\"\n | \"0x960b531667636f39e85867775f52f6b1f220a058c4de786905bdf761e06a56bb::usdy::USDY\"\n | \"0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::buck::BUCK\"\n | \"0x76cb819b01abed502bee8a702b4c2d547532c12f25001c9dea795a5e631c26f1::fud::FUD\"\n | \"0xfa7ac3951fdca92c5200d468d31a365eb03b2be9936fde615e69f0c1274ad3a0::BLUB::BLUB\"\n | \"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC\"\n | \"0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29::eth::ETH\"\n | \"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP\"\n | \"0x2053d08c1e2bd02791056171aab0fd12bd7cd7efad2ab8f6b9c8902f14df2ff2::ausd::AUSD\"\n | \"0x5145494a5f5100e645e4b0aa950fa6b68f614e8c59e17bc5ded3495123a79178::ns::NS\"\n | \"0xe1b45a0e641b9955a20aa0ad1c1f4ad86aad8afb07296d4085e349a50e90bdca::blue::BLUE\"\n | \"0xb45fcfcc2cc07ce0702cc2d229621e046c906ef14d9b25e8e4d25f6e8763fef7::send::SEND\"\n | \"0xd1b72982e40348d069bb1ff701e634c117bb5f741f44dff91e472d3b01461e55::stsui::STSUI\";\n\nconst ALPHA_SUI_POOL_RECEIPT = conf[CONF_ENV].ALPHA_SUI_POOL_RECEIPT;\nconst USDY_WUSDC_POOL_RECEIPT = conf[CONF_ENV].USDY_WUSDC_POOL_RECEIPT;\nconst USDT_WUSDC_POOL_RECEIPT = conf[CONF_ENV].USDT_WUSDC_POOL_RECEIPT;\nconst ALPHA_POOL_RECEIPT = conf[CONF_ENV].ALPHA_POOL_RECEIPT;\nconst HASUI_SUI_POOL_RECEIPT = conf[CONF_ENV].HASUI_SUI_POOL_RECEIPT;\nconst WUSDC_SUI_POOL_RECEIPT = conf[CONF_ENV].WUSDC_SUI_POOL_RECEIPT;\nconst WUSDC_WBTC_POOL_RECEIPT = conf[CONF_ENV].WUSDC_WBTC_POOL_RECEIPT;\nconst WETH_WUSDC_POOL_RECEIPT = conf[CONF_ENV].WETH_WUSDC_POOL_RECEIPT;\nconst NAVI_SUI_POOL_RECEIPT = conf[CONF_ENV].NAVI_SUI_POOL_RECEIPT;\nconst NAVI_VSUI_POOL_RECEIPT = conf[CONF_ENV].NAVI_VSUI_POOL_RECEIPT;\nconst NAVX_SUI_POOL_RECEIPT = conf[CONF_ENV].NAVX_SUI_POOL_RECEIPT;\nconst NAVI_WETH_POOL_RECEIPT = conf[CONF_ENV].NAVI_WETH_POOL_RECEIPT;\nconst NAVI_USDT_POOL_RECEIPT = conf[CONF_ENV].NAVI_USDT_POOL_RECEIPT;\nconst NAVI_WUSDC_POOL_RECEIPT = conf[CONF_ENV].NAVI_WUSDC_POOL_RECEIPT;\nconst NAVI_USDC_POOL_RECEIPT = conf[CONF_ENV].NAVI_USDC_POOL_RECEIPT;\nconst BUCKET_BUCK_POOL_RECEIPT = conf[CONF_ENV].BUCKET_BUCK_POOL_RECEIPT;\nexport type PoolReceipt =\n | typeof ALPHA_SUI_POOL_RECEIPT\n | typeof USDY_WUSDC_POOL_RECEIPT\n | typeof USDT_WUSDC_POOL_RECEIPT\n | typeof ALPHA_POOL_RECEIPT\n | typeof HASUI_SUI_POOL_RECEIPT\n | typeof WUSDC_SUI_POOL_RECEIPT\n | typeof WUSDC_WBTC_POOL_RECEIPT\n | typeof WETH_WUSDC_POOL_RECEIPT\n | typeof NAVI_SUI_POOL_RECEIPT\n | typeof NAVI_VSUI_POOL_RECEIPT\n | typeof NAVX_SUI_POOL_RECEIPT\n | typeof NAVI_WETH_POOL_RECEIPT\n | typeof NAVI_USDT_POOL_RECEIPT\n | typeof NAVI_WUSDC_POOL_RECEIPT\n | typeof NAVI_USDC_POOL_RECEIPT\n | typeof BUCKET_BUCK_POOL_RECEIPT;\n\nexport type CoinAmounts = {\n coinA: BN;\n coinB: BN;\n};\n\nexport type CetusInvestor = {\n content: {\n fields: {\n free_balance_a: string;\n free_balance_b: string;\n lower_tick: string;\n upper_tick: string;\n };\n };\n};\n\nexport type BluefinInvestor = CetusInvestor;\n\nexport type NaviInvestor = {\n content: {\n fields: {\n safe_borrow_percentage: string;\n tokensDeposited: string;\n current_debt_to_supply_ratio: string;\n };\n };\n};\n\nexport type BucketInvestor = {\n content: {\n fields: {\n tokensDeposited: string;\n stake_proof: {\n type: string;\n fields: {\n stake_amount: string;\n };\n };\n };\n };\n};\n\nexport type CommonInvestorFields = {\n objectId: string;\n version: string;\n digest: string;\n type: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n id: {\n id: string;\n };\n performance_fee: string;\n performance_fee_max_cap: string;\n };\n };\n};\n\nexport type Investor =\n | (CetusInvestor & CommonInvestorFields)\n | (NaviInvestor & CommonInvestorFields)\n | (BucketInvestor & CommonInvestorFields)\n | (BluefinInvestor & CommonInvestorFields);\n\nexport type CetusPoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n xTokenSupply: string;\n tokensInvested: string;\n coin_a: string;\n coin_b: string;\n current_sqrt_price: string;\n current_tick_index: {\n fields: { bits: number };\n type: string;\n };\n fee_growth_global_a: string;\n fee_growth_global_b: string;\n fee_protocol_coin_a: string;\n fee_protocol_coin_b: string;\n fee_rate: string;\n id: { id: string };\n index: string;\n is_pause: boolean;\n liquidity: string;\n position_manager: {\n fields: {\n position_index: string;\n positions: {\n fields: {\n head: string;\n id: { id: string };\n size: string;\n tail: string;\n };\n type: string;\n };\n tick_spacing: number;\n };\n type: string;\n };\n // reward_manager: {};\n // tick_manager: {};\n tick_spacing: number;\n url: string;\n };\n };\n};\n\nexport type BluefinPoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n coin_a: string;\n coin_b: string;\n current_sqrt_price: string;\n current_tick_index: {\n fields: { bits: number };\n type: string;\n };\n fee_growth_global_coin_a: string;\n fee_growth_global_coin_b: string;\n fee_rate: string;\n icon_url: string;\n id: { id: string };\n is_paused: boolean;\n liquidity: string;\n name: string;\n observation_manager: {\n fields: {\n observation_index: string;\n observation: [];\n observation_cardinality: string;\n observation_cardinality_next: string;\n };\n type: string;\n };\n position_index: string;\n protocol_fee_coin_a: string;\n protocol_fee_coin_b: string;\n protocol_fee_share: string;\n reward_infos: [];\n sequence_number: string;\n ticks_manager: {\n type: string;\n fields: { bitmap: []; tick_spacing: number; ticks: [] };\n };\n };\n };\n};\n\nexport type AlphaReceipt = {\n lockedBalance: string;\n unlockedBalance: string;\n balance: string;\n};\n\nexport type Receipt = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n id: { id: string };\n image_url: string;\n last_acc_reward_per_xtoken: {\n type: string;\n fields: {\n contents: {\n type: string;\n fields: {\n value: string;\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n };\n }[];\n };\n };\n locked_balance:\n | {\n type: string;\n fields: {\n head: string;\n id: { id: string };\n size: string;\n tail: string;\n };\n }\n | undefined;\n name: string;\n owner: string;\n pending_rewards: {\n type: string;\n fields: {\n contents: {\n fields: {\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n value: string;\n };\n type: string;\n }[];\n };\n };\n pool_id: string;\n xTokenBalance: string;\n unlocked_xtokens: string | undefined;\n };\n };\n};\n\nexport type PoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n id: { id: string };\n xTokenSupply: string;\n tokensInvested: string;\n // rewards: Bag,\n acc_rewards_per_xtoken: {\n type: string;\n fields: {\n contents: [\n {\n type: string;\n fields: {\n value: string;\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n };\n },\n ];\n };\n };\n locked_period_in_days: string;\n locking_start_day: string;\n alpha_bal: string;\n locked_balance_withdrawal_fee: string;\n deposit_fee: string;\n deposit_fee_max_cap: string;\n withdrawal_fee: string;\n withdraw_fee_max_cap: string;\n weight: string;\n alphaUnlockedPerSecond: string;\n };\n };\n};\n\nexport type AlphaPoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n // acc_rewards_per_xtoken: VecMap<TypeName,u256>,\n alpha_bal: string;\n deposit_fee: string;\n deposit_fee_max_cap: string;\n id: { id: string };\n // image_url: string;\n instant_withdraw_fee: string;\n instant_withdraw_fee_max_cap: string;\n locked_period_in_days: string;\n locking_start_day: string;\n acc_rewards_per_xtoken: {\n type: string;\n fields: {\n contents: [\n {\n type: string;\n fields: {\n value: string;\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n };\n },\n ];\n };\n };\n // name: string;\n // rewards: Bag,\n tokensInvested: string;\n withdraw_fee_max_cap: string;\n withdrawal_fee: string;\n xTokenSupply: string;\n };\n };\n};\n\nexport interface CoinPair {\n coinA: Coin;\n coinB: Coin;\n}\n\nexport type SwapOptions = {\n pair: CoinPair;\n senderAddress: string;\n slippage: number;\n} & ({ inAmount: BN; outAmount?: never } | { outAmount: BN; inAmount?: never });\n\nexport type CetusSwapOptions = SwapOptions;\n\nexport type TickSpacing = 2 | 10 | 60 | 200;\n\nexport type CreatePoolOptions = {\n tickSpacing: TickSpacing;\n initializePrice: number;\n imageUrl: string;\n coinNameA: CoinName;\n coinNameB: CoinName;\n amount: number;\n isAmountA: boolean;\n};\n\nexport type AlphaFiSingleAssetVault = {\n poolId: string;\n poolName: PoolName;\n receiptName: string;\n receiptType: string;\n coinType: CoinType;\n coinName: CoinName;\n};\n\nexport type AlphaFiDoubleAssetVault = {\n poolId: string;\n poolName: PoolName;\n receiptName: string;\n receiptType: string;\n coinTypeA: CoinType;\n coinTypeB: CoinType;\n coinNameA: CoinName;\n coinNameB: CoinName;\n};\n\n// Union type for both single and double asset vaults\nexport type AlphaFiVault = AlphaFiSingleAssetVault | AlphaFiDoubleAssetVault;\n\nexport type AlphaVaultBalance = {\n lockedAlphaCoins: string | null;\n lockedAlphaCoinsInUSD: string | null;\n unlockedAlphaCoins: string | null;\n unlockedAlphaCoinsInUSD: string | null;\n totalAlphaCoins: string | null;\n totalAlphaCoinsInUSD: string | null;\n};\n\nexport type DoubleAssetVaultBalance = {\n coinA: string | null;\n coinB: string | null;\n valueInUSD: string | null;\n};\n\nexport type SingleAssetVaultBalance = {\n coin: string | null;\n valueInUSD: string | null;\n};\n\nexport type AlphaFiVaultBalance =\n | AlphaVaultBalance\n | SingleAssetVaultBalance\n | DoubleAssetVaultBalance;\n\nexport type LpBreakdownType = {\n coinA: string | null;\n coinAInUsd: string | null;\n coinB: string | null;\n coinBInUsd: string | null;\n liquidity: string | null;\n};\n\nexport interface RebalanceHistoryType {\n timestamp: string;\n lower_tick: string;\n upper_tick: string;\n after_price: string;\n amount_a_before: string;\n amount_b_before: string;\n amount_a_after: string;\n amount_b_after: string;\n}\n\nexport type TransactionBlockType = {\n digest: string;\n transaction: {\n data: {\n messageVersion: string;\n transaction: {\n kind: string;\n inputs: {\n type: string;\n valueType: string;\n value: number;\n objectId: string | undefined;\n }[];\n transactions: {\n MoveCall: {\n package: string;\n module: string;\n function: string;\n type_arguments: string[];\n arguments: string[];\n };\n }[];\n };\n sender: string;\n };\n txSignatures: string[];\n };\n events: {\n type: string;\n parsedJson: {\n after_sqrt_price: string;\n };\n }[];\n timestampMs: string;\n checkpoint: string;\n};\n\nexport interface NaviVoloData {\n data: {\n operatorBalance: string;\n collectableFee: string;\n pendingStakes: string;\n poolTotalRewards: string;\n unstakeTicketSupply: string;\n totalStaked: string;\n activeStake: string;\n calcTotalRewards: string;\n currentEpoch: string;\n validators: object;\n exchangeRate: string;\n totalSupply: string;\n apy: string;\n sortedValidators: string[];\n maxInstantUnstake: string;\n maxNoFeeUnstake: string;\n };\n code: number;\n}\n\nexport type LoopingDebt = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n name: [];\n value: string;\n };\n };\n};\n\nexport type Distributor = {\n objectId: string;\n version: string;\n digest: string;\n type: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n airdrop_wallet: string;\n airdrop_wallet_balance: string;\n dust_wallet_address: string;\n fee_wallet: string;\n id: {\n id: string;\n };\n next_halving_timestamp: string;\n pool_allocator: Allocator;\n\n // to-do\n reward_unlock: {\n fields: { contents: [] };\n type: string;\n };\n start_timestamp: string;\n target: string;\n team_wallet_address: string;\n team_wallet_balance: string;\n };\n };\n};\n\nexport type Allocator = {\n fields: {\n id: {\n id: string;\n };\n members: {\n fields: {\n contents: MemberType[];\n };\n type: string;\n };\n rewards: {\n fields: {\n id: {\n id: string;\n };\n size: string;\n };\n type: string;\n };\n total_weights: {\n fields: {\n contents: TotalWeightType[];\n };\n type: string;\n };\n };\n type: string;\n};\n\nexport type TotalWeightType = {\n fields: {\n key: {\n fields: {\n name: string;\n };\n type: string;\n };\n value: string;\n };\n type: string;\n};\n\nexport type MemberPoolDataType = {\n fields: {\n key: {\n fields: {\n name: string;\n };\n type: string;\n };\n value: {\n fields: {\n last_update_time: string;\n pending_rewards: string;\n weight: string;\n };\n type: string;\n };\n };\n type: string;\n};\n\nexport type MemberType = {\n fields: {\n key: string;\n value: {\n fields: {\n pool_data: {\n fields: {\n contents: MemberPoolDataType[];\n };\n type: string;\n };\n };\n type: string;\n };\n };\n type: string;\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":";;AACA,iDAAgD;AA0PhD,MAAM,sBAAsB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,uBAAuB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,uBAAuB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,kBAAkB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,kBAAkB,CAAC;AAC7D,MAAM,sBAAsB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,sBAAsB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,uBAAuB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,uBAAuB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,qBAAqB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB,CAAC;AACnE,MAAM,sBAAsB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,qBAAqB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,qBAAqB,CAAC;AACnE,MAAM,sBAAsB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,sBAAsB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,uBAAuB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,uBAAuB,CAAC;AACvE,MAAM,sBAAsB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,sBAAsB,CAAC;AACrE,MAAM,wBAAwB,GAAG,mBAAI,CAAC,uBAAQ,CAAC,CAAC,wBAAwB,CAAC","sourcesContent":["import BN from \"bn.js\";\nimport { conf, CONF_ENV } from \"./constants.js\";\n\nexport type SuiNetwork = \"mainnet\" | \"testnet\" | \"devnet\" | \"localnet\";\n\nexport type PoolName =\n | \"ALPHA\"\n | \"HASUI-SUI\"\n | \"USDY-WUSDC\"\n | \"ALPHA-SUI\"\n | \"USDT-WUSDC\"\n | \"WUSDC-SUI\"\n | \"WUSDC-WBTC\"\n | \"WETH-WUSDC\"\n | \"NAVX-SUI\"\n | \"BUCK-WUSDC\"\n | \"CETUS-SUI\"\n | \"NAVI-SUI\"\n | \"NAVI-VSUI\"\n | \"NAVI-WETH\"\n | \"NAVI-USDT\"\n | \"NAVI-WUSDC\"\n | \"NAVI-HASUI\"\n | \"NAVI-LOOP-SUI-VSUI\"\n | \"ALPHA-WUSDC\"\n | \"WSOL-WUSDC\"\n | \"FUD-SUI\"\n | \"BLUB-SUI\"\n | \"SCA-SUI\"\n | \"NAVI-LOOP-USDC-USDT\"\n | \"NAVI-USDC\"\n | \"USDC-SUI\"\n | \"USDC-USDT\"\n | \"ALPHA-USDC\"\n | \"USDC-WUSDC\"\n | \"BUCKET-BUCK\"\n | \"USDC-ETH\"\n | \"DEEP-SUI\"\n | \"BUCK-SUI\"\n | \"NAVI-USDY\"\n | \"NAVI-AUSD\"\n | \"NAVI-ETH\"\n | \"NAVI-LOOP-HASUI-SUI\"\n | \"BLUEFIN-SUI-USDC\"\n | \"BLUEFIN-USDT-USDC\"\n | \"NAVI-LOOP-USDT-USDC\"\n | \"BLUEFIN-SUI-BUCK\"\n | \"BLUEFIN-AUSD-USDC\"\n | \"NAVI-NS\"\n | \"BLUEFIN-SUI-AUSD\"\n | \"BLUEFIN-ALPHA-USDC\"\n | \"BLUEFIN-WBTC-USDC\"\n | \"BLUEFIN-NAVX-VSUI\"\n | \"NAVI-NAVX\"\n | \"BLUEFIN-BLUE-SUI\"\n | \"BLUEFIN-BLUE-USDC\"\n | \"BLUEFIN-SEND-USDC\"\n | \"BLUEFIN-WBTC-SUI\"\n | \"BLUEFIN-DEEP-SUI\"\n | \"BLUEFIN-STSUI-SUI\"\n | \"BLUEFIN-STSUI-USDC\"\n | \"BLUEFIN-STSUI-ETH\"\n | \"BLUEFIN-STSUI-WSOL\"\n | \"BLUEFIN-ALPHA-STSUI\"\n | \"BLUEFIN-AUTOBALANCE-USDT-USDC\"\n | \"BLUEFIN-AUTOBALANCE-SUI-USDC\";\n\nexport type SingleAssetPoolNames =\n | \"ALPHA\"\n | \"NAVI-SUI\"\n | \"NAVI-VSUI\"\n | \"NAVI-WETH\"\n | \"NAVI-USDT\"\n | \"NAVI-WUSDC\"\n | \"NAVI-HASUI\"\n | \"NAVI-LOOP-SUI-VSUI\"\n | \"NAVI-LOOP-USDC-USDT\"\n | \"NAVI-USDC\"\n | \"BUCKET-BUCK\"\n | \"NAVI-USDY\"\n | \"NAVI-AUSD\"\n | \"NAVI-ETH\"\n | \"NAVI-LOOP-HASUI-SUI\"\n | \"NAVI-LOOP-USDT-USDC\"\n | \"NAVI-NS\"\n | \"NAVI-NAVX\";\n\nexport type DoubleAssetPoolNames =\n | \"HASUI-SUI\"\n | \"USDY-WUSDC\"\n | \"ALPHA-SUI\"\n | \"ALPHA-WUSDC\"\n | \"USDT-WUSDC\"\n | \"WUSDC-SUI\"\n | \"WUSDC-WBTC\"\n | \"WETH-WUSDC\"\n | \"NAVX-SUI\"\n | \"BUCK-WUSDC\"\n | \"CETUS-SUI\"\n | \"WSOL-WUSDC\"\n | \"FUD-SUI\"\n | \"BLUB-SUI\"\n | \"SCA-SUI\"\n | \"USDC-SUI\"\n | \"USDC-USDT\"\n | \"ALPHA-USDC\"\n | \"USDC-WUSDC\"\n | \"USDC-ETH\"\n | \"DEEP-SUI\"\n | \"BUCK-SUI\"\n | \"BLUEFIN-SUI-USDC\"\n | \"BLUEFIN-USDT-USDC\"\n | \"BLUEFIN-SUI-BUCK\"\n | \"BLUEFIN-AUSD-USDC\"\n | \"BLUEFIN-SUI-AUSD\"\n | \"BLUEFIN-ALPHA-USDC\"\n | \"BLUEFIN-WBTC-USDC\"\n | \"BLUEFIN-NAVX-VSUI\"\n | \"BLUEFIN-BLUE-SUI\"\n | \"BLUEFIN-BLUE-USDC\"\n | \"BLUEFIN-SEND-USDC\"\n | \"BLUEFIN-WBTC-SUI\"\n | \"BLUEFIN-DEEP-SUI\"\n | \"BLUEFIN-STSUI-SUI\"\n | \"BLUEFIN-STSUI-USDC\"\n | \"BLUEFIN-STSUI-ETH\"\n | \"BLUEFIN-STSUI-WSOL\"\n | \"BLUEFIN-ALPHA-STSUI\"\n | \"BLUEFIN-AUTOBALANCE-USDT-USDC\"\n | \"BLUEFIN-AUTOBALANCE-SUI-USDC\";\n\nexport type CoinName =\n | \"ALPHA\"\n | \"SUI\"\n | \"WUSDC\"\n | \"USDC\"\n | \"USDT\"\n | \"VSUI\"\n | \"NAVX\"\n | \"SCA\"\n | \"CETUS\"\n | \"AFSUI\"\n | \"WETH\"\n | \"APT\"\n | \"WSOL\"\n | \"SLP\"\n | \"WBTC\"\n | \"CELO\"\n | \"TURBOS\"\n | \"HASUI\"\n | \"USDY\"\n | \"BUCK\"\n | \"FUD\"\n | \"BLUB\"\n | \"ETH\"\n | \"DEEP\"\n | \"AUSD\"\n | \"NS\"\n | \"BLUE\"\n | \"SEND\"\n | \"STSUI\";\n\nexport type StrategyType =\n | \"LOOPING\"\n | \"STABLE\"\n | \"STAKING\"\n | \"LIQUIDITY-POOL\"\n | \"LENDING\"\n | \"LIQUID-STAKING\";\n\n/**\n * Represents a coin with its name, type, icon, and exponent.\n */\nexport interface Coin {\n /**\n * The name of the coin (e.g., SUI, ALPHA, WUSDC, USDT).\n */\n name: CoinName;\n\n /**\n * The type of the coin object on the Sui blockchain.\n */\n type: CoinType;\n\n /**\n * The icon or logo associated with the coin.\n */\n icon: Icon;\n\n /**\n * The exponent used to scale the coin's value.\n * Typically used to convert between the smallest unit and the base unit.\n * For example, SUI has an exponent of 9 because 1 SUI equals 10^9 MISTs.\n */\n expo: number;\n}\n\nexport type Icon =\n | \"https://coinmeta.polymedia.app/img/coins/0x0000000000000000000000000000000000000000000000000000000000000002-sui-SUI.svg\"\n | \"https://coinmeta.polymedia.app/img/coins/0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55-cert-CERT.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5-navx-NAVX.webp\"\n | \"https://suivision.xyz/images/coin-default.png\"\n | \"https://coinmeta.polymedia.app/img/coins/0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6-sca-SCA.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc-afsui-AFSUI.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xc44d97a4bc4e5a33ca847b72b123172c88a6328196b71414f32c3070233604b2-slp-SLP.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0xa198f3be41cda8c07b3bf3fee02263526e535d682499806979a111e88a5a8d0f-coin-COIN.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b-cetus-CETUS.webp\"\n | \"https://coinmeta.polymedia.app/img/coins/0x5d1f47ea69bb0de31c313d7acf89b890dbb8991ea8e03c6c355171f84bb1ba4a-turbos-TURBOS.svg\"\n | \"https://7taj6jfau6n3dri7agspzfnva7qbj5sizz5xc3lb56nmxpsyoiba.arweave.net/_MCfJKCnm7HFHwGk_JW1B-AU9kjOe3FtYe-ay75YcgI\"\n | \"https://coinmeta.polymedia.app/img/coins/0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d-hasui-HASUI.svg\"\n | \"https://coinmeta.polymedia.app/img/coins/0x960b531667636f39e85867775f52f6b1f220a058c4de786905bdf761e06a56bb-usdy-USDY.svg\"\n | \"https://imagedelivery.net/cBNDGgkrsEA-b_ixIp9SkQ/buck.svg/public\"\n | \"\";\n\nexport type CoinType =\n | \"0xfe3afec26c59e874f3c1d60b8203cb3852d2bb2aa415df9548b8d688e6683f93::alpha::ALPHA\"\n | \"0x2::sui::SUI\"\n | \"0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55::cert::CERT\"\n | \"0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN\"\n | \"0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN\"\n | \"0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5::navx::NAVX\"\n | \"0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6::sca::SCA\"\n | \"0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc::afsui::AFSUI\"\n | \"0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN\"\n | \"0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37::coin::COIN\"\n | \"0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8::coin::COIN\"\n | \"0xc44d97a4bc4e5a33ca847b72b123172c88a6328196b71414f32c3070233604b2::slp::SLP\"\n | \"0x27792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN\"\n | \"0xa198f3be41cda8c07b3bf3fee02263526e535d682499806979a111e88a5a8d0f::coin::COIN\"\n | \"0x6864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS\"\n | \"0x5d1f47ea69bb0de31c313d7acf89b890dbb8991ea8e03c6c355171f84bb1ba4a::turbos::TURBOS\"\n | \"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI\"\n | \"0x960b531667636f39e85867775f52f6b1f220a058c4de786905bdf761e06a56bb::usdy::USDY\"\n | \"0xce7ff77a83ea0cb6fd39bd8748e2ec89a3f41e8efdc3f4eb123e0ca37b184db2::buck::BUCK\"\n | \"0x76cb819b01abed502bee8a702b4c2d547532c12f25001c9dea795a5e631c26f1::fud::FUD\"\n | \"0xfa7ac3951fdca92c5200d468d31a365eb03b2be9936fde615e69f0c1274ad3a0::BLUB::BLUB\"\n | \"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC\"\n | \"0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29::eth::ETH\"\n | \"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP\"\n | \"0x2053d08c1e2bd02791056171aab0fd12bd7cd7efad2ab8f6b9c8902f14df2ff2::ausd::AUSD\"\n | \"0x5145494a5f5100e645e4b0aa950fa6b68f614e8c59e17bc5ded3495123a79178::ns::NS\"\n | \"0xe1b45a0e641b9955a20aa0ad1c1f4ad86aad8afb07296d4085e349a50e90bdca::blue::BLUE\"\n | \"0xb45fcfcc2cc07ce0702cc2d229621e046c906ef14d9b25e8e4d25f6e8763fef7::send::SEND\"\n | \"0xd1b72982e40348d069bb1ff701e634c117bb5f741f44dff91e472d3b01461e55::stsui::STSUI\";\n\nconst ALPHA_SUI_POOL_RECEIPT = conf[CONF_ENV].ALPHA_SUI_POOL_RECEIPT;\nconst USDY_WUSDC_POOL_RECEIPT = conf[CONF_ENV].USDY_WUSDC_POOL_RECEIPT;\nconst USDT_WUSDC_POOL_RECEIPT = conf[CONF_ENV].USDT_WUSDC_POOL_RECEIPT;\nconst ALPHA_POOL_RECEIPT = conf[CONF_ENV].ALPHA_POOL_RECEIPT;\nconst HASUI_SUI_POOL_RECEIPT = conf[CONF_ENV].HASUI_SUI_POOL_RECEIPT;\nconst WUSDC_SUI_POOL_RECEIPT = conf[CONF_ENV].WUSDC_SUI_POOL_RECEIPT;\nconst WUSDC_WBTC_POOL_RECEIPT = conf[CONF_ENV].WUSDC_WBTC_POOL_RECEIPT;\nconst WETH_WUSDC_POOL_RECEIPT = conf[CONF_ENV].WETH_WUSDC_POOL_RECEIPT;\nconst NAVI_SUI_POOL_RECEIPT = conf[CONF_ENV].NAVI_SUI_POOL_RECEIPT;\nconst NAVI_VSUI_POOL_RECEIPT = conf[CONF_ENV].NAVI_VSUI_POOL_RECEIPT;\nconst NAVX_SUI_POOL_RECEIPT = conf[CONF_ENV].NAVX_SUI_POOL_RECEIPT;\nconst NAVI_WETH_POOL_RECEIPT = conf[CONF_ENV].NAVI_WETH_POOL_RECEIPT;\nconst NAVI_USDT_POOL_RECEIPT = conf[CONF_ENV].NAVI_USDT_POOL_RECEIPT;\nconst NAVI_WUSDC_POOL_RECEIPT = conf[CONF_ENV].NAVI_WUSDC_POOL_RECEIPT;\nconst NAVI_USDC_POOL_RECEIPT = conf[CONF_ENV].NAVI_USDC_POOL_RECEIPT;\nconst BUCKET_BUCK_POOL_RECEIPT = conf[CONF_ENV].BUCKET_BUCK_POOL_RECEIPT;\nexport type PoolReceipt =\n | typeof ALPHA_SUI_POOL_RECEIPT\n | typeof USDY_WUSDC_POOL_RECEIPT\n | typeof USDT_WUSDC_POOL_RECEIPT\n | typeof ALPHA_POOL_RECEIPT\n | typeof HASUI_SUI_POOL_RECEIPT\n | typeof WUSDC_SUI_POOL_RECEIPT\n | typeof WUSDC_WBTC_POOL_RECEIPT\n | typeof WETH_WUSDC_POOL_RECEIPT\n | typeof NAVI_SUI_POOL_RECEIPT\n | typeof NAVI_VSUI_POOL_RECEIPT\n | typeof NAVX_SUI_POOL_RECEIPT\n | typeof NAVI_WETH_POOL_RECEIPT\n | typeof NAVI_USDT_POOL_RECEIPT\n | typeof NAVI_WUSDC_POOL_RECEIPT\n | typeof NAVI_USDC_POOL_RECEIPT\n | typeof BUCKET_BUCK_POOL_RECEIPT;\n\nexport type CoinAmounts = {\n coinA: BN;\n coinB: BN;\n};\n\nexport type CetusInvestor = {\n content: {\n fields: {\n free_balance_a: string;\n free_balance_b: string;\n lower_tick: string;\n upper_tick: string;\n };\n };\n};\n\nexport type BluefinInvestor = CetusInvestor;\n\nexport type NaviInvestor = {\n content: {\n fields: {\n safe_borrow_percentage: string;\n tokensDeposited: string;\n current_debt_to_supply_ratio: string;\n };\n };\n};\n\nexport type BucketInvestor = {\n content: {\n fields: {\n tokensDeposited: string;\n stake_proof: {\n type: string;\n fields: {\n stake_amount: string;\n };\n };\n };\n };\n};\n\nexport type CommonInvestorFields = {\n objectId: string;\n version: string;\n digest: string;\n type: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n id: {\n id: string;\n };\n performance_fee: string;\n performance_fee_max_cap: string;\n };\n };\n};\n\nexport type Investor =\n | (CetusInvestor & CommonInvestorFields)\n | (NaviInvestor & CommonInvestorFields)\n | (BucketInvestor & CommonInvestorFields)\n | (BluefinInvestor & CommonInvestorFields);\n\nexport type CetusPoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n xTokenSupply: string;\n tokensInvested: string;\n coin_a: string;\n coin_b: string;\n current_sqrt_price: string;\n current_tick_index: {\n fields: { bits: number };\n type: string;\n };\n fee_growth_global_a: string;\n fee_growth_global_b: string;\n fee_protocol_coin_a: string;\n fee_protocol_coin_b: string;\n fee_rate: string;\n id: { id: string };\n index: string;\n is_pause: boolean;\n liquidity: string;\n position_manager: {\n fields: {\n position_index: string;\n positions: {\n fields: {\n head: string;\n id: { id: string };\n size: string;\n tail: string;\n };\n type: string;\n };\n tick_spacing: number;\n };\n type: string;\n };\n // reward_manager: {};\n // tick_manager: {};\n tick_spacing: number;\n url: string;\n };\n };\n};\n\nexport type BluefinPoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n coin_a: string;\n coin_b: string;\n current_sqrt_price: string;\n current_tick_index: {\n fields: { bits: number };\n type: string;\n };\n fee_growth_global_coin_a: string;\n fee_growth_global_coin_b: string;\n fee_rate: string;\n icon_url: string;\n id: { id: string };\n is_paused: boolean;\n liquidity: string;\n name: string;\n observation_manager: {\n fields: {\n observation_index: string;\n observation: [];\n observation_cardinality: string;\n observation_cardinality_next: string;\n };\n type: string;\n };\n position_index: string;\n protocol_fee_coin_a: string;\n protocol_fee_coin_b: string;\n protocol_fee_share: string;\n reward_infos: [];\n sequence_number: string;\n ticks_manager: {\n type: string;\n fields: { bitmap: []; tick_spacing: number; ticks: [] };\n };\n };\n };\n};\n\nexport type AlphaReceipt = {\n lockedBalance: string;\n unlockedBalance: string;\n balance: string;\n};\n\nexport type Receipt = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n id: { id: string };\n image_url: string;\n last_acc_reward_per_xtoken: {\n type: string;\n fields: {\n contents: {\n type: string;\n fields: {\n value: string;\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n };\n }[];\n };\n };\n locked_balance:\n | {\n type: string;\n fields: {\n head: string;\n id: { id: string };\n size: string;\n tail: string;\n };\n }\n | undefined;\n name: string;\n owner: string;\n pending_rewards: {\n type: string;\n fields: {\n contents: {\n fields: {\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n value: string;\n };\n type: string;\n }[];\n };\n };\n pool_id: string;\n xTokenBalance: string;\n unlocked_xtokens: string | undefined;\n };\n };\n};\n\nexport type PoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n id: { id: string };\n xTokenSupply: string;\n tokensInvested: string;\n // rewards: Bag,\n acc_rewards_per_xtoken: {\n type: string;\n fields: {\n contents: [\n {\n type: string;\n fields: {\n value: string;\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n };\n },\n ];\n };\n };\n locked_period_in_days: string;\n locking_start_day: string;\n alpha_bal: string;\n locked_balance_withdrawal_fee: string;\n deposit_fee: string;\n deposit_fee_max_cap: string;\n withdrawal_fee: string;\n withdraw_fee_max_cap: string;\n weight: string;\n alphaUnlockedPerSecond: string;\n };\n };\n};\n\nexport type AlphaPoolType = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n // acc_rewards_per_xtoken: VecMap<TypeName,u256>,\n alpha_bal: string;\n deposit_fee: string;\n deposit_fee_max_cap: string;\n id: { id: string };\n // image_url: string;\n instant_withdraw_fee: string;\n instant_withdraw_fee_max_cap: string;\n locked_period_in_days: string;\n locking_start_day: string;\n acc_rewards_per_xtoken: {\n type: string;\n fields: {\n contents: [\n {\n type: string;\n fields: {\n value: string;\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n };\n },\n ];\n };\n };\n // name: string;\n // rewards: Bag,\n tokensInvested: string;\n withdraw_fee_max_cap: string;\n withdrawal_fee: string;\n xTokenSupply: string;\n };\n };\n};\n\nexport interface CoinPair {\n coinA: Coin;\n coinB: Coin;\n}\n\nexport type SwapOptions = {\n pair: CoinPair;\n senderAddress: string;\n slippage: number;\n} & ({ inAmount: BN; outAmount?: never } | { outAmount: BN; inAmount?: never });\n\nexport type CetusSwapOptions = SwapOptions;\n\nexport type TickSpacing = 2 | 10 | 60 | 200;\n\nexport type CreatePoolOptions = {\n tickSpacing: TickSpacing;\n initializePrice: number;\n imageUrl: string;\n coinNameA: CoinName;\n coinNameB: CoinName;\n amount: number;\n isAmountA: boolean;\n};\n\nexport type AlphaFiSingleAssetVault = {\n poolId: string;\n poolName: PoolName;\n receiptName: string;\n receiptType: string;\n coinType: CoinType;\n coinName: CoinName;\n};\n\nexport type AlphaFiDoubleAssetVault = {\n poolId: string;\n poolName: PoolName;\n receiptName: string;\n receiptType: string;\n coinTypeA: CoinType;\n coinTypeB: CoinType;\n coinNameA: CoinName;\n coinNameB: CoinName;\n};\n\n// Union type for both single and double asset vaults\nexport type AlphaFiVault = AlphaFiSingleAssetVault | AlphaFiDoubleAssetVault;\n\nexport type AlphaVaultBalance = {\n lockedAlphaCoins: string | null;\n lockedAlphaCoinsInUSD: string | null;\n unlockedAlphaCoins: string | null;\n unlockedAlphaCoinsInUSD: string | null;\n totalAlphaCoins: string | null;\n totalAlphaCoinsInUSD: string | null;\n};\n\nexport type DoubleAssetVaultBalance = {\n coinA: string | null;\n coinB: string | null;\n valueInUSD: string | null;\n};\n\nexport type SingleAssetVaultBalance = {\n coin: string | null;\n valueInUSD: string | null;\n};\n\nexport type AlphaFiVaultBalance =\n | AlphaVaultBalance\n | SingleAssetVaultBalance\n | DoubleAssetVaultBalance;\n\nexport type LpBreakdownType = {\n coinA: string | null;\n coinAInUsd: string | null;\n coinB: string | null;\n coinBInUsd: string | null;\n liquidity: string | null;\n};\n\nexport interface RebalanceHistoryType {\n timestamp: string;\n lower_tick: string;\n upper_tick: string;\n after_price: string;\n amount_a_before: string;\n amount_b_before: string;\n amount_a_after: string;\n amount_b_after: string;\n}\n\nexport type TransactionBlockType = {\n digest: string;\n transaction: {\n data: {\n messageVersion: string;\n transaction: {\n kind: string;\n inputs: {\n type: string;\n valueType: string;\n value: number;\n objectId: string | undefined;\n }[];\n transactions: {\n MoveCall: {\n package: string;\n module: string;\n function: string;\n type_arguments: string[];\n arguments: string[];\n };\n }[];\n };\n sender: string;\n };\n txSignatures: string[];\n };\n events: {\n type: string;\n parsedJson: {\n after_sqrt_price: string;\n };\n }[];\n timestampMs: string;\n checkpoint: string;\n};\n\nexport interface NaviVoloData {\n data: {\n operatorBalance: string;\n collectableFee: string;\n pendingStakes: string;\n poolTotalRewards: string;\n unstakeTicketSupply: string;\n totalStaked: string;\n activeStake: string;\n calcTotalRewards: string;\n currentEpoch: string;\n validators: object;\n exchangeRate: string;\n totalSupply: string;\n apy: string;\n sortedValidators: string[];\n maxInstantUnstake: string;\n maxNoFeeUnstake: string;\n };\n code: number;\n}\n\nexport type LoopingDebt = {\n objectId: string;\n version: string;\n digest: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n name: [];\n value: string;\n };\n };\n};\n\nexport type Distributor = {\n objectId: string;\n version: string;\n digest: string;\n type: string;\n content: {\n dataType: string;\n type: string;\n hasPublicTransfer: boolean;\n fields: {\n airdrop_wallet: string;\n airdrop_wallet_balance: string;\n dust_wallet_address: string;\n fee_wallet: string;\n id: {\n id: string;\n };\n next_halving_timestamp: string;\n pool_allocator: Allocator;\n\n // to-do\n reward_unlock: {\n fields: { contents: [] };\n type: string;\n };\n start_timestamp: string;\n target: string;\n team_wallet_address: string;\n team_wallet_balance: string;\n };\n };\n};\n\nexport type Allocator = {\n fields: {\n id: {\n id: string;\n };\n members: {\n fields: {\n contents: MemberType[];\n };\n type: string;\n };\n rewards: {\n fields: {\n id: {\n id: string;\n };\n size: string;\n };\n type: string;\n };\n total_weights: {\n fields: {\n contents: TotalWeightType[];\n };\n type: string;\n };\n };\n type: string;\n};\n\nexport type TotalWeightType = {\n fields: {\n key: {\n fields: {\n name: string;\n };\n type: string;\n };\n value: string;\n };\n type: string;\n};\n\nexport type MemberPoolDataType = {\n fields: {\n key: {\n fields: {\n name: string;\n };\n type: string;\n };\n value: {\n fields: {\n last_update_time: string;\n pending_rewards: string;\n weight: string;\n };\n type: string;\n };\n };\n type: string;\n};\n\nexport type MemberType = {\n fields: {\n key: string;\n value: {\n fields: {\n pool_data: {\n fields: {\n contents: MemberPoolDataType[];\n };\n type: string;\n };\n };\n type: string;\n };\n };\n type: string;\n};\n"]}
@@ -1 +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,EACjC,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"}
1
+ {"version":3,"file":"fetchAutoCompoundingEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchAutoCompoundingEvents.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAwB,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EACjC,MAAM,YAAY,CAAC;AAGpB,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,CA0NjB;AA6CD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,wBAAwB,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAYnC"}
@@ -3,9 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fetchAutoCompoundingEvents = fetchAutoCompoundingEvents;
4
4
  exports.calculateAprForInvestor = calculateAprForInvestor;
5
5
  exports.calculateAprForPools = calculateAprForPools;
6
+ const decimal_js_1 = require("decimal.js");
6
7
  const coins_js_1 = require("../../common/coins.js");
7
8
  const maps_js_1 = require("../../common/maps.js");
8
9
  const fetchEvents_js_1 = require("./fetchEvents.js");
10
+ const index_js_1 = require("../../index.js");
9
11
  async function fetchAutoCompoundingEvents(params) {
10
12
  const eventTypesSet = new Set();
11
13
  // const rebalanceEventTypesSet = new Set<string>();
@@ -124,7 +126,36 @@ async function calculateAprForInvestor(events) {
124
126
  let previousTimeDiff = 0;
125
127
  let prevCompoundA = 0n;
126
128
  let prevCompoundB = 0n;
127
- const investorPoolMap = await (0, maps_js_1.getInvestorPoolMap)();
129
+ const investorPoolMap = (0, maps_js_1.getInvestorPoolMap)();
130
+ if (events.length > 0 &&
131
+ investorPoolMap
132
+ .get(events[0].investor_id.toString())
133
+ ?.toString()
134
+ .includes("AUTOBALANCE")) {
135
+ let sumOfGrowths = new decimal_js_1.Decimal(0);
136
+ const poolName = investorPoolMap.get(events[0].investor_id.toString());
137
+ const c1 = maps_js_1.doubleAssetPoolCoinMap[poolName].coin1;
138
+ const c2 = maps_js_1.doubleAssetPoolCoinMap[poolName].coin2;
139
+ const [bluePrice, c1Price, c2Price] = await (0, index_js_1.getLatestPrices)(["BLUE/USD", `${c1}/USD`, `${c2}/USD`], false);
140
+ for (const event of events) {
141
+ if ("blue_reward_amount" in event) {
142
+ const blueReward = new decimal_js_1.Decimal(event.blue_reward_amount.toString());
143
+ const totalAmountA = new decimal_js_1.Decimal(event.total_amount_a.toString());
144
+ const totalAmountB = new decimal_js_1.Decimal(event.total_amount_b.toString());
145
+ const blueRewardPrice = blueReward
146
+ .mul(bluePrice)
147
+ .div(Math.pow(10, coins_js_1.coinsList["BLUE"].expo));
148
+ const baseAmountsPrice = totalAmountA
149
+ .mul(c1Price)
150
+ .div(Math.pow(10, coins_js_1.coinsList[c1].expo))
151
+ .plus(totalAmountB.mul(c2Price).div(Math.pow(10, coins_js_1.coinsList[c2].expo)));
152
+ if (baseAmountsPrice.gt(0)) {
153
+ sumOfGrowths = sumOfGrowths.plus(blueRewardPrice.div(baseAmountsPrice));
154
+ }
155
+ }
156
+ }
157
+ return sumOfGrowths.mul(36500).toDecimalPlaces(4).toNumber();
158
+ }
128
159
  // const matchInvestor =
129
160
  // "0x681a30beb23d2532f9413c09127525ae5e562da7aa89f9f3498bd121fef22065"; // NAVI-USDC
130
161
  // // "0xa65eaadb556a80e4cb02fe35efebb2656d82d364897530f45dabc1e99d15a8a9"; // HASUI
@@ -156,7 +187,9 @@ async function calculateAprForInvestor(events) {
156
187
  let timeDiff = event.timestamp - previousTimestamp; // / (1000 * 60 * 60 * 24);
157
188
  // Calculate growth rate
158
189
  let growthRate = 0;
159
- if ("total_amount_a" in event && "total_amount_b" in event) {
190
+ if ("total_amount_a" in event &&
191
+ "total_amount_b" in event &&
192
+ "compound_amount_a" in event) {
160
193
  let growthA = 0;
161
194
  let growthB = 0;
162
195
  if (Number(event.total_amount_a) === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"fetchAutoCompoundingEvents.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchAutoCompoundingEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import { coinsList } from \"../../common/coins.js\";\nimport {\n getInvestorPoolMap,\n singleAssetPoolCoinMap,\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} 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 = singleAssetPoolCoinMap[poolName].coin;\n\n growthRate = growthRate * Math.pow(10, 9 - coinsList[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
+ {"version":3,"file":"fetchAutoCompoundingEvents.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchAutoCompoundingEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import { Decimal } from \"decimal.js\";\nimport { coinsList } from \"../../common/coins.js\";\nimport {\n getInvestorPoolMap,\n singleAssetPoolCoinMap,\n poolInfo,\n doubleAssetPoolCoinMap,\n} from \"../../common/maps.js\";\nimport { PoolName, SingleAssetPoolNames } from \"../../common/types.js\";\nimport { fetchEvents } from \"./fetchEvents.js\";\nimport {\n AutoCompoundingEventNode,\n FetchAutoCompoundingEventsParams,\n} from \"./types.js\";\nimport { getLatestPrices } from \"../../index.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 = getInvestorPoolMap();\n\n if (\n events.length > 0 &&\n investorPoolMap\n .get(events[0].investor_id.toString())\n ?.toString()\n .includes(\"AUTOBALANCE\")\n ) {\n let sumOfGrowths = new Decimal(0);\n const poolName = investorPoolMap.get(events[0].investor_id.toString());\n const c1 = doubleAssetPoolCoinMap[poolName!].coin1;\n const c2 = doubleAssetPoolCoinMap[poolName!].coin2;\n const [bluePrice, c1Price, c2Price] = await getLatestPrices(\n [\"BLUE/USD\", `${c1}/USD`, `${c2}/USD`],\n false,\n );\n\n for (const event of events) {\n if (\"blue_reward_amount\" in event) {\n const blueReward = new Decimal(event.blue_reward_amount.toString());\n const totalAmountA = new Decimal(event.total_amount_a.toString());\n const totalAmountB = new Decimal(event.total_amount_b.toString());\n const blueRewardPrice = blueReward\n .mul(bluePrice)\n .div(Math.pow(10, coinsList[\"BLUE\"].expo));\n const baseAmountsPrice = totalAmountA\n .mul(c1Price)\n .div(Math.pow(10, coinsList[c1].expo))\n .plus(\n totalAmountB.mul(c2Price).div(Math.pow(10, coinsList[c2].expo)),\n );\n if (baseAmountsPrice.gt(0)) {\n sumOfGrowths = sumOfGrowths.plus(\n blueRewardPrice.div(baseAmountsPrice),\n );\n }\n }\n }\n return sumOfGrowths.mul(36500).toDecimalPlaces(4).toNumber();\n }\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 (\n \"total_amount_a\" in event &&\n \"total_amount_b\" in event &&\n \"compound_amount_a\" in event\n ) {\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 = singleAssetPoolCoinMap[poolName].coin;\n\n growthRate = growthRate * Math.pow(10, 9 - coinsList[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\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,EASlB,MAAM,YAAY,CAAC;AAIpB,wBAAsB,WAAW,CAC/B,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,SAAS,EAAE,CAAC,CAkUtB"}
1
+ {"version":3,"file":"fetchEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchEvents.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,SAAS,EACT,iBAAiB,EAUlB,MAAM,YAAY,CAAC;AAIpB,wBAAsB,WAAW,CAC/B,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,SAAS,EAAE,CAAC,CAoWtB"}
@@ -112,6 +112,35 @@ async function fetchEvents(params) {
112
112
  transactionModule: suiEvent.transactionModule,
113
113
  };
114
114
  }
115
+ else if (isAutoCompoundingEvent(suiEvent.type) &&
116
+ "blue_reward_amount" in suiEventJson) {
117
+ // Handling CetusAutoCompoundingEvent
118
+ eventNode = {
119
+ type: suiEvent.type,
120
+ timestamp: Number(suiEvent.timestampMs),
121
+ blue_reward_amount: BigInt(suiEventJson.blue_reward_amount.toString()),
122
+ current_liquidity: BigInt(suiEventJson.current_liquidity.toString()),
123
+ fee_collected: BigInt(suiEventJson.fee_collected.toString()),
124
+ free_balance_a: BigInt(suiEventJson.free_balance_a.toString()),
125
+ free_balance_b: BigInt(suiEventJson.free_balance_b.toString()),
126
+ investor_id: suiEventJson.investor_id,
127
+ total_amount_a: BigInt(suiEventJson.total_amount_a.toString()),
128
+ total_amount_b: BigInt(suiEventJson.total_amount_b.toString()),
129
+ txDigest: suiEvent.id.txDigest,
130
+ eventSeq: Number(suiEvent.id.eventSeq),
131
+ transactionModule: suiEvent.transactionModule,
132
+ };
133
+ // if (
134
+ // eventNode.investor_id ===
135
+ // "0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6"
136
+ // ) {
137
+ // console.log(
138
+ // eventNode.timestamp,
139
+ // (prevTS - eventNode.timestamp) / (1000 * 60),
140
+ // );
141
+ // prevTS = eventNode.timestamp;
142
+ // }
143
+ }
115
144
  else if (isRebalanceEvent(suiEvent.type) &&
116
145
  "lower_tick_after" in suiEventJson) {
117
146
  // Handling RebalanceEvent
@@ -1 +1 @@
1
- {"version":3,"file":"fetchEvents.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import { getSuiClient } from \"../client.js\";\nimport { EventId, PaginatedEvents } from \"@mysten/sui/client\";\nimport {\n AlphaLiquidityChangeEvent,\n AlphaAutoCompoundingEvent,\n CetusAutoCompoundingEvent,\n CetusLiquidityChangeEvent,\n EventNode,\n FetchEventsParams,\n NaviAutoCompoundingEvent,\n NaviLoopAutoCompoundingEvent,\n NaviLiquidityChangeEvent,\n RebalanceEvent,\n AutoCompoundingEventNode,\n AlphaWithdrawV2Event,\n AfterTransactionEventNode,\n CheckRatioEvent,\n} from \"./types.js\";\nimport { poolInfo } from \"../../common/maps.js\";\nimport { conf, CONF_ENV } from \"../../common/constants.js\";\n\nexport async function fetchEvents(\n params: FetchEventsParams,\n): Promise<EventNode[]> {\n const allEvents: EventNode[] = [];\n let hasNextPage = true;\n let startCursor: EventId | null | undefined = null;\n\n if (params.eventTypes.length > 1) {\n console.warn(\n \"Multiple eventTypes not supported right now, pass only one element in the array.\",\n );\n }\n\n if (params.eventTypes.length < 1) {\n hasNextPage = false;\n }\n\n const now = Date.now();\n const twentyFourHoursAgo = now - 24 * 60 * 60 * 1000; // timestamp for 24 hours ago\n const startTime = params.startTime ? params.startTime : twentyFourHoursAgo;\n const endTime = params.endTime ? params.endTime : now;\n\n if (startTime >= endTime) {\n throw new Error(\"startTime must be less than endTime\");\n }\n\n const suiClient = getSuiClient();\n //const prevTS = 0;\n\n while (hasNextPage) {\n const result: PaginatedEvents = await suiClient.queryEvents({\n cursor: startCursor,\n order: \"descending\",\n query: {\n MoveEventType: params.eventTypes[0],\n },\n });\n\n const se = result.data;\n for (let i = 0; i < se.length; i++) {\n const suiEvent = se[i];\n\n if (Number(suiEvent.timestampMs) > endTime) {\n continue;\n }\n\n if (Number(suiEvent.timestampMs) < startTime) {\n hasNextPage = false; // Stop further pagination\n break; // Exit the loop\n }\n\n const suiEventJson = suiEvent.parsedJson as\n | CetusAutoCompoundingEvent\n | NaviAutoCompoundingEvent\n | NaviLoopAutoCompoundingEvent\n | RebalanceEvent\n | CetusLiquidityChangeEvent\n | AlphaLiquidityChangeEvent\n | NaviLiquidityChangeEvent\n | AlphaAutoCompoundingEvent\n | AlphaWithdrawV2Event\n | AfterTransactionEventNode // TODO: this needs to be changed to AfterTransactionEvent Eventually\n | CheckRatioEvent;\n\n let eventNode: EventNode;\n\n if (\n isAutoCompoundingEvent(suiEvent.type) &&\n \"compound_amount_a\" in suiEventJson &&\n \"compound_amount_b\" in suiEventJson\n ) {\n // Handling CetusAutoCompoundingEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n compound_amount_a: BigInt(suiEventJson.compound_amount_a.toString()),\n compound_amount_b: BigInt(suiEventJson.compound_amount_b.toString()),\n current_liquidity: BigInt(suiEventJson.current_liquidity.toString()),\n fee_collected_a: BigInt(suiEventJson.fee_collected_a.toString()),\n fee_collected_b: BigInt(suiEventJson.fee_collected_b.toString()),\n free_balance_a: BigInt(suiEventJson.free_balance_a.toString()),\n free_balance_b: BigInt(suiEventJson.free_balance_b.toString()),\n investor_id: suiEventJson.investor_id,\n total_amount_a: BigInt(suiEventJson.total_amount_a.toString()),\n total_amount_b: BigInt(suiEventJson.total_amount_b.toString()),\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n\n // if (\n // eventNode.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // eventNode.timestamp,\n // (prevTS - eventNode.timestamp) / (1000 * 60),\n // );\n // prevTS = eventNode.timestamp;\n // }\n } else if (\n isAutoCompoundingEvent(suiEvent.type) &&\n \"compound_amount\" in suiEventJson\n ) {\n // Handling NaviAutoCompoundingEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n compound_amount: BigInt(suiEventJson.compound_amount.toString()),\n fee_collected: BigInt(suiEventJson.fee_collected.toString()),\n investor_id: suiEventJson.investor_id,\n location: suiEventJson.location,\n total_amount: BigInt(suiEventJson.total_amount.toString()),\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n if (\n \"cur_total_debt\" in suiEventJson &&\n \"accrued_interest\" in suiEventJson\n ) {\n const loopEvent: AutoCompoundingEventNode = {\n ...eventNode,\n cur_total_debt: BigInt(suiEventJson.cur_total_debt.toString()),\n accrued_interest: BigInt(suiEventJson.accrued_interest.toString()),\n };\n eventNode = loopEvent;\n }\n } else if (\n isAutoCompoundingEvent(suiEvent.type) &&\n \"amount\" in suiEventJson\n ) {\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount: suiEventJson.amount,\n investor_id: conf[CONF_ENV].ALPHA_POOL,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isRebalanceEvent(suiEvent.type) &&\n \"lower_tick_after\" in suiEventJson\n ) {\n // Handling RebalanceEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n investor_id: suiEventJson.investor_id.toString(),\n lower_tick_after: suiEventJson.lower_tick_after.toString(),\n upper_tick_after: suiEventJson.upper_tick_after.toString(),\n sqrt_price_after: suiEventJson.sqrt_price_after.toString(),\n amount_a_before: suiEventJson.amount_a_before.toString(),\n amount_b_before: suiEventJson.amount_b_before.toString(),\n amount_a_after: suiEventJson.amount_a_after.toString(),\n amount_b_after: suiEventJson.amount_b_after.toString(),\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isLiquidityChangeEvent(suiEvent.type) &&\n \"amount_a\" in suiEventJson\n ) {\n // Handling CetusLiquidityChangeEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount_a: suiEventJson.amount_a,\n amount_b: suiEventJson.amount_b,\n event_type: suiEventJson.event_type,\n fee_collected_a: suiEventJson.fee_collected_a,\n fee_collected_b: suiEventJson.fee_collected_b,\n pool_id: suiEventJson.pool_id,\n sender: suiEventJson.sender,\n tokens_invested: suiEventJson.tokens_invested,\n total_amount_a: suiEventJson.total_amount_a,\n total_amount_b: suiEventJson.total_amount_b,\n user_total_x_token_balance: suiEventJson.user_total_x_token_balance,\n x_token_supply: suiEventJson.x_token_supply,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isLiquidityChangeEvent(suiEvent.type) &&\n \"amount\" in suiEventJson &&\n !(\"investor_id\" in suiEventJson) &&\n !(\"amount_withdrawn_from_locked\" in suiEventJson) &&\n !(\"xtokenSupply\" in suiEventJson)\n ) {\n // Handling NaviLiquidityChangeEvent and AlphaLiquidityChangeEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount: suiEventJson.amount,\n event_type: suiEventJson.event_type,\n fee_collected: suiEventJson.fee_collected,\n pool_id: suiEventJson.pool_id,\n sender: suiEventJson.sender,\n tokens_invested: suiEventJson.tokens_invested,\n user_total_x_token_balance: suiEventJson.user_total_x_token_balance,\n x_token_supply: suiEventJson.x_token_supply,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isWithdrawV2Event(suiEvent.type) &&\n \"amount_withdrawn_from_locked\" in suiEventJson\n ) {\n // Handling Alpha WithdrawV2 Events\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount: suiEventJson.amount,\n amount_withdrawn_from_locked:\n suiEventJson.amount_withdrawn_from_locked,\n amount_withdrawn_from_unlocked:\n suiEventJson.amount_withdrawn_from_unlocked,\n fee_collected: suiEventJson.fee_collected,\n instant_withdraw_fee_collected:\n suiEventJson.instant_withdraw_fee_collected,\n pool_id: suiEventJson.pool_id,\n sender: suiEventJson.sender,\n tokens_invested: suiEventJson.tokens_invested,\n user_total_x_token_balance: suiEventJson.user_total_x_token_balance,\n x_token_supply: suiEventJson.x_token_supply,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isAfterTransactionEvent(suiEvent.type) &&\n \"tokensInvested\" in suiEventJson &&\n !(\"liquidity\" in suiEventJson) &&\n !(\"amount\" in suiEventJson)\n ) {\n //handling alpha after transaction event\n if (suiEvent.id.eventSeq === \"0\") continue;\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n poolName: \"ALPHA\",\n id: {\n eventSeq: Number(suiEvent.id.eventSeq),\n txDigest: suiEvent.id.txDigest,\n },\n tokensInvested: suiEventJson.tokensInvested,\n xTokenSupply: suiEventJson.xTokenSupply,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isAfterTransactionEvent(suiEvent.type) &&\n \"tokensInvested\" in suiEventJson &&\n \"liquidity\" in suiEventJson\n ) {\n //handling cetus after transaction event\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n poolName: undefined,\n id: {\n eventSeq: Number(suiEvent.id.eventSeq),\n txDigest: suiEvent.id.txDigest,\n },\n tokensInvested: suiEventJson.tokensInvested,\n xtokenSupply: suiEventJson.xtokenSupply,\n liquidity: suiEventJson.liquidity,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isAfterTransactionEvent(suiEvent.type) &&\n \"amount\" in suiEventJson &&\n \"tokensInvested\" in suiEventJson\n ) {\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n poolName: undefined,\n id: {\n eventSeq: Number(suiEvent.id.eventSeq),\n txDigest: suiEvent.id.txDigest,\n },\n tokensInvested: suiEventJson.tokensInvested,\n xtokenSupply: suiEventJson.xtokenSupply,\n amount: suiEventJson.amount,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\"ratio\" in suiEventJson) {\n // Check Ratio - looping pools\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n ratio: suiEventJson.ratio,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else {\n console.error(\"event: \", suiEvent, \"json: \", suiEventJson);\n throw new Error(\"Unknown event type\");\n }\n\n allEvents.push(eventNode);\n }\n\n // If we set hasPreviousPage to false, exit the outer loop as well\n if (!hasNextPage) {\n break;\n }\n\n hasNextPage = result.hasNextPage;\n startCursor = result.nextCursor;\n }\n\n return allEvents;\n}\n\nconst isAutoCompoundingEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo).map((info) => {\n return info.autoCompoundingEventType;\n });\n return eventTypes.includes(eventType);\n};\n\nconst isRebalanceEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo)\n .filter((info) => {\n return info.rebalanceEventType ? true : false;\n })\n .map((info) => {\n return info.rebalanceEventType as string;\n });\n return eventTypes.includes(eventType);\n};\n\nconst isLiquidityChangeEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo).map((info) => {\n return info.liquidityChangeEventType;\n });\n return eventTypes.includes(eventType);\n};\n\nconst isWithdrawV2Event = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo)\n .map((info) => {\n return info.withdrawV2EventType;\n })\n .filter((type) => type !== undefined);\n return eventTypes.includes(eventType);\n};\n\nconst isAfterTransactionEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo)\n .map((info) => {\n return info.afterTransactionEventType;\n })\n .filter((type) => type !== undefined);\n return eventTypes.includes(eventType);\n};\n"]}
1
+ {"version":3,"file":"fetchEvents.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import { getSuiClient } from \"../client.js\";\nimport { EventId, PaginatedEvents } from \"@mysten/sui/client\";\nimport {\n AlphaLiquidityChangeEvent,\n AlphaAutoCompoundingEvent,\n CetusAutoCompoundingEvent,\n CetusLiquidityChangeEvent,\n EventNode,\n FetchEventsParams,\n NaviAutoCompoundingEvent,\n NaviLoopAutoCompoundingEvent,\n NaviLiquidityChangeEvent,\n RebalanceEvent,\n AutoCompoundingEventNode,\n AlphaWithdrawV2Event,\n AfterTransactionEventNode,\n CheckRatioEvent,\n AutobalancingAutoCompoundingEvent,\n} from \"./types.js\";\nimport { poolInfo } from \"../../common/maps.js\";\nimport { conf, CONF_ENV } from \"../../common/constants.js\";\n\nexport async function fetchEvents(\n params: FetchEventsParams,\n): Promise<EventNode[]> {\n const allEvents: EventNode[] = [];\n let hasNextPage = true;\n let startCursor: EventId | null | undefined = null;\n\n if (params.eventTypes.length > 1) {\n console.warn(\n \"Multiple eventTypes not supported right now, pass only one element in the array.\",\n );\n }\n\n if (params.eventTypes.length < 1) {\n hasNextPage = false;\n }\n\n const now = Date.now();\n const twentyFourHoursAgo = now - 24 * 60 * 60 * 1000; // timestamp for 24 hours ago\n const startTime = params.startTime ? params.startTime : twentyFourHoursAgo;\n const endTime = params.endTime ? params.endTime : now;\n\n if (startTime >= endTime) {\n throw new Error(\"startTime must be less than endTime\");\n }\n\n const suiClient = getSuiClient();\n //const prevTS = 0;\n\n while (hasNextPage) {\n const result: PaginatedEvents = await suiClient.queryEvents({\n cursor: startCursor,\n order: \"descending\",\n query: {\n MoveEventType: params.eventTypes[0],\n },\n });\n\n const se = result.data;\n for (let i = 0; i < se.length; i++) {\n const suiEvent = se[i];\n\n if (Number(suiEvent.timestampMs) > endTime) {\n continue;\n }\n\n if (Number(suiEvent.timestampMs) < startTime) {\n hasNextPage = false; // Stop further pagination\n break; // Exit the loop\n }\n\n const suiEventJson = suiEvent.parsedJson as\n | CetusAutoCompoundingEvent\n | NaviAutoCompoundingEvent\n | NaviLoopAutoCompoundingEvent\n | AutobalancingAutoCompoundingEvent\n | RebalanceEvent\n | CetusLiquidityChangeEvent\n | AlphaLiquidityChangeEvent\n | NaviLiquidityChangeEvent\n | AlphaAutoCompoundingEvent\n | AlphaWithdrawV2Event\n | AfterTransactionEventNode // TODO: this needs to be changed to AfterTransactionEvent Eventually\n | CheckRatioEvent;\n\n let eventNode: EventNode;\n\n if (\n isAutoCompoundingEvent(suiEvent.type) &&\n \"compound_amount_a\" in suiEventJson &&\n \"compound_amount_b\" in suiEventJson\n ) {\n // Handling CetusAutoCompoundingEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n compound_amount_a: BigInt(suiEventJson.compound_amount_a.toString()),\n compound_amount_b: BigInt(suiEventJson.compound_amount_b.toString()),\n current_liquidity: BigInt(suiEventJson.current_liquidity.toString()),\n fee_collected_a: BigInt(suiEventJson.fee_collected_a.toString()),\n fee_collected_b: BigInt(suiEventJson.fee_collected_b.toString()),\n free_balance_a: BigInt(suiEventJson.free_balance_a.toString()),\n free_balance_b: BigInt(suiEventJson.free_balance_b.toString()),\n investor_id: suiEventJson.investor_id,\n total_amount_a: BigInt(suiEventJson.total_amount_a.toString()),\n total_amount_b: BigInt(suiEventJson.total_amount_b.toString()),\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n\n // if (\n // eventNode.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // eventNode.timestamp,\n // (prevTS - eventNode.timestamp) / (1000 * 60),\n // );\n // prevTS = eventNode.timestamp;\n // }\n } else if (\n isAutoCompoundingEvent(suiEvent.type) &&\n \"compound_amount\" in suiEventJson\n ) {\n // Handling NaviAutoCompoundingEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n compound_amount: BigInt(suiEventJson.compound_amount.toString()),\n fee_collected: BigInt(suiEventJson.fee_collected.toString()),\n investor_id: suiEventJson.investor_id,\n location: suiEventJson.location,\n total_amount: BigInt(suiEventJson.total_amount.toString()),\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n if (\n \"cur_total_debt\" in suiEventJson &&\n \"accrued_interest\" in suiEventJson\n ) {\n const loopEvent: AutoCompoundingEventNode = {\n ...eventNode,\n cur_total_debt: BigInt(suiEventJson.cur_total_debt.toString()),\n accrued_interest: BigInt(suiEventJson.accrued_interest.toString()),\n };\n eventNode = loopEvent;\n }\n } else if (\n isAutoCompoundingEvent(suiEvent.type) &&\n \"amount\" in suiEventJson\n ) {\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount: suiEventJson.amount,\n investor_id: conf[CONF_ENV].ALPHA_POOL,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isAutoCompoundingEvent(suiEvent.type) &&\n \"blue_reward_amount\" in suiEventJson\n ) {\n // Handling CetusAutoCompoundingEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n blue_reward_amount: BigInt(\n suiEventJson.blue_reward_amount.toString(),\n ),\n current_liquidity: BigInt(suiEventJson.current_liquidity.toString()),\n fee_collected: BigInt(suiEventJson.fee_collected.toString()),\n free_balance_a: BigInt(suiEventJson.free_balance_a.toString()),\n free_balance_b: BigInt(suiEventJson.free_balance_b.toString()),\n investor_id: suiEventJson.investor_id,\n total_amount_a: BigInt(suiEventJson.total_amount_a.toString()),\n total_amount_b: BigInt(suiEventJson.total_amount_b.toString()),\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n\n // if (\n // eventNode.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // eventNode.timestamp,\n // (prevTS - eventNode.timestamp) / (1000 * 60),\n // );\n // prevTS = eventNode.timestamp;\n // }\n } else if (\n isRebalanceEvent(suiEvent.type) &&\n \"lower_tick_after\" in suiEventJson\n ) {\n // Handling RebalanceEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n investor_id: suiEventJson.investor_id.toString(),\n lower_tick_after: suiEventJson.lower_tick_after.toString(),\n upper_tick_after: suiEventJson.upper_tick_after.toString(),\n sqrt_price_after: suiEventJson.sqrt_price_after.toString(),\n amount_a_before: suiEventJson.amount_a_before.toString(),\n amount_b_before: suiEventJson.amount_b_before.toString(),\n amount_a_after: suiEventJson.amount_a_after.toString(),\n amount_b_after: suiEventJson.amount_b_after.toString(),\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isLiquidityChangeEvent(suiEvent.type) &&\n \"amount_a\" in suiEventJson\n ) {\n // Handling CetusLiquidityChangeEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount_a: suiEventJson.amount_a,\n amount_b: suiEventJson.amount_b,\n event_type: suiEventJson.event_type,\n fee_collected_a: suiEventJson.fee_collected_a,\n fee_collected_b: suiEventJson.fee_collected_b,\n pool_id: suiEventJson.pool_id,\n sender: suiEventJson.sender,\n tokens_invested: suiEventJson.tokens_invested,\n total_amount_a: suiEventJson.total_amount_a,\n total_amount_b: suiEventJson.total_amount_b,\n user_total_x_token_balance: suiEventJson.user_total_x_token_balance,\n x_token_supply: suiEventJson.x_token_supply,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isLiquidityChangeEvent(suiEvent.type) &&\n \"amount\" in suiEventJson &&\n !(\"investor_id\" in suiEventJson) &&\n !(\"amount_withdrawn_from_locked\" in suiEventJson) &&\n !(\"xtokenSupply\" in suiEventJson)\n ) {\n // Handling NaviLiquidityChangeEvent and AlphaLiquidityChangeEvent\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount: suiEventJson.amount,\n event_type: suiEventJson.event_type,\n fee_collected: suiEventJson.fee_collected,\n pool_id: suiEventJson.pool_id,\n sender: suiEventJson.sender,\n tokens_invested: suiEventJson.tokens_invested,\n user_total_x_token_balance: suiEventJson.user_total_x_token_balance,\n x_token_supply: suiEventJson.x_token_supply,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isWithdrawV2Event(suiEvent.type) &&\n \"amount_withdrawn_from_locked\" in suiEventJson\n ) {\n // Handling Alpha WithdrawV2 Events\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n amount: suiEventJson.amount,\n amount_withdrawn_from_locked:\n suiEventJson.amount_withdrawn_from_locked,\n amount_withdrawn_from_unlocked:\n suiEventJson.amount_withdrawn_from_unlocked,\n fee_collected: suiEventJson.fee_collected,\n instant_withdraw_fee_collected:\n suiEventJson.instant_withdraw_fee_collected,\n pool_id: suiEventJson.pool_id,\n sender: suiEventJson.sender,\n tokens_invested: suiEventJson.tokens_invested,\n user_total_x_token_balance: suiEventJson.user_total_x_token_balance,\n x_token_supply: suiEventJson.x_token_supply,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isAfterTransactionEvent(suiEvent.type) &&\n \"tokensInvested\" in suiEventJson &&\n !(\"liquidity\" in suiEventJson) &&\n !(\"amount\" in suiEventJson)\n ) {\n //handling alpha after transaction event\n if (suiEvent.id.eventSeq === \"0\") continue;\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n poolName: \"ALPHA\",\n id: {\n eventSeq: Number(suiEvent.id.eventSeq),\n txDigest: suiEvent.id.txDigest,\n },\n tokensInvested: suiEventJson.tokensInvested,\n xTokenSupply: suiEventJson.xTokenSupply,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isAfterTransactionEvent(suiEvent.type) &&\n \"tokensInvested\" in suiEventJson &&\n \"liquidity\" in suiEventJson\n ) {\n //handling cetus after transaction event\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n poolName: undefined,\n id: {\n eventSeq: Number(suiEvent.id.eventSeq),\n txDigest: suiEvent.id.txDigest,\n },\n tokensInvested: suiEventJson.tokensInvested,\n xtokenSupply: suiEventJson.xtokenSupply,\n liquidity: suiEventJson.liquidity,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\n isAfterTransactionEvent(suiEvent.type) &&\n \"amount\" in suiEventJson &&\n \"tokensInvested\" in suiEventJson\n ) {\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n poolName: undefined,\n id: {\n eventSeq: Number(suiEvent.id.eventSeq),\n txDigest: suiEvent.id.txDigest,\n },\n tokensInvested: suiEventJson.tokensInvested,\n xtokenSupply: suiEventJson.xtokenSupply,\n amount: suiEventJson.amount,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else if (\"ratio\" in suiEventJson) {\n // Check Ratio - looping pools\n eventNode = {\n type: suiEvent.type,\n timestamp: Number(suiEvent.timestampMs),\n ratio: suiEventJson.ratio,\n txDigest: suiEvent.id.txDigest,\n eventSeq: Number(suiEvent.id.eventSeq),\n transactionModule: suiEvent.transactionModule,\n };\n } else {\n console.error(\"event: \", suiEvent, \"json: \", suiEventJson);\n throw new Error(\"Unknown event type\");\n }\n\n allEvents.push(eventNode);\n }\n\n // If we set hasPreviousPage to false, exit the outer loop as well\n if (!hasNextPage) {\n break;\n }\n\n hasNextPage = result.hasNextPage;\n startCursor = result.nextCursor;\n }\n\n return allEvents;\n}\n\nconst isAutoCompoundingEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo).map((info) => {\n return info.autoCompoundingEventType;\n });\n return eventTypes.includes(eventType);\n};\n\nconst isRebalanceEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo)\n .filter((info) => {\n return info.rebalanceEventType ? true : false;\n })\n .map((info) => {\n return info.rebalanceEventType as string;\n });\n return eventTypes.includes(eventType);\n};\n\nconst isLiquidityChangeEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo).map((info) => {\n return info.liquidityChangeEventType;\n });\n return eventTypes.includes(eventType);\n};\n\nconst isWithdrawV2Event = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo)\n .map((info) => {\n return info.withdrawV2EventType;\n })\n .filter((type) => type !== undefined);\n return eventTypes.includes(eventType);\n};\n\nconst isAfterTransactionEvent = (eventType: string) => {\n const eventTypes: string[] = Object.values(poolInfo)\n .map((info) => {\n return info.afterTransactionEventType;\n })\n .filter((type) => type !== undefined);\n return eventTypes.includes(eventType);\n};\n"]}