@sonarwatch/portfolio-plugins 0.15.36 → 0.15.37

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 (109) hide show
  1. package/CHANGELOG.md +2818 -2795
  2. package/README.md +3 -3
  3. package/package.json +1 -1
  4. package/src/Cache.js +9 -2
  5. package/src/Cache.js.map +1 -1
  6. package/src/memoryDriver.d.ts +1 -1
  7. package/src/overlayDriver.d.ts +1 -1
  8. package/src/plugins/balancer/helpers/pools.js +21 -21
  9. package/src/plugins/cropper/whirlpoolFetcher.js +2 -1
  10. package/src/plugins/cropper/whirlpoolFetcher.js.map +1 -1
  11. package/src/plugins/cudis/airdropFetcher.js +0 -1
  12. package/src/plugins/cudis/airdropFetcher.js.map +1 -1
  13. package/src/plugins/cudis/stakingFetcher.js +0 -1
  14. package/src/plugins/cudis/stakingFetcher.js.map +1 -1
  15. package/src/plugins/helium/constants.d.ts +1 -0
  16. package/src/plugins/helium/constants.js +2 -1
  17. package/src/plugins/helium/constants.js.map +1 -1
  18. package/src/plugins/helium/getHeliumPositions.d.ts +2 -2
  19. package/src/plugins/helium/getHeliumPositions.js +2 -1
  20. package/src/plugins/helium/getHeliumPositions.js.map +1 -1
  21. package/src/plugins/helium/positionsFetcher.js +2 -1
  22. package/src/plugins/helium/positionsFetcher.js.map +1 -1
  23. package/src/plugins/metaplex/constants.d.ts +1 -1
  24. package/src/plugins/metaplex/constants.js +2 -2
  25. package/src/plugins/metaplex/constants.js.map +1 -1
  26. package/src/plugins/metaplex/helpers.js +3 -3
  27. package/src/plugins/metaplex/helpers.js.map +1 -1
  28. package/src/plugins/metaplex/index.js +1 -5
  29. package/src/plugins/metaplex/index.js.map +1 -1
  30. package/src/plugins/metaplex/resizableNftFetcher.d.ts +3 -0
  31. package/src/plugins/metaplex/resizableNftFetcher.js +8 -3
  32. package/src/plugins/metaplex/resizableNftFetcher.js.map +1 -1
  33. package/src/plugins/metaplex/structs.d.ts +53 -0
  34. package/src/plugins/metaplex/structs.js +49 -0
  35. package/src/plugins/metaplex/structs.js.map +1 -0
  36. package/src/plugins/meteora/cpamm/cpammPositionsFetcher.d.ts +3 -0
  37. package/src/plugins/meteora/cpamm/cpammPositionsFetcher.js +10 -2
  38. package/src/plugins/meteora/cpamm/cpammPositionsFetcher.js.map +1 -1
  39. package/src/plugins/meteora/index.js +0 -2
  40. package/src/plugins/meteora/index.js.map +1 -1
  41. package/src/plugins/orca/getWhirlpoolPositions.d.ts +2 -2
  42. package/src/plugins/orca/getWhirlpoolPositions.js +5 -3
  43. package/src/plugins/orca/getWhirlpoolPositions.js.map +1 -1
  44. package/src/plugins/orca/helpers.d.ts +0 -2
  45. package/src/plugins/orca/helpers.js +1 -5
  46. package/src/plugins/orca/helpers.js.map +1 -1
  47. package/src/plugins/orca/whirlpoolFetcher.js +2 -1
  48. package/src/plugins/orca/whirlpoolFetcher.js.map +1 -1
  49. package/src/plugins/picasso/constants.d.ts +1 -0
  50. package/src/plugins/picasso/constants.js +2 -1
  51. package/src/plugins/picasso/constants.js.map +1 -1
  52. package/src/plugins/picasso/getPicassoPositions.d.ts +2 -2
  53. package/src/plugins/picasso/getPicassoPositions.js +2 -1
  54. package/src/plugins/picasso/getPicassoPositions.js.map +1 -1
  55. package/src/plugins/picasso/helpers.js +1 -1
  56. package/src/plugins/picasso/helpers.js.map +1 -1
  57. package/src/plugins/picasso/positionsFetcher.js +2 -1
  58. package/src/plugins/picasso/positionsFetcher.js.map +1 -1
  59. package/src/plugins/raydium/clmmFetcher.d.ts +3 -0
  60. package/src/plugins/raydium/clmmFetcher.js +96 -3
  61. package/src/plugins/raydium/clmmFetcher.js.map +1 -1
  62. package/src/plugins/raydium/helpers.d.ts +1 -2
  63. package/src/plugins/raydium/helpers.js +1 -5
  64. package/src/plugins/raydium/helpers.js.map +1 -1
  65. package/src/plugins/raydium/structs/clmms.d.ts +1 -0
  66. package/src/plugins/raydium/structs/clmms.js +2 -1
  67. package/src/plugins/raydium/structs/clmms.js.map +1 -1
  68. package/src/plugins/sushiswap/helpers.js +24 -24
  69. package/src/plugins/tokens/fetchers/solana-native.js +11 -21
  70. package/src/plugins/tokens/fetchers/solana-native.js.map +1 -1
  71. package/src/plugins/tokens/fetchers/solana-simple.js +4 -43
  72. package/src/plugins/tokens/fetchers/solana-simple.js.map +1 -1
  73. package/src/plugins/tokens/fetchers/solana.d.ts +4 -0
  74. package/src/plugins/tokens/fetchers/solana.js +86 -104
  75. package/src/plugins/tokens/fetchers/solana.js.map +1 -1
  76. package/src/plugins/tokens/index.js +2 -4
  77. package/src/plugins/tokens/index.js.map +1 -1
  78. package/src/plugins/tokens/types.d.ts +2 -2
  79. package/src/plugins/uniswap-v2/helpers.js +22 -22
  80. package/src/plugins/zeta/airdropFetcher.js +14 -14
  81. package/src/utils/elementbuilder/AssetCollectibleBuilder.js +5 -6
  82. package/src/utils/elementbuilder/AssetCollectibleBuilder.js.map +1 -1
  83. package/src/utils/elementbuilder/AssetGenericBuilder.js +1 -1
  84. package/src/utils/elementbuilder/AssetGenericBuilder.js.map +1 -1
  85. package/src/utils/elementbuilder/AssetTokenBuilder.d.ts +2 -1
  86. package/src/utils/elementbuilder/AssetTokenBuilder.js +2 -1
  87. package/src/utils/elementbuilder/AssetTokenBuilder.js.map +1 -1
  88. package/src/utils/elementbuilder/ElementLeverageBuilder.js +2 -2
  89. package/src/utils/elementbuilder/ElementLeverageBuilder.js.map +1 -1
  90. package/src/utils/elementbuilder/LevPositionBuilder.js +2 -2
  91. package/src/utils/elementbuilder/LevPositionBuilder.js.map +1 -1
  92. package/src/utils/elementbuilder/Params.d.ts +2 -1
  93. package/src/utils/misc/tokenPriceToAssetToken.js +5 -2
  94. package/src/utils/misc/tokenPriceToAssetToken.js.map +1 -1
  95. package/src/utils/misc/tokenPriceToLiquidity.js +2 -2
  96. package/src/utils/misc/tokenPriceToLiquidity.js.map +1 -1
  97. package/src/utils/sei/constants.js +8 -8
  98. package/src/utils/sei/getQueryBalanceByOwner.js +4 -4
  99. package/src/utils/solana/getTokenAccountsByOwner.d.ts +3 -2
  100. package/src/utils/solana/getTokenAccountsByOwner.js +22 -5
  101. package/src/utils/solana/getTokenAccountsByOwner.js.map +1 -1
  102. package/src/utils/solana/structs.d.ts +6 -0
  103. package/src/utils/solana/structs.js.map +1 -1
  104. package/src/plugins/raydium/getClmmPositions.d.ts +0 -3
  105. package/src/plugins/raydium/getClmmPositions.js +0 -107
  106. package/src/plugins/raydium/getClmmPositions.js.map +0 -1
  107. package/src/plugins/tokens/fetchers/solana-nfts-underlyings.d.ts +0 -3
  108. package/src/plugins/tokens/fetchers/solana-nfts-underlyings.js +0 -44
  109. package/src/plugins/tokens/fetchers/solana-nfts-underlyings.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  /// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
