@sonarwatch/portfolio-plugins 0.14.45 → 0.14.47

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 (80) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +1 -1
  3. package/src/plugins/bluefin/clmmsFetcher.d.ts +3 -0
  4. package/src/plugins/bluefin/clmmsFetcher.js +85 -0
  5. package/src/plugins/bluefin/clmmsFetcher.js.map +1 -0
  6. package/src/plugins/bluefin/clmmsJob.d.ts +3 -0
  7. package/src/plugins/bluefin/clmmsJob.js +45 -0
  8. package/src/plugins/bluefin/clmmsJob.js.map +1 -0
  9. package/src/plugins/bluefin/constants.d.ts +5 -0
  10. package/src/plugins/bluefin/constants.js +6 -1
  11. package/src/plugins/bluefin/constants.js.map +1 -1
  12. package/src/plugins/bluefin/helpers.d.ts +7 -0
  13. package/src/plugins/bluefin/helpers.js +65 -0
  14. package/src/plugins/bluefin/helpers.js.map +1 -0
  15. package/src/plugins/bluefin/index.js +9 -2
  16. package/src/plugins/bluefin/index.js.map +1 -1
  17. package/src/plugins/bluefin/types.d.ts +76 -0
  18. package/src/plugins/cetus/clmmsFetcher.js +12 -20
  19. package/src/plugins/cetus/clmmsFetcher.js.map +1 -1
  20. package/src/plugins/cetus/getPools.d.ts +2 -2
  21. package/src/plugins/cetus/getPools.js +20 -7
  22. package/src/plugins/cetus/getPools.js.map +1 -1
  23. package/src/plugins/cetus/index.js +2 -1
  24. package/src/plugins/cetus/index.js.map +1 -1
  25. package/src/plugins/cetus/poolsStatsJob.d.ts +3 -0
  26. package/src/plugins/cetus/poolsStatsJob.js +45 -0
  27. package/src/plugins/cetus/poolsStatsJob.js.map +1 -0
  28. package/src/plugins/cetus/types.d.ts +7 -0
  29. package/src/plugins/cetus/types.js.map +1 -1
  30. package/src/plugins/coinmarketcap/constants.d.ts +3 -9
  31. package/src/plugins/coinmarketcap/constants.js +20 -4
  32. package/src/plugins/coinmarketcap/constants.js.map +1 -1
  33. package/src/plugins/coinmarketcap/pricingJob.js +7 -5
  34. package/src/plugins/coinmarketcap/pricingJob.js.map +1 -1
  35. package/src/plugins/coinmarketcap/types.d.ts +21 -0
  36. package/src/plugins/coinmarketcap/types.js +3 -0
  37. package/src/plugins/coinmarketcap/types.js.map +1 -0
  38. package/src/plugins/flowx/stakingPoolV3Fetcher.js +12 -44
  39. package/src/plugins/flowx/stakingPoolV3Fetcher.js.map +1 -1
  40. package/src/plugins/kriya/clmmsFetcher.js +19 -22
  41. package/src/plugins/kriya/clmmsFetcher.js.map +1 -1
  42. package/src/plugins/kriya/constants.d.ts +3 -0
  43. package/src/plugins/kriya/constants.js +4 -1
  44. package/src/plugins/kriya/constants.js.map +1 -1
  45. package/src/plugins/kriya/index.js +7 -1
  46. package/src/plugins/kriya/index.js.map +1 -1
  47. package/src/plugins/kriya/poolsStatsJob.d.ts +3 -0
  48. package/src/plugins/kriya/poolsStatsJob.js +46 -0
  49. package/src/plugins/kriya/poolsStatsJob.js.map +1 -0
  50. package/src/plugins/kriya/types/pools.d.ts +8 -0
  51. package/src/plugins/orca/getWhirlpoolPositions.js +49 -107
  52. package/src/plugins/orca/getWhirlpoolPositions.js.map +1 -1
  53. package/src/plugins/orca/index.js +2 -1
  54. package/src/plugins/orca/index.js.map +1 -1
  55. package/src/plugins/orca/types.d.ts +6 -0
  56. package/src/plugins/orca/types.js +3 -0
  57. package/src/plugins/orca/types.js.map +1 -0
  58. package/src/plugins/orca/whirlpoolsStatsJob.d.ts +3 -0
  59. package/src/plugins/orca/whirlpoolsStatsJob.js +51 -0
  60. package/src/plugins/orca/whirlpoolsStatsJob.js.map +1 -0
  61. package/src/plugins/raydium/getRaydiumCLMMPositions.js +32 -91
  62. package/src/plugins/raydium/getRaydiumCLMMPositions.js.map +1 -1
  63. package/src/plugins/turbos/clmmVaultFetcher.js +13 -51
  64. package/src/plugins/turbos/clmmVaultFetcher.js.map +1 -1
  65. package/src/plugins/turbos/clmmsPositionsFetcher.js +11 -48
  66. package/src/plugins/turbos/clmmsPositionsFetcher.js.map +1 -1
  67. package/src/utils/clmm/estPositionAPRWithDeltaMethod.d.ts +6 -0
  68. package/src/utils/clmm/estPositionAPRWithDeltaMethod.js +72 -0
  69. package/src/utils/clmm/estPositionAPRWithDeltaMethod.js.map +1 -0
  70. package/src/utils/elementbuilder/AssetBuilder.js +3 -3
  71. package/src/utils/elementbuilder/AssetBuilder.js.map +1 -1
  72. package/src/utils/elementbuilder/ConcentratedLiquidityParams.d.ts +16 -0
  73. package/src/utils/elementbuilder/ConcentratedLiquidityParams.js +3 -0
  74. package/src/utils/elementbuilder/ConcentratedLiquidityParams.js.map +1 -0
  75. package/src/utils/elementbuilder/ElementConcentratedLiquidityBuilder.d.ts +13 -0
  76. package/src/utils/elementbuilder/ElementConcentratedLiquidityBuilder.js +71 -0
  77. package/src/utils/elementbuilder/ElementConcentratedLiquidityBuilder.js.map +1 -0
  78. package/src/utils/elementbuilder/ElementRegistry.d.ts +5 -1
  79. package/src/utils/elementbuilder/ElementRegistry.js +10 -4
  80. package/src/utils/elementbuilder/ElementRegistry.js.map +1 -1
@@ -34,6 +34,13 @@ export type Pool = {
34
34
  uri: string;
35
35
  name: string;
36
36
  } & PoolImmutables;
37
+ export type PoolStat = {
38
+ vol_in_usd?: string;
39
+ vol_in_usd_24h?: string;
40
+ apr_24h?: string;
41
+ apr_7day?: string;
42
+ apr_30day?: string;
43
+ };
37
44
  export type SuiStructTag = {
38
45
  full_address: string;
39
46
  source_address: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cetus/types.ts"],"names":[],"mappings":";;;AAyDA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,yCAAqB,CAAA;IACrB,uCAAmB,CAAA;IACnB,6CAAyB,CAAA;AAC3B,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/cetus/types.ts"],"names":[],"mappings":";;;AAiEA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,yCAAqB,CAAA;IACrB,uCAAmB,CAAA;IACnB,6CAAyB,CAAA;AAC3B,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B"}
@@ -1,11 +1,5 @@
1
- import { NetworkIdType, Platform } from '@sonarwatch/portfolio-core';
1
+ import { Platform } from '@sonarwatch/portfolio-core';
2
+ import { CmcToken } from './types';
2
3
  export declare const platformId = "coinmarketcap";
3
4
  export declare const platform: Platform;
4
- export declare const cmcTokens: {
5
- slug: string;
6
- tokens: {
7
- mint: string;
8
- decimals: number;
9
- networkId: NetworkIdType;
10
- }[];
11
- }[];
5
+ export declare const cmcTokens: CmcToken[];
@@ -8,10 +8,6 @@ exports.platformId = 'coinmarketcap';
8
8
  exports.platform = {
9
9
  id: exports.platformId,
10
10
  name: 'CoinMarketCap',
11
- image: 'https://sonar.watch/img/platforms/coinmarketcap.webp',
12
- // defiLlamaId: 'pyth-network', // from https://defillama.com/docs/api
13
- website: 'https://coinmarketcap.com/',
14
- // twitter: 'https://twitter.com/PythNetwork',
15
11
  };
16
12
  exports.cmcTokens = [
17
13
  {
@@ -84,5 +80,25 @@ exports.cmcTokens = [
84
80
  },
85
81
  ],
86
82
  },
83
+ {
84
+ slug: 'bonk1',
85
+ tokens: [
86
+ {
87
+ mint: 'DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263',
88
+ decimals: 5,
89
+ networkId: portfolio_core_1.NetworkId.solana,
90
+ },
91
+ ],
92
+ },
93
+ {
94
+ slug: 'dogwifhat',
95
+ tokens: [
96
+ {
97
+ mint: 'EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm',
98
+ decimals: 6,
99
+ networkId: portfolio_core_1.NetworkId.solana,
100
+ },
101
+ ],
102
+ },
87
103
  ];
88
104
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/coinmarketcap/constants.ts"],"names":[],"mappings":";;;AAAA,+DAWoC;AACpC,yDAKmC;AACnC,+CAAwE;AAE3D,QAAA,UAAU,GAAG,eAAe,CAAC;AAC7B,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,sDAAsD;IAC7D,sEAAsE;IACtE,OAAO,EAAE,4BAA4B;IACrC,8CAA8C;CAC/C,CAAC;AAEW,QAAA,SAAS,GAGhB;IACJ;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,oCAAmB;gBACzB,QAAQ,EAAE,qCAAoB;gBAC9B,SAAS,EAAE,0BAAS,CAAC,MAAM;aAC5B;YACD;gBACE,IAAI,EAAE,2CAA0B;gBAChC,QAAQ,EAAE,qCAAoB;gBAC9B,SAAS,EAAE,0BAAS,CAAC,MAAM;aAC5B;SACF;KACF;IACD;QACE,IAAI,EAAE,KAAK;QACX,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,iCAAgB;gBACtB,QAAQ,EAAE,kCAAiB;gBAC3B,SAAS,EAAE,0BAAS,CAAC,GAAG;aACzB;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,kCAAiB;gBAC3B,SAAS,EAAE,0BAAS,CAAC,GAAG;aACzB;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,mCAAkB;gBACxB,QAAQ,EAAE,oCAAmB;gBAC7B,SAAS,EAAE,0BAAS,CAAC,KAAK;aAC3B;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,wBAAY;gBAClB,QAAQ,EAAE,4BAAgB;gBAC1B,SAAS,EAAE,0BAAS,CAAC,GAAG;aACzB;YACD;gBACE,IAAI,EAAE,uBAAW;gBACjB,QAAQ,EAAE,2BAAe;gBACzB,SAAS,EAAE,0BAAS,CAAC,GAAG;aACzB;YACD;gBACE,IAAI,EAAE,uBAAc;gBACpB,QAAQ,EAAE,2BAAkB;gBAC5B,SAAS,EAAE,0BAAS,CAAC,MAAM;aAC5B;SACF;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,8CAA8C;gBACpD,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,0BAAS,CAAC,MAAM;aAC5B;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/coinmarketcap/constants.ts"],"names":[],"mappings":";;;AAAA,+DAUoC;AACpC,yDAKmC;AACnC,+CAAwE;AAG3D,QAAA,UAAU,GAAG,eAAe,CAAC;AAC7B,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,eAAe;CACtB,CAAC;AAEW,QAAA,SAAS,GAAe;IACnC;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,oCAAmB;gBACzB,QAAQ,EAAE,qCAAoB;gBAC9B,SAAS,EAAE,0BAAS,CAAC,MAAM;aAC5B;YACD;gBACE,IAAI,EAAE,2CAA0B;gBAChC,QAAQ,EAAE,qCAAoB;gBAC9B,SAAS,EAAE,0BAAS,CAAC,MAAM;aAC5B;SACF;KACF;IACD;QACE,IAAI,EAAE,KAAK;QACX,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,iCAAgB;gBACtB,QAAQ,EAAE,kCAAiB;gBAC3B,SAAS,EAAE,0BAAS,CAAC,GAAG;aACzB;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,kCAAiB;gBAC3B,SAAS,EAAE,0BAAS,CAAC,GAAG;aACzB;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,mCAAkB;gBACxB,QAAQ,EAAE,oCAAmB;gBAC7B,SAAS,EAAE,0BAAS,CAAC,KAAK;aAC3B;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,wBAAY;gBAClB,QAAQ,EAAE,4BAAgB;gBAC1B,SAAS,EAAE,0BAAS,CAAC,GAAG;aACzB;YACD;gBACE,IAAI,EAAE,uBAAW;gBACjB,QAAQ,EAAE,2BAAe;gBACzB,SAAS,EAAE,0BAAS,CAAC,GAAG;aACzB;YACD;gBACE,IAAI,EAAE,uBAAc;gBACpB,QAAQ,EAAE,2BAAkB;gBAC5B,SAAS,EAAE,0BAAS,CAAC,MAAM;aAC5B;SACF;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,8CAA8C;gBACpD,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,0BAAS,CAAC,MAAM;aAC5B;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,8CAA8C;gBACpD,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,0BAAS,CAAC,MAAM;aAC5B;SACF;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,8CAA8C;gBACpD,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,0BAAS,CAAC,MAAM;aAC5B;SACF;KACF;CACF,CAAC"}
@@ -16,19 +16,21 @@ const axios_1 = __importDefault(require("axios"));
16
16
  const constants_1 = require("../tokens/constants");
17
17
  const constants_2 = require("./constants");
18
18
  const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
19
+ if (!process.env['PORTFOLIO_CMC_API_KEY'])
20
+ throw Error('PORTFOLIO_CMC_API_KEY is not defined');
19
21
  const url = `https://pro-api.coinmarketcap.com/v2/cryptocurrency/quotes/latest?slug=${constants_2.cmcTokens
20
22
  .map((t) => t.slug)
21
- .join(',')}&CMC_PRO_API_KEY=${'86388059-e077-420d-8512-74496d323918'}`;
22
- const quotesRes = yield axios_1.default.get(url).catch(() => null);
23
+ .join(',')}&CMC_PRO_API_KEY=${process.env['PORTFOLIO_CMC_API_KEY']}`;
24
+ const quotesRes = yield axios_1.default.get(url);
23
25
  const sources = [];
24
- Object.values((quotesRes === null || quotesRes === void 0 ? void 0 : quotesRes.data.data) || {}).forEach((coin) => {
26
+ Object.values(quotesRes.data.data || {}).forEach((coin) => {
25
27
  const tokenConf = constants_2.cmcTokens.find((t) => t.slug === coin.slug);
26
28
  if (!tokenConf)
27
29
  return;
28
30
  tokenConf.tokens.forEach((token) => {
29
31
  sources.push({
30
32
  address: token.mint,
31
- id: `coinmarketcap-${coin.slug}`,
33
+ id: `${constants_2.platformId}-${coin.slug}`,
32
34
  decimals: token.decimals,
33
35
  networkId: token.networkId,
34
36
  platformId: constants_1.walletTokensPlatform.id,
@@ -43,7 +45,7 @@ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
43
45
  const job = {
44
46
  id: `${constants_2.platformId}-pricing`,
45
47
  executor,
46
- label: 'realtime',
48
+ label: 'coingecko',
47
49
  };
48
50
  exports.default = job;
49
51
  //# sourceMappingURL=pricingJob.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pricingJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/coinmarketcap/pricingJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,kDAA6C;AAC7C,mDAA2D;AAG3D,2CAAoD;AAEpD,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,GAAG,GAAG,0EAA0E,qBAAS;SAC5F,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,IAAI,CAAC,GAAG,CAAC,oBAAoB,sCAAsC,EAAE,CAAC;IAEzE,MAAM,SAAS,GAWH,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,MAAM,CAAC,MAAM,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAC,IAAI,KAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACzD,MAAM,SAAS,GAAG,qBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,KAAK,CAAC,IAAI;gBACnB,EAAE,EAAE,iBAAiB,IAAI,CAAC,IAAI,EAAE;gBAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,gCAAoB,CAAC,EAAE;gBACnC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK;gBAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,MAAM,EAAE,CAAC;aACV,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AACF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,QAAQ;IACR,KAAK,EAAE,UAAU;CAClB,CAAC;AACF,kBAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"pricingJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/coinmarketcap/pricingJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,kDAA6C;AAC7C,mDAA2D;AAG3D,2CAAoD;AAGpD,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QACvC,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAEtD,MAAM,GAAG,GAAG,0EAA0E,qBAAS;SAC5F,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,IAAI,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;IAEvE,MAAM,SAAS,GAA6B,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEjE,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxD,MAAM,SAAS,GAAG,qBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,KAAK,CAAC,IAAI;gBACnB,EAAE,EAAE,GAAG,sBAAU,IAAI,IAAI,CAAC,IAAI,EAAE;gBAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,gCAAoB,CAAC,EAAE;gBACnC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK;gBAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,MAAM,EAAE,CAAC;aACV,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,UAAU;IAC3B,QAAQ;IACR,KAAK,EAAE,WAAW;CACnB,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { NetworkIdType } from '@sonarwatch/portfolio-core';
2
+ export type QuotesRes = {
3
+ data: {
4
+ [key: string]: {
5
+ slug: string;
6
+ quote: {
7
+ USD: {
8
+ price: number;
9
+ };
10
+ };
11
+ };
12
+ };
13
+ };
14
+ export type CmcToken = {
15
+ slug: string;
16
+ tokens: {
17
+ mint: string;
18
+ decimals: number;
19
+ networkId: NetworkIdType;
20
+ }[];
21
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/coinmarketcap/types.ts"],"names":[],"mappings":""}
@@ -8,19 +8,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  const portfolio_core_1 = require("@sonarwatch/portfolio-core");
16
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
17
13
  const constants_1 = require("./constants");
18
14
  const clients_1 = require("../../utils/clients");
19
15
  const getOwnedObjects_1 = require("../../utils/sui/getOwnedObjects");
20
- const tokenAmountFromLiquidity_1 = require("../../utils/clmm/tokenAmountFromLiquidity");
21
- const tokenPriceToAssetToken_1 = __importDefault(require("../../utils/misc/tokenPriceToAssetToken"));
22
16
  const multiGetObjects_1 = require("../../utils/sui/multiGetObjects");
23
17
  const bitsToNumber_1 = require("../../utils/sui/bitsToNumber");
18
+ const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
24
19
  const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
25
20
  const client = (0, clients_1.getClientSui)();
26
21
  const positions = yield (0, getOwnedObjects_1.getOwnedObjects)(client, owner, {
@@ -41,11 +36,8 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
41
36
  if ((_f = (_e = position.data) === null || _e === void 0 ? void 0 : _e.content) === null || _f === void 0 ? void 0 : _f.fields.pool_id)
42
37
  poolsIds.add((_h = (_g = position.data) === null || _g === void 0 ? void 0 : _g.content) === null || _h === void 0 ? void 0 : _h.fields.pool_id);
43
38
  });
44
- const [tokenPrices, pools] = yield Promise.all([
45
- cache.getTokenPricesAsMap(mints, portfolio_core_1.NetworkId.sui),
46
- (0, multiGetObjects_1.multiGetObjects)(client, Array.from(poolsIds.values())),
47
- ]);
48
- const liquidities = [];
39
+ const pools = yield (0, multiGetObjects_1.multiGetObjects)(client, Array.from(poolsIds.values()));
40
+ const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.sui, constants_1.platformId);
49
41
  positions.forEach((position) => {
50
42
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
51
43
  if (!((_b = (_a = position.data) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.fields.liquidity))
@@ -55,41 +47,17 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
55
47
  const pool = pools.find((p) => { var _a, _b, _c; return ((_a = p.data) === null || _a === void 0 ? void 0 : _a.objectId) === ((_c = (_b = position.data) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.fields.pool_id); });
56
48
  if (!((_f = (_e = pool === null || pool === void 0 ? void 0 : pool.data) === null || _e === void 0 ? void 0 : _e.content) === null || _f === void 0 ? void 0 : _f.fields))
57
49
  return;
58
- const tokenPriceX = tokenPrices.get((0, portfolio_core_1.formatMoveTokenAddress)(position.data.content.fields.coin_type_x.fields.name));
59
- const tokenPriceY = tokenPrices.get((0, portfolio_core_1.formatMoveTokenAddress)(position.data.content.fields.coin_type_y.fields.name));
60
- if (!tokenPriceX || !tokenPriceY)
61
- return;
62
- const tokenAmounts = (0, tokenAmountFromLiquidity_1.getTokenAmountsFromLiquidity)(new bignumber_js_1.default((_h = (_g = position.data) === null || _g === void 0 ? void 0 : _g.content) === null || _h === void 0 ? void 0 : _h.fields.liquidity), (0, bitsToNumber_1.bitsToNumber)((_k = (_j = pool === null || pool === void 0 ? void 0 : pool.data) === null || _j === void 0 ? void 0 : _j.content) === null || _k === void 0 ? void 0 : _k.fields.tick_index.fields.bits), (0, bitsToNumber_1.bitsToNumber)((_m = (_l = position.data) === null || _l === void 0 ? void 0 : _l.content) === null || _m === void 0 ? void 0 : _m.fields.tick_lower_index.fields.bits), (0, bitsToNumber_1.bitsToNumber)((_p = (_o = position.data) === null || _o === void 0 ? void 0 : _o.content) === null || _p === void 0 ? void 0 : _p.fields.tick_upper_index.fields.bits), false);
63
- const assetX = (0, tokenPriceToAssetToken_1.default)(tokenPriceX.address, tokenAmounts.tokenAmountA
64
- .dividedBy(Math.pow(10, tokenPriceX.decimals))
65
- .toNumber(), portfolio_core_1.NetworkId.sui, tokenPriceX);
66
- const assetY = (0, tokenPriceToAssetToken_1.default)(tokenPriceY.address, tokenAmounts.tokenAmountB
67
- .dividedBy(Math.pow(10, tokenPriceY.decimals))
68
- .toNumber(), portfolio_core_1.NetworkId.sui, tokenPriceY);
69
- const value = (0, portfolio_core_1.getUsdValueSum)([assetX.value, assetY.value]);
70
- liquidities.push({
71
- assets: [assetX, assetY],
72
- assetsValue: value,
73
- rewardAssets: [],
74
- rewardAssetsValue: null,
75
- value,
76
- yields: [],
50
+ const element = elementRegistry.addElementConcentratedLiquidity();
51
+ element.setLiquidity({
52
+ addressA: position.data.content.fields.coin_type_x.fields.name,
53
+ addressB: position.data.content.fields.coin_type_y.fields.name,
54
+ liquidity: (_h = (_g = position.data) === null || _g === void 0 ? void 0 : _g.content) === null || _h === void 0 ? void 0 : _h.fields.liquidity,
55
+ tickCurrentIndex: (0, bitsToNumber_1.bitsToNumber)((_k = (_j = pool === null || pool === void 0 ? void 0 : pool.data) === null || _j === void 0 ? void 0 : _j.content) === null || _k === void 0 ? void 0 : _k.fields.tick_index.fields.bits),
56
+ tickLowerIndex: (0, bitsToNumber_1.bitsToNumber)((_m = (_l = position.data) === null || _l === void 0 ? void 0 : _l.content) === null || _m === void 0 ? void 0 : _m.fields.tick_lower_index.fields.bits),
57
+ tickUpperIndex: (0, bitsToNumber_1.bitsToNumber)((_p = (_o = position.data) === null || _o === void 0 ? void 0 : _o.content) === null || _p === void 0 ? void 0 : _p.fields.tick_upper_index.fields.bits),
77
58
  });
78
59
  });
79
- if (liquidities.length === 0)
80
- return [];
81
- return [
82
- {
83
- type: portfolio_core_1.PortfolioElementType.liquidity,
84
- networkId: portfolio_core_1.NetworkId.sui,
85
- platformId: constants_1.platformId,
86
- label: 'LiquidityPool',
87
- value: (0, portfolio_core_1.getUsdValueSum)(liquidities.map((a) => a.value)),
88
- data: {
89
- liquidities,
90
- },
91
- },
92
- ];
60
+ return elementRegistry.getElements(cache);
93
61
  });
94
62
  const fetcher = {
95
63
  id: `${constants_1.platformId}-staking-pool-v3`,
@@ -1 +1 @@
1
- {"version":3,"file":"stakingPoolV3Fetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/flowx/stakingPoolV3Fetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stakingPoolV3Fetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/flowx/stakingPoolV3Fetcher.ts"],"names":[],"mappings":"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"}
@@ -8,15 +8,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  const portfolio_core_1 = require("@sonarwatch/portfolio-core");
16
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
17
13
  const constants_1 = require("./constants");
18
14
  const clients_1 = require("../../utils/clients");
19
- const tokenAmountFromLiquidity_1 = require("../../utils/clmm/tokenAmountFromLiquidity");
20
15
  const getOwnedObjects_1 = require("../../utils/sui/getOwnedObjects");
21
16
  const multiGetObjects_1 = require("../../utils/sui/multiGetObjects");
22
17
  const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
@@ -39,8 +34,12 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
39
34
  return [];
40
35
  const poolsIds = clmmPositions.map((position) => position.pool_id);
41
36
  const poolsById = new Map();
42
- const poolsObjects = yield (0, multiGetObjects_1.multiGetObjects)(client, [
43
- ...new Set(poolsIds),
37
+ const [poolsObjects, poolsStats] = yield Promise.all([
38
+ (0, multiGetObjects_1.multiGetObjects)(client, [...new Set(poolsIds)]),
39
+ cache.getItem(constants_1.farmsStatsInfoKey, {
40
+ prefix: constants_1.platformId,
41
+ networkId: portfolio_core_1.NetworkId.sui,
42
+ }),
44
43
  ]);
45
44
  poolsObjects.forEach((poolObj) => {
46
45
  var _a, _b, _c, _d;
@@ -50,25 +49,23 @@ const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* (
50
49
  });
51
50
  const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.sui, constants_1.platformId);
52
51
  clmmPositions.forEach((clmmPosition) => {
52
+ var _a;
53
53
  const pool = poolsById.get(clmmPosition.pool_id);
54
54
  if (!pool)
55
55
  return;
56
- const { tokenAmountA, tokenAmountB } = (0, tokenAmountFromLiquidity_1.getTokenAmountsFromLiquidity)(new bignumber_js_1.default(clmmPosition.liquidity), (0, bitsToNumber_1.bitsToNumber)(pool.tick_index.fields.bits), (0, bitsToNumber_1.bitsToNumber)(clmmPosition.tick_lower_index.fields.bits), (0, bitsToNumber_1.bitsToNumber)(clmmPosition.tick_upper_index.fields.bits), false);
57
- const element = elementRegistry.addElementLiquidity({
58
- label: 'LiquidityPool',
59
- tags: ['Concentrated'],
60
- });
61
- const liquidity = element.addLiquidity();
62
- liquidity.addAsset({
63
- address: pool.type_x.fields.name,
64
- amount: tokenAmountA,
65
- });
66
- liquidity.addAsset({
67
- address: pool.type_y.fields.name,
68
- amount: tokenAmountB,
56
+ const element = elementRegistry.addElementConcentratedLiquidity();
57
+ element.setLiquidity({
58
+ addressA: pool.type_x.fields.name,
59
+ addressB: pool.type_y.fields.name,
60
+ liquidity: clmmPosition.liquidity,
61
+ tickCurrentIndex: (0, bitsToNumber_1.bitsToNumber)(pool.tick_index.fields.bits),
62
+ tickLowerIndex: (0, bitsToNumber_1.bitsToNumber)(clmmPosition.tick_lower_index.fields.bits),
63
+ tickUpperIndex: (0, bitsToNumber_1.bitsToNumber)(clmmPosition.tick_upper_index.fields.bits),
64
+ currentSqrtPrice: pool.sqrt_price,
65
+ poolLiquidity: pool.liquidity,
66
+ feeRate: Number(pool.swap_fee_rate) / 10000,
67
+ swapVolume24h: (_a = (poolsStats || []).find((p) => p.pool_id === clmmPosition.pool_id)) === null || _a === void 0 ? void 0 : _a.volume_24h,
69
68
  });
70
- if (tokenAmountA.isZero() || tokenAmountB.isZero())
71
- element.addTag('Out Of Range');
72
69
  });
73
70
  return elementRegistry.getElements(cache);
74
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"clmmsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kriya/clmmsFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clmmsFetcher.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kriya/clmmsFetcher.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,12 @@ export declare const vaultStakeReceipt = "0xba0dd78bdd5d1b5f02a689444522ea9a79e1
12
12
  export declare const vaultsInfoKey = "vaultsInfos";
13
13
  export declare const leverageVaultsInfoKey = "leverageVaultsInfos";
14
14
  export declare const farmsInfoKey = "farmsInfos";
15
+ export declare const farmsStatsInfoKey = "farmsStatsInfos";
15
16
  export declare const vaultsUrl = "https://88ob93rfva.execute-api.ap-southeast-1.amazonaws.com/release/vaults";
16
17
  export declare const poolsUrl = "https://xd0ljetd33.execute-api.ap-southeast-1.amazonaws.com/release/pools";
17
18
  export declare const leverageVaultsUrl = "https://4sacq88271.execute-api.ap-southeast-1.amazonaws.com/release/vaults";
19
+ export declare const poolsStats = "https://zunzoiv8l6.execute-api.ap-southeast-1.amazonaws.com/prod/pools/extended";
18
20
  export declare const vaultsInfo: VaultConfig[];
19
21
  export declare const dynamicFieldPositionTypeCetus = "0x2::dynamic_field::Field<vector<u8>, 0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::position::Position>";
20
22
  export declare const dynamicFieldPositionTypeKriya = "0x2::dynamic_field::Field<vector<u8>, 0xf6c05e2d9301e6e91dc6ab6c3ca918f7d55896e1f1edd64adc0e615cde27ebf1::position::Position>";
23
+ export declare const KRIYA_V3_BASE_URL = "https://zunzoiv8l6.execute-api.ap-southeast-1.amazonaws.com/prod";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dynamicFieldPositionTypeKriya = exports.dynamicFieldPositionTypeCetus = exports.vaultsInfo = exports.leverageVaultsUrl = exports.poolsUrl = exports.vaultsUrl = exports.farmsInfoKey = exports.leverageVaultsInfoKey = exports.vaultsInfoKey = exports.vaultStakeReceipt = exports.clmmType = exports.lpPositionTypeV2 = exports.clmmPoolPackageId = exports.poolsV2PackageId = exports.farmsPackageId = exports.vaultsPackageId = exports.platform = exports.platformId = void 0;
3
+ exports.KRIYA_V3_BASE_URL = exports.dynamicFieldPositionTypeKriya = exports.dynamicFieldPositionTypeCetus = exports.vaultsInfo = exports.poolsStats = exports.leverageVaultsUrl = exports.poolsUrl = exports.vaultsUrl = exports.farmsStatsInfoKey = exports.farmsInfoKey = exports.leverageVaultsInfoKey = exports.vaultsInfoKey = exports.vaultStakeReceipt = exports.clmmType = exports.lpPositionTypeV2 = exports.clmmPoolPackageId = exports.poolsV2PackageId = exports.farmsPackageId = exports.vaultsPackageId = exports.platform = exports.platformId = void 0;
4
4
  const common_1 = require("./types/common");
5
5
  exports.platformId = 'kriya';
6
6
  exports.platform = {
@@ -21,9 +21,11 @@ exports.vaultStakeReceipt = '0xba0dd78bdd5d1b5f02a689444522ea9a79e1bc4cd4d8e6a57
21
21
  exports.vaultsInfoKey = 'vaultsInfos';
22
22
  exports.leverageVaultsInfoKey = 'leverageVaultsInfos';
23
23
  exports.farmsInfoKey = 'farmsInfos';
24
+ exports.farmsStatsInfoKey = 'farmsStatsInfos';
24
25
  exports.vaultsUrl = 'https://88ob93rfva.execute-api.ap-southeast-1.amazonaws.com/release/vaults';
25
26
  exports.poolsUrl = 'https://xd0ljetd33.execute-api.ap-southeast-1.amazonaws.com/release/pools';
26
27
  exports.leverageVaultsUrl = 'https://4sacq88271.execute-api.ap-southeast-1.amazonaws.com/release/vaults';
28
+ exports.poolsStats = 'https://zunzoiv8l6.execute-api.ap-southeast-1.amazonaws.com/prod/pools/extended';
27
29
  exports.vaultsInfo = [
28
30
  {
29
31
  tokenType: '0xc4ee7b00ea981402a6285b14ffa5dcd1ee7f97eb2a91df3bcc04fa88c56ac7d7::kc_allweather_vt::KC_ALLWEATHER_VT',
@@ -82,4 +84,5 @@ exports.vaultsInfo = [
82
84
  ];
83
85
  exports.dynamicFieldPositionTypeCetus = '0x2::dynamic_field::Field<vector<u8>, 0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::position::Position>';
84
86
  exports.dynamicFieldPositionTypeKriya = '0x2::dynamic_field::Field<vector<u8>, 0xf6c05e2d9301e6e91dc6ab6c3ca918f7d55896e1f1edd64adc0e615cde27ebf1::position::Position>';
87
+ exports.KRIYA_V3_BASE_URL = 'https://zunzoiv8l6.execute-api.ap-southeast-1.amazonaws.com/prod';
85
88
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kriya/constants.ts"],"names":[],"mappings":";;;AACA,2CAAkD;AAErC,QAAA,UAAU,GAAG,OAAO,CAAC;AACrB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,8CAA8C;IACrD,WAAW,EAAE,iBAAiB,EAAE,sCAAsC;IACtE,OAAO,EAAE,gCAAgC;IACzC,OAAO,EAAE,8BAA8B;CACxC,CAAC;AAEW,QAAA,eAAe,GAC1B,oEAAoE,CAAC;AAC1D,QAAA,cAAc,GACzB,oEAAoE,CAAC;AAC1D,QAAA,gBAAgB,GAC3B,oEAAoE,CAAC;AAC1D,QAAA,iBAAiB,GAC5B,oEAAoE,CAAC;AAC1D,QAAA,gBAAgB,GAAG,GAAG,wBAAgB,0BAA0B,CAAC;AACjE,QAAA,QAAQ,GAAG,GAAG,yBAAiB,sBAAsB,CAAC;AACtD,QAAA,iBAAiB,GAC5B,wFAAwF,CAAC;AAE9E,QAAA,aAAa,GAAG,aAAa,CAAC;AAC9B,QAAA,qBAAqB,GAAG,qBAAqB,CAAC;AAC9C,QAAA,YAAY,GAAG,YAAY,CAAC;AAE5B,QAAA,SAAS,GACpB,4EAA4E,CAAC;AAClE,QAAA,QAAQ,GACnB,2EAA2E,CAAC;AACjE,QAAA,iBAAiB,GAC5B,4EAA4E,CAAC;AAElE,QAAA,UAAU,GAAkB;IACvC;QACE,SAAS,EACP,wGAAwG;QAC1G,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,4GAA4G;QAC9G,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,8FAA8F;QAChG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,EAAE,EAAE,oEAAoE;QACxE,SAAS,EACP,8GAA8G;QAChH,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,EAAE,EAAE,oEAAoE;QACxE,SAAS,EACP,oGAAoG;QACtG,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,oGAAoG;QACtG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,sGAAsG;QACxG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,8GAA8G;QAChH,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,kGAAkG;QACpG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;CACF,CAAC;AAEW,QAAA,6BAA6B,GACxC,+HAA+H,CAAC;AACrH,QAAA,6BAA6B,GACxC,+HAA+H,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kriya/constants.ts"],"names":[],"mappings":";;;AACA,2CAAkD;AAErC,QAAA,UAAU,GAAG,OAAO,CAAC;AACrB,QAAA,QAAQ,GAAa;IAChC,EAAE,EAAE,kBAAU;IACd,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,8CAA8C;IACrD,WAAW,EAAE,iBAAiB,EAAE,sCAAsC;IACtE,OAAO,EAAE,gCAAgC;IACzC,OAAO,EAAE,8BAA8B;CACxC,CAAC;AAEW,QAAA,eAAe,GAC1B,oEAAoE,CAAC;AAC1D,QAAA,cAAc,GACzB,oEAAoE,CAAC;AAC1D,QAAA,gBAAgB,GAC3B,oEAAoE,CAAC;AAC1D,QAAA,iBAAiB,GAC5B,oEAAoE,CAAC;AAC1D,QAAA,gBAAgB,GAAG,GAAG,wBAAgB,0BAA0B,CAAC;AACjE,QAAA,QAAQ,GAAG,GAAG,yBAAiB,sBAAsB,CAAC;AACtD,QAAA,iBAAiB,GAC5B,wFAAwF,CAAC;AAE9E,QAAA,aAAa,GAAG,aAAa,CAAC;AAC9B,QAAA,qBAAqB,GAAG,qBAAqB,CAAC;AAC9C,QAAA,YAAY,GAAG,YAAY,CAAC;AAC5B,QAAA,iBAAiB,GAAG,iBAAiB,CAAC;AAEtC,QAAA,SAAS,GACpB,4EAA4E,CAAC;AAClE,QAAA,QAAQ,GACnB,2EAA2E,CAAC;AACjE,QAAA,iBAAiB,GAC5B,4EAA4E,CAAC;AAClE,QAAA,UAAU,GACrB,iFAAiF,CAAC;AAEvE,QAAA,UAAU,GAAkB;IACvC;QACE,SAAS,EACP,wGAAwG;QAC1G,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,4GAA4G;QAC9G,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,8FAA8F;QAChG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,EAAE,EAAE,oEAAoE;QACxE,SAAS,EACP,8GAA8G;QAChH,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,EAAE,EAAE,oEAAoE;QACxE,SAAS,EACP,oGAAoG;QACtG,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,oGAAoG;QACtG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,sGAAsG;QACxG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,8GAA8G;QAChH,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;IACD;QACE,SAAS,EACP,kGAAkG;QACpG,EAAE,EAAE,oEAAoE;QACxE,cAAc,EACZ,oEAAoE;QACtE,aAAa,EAAE,YAAG,CAAC,KAAK;KACzB;CACF,CAAC;AAEW,QAAA,6BAA6B,GACxC,+HAA+H,CAAC;AACrH,QAAA,6BAA6B,GACxC,+HAA+H,CAAC;AAErH,QAAA,iBAAiB,GAC5B,kEAAkE,CAAC"}
@@ -13,8 +13,14 @@ const leverageVaultsFetcher_1 = __importDefault(require("./leverageVaultsFetcher
13
13
  const leverageVaultsJob_1 = __importDefault(require("./leverageVaultsJob"));
14
14
  const clmmsFetcher_1 = __importDefault(require("./clmmsFetcher"));
15
15
  const lpFetcher_1 = __importDefault(require("./lpFetcher"));
16
+ const poolsStatsJob_1 = __importDefault(require("./poolsStatsJob"));
16
17
  exports.platforms = [constants_1.platform];
17
- exports.jobs = [vaultsJob_1.default, leverageVaultsJob_1.default, farmsJob_1.default];
18
+ exports.jobs = [
19
+ vaultsJob_1.default,
20
+ leverageVaultsJob_1.default,
21
+ farmsJob_1.default,
22
+ poolsStatsJob_1.default,
23
+ ];
18
24
  exports.fetchers = [
19
25
  vaultsFetcher_1.default,
20
26
  leverageVaultsFetcher_1.default,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kriya/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,oEAA4C;AAC5C,4DAAoC;AACpC,0DAAkC;AAClC,kEAA0C;AAC1C,oFAA4D;AAC5D,4EAAoD;AACpD,kEAA0C;AAC1C,4DAAoC;AAEvB,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU,CAAC,mBAAS,EAAE,2BAAiB,EAAE,kBAAQ,CAAC,CAAC;AACvD,QAAA,QAAQ,GAAc;IACjC,uBAAa;IACb,+BAAqB;IACrB,sBAAY;IACZ,sBAAY;IACZ,mBAAS;CACV,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kriya/index.ts"],"names":[],"mappings":";;;;;;AAGA,2CAAuC;AACvC,oEAA4C;AAC5C,4DAAoC;AACpC,0DAAkC;AAClC,kEAA0C;AAC1C,oFAA4D;AAC5D,4EAAoD;AACpD,kEAA0C;AAC1C,4DAAoC;AACpC,oEAA4C;AAE/B,QAAA,SAAS,GAAe,CAAC,oBAAQ,CAAC,CAAC;AACnC,QAAA,IAAI,GAAU;IACzB,mBAAS;IACT,2BAAiB;IACjB,kBAAQ;IACR,uBAAa;CACd,CAAC;AACW,QAAA,QAAQ,GAAc;IACjC,uBAAa;IACb,+BAAqB;IACrB,sBAAY;IACZ,sBAAY;IACZ,mBAAS;CACV,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '../../Job';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const axios_1 = __importDefault(require("axios"));
16
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
17
+ const constants_1 = require("./constants");
18
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
19
+ const apiRes = yield axios_1.default
20
+ .get(constants_1.poolsStats)
21
+ .catch(() => null);
22
+ if (!apiRes)
23
+ return;
24
+ const poolsInfo = [];
25
+ for (const pool of apiRes.data) {
26
+ poolsInfo.push({
27
+ pool_id: pool.pool_id,
28
+ volume_24h: pool.volume_24h,
29
+ fee_collected_24h: pool.fee_collected_24h,
30
+ fee_rate: pool.fee_rate,
31
+ apy: pool.apy,
32
+ tvl: pool.tvl,
33
+ });
34
+ }
35
+ yield cache.setItem(constants_1.farmsStatsInfoKey, poolsInfo, {
36
+ prefix: constants_1.platformId,
37
+ networkId: portfolio_core_1.NetworkId.sui,
38
+ });
39
+ });
40
+ const job = {
41
+ id: `${constants_1.platformId}-pools-stats`,
42
+ executor,
43
+ label: 'normal',
44
+ };
45
+ exports.default = job;
46
+ //# sourceMappingURL=poolsStatsJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolsStatsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/kriya/poolsStatsJob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA6C;AAC7C,+DAAuD;AAGvD,2CAAwE;AAGxE,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,MAAM,GAAqC,MAAM,eAAK;SACzD,GAAG,CAAC,sBAAU,CAAC;SACf,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAErB,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,CAAC,OAAO,CAAC,6BAAiB,EAAE,SAAS,EAAE;QAChD,MAAM,EAAE,sBAAU;QAClB,SAAS,EAAE,0BAAS,CAAC,GAAG;KACzB,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,cAAc;IAC/B,QAAQ;IACR,KAAK,EAAE,QAAQ;CAChB,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -129,3 +129,11 @@ export type TickBitmapFields = {
129
129
  id: ID;
130
130
  size: string;
131
131
  };
132
+ export type PoolStat = {
133
+ pool_id: string;
134
+ volume_24h: string;
135
+ fee_collected_24h: string;
136
+ fee_rate: string;
137
+ tvl: string;
138
+ apy: string;
139
+ };