2
2
  /// <reference types="jito-ts/node_modules/@solana/web3.js" />
3
- import { NetworkIdType, PortfolioAsset, PortfolioAssetAttributes, SourceRef, TokenPriceMap } from '@sonarwatch/portfolio-core';
3
+ import { NetworkIdType, PortfolioAsset, PortfolioAssetAttributes, SourceRef, TokenPriceMap, TokenYield } from '@sonarwatch/portfolio-core';
4
4
  import BigNumber from 'bignumber.js';
5
5
  import { PublicKey } from '@solana/web3.js';
6
6
  import { AssetBuilder } from './AssetBuilder';
@@ -13,6 +13,7 @@ export declare class AssetTokenBuilder extends AssetBuilder {
13
13
  sourceRefs?: SourceRef[];
14
14
  ref?: string | PublicKey;
15
15
  link?: string;
16
+ tokenYield?: TokenYield;
16
17
  constructor(params: PortfolioAssetTokenParams);
17
18
  tokenAddresses(): string[];
18
19
  getUnderlyings(networkId: NetworkIdType, tokenPrices: TokenPriceMap): PortfolioAsset[];
@@ -18,6 +18,7 @@ class AssetTokenBuilder extends AssetBuilder_1.AssetBuilder {
18
18
  this.ref = params.ref;
19
19
  this.sourceRefs = params.sourceRefs;
20
20
  this.link = params.link;
21
+ this.tokenYield = params.tokenYield;
21
22
  }
22
23
  tokenAddresses() {
23
24
  return [this.address];
@@ -43,7 +44,7 @@ class AssetTokenBuilder extends AssetBuilder_1.AssetBuilder {
43
44
  return null;
44
45
  if (!this.alreadyShifted && tokenPrice)
45
46
  amount = amount.dividedBy(Math.pow(10, tokenPrice.decimals));
46
- return Object.assign(Object.assign({}, (0, tokenPriceToAssetToken_1.default)(this.address, amount.toNumber(), networkId, tokenPrice, undefined, this.attributes, this.link)), { sourceRefs: this.sourceRefs, ref: (_a = this.ref) === null || _a === void 0 ? void 0 : _a.toString() });
47
+ return Object.assign(Object.assign({}, (0, tokenPriceToAssetToken_1.default)(this.address, amount.toNumber(), networkId, tokenPrice, undefined, this.attributes, this.link, this.tokenYield)), { sourceRefs: this.sourceRefs, ref: (_a = this.ref) === null || _a === void 0 ? void 0 : _a.toString() });
47
48
  }
48
49
  }
49
50
  exports.AssetTokenBuilder = AssetTokenBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"AssetTokenBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/AssetTokenBuilder.ts"],"names":[],"mappings":";;;;;;AAOA,gEAAqC;AAErC,4FAAoE;AACpE,8FAAsE;AACtE,iDAA8C;AAG9C,MAAa,iBAAkB,SAAQ,2BAAY;IASjD,YAAY,MAAiC;QAC3C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,KAAK,CAAC;QACrD,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,cAAc,CACZ,SAAwB,EACxB,WAA0B;QAE1B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,IAAI,MAAM,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAEzD,IAAI,CAAC,IAAI,CAAC,cAAc;YACtB,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,UAAU,CAAC,QAAQ,CAAA,CAAC,CAAC;QAEvD,OAAO,IAAA,iCAAuB,EAC5B,UAAU,CAAC,OAAO,EAClB,MAAM,CAAC,QAAQ,EAAE,EACjB,SAAS,EACT,UAAU,EACV,SAAS,EACT,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;IAED,GAAG,CACD,SAAwB,EACxB,WAA0B;;QAE1B,IAAI,MAAM,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,UAAU;YACpC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,UAAU,CAAC,QAAQ,CAAA,CAAC,CAAC;QAEvD,uCACK,IAAA,gCAAsB,EACvB,IAAI,CAAC,OAAO,EACZ,MAAM,CAAC,QAAQ,EAAE,EACjB,SAAS,EACT,UAAU,EACV,SAAS,EACT,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAI,CACV,KACD,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,GAAG,EAAE,MAAA,IAAI,CAAC,GAAG,0CAAE,QAAQ,EAAE,IACzB;IACJ,CAAC;CACF;AA3ED,8CA2EC"}
1
+ {"version":3,"file":"AssetTokenBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/AssetTokenBuilder.ts"],"names":[],"mappings":";;;;;;AAQA,gEAAqC;AAErC,4FAAoE;AACpE,8FAAsE;AACtE,iDAA8C;AAG9C,MAAa,iBAAkB,SAAQ,2BAAY;IAUjD,YAAY,MAAiC;QAC3C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,KAAK,CAAC;QACrD,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,cAAc,CACZ,SAAwB,EACxB,WAA0B;QAE1B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,IAAI,MAAM,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAEzD,IAAI,CAAC,IAAI,CAAC,cAAc;YACtB,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,UAAU,CAAC,QAAQ,CAAA,CAAC,CAAC;QAEvD,OAAO,IAAA,iCAAuB,EAC5B,UAAU,CAAC,OAAO,EAClB,MAAM,CAAC,QAAQ,EAAE,EACjB,SAAS,EACT,UAAU,EACV,SAAS,EACT,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;IAED,GAAG,CACD,SAAwB,EACxB,WAA0B;;QAE1B,IAAI,MAAM,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,UAAU;YACpC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,SAAA,EAAE,EAAI,UAAU,CAAC,QAAQ,CAAA,CAAC,CAAC;QAEvD,uCACK,IAAA,gCAAsB,EACvB,IAAI,CAAC,OAAO,EACZ,MAAM,CAAC,QAAQ,EAAE,EACjB,SAAS,EACT,UAAU,EACV,SAAS,EACT,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,CAChB,KACD,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,GAAG,EAAE,MAAA,IAAI,CAAC,GAAG,0CAAE,QAAQ,EAAE,IACzB;IACJ,CAAC;CACF;AA9ED,8CA8EC"}
@@ -69,13 +69,13 @@ class ElementLeverageBuilder extends ElementBuilder_1.ElementBuilder {
69
69
  data: {
70
70
  isolated: {
71
71
  positions: isoPositions,
72
- value: isoValue,
72
+ value: (0, portfolio_core_1.fixUsdValue)(isoValue),
73
73
  },
74
74
  cross: {
75
75
  positions: crossPositions,
76
76
  collateralAssets: crossCollateralAssets,
77
77
  collateralValue: (0, portfolio_core_1.getUsdValueSum)(crossCollateralAssets.map((a) => a.value)),
78
- value: crossValue,
78
+ value: (0, portfolio_core_1.fixUsdValue)(crossValue),
79
79
  leverage: crossLeverage,
80
80
  },
81
81
  value,
@@ -1 +1 @@
1
- {"version":3,"file":"ElementLeverageBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementLeverageBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ElementLeverageBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/ElementLeverageBuilder.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,8 @@ class IsoLevPositionBuilder {
10
10
  get(networkId) {
11
11
  return Object.assign(Object.assign({}, this.params), { address: this.params.address
12
12
  ? (0, portfolio_core_1.formatTokenAddress)(this.params.address, networkId)
13
- : undefined, value: this.params.value ||
14
- (0, portfolio_core_1.getUsdValueSum)([this.params.collateralValue, this.params.pnlValue]) });
13
+ : undefined, value: (0, portfolio_core_1.fixUsdValue)(this.params.value ||
14
+ (0, portfolio_core_1.getUsdValueSum)([this.params.collateralValue, this.params.pnlValue])) });
15
15
  }
16
16
  get tokenAddress() {
17
17
  return this.params.address;
@@ -1 +1 @@
1
- {"version":3,"file":"LevPositionBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/LevPositionBuilder.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC,+DAMoC;AAGpC,MAAa,qBAAqB;IAGhC,YAAY,MAA4B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,SAAwB;QAC1B,uCACK,IAAI,CAAC,MAAM,KACd,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC1B,CAAC,CAAC,IAAA,mCAAkB,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;gBACpD,CAAC,CAAC,SAAS,EACb,KAAK,EACH,IAAI,CAAC,MAAM,CAAC,KAAK;gBACjB,IAAA,+BAAc,EAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IACrE;IACJ,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;CACF;AAtBD,sDAsBC;AAED,MAAa,uBAAuB;IAGlC,YAAY,MAA8B;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,SAAwB;QAC1B,uCACK,IAAI,CAAC,MAAM,KACd,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC1B,CAAC,CAAC,IAAA,mCAAkB,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;gBACpD,CAAC,CAAC,SAAS,IACb;IACJ,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;CACF;AAnBD,0DAmBC"}
1
+ {"version":3,"file":"LevPositionBuilder.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/elementbuilder/LevPositionBuilder.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC,+DAOoC;AAGpC,MAAa,qBAAqB;IAGhC,YAAY,MAA4B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,SAAwB;QAC1B,uCACK,IAAI,CAAC,MAAM,KACd,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC1B,CAAC,CAAC,IAAA,mCAAkB,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;gBACpD,CAAC,CAAC,SAAS,EACb,KAAK,EAAE,IAAA,4BAAW,EAChB,IAAI,CAAC,MAAM,CAAC,KAAK;gBACf,IAAA,+BAAc,EAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CACtE,IACD;IACJ,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;CACF;AAvBD,sDAuBC;AAED,MAAa,uBAAuB;IAGlC,YAAY,MAA8B;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,SAAwB;QAC1B,uCACK,IAAI,CAAC,MAAM,KACd,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC1B,CAAC,CAAC,IAAA,mCAAkB,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;gBACpD,CAAC,CAAC,SAAS,IACb;IACJ,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;CACF;AAnBD,0DAmBC"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="@drift-labs/sdk/node_modules/@solana/web3.js" />
2
2
  /// <reference types="jito-ts/node_modules/@solana/web3.js" />
3
- import { CrossLevPosition, IsoLevPosition, PortfolioAssetAttributes, PortfolioElementLabel, PortfolioElementTypeType, SourceRef, UsdValue } from '@sonarwatch/portfolio-core';
3
+ import { CrossLevPosition, IsoLevPosition, PortfolioAssetAttributes, PortfolioElementLabel, PortfolioElementTypeType, SourceRef, TokenYield, UsdValue } from '@sonarwatch/portfolio-core';
4
4
  import { PublicKey } from '@solana/web3.js';
5
5
  import BigNumber from 'bignumber.js';
6
6
  export type Params = {
@@ -70,6 +70,7 @@ export type PortfolioAssetTokenParams = {
70
70
  sourceRefs?: SourceRef[];
71
71
  ref?: string | PublicKey;
72
72
  link?: string;
73
+ tokenYield?: TokenYield;
73
74
  };
74
75
  export type TradeParams = {
75
76
  inputAsset: Omit<PortfolioAssetTokenParams, 'amount'> & {
@@ -3,13 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const portfolio_core_1 = require("@sonarwatch/portfolio-core");
4
4
  function tokenPriceToAssetToken(address, amount, networkId, tokenPrice, price, attributes, link, tokenYield) {
5
5
  const fPrice = (tokenPrice === null || tokenPrice === void 0 ? void 0 : tokenPrice.price) || price || null;
6
+ const fAmount = tokenPrice
7
+ ? Number(amount.toFixed(tokenPrice.decimals))
8
+ : amount;
6
9
  return {
7
10
  type: portfolio_core_1.PortfolioAssetType.token,
8
11
  networkId,
9
- value: fPrice ? fPrice * amount : null,
12
+ value: (0, portfolio_core_1.fixUsdValue)(fPrice ? fPrice * amount : null),
10
13
  data: {
11
14
  address: (0, portfolio_core_1.formatTokenAddress)(address, networkId),
12
- amount,
15
+ amount: fAmount,
13
16
  price: fPrice,
14
17
  yield: tokenYield === null || tokenYield === void 0 ? void 0 : tokenYield.yield,
15
18
  },
@@ -1 +1 @@
1
- {"version":3,"file":"tokenPriceToAssetToken.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/misc/tokenPriceToAssetToken.ts"],"names":[],"mappings":";;AAAA,+DAUoC;AAEpC,SAAwB,sBAAsB,CAC5C,OAAe,EACf,MAAc,EACd,SAAwB,EACxB,UAAqD,EACrD,KAAc,EACd,UAAqC,EACrC,IAAa,EACb,UAA8B;IAE9B,MAAM,MAAM,GAAa,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,KAAI,KAAK,IAAI,IAAI,CAAC;IAC5D,OAAO;QACL,IAAI,EAAE,mCAAkB,CAAC,KAAK;QAC9B,SAAS;QACT,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI;QACtC,IAAI,EAAE;YACJ,OAAO,EAAE,IAAA,mCAAkB,EAAC,OAAO,EAAE,SAAS,CAAC;YAC/C,MAAM;YACN,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK;SACzB;QACD,UAAU,EAAE,UAAU,IAAI,EAAE;QAC5B,IAAI;KACL,CAAC;AACJ,CAAC;AAxBD,yCAwBC"}
1
+ {"version":3,"file":"tokenPriceToAssetToken.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/misc/tokenPriceToAssetToken.ts"],"names":[],"mappings":";;AAAA,+DAWoC;AAEpC,SAAwB,sBAAsB,CAC5C,OAAe,EACf,MAAc,EACd,SAAwB,EACxB,UAAqD,EACrD,KAAc,EACd,UAAqC,EACrC,IAAa,EACb,UAA8B;IAE9B,MAAM,MAAM,GAAa,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,KAAI,KAAK,IAAI,IAAI,CAAC;IAC5D,MAAM,OAAO,GAAG,UAAU;QACxB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC,CAAC,MAAM,CAAC;IACX,OAAO;QACL,IAAI,EAAE,mCAAkB,CAAC,KAAK;QAC9B,SAAS;QACT,KAAK,EAAE,IAAA,4BAAW,EAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,IAAI,EAAE;YACJ,OAAO,EAAE,IAAA,mCAAkB,EAAC,OAAO,EAAE,SAAS,CAAC;YAC/C,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK;SACzB;QACD,UAAU,EAAE,UAAU,IAAI,EAAE;QAC5B,IAAI;KACL,CAAC;AACJ,CAAC;AA3BD,yCA2BC"}
@@ -9,10 +9,10 @@ function tokenPriceToLiquidity(address, amount, networkId, tokenPrice, tokenYiel
9
9
  const assets = (0, tokenPriceToAssetTokens_1.default)(address, amount, networkId, tokenPrice);
10
10
  return {
11
11
  assets,
12
- assetsValue: (0, portfolio_core_1.getUsdValueSum)(assets.map((a) => a.value)),
12
+ assetsValue: (0, portfolio_core_1.fixUsdValue)((0, portfolio_core_1.getUsdValueSum)(assets.map((a) => a.value))),
13
13
  rewardAssets: [],
14
14
  rewardAssetsValue: 0,
15
- value: (0, portfolio_core_1.getUsdValueSum)(assets.map((a) => a.value)),
15
+ value: (0, portfolio_core_1.fixUsdValue)((0, portfolio_core_1.getUsdValueSum)(assets.map((a) => a.value))),
16
16
  yields: tokenYield ? [tokenYield.yield] : [],
17
17
  name: tokenPrice.liquidityName,
18
18
  link: tokenPrice.link,
@@ -1 +1 @@
1
- {"version":3,"file":"tokenPriceToLiquidity.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/misc/tokenPriceToLiquidity.ts"],"names":[],"mappings":";;;;;AAAA,+DAMoC;AACpC,wFAAgE;AAEhE,SAAwB,qBAAqB,CAC3C,OAAe,EACf,MAAc,EACd,SAAwB,EACxB,UAAsB,EACtB,UAAuB;IAEvB,MAAM,MAAM,GAAG,IAAA,iCAAuB,EACpC,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CACX,CAAC;IACF,OAAO;QACL,MAAM;QACN,WAAW,EAAE,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACvD,YAAY,EAAE,EAAE;QAChB,iBAAiB,EAAE,CAAC;QACpB,KAAK,EAAE,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QAC5C,IAAI,EAAE,UAAU,CAAC,aAAa;QAC9B,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,UAAU,EAAE;YACV;gBACE,OAAO;gBACP,IAAI,EAAE,MAAM;aACb;SACF;KACF,CAAC;AACJ,CAAC;AA7BD,wCA6BC"}
1
+ {"version":3,"file":"tokenPriceToLiquidity.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/misc/tokenPriceToLiquidity.ts"],"names":[],"mappings":";;;;;AAAA,+DAOoC;AACpC,wFAAgE;AAEhE,SAAwB,qBAAqB,CAC3C,OAAe,EACf,MAAc,EACd,SAAwB,EACxB,UAAsB,EACtB,UAAuB;IAEvB,MAAM,MAAM,GAAG,IAAA,iCAAuB,EACpC,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,CACX,CAAC;IACF,OAAO;QACL,MAAM;QACN,WAAW,EAAE,IAAA,4BAAW,EAAC,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,YAAY,EAAE,EAAE;QAChB,iBAAiB,EAAE,CAAC;QACpB,KAAK,EAAE,IAAA,4BAAW,EAAC,IAAA,+BAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QAC5C,IAAI,EAAE,UAAU,CAAC,aAAa;QAC9B,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,UAAU,EAAE;YACV;gBACE,OAAO;gBACP,IAAI,EAAE,MAAM;aACb;SACF;KACF,CAAC;AACJ,CAAC;AA7BD,wCA6BC"}
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.poolQueryMsg = exports.minterQueryMsg = exports.tokenInfoQueryMsg = exports.infoQueryMsg = void 0;
4
- exports.infoQueryMsg = JSON.parse(`{
5
- "info": {}
4
+ exports.infoQueryMsg = JSON.parse(`{
5
+ "info": {}
6
6
  }`);
7
- exports.tokenInfoQueryMsg = JSON.parse(`{
8
- "token_info": {}
7
+ exports.tokenInfoQueryMsg = JSON.parse(`{
8
+ "token_info": {}
9
9
  }`);
10
- exports.minterQueryMsg = JSON.parse(`{
11
- "minter": {}
10
+ exports.minterQueryMsg = JSON.parse(`{
11
+ "minter": {}
12
12
  }`);
13
- exports.poolQueryMsg = JSON.parse(`{
14
- "pool": {}
13
+ exports.poolQueryMsg = JSON.parse(`{
14
+ "pool": {}
15
15
  }`);
16
16
  //# sourceMappingURL=constants.js.map
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  function getQueryBalanceByOwner(owner) {
4
- return JSON.parse(`{
5
- "balance": {
6
- "address": "${owner}"
7
- }
4
+ return JSON.parse(`{
5
+ "balance": {
6
+ "address": "${owner}"
7
+ }
8
8
  }`);
9
9
  }
10
10
  exports.default = getQueryBalanceByOwner;
@@ -1,4 +1,5 @@
1
- import { TokenAccount } from './structs';
1
+ import { TokenAccount, TokenAccountWithMetadata } from './structs';
2
2
  import { ParsedAccount } from './types';
3
- export declare const getTokenAccountsByOwner: (owner: string) => Promise<ParsedAccount<TokenAccount>[]>;
3
+ import { SolanaClient } from '../clients/types';
4
+ export declare const getTokenAccountsByOwner: (client: SolanaClient, owner: string) => Promise<ParsedAccount<TokenAccountWithMetadata>[]>;
4
5
  export declare const getTokenAccountsByOwnerMemo: (owner: string) => Promise<ParsedAccount<TokenAccount>[]>;
@@ -13,10 +13,12 @@ exports.getTokenAccountsByOwnerMemo = exports.getTokenAccountsByOwner = void 0;
13
13
  const web3_js_1 = require("@solana/web3.js");
14
14
  const constants_1 = require("./constants");
15
15
  const structs_1 = require("./structs");
16
- const clients_1 = require("../clients");
17
16
  const MemoryCache_1 = require("../misc/MemoryCache");
18
- const getTokenAccountsByOwner = (owner) => __awaiter(void 0, void 0, void 0, function* () {
19
- const client = (0, clients_1.getClientSolana)();
17
+ const clients_1 = require("../clients");
18
+ const helpers_1 = require("../../plugins/metaplex/helpers");
19
+ const getParsedMultipleAccountsInfo_1 = require("./getParsedMultipleAccountsInfo");
20
+ const structs_2 = require("../../plugins/metaplex/structs");
21
+ const getTokenAccountsByOwner = (client, owner) => __awaiter(void 0, void 0, void 0, function* () {
20
22
  const tokenAccounts = yield Promise.all([
21
23
  client.getTokenAccountsByOwner(new web3_js_1.PublicKey(owner), {
22
24
  programId: constants_1.solanaTokenPidPk,
@@ -25,12 +27,27 @@ const getTokenAccountsByOwner = (owner) => __awaiter(void 0, void 0, void 0, fun
25
27
  programId: constants_1.solanaToken2022PidPk,
26
28
  }),
27
29
  ]);
28
- return [...tokenAccounts[0].value, ...tokenAccounts[1].value]
30
+ const tokenAccountsInfo = [
31
+ ...tokenAccounts[0].value,
32
+ ...tokenAccounts[1].value,
33
+ ]
29
34
  .map((x) => (Object.assign(Object.assign({}, structs_1.tokenAccountStruct.deserialize(x.account.data)[0]), { pubkey: x.pubkey, lamports: x.account.lamports, tokenProgram: x.account.owner })))
30
35
  .filter((a) => !a.amount.isZero());
36
+ const metadataAccounts = yield (0, getParsedMultipleAccountsInfo_1.getParsedMultipleAccountsInfo)(client, structs_2.metadataAccountStruct, tokenAccountsInfo
37
+ .filter((t) => t.amount.isEqualTo(1))
38
+ .map((t) => (0, helpers_1.getMetadataPubkey)(t.mint)));
39
+ return tokenAccountsInfo.map((t, i) => {
40
+ const metadataAccount = metadataAccounts[i];
41
+ if (!metadataAccount)
42
+ return t;
43
+ return Object.assign(Object.assign({}, t), { metadata: {
44
+ name: metadataAccount.data.name.split('\x00')[0].trim(),
45
+ symbol: metadataAccount.data.symbol.split('\x00')[0].trim(),
46
+ } });
47
+ });
31
48
  });
32
49
  exports.getTokenAccountsByOwner = getTokenAccountsByOwner;
33
- const memoCollection = new MemoryCache_1.MemoryCache(exports.getTokenAccountsByOwner);
50
+ const memoCollection = new MemoryCache_1.MemoryCache((owner) => (0, exports.getTokenAccountsByOwner)((0, clients_1.getClientSolana)(), owner));
34
51
  const getTokenAccountsByOwnerMemo = (owner) => __awaiter(void 0, void 0, void 0, function* () { return memoCollection.getItem(owner); });
35
52
  exports.getTokenAccountsByOwnerMemo = getTokenAccountsByOwnerMemo;
36
53
  //# sourceMappingURL=getTokenAccountsByOwner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTokenAccountsByOwner.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/solana/getTokenAccountsByOwner.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA4C;AAC5C,2CAAqE;AACrE,uCAA6D;AAC7D,wCAA6C;AAE7C,qDAAkD;AAE3C,MAAM,uBAAuB,GAAG,CAAO,KAAa,EAAE,EAAE;IAC7D,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;IACjC,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtC,MAAM,CAAC,uBAAuB,CAAC,IAAI,mBAAS,CAAC,KAAK,CAAC,EAAE;YACnD,SAAS,EAAE,4BAAgB;SAC5B,CAAC;QACF,MAAM,CAAC,uBAAuB,CAAC,IAAI,mBAAS,CAAC,KAAK,CAAC,EAAE;YACnD,SAAS,EAAE,gCAAoB;SAChC,CAAC;KACH,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SAC1D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCACP,4BAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAChB,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAC5B,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,IAC7B,CAAC;SACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAkC,CAAC;AACxE,CAAC,CAAA,CAAC;AAlBW,QAAA,uBAAuB,2BAkBlC;AAEF,MAAM,cAAc,GAAG,IAAI,yBAAW,CACpC,+BAAuB,CACxB,CAAC;AAEK,MAAM,2BAA2B,GAAG,CAAO,KAAa,EAAE,EAAE,kDACjE,OAAA,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA,GAAA,CAAC;AADnB,QAAA,2BAA2B,+BACR"}
1
+ {"version":3,"file":"getTokenAccountsByOwner.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/solana/getTokenAccountsByOwner.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA4C;AAC5C,2CAAqE;AACrE,uCAImB;AAEnB,qDAAkD;AAElD,wCAA6C;AAC7C,4DAAmE;AACnE,mFAAgF;AAChF,4DAAuE;AAEhE,MAAM,uBAAuB,GAAG,CACrC,MAAoB,EACpB,KAAa,EACuC,EAAE;IACtD,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtC,MAAM,CAAC,uBAAuB,CAAC,IAAI,mBAAS,CAAC,KAAK,CAAC,EAAE;YACnD,SAAS,EAAE,4BAAgB;SAC5B,CAAC;QACF,MAAM,CAAC,uBAAuB,CAAC,IAAI,mBAAS,CAAC,KAAK,CAAC,EAAE;YACnD,SAAS,EAAE,gCAAoB;SAChC,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG;QACxB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;QACzB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;KAC1B;SACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCACP,4BAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAChB,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAC5B,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,IAC7B,CAAC;SACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAkC,CAAC;IAEtE,MAAM,gBAAgB,GAAG,MAAM,IAAA,6DAA6B,EAC1D,MAAM,EACN,+BAAqB,EACrB,iBAAiB;SACd,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,2BAAiB,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACzC,CAAC;IAEF,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,eAAe;YAAE,OAAO,CAAC,CAAC;QAC/B,uCACK,CAAC,KACJ,QAAQ,EAAE;gBACR,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACvD,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;aAC5D,IACD;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AA5CW,QAAA,uBAAuB,2BA4ClC;AAEF,MAAM,cAAc,GAAG,IAAI,yBAAW,CACpC,CAAC,KAAa,EAAE,EAAE,CAAC,IAAA,+BAAuB,EAAC,IAAA,yBAAe,GAAE,EAAE,KAAK,CAAC,CACrE,CAAC;AAEK,MAAM,2BAA2B,GAAG,CAAO,KAAa,EAAE,EAAE,kDACjE,OAAA,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA,GAAA,CAAC;AADnB,QAAA,2BAA2B,+BACR"}
@@ -31,4 +31,10 @@ export type TokenAccount = {
31
31
  readonly closeAuthorityOption: number;
32
32
  readonly closeAuthority: PublicKey;
33
33
  };
34
+ export type TokenAccountWithMetadata = TokenAccount & {
35
+ readonly metadata?: {
36
+ name: string;
37
+ symbol: string;
38
+ };
39
+ };
34
40
  export declare const tokenAccountStruct: BeetStruct<TokenAccount, Partial<TokenAccount>>;
@@ -1 +1 @@
1
- {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/solana/structs.ts"],"names":[],"mappings":";;;AAAA,oDAAsE;AACtE,kEAA6D;AAG7D,6CAAsC;AAYzB,QAAA,iBAAiB,GAAG,IAAI,iBAAU,CAC7C;IACE,CAAC,qBAAqB,EAAE,UAAG,CAAC;IAC5B,CAAC,eAAe,EAAE,uBAAS,CAAC;IAC5B,CAAC,QAAQ,EAAE,aAAG,CAAC;IACf,CAAC,UAAU,EAAE,SAAE,CAAC;IAChB,CAAC,aAAa,EAAE,WAAI,CAAC;IACrB,CAAC,uBAAuB,EAAE,UAAG,CAAC;IAC9B,CAAC,iBAAiB,EAAE,uBAAS,CAAC;CAC/B,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAmB,EAC7B,aAAa,CACd,CAAC;AAEF,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iEAAiB,CAAA;IACjB,6DAAe,CAAA;IACf,mDAAU,CAAA;AACZ,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB;AAgBY,QAAA,kBAAkB,GAAG,IAAI,iBAAU,CAC9C;IACE,CAAC,MAAM,EAAE,uBAAS,CAAC;IACnB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,QAAQ,EAAE,aAAG,CAAC;IACf,CAAC,gBAAgB,EAAE,UAAG,CAAC;IACvB,CAAC,UAAU,EAAE,uBAAS,CAAC;IACvB,CAAC,OAAO,EAAE,SAAE,CAAC;IACb,CAAC,gBAAgB,EAAE,UAAG,CAAC;IACvB,CAAC,UAAU,EAAE,aAAG,CAAC;IACjB,CAAC,iBAAiB,EAAE,aAAG,CAAC;IACxB,CAAC,sBAAsB,EAAE,UAAG,CAAC;IAC7B,CAAC,gBAAgB,EAAE,uBAAS,CAAC;CAC9B,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAoB,EAC9B,cAAc,CACf,CAAC"}
1
+ {"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/solana/structs.ts"],"names":[],"mappings":";;;AAAA,oDAAsE;AACtE,kEAA6D;AAG7D,6CAAsC;AAYzB,QAAA,iBAAiB,GAAG,IAAI,iBAAU,CAC7C;IACE,CAAC,qBAAqB,EAAE,UAAG,CAAC;IAC5B,CAAC,eAAe,EAAE,uBAAS,CAAC;IAC5B,CAAC,QAAQ,EAAE,aAAG,CAAC;IACf,CAAC,UAAU,EAAE,SAAE,CAAC;IAChB,CAAC,aAAa,EAAE,WAAI,CAAC;IACrB,CAAC,uBAAuB,EAAE,UAAG,CAAC;IAC9B,CAAC,iBAAiB,EAAE,uBAAS,CAAC;CAC/B,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAmB,EAC7B,aAAa,CACd,CAAC;AAEF,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iEAAiB,CAAA;IACjB,6DAAe,CAAA;IACf,mDAAU,CAAA;AACZ,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB;AAuBY,QAAA,kBAAkB,GAAG,IAAI,iBAAU,CAC9C;IACE,CAAC,MAAM,EAAE,uBAAS,CAAC;IACnB,CAAC,OAAO,EAAE,uBAAS,CAAC;IACpB,CAAC,QAAQ,EAAE,aAAG,CAAC;IACf,CAAC,gBAAgB,EAAE,UAAG,CAAC;IACvB,CAAC,UAAU,EAAE,uBAAS,CAAC;IACvB,CAAC,OAAO,EAAE,SAAE,CAAC;IACb,CAAC,gBAAgB,EAAE,UAAG,CAAC;IACvB,CAAC,UAAU,EAAE,aAAG,CAAC;IACjB,CAAC,iBAAiB,EAAE,aAAG,CAAC;IACxB,CAAC,sBAAsB,EAAE,UAAG,CAAC;IAC7B,CAAC,gBAAgB,EAAE,uBAAS,CAAC;CAC9B,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAoB,EAC9B,cAAc,CACf,CAAC"}
@@ -1,3 +0,0 @@
1
- import { ParsedAccount, TokenAccount } from '../../utils/solana';
2
- import { Cache } from '../../Cache';
3
- export declare const getClmmPositions: (potentialTokens: ParsedAccount<TokenAccount>[], cache: Cache) => Promise<import("@sonarwatch/portfolio-core").PortfolioElement[]>;
@@ -1,107 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getClmmPositions = void 0;
13
- const web3_js_1 = require("@solana/web3.js");
14
- const portfolio_core_1 = require("@sonarwatch/portfolio-core");
15
- const clients_1 = require("../../utils/clients");
16
- const solana_1 = require("../../utils/solana");
17
- const clmms_1 = require("./structs/clmms");
18
- const constants_1 = require("./constants");
19
- const helpers_1 = require("./helpers");
20
- const ElementRegistry_1 = require("../../utils/elementbuilder/ElementRegistry");
21
- const getClmmPositions = (potentialTokens, cache) => __awaiter(void 0, void 0, void 0, function* () {
22
- if (!potentialTokens.length)
23
- return [];
24
- const positionsProgramAddress = potentialTokens.map((address) => web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('position'), address.mint.toBuffer()], constants_1.raydiumProgram)[0]);
25
- if (positionsProgramAddress.length === 0)
26
- return [];
27
- const client = (0, clients_1.getClientSolana)();
28
- const personalPositionsInfo = yield (0, solana_1.getParsedMultipleAccountsInfo)(client, clmms_1.personalPositionStateStruct, positionsProgramAddress);
29
- if (!personalPositionsInfo || personalPositionsInfo.length === 0)
30
- return [];
31
- const poolsIds = personalPositionsInfo.flatMap((position) => position ? position.poolId : []);
32
- const [poolStatesInfo, poolsStats] = yield Promise.all([
33
- (0, solana_1.getParsedMultipleAccountsInfo)(client, clmms_1.poolStateStruct, poolsIds),
34
- cache.getItems(poolsIds.map((p) => p.toString()), { prefix: constants_1.poolStatsPrefix, networkId: portfolio_core_1.NetworkId.solana }),
35
- ]);
36
- const tickArrays = yield Promise.all(personalPositionsInfo.map((personalPositionInfo, index) => {
37
- if (!personalPositionInfo)
38
- return [];
39
- const poolStateInfo = poolStatesInfo[index];
40
- if (!poolStateInfo)
41
- return [];
42
- return (0, solana_1.getParsedMultipleAccountsInfo)(client, clmms_1.tickArrayStatetruct, [
43
- (0, helpers_1.getTickArrayAddress)(constants_1.raydiumProgram.toString(), poolStateInfo.pubkey.toString(), personalPositionInfo.tickLowerIndex, poolStateInfo.tickSpacing),
44
- (0, helpers_1.getTickArrayAddress)(constants_1.raydiumProgram.toString(), poolStateInfo.pubkey.toString(), personalPositionInfo.tickUpperIndex, poolStateInfo.tickSpacing),
45
- ]);
46
- }));
47
- const elementRegistry = new ElementRegistry_1.ElementRegistry(portfolio_core_1.NetworkId.solana, constants_1.platformId);
48
- for (let index = 0; index < personalPositionsInfo.length; index++) {
49
- const personalPositionInfo = personalPositionsInfo[index];
50
- if (!personalPositionInfo)
51
- continue;
52
- const poolStateInfo = poolStatesInfo.find((p) => p && personalPositionInfo.poolId.toString() === p.pubkey.toString());
53
- if (!poolStateInfo)
54
- continue;
55
- const element = elementRegistry.addElementConcentratedLiquidity({
56
- link: 'https://raydium.io/portfolio/?position_tab=concentrated',
57
- });
58
- const poolStats = poolsStats.find((p) => (p === null || p === void 0 ? void 0 : p.address) === personalPositionInfo.poolId.toString());
59
- const liquidity = element.setLiquidity({
60
- addressA: poolStateInfo.tokenMint0,
61
- addressB: poolStateInfo.tokenMint1,
62
- liquidity: personalPositionInfo.liquidity,
63
- tickCurrentIndex: poolStateInfo.tickCurrent,
64
- tickLowerIndex: personalPositionInfo.tickLowerIndex,
65
- tickUpperIndex: personalPositionInfo.tickUpperIndex,
66
- ref: personalPositionInfo.pubkey,
67
- swapVolume24h: poolStats === null || poolStats === void 0 ? void 0 : poolStats.stats['24h'].volume,
68
- feeRate: poolStats === null || poolStats === void 0 ? void 0 : poolStats.feeRate,
69
- currentSqrtPrice: poolStateInfo.sqrtPriceX64,
70
- poolLiquidity: poolStateInfo.liquidity,
71
- sourceRefs: [
72
- {
73
- name: 'Pool',
74
- address: personalPositionInfo.poolId.toString(),
75
- },
76
- {
77
- name: 'NFT Mint',
78
- address: personalPositionInfo.nftMint.toString(),
79
- },
80
- ],
81
- });
82
- const feesAndRewardsBalances = (0, helpers_1.getFeesAndRewardsBalance)(personalPositionInfo, poolStateInfo, tickArrays[index]);
83
- if (feesAndRewardsBalances) {
84
- liquidity.addRewardAsset({
85
- address: poolStateInfo.tokenMint0,
86
- amount: feesAndRewardsBalances.tokenFeeAmountA,
87
- });
88
- liquidity.addRewardAsset({
89
- address: poolStateInfo.tokenMint1,
90
- amount: feesAndRewardsBalances.tokenFeeAmountB,
91
- });
92
- feesAndRewardsBalances.rewards.forEach((rewardBalance, i) => {
93
- if (rewardBalance.isZero() ||
94
- poolStateInfo.rewardInfos[i].tokenMint.toString() ===
95
- '11111111111111111111111111111111')
96
- return;
97
- liquidity.addRewardAsset({
98
- address: poolStateInfo.rewardInfos[i].tokenMint,
99
- amount: rewardBalance,
100
- });
101
- });
102
- }
103
- }
104
- return elementRegistry.getElements(cache);
105
- });
106
- exports.getClmmPositions = getClmmPositions;
107
- //# sourceMappingURL=getClmmPositions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getClmmPositions.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/raydium/getClmmPositions.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Fetcher } from '../../../Fetcher';
2
- declare const fetcher: Fetcher;
3
- export default fetcher;
@@ -1,44 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const portfolio_core_1 = require("@sonarwatch/portfolio-core");
13
- const constants_1 = require("../../orca/constants");
14
- const constants_2 = require("../../cropper/constants");
15
- const getTokenAccountsByOwner_1 = require("../../../utils/solana/getTokenAccountsByOwner");
16
- const getClmmPositions_1 = require("../../raydium/getClmmPositions");
17
- const getWhirlpoolPositions_1 = require("../../orca/getWhirlpoolPositions");
18
- const getHeliumPositions_1 = require("../../helium/getHeliumPositions");
19
- const getPicassoPositions_1 = require("../../picasso/getPicassoPositions");
20
- const nftsUnderlyingsMap = new Map([
21
- ['raydium', getClmmPositions_1.getClmmPositions],
22
- ['orca', (0, getWhirlpoolPositions_1.getOrcaPositions)(constants_1.platformId)],
23
- ['cropper', (0, getWhirlpoolPositions_1.getOrcaPositions)(constants_2.platformId, constants_2.clmmPid)],
24
- ['helium', getHeliumPositions_1.getHeliumPositions],
25
- ['picasso', getPicassoPositions_1.getPicassoPositions],
26
- ]);
27
- const executor = (owner, cache) => __awaiter(void 0, void 0, void 0, function* () {
28
- const tokenAccounts = (yield (0, getTokenAccountsByOwner_1.getTokenAccountsByOwner)(owner)).filter((x) => x.amount.isEqualTo(1));
29
- const results = [];
30
- for (const nftsUnderlyingsMapElement of nftsUnderlyingsMap) {
31
- results.push(nftsUnderlyingsMapElement[1](tokenAccounts, cache));
32
- }
33
- const result = yield Promise.allSettled(results);
34
- return result
35
- .map((res) => (res.status === 'rejected' ? [] : res.value))
36
- .flat();
37
- });
38
- const fetcher = {
39
- id: `${portfolio_core_1.walletTokensPlatformId}-solana-nfts-underlyings`,
40
- networkId: portfolio_core_1.NetworkId.solana,
41
- executor,
42
- };
43
- exports.default = fetcher;
44
- //# sourceMappingURL=solana-nfts-underlyings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"solana-nfts-underlyings.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/src/plugins/tokens/fetchers/solana-nfts-underlyings.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAIoC;AAMpC,oDAAoE;AACpE,uDAGiC;AACjC,2FAAwF;AACxF,qEAAkE;AAClE,4EAAoE;AACpE,wEAAqE;AACrE,2EAAwE;AAExE,MAAM,kBAAkB,GAA4B,IAAI,GAAG,CAAC;IAC1D,CAAC,SAAS,EAAE,mCAAgB,CAAC;IAC7B,CAAC,MAAM,EAAE,IAAA,wCAAgB,EAAC,sBAAc,CAAC,CAAC;IAC1C,CAAC,SAAS,EAAE,IAAA,wCAAgB,EAAC,sBAAiB,EAAE,mBAAO,CAAC,CAAC;IACzD,CAAC,QAAQ,EAAE,uCAAkB,CAAC;IAC9B,CAAC,SAAS,EAAE,yCAAmB,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAoB,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;IACtE,MAAM,aAAa,GAAG,CAAC,MAAM,IAAA,iDAAuB,EAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACxE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CACtB,CAAC;IAEF,MAAM,OAAO,GAAkC,EAAE,CAAC;IAClD,KAAK,MAAM,yBAAyB,IAAI,kBAAkB,EAAE,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAC1D,IAAI,EAAE,CAAC;AACZ,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAY;IACvB,EAAE,EAAE,GAAG,uCAAsB,0BAA0B;IACvD,SAAS,EAAE,0BAAS,CAAC,MAAM;IAC3B,QAAQ;CACT,CAAC;AAEF,kBAAe,OAAO,CAAC"